본문 바로가기

2022/0130

[주간 회고] 22.01. 2주차 ☕️ 일기 형태로 작성되었습니다. 월요일 새로운 팀원들을 만났다. 첫 만남의 어색함을 깨고 싶어 질문을 하고 잡담을 즐겼다. 그러다 보니 자연스레 진행자가 된 느낌이었다. 새로운 프로젝트가 주어졌다. 이번 프로젝트도 저번 주에 이어 단위 테스트를 적용 해보았다. 하루 동안의 시행착오 끝에 테스트 코드는 다 좋은 게 아니며, 좋은 단위 테스트 코드를 식별하고 구현해야 한다는 것을 깨달았다. 자세한 내용은 아래 일일 회고에서 볼 수 있다. [일일 회고] 22.01.10.월 - 테스트 코드, 다 좋은 게 아니었어.. 화요일 오늘은 팀원들과 그룹 리뷰를 진행했다. 어제저녁 잡담을 오래 나눈 탓이었을까? 좀 더 열린 분위기였다. 9명 팀원의 코드를 볼 수 있었다. 팀원들의 코드는 인터페이스를 통해 추상화를 하였고, 커.. 2022. 1. 16.
모든 구현 클래스에서 Object의 toString 재정의를 고려하자 🗣 이 글은 책 '이펙티브 자바 3판 Item 12'와 하단 Reference 참고했습니다. 잘못된 내용이 있다면 편하게 말씀해주세요 🙏🏻 주제 공통 메서드 : 자바의 클래스들은 최상위 클래스 “Object”를 모두 상속받고 있다. Object에서 final 메서드가 아닌 메서드 (equals, hashCode, toString, clone, finlized)가 있다. 왜 최상위 클래스에서 final 메서드를 제외한 메서드를 하위 클래스에 상속시킬까? 바로 클래스를 만드는 프로그래머, 사용자가 재정의하여 사용하라고 설계했기 때문이다. 하지만 규칙 없이 사용자 마음대로 사용하면 치명적일 수 있기 때문에 Object API 명세에 일반 규약이 명확히 정의되어 있다. 그중 toString() 메서드를 어떻게 오버.. 2022. 1. 15.
객체 생성할 때 '생성자' 대신 '정적 팩터리 메서드'를 써볼까? 🏭 *이 글은 책 '이펙티브 자바 3판 Item 1'과 하단 Reference 참고했습니다. 잘못된 내용이 있다면 편하게 말씀해주세요 🙏🏻 주제 객체 생성 : 인스턴스 생성 방법은 두 가지가 있다 하나는 전통적인 public 생성자 방법과 또 다른 하나는 정적 팩터리 메서드(static factory method) 방법이다. 예제 // 두 가지 인스턴스 생성 방법 public class Book { private String title; private String author; // 1. public 생성자 public Book(String title) { this.title = title; } // 2. 정적 팩터리 메서드 public static Book createBookWithTitle(String .. 2022. 1. 15.
디스코드 채팅채널에 Github 저장소 알림 봇 만들기 📩 1. 디스코드에서 WebHook 생성하고 URL 복사 2. Github - 특정 repo(저장소)에 들어가 디스코드에서 생성한 WebHook 입력 3. 알람 범위 설정 끝 1. 디스코드에서 WebHook 생성하고 URL 복사 2. Github - 특정 repo(저장소)에 들어가 디스코드에서 생성한 WebHook 입력 알람받고 싶은 저장소에 들어가서 ✅ Content type은 application/json 으로 설정 3. 알람 범위 설정 ✅ 상위 사진의 Which events would you like to trigger this webhook? 에서 자신이 알림 받고 싶은 것으로 커스텀 만약 이슈와 PR에 대해서만 알람을 받고 싶으면 아래처럼 하고 Add webhook 클릭 끝 깃허브에서 웹훅 설정 후.. 2022. 1. 14.
자바 객체의 메모리 크기는 얼마일까? (OOPs, Java Object Header, JOL 사용하기) 🤖 문득 이런 생각이 들었다. 내가 구현한 클래스의 메모리 총크기는 얼마일까? 흠......? * 이 글은 책 소프트웨어의 품격 2장과 하단 reference를 참고했습니다. 잘못된 내용이 있다면 편하게 말씀해주세요 🙏🏻 목차 0. 들어가며 1. 참조의 기본 크기 2. 객체 헤더 3. 패딩 4. 예제 계산해보기 5. JOL(Java Object Layout)를 인텔리 제이에서 편하게 (플러그인 소개) 0. 들어가며 자바의 자료형(type)은 크게 두 가지 PrimitiveType(기본타입)과 ReferenceType(레퍼런스 타입)이 있다. 보통 기본 타입의 크기는 고정되어 있어 메모리 크기 계산이 비교적 쉽지만, 레퍼런스 타입, 객체에 대한 메모리 크기 계산은 쉽지 않다. 그 이유는 객체의 정확한 크기를 .. 2022. 1. 14.