1) 과거 회상.. 나는 전자공학 전공자로 남들이 다 하는 대로 전공 수업(반도체, 회로 등)을 듣고 졸업을 했고, 또 전자공학 출신이라고 하면 가야될 것만 같은 회사를 다녔다.취업 후 3년이 지난 시점.. 내 자신에 대해서 돌아볼 기회가 생겼고, 나는 무엇을 할
최근 스프링을 통한 웹개발에 대해 공부를 하면서 (스프링 부트와 AWS로 혼자 구현하는 웹 서비스) 웹을 구성하는 각 기능들을 어떤 layer에 넣어야하는 지에 대해 알아보았다. 우선, Spring의 웹 계층에 대해 살펴보면, Web Layer 컨트롤러(@Cont
Spring Container구조상속관계BeanFactory -> ApplicationContextBeanFactory스프링 컨테이너의 최상위 인터페이스.스프링 빈을 관리하고 조회하는 역할을 담당.getBean()을 제공.지금까지 우리가 사용했던 대부분의 기능은 Bea
DTO는 자료 구조체의 전형적인 형태로, 공개 변수만 있고 (public) 함수는 없는 클래스.데이터베이스와 통신하거나 소켓에서 받은 메시지의 구문을 분석할 때 유용함.DTO의 예시는 다음과 같다.출처: clean code
단순히 서버와 클라이언트가 옆에 붙어있는 상황이 아니라 인터넷이라는 매개체를 통해서 연결하기 위해서는 IP가 필요.IP지정한 IP주소(IP Address) 에 데이터 전달패킷이라는 통신 단위로 데이터 전달 \- 패킷: 출발지 IP, 도착지 IP, 메세지를 포함한 꾸러
IP 프로토콜에서의 문제 (패킷 소실, 순서 문제)를 해결해줌.인터넷 프로토콜 스택의 4계층애플리케이션 계층 - HTTP, FTP전송 계층 - TCP, UDP인터넷 계층 - IP네트워크 인터페이스 계층\-> IP위에 TCP, UDP를 올려서 전송하는 방식.(출발지 PO
동일한 IP로 여러가지 작업을 진행중일때 이를 구분하기 위한 수단. [PORT] : 같은 IP 내에서 프로세스 구분 (비유하자면, IP: 아파트, PORT: 몇동 몇호) 0 ~ 65535 할당 가능 0 ~ 1023: 잘 알려진 포트로 사용하지 않는 것이 좋음 FTP

URI? URL? URN?URI는 로케이터(locator), 이름(name) 또는 둘자 추가로 분류될 수 있다.URL, URIURL - Locator: 리소스가 있는 위치를 지정URN - Name: 리소스에 이름을 부여위치는 변할 수 있지만, 이름은 변하지 않는다. 하
HTTP 메시지에 모든 것을 전송HTML, TEXTImage, 음성, 영상, 파일JSON, XML (API)\-> 거의 모든 형태의 데이터 전송 가능\-> 서버간 데이터를 주고 받을 때도 대부분 HTTP사용기반 프로토콜TCP: HTTP/1.1, HTTP/2UDP: HT
HTTP 메시지HTTP 메시지 구조start-line 시작라인header 헤더empty line 공백 라인 (CRLF): 무조건 있어야함.message bodystart line요청 메시지 1) HTTP 메서드 종류: GET, POST, PUT, DELETE 서버가 수
HTTP API를 설계할 때 리소스(명사)와 행위(동사)를 분리하는 것이 중요!\-> 리소스는 URI로, 행위는 메서드로 구현HTTP 메서드 종류GET: 리소스 조회POST: 요청 데이터 처리, 주로 등록에 사용PUT: 리소스를 대체, 해당 리소스가 없으면 생성PATC
호출해도 리소스를 변경하지 않는다.한 번 호출하든, 백 번 호출하든 결과가 똑같다.멱등 메서드GET: 한 번 호출하든, 두 번 조회하든 같은 결과가 조회PUT: 결과를 대체하므로 두 번 대체해도 같은 결과DELETE: 결과를 삭제하는 행위이므로 몇번을 삭제해도 같은 결
1) HTTP API- 컬렉션POST 기반 등록 (ex. 회원 관리 API 제공) \- 회원 목록 /members -> GET \- 회원 등록 /members -> POST \- 회원 조회 /members/{id} -> GET \- 회원 수정 /m
클라이언트가 요청을 했을 때 서버의 응답 코드2xx - Success200 OK: 요청 성공201 Created: 요청 성공해서 새로운 리소스가 생성됨.202 Accepted: 요청이 접수되었으나 처리가 완료되지 않았음.204 No content: 서버가 요청을 성공적
header field = {field-name}":" OWS{field-value}OWSfield-name은 대소문자 구분 없음.현재 표준인 RFC723x에서는 Entity -> Representation으로 변화\-> Representation = represent
단순 전송: Content-LengthLength를 알 수 있을 때 사용HTTP/1.1 200 OKContent-Type: text/html;charset=UTF-8Content-Length: 3423html압축 전송: Content-EncodingHTTP/1.1 20
애플리케이션 코드를 하나하나 순차적으로 실행하는 것자바 메인 메서드를 처음 실행하면 main이라는 이름의 쓰레드가 실행쓰레드가 없다면 자바 애플리케이션 실행이 불가능쓰레드는 한번에 하나의 코드 라인만 수행동시 처리가 필요하면 쓰레드를 추가로 생성HTTP요청이 들어오면
1) HTML 페이지동적으로 필요한 HTML 파일을 생성해서 전달2) HTTP API: 다양한 시스템 연동주로 JSON 형태로 데이터 통신UI 클라이언트 접점앱 클라이언트(아이폰, 안드로이드, PC앱)웹 브라우저에서 자바스크립트를 통한 HTTP API 호출React,