
2020년 03월의 MIL
Apr 01, 2020 조회수 159
03.01
- project. podo-dev
- 도메인 테스트코드 작성
- 통합 테스트 작성 진행중
- 참고 : https://cheese10yun.github.io/spring-guide-test-1/
<br>
03.02
- project. podo-dev
- 통합 테스트 코드 작성 진행중
- simple-project. masksaja
- 타임아웃 이슈에 대응
- study.
- 로또 stpe03 진행
- 테스트 코드의 소중함을 알게된 순간.
<br>
03.03
- 약속
- project. podo-dev
- OAuth2 로그인 추가
- Github, Naver, Facebook, Kakao 추가
 
- OAuth2 추가에 따른 뷰 변경
- Login 페이지 생성
- 댓글 인증 타입 아이콘 추가
 
<br>
03.05
- 약속.
- project. podo-dev
- Oauth2 적용 후 배포
- 코드리팩토링 및 테스트
- 네아로 검수 요청
 
- study.
- 팀원 코드리뷰
<br>
03.06
- proejct. podo-dev
- 몇가지 이슈 해결
- 로그페이지에 git log 표시 적용 진행중
- study.
- 팀원 코드리뷰
<br>
03.07
- 약속
- proejct. podo-dev
- 로그페이지에  git log 표시 적용 진행중
- git event 별로, payload 구조가 다 달라서, parsing을 일반화 진행중이다.
- https://github.com/github-api/github-api 라이브러리를 사용했다.
 
<br>
03.08
- proejct. podo-dev
- 로그페이지에  git log 표시 적용 진행중
- 서버단을 마무리 짓고, 관련 API 스펙을 정의하고
- 프론트 엔드에 뿌려주었다.
- 내일은 테스트코드를 진행할 예정이다.
 
<br>
03.09
- proejct. podo-dev
- 테스트 코드 작성
- blogTag, user, git-api
 
- study.
- 로또 코드리뷰 반영
- etc.
- domain 모듈을 정의하는게 옳을까?
- 오늘 진행중인 사내에 domain모듈을 제거해버렷다.
- 각자의 모듈별로 entity,repo를 정의해주었다.
- 결국, 중복이 발생했지만,
- 각 모듈에서의 entity별로 관심사가 다르기에, 분리하기로 결정했다.
- repository로 훨씬 깔끔..!
 
- 오늘 진행중인 사내에 
<br>
03.10
- spring.
- @Cacheable을- redis랑 같이 쓰기가 쉽지않다.
- GenericJackson2JsonRedisSerializer을 사용하면,
- 캐싱은 JSON으로하지만, 캐시 데이터를 사용할때LinkedHashMap으로 한다.
- 이리저리 찾아보다, 커스텀하게 만들었는데, JSON이 기존에 어떤 class였는지 알 수 없어 불가하다.
- 결국 캐싱 namepace별로Jackson2JsonRedisSerializer로class를 지정해줘야한다.
 -https://somoly.tistory.com/134
- etc.
- 왜 ec2에 kafka가 구성이 안되는것일까..
- 도저히 못찾겠다.
<br>
03.11
- 약속
- test
- @SpringBootTest시,
- 특정 패키지 내에만 scan하기
- https://www.podo-dev.com/blogs/228
<br>
03.12
- blog.
- proejct. podo-dev
- jwt 토큰에 사용자정보 가지도록 변경
- 따라서, api/user를 삭제했다,
- 문제는 변경하면서 프론트에 이슈 발생
- 미들웨어는 server/client에서 둘다되는데, 서버사이드에서 렌더링 하면, 브라우저 스토리지에서 token을 받아, user 정보를 개신할 수 없음, 따라서 새로고침시 문제 발생
- 변경하여 beforeMount시점에 하니, DOMExeption() 발생.
- https://github.com/nuxt/nuxt.js/issues/1552
- 따라서 plugin으로 user 정보 확인하도록 변경
 
<br>
03.13
- 약속
- blog.
- project. podo-dev
- vue plugin을 정의하는법을 알아냈다.
- 프론트 classie라이브러리 추가
<br>
03.15
-project. podo-dev
- 
DOMExeption이 발생하는 원인?을, 정확히는 모르지만 일부 발견했다.- 사용자 정보 유/무에 따라 그려주는 element가 일부 다른데,
- 사용자정보 있을 시, 보여주는 element에v-if를 사용하였다.
- 그리고 사용자 정보가 없을 시, 아무것도 그려주지 않는다.
- 타이밍적으로 element가 달라져서DOMException이 발생한다.
- v-else로 동일한 빈 껍데기- element를 그려주니 해결한다.
- nuxt에 이런 타이밍 적인 문제가 너무많아서 어려움을 느낀당..
- 원인은 좀 더 살펴보자.
 
