김영한님의 모든 개발자를 위한 HTTP 웹 기본 지식 강의를 수강했습니다. 강의 내용 중 캐시에 대해서만 다시 한 번 정리해보고자 합니다. 함께 이야기하며 메타인지에 도움을 준 칙촉과 필즈에게 감사를 !! 🤗🙏 요약 응답 헤더를 사용한 캐싱의 기준은 최종수정시간과 버전 중 한 가지를 선택해서 사용할 수 있습니다. 시간은 Last-Modified 와 If-Modified-Since로, 버전은 ETag 와 If-None-Match 로 사용됩니다. 기본적이 프로세스는 다음과 같습니다. 서버에서 정적 리소스 응답 시 Last-Modified 또는 ETag 헤더를 포함해서 응답합니다. 브라우저는 같은 리소스를 재요청할 때, If-Modified-Since 또는 If-None-Match에 이전에 Last-Modif..
모든 개발자를 위한 HTTP 웹 기본 지식을 수강했습니다. 그 중 POST와 PUT 메서드 관련 새롭게 알게 된 내용을 정리해봅니다. 요약 POST 요청은 Collection 개념에 해당한다. 리소스 관리 주체가 서버이다. PUT 요청은 Store 개념에 해당한다. 리소스 관리 주체가 클라이언트이다. POST로 새로운 제품을 등록한다면, 해당 제품의 식별자는 서버가 생성해서 Location 헤더에 내려준다. PUT 요청은 클라이언트가 식별자 및 모든 정보를 포함해서 요청을 보내야 하며, 없으면 생성, 있으면 대체한다. List의 add 메서드와 Map의 put 메서드를 생각해보면 이해가 쉽다! 이번 포스팅에서 작성하게 될 POST 는 이러이러 하다~ PUT 은 이러이러 하다~ 라는 표현은 그렇게 동작하게..
🤸♂️ 객체지향 생활체조, 왜 지금인가 처음부터 정리하고 싶었으나... 우아한테크코스를 시작할 때부터 객체지향 생활체조를 지키라는 가이드를 받았습니다. 이는 유지 보수하기 좋은 코드를 작성하기 위한 의식적인 연습을 할 수 있는 추상적이지 않은, 아주 구체적인 눈에 보이는 지표로서 아주 큰 역할을 해주었습니다. 처음부터 이 내용에 대해 정리해보고 싶었지만, 왜 이러한 규칙을 지켜야 하는지, 지켰을 때 어떤 장점이 있는지, 객체지향 생활체조를 지켜본 결과 경험한 바가 어떠한지에 이야기할 바가 없었습니다. 레벨 2 마지막 미션이 머지된 오늘, 드디어 오늘 ㅎ 지금까지 8개의 미션을 지나오며 객체지향 생활체조를 경험한 내용을 토대로 정리해보려 합니다. 📚 용어 정리 의사소통의 장애물을 먼저 없애고 시작합시다!..
요약 MySQL은 접속 클라이언트, 엔진, 스토리지 엔진으로 구분할 수 있다. 엔진에서는 SQL문장을 분석하고 검증하고 최적화한 뒤 스토리지 엔진을 통해 데이터를 읽고 쓴다. 스토리지 엔진은 실제 디스크에 접근해 데이터를 읽고 쓰는 역할을 수행한다. InnoDB, MyISAM 등을 선택할 수 있다. InnoDB는 기본으로 선택되는 스토리지 엔진이며, 버퍼풀, 언두 로그 등을 통해 MVCC 를 제공한다. 📕 주요 용어 정리 의사소통의 장애물을 가장 먼저 제거해봅시다!! MySQL 엔진 : MySQL 두뇌에 해당. 쿼리 파싱, 최적화, 실행계획 생성 등을 담당. 운전자. MySQL 스토리지 엔진 : MySQL 손, 발에 해당. 디스크에 읽고 쓰기를 담당. 자동차. 운전자에게 핸들을 제공함. 핸들러 : MyS..
요약 1. Option + Enter (또는 Alt + Enter) 를 통해 정규표현식을 팝업창으로 즉시 검증할 수 있다. 2. Cmd + Enter (또는 Ctrl + Enter) 를 통해 Java 코드에 입력된 쿼리를 즉시 실행할 수 있다. 3. Option + Enter -> Inject Language or Reference 를 통해 코드 하이라이팅 지원을 받을 수 있다. 인텔리제이 팁 영상을 보고 기록해봅니다 정규식 검증하기 이메일을 입력 받는 시나리오에 정규식을 사용한다고 가정해보죠! :) 이메일 정규식 이라는 키워드로 검색해서 얻은 정규표현식 문자열을 인텔리제이에 붙여넣기 해보았습니다. 정규식 위에 선언된 String email의 문자열이 모두 초록색으로 표기된 것과 달리, Pattern.c..