NginX(원글: NGINX as a web server)
- C10K 이슈를 아파치로 해결하기 보다는 이벤트 드리븐, 비동기 구조로 해결해 보고자 하는 시도
- 러시아 개발자 Igor Sysoev에 의해 시작 2004년
- 다양한 기능: 리버스 프록시, 로드 밸런스, HTTP 캐시, 메일 프록시
- 설계시 방점
- 고성능: 빠른 속도
- 낮은 리소스 사용량: 메모리 효율
- 동시성(concurrency) 높게
- 아파치는 prefork 모드로 설정: 설정에 프로세스 생성갯수를 두고 미리 프로세스를 생성한 다음, 특정 시점에 단일 요청을 프로세스 하나가 전담하는 구조.
- NginX는 비동기로 요청을 처리. 단일 프로세스가 동시에 여러개의 요청을 처리. 프로세스가 사용할 수 있는 시스템 리소스에 의존. 이런 구조를 만들면서 PHP류의 서버사이드 프로그래밍 언어를 프로세스에 넣을 수 없게 됨. 동적 콘텐츠를 생성하는 요청을 다루기 위해서는 PHJP-FPM(FastCGI 프로세스 관리자) 같은 별도 프로세스를 반드시 관리해야 하고, NginX는 클라이언트에게 다시 리버스 프록시 역할을 수행하게 하는 구조로 짤 수 밖에 없음. 반대로 아파치는 리소스를 더 많이 사용하기는 하지만 스크립트 언어를 더 빨리 실행할 수 있는 구조를 가지고 있음.
- NginX는 인입 요청을 URI 위치로 해석하고, 아파치는 파일시스템 위치로 해석. URI로 해석하다 보니 웹서버 기능 뿐만 아니라 로드 밸런서 역할이나 메일 서버, HTTP 캐시로 활용이 가능해 졌다.
- 글쓴이는 정적파일을 서빙하는 용로도 NGinxX를 사용하고(리버스 프록시 모드로) 아파치는 동적 콘텐츠 용도로 서비스 하는 구조를 제안. 개인적으로는 반대 구성을 사용해 왔었는데, 위 내용을 기반으로 보면 이 제안이 좀 더 합리적인 구성 같아 보임.
HTTP Toolkit
- https://httptoolkit.tech/
- HTTP(S) 통신을 가로채서 볼 수 있고, 엔드포인트 목업을 할 수 있는 툴
- PostMan이나 피들러 대체할 수 있을 것으로 보임.
- 무료 버전과 프로버전으로 나뉨.
- 프로버전은 HTTP 모킹이 좀 더 다양하게 지원, 프록시 8000번으로 동작
- 관련 오픈소스: https://github.com/httptoolkit/mockttp
애자일 안한 이야기
- 설계 활동으로서의 코딩,
- 사업과 개발의 밀착도
- 팀이 정말 팀인가? 유용한 소프트웨어를 만들어 내기 위한 조직 구조인가? 업무 목표와 KPI 등
- 자율적 팀: 목적은 알려주고(Why), 해법은 같이 논의하고(How), 구체화 방법(What)은 알아서
- Incremental < Iterative < evolutionary
- 매번 의미있는 가치를 고객에게 전달하자. 일을 최소한의 의미있는 단위로 만드는 연습
- 우선순위가 바뀌어 지금하는 일이 중단되어도 버려지는 작업을 최소화하자
- 일이 일을 만들게 하지 말자. 딱 필요한 만큼 하자.
- 소프트웨어 개발의 더 나은 방법을 찾아가는 고민이 중요
프리 사운드
- 소리 CC라이센스 검색: 지오태그로 위치로도 검색 가능
- https://freesound.org/
블록체인 학습 자료
- 우선 링크 공유: 링크
- 고대 정보보호대학원 김승주 교수 강의 자료. 이건 따로 정리해 보자
디자인 시스템
- 애플 Human Interface Guideline
- 마이크로소프트 Fluent Design System: 단순하고 크로스 플랫폼간 개방적 디자인 시스템
- 아틀라시안 디자인 시스템: https://atlassian.design/
- IBM: Carbon Design System: https://carbondesignsystem.com/
- 구글 material 디자인: https://material.io
- uber 디자인 시스템: https://brand.uber.com/in/en/
- shopify polaris 디자인 시스템
- eva 디자인 시스템
- ant 디자인 시스템
- 모질라 디자인 시스템 프로토콜
- mailchimp 디자인 시스템
- atomize 리액트 디자인 시스템
- pluralsight 사이트 디자인 시스템
- 참고자료: 설계에 의한 인간중심
반응형
'2. 개발 > 2.0 개발 잡설' 카테고리의 다른 글
드림헤븐 JD (0) | 2022.03.05 |
---|---|
WSL2기반 윈도우 도커 이미지 저장 위치 변경하기 (2) | 2022.01.13 |
네카라쿠배 성장의 비결 기사 키워드 (0) | 2021.11.22 |
2년동안 194USD 버는 앱을 만들면서 얻은 교훈 (0) | 2021.07.27 |
한줄로 웹서버 실행하기 (0) | 2021.05.17 |