2020년 03월의 MIL
Apr 01, 2020 조회수 139
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
의jpa
CRUD 속도 문제였다. 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' 관련된 다른글
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.