CS/etc
-
웹서버(Web Server) vs WAS(Web Application Server)CS/etc 2022. 12. 19. 20:37
1. Static Pages vs Dynamic Pages 1-1. Static Pages 항상 동일한 페이지를 반환한다. image, html, css, js 파일과 같은 컴퓨터에 저장되어 있는 파일들 1-2. Dynamic Pages 인자의 내용에 맞게 DB를 거쳐 동적인 contents 반환 * Servlet: WAS 위에서 돌아가는 Java Program 2. Web Server와 WAS의 차이 2-1. Web Server HTTP 프로토콜을 기반으로 하여 클라이언트(웹 브라우저 또는 웹 크롤러)의 요청을 서비스 하는 기능 웹 브라우저 클라이언트로부터 HTTP 요청을 받아 정적인 컨텐츠(.html .jpeg .css 등)를 제공하는 컴퓨터 프로그램 ex) Apache Server, Nginx 요청..
-
모바일 웹 vs 웹앱 vs 네이티브앱 vs 하이브리드앱CS/etc 2022. 12. 19. 20:10
핵심용어 용어설명 모바일 웹 데스크 탑 브라우저에 실행되는 웹 어플리케이션을 모바일 스크린 크기로 줄여 놓은 것 웹 앱 모바일 웹과 비슷하지만 구동방식이 앱처럼 보이게 한 앱 실행 : 웹 브라우저(단일 페이지 방식) 겉모습과 구동방식이 마치 네이티브 같은 웹페이지(모바일 웹보다 모바일 최적화) 운영체제별로 개발할 필요가 없음(심사과정X, but, 웹 브라우저를 통해서만 개발 가능) 개발 : 웹 개발 방식과 동일 네이티브 앱 모바일 기기에 최적화된 언어로 개발된 앱으로 안드로이드 SDK를 이용해 java 언어로 만드는 안드로이드앱과 iOS SDK를 이용해 Ovjective-C 언어로 개발된 아이폰 앱 등 하이브리드앱 = 네이티브앱 + 웹앱 앱의 기반이 되는 콘텐츠 영역은 HTML 기반의 웹 앱으로 제작 최..
-
HTTP에서 제공하는 Cache-ControlCS/etc 2022. 12. 16. 15:48
1. Client, Server 그리고 Cache의 배치구조 1-1. Client Cache Server Server arrow_forward: 중간에 Cache Server를 배치한 구조 요청한 데이터가 캐싱이 되어 있는 경우라면, Server까지 갈 필요가 없기 때문에 좀 더 빠르게 데이터를 받을 수 있다. 하지만, Cache Server까지 도달하는 네트워크 통신은 불가피하다. 1-2. Client(+cache manager) Server :arrow_forward: Client 내에 제공된 Cache 매니저가 있는 경우 iOS에서는 이러한 Cache Manager를 제공하고 있습니다. Client 내부에서 Cache를 관리하기에, 캐싱이 되어있는 경우라면 완벽하게 네트워크 통신을 피할 수도 있다...
-
프록시 서버 개념 및 프록시 서버 종류Forward Proxy, Reverse proxyCS/etc 2022. 12. 13. 14:12
1. Proxy Server 서버와 클라이언트 사이에서 중계기로서 대리로 통신을 수행하는 기능을 '프록시' , 그 중계 기능을 하는 것을 우리는 '프록시 서버' 라고 부릅니다. 2. Proxy Server 사용 목적 익명성으로 보안의 목적으로 사용 캐시를 이용한 속도향상 차단된 사이트를 IP 우회하여 접속 원하지 않는 사이트를 차단 3. Proxy Server 종류 프록시 서버는 서버의 위치에 따라 Forward Proxy 와 Reverse Proxy 로 나뉩니다. 3-1. Forward Proxy [ 클라이언트 프록시 서버 ㅡ 서버 ]의 위치에 있는, 위의 개념을 사용하는 프록시 서버를 Forward Proxy 라고 합니다. 클라이언트가 요청을 전달하면 프록시 서버가 목적 사이트의 내용을 받아와서 전달..
-
세션, 쿠키, 토큰, JWT, 캐시CS/etc 2022. 12. 12. 21:34
1. 쿠키 HTTP의 일종으로 사용자가 어떠한 웹 사이트를 방문할 경우, 그 사이트가 사용하고 있는 서버에서 사용자의 컴퓨터에 저장하는 작은 기록 정보 파일 => 클라이언트의 상태 정보를 클라이언트의 PC에 저장하였다가 필요시 정보를 참조하거나 재사용할 수 있다. 쿠키를 이용해서 서버는 나의 브라우저에 데이터를 넣을 수 있다. 우리가 사이트에 방문하면 브라우저는 서버에 요청을 보내고, 서버는 이에 응답할텐데 응답에는 모든 데이터와 내가 찾던 페이지 정보가 있을텐데 그곳에서는 브라우저가 저장하고자 하는 쿠키가 있을 수 있다. 해당 웹 사이트를 방문할 때마다 브라우저는 해당 쿠키도 요청과 함께 보낼 수 있다. 참고로, 쿠키는 도메인에 따라 제한되는데 유튜브가 준 쿠키는 유튜브에만 보낼 수 있다. 또한 쿠키는..
-
애자일 vs 워터폴CS/etc 2022. 12. 1. 10:48
1. 워터폴 방식 워터폴(Waterfall) 방식은 계단식의 단계별 접근 방식으로 애자일 방식 등장하기 이전까지 보편적으로 활용되고 있었던 방법론이다. 요구사항 분석 -> 프로젝트 설계 -> 디자인 -> 개발 -> 검수 -> 배포의 프로세스로 진행된다. 각 단계 별로 stage-gate가 있어 한 단계를 다 완료해야만 그 다음 단계의 문을 열 수 있다. 다음 단계로 넘어가기 위해서는 이전 단계가 완료되어야만 한다. 장점으로는 단계가 명확하게 구별되어 있으므로 진행사항을 명확히 확인할 수 있고, 명확한 책임소재와 일정관리의 용이성등이 있다. 하지만 그러한 이유때문에 생기는 단점으로는 앞 선 단계에서 잘못된 걸 발견했을 때 되돌리기 어렵다. 기획이 변경되면 영향력을 끼치는 범위가 넓고 테스트 전까지 산출물의..
-
MSA(Microservice Architecture) MSA와 애자일CS/etc 2022. 11. 21. 20:44
MSA는 1개의 시스템을 독립적으로 배포 가능한 각각의 서비스로 분할한다. 각각의 서비스는 API를 통해 데이터를 주고 받으며 1개의 큰 서비스를 구성합니다. 모든 시스템의 구성요소가 한 프로젝트에 통합되어 있는 Monolithic Architecture(모놀리식 아키텍쳐)의 한계점을 극복하고자 등장하게 되었습니다. 장점 일부 서비스에 장애가 발생해도 전체 서비스에 영향을 끼치지 않는다. (시스템 장애 대응에 유리_ 각각의 서비스들은 서로 다른 언어와 프레임워크로 구성될 수 있다. 서비스의 확장이 용이하다. (서버증설이 필요할 때 수평적으로 확장할 수 있다. 모놀리식이면 이전 서버의 사양을 바꿔주는 방식으로 진행한다.) 이중화와 모듈 분리에 용이하다. 단점 서비스가 분리되어 있어 테스트(TDD)나 트랜잭..