- Today
- Total
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- container
- 프로젝트
- EntityTransaction
- 리뷰
- LazyInitialization
- Java
- SPRING JWT
- 만들면서 배우는 클린 아키텍처
- spring
- infra
- JWT
- Spring Security
- Kotlin
- docker
- 캐싱전략
- chrome80
- redis
- 팀네이버 공채
- 책
- Project
- 젠킨스
- 브랜치전략
- 스프링
- jenkins
- 팀네이버
- JPA
- 후기
- SpringBoot
- websocket
- network
목록전체 글 (45)
PPAK
첫 스프링 프로젝트의 MVP 작업이 끝나고 클라이언트 개발팀의 QA 를 하고 있는 상황에서 중간 중간 시간이 길게 비는 듯한 느낌이 들어 미루고 또 미루었던 코틀린에 대해서 학습을 해볼까하고 작일 자정부터 입문을 했습니다. 사실 학습한지 하루 밖에 안된 상황에서 이렇게 포스팅을 쓰는 것이 다소 부끄럽게 느껴지긴 하지만, Java 언어와 매우 유사한 형태의 문법을 가지고 있어서 생각보다 빠르게 많은 정보가 들어와 첫 사용 당시의 느낌과 함께 학습 내용을 정리해보고자 합니다. (본 포스팅의 내용이 다소 부정확할 수 있으며 추후 학습을 이어나가면서 수정할 예정입니다. 현재는 소감문 정도로 봐주시면 감사하겠습니다.) 코틀린 자체가 완전히 새로운 패러다임은 아니지만 JVM 에서 동작하던 기존의 Java 언어를 개..
아직 대회와 프로젝트 개발이 끝난 것은 아니지만 MVP 레벨의 기능 개발도 어느 정도 마무리가 된 것 같아서 최근 약 두 달간 어떻게 개발을 진행해 왔는지 살펴보고 쉬어가며 소감도 한번 작성해보고자 합니다 !! 프로젝트 시작 전 복학 후 두 학기를 정말 학교 생활에 집중했던 것 같습니다. 열심히 하고자 다짐한 것도 있지만 예상보다 CS 공부나 코딩이 조금 더 저에게 잘 맞았고 덕분에 두 학기 모두 좋은 성적으로 마무리할 수 있었던 것 같습니다. 무슨 자신감이었는지는 모르지만 3학년 1학기에는 회사 이곳저곳에 포트폴리오를 작성하여 내보기도 하고 코딩 테스트를 응시하기도 했습니다. 크게 기대는 안했지만 역시나 모두 광탈을 했고 그 과정에서 제가 무엇이 부족한지에 대해 성찰을 했던 것 같습니다. 어떤 개발자가..
프로젝트를 기획하면서 가장 무모(?) 하게 도전한 챌린지 중에 하나가 WebSocket 사용이였던 것 같습니다. 사실 WebSocket 이라는 것도 찾아보고 안 것이지 기획 단계에서는 그저 "비동기적으로 서버 측에서 브라우저로 메세지를 날리는 것" 정도로 이야기하고 넘어갔던 것이 기억납니다. 그 때 당시에는 브라우저와 파이프라인을 만드는 써드파티 라이브러리가 있지 않을까? 혹은 아무 방도가 없어라도 서버로 비동기적으로 호출을 날려놓고 이벤트가 발생하면 응답해주는 방식으로 구현하면 되지 않을까? 라며 어떻게든 해답이 있을거라 판단하였습니다. MVP 가장 마지막 개발 기능으로 추가해 놓은 "서버에서 역으로 메세징 하기" 는 자료조사 끝에 WebSocket 이라는 통신 프로토콜을 이용해 구현이 가능하다는 것..
프로젝트에서 본격적으로 Redis 를 사용하기 위해서는 로컬에서 실행중인 Spring Container 와 Redis Container 간의 연결이 필요했습니다. 일반적으로 OS 위에서 실행하는 JVM 과 Redis 는 host network 를 사용하여 손쉽게 연결할 수 있지만 Docker 는 컨테이너 간 네트워크 역시 격리시켜놓았기 때문에 같은 네트워크를 사용하고자 한다면 컨테이너를 잇는 네트워크 브릿지를 생성하고 이어주어야 합니다. $ docker network ls 위 명령어를 통해 docker 에서 기본적으로 생성해놓은 네트워크를 확인해보면 host 와 bridge 가 존재하는 것을 확인할 수 있습니다. $ docker network inspect bridge 별도의 연결 네트워크를 명시하지않은..
제가 서버에 채택한 인증 방식은 JWT 를 활용한 Access Token 교환 방식입니다. 서버 측에서는 사용자가 정상적으로 로그인을 마치면 사용자 인증 정보를 포함하는 Access Token 과 이를 재발급할 수 있는 Refresh Token 을 생성하여 발급합니다. 이후에 클라이언트는 발급된 Access Token 을 서버에 제출하기만 하면 정상적인 사용자의 요청으로 간주될 수 있습니다. 해당 인증 방식을 구현하는 과정에서 여러가지 보안적인 측면을 고려하지 않을 수 없는데 가장 대표적으로 XSS, CSRF 공격에 대한 방어가 핵심이 될 수 있습니다. 본 포스팅 에서는 어떤 방식으로 토큰을 발행하고, 어디에 저장을 하는 것이 옳은가에 대한 고민과 결과를 적어보겠습니다. 이전 글에서는 CORS 허용 정책..