profile
Enjoy to study

아이템87. 커스텀 직렬화 형태를 고려해보라

클래스가 Serializable을 구현하고 기본 직렬화 형태를 사용한다면 현재의 구현에 종속적이게 된다. 즉, 기본 직렬화 형태를 버릴 수 없게 된다. 따라서 유연성, 성능, 정확성과 같은 측면을 고민한 후에 합당하다고 생각되면 기본 직렬화 형태를 사용해야 한다.일반적

2022년 3월 27일
·
0개의 댓글

아이템79. 과도한 동기화는 피하라

과도한 동기화는 1. 성능을 떨어뜨리고 2. 교착상태에 빠뜨리고 3. 예측할 수 없는 동작 을 일으킨다.응답 불가와 안전 실패를 피하려면 동기화 메서드나 동기화 블록 안에서는 제어를 절대로 클라이언트에 양도하면 안 된다.동기화된 영역 안에서는1\. 재정의할 수 있는 메

2022년 3월 27일
·
0개의 댓글

아이템69. 예외는 진짜 예외 상황에만 사용하라

코드 69-1 예외를 완전히 잘못 사용한 예 - 따라 하지 말 것!직관적이지 않다.예외를 써서 루프를 종료하는 이상한 방식으로 구현다음과 같이 표준 관융구대로 작성했다면 누구나 쉽게 이해했을 것이다.코드 - 배열을 순회하는 표준 관용구잘못된 추론을 근거로 성능을 높여보

2022년 3월 27일
·
0개의 댓글

아이템59. 라이브러리를 익히고 사용하라

무작위 정수 하나를 생성하고 싶을 때, 프로그래머가 직접 메소드를 만들었다고 하는 경우가 있을 것이다.코드 59-1 흔하지만 문제가 심각한 코드!n이 그리 크지않은 2의 제곱수라면 얼마 지나지 않아 같은 수열이 반복된다.n이 2의 제곱수가 아니라면 몇몇 숫자가 평균적으

2022년 3월 27일
·
0개의 댓글

아이템55. 옵셔널 반환은 신중히 하라

예외는 진짜 예외적인 상황에서만 사용해야 한다.예외를 생성할 때 스택 추적 전체를 캡처하므로 비용이 만만치 않다.별도의 null 처리 코드를 추가해야 한다.null 처리를 무시하고 반환된 null은 언젠가 NullPointerException이 발생할 수 있다.null

2022년 2월 13일
·
0개의 댓글

아이템49. 매개변수가 유효한지 검사하라

메서드와 생성자 대부분은 입력 매개변수의 값이 특정 조건을 만족했을 때 제대로 동작해야 한다. 그리고 이런 제약은 반드시 문서화해야 하며 메서드 몸체가 시작되기 전에 검사해야 한다.오류를 발생한 즉시 잡지 못하면 해당 오류를 감지하기 어려워지고, 감지하더라도 오류의 발

2022년 2월 13일
·
0개의 댓글

아이템41. 정의하려는 것이 타입이라면 마커 인터페이스를 사용하라

"아무 매개변수 없이 단순히 대상에 마킹(marking)한다"는 뜻에서 마커(marker) 애너테이션이라 한다.실행결과마커 인터페이스는 일반적인 인터페이스와 동일하지만 사실상 아무 메소드도 선언하지 않은 인터페이스를 말한다.대표적인 예 - Serializable 인터페

2022년 2월 13일
·
0개의 댓글
post-thumbnail

아이템40. @Override 애너테이션을 일관되게 사용하라

@Override 애너테이션을 일관되게 사용하면 여러 가지 악명 높은 버그들을 예방해준다.원하는 결과는 26 이었으나, 260이 출력된다.equals를 재정의(Overriding) 한 것이 아니라 다중정의(Overloading) 한 꼴이다.equals를 @Overrid

2022년 2월 13일
·
0개의 댓글
post-thumbnail

IntelliJ 윈도우 단축키

개발을 빠르고 재밌게 하도록 도와주는 단축키 모음입니다.

2021년 12월 9일
·
0개의 댓글
post-thumbnail

'객체지향의 사실과 오해' 리뷰

많은 개발자분들이 추천하는 조영호 님의 객체지향의 사실과 오해를 드디어 읽고 리뷰를 남깁니다.

2021년 11월 22일
·
2개의 댓글

Forward Proxy vs Reverse Proxy vs Load Balancer

Proxy와 Load Balancer의 개념을 정리했습니다.

2021년 9월 26일
·
0개의 댓글

OSI 7 Layer

OSI 7 Layer를 TCP/IP Updated Layer 중심으로 정리했습니다.

2021년 9월 19일
·
2개의 댓글

웹 소켓(WebSocket)

웹 소켓의 개념과 원리를 정리했습니다.

2021년 9월 5일
·
0개의 댓글

SSAFY 6기 합격 후기

일단 저는 전공자이고, 백엔드 개발자를 목표로 공부해왔습니다. 싸피 6기 상반기에 여러 IT기업에 지원하면서 싸피도 함께 지원했다. 긴장해서 자기소개도 제대로 못했지만 배

2021년 6월 28일
·
0개의 댓글

타임존, 인코딩 설정

referencehttps://luminitworld.tistory.com/94?category=975147

2021년 4월 28일
·
0개의 댓글

AWS RDS 구축

referencehttps://luminitworld.tistory.com/94?category=975147RDS 서비스를 선택하여 데이터베이스 생성표준 생성, Mysql 엔진 선택프리 티어, DB 인스턴스 식별자, 마스터 사용자 이름, 마스터 암호 설정프리티

2021년 4월 28일
·
0개의 댓글

Domain Redirection 적용 (IP to Domain)

referencehttps://luminitworld.tistory.com/86?category=975147클라우드 서버 : AWS EC2 인스턴스OS : Ubuntu 20.04 LTSWebServer : NginxBL : PHPDBMS : MySQL네이버에

2021년 4월 21일
·
0개의 댓글

Sub Domain 적용 (Dev, Prod)

referencehttps://luminitworld.tistory.com/86?category=975147클라우드 서버 : AWS EC2 인스턴스OS : Ubuntu 20.04 LTSWebServer : NginxBL : PHPDBMS : MySQL기존의 d

2021년 4월 21일
·
0개의 댓글

HTTPS 적용 (Let’s Encrypt)

reference https://luminitworld.tistory.com/85?category=975147 https://namu.wiki/w/Let's%20Encrypt 환경 클라우드 서버 : AWS EC2 인스턴스 OS : Ubuntu 20.04 LTS Web

2021년 4월 20일
·
0개의 댓글

Domain 적용 (가비아)

referencehttps://luminitworld.tistory.com/84?category=975147https://l2j.co.kr/2767www.gabia.com 가비아 사이트에서 도메인을 구입하기로 결정했다..shop 도메인은 1년에 550

2021년 4월 19일
·
0개의 댓글