분류 전체보기(153)
-
[아이템3] 직렬화된 인스턴스를 역직렬화할 때마다 새로운 인스턴스가 만들어진다.
싱글턴 클래스는 생성자를 private으로 만들기 때문에 인스턴스를 하나로 유지할 수 있는 것인데 역직렬화는 생성자를 사용하는 것이 아니라 직렬화된 객체의 정보를 읽어 그대로 복원하는 것이기 때문에 별도의 조치를 취하지 않으면 새로운 인스턴스가 생기는 것을 막을 수 없음readResolve 메서드는 직렬화된 데이터를 역직렬화할 때 호출되는 특별한 메서드로, 해당 메서드를 사용하여 역직렬화된 객체를 임의로 대체하거나 수정할 수 있는 기능을 제공public class Elvis { private static final Elvis INSTANCE = new Elvis(); private Elvis() {...} public static Elvis getInstance() {return INSTANCE;}..
2024.07.01 -
[아이템1] 자바 8부터는 인터페이스가 정적 메서드를 가질 수 없다는 제한이 풀렸기 때문에 인스턴스화 불가 동반 클래스를 둘 이유가 별로 없다.
이펙티브 자바자바 6 출시 직후 출간된 『이펙티브 자바 2판』 이후로 자바는 커다란 변화를 겪었다. 그래서 졸트상에 빛나는 이 책도 자바 언어와 라이브러리의 최신 기능을 십분 활용하도록 내용 전반을 철저히 다시 썼다. 모던 자바가 여러 패러다임을 지원하기 시작하면서 자바 개발자들에게는 구체적인 모범 사례가 더욱 절실해졌고, 관련 조언을 이 책에 담아낸 것이다. 3판에는 자바 7, 8, 9에서 자바 언어와 라이브러리에 추가된 특성들을 녹여냈다. 특히 그동안 객체 지향에 치중하던 자바에 새로 도입된 함수형 프로그래밍 요소도 자세히 알아본다. 람다(lambda)와 스트림(stream)만을 다룬 장을 포함하여 새로운 아이템도 많이 추가되었다. 새롭게 다루는 주제들 - 함수형 인터페이스, 람다식, 메서드 참조, ..
2024.07.01 -
HTTP 헤더 2 - 캐시와 조건부 요청
모든 개발자를 위한 HTTP 웹 기본 지식 - 인프런 | 강의 실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., [사진] 📣 확인해주세요!본 강의는 자바 스프링 완전 정복 시리즈의 세 번째 강의입니다. 우아한형제들 최연소 기술 www.inflearn.com 캐시 기본 동작 캐시가 없을 때 데이터가 변경되지 않아도 계속 네트워크를 통해서 데이터를 다운로드 받아야 함 인터넷 네트워크는 매우 느리고 비쌈 브라우저 로딩 속도가 느림 느린 사용자 경험 캐시 적용 캐시 덕분에 캐시 가능 시간동안 네트워크를 사용하지 않아도 됨 비싼 네트워크 사용량을 줄일 수 있음 브라우저 로딩 속도가 매우 빠름 빠른 사용자 경험 캐시 시간 초과 캐시 유효 시간이 초과하면, 서버를 통해 데이터를..
2023.10.25 -
HTTP 헤더 1 - 일반 헤더
모든 개발자를 위한 HTTP 웹 기본 지식 - 인프런 | 강의 실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., [사진] 📣 확인해주세요!본 강의는 자바 스프링 완전 정복 시리즈의 세 번째 강의입니다. 우아한형제들 최연소 기술 www.inflearn.com HTTP 헤더 header-field = field-name ":" OWS field-value OWS field-name은 대소문자 구문 없음 용도 HTTP 전송에 필요한 모든 부가정보 예) 메시지 바디의 내용, 메시지 바디의 크기, 압축, 인증, 요청 클라이언트, 서버 정보, 캐 시 관리 정보... 표준 헤더가 너무 많음 필요시 임의의 헤더 추가 가능 분류 - RFC2616(과거) General 헤더 : 메시..
2023.10.25 -
HTTP 상태코드
모든 개발자를 위한 HTTP 웹 기본 지식 - 인프런 | 강의 실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., [사진] 📣 확인해주세요!본 강의는 자바 스프링 완전 정복 시리즈의 세 번째 강의입니다. 우아한형제들 최연소 기술 www.inflearn.com 상태코드 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능 1xx(Informational) : 요청이 수신되어 처리 중 2xx(Successful) : 요청 정상 처리 3xx(Redirection) : 요청을 완료하려면 추가 행동이 필요 4xx(Client Error) : 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수 없음 5xx(Server Error) : 서버 오류, 서버가 정상 요..
2023.10.25 -
HTTP 메서드 활용
모든 개발자를 위한 HTTP 웹 기본 지식 - 인프런 | 강의 실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., [사진] 📣 확인해주세요!본 강의는 자바 스프링 완전 정복 시리즈의 세 번째 강의입니다. 우아한형제들 최연소 기술 www.inflearn.com 클라이언트에서 서버로 데이터 전송 데이터 전달 방식 2가지 쿼리 파라미터를 통한 데이터 전송 GET 주로 정렬 필터(검색어) 메시지 바디를 통한 데이터 전송 POST, PUT, PATCH 회원 가입, 상품 주문, 리소스 등록, 리소스 변경 4가지 상황 정적 데이터 조회 이미지, 정적 텍스트 문서 동적 데이터 조회 주로 검색, 게시판 목록에서 정렬 필터(검색어) HTML FORM을 통한 데이터 전송 회원 가입, 상..
2023.10.25