SY 개발일지
article thumbnail
[HTTP] 모든 개발자를 위한 HTTP 웹 기본 지식 - 6. HTTP 상태코드
CS 정리/강의 2024. 1. 22. 22:54

HTTP 상태코드 소개 상태코드 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능 1xx (Informational): 요청이 수신되어 처리중 → 거의 사용X 2xx (Successful): 요청 정상 처리 3xx (Redirectional): 요청을 완료하려면 추가 행동이 필요 4xx (Client Error): 클라이언트 오류, 잘못된 문법 등으로 서버가 요청을 수행할 수 없음) 5xx (Server Error): 서버 오류, 서버가 정상 요청을 처리하지 못함 만약 모르는 상태 코드가 나타나면? 클라이언트가 인식할 수 없는 상태코드를 서버가 반환하면? 클라이언트는 상위 상태코드로 해석해서 처리 미래에 새로운 상태 코드가 추가 되어도 클라이언트는 변경하지 않아도 됨 예) 299 → 2xx (..

article thumbnail
[HTTP] 모든 개발자를 위한 HTTP 웹 기본 지식 - 5. HTTP 메서드 활용
CS 정리/강의 2024. 1. 19. 18:16

클라이언트에서 서버로 데이터 전송 데이터 전달 방식은 크게 2가지 쿼리 파라미터를 통한 데이터 전송 GET 주로 정렬 필터(검색어) 메세지 바디를 통한 데이터 전송 POST, PUT, PATCH 회원가입, 상품주문, 리소스 등록, 리소스 변경 4가지 상황 정적 데이터 조회 이미지, 정적 텍스트 문서 동적 데이터 조회 주로 검색, 게시판 목록에서 정렬 필터(검색어) HTML Form을 통한 데이터 전송 회원가입, 상품주문, 데이터 변경 HTTP API를 통한 데이터 전송 회원가입, 상품주문, 데이터 변경 서버 to 서버, 앱 클라이언트, 웹 클라이언트(Ajax) 정적 데이터 조회 → 쿼리 파라미터 미사용 이미지, 정적 텍스트 문서 조회는 GET 사용 정적 데이터는 일반적으로 쿼리 파라미터 없이 리소스 경로..

article thumbnail
[HTTP] 모든 개발자를 위한 HTTP 웹 기본 지식 - 4. HTTP 메서드
CS 정리/강의 2024. 1. 19. 15:04

HTTP API를 만들어보자 요구사항: 회원 정보 관리 API를 만들어라 회원 목록 조회 회원 조회 회원 등록 회원 수정 회원 삭제 API URI 설계 URI(Uniform Resource Identifier) 회원 목록 조회 /read-member-list 회원 조회 /read-member-by-id 회원 등록 /create-member 회원 수정 /update-member 회원 삭제 /delete-member → 이것은 좋은 URI 설계일까 ? : 중요한 것은 리소스 식별 API URI 고민 리소스의 의미는 뭘까? 회원을 등록하고 수정하고 조회하는 것이 리소스가 아니다! 예) 미네랄을 캐라 → 미네랄이 리소스 회원이라는 개념 자체가 바로 리소스이다. 리소스를 어떻게 식별하는 게 좋을까? 회원을 등록하..

article thumbnail
[HTTP] 모든 개발자를 위한 HTTP 웹 기본 지식 - 3. HTTP 기본
CS 정리/강의 2024. 1. 18. 19:33

모든 것이 HTTP HTTP HyperText Transfer Protocol → hypertext html 문서 간의 링크를 통해서 연결할 수 있는 html를 전송하는 프로토콜 현재는 HTTP 메세지에 모든 것을 담아서 전송한다. HTML, TEXT IMAGE, 음성, 영상, 파일 JSON, XML(API) 거의 모든 형태의 데이터 전송 가능 서버 간에 데이터를 주고 받을 때도 대부분 HTTP 사용 HTTP 역사 HTTP/0.9 1991년: GET 메서드만 지원, HTTP 헤더 X HTTP/1.0 1996년: 메서드, 헤더 추가 HTTP/1.1 1997년: 가장 많이 사용, 우리에게 가장 중요한 버전 RFC2068 (1997) → RFC2616 (1999) → RFC7230~7235 (2014) HTT..

article thumbnail
[HTTP] 모든 개발자를 위한 HTTP 웹 기본 지식 - 2. URI와 웹 브라우저 요청 흐름
CS 정리/강의 2024. 1. 18. 17:36

