본문 바로가기

개발

(129)
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..
OAuth 1.0, OAuth 2.0 OAuth(Open Authorization)는 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는, 접근 위임을 위한 개방형 표준이다 OAuth의 탄생 이전에는 API 접근 위임 방식(API Access Delegation)이 가능한 표준화되지 않은 각각의 인증 방식을 제작하여 사용했다. OAtuh는 API 제어의 목적으로 인증에 참여한 각 이해관계자가 어떻게 서로를 신뢰할 수 있을까에서 시작하였다. 2006년 비밀번호의 통신 문제로 안전한 표준 인증방식에 대한 논의를 통해 2007년 OAuth 1.0이 만들어지고, 2010년에 IETF OAuth 워킹그룹에 의해 IETF 표준 프로토콜로 ..
FastAPI 환경에서 Nginx 와 Uvicorn 을 통한 Deploy + Nginx 와 WSGI(Web Server Gateway Interface)/ASGI(Asynchronous Server Gateway Interface)를 같이 사용하는 이유 - Nginx은 비동기로 외부의 작업연산(요청)을 listen하여 WSGI/ASGI로 전달 (nonblocking to, 더 많은 연산을 빠르게 처리) (Apache는 연산 작업을 책임지고 수행(blocking io)하여 연산을 더 안정적으로 처리) - WSGI/ASGI가 요청을 수행 (Event Driven) - 이벤트 생성, 소비의 주체 분리 (Producer-Counsumer Pattern) - Nginx가 Event loop에 등록한 작업연산(요청)들을 WSGI(ASGI)가 처리하고 결과를 응답하면 Nginx가 클라이언..
Microsoft Certified: Azure Fundamentals (AZ-900)

반응형