- 사용자 정보 유/무에 따라 그려주는 
- 
최종 사용자 정보 갱신 시기 - plugin에서 jwt token 체크 (새로고침시)
- middlware에서 jwt token 체크 (페이지 이동 시)
- 마지막 문제,
- 새로고침시 token을 브라우저에서 가져온다.
- 그리고 nuxt는 서버사이드에서asyncData를 통해, 먼저 데이터를 가져와 그려준다.
- 서버사이드니 브라우저에 저장한 token을 가져올 수 없다. 따라서 데이터요청 시token을 주입 할 수 없다.
- 결국 새로고침 시 admin만 보여주는 일부 숨김데이터가, 보여지지 않게된다.
 
- 새로고침시 
 
<br>
03.16
- ci.
- 개인프로젝트 CI구성을 시작했다
- jenkins에서 build를 시작하면, git에서 소스코드를 받아온다.
- docker로 이미지가 빌드되고, 컨테이너를 띄운다.
<br>
03.17
- ci.
- ci 구성중에 있다.
- 중간중간, 해결하지 못한 문제들을 하나하나 해결중이다
- jenkins pipeline 구성
- jenkins에서 ssh 접속 문제 sshPipelineStep
- nas 일반사용자 docker 권한 부여 Synology NAS sudo 없이 Docker 쓰기
 
<br>
03.18
- ci.
- jar에 대한- ci를 완성하고,
- npm에 대한- ci를 추가적으로 완성했다. (뿌듯..)
- 이제 trigger를 만들어야한다.
<img src="https://static.podo-dev.com/blogs/images/2020/03/18/origin/4d220da8-65db-4bd2-8c6c-15114b46719a.png" alt="base64.png" style="width:720px;">
- jpa.
- 대량의 데이터를 카프카에서 수신하는데
- consumer가 수신 속도가 느려서, 메세지가 쌓인다..
- 결국 원인은 consumer의jpaCRUD 속도 문제였다.
- insert는 벌크로 처리하였다. (jdbc template 사용) Spring-Data에서-Batch-Insert-최적화
- update는 어떻게..?- dirty checking이 리소스를 많이먹는데..
<br>
03.19
- ci.
- 텔레그램 알림을 적용했다.
- Telegram Bot Plugin
- Pipeline Syntax post 단계 사용
- project. zipsaja
- 간단하게 새로운 매물이 등록되면 알림을 주는 봇을 만들었다.
<br>
03.20
- project. zipsaja
- 마무리
<br>
03.21
- 약속
<br>
03.22
- ci.
- jenkinsfile을 좀 더 고도화하였다.
- 공통으로사용하는 부분에 라이브러리를 적용하였다.
- Extending with Shared Libraries
<br>
03.23
blog.
- ci.
- nuxt빌드에 대해서, 라이브러리 적용 완료
- jenkins에 테마를 적용했다. https://jojoldu.tistory.com/343
- study.
- 로또 step04 진행
<br>
03.24
- 약속.
- spring-cloud-config.
- spring-cloud-config를 이용해서,
- application.yml파일을 가져올 수 있다.
- 내부 프로젝트에도 반영!
<br>
03.25
- job.
- 배포때문에 바쁘다..바빠..!
- spring-cloud-config.
- spring-cloud-config를 사용하니,
- 몇가지 배포 이슈가 있어서 jenkinsfile수정
<br>
03.26
- lecture. 대세는 쿠버네티스
- 사내에서 쿠버네티스로 배포를하는데,
- 관련지식이 부족하여 기본적인 개념 강의를 들었다.
- pod,- service,- node scheduler
<br>
03.27
- 약속.
- study.
- 로또 step04, 팀원들 코드 리뷰 진행
<br>
03.28
- 약속.
<br>
03.29
- 휴식.
<br>
03.30
- study.
- 사다리타기 step01 진행
<br>
03.31
- study.
- 사다리타기 step01 마무리
'2020년 03월의 MIL' 관련된 다른글
 
                이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.