개-발/이론

https://developer.mozilla.org/ko/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types 일반 MIME 타입 - HTTP | MDN다음은 일반적인 확장자로 정렬된, 문서 타입과 관련된 MIME 타입의 포괄적인 목록입니다.developer.mozilla.org확장자문서 종류MIME 타입.aacAAC 오디오audio/aac.abwAbiWord 문서application/x-abiword.arc아카이브 문서 (다중 파일 포함)application/x-freearc.avifAVIF 이미지image/avif.aviAVI: 오디오 비디오 인터리브(Audio Video Interleave)video/x-msvideo.azw아마존 킨들 전자책 포맷appli..
모놀로식 아키텍처 (Monolithic Architecture)하나의 WAS에서 모든 기능을 처리하도록 구성한다.장점구조가 간단하다시스템 운영과 개발이 편리하다네트워크로 인한 지연 및 데이터 유실 안전하다디버깅이 쉽다 ( 로그 추적에 용이하다 )트랜잭션 관리가 편하다장애에 견고하다단점기능이 많아지면 복잡해질 수 있다 (스파게티 코드)코드베이스가 어지럽다 ( HTML, JS, CSS 파일을 포함해야 하므로 )클라이언트 코드에 버그를 수정하더라도 서버를 다시 실해야하 하는 불편함이 있다Git 브랜치도 많아지고 관리가 어렵다애플리케이션에 대한 확장이 비효율적이다점차 늘어나는 사용자의 요청을 감당하기 위해 시스템을 확장하여 고가용성을 확보해야 한다.소스코드가 증가함에 따라 서버의 빌드시간은 점차 늘어나게 되고,..
클라이언트의 요청을 Dispatcher Servlet에 전달Dispatcher Servlet 요청한 url에 맞는 controller 가 있는지 Handler Mapping이 검색Handler Mapping에서 해당 controller에 처리 요청controller에서 처리 결과를 Handler Adapter 를 통해 ModelAndView 객체로 변환하여 Dispatcher Servlet에 전달Dispatcher Servlet에서 전달받은 ModelAndView 객체를 이용하여 매핑되는 View를 View Resolver검색View Resolver에서 처리 결과를 View에 전달처리결과가 포함된 View를 Dispatcher Servlet에 전달Dispatcher Servlet에서 최종 응답 결과를 클..
프로그램을 실행 해주는 주체 = 프로세스 🏡 자신만의 고유 공간과 자원을 할당받아 사용 프로그램 단위 프로세스는 최소 하나 이상의 쓰레드를 보유 각각 별도의 주소 공간을 독립적으로 할당 받는다 (code,heap,stack) 📌 프로세스 만으로 작업을 처리할때의 문제점 - 프로세스 생성에 큰 오버헤드가 있음. * 프로세스 생성시 많은시간 소요 - 다른 프로세스 사용시 컨텍스트 스위칭의 비효율성이 생김. - 프로세스 사이에 통신이 어려움. 비용이 비싼 IPC 사용해서 통신을 한다. (또는 LPC, 공유 메모리) 작업을 처리 해주는 주체 = 쓰레드 💁 쓰레드는 프로세스안에서 작업을 처리하는 주체 이다. 쓰레드는 자원 중에 stack 만 따로 할당받고 나머지 영역은 쓰레드끼리 서로 공유한다. 📌 쓰레드가 해..
GET: 멱등성과 안전성이 모두 있다. POST: 멱등성과 안전성이 모두 없다. PUT, DELETE: 멱등성은 있지만 안전성은 없다. PATCH: 멱등성과 안전성이 없다. 멱등성 이란 ? 멱등성은 같은 요청을 여러 번 보내도 같은 결과가 나오는 특성을 말한다. - Post 요청의 경우 같은값을 요청시 항상 새로운 리소스가 생성 되기 때문에 멱등성이 없다고 할 수 있다. *보기엔 응답값이 같아도 실제로는 리소스가 추가 되기 때문에 안정성과 멱등성이 없다. - Get 요청의 경우 같은값으로 조회시 항상 같은 응답값이 나온다. - Put 요청의 경우 클라이언트가 리소스 A 를 PUT 메서드로 업데이트하면 해당 리소스는 변경되어 A'로 대체된다. 이후에 같은 요청을 다시 보내더라도, 서버는 이전과 동일한 리소..
https://www.naver.com 이 URL의 정보는 Protocol : https url : www.naver.com port : 443 이때 따로 포트를 선언하지 않는다면 브라우저에서 기본으로 설정된 값을 이용해 요청한다. HTTP - 80 / HTTPS - 443 주소(URL) 입력 www.naver.com < DNS주소(Domain Name System) DNS서버에 DNS질의를 보내면 DNS서버가 IP주소를 준다. 해당 IP를 가지고 TCP 연결을 시도한다. 왜 TCP ? 브라우저를 사용한다는것은 HTTP 통신을 하는것인데 HTTP통신은 TCP통신을 기반으로 하기 때문이다. 4. HTTP Request 를 WAS(Web Application Server) 서버에 보낸다 TCP 연결 설정 후..
JVM 이해 (Java Virtual Machine) 우리의 코드는 어떻게 실행 될까 ? 개발자 [ 자바파일(.java) > 자바컴파일러 > 바이트 코드 (.class) ] > JVM(Java Virtual Machine) > OS(Operating System 윈도우..리눅스..맥 ) > 하드웨어 개발자는 코드를 만들어 JVM 으로 보낸다 JAVA는 OS에 종속적이지 않다는 특징을 가지고 있다 (대충 아무OS에서 다 돌아간단 얘기) 이러기 위에선 OS위에서 JAVA를 실행시킬 무언가가 필요하단 말이다. 이것이 JVM JAVA 소스코드(*.java 자바파일)는 CPU가 인식을 하지 못하므로 기계어로 컴파일 해줘야 한다. 하지만 JAVA는 JVM 이라는 가상머신을 거쳐 OS에 도달하기 때문에 OS가 인식할..
프로세스(process)란 ? 운영체제로 부터 시스템자원을 할당 받은 작업단위 *실행중에 있는 프로그램 특징 프로세스 내부에는 최소 하나의 스레드 를 가지고 있는데, 실제로는 스레드 단위로 스케줄링을 한다. *스케줄링 : CPU가 할당 순서 및 방법을 결정하는 일. 하드디스크에 있는 프로그램을 실행하면, 실행을 위해서 메모리 할당이 이루어지고, 할당된 메모리 공간으로 바이너리 코드가 올라가게 된다. 이 순간부터프로세스라 불린다. 프로세스는 독립된 메모리를 할당 받는다. 프로세스가 메모리를 관리하기 위해 이 공간들을 어떤 구조로 관리하는데, 이를 프로세스 주소 공간이라고 부른다. 프로세스 주소 공간은 Code, Data, Stack, Heap 으로 구성된다. Code: 코드 자체를 구성하는 메모리 영역(프..
imSoo
'개-발/이론' 카테고리의 글 목록