본문 바로가기

TIL

(36)
24-01-10 회고 오늘은 인턴십 과정에서 과제를 처음으로 확인한 날이었다. 지금까지 개발하는 과정에서는 기능을 구현하는 것에 초점을 맞추었다면 이번 과제에서는 서비스를 운영할 때, 필요한 점을 고려해야 하는 생소한 경험을 할 수 있을 것 같다. 하루 종일 과제를 생각하면서 어떻게 구현을 해야 할지? 어떤 것을 고려할지? 등등을 생각하면서 오늘 하루를 보냈다. 생각을 많이해서 그런가? 아니면 군것질을 많이 해서 그런가? 졸음이 많이 쏟아지는 하루였다. ㅋㅋ 이번 과제에서 AOP를 이용해서 기능을 추가할까 생각을 해서 오늘은 스프링에서 AOP를 구현하는 방법을 공부하고 자야겠다. 자주 사용하지 않으니까 규칙을 자꾸 까먹는다. 어디 정리를 하는 것이 좋아 보인다.
24-01-08 회고 1/3 부터 인턴 생활을 시작하게 되었고 오늘 처음으로 부서에 배정되어 2달 동안 같이 지낼 동료분들을 만났다. 서로 아직 낮을 많이 가려서 조금 어색하지만 좋은 사람들을 만났 것 같아서 좋다. 인턴 과제를 진행하면서 취준 기간 동안은 크게 사용하지 않은 Client 관련된 코드를 보게 되었다. 스프링 3.2에 등장한 따끈따끈한 RestClient이라는 녀석을 새롭게 알게되어서 공식 문서를 조금 뒤져 보았는데 RestClient를 빈으로 등록하는 설정을 보니까 새로운 클래스를 많이 만나서 관련해서 공부를 해볼 필요성을 느꼈다. webflux 라이브러리에 존재하는 webclient와 유사한 새로운 인터페이스라고 들었는데 RestTemplate과 무슨 차이가 있는지 궁금했다. 오늘 어쩌다가 코루틴과 관련된 ..
23-12-07 회고 사이드 프로젝트를 하루 종일 개발한 하루였다. 기능을 개발하고 테스트를 작성하고 커밋 메시지를 작성하고 서로 소통하며 협업을 했다. 개발자들이 힘들어하는 일 중에 하나가 이름 짓기라는 것에 공감을 하지 못했지만 이제는 왜 이름 짓기가 힘든지 알 것 같다. 테스트 코드 메서드 이름을 작성하고 Dto의 책임에 따라서 이름을 작성하고 변수의 이름 또한 상황에 맞게 작성하고 생각해야 할 경우의 수가 많아지고 소프트웨어가 복잡해짐에 따라서 메서드의 이름을 상세히 작성하여 의도를 드러내기 위해서 고민을 해야 한다는 것을 느꼈다.
23-12-01 회고 MongoDB 완벽 가이드를 공부했다. 5장 인덱스를 오늘 모두 한번 보아서 몽고에서 인덱스를 어떻게 만드는지 등등을 배울 수 있었다. 배운 내용 1. 몽고 DB Index 인덱스를 사용하여 find()하는 방법과 고유 인덱스, 다중 인덱스 등등을 배우고 공부했다. explain을 통해서 몽고 DB에서 쿼리의 실행 계획이 어떻게 나온는지를 알 수 있었다. 모든 내용을 정리하기에는 시간이 없어서 못했지만 내일 정리를 해보아야겠다.
23-11-29 회고 망고 DB가 아니라 몽고 DB였다. 왜 망고 DB라고 인식하고 있었던 걸까? 검색할 때 mongo db를 입력하곤 했는데.... 망고가 맛있어서 망고 DB라는 이름이 좀 더 마음에 들기는 하지만 몽고 DB를 인지하고 공부하자 ㅋㅋ 배운 내용 1. 몽고 DB 인덱스 document Nosql이지만 인덱스에 대한 내용은 RDBMS와 매우 유사했다. 사용하는 요구사항에 따른 인덱스를 생성하는 점과 추가적인 정렬 계산을 막기위해서 인덱스를 활용하는 방식, 그리고 요구하는 쿼리에 따라서 복합 인덱스를 구성하는 방식의 매커니즘이 같아서 자료구조의 중요성을 느낄 수 있었다. 그리고 몽고에서 실행계획을 출력하는 방식과 구성을 알 수 있어서 좋았다. 모든 실행계획의 데이터를 파악하지는 못하지만 수행되는 시간과 도큐먼트의..
23-11-28 회고 새로운 팀 배정이 있던 날이었다. 어쩌다 보니 아시는 분들이 3명 중에 2명이라서 거리낌 없이 팀명을 정하고 이것 저것을 했다. 왜 그런지는 모르겠지만 오늘은 너무 중간 중간 졸음이 쏟아져서 생각했던 공부량을 채우지 못했다. 내일은 과제로 내준 테스트 코드 작성을 하고 도전 과제를 알아보고 적용해보야겠다. 망고 디비에 대해서 정리하는 것은 일단 공부를 하고 천천히 되새기면서 해야겠다는 생각이 들었다. 완벽가이드라서 그런지 양도 깊이도 많아서 욕심내면 채할 듯? 배운 내용 1. 망고 디비 조회 쿼리문 RDBMS 와 다르게 쿼리문도 너무 생소했다. gt lt 와 같은 익숙한 단어도 보이지만 쿼리를 json 형식으로 사용하는 것도 신기했고 자바 스크립트 기반의 where 조건을 사용하는 것도 신기했다. 그리고..
23-11-27 몽고 DB 저번주에 시작한 프로젝트를 마무리하고 발표를 하는 날이었다. 일주일이란 짧으면 짧고 길면 긴 시간 동안 하나의 프로젝트를 완성하기 위해서 소통하는 과정을 통해서 부족한 부분을 되돌아 볼 수 있었다. 발표 이후에는 몽고 DB를 공부했다. NoSQL 중에서도 많이 쓰이는 몽고를 공부하고 이후에 토이 프로젝트에서 한번 사용해보고 특징을 느껴보고 싶다. 배운 내용 1. 망고 DB 실습을 위해서 망고를 설치해보고 망고에 접속하기 위한 클라이언트 프로그램 compass와 망고 쉘을 설치하였다. 도규먼트를 생성하고 수정하고 삭제하는 간단한 실습을 하며 첫발을 내딛었다. 망고의 쉘 클리아이언트는 자바 스크립트 쉘로 이루어있다고 한다. 그래서 자바 스크립트의 문법을 이용해서 조작하는 방식을 책에서 소개해주었다.
23-11-24 메일 기능 구현 프로젝트에서 회원가입 시에 메일로 보낸 인증 코드를 입력받아야 회원 가입이 가능하도록 구현하는 요구사항이 있었다. 그래서 이것을 구현하기 위한 방법을 공부했는데 구현 방법은 쉽게 찾을 수 있었다. SMTP 프로토콜을 이용해서 메일을 전송하는 코드를 작성하는 새로운 경험을 할 수 있어서 좋았다. 배운 내용 메일 전송 기능 구현하기 이메일 전송을 자바를 이용해서 구현하는 방법을 배우고 관련 레퍼런스를 찾아보고 정리했다. Spring 메일 전송기능 구현하기 들어가면서 회원가입 시에 이메일 인증 코드를 입력하는 요구사항을 구현하게 되었다. 메일 서비스는 오래전부터 제공하는 서비스이기 때문에 구현된 라이브러리가 있고 테스트를 위한 메일 note-ydg.tistory.com LocalDateTime과 datetim..