thumbnail

03.01

- project. podo-dev

<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 표시 적용 진행중

<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.

  • @Cacheableredis랑 같이 쓰기가 쉽지않다.
  • GenericJackson2JsonRedisSerializer을 사용하면,
  • 캐싱은 JSON으로하지만, 캐시 데이터를 사용할때 LinkedHashMap으로 한다.
  • 이리저리 찾아보다, 커스텀하게 만들었는데, JSON이 기존에 어떤 class였는지 알 수 없어 불가하다.
  • 결국 캐싱 namepace별로 Jackson2JsonRedisSerializerclass를 지정해줘야한다.
    -https://somoly.tistory.com/134

- etc.

  • 왜 ec2에 kafka가 구성이 안되는것일까..
  • 도저히 못찾겠다.

<br>

03.11

- 약속

- test

<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가 일부 다른데,
    • 사용자정보 있을 시, 보여주는 elementv-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.

<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가 수신 속도가 느려서, 메세지가 쌓인다..
  • 결국 원인은 consumerjpa CRUD 속도 문제였다.
  • insert는 벌크로 처리하였다. (jdbc template 사용) Spring-Data에서-Batch-Insert-최적화
  • update는 어떻게..? dirty checking이 리소스를 많이먹는데..

<br>

03.19

- ci.

- project. zipsaja

  • 간단하게 새로운 매물이 등록되면 알림을 주는 봇을 만들었다.

<br>

03.20

- project. zipsaja

  • 마무리

<br>

03.21

- 약속

<br>

03.22

- ci.

<br>

03.23

blog.

- ci.

- 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 마무리
CommentCount 0
이전 댓글 보기
등록
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
TOP