본문 바로가기

전체 글

(138)
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)
502 Bad Gateway PHP-FPM 최적화 Nginx, MySQL, PHP0FPM, PHP 8 환경에서 child-process 가 부족하여 lock 발생 에러 확인될 경우 php-fpm conf 파일을 수정하여 최대 요청과 프로세스 수를 수정합니다. [21-Feb-2022 05:14:17] WARNING: [pool www] server reached pm.max_children setting (5), consider raising it php7.4-fpm 평균 프로세스 메모리 추적 ps --no-headers -o "rss,cmd" -C php7.4-fpm | awk '{ sum+=$1 } END { printf ("%d%s\n", sum/NR/1024,"Mb") }' 서버 메모리 확인 free -h pm.max_children 계산 서버 메..
Laravel + Nginx PHP 파일 접근시 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream 에러 Laravel 에서 존재하지 않는 .php 형식의 파일 접근시 브라우저 내 "File not found." 메시지가 노출되고 nginx error.log 에서 "*8 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream," 내용을 확인할 수 있다. 해당 문제 발생 시 nginx sites-available 파일에서 laravel 404 에러 페이지로 리다이렉트 시키면 된다. error_page 404 /index.php; # pass PHP scripts location ~ \.php$ { if (!-f $document_root$fastcgi_script_name) { return 404; ..

반응형