본문 바로가기
728x90

전체 글159

김영한님의 [모든 개발자들을 위한 HTTP 웹 기본 지식] 강의 후기!! 모든 개발자들을 위한 HTTP 웹 기본 지식 후기! 오늘 2022년 크리스마스를 기준으로 "모든 개발자를 위한 HTTP 웹 기본 지식" 강의를 다 듣게 되어서 후기를 간단하게 남겨보려 합니다! 사실 학부 과정 4학년에 올라와서 백엔드 개발자를 지망하여 공부를 시작하고 팀 프로젝트를 진행하면서, 개발 과정에 필요한 네트워크 지식이 너무 부족하다는 것을 절실하게 느끼고 있었습니다.. REST API 자체에 대한 개념도 지난 카카오 2차 코딩테스트를 준비하면서 알게 되는 등.. 부족함을 느끼던 찰나에 모든 개발자를 위한 HTTP 웹 기본 지식 - 인프런 | 강의 실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., - 강의 소개 | 인프런... www.inflearn.com.. 2022. 12. 25.
[모든 개발자를 위한 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.
728x90