본문 바로가기
728x90

BackEnd62

[모든 개발자를 위한 HTTP 웹 기본 지식] 7. HTTP 헤더 1 - 일반 헤더 HTTP message 중에서도 header에 대한 간단한 복습 header-field = field-name":" OWS field-value OWS (OWS는 띄어쓰기 허용을 의미) field-name에는 대소문자 구분이 없다. HTTP header 용도 HTTP 전송에 필요한 모든 부가 정보를 담는 부분이다. 예) 메시지 바디의 내용, 메시지 바디의 크기, 압축, 인증, 요청 클라이언트, 서버 정보, 캐시 관리 정보 등등.. 표준 헤더가 너무 많다. 필요시 임의의 헤더 추가가 가능하다. helloworld: hihi 이런 식으로? 과거의 HTTP 헤더 분류 General 헤더: 메시지 전체에 적용되는 정보, 예) Connection: close Request 헤더: 요청 정보, 예) User-Age.. 2022. 12. 25.
좋은 객체 지향 프로그래밍이란? 객체 지향 프로그래밍의 정의? 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다. (협력) 객체 지향 프로그래밍은 프로그램을 유연하고 변경에 용이하게 만들기 때문에, 대규모 소프트웨어 개발에 많이 사용된다. 유연하고 변경에 용이하다는 것의 의미란? 레고 블록을 조립하듯이 키보드, 마우스를 갈아 끼우듯이 컴퓨터 부품을 갈아 끼우듯이 컴포넌트를 쉽고 유연하게 변경하면서 개발할 수 있는 방법을 말한다!! 그것이 바로 다형성을 의미한다!! 다형성의 실세계 비유 실세계와 객체 지향을 1:1로 정확하게 매칭하기에는 무리가 있음 그래도 비유를 하는 것이 .. 2022. 12. 24.
좋은 객체 지향 설계의 5가지 원칙 (SOLID) SOLID 클린코드로 유명한 로버트 마틴이 좋은 객체 지향 설계의 5가지 원칙을 정리했다. SRP: 단일 책임 원칙 (single responsibility principle) OCP: 개방-폐쇄 원칙 (open/closed principle) LSP: 리스코프 치환 원칙 (Liskov substitution principle) ISP: 인터페이스 분리 원칙 (Interface segregation principle) DIP: 의존 관계 역전 원칙 (Dependency inversion principle) SRP 단일 책임 원칙 - single responsibility principle 한 클래스는 하나의 책임만 가져야 한다. 하나의 책임이라는 것은 모호하다. 클 수도 있고, 작을 수도 있다. 문맥과 .. 2022. 12. 24.
Spring 이란? Spring의 생태계에는 다음과 같이 굉장히 다양한 기술들이 존재한다. 스프링 프레임워크 핵심 기술: 스프링 DI 컨테이너, AOP, 이벤트, 기타 웹 기술: 스프링 MVC, 스프링 WebFlux 데이터 접근 기술: 트랜잭션, JDBC, ORM 지원, XML 지원 기술 통합: 캐시, 이메일, 원격접근, 스케줄링 테스트: 스프링 기반 테스트 지원 언어: 코틀린, 그루비 최근에는 스프링 부트를 통해서 스프링 프레임워크의 기술들을 편리하게 사용한다. 위와 같은 기능들을 제공하는 것을 통합해서 스프링 프레임워크라고 부르고, 강의에서는 그중에서도 핵심 기술에 대한 이해를 위주로 다룬다. 나머지는 이것에서 파생된 개념들이다. 지금 실무에서는 스프링 부트를 기본으로 깔고 들어간다고 함. 스프링 부트 스프링을 편리하게.. 2022. 12. 23.
[모든 개발자를 위한 HTTP 웹 기본 지식] 6. HTTP 상태 코드 1. HTTP 상태 코드 client에 보낸 요청(request)의 처리 상태를 응답(response)에서 알려주는 기능이다. 1XX (Informational): 요청이 수신되어 처리 중 2XX (Successful): 요청 정상 처리 3XX (Redirection): 요청을 완료하려면 추가 행동이 필요 4XX (Client Error): 클라이언트 오류, 잘못된 문법 등으로 서버가 요청을 수행할 수 없음 5XX (Server Error): 서버 오류, 서버가 정상 요청을 처리하지 못한다. 만약에 모르는(정의되지 않은) 상태 코드가 나타난다면?? 클라이언트는 상위 상태 코드로 해석해서 처리한다. 디테일한 사항을 몰라도 큰 틀에서는 이해할 수 있기 때문이다. 미래에 새로운 상태 코드가 추가되어도 클라이언.. 2022. 12. 21.
[모든 개발자를 위한 HTTP 웹 기본 지식] 5. HTTP 메서드 활용 1. 클라이언트에서 서버로의 데이터 전송 Query Parameter를 이용한 데이터 전송 GET method 사용 시 검색어 같은 정렬 필터 Message Body를 이용한 데이터 전송 POST, PUT, PATCH 회원 가입, 상품 주문, 리소스의 등록, 리소스 변경 등의 작업에 주로 사용하는 방식 클라이언트에서 서버로 데이터를 전송하는 4가지 예시 상황 정적 데이터 조회 이미지, 정적 텍스트 같은 데이터 동적 데이터 조회 주로 검색, 게시판 목록에서 정렬 필터(검색어) HTML Form을 통한 데이터의 전송 회원가입, 상품 주문, 데이터 변경 등의 작업 수행 HTTP API를 통한 데이터 전송 회원가입, 상품 주문, 데이터 변경 등의 작업 수행 서버 to 서버, app client, web clie.. 2022. 12. 19.
728x90