URI URI(Uniform Resource Indentifier) → 리소스를 식별하는 통합된 방법 URI? URL? URN? URI URI는 로케이터(locator), 이름(name) 또는 둘다 추가로 분류될 수 있다. 참고 https://www.ietf.org/rfc/rfc3986.txt - 1.1.3. URI, URL, and URN URI는 리소스를 식별하는데, URI에는 크게 URL과 URN가 있다. URL: 리소스의 위치 URN: 리소스의 이름 문제는 이름만 부여하면 찾기 어렵다. URI 단어 뜻 Uniform: 리소스 식별하는 통일된 방식 Resource: 자원, URI로 식별할 수 있는 모든 것(제한 없음) 예를 들어 웹 브라우저에 있는 html 파일 외에도 실시간 교통정보 등 우리가 구..

article thumbnail
[HTTP] 모든 개발자를 위한 HTTP 웹 기본 지식 - 1. 인터넷 네트워크
CS 정리/강의 2024. 1. 18. 15:49

인터넷 통신 인터넷에서 컴퓨터 둘은 어떻게 통신할까? 다음과 같이 컴퓨터 2대가 케이블로 연결되어 있다고 해보자. 클라이언트가 Hello, world!라는 요청을 보내면 서버에서 OK라는 응답을 연결한 케이블로 다시 보내면 된다. 이제, 클라이언트와 서버가 멀다고 가정해보자. 그렇다면 인터넷 을 사이에 두고 통신을 하게 된다. 즉, 클라이언트는 인터넷망 을 통해서, Hello world! 라는 메세지를 보내야한다. 근데 이 인터넷망은 간단하지 않다. 예를 들어 중간에 해저 광케이블이 있을 수도 있고, 혹은 메세지가 인공위성을 통해서 내려갈 수도 있고, 수많은 중간 녿드라고 하는 서버를 통해서 메세지를 보내야 한다. 그렇다면 어떻게해야 안전하게 데이터를 전달할 수 있을까? 이 문제는 IP 를 알면 해결할 ..

article thumbnail
[운영체제] 메모리 관리 Memory Management
CS 정리/강의 2023. 6. 22. 12:20

Logical vs. Physical Address Logical address (=virtual address) 프로세스마다 독립적으로 가지는 주소 공간 각 프로세스마다 0번지부터 시작 CPU가 보는 주소는 logical address임 Physical address 메모리에 실제 올라가는 위치 주소 바인딩: 주소를 결정하는 것 Symbolic Address → Logical Address → Physical Address ↑ 이 시점이 언제인가 Symbolic Address: 프로그래머 입장에서는 숫자로 된 주소를 사용하지 않고 변수 이름이라든가 함수 이름을 가지고 주소에 접근하는데, 그것을 symbolic address라고 한다. 주소 바인딩 (Address Binding) 위에서 나온 Logica..

article thumbnail
[운영체제] 교착상태 Deadlock
CS 정리/강의 2023. 6. 19. 23:05

각자 일부 자원을 가지고 있으면서 상대방이 가지고 있는 자원을 요구하는 형태 The Deadlock Problem Deadlock 일련의 프로세스들이 서로가 가진 자원을 기다리며 block된 상태 Resource(자원) 하드웨어, 소프트웨어 등을 포함하는 개념 (예) I/O device, CPU cycle, memory space, semaphore 등 프로세스가 자원을 사용하는 절차 요청 Request, 할당 Allocate, 사용 Use, 반납 Release Deadlock Example 1 시스템에 2 개의 tape drive가 있따. 프로세스 P1과 P2 각각이 하나의 tape drive를 보유한 채 다른 하나를 기다리고 있다. Deadlock Example 2 Binary semaphores A..

article thumbnail
[운영체제] 프로세스 동기화 Process Synchronization
CS 정리/강의 2023. 6. 19. 19:58

이전 포스팅 https://soyeonnnb.tistory.com/30 6-1. 프로세스 동기화 Process Synchronization 데이터의 접근 Race Condition 경쟁 상태 Race condition: 하나의 데이터에 둘 이상 접근하게 되면 원하는 결과가 나오지 않을 수도 있음 OS 에서 race condition은 언제 발생하는가? kernel 수행 중 인터럽트 발 soyeonnnb.tistory.com Classical Problems of Synchronization Bounded-Buffer Problem (Producer-Consumeer Problem) Readers and Writers Problem Dining-Philosophers Problem Bounded-Buffe..