🍁 스터디 기록
- 팀장: 김민지
- 총무: 조연주
- 팀원: 유승민, 이예빈, 유기훈, 이시향, 김진우, 이금주, 서성환
- 이펙티브 자바 3판 책 완독
- OT : 2024년 9월 7일(토) 오후 5시 ~ 오후 6시
- 스터디 기간 : 2024년 9월 12일 ~
- 시간 : 매주 목요일 밤 10시 ~ (최대 2시간)
- 장소 : 온라인 화상 회의 - 화상 캠 필수
- 정해진 분량을 읽고 각자 내용 정리
- 정리 형식: 자유
- 권장사항: 관련된 추가 자료 찾아보기 / 질문할 내용 정리해오기 👍🏻
- 스터디 당일 오후 9시까지 정리한 내용 공유 ⭐️⭐️
- 공유 방식: 주차별 깃허브 이슈에 댓글로 자료 url 남기기
- 불참시에도 자료 공유는 필수 ⭐️
- 랜덤으로 2명의 발표자 선정
- 발표자는 자유 형식으로 발표
- 이야기하고 싶은 내용에 대해 토론, 질문 및 공유
항목 | 금액 | 비고 |
---|---|---|
선입금 | 6만원 | 스터디 종료 시 반환 |
지각 | 1만원 | 스터디 당일 오후 10시 05분 00초부터 |
결석 / 자료 미제출 | 2만원 | 자료 공유 스터디 당일 오후 09시까지 / 불참시에도 자료 공유는 필수 |
모인 벌금 | 스터디 종료 후 뒷풀이로 소진 | 과반수 이상 불참시 1/n |
- 패스권 개인당 2개 부여
- 3일 전(월요일 밤 12시까지) 담당자(팀장)에게 불참 사유 공유하기
- 예외: 당일 야근
- 불참시에도 자료 공유는 필수 (*기한 준수) ⭐️
- 지각, 결석 시에는 담당자(팀장)에게 연락하기
🧑🏻💻 김민지
🧑🏻💻 조연주
🧑🏻💻 유승민
🧑🏻💻 이예빈
🧑🏻💻 유기훈
🧑🏻💻 이시향
🧑🏻💻 김진우
- item 1. 생성자 대신 정적 팩터리 메서드를 고려하라
- item 2. 생성자에 매개변수가 많다면 빌더를 고려하라
- item 3. private 생성자나 열거 타입으로 싱글턴임을 보증하라
- item 4. 인스턴스화를 막으려거든 private 생성자를 사용하라
- item 5. 자원을 직접 명시하지 말고 의존 객체 주입을 사용하라
- item 6. 불필요한 객체 생성을 피해라
- item 7. 다 쓴 객체 참조를 해제하라
- item 8. finalizer 와 cleaner 사용을 피하라
- item 9. try-finally 보다는 try-with-resources 를 사용하라
- item 10. equals 는 일반 규약을 지켜 재정의하라
- item 11. equals 를 재정의하려거든 hashCode 도 재정의하라
- item 12. toString 을 항상 재정의하라
- item 13. clone 재정의는 주의해서 진행하라
- item 14. Comparable 을 구현할지 고려하라
- item 15. 클래스와 멤버의 접근 권한을 최소화하라
- item 16. public 클래스에서는 public 필드가 아닌 접근자 메서드를 사용하라
- item 17. 변경 가능성을 최소화하라
- item 18. 상속보다는 컴포지션을 사용해라
- item 19. 상속을 고려해 설계하고 문서화하라. 그러지 않았다면 상속을 금지하라.
- item 20. 추상 클래스보다는 인터페이스를 우선하라
- item 21. 인터페이스는 구현하는 쪽을 생각해 설계해라
- item 22. 인터페이스는 타입을 정의하는 용도로만 사용하라
- item 23. 태그 달린 클래스보다는 클래스 계층구조를 활용하라
- item 24. 멤버 클래스를 되도록 static 으로 만들어라
- item 25. 톱레벨 클래스는 한 파일에 하나만 담으라
- item 26. 로 타입은 사용하지 말라
- item 27. 비검사 경고를 제거하라
- item 28. 배열보다는 리스트를 사용하라
- item 29. 이왕이면 제네릭 타입으로 만들라
- item 30. 이왕이면 제네릭 메서드로 만들라
- item 31. 한정적 와일드카드를 사용해 API 유연성을 높이라
- item 32. 제네릭과 가변인수를 함께 쓸 때는 신중하라
- item 33. 타입 안전 이종 컨테이너를 고려하라
- item 34. int 상수 대신 열거 타입을 사용하라
- item 35. ordinal 메서드 대신 인스턴스 필드를 사용하라
- item 36. 비트 필드 대신 EnumSet 을 사용하라
- item 37. ordinal 인덱싱 대신 EnumMap 을 사용하라
- item 38. 확장할 수 있는 열거 타입이 필요하면 인터페이스를 사용하라
- item 39. 명명 패턴보다 애너테이션을 사용하라
- item 40. @Override 애너테이션을 일관되게 사용하라
- item 41. 정의하려는 것이 타입이라면 마커 인터페이스를 사용하라
- item 42. 익명 클래스보다는 람다를 사용하라
- item 43. 람다보다는 메서드 참조를 사용하라
- item 44. 표준 함수형 인터페이스를 사용하라
- item 45. 스트림은 주의해서 사용하라
- item 46. 스트림에서는 부작용 없는 함수를 사용하라
- item 47. 반환 타입으로는 스트림보다 컬렉션이 낫다
- item 48. 스트림 병렬화는 주의해서 적용하라
- item 49. 매개변수가 유효한지 검사해라
- item 50. 적시에 방어적 복사본을 만들라
- item 51. 메서드 시그니처를 신중히 설계하라
- item 52. 다중정의는 신중히 사용하라
- item 53. 가변인수는 신중히 사용하라
- item 54. null 이 아닌, 빈 컬렉션이나 배열을 반환하라
- item 55. 옵셔널 반환은 신중히 하라
- item 56. 공개된 API 요소에는 항상 문서화 주석을 작성하라
- item 69. 예외는 진짜 예외 상황에만 사용해라
- item 70. 복구할 수 있는 상황에는 검사 예외를, 프로그래밍 오류에는 런타임 예외를 사용하라
- item 71. 필요 없는 검사 예외 사용은 피해라
- item 72. 표준 예외를 사용하라
- item 73. 추상화 수준에 맞는 예외를 던져라
- item 74. 메서드가 던지는 모든 예외를 문서화해라
- item 75. 예외의 상세 메시지에 실패 관련 정보를 담으라
- item 76. 가능한 한 실패 원자적으로 만들라
- item 77. 예외를 무시하지 말라
- item 78. 공유 중인 가변 데이터는 동기화해 사용하라
- item 79. 과도한 동기화는 피하라
- item 80. 스레드보다는 실행자, 태스크, 스트림을 애용하라
- item 81. wait 와 notify 보다는 동시성 유틸리티를 애용해라
- item 82. 스레드 안전성 수준을 문서화해라
- item 83. 지연 초기화는 신중히 사용하라
- item 84. 프로그램의 동작을 스레드 스케줄러에 기대지 말라
🧑🏻💻 이금주
- item 01. 생성자 대신 정적 팩터리 메서드를 고려하라.
- item 02. 생성자에 매개변수가 많다면 빌더를 고려하라.
- item 03. private 생성자나 열거 타입으로 싱글턴임을 보증하라.
- item 04. 인스턴스화를 막으려거든 private 생성자를 사용하라.
- item 05. 자원을 직접 명시하지 말고 의존 객체 주입을 사용하라.
- item 06. 불필요한 객체 생성을 피하라
- item 07. 다 쓴 객체 참조를 해제하라
- item 08. finalizer와 cleaner 사용을 피하라
- item 09. try-finally보다는 try-with-resources를 사용하라
- item 10. equals는 일반 규약을 지켜 재정의하라
- item 11. equals 를 재정의하려거든 hashCode 도 재정의하라
- item 12. toString을 항상 재정의하라
- item 13. clone 재정의는 주의해서 진행하라
- item 14. Comparable을 구현할지 고려하라
- item 15. 클래스와 멤버의 접근 권한을 최소화하라
- item 16. public 클래스에서는 public 필드가 아닌 접근자 메서드를 사용하라
- item 17. 변경 가능성을 최소화하라
- item 18. 상속보다는 컴포지션을 사용하라
- item 19. 상속을 고려해 설계하고 문서화하라. 그러지 않았다면 상속을 금지하라
- item 20. 추상 클래스보다는 인터페이스를 우선하라
- item 21. 인터페이스는 구현하는 쪽을 생각해 설계하라
- item 22. 인터페이스는 타입을 정의하는 용도로만 사용하라
- item 23. 태그 달린 클래스보다는 클래스 계층구조를 활용하라
- item 24. 멤버 클래스는 되도록 static으로 만들라
- item 25. 톱레벨 클래스는 한 파일에 하나만 담으라
- item 26. 로 타입은 사용하지 말라
- item 27. 비검사 경고를 제거하라
- item 28. 배열보다는 리스트를 사용하라
- item 29. 이왕이면 제네릭 타입으로 만들라
- item 30. 이왕이면 제네릭 메서드로 만들라
- item 26 ~ item 30 보충 정리: 와일드 카드에 대한 정리
- item 26 ~ item 30 보충 정리: 제네릭 배열에 대한 정리
- item 31. 한정적 와일드카드를 사용해 API 유연성을 높이라
- item 32. 제네릭과 가변인수를 함께 쓸 때는 신중하라
- item 33. 타입 안전 이종 컨테이너를 고려하라
- item 34. int 상수 대신 열거 타입을 사용하라
- item 35. ordinal 메서드 대신 인스턴스 필드를 사용하라
- item 36. 비트 필드 대신 EnumSet을 사용하라
- item 37. ordinal 인덱싱 대신 EnumMap을 사용하라
- item 38. 확장할 수 있는 열거 타입이 필요하면 인터페이스를 사용하라
- item 39. 명명 패턴보다 애너테이션을 사용하라
- item 40. @Override 애너테이션을 일관되게 사용하라
- item 41. 정의하려는 것이 타입이라면 마커 인터페이스를 사용하라
- item 42. 익명 클래스보다는 람다를 사용하라
- item 43. 람다보다는 메서드 참조를 사용하라
- item 44. 표준 함수형 인터페이스를 사용하라
- item 45. 스트림은 주의해서 사용하라
- item 46. 스트림에서는 부작용 없는 함수를 사용하라
- item 47. 반환 타입으로는 스트림보다 컬렉션이 낫다
- item 48. 스트림 병렬화는 주의해서 적용하라
- item 49. 매개변수가 유효한지 검사하라
- item 50. 적시에 방어적 복사본을 만들라
- item 51. 메서드 시그니처를 신중히 설계하라
- item 52. 다중정의는 신중히 사용하라
- item 53. 가변인수는 신중히 사용하라
- item 54. null이 아닌, 빈 컬렉션이나 배열을 반환하라
- item 55. 옵셔널 반환은 신중히 하라
- item 56. 공개된 API 요소에는 항상 문서화 주석을 작성하라
- item 69. 예외는 진짜 예외 상황에만 사용하라
- item 70. 복구할 수 있는 상황에는 검사 예외를, 프로그래밍 오류에는 런타임 예외를 사용하라
- item 71. 필요 없는 검사 예외 사용은 피하라
- item 72. 표준 예외를 사용하라
- item 73. 추상화 수준에 맞는 예외를 던지라
- item 74. 메서드가 던지는 모든 예외를 문서화하라
- item 75. 예외의 상세 메시지에 실패 관련 정보를 담으라
- item 76. 가능한 한 실패 원자적으로 만들라
- item 77. 예외를 무시하지 말라
- item 78. 공유 중인 가변 데이터는 동기화해 사용하라
- item 79. 과도한 동기화는 피하라
- item 80. 스레드보다는 실행자, 태스크, 스트림을 애용하라
- item 81. wait와 notify보다는 동시성 유틸리티를 애용하라
- item 82. 스레드 안전성 수준을 문서화하라
- item 83. 지연 초기화는 신중히 사용하라
- item 84. 프로그램의 동작을 스레드 스케줄러에 기대지 말라
🧑🏻💻 서성환
주차 | 날짜 | 서브 아이템 목록 | 비고 |
---|---|---|---|
OT | 9/6 | 오프라인 | |
1주차 | 9/12 | 아이템 1 ~ 5 | 온라인 |
2주차 | 9/19 | 아이템 6 ~ 10 | 온라인 |
3주차 | 9/26 | 아이템 11 ~ 14 | 온라인 |
- | 10/3 | 개천절 | |
4주차 | 10/10 | 아이템 15 ~ 19 | 온라인 |
5주차 | 10/17 | 아이템 20 ~ 25 | 온라인 |
6주차 | 10/24 | 아이템 26 ~ 30 | 온라인 |
7주차 | 10/31 | 아이템 31 ~ 35 | 온라인 |
8주차 | 11/7 | 아이템 36 ~ 41 | 온라인 |
9주차 | 11/14 | 아이템 42 ~ 45 | 온라인 |
10주차 | 11/21 | 아이템 46 ~ 50 | 온라인 |
11주차 | 11/28 | 아이템 51 ~ 56 | 온라인 |
12주차 | 12/5 | 아이템 69 ~ 74 | 온라인 |
13주차 | 12/12 | 아이템 75 ~ 79 | 온라인 |
14주차 | 12/19 | 아이템 80 ~ 84 | 온라인 |
발표회 | 12/7 | 오프라인/필참 | |
뒷풀이 | 오프라인 |
김민지 | 조연주 | 유승민 | 이예빈 | 유기훈 | 이시향 | 김진우 | 이금주 | 서성환 | |
---|---|---|---|---|---|---|---|---|---|
1주차 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | 🎟️ | ✅ | ✅ |
2주차 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
3주차 | ✅ | 🎟️ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
4주차 | ✅ | ✅ | ✅ | ✅ | ✅ | 🎟️ | ✅ | ✅ | 🎟️ |
5주차 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
6주차 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
7주차 | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
8주차 | 🎟️ | ✅ | ✅ | ✅ | ✅ | ✅ | 🎟️ | ✅ | 🎟️ |
9주차 | ✅ | ✅ | ✅ | 🎟️ | ✅ | ✅ | ✅ | ✅ | ✅ |
10주차 | ✅ | ✅ | 🎟️ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
11주차 | ✅ | 🎟️ | 🎟️ | ✅ | 🎟️ | 🎟️ | ❌ | ✅ | ✅ |
12주차 | ❌ | ❌ | ❌ | ✅ | 🎟️ | ✅ | ✅ | 🎟️ | ❌ |
13주차 | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ | ✅ | ✅ | ❌ |
14주차 | 🎟️ | 🔺 | ✅ | ❌ | ✅ | 🔺 | ❌ | ✅ | ❌ |
보증금 현황 | 40,000 | 20,000 | 40,000 | 0 | 60,000 | 20,000 | 20,000 | 60,000 | 0 |
패스권 | 0개 | 0개 | 0개 | 1개 | 0개 | 0개 | 0개 | 1개 | 0개 |