개발 (132) 썸네일형 리스트형 Google Data Analytics Certificate Google Project Management Certificate MySQL DB 데이터 삭제 시 데이터 복구 MySQL DB 작업 과정에서 데이터가 삭제되었을 경우 다음 과정을 통해 복구할 수 있다. 1. cd /var/lib/mysql 폴더(MySQL이 설치되어 있는 폴더)로 이동. 2. MySQL 바이너리 로그 파일 binlog에서 mysqlbinlog를 사용하여 쿼리 추출. - mysqlbinlog 명령줄 도구를 이용한 추출 시 기본적으로 바이너리 파일로 추출되므로, base64 방식으로 decode 하여 추출. mysqlbinlog -v --base64-output=DECODE-ROWS binlog.001541 > rescue.sql 3. 쿼리 내에서 데이터 삭제 영역 확인. - DECODE 된 데이터에서 삭제 시점의 DELETE 가 적용된 데이터를 확인한다. 4. 해당 데이터를 활용하여 데이터를 복구한다. sqlalchemy 2013: Lost connection to MySQL server during query 이슈 해결 engine = create_engine(DATABASE_URL, connect_args={'connect_timeout': 120}, pool_pre_ping=True) 1. create_engine 에서 parameter 로 시간제한 증가 설정 WARNING ITMS-90076 iOS 앱스토어 앱 이전 시 아카이브 경고 iOS 앱 이전 후 앱스토어에 아카이브를 올릴때 다음과 같은 경고가 노출된다. WARNING ITMS-90076: "Potential Loss of Keychain Access. The previous version of software has an application-identifier value of [‘이전TeamID.BundleID’] and the new version of software being submitted has an application-identifier of ['이후TeamID.BundleID']. This will result in a loss of keychain access." 빌드 시 앱에 연결된 애플 개발자 계정이 변경될 경우 이전 키체인이 손실된다는 경고이다. 기존.. building for iOS Simulator, but linking in object file built for iOS, file for architecture arm64 오류 해결 인텔 맥에서 작업하던 IOS 프로젝트를 실리콘맥에서 세팅 및 빌드 시 'building for iOS Simulator, but linking in object file built for iOS, file for architecture arm64' 오류가 발생했다. 해당 문제 발생 시 Build Setting에서 Excluded Architectures 에 arm64를 추가하고, Xcode 에서 Open using Rosetta를 선택 후 Xcode를 재시작하여 해당 문제를 해결했다. 다만, Rosetta(로제타)를 사용할 경우 M1의 성능을 다 발휘할수 없기 때문에, 시뮬레이터만 Rosetta만 사용하는것도 가능하다. * 로제타(Rosetta)란 Intel 프로세서가 장착된 Mac 용 제작 앱을 App.. SOLID - 인터페이스 분리 원칙 (Interface Segregation Principle) 인터페이스 분리 원칙 클라이언트는 사용하지 않는 인터페이스에 의존하지 않아야 한다. 클라이언트는 필요하지 않거나 사용하지 않는 매서드에 의존해서는 안된다. 또한 인터페이스 분리 원칙은 단일 책임 원칙과 마찬가지로 하나의 작업만 수행해야 된다고 명시되어 있다. 무의미한 메소드의 구현을 방지하기 위해서 필요한 메소드만 상속/구현하도록 권고한다. 상속 객체의 규모가 크다면 작은 인터페이스로 나누는 것이 좋다. #참고자료 https://blog.bitsrc.io/solid-principles-every-developer-should-know-b3bfa96bb688 SOLID - 리스코프 치환 원칙 (Liskov Substitution Principle) 리스코프 치환 원칙 하위 클래스는 상위 클래스를 대체할 수 있어야 한다. 이 원칙은 하위 클래스가 오류 없이 상위 클래스를 대신할 수 있는지 확인하는 것이다. 리스코프 치환원칙이 지켜지지 않으면 다형성에 기반한 개방 폐쇄 원칙을 위반하는 것이다. Steve Fenton 이 가정한 리스코프 치환 법칙의 요구사항은 다음과 같다. - 상위 클래스에 상위 클래스 유형 매개변수를 허용하는 메서드가 있는 경우, 하위 클래스는 상위 클래스 유형 또는 하위 클래스 유형을 인수로 받아들여야 합니다. - 상위 클래스가 상위 클래스 유형을 반환하는 경우, 하위 클래스는 상위 클래스 유형 또는 하위 클래스 유형을 반환해야 합니다. #참고자료 https://blog.bitsrc.io/solid-principles-every-d.. 이전 1 2 3 4 ··· 17 다음