본문 바로가기
반응형

세미나9

유지보수하기 좋은 코드를 구현하는 개발 문화 어떻게 만들 것인가? 사내 강연으로 포비(자바지기 박재성)가 오신다고 해서 참석 후 내용을 정리해보았다. 코드스쿼드 이후로 회사에서 뵈니까 신기한 기분이었다. 변화는 어떻게 만들 것인가? 어떻게 하면 내가 원하는 개발 문화를 만들어 갈 것인가? 개인 개인 (팀원 또는 주니어) -> 팀 개인 (리더 또는 시니어) -> 팀 개인의 변화는 어떻게 만들 것인가? 의지력에 의존하는 것이 아닌 환경을 만들어라 우리들이 가진 의지력에는 한계가 있다. 의지력에 의존하는 대신에 환경을 바꿔라. 도서 추천 해빗 - 핸디 우드 지음 최고의 변화는 어디서 시작되는가 주변 상황을 정리해 꾸준히 지속할 수 있는 환경을 구축 꾸준히 학습에 투자하고 싶다. 퇴근 후 스터디 카페로 퇴근한다. 스마트폰 보는 시간을 줄이고 싶다. 퇴근 후 스마트폰을 꺼놓는다.. 2023. 4. 24.
[우아한테크 세미나] 테크 리더 3인이 말하는 개발자 원칙 운이 좋게도 오프라인 세미나에 당첨되어 내용을 정리해보았다. 인프런 이동욱 님 제어할 수 없는 것에 의존하지 않기 일정은 지키지만 버그가 많은 개발자 VS 일정은 못 지키지만 버그가 없는 개발자 정답을 내리진 못함. 그렇지만 프로덕트 엔지니어의 일은 고객이 원하는 기능을 고객이 원하는 시점에 전달하는 것 아무리 급해도 항상 80 ~90 점짜리 프로젝트를 일정 내 만드는게 좋다. 일정을 항상 잘 지키는 분들의 공통점 본인만의 기준과 원칙으로 빠르게 적용함. 제어할 수 없는 것에 의존하지 않는 법 주민등록번호는 유일할 것 같지만 사실 유니크하지 않다. SQL 에서 값을 만드는 것 보다는 애플리케이션에서 값을 다루는게 좋다. 제어할 수 없는 것에 의존할 수록 변화에 쉽게 흔들린다. 예시로 LocalDateTi.. 2023. 3. 30.
[기술교육] JPA 트러블 슈팅 - 2편 이전 내용 : JPA 트러블 슈팅 - 1편 보러가기 querydsl 사용 시 흔히 하는 실수 위 설정때문에 custom 구현체의 이름은 뒤에 impl 을 붙여야한다. 기본 Repository interface MemberRepository Custom Repository interface MemberCustomRepository Custom Repository 구현 class MemberCustomRepositoryImpl (X) MemberRepositoryImpl (O) Repository Fragment 를 이용한 Custom Repository 초창기에는 위에 내용으로 MemberCustomRepositoryImpl 처럼 작성하면 에러가 발생했었다. 하지만 시간이 흘러 Spring Data Jpa.. 2023. 3. 15.
[기술교육] JPA 트러블 슈팅 - 1편 사내에서 기술교육을 진행하여 정리하였다. 하이버네이트 버전 Java Persistence 2.2 (하이버네이트 5.3+) stream query results @Repeatable 어노테이션 Jakarta Persistence 3.1 (하이버네이트 6.1+) UUID 를 타입으로 쓸 수 있다. JPQL / Criteria API 의 확장 - 날짜, 숫자 함수 추가 등 … 하이버네이트 는 2가지 버전을 운영중이다. 2023 03 14 기준 최신 버전 * Hibernate 5.6 * Hibernate 6.1 -> 자카르타를 쓰려면 이걸 써야함 로그 쿼리가 나가면 바인딩 값이 ? 로 떠서 볼 수가 없는데 BasicBinder=trace 옵션을 application.yml 에 추가하면 바인딩 된 값을 볼 수 있.. 2023. 3. 14.
if Kakao dev 2020 - 카카오 대 장애 회고 정리 원인 분석 데이터센터 간 이중화 미흡 일부 시스템이 판교 데이터센터에서만 설치되어 있어 이를 사용하는 서비스들의 복구가 늦어짐 카카오 로그인, 카카오 사진 전송 기능 등이 여기에 속함 하나의 데이터 센터에서 장애가 발생하면, 다른 데이터 센터로 자동 전환하는 시스템이 작동해야 하는데, 해당 시스템도 판교 데이터 센터에서만 존재했음 -> 수동 전환 작업으로 늦어짐 운영 관리 도구의 이중화가 부족 컨테이너 이미지를 저장하고 관리하는 시스템이 화재 여파로 사용할 수 없게 됨 이중화 전환 후 가용 자원 부족 판교 데이터 센터 전체를 대신할 만큼의 가용 자원이 확보되지 않아, 판교 데이터 센터가 복구될 때 까지 해결이 늦어짐 장애 복구를 위한 인력이 부족 재발 방지를 위한 대책 판교 데이터 센터 내에서만 32,0.. 2022. 12. 7.
코드리뷰 노하우 11번가에서 근무하시는 백명석 팀장님의 코드리뷰 내용을 정리해보았습니다. 코드리뷰를 왜 해야하나? 주 목적 : 품질 문제 검수 (버그, 장애) 더 나은 코드 품질 : 아키텍처 속성 개선을 위한 코드 개선 (향후 변경 비용 개선) 학습 및 지식 전달 대개의 경우 리뷰어들도 리뷰 과정에서 지식을 얻게 된다 (하드스킬, 소프트스킬) 잘하는 사람이 하는걸 보면 동기 부여가 됨 상호 책임감 증대 작업 내용을 모든 팀원이 확인을 해줌 내가 하고 있는 일에 관심을 가져다 줌, 팀웍 상승 개발 문화 개선 설계 개선 제안 좋은 PR 의 예시 PR 시 자동으로 템플릿을 만들어지게 해서 작업 내용을 잘 작성하여 리뷰어의 시간을 아껴주자 (참고 : PR 자동 템플릿 만드는 방법) 코드 리뷰가 어려운 이유 코드에 대한 비판을 .. 2022. 8. 12.