본문 바로가기
📝 회고/✅ 22년 회고

[일일 회고] 22.02.24 - 랜덤 테스트 / 스프링 시작 / 김영한님의 Q&A

by kukim 2022. 2. 24.

📍오늘 한 일

  • 호눅스 클래스 (랜덤 테스트 방법 / gradle / OOP(상속, 조립(컴포지션))
  • 로또 게임 Step3 80% (Step3 소스코드)
  • 김영한 님의 스프링 입문 강의 (세션 0 ~ 2)
  • 김영한님 + 인프런  Q&A 세션

✅ 배운 점, 생각

✅ 랜덤 테스트 방법

테스트 코드 작성 중에 랜덤 기능에 대해 테스트하는 경우가 있었다. 먼저 랜덤 기능을 테스트하기 어려운 경우는 설계가 잘못된 신호일 수 있다. 예를 들어 한 클래스에 랜덤 기능이 있을 때, 해당 클래스에 Random() 객체가 멤버 변수로 있다면 강한 Coupling 상태이다. 이를 위해서 Random을 주입받아 사용하면 된다. 테스트하는 방법으로  Random 객체를 주입할 때 Mock 객체를 만들어 사용자 지정 랜덤 값을 전달해주면 된다. 자세한 방법은 다음 글감으로 남기고 레퍼런스를 남긴다. 

Random 값을 처리하는 코드는 어떻게 단위 테스트를 할 수 있을까? - 박재성님

랜덤 요소가 들어간 로직의 테스트 코드는 어떻게 짜야할까요? - 스코프님의 질문과 박재성님 등 다른 분들의 답변

 

✅ 김영한님의 Q&A

몇 가지만 요약합니다.

Q) 시간관리는 어떻게?

A) 큰 목표를 세우는 것은 좋지만 한 번에 할 수 없다. 큰 목표에 대한 Todo 리스트를 만들고 작게 만들어 시작하자

 

Q) 장애 대처 방법은?

A) 장애는 100% 발생한다고 생각한다. 대처가 중요하다. 테스트 코드가 중요하다. 테스트 코드가 단순히 코드 구현 시 안정감을 줄 뿐만 아니라 장애 발생 시 빠른 대처에 도움을 준다. 또 다른 방법으론 미리 모니터링(자원(cpu, 메모리..))을 꾸준히 하고 대처하자, 배달의 민족 기술 블로그에 장애 대처 관련 좋은 글이 많다. (e.g. 우아~한 장애 대응)

 

Q) 좋은 팀을 만들기 위한 리더십은 어떻게 하는가?

A) 리더십은 배워야 한다. 좋은 책들이나 사람을 통해 배우자.

A) 리더라면 팀원에게 일을 맡겨라(위임). 다만, 100% 만족할 수 없으니 80% 정도만 만족하면 잘한 거라 생각하자

A) 현대의 개발(특히 백엔드)은 혼자 할 수 없다. 함께하는 동료에게 감사를 표하자.

 

Q) 처음 접하는 서비스의 비즈니스 로직, 도메인을 빠르게 이해하는 방법은?

A) 첫 한 달, 2~3주 동안 DB, ERD을 분석 정리하여 내 걸로 만들자

 

....

 

✅ 스프링 시작

오늘부터 스프링 공부를 조금씩 시작하기로 했다. 기본적으로 김영한님 10개의 강의 위주로 토비님의 스프링, 백기선님 강의 등 여러 개를 참고하여 공부할 거 같다. 박재성님의 자바 웹 프로그래밍 Next Step도 끝까지 구현할 예정이다. 큰 계획은 세웠으니 작게 작게 나눠 꾸준히 오래 즐기자


👍 Keep

  • 시간을 쪼개 학습하여 집중력을 높임
  • 코드 구현하며 의사결정을 기록
  • 적은 시간이라도 운동함!

댓글