개발 관련된 책을 찾아서 읽게 되었다.
대규모 서비스를 운영중인 회사에선 어떤식으로 개발프로세스가 되어있는지 궁금해서 책을 읽게 되었다.
읽어본 내용을 정리하는식으로 작성해보려한다.
1. 리뷰 문화 개선이야기
아래방식으로 사용하고 있다고한다. (사내에서 작성하는 것도 꽤 유사함) MR 템플릿이 좋아야 리뷰어가 리뷰하는데 드는 시간을 줄일 수 있으므로 잘 작성해야한다.
- MR 템플릿 사용하기
# 해결하려는 문제가 무엇인가요?
# 어떻게 해결했나요?
# Attachment
2. MR 목록 알림
- 매일아침 MR 목록을 슬랙알람으로 전송해주는 배치 코드를 사용
3. MR 최대치 초과시 우선 리뷰 하도록 규칙
- MAX MR 개수 초과시 업무 중단 후 리뷰를 먼저 진행하도록 규칙 설
2. 팀문화 개선
- 똑같은 질문 100번에 100번씩 대답해주기
- 반복되는 질문에 신경질적인 반을을 보이면, 괜히 질문하지말자, 이게 맞겠지 하는생각이 장애로 이어진다고 한다. (스스로 생각해보는 계기가 되었다.)
- 채팅을 통한 소통의 규칙 (업무상의 대화는 슬랙의 팀 혹은 공개 채널에서 별도의 스레드를 만들어 진행한다. 이렇게 진행하면 모두가 채팅을 볼 수 있다.) < 해당 부분은 꽤 좋다고 생각이 된다. 모두가 업무 공유를 할 수 있고 어떻게 일하는지 알 수 있다.
백엔드 개발이야기
- 사용자의 입력은 무조건 검증한다. (UI의 검증은 편리성을 높이는 작업이고, 서버측에서는 올바른 값인지 무조건 검증해야한다. 프론트에서 검증을 3,4차까지 했더라도 그건 검증이 안된 내용이다.)
- 기본키는 Integer가 아니라 Long으로 (비용을 아낀다는 명목으로 PK를 Integer로 만드는데, 이는 갑자기 성장하는 서비스의 발목을 잡는 주범이 된다)
- 서버의 SPoF를 제거하자 (내가 구축한 서버는 무조건 죽기 때문에 죽어도 괜찮은 서버를 만들어야한다. 즉 단일 장애점(SPoF)를 제거해야한다. (책에선 서킷브레이커를 이야기하고 있음)
머신러닝 기반의 이상 탐지
이미지와 같이 규칙기반에 의한 탐지, 머신러닝에 의한 탐지를 진행하고있다. (규칙 = 패턴, 어뷰징행위에서 나오는 특정 조건을 규칙화함, 머신러닝에 의한탐지 = 지도학습( 라벨에 따른 데이터를 가지고 정상 비정상을 학습하여 판단하는 기법 ), 비지도학습(라벨없이 데이터를 비슷한 데이터끼리 클러스터링 하여 비정상을 찾는 작)이있다. )\
Controller와 Service의 강한 결합
MVC 구조를 이용하면 ctrl > svc > repo 구조가 익숙한데 이렇게 되면 ctrl의 resultType에 따라 svc가 종속적이게 된다. 따라서 svc는 자신이 원하는 포맷에 맞게 데이터를 받고 ctrl에서 resultType의 포맷을 만들어주는 방식으로 진행해야한다
(JPA에서 entity <> dto 사용하는 이유)
내용이 너무 많아 간단하게 정리해보았다.
이외에도 테스트 관련 항목은 팀에서도 참고하면 좋을 것 같다.
'일상 > 독서' 카테고리의 다른 글
독서 - 이기적 유전자 (4) | 2024.12.02 |
---|---|
독서 - 몰입 (1) | 2024.11.24 |
독서 - 요즘 팀장은 이렇게 일합니다. (2) | 2024.11.20 |
경제기사 궁금증 300문 300답 (8) | 2024.11.17 |
회복 탄력성 (0) | 2024.11.17 |