1.인프런 TDD 무료강의
강의 커리큘럼 1/4정도 찍먹
이전 TDD 개인 탐방글:
강의:
느낀점:
TDD보단 테스트 기반 코드 작성 느낌이었다. (Red, Green, Blue 단계 이런거 안함)
pojo test -> rest api test (rest-assured기반) -> jpa test (이건 난 안했음)로 테스트를 바꾸며 익히는 느낌이다.
강사님의 잡기술이 매우 인상적이었다. (window, intelij 환경)
1. 코드 역순구현 > 동작 안하는 코드 작성후 alt + enter로 작성 (Show Context Menu/Quick Fix)
2. ctrl + shift + e로 최근 작성 클래스 휙휙 찾아가기
3. 템플릿으로 파라미터에 @Notnull, final 키워드 자동 붙이기 / throws 자동 붙이기
4. inner class 일단 작성 후 자동완성 기능으로 extern class로 빼내기
2. 인프런 Kafka 무료강의
강의 커리큘럼 3/4 찍먹 (기초 이론 정도 탐방)
인프런 강의에는 핵심 내용만 짧게 있고, 더 자세한 내용은 개인 유투브에 올리셨다. (안봄)
https://www.inflearn.com/courses/lecture?courseId=326507&unitId=106341
한 것:
카프카 클러스터는 3개 이상은 켰을 때 유의미 하다고 하셨다.
이 말인 즉슨, 서버를 3개는 켜야했다.
기존에 쓰던 EC2 프리티어 만료돼서 계정 새로파서 단일 Producer 서버 구성까진 했다.
근본있게 Kafka docs 참고하며 구성함
1. 환경 구성
환경
서버는 EC2 프리티어 (OS : AWS Linux) -> 아이피고정이나 볼륨 확장은 필요없어서 안했음
접속기는 Terminus (방화벽 안열어놓으면 ssh접속 안됨, ec2 자체제공 접속기도 똑같다.)
2. EC2 프리티어 메모리 부족해서 swap 파일 만듦
3. 구동 완료
근데 막상 실습할 토픽이나 더미데이터가 없어서 진짜 필요해질 때 까지 잠정 연기
3. 이벤트 소싱 패턴
강남언니 테크 블로그를 보고, 이벤트 소싱 기반 은행원 대시보드를 러프하게 기획했다.
이후 배경지식을 위해 클론코딩을 했는데, 소스코드에 벽을 느껴서 10% 미만 탐방한 것 같다.
처음 접근한 글:
https://blog.gangnamunni.com/post/saas-event-sourcing/
이후 탐방한 소스 코드:
https://github.com/loom/loom-java
느낀점:
이벤트 소싱은 CQRS 패턴과 밀접한 연관이 있다.
CQRS 패턴 적용을 위해선 제너릭이 반필수였는데,
이전엔 만만하게 생각했었지만 이를 제대로 다루는 방식은 매우 어려웠다.
메인 주제인 이벤트 소싱도 겹쳐 이해해야 했고, 일주일 정도 탐방하다가 시간이 너무 걸릴 것 같아서 순위를 미뤘다.
인상 깊었던 점은 코드가 수준이 높았고 무엇보다 너무 깔끔했다.
그리고 설정 파일에도 시그니처링? 아티팩트 설정? 이랑 logger 커스터마이징 등 배울게 많았다.
그래서 테크닉 흡수할겸 훗날 다시 도전할거다.
배운점:
1. 스타일 파일 커스텀 ( .editorconfig) - 구글 컨벤션과 겹쳐서 쓰고 계셨다. 근데 구글 컨벤션 마저도 커스터마이징했음
2. 멀티 모듈 프로젝트 - 모듈별로 구분하고, 각각 다른 gradle 설정 파일을 쓰고있었음
3. 라이선스 깃에 추가 - 해당 프젝은 MIT 라이선스임
4. 제너릭 일부 - ParameterizedType, fold(Bifunction을 이용한 left로 값을 압축하는 함수? 정도다.) 등등
5. 이벤트 소싱 컴포넌트 일부 (거의 다 까먹음)
'미니멀 개발일기' 카테고리의 다른 글
Youtube Doc 기여일기 (가성비 MAX) (0) | 2025.01.13 |
---|---|
헥사고날 아키텍처 탐방 일시정지 (0) | 2025.01.09 |
IntelliJ IDEA에서 TODO 관리하기 (0) | 2025.01.08 |
주석중독 (0) | 2025.01.08 |
Intelij IDEA 백그라운드 화면 바꿈 (0) | 2025.01.08 |