오늘 한 일 빌더 패턴 공부 스프링 개인 과제 완성 JVM 문서화 객체지향 프로그래밍이란? 문서화 배움 생성자에 매개변수가 많다면 빌더를 고려해야 할까? 점층적 생성자 패턴 선택적 매개 변수가 많을 때 사용하는 패턴 필수 배개 변수를 받는 생성자 생성 필수 배개 변수와 선택 매개 변수 1개를 받는 생성자 생성 ... 필수 배...
오늘 한 일 스프링 개인 과제 리팩토링 dto 추가 validation 추가 에러 핸들링 추가 스프링 핵심 원리 기본편 강의 수강하고 키워드 정리 섹션1. 객체 지향 설계와 스프링 섹션2. 스프링 핵심 원리 이해1 배움 DTO를 쓰는 이유가 뭘까 Data Transfer Object User 라는 도메인이 있으면 이름...
오늘 한 일 예외 처리를 어떻게 하는 게 좋을지 공부했다. 글을 등록/수정하고나서 컨트롤러 리턴값으로 엔티티를 그대로 보낸 것들을 responseDto를 만들어서 리턴하는 걸로 변경했다. 스프링 핵심 원리 기본편 강의 수강하고 키워드 정리 섹션3. 스프링 핵심 원리 이해2 - 객체 지향 원리 적용 배움 예외 처리 (Exception) 스프링부트의...
오늘 한 일 게시글 수정/삭제 시, 비밀번호가 틀렸을 때 익셉션 처리 후 응답 바디 변경 상태코드: 401 error: Unauthorized postman 으로 API 문서 만들기 AWS RDS DB 인스턴스 생성 AWS 배포 알고리즘 1문제 https://github.com/wisdom08/logs/commit/5ced944db2e...
오늘 한 일 스프링 핵심 원리 기본편 강의 수강하고 키워드 정리 스프링 컨테이너 알고리즘 1문제 https://github.com/wisdom08/algorithm-logs/commit/db72223e9ce11fb500c42732df3408da9a393131 JPA 공부한 거 문서화 REST API 문서화 깃허브 이슈, 프로젝트 사용해보기 깃...
오늘 한 일 알고리즘 1문제 https://github.com/wisdom08/algorithm-logs/commit/cb2973ea0ca17be24a18c31ed88e2523a8560d2c 회원 관련 기능 구현 전 JWT 공부 인코딩 개념 공부 API 설계 싱글톤 공부 배움 API 설계 데이터를 수정하는 put 과 patch put은 보통 전체 ...
오늘 한 일 게시판 프로젝트 기능 구현 깃 stash 공부 스프링부트 슬라이스 테스트 코드 작성 배움 깃 Stash 커밋하기에는 애매하고, 그렇다고 코드를 날릴 수도 없고 리비전을 돌아가야 되는 상황에서 쓸 수있는 해결책이 바로 stash 다. 예를들면 책상 위에 올릴 수 있는 물건은 책상 크기로 인해 한정적이다. 그때 지금 당장은 필요없는 물건들...
TIL: 2022-07-31 오늘 한 일 자바 문법에서 새로 생긴 지 한참된건데 아직 모르고 있었던 것들 공부 스프링 개념 공부 배움 인터페이스에서의 default 메소드 자바8 이후 interface에 대한 정의가 변경됨 추가적으로 변경된 건 인터페이스에서의 static 메소드도 있음. default 메소드 인터페이스가 default 키워드로 선...
오늘 한 일 스프링 시큐리티 파악 TIL 작성하면서 오늘 하루 돌아보기 배움 스프링 시큐리티 > Spring Security is a framework that provides authentication, authorization, and protection against common attacks. 인증/인가와 보안 기능을 담당하는 라이브러리 ...
오늘 한 일 알고리즘 1문제 https://github.com/wisdom08/algorithm-logs/commit/c0e652c82d9c707244ee79dbf2139ff4ba4485cd 스프링 시큐리티와 JWT 활용해서 로그인/회원가입 구현 access token 발급 refresh token 발급 TIL 작성하면서 오늘 하루 ...
블로그에 구글링하면 쉽게 확인할 수 있는 정보를 작성하는 것보다는 내가 느끼고 내가 생각하고 있는 것을 많이 담는 것이 더 가치가 있겠다고 판단했다. 그래서 TIL 작성 방식을 바꾸게 되었다. 그리고 블로그에 적힌 글들이 전부 다 맞는 정보도 아니고 틀린 정보도 분명히 있는데 그 틀릴 수도 있는 정보에 내 생각이 붙여지는 글을 작성하다보니 '틀린 정보 + ...
Fact (했던 것) 알고리즘 1문제 스프링 시큐리티 + JWT 로 로그인, 회원가입 구현한 거 공부 Feelings (느낀 것) 스프링 시큐리티는 아직 어렵다. 우선 현재 쓰고 있는 메서드만 어느정도 익숙해졌다고 느낀다. 지금 다 공부하기에는 양이 너무 방대해서 주말에 다시 한번 공부해야겠다고 생각했다. 메서드를 하나 씩 파악하고 절차를 이해하는 시간을...
Fact (했던 것) 댓글 CRUD API 추가 액세스토큰 이용해서 글/댓글 작성,수정,삭제할 수 있게 기능 추가 예외 처리 추가 Feelings (느낀 것) 기본적인 CRUD는 어렵지 않게 구현했다. 하지만 예외 처리 등 좀 더 우아한 코드로 개선해야할 게 많다고 느낀다. 오늘 저녁 9시까지 댓글 CRUD, 액세스 토큰 이용하는 기능을 완성하려고 했는데...
Fact (했던 것) 이미지 파일 업로드 구현하기 위해 관련된 기술 공부 Forking WorkFlow 방식의 협업 시도 Feelings (느낀 것) 깃 리포지토리 하나에서 같이 작업은 해봤지만 2개의 리포지토리로 하는 Forking WorkFlow 방식의 협업은 처음 해봤다. 그래서 그런지 좀 복잡하게 느껴졌다. 4명이 같이 하는 정말 소규모의 협업인...
Fact (했던 것) 알고리즘 1문제 게시글 작성 시 이미지 업로드 기능 추가 스프링부트 공통 응답 바디 개발 참고: 해당 이슈를 개발하면서 작성한 글 Feelings (느낀 것) 이미지 업로드 기능 추가 후에 게시글 내용과 제목만 작성하고 이미지 파일 업로드를 하지 않는 경우 에러가 발생했었는데 개발과 테스트 당시 해당 에러는 부끄럽지만 예상하지 못했...
Fact (했던 것) LeetCode 1문제 JPA 영속성 컨텍스트와 기본키 매핑방법 공부 Feelings (느낀 것) JPA 를 써서 게시판 CRUD 를 개발할 때 작성했던 코드의 이유를 조금은 알았다. JPA에서는 영속성 컨텍스트라는 게 중요한데 그 영속성 컨텍스트 내부의 1차 캐시 기능으로 디비에 조회하는 쿼리가 없었음에도 데이터를 가지고 올 수 ...
Fact (했던 것) JPA 연관관계 공부 Feelings (느낀 것) 객체와 테이블 연관관계의 차이도 알겠고, 연관관계가 필요한 이유도 알겠는데 코드에 적용하면 정확하게 잘 이해가 안된다. 연관관계가 있을 수밖에 없는 코드를 일단 짜봐야겠다. 좋아요 기능과 대댓글 기능을 만들어봐야겠다고 생각했다. 만들고나면 좀 이해가 되지 않을까? Finding (...
Fact (했던 것) 블로그 프로젝트에서 게시글-댓글 연관관계 매핑 매일 특정 시간에 댓글 없는 전체 게시글의 삭제를 진행하는 스케줄러 기능 추가 이미지 포함해서 게시글 수정 시도 Feelings (느낀 것) 아직까지는 요구사항대로 기능을 구현하는 거 자체는 어렵지 않다. 근데 작성한 코드가 읽기 좋은 깔끔한 코드인지는 모르겠다. 성...
Fact (했던 것): 무슨 일이 있었는지, 어떤 일을 했는지 이미지 포함 게시글 수정 작업 완료 게시글 엔티티 재설계 및 정적 팩토리 메서드 패턴 적용 대댓글 기능 구현 Feelings (느낀 것): 어떤 감정을 느꼈는지 게시글 수정 기능을 구현하면서 게시글 엔티티를 리팩토링하고 싶었다. 왜냐하면 게시글 수정 메서드 바로 위에 게시글 작성 메서드가 있...
Fact (했던 것): 무슨 일이 있었는지, 어떤 일을 했는지 CI/CD 공부 자동 배포 시도 Feelings (느낀 것): 어떤 감정을 느꼈는지 팀원들에게 슬랙 메시지로 AWS 접근키를 공유했다. 그리고 깃허브 리포지토리에 aws 접근 키가 포함된 application.yaml 파일이 커밋 내역에 포함되어서 바로 삭제는 했는데 기록에 남아있었다. 그런...
Fact (했던 것): 무슨 일이 있었는지, 어떤 일을 했는지 채팅 기능 구현 목적으로 HTTP 통신과 소켓 통신 공부 Feelings (느낀 것): 어떤 감정을 느꼈는지 HTTP 와 소켓의 개념은 알겠는데 이걸 어떻게 구현해야하는 건가 아직 감이 안 잡힌다. Finding (배운 것): 어떤 지식과 인사이트를 얻게 됐는지 HTTP 통신 소켓 통신 H...
Fact (했던 것): 무슨 일이 있었는지, 어떤 일을 했는지 스프링 웹소켓 + STOMP로 채팅 기능 구현 Feelings (느낀 것): 어떤 감정을 느꼈는지 채팅 기능 구현하는 게 너무 막막하고 주어진 기간인 일주일 동안 해도 못할 거 같았는데 며칠 마음 고생하고 나니까 되기는 됐다. 채팅 구현을 한 게 너무 신기하고 뿌듯하다. 근데 웹소켓 내부적으...
Fact (했던 것): 무슨 일이 있었는지, 어떤 일을 했는지 스프링 시큐리티 + JWT 인증 기능 구현 CORS 공부 Feelings (느낀 것): 어떤 감정을 느꼈는지 시큐리티+JWT를 한 번 구현한 적이 있어서 처음보단 익숙해졌다고 느꼈다. 그런데 현재 에러처리를 공통적인 형식으로 처리하고 있는데 필터 쪽에서 에러가 나면 적용이 되다가 안되다가 한...
Fact (했던 것): 무슨 일이 있었는지, 어떤 일을 했는지 채팅 기능 전체 구현 완료 로그인한 유저의 전체 채팅방 목록 조회 채팅 관련 엔티티 재모델링 DTO 개선 에러 처리 추가 Feelings (느낀 것): 어떤 감정을 느꼈는지 이번 주는 기능 개발하는 것보다 협업하는 것 때문에 스트레스가 좀 크다. 나는 똑같은 태도를 유지하더라도 팀원이 ...
Fact (했던 것): 무슨 일이 있었는지, 어떤 일을 했는지 자료구조와 알고리즘을 함께! JAVA 공부 처음 ~ 배열까지 백준 배열 관련 1문제 스프링부트 프로젝트에서 프로필 사진 등록,수정, 삭제 기능 구현 데이터 모델 설계하는 법 공부 Youtube: 데이터 모델 설계, 실무에서는 이렇게 프로젝트 시작과 설계를 한다! 깃헙 릴리즈 및 헤로쿠 자동...
Fact (했던 것): 무슨 일이 있었는지, 어떤 일을 했는지 FE-BE 연결하면서 발생하는 에러 해결 JPA 매핑 공부 Feelings (느낀 것): 어떤 감정을 느꼈는지 포스트맨으로 테스트했을 때는 정상 작동 했었는데 FE 연결 후 에러가 발생하는 경우도 많았고 예상치 못한 에러가 발생하는 경우도 많았다. 특히 CORS 이슈, JPA 영속성 컨텍스트,...
Fact (했던 것): 무슨 일이 있었는지, 어떤 일을 했는지 @Transactional 공부 채팅방 목록 조회 시, 전체 내 채팅 목록이 아닌 내가 채팅을 요청보냈을 때만 나오는 이슈 해결 Feelings (느낀 것): 어떤 감정을 느꼈는지 프로젝트 에러가 발생해서 에러 메시지를 구글링해보면 @Transactional 을 붙이면 된다 라고 나오는 경우가...
Fact (했던 것): 무슨 일이 있었는지, 어떤 일을 했는지 인스타그램 클론코딩 기획 ERD 작성 API 문서 작성 헤로쿠 자동 배포 스웨거 설정 추가 Feelings (느낀 것): 어떤 감정을 느꼈는지 ERD 작성하는 것이 참 어렵다. API 문서를 손수 하나하나 작성하는 것도 쉽지 않다. API 문서를 탄탄하게 작성하는게 좋다고 하는데 그렇게하면 ...
Fact (했던 것): 무슨 일이 있었는지, 어떤 일을 했는지 게시글 CRUD 리팩토링 cors 설정 후 프론트-백 연결 확인 댓글, 대댓글 기능 구현하기 위한 고민 및 설계 Feelings (느낀 것): 어떤 감정을 느꼈는지 팀원 분이 작성한 게시글 CRUD 코드를 그대로 두고, 내가 맡은 기능인 댓글과 대댓글을 구현하다보면 에러가 날 수밖에 없는 코드...
Fact (했던 것): 무슨 일이 있었는지, 어떤 일을 했는지 LeetCode 1문제 댓글/대댓글 기능 구현 완료 TDD 시도 Feelings (느낀 것): 어떤 감정을 느꼈는지 비슷한 기능을 반복해서 작업하고, 강의나 책같은 컨텐츠를 통해 다른 사람의 코드도 많이 보니까 비슷한 코드지만 그 코드가 점점 개선됨을 스스로 느낀다. 자신감도 생겼다. 동시에...
Fact (했던 것) LeetCode 1문제 게시글/댓글 관련 인증 로직 추가 로그인한 유저만 게시글/댓글 작성 가능하게 처리 게시글 작성자만 수정, 삭제할 수 있게 처리 댓글 작성자만 삭제 할 수 있게 처리 무한 스크롤 기능 구현 게시글/댓글/대댓글 전체 조회 시, 슬라이싱 처리 좋아요 기능 구현 게시글 좋아요 댓글/대댓글 좋아요 전체 게시글...
Fact (했던 것) LeetCode 1문제 조회 API 추가 좋아요 한 글 조회 유저 이름 별 작성한 글 조회 유저 정보 조회 조회 이름, 소개, 작성한 게시글 수 HttpOnly 쿠키방식을 이용한 refreshToken 발급 적용 Feelings (느낀 것) 다른 사람이 작성한 코드를 이해하는 건 참 어렵다. 단순한 기능 구현의 경우에는, 다...
Fact (했던 것) LeetCode 1문제 해시태그 적용 해시태그 엔티티 설계 게시글 등록,수정 시, 해시태그 기능 추가 게시글 삭제 시, 데이터베이스에 저장된 해시태그 제거 개별 게시글 조회 시, 응답바디에 해시태그 추가 해시태그 키워드 기준 검색 기능 추가 TDD 방식으로 객체지향 계산기 만들어보기 JPA 김영한님 책 처음부터 ~ 4장까지 ...
Fact (했던 것) 이미지 관련 작업 S3 이미지 업로드 기능 구현 게시글 모든 게시글 조회 시, 응답바디에 이미지 추가 게시글 작성/수정/삭제 시, 이미지 로직 추가 유저 프로필 사진 등록,수정,삭제 유저 정보 조회 시, 이미지 로직 추가 헤로쿠 S3 관련 환경 변수 설정 추가 JPA 김영한님 책 5장~6장 Feelings (느...
Fact (했던 것) SPRING REST DOCS 파악 Oauth2 소셜 로그인 구현 페이스북 프로젝트 기획 여행집사 국내 여행 일정을 만들어주는 서비스 API, 크롤링으로 최대한 많은 데이터를 가져와서 검색 기능까지 구현하는 걸 목표로 세웠다. Feelings (느낀 것) 기획은 어렵다. 기획이 잘된건지 확신이 없어서 약간 불안하기도 하다....
Fact (했던 것) 새로운 프로젝트 기획 변경 대용량 데이터 고민 Feelings (느낀 것) 카카오맵 api 를 이용해서 데이터들을 DB에 저장하려고 했는데 해당 데이터들을 정책상 DB에 저장할 수 없음을 뒤늦게 기획을 진행하고 하루가 지나서야 알게 되었다. 기획에 포함됐던 검색 시스템을 구현하기 위해서는 데이터들을 DB에 저장해야하는데 진행할 수 없...
Fact (했던 것) LeetCode 1문제 대규모 서비스를 지탱하는 기술 훑어보기 구글 클라우드 계정 생성 후 인스턴스 만듦 Feelings (느낀 것) 대용량 데이터를 어떻게 다뤄야 하는지 감이 안 잡히는데 전체적으로 정리가 된 책을 읽고 싶어서 읽어봤다. 근데 너무 어려워서 이해하기가 좀 어려웠다. 전체적으로 이런게 있구나 하는 마음으로 빠르게 읽...
Fact (했던 것) LeetCode 2문제 뉴스 검색 프로젝트 ERD 설계 Artillery를 사용한 부하 테스트 Spring Boot + Docker + GCP 배포 Feelings (느낀 것) Docker+GCP 배포할 때, M1 환경이라 삽질이 좀 있어서 시간
Fact (했던 것) LeetCode 2문제 젠킨스 이용해서 배포 시도했지만 실패 무중단 배포 파악 Feelings (느낀 것) 공식문서 가이드대로 진행하는데 문제없이 진행되는 가이드와는 달리 똑같은 명령어를 복붙했는데 m1 이슈 등 자잘한 에러가 많이 발생한다. 아직 도커, 젠킨스 이해도 부족하고 배포에 대한 전체적인 그림을 파악하지 못해서 그런 것같다...
LeetCode 1문제무중단배포 시도 with Docker무중단 배포를 구축하려고 하니 원인을 파악할 수도 없는 에러가 며칠 동안 정말 많이 발생했다. 그리고 무중단 배포도 처음인데 도커도 써보려고 하니까 욕심이었던 거 같다. 지금 도커까지 할 때가 아니었다고 느꼈다.
LeetCode 1문제EC2, IP, Packet, Port, RSA 관련 개념 공부지금까지 EC2 Instance는 여러 번 만들어봤는데 이유는 모른 채 하고 있었던 게 많았다. 특히 pem키가 왜 필요한지 이유를 알게 됐다. https://velog.io
LeetCode 1문제배포 하기 전 기초 공부 \- 프로세스, vim, 권한, 리눅스 명령어기초적인걸 너무 늦게 시작한게 아닌가 싶기도 하지만 이제라도 알게 돼서 다행이라고 생각한다. 리눅스를 다루다보면 매번 구글에 필요한 걸 하나하나 검색해서 할 수는 있지만 그러다
aws 1단계 버전 배포 완료스크립트를 작성하는 게 좀 어색하고 어렵긴 하지만 너무 신기하다. 모든 걸 수작업으로 배포를 해봤다. 서버가 멈추는 등의 해결해야할 문제가 있음이 느껴진다. https://velog.io/@wisdom08/aws-배포-1단계-버전
aws 2단계 버전 배포 완료스크립트 작성에 좀 더 익숙해졌다. cron 도 처음보다는 이해가 된다. 작업 스케줄러인 cron은 죽은 서버도 알아서 살려주고 큰 역할을 해준다. https://velog.io/@wisdom08/aws-%EB%B0%B0%ED%8F
"엘라스틱서치 개발부터 운영까지" 책 읽으면서 실습leetcode 3문제크롤링으로 뉴스 데이터를 수집해야한다. 그리고 그 수집한 데이터를 엘라스틱서치에 저장하려고 한다. 그래서 크롤링 전에 엘라스틱서치의 전체적인 흐름을 파악해야 한다고 생각해서 관련 책을 사서 실습을
LeetCode 1문제Junit 테스트 코드 작성를 작성하는 이유와 repository test 작성 완료미루고 미뤘던 테스트코드에 대해서 공부했다. Junit 사용법 위주로 실습을 하면서 공부했다. 오늘 테스트코드를 공부하면서 알게된 점은 일반적으로 repositor
LeetCode 1문제서비스 레이어 테스트 코드 작성해봄Mockito 기반의 단위테스트를 작성해봤는데 막연하게만 알고있던 단위테스트, 인수테스트, 통합테스트 중 하나인 단위테스트를 작성해봐서 좀 더 테스트코드에 대해 가까워진 기분이다. 통합테스트, 인수테스트 코드 작
LeetCode 1문제Oauth2.0 Oauth2.0 개념 이해 및 동작 방식을 파악하고 카카오, 깃허브, 로그인 서비스를 구현했다. 내부적으로 어떻게 돌아가는지 흐름을 좀 공부를 하고나니 복잡한 소셜로그인이 어떻게 돌아가는지 대략적으로 이해가 된다.로그인 화면 구현
Fact 대용량 데이터를 위한 데이터 파이프 라인 구축 방법 고민 Feelings 로그스태시를 이용해서 데이터 파이프라인을 구축하는게 가장 효율적인 방법이라고 생각했는데공부해보니 그건 아닌 것같다. 파이썬으로 개발할 수도 있고, 스프링배치와 bulk api를 이용할 수도 있다. 무조건적으로 효율적인 방법은 없다. 상황에 따라 필요한 방법이 있을 뿐. 지금...
Fact LeetCode 1문제 Rate Limti 공부 Feelings 단순 CRUD 구현을 넘어서 백엔드 개발자로서 어떤 걸 더해야하는지 막막하고 고민이 있었다. 자료를 찾아보니 운영 관점에서의 모니터링, 캐싱, 동시성 문제 해결, Third-party 디펜던시
Fact 알고리즘 공부 엘라스틱빈스톡 이용 배포 3단계 Feelings 엘라스틱빈스톡을 이용하니까 배포가 정말 간단하다! 내부적으로 얼마나 복잡하게 움직이고 있을까? 하는 생각도 든다. 엘라스틱스틱빈스톡에 RDS까지 연동해봐야겠다. Future Action 엘라스틱
AWS 배포 4단계 엘라스틱빈스톡에 RDS까지 연동해서 배포를 했다. 구 draw.io 를 이용해 공부한 걸 도식화하니까 확실히 좀 더 이해가 잘된다고 느낀다. https://velog.io/@wisdom08/aws-배포-4단계-elastic-beanstalk
github actions 으로 CI하기 위한 공부 및 스크립트 작성젠킨스를 써본 적이 있는데 젠킨스보다 github actions 이 훨씬 간편하다. 이미 만들어진 스크립트를 가져오는 것도 편하고! 그래서 요즘 많이 쓰나보다. 리눅스에 대해서 전반적으로 공부하고나서
LeetCode 2문제무중단 배포 방식 이해우선 무중단배포를 해야겠다고 생각한 이유는 배포할 때마다 팀원들에게 말해야하는 추가적인 커뮤니케이션을 매번 해야하는게 너무 귀찮았다. 그리고 실제로 서비스를 운영한다고 가정했을 때 중단배포의 경우에는 배포할 떄마다 사용 중인
LeetCode 2문제NLB 와 ALB 공부aws 의 LB(Load Balancer) 중 ALB(Application Load Balancer)와 NLB(Network Load Balancer)의 차이점으로 네트워크 계층의 차이 정도로 밖에 몰랐다. 그런데 무중단배포를
LeetCode 2문제무중단 배포 완성며칠에 걸쳐 드디어 무중단배포를 완성했다. 오늘 시큐리티 보안그룹 설정을 이해하는게 좀 복잡하고 어려웠다. 그리고 저번 달에도 무중단 배포를 잠깐 시도했었다가 시간이 없어서 포기하고 다음에 다시 해봐야겠다하고 넘어갔었는데 그때는
LeetCode 2문제자료구조 Hashamp 과 stack 정리도메인 IP 주소에 연결도메인 주소 구입후에 ip 주소와 연결하는 건 생각했던 것보다 정말 간단해서 신기했다. 개발 공부를 시작한 지 꽤 시간이 많이 지났는데 너무 기본적인 자료구조도 잘 몰고 있는 것같다고
LeetCode 2문제Redis 사용 이유 파악jasypt 로 프로퍼티 암호화하기jasypt 로 간단하게 프로퍼티를 암호화할 수 있다고해서 사용해봤는데 일요일 오전 시간 내내 했다. 생각보다 오래 걸렸던 이유는 테스트코드를 잘못 작성해서 암호화된 키값이 달라서였다. 오
LeetCode 2문제데이터베이스 트랜잭션과 ACID 공부함데이터베이스를 매일 쓰는데도 불구하고 기본적인 걸 이제야 알게된 것 같다.https://velog.io/@wisdom08/데이터-베이스-트랜잭션과-ACID동시에 같은 DB Table row 를 업데이트
LeetCode 2문제Binary Search 파악함사이드프로젝트 개발 진행에 대한 멘토링을 진행함종필 멘토님과 멘토링을 진행하면서 느끼는게 참 많다. 그동안 내가 너무 개발 실력을 어떻게 올릴 수 있을까? 에 대한 고민만 너무 치중하고 더 중요한 커뮤니케이션을 어떻게
LeetCode 2문제TDD 자동차경주 1단계 미션 완료팀프로젝트: 하나의 뉴스 기사에 대한 게시글을 작성해야하는데 기존 코드에는 id 값이 없어서 엘라스틱서치에서 조회한 데이터를 이용해서 id값을 넣어줌 접근하기 어려웠던 테스트 코드를 요구사항이 명확하게 명시된 미션
LeetCode 2문제스프링부트-소셜로그인 연동NEXTSTEP TDD, 클린 코드 with Java 첫 번째 라이브 강의 수강내가 모르는게 정말 많다고 느꼈다. 잘하는 사람도 정말 많다. 더 노력해야함. 한 동안 한 우물에 갇혀 있어서 잘 느끼지 못했는데 새로운 자극을
LeetCode 2문제TDD 자동차경주 2단계 미션 PR이력서 업데이트TDD 클린코드 2단계 미션을 진행 하면서 느끼는 건 Junit 사용법에 익숙해지는 것도 있지만 그것보다 변수, 메서드 네이밍 고민을 머리 아프게 하고 있고, 네이밍이 정말 중요하다 라는 걸 느끼고
LeetCode 2문제TDD 자동차 2단계 과제 코드 리뷰 반영해 PR까지 완료스프링부트-타임리프 소셜로그인 기능 구현 Oauth 는 어렵다. 체리픽이라는 기능을 배웠다. 내가 원하는 커밋만 다른 브랜치로 가져갈 수 있다! 깃을 좀 더 잘 다루지 못해서 아쉽다.로그인
알고리즘 2문제TDD 자동차 3단계 과제 시도 중알고리즘을 매일 풀고는 있는데 정말 장기적으로 풀어야 감을 잡을 수 있을 것 같다. 그리고 알고리즘 문제를 푸는 과정에서 생각도 많이 하게 돼서 좋다. 알고리즘도 마찬가지로 코드를 작성하기 전에 설계를 철저하게 하는 습관
알고리즘 2문제데이터베이스 schedule, serializability, isolation 개념 공부 데이터베이스를 좀 깊게 공부하고 싶어서 단어의 개념을 찾아보면서 공부했는데 좀 어려웠다. 해당 공부를 하기 전에 필요한게 있는 것처럼 뭔가를 뛰어 넘은 느낌이 들었
알고리즘 2문제장진달 개발자님의 커리어 관리 강의 수강TDD 3단계 우선 절차적으로 실행코드 작성해봄20년차 개발자 진달님의 커리어 이야기를 너무 재밌게 들었다. 특히 소프어웨어 업계에 기여하는 개발자가 되고 싶다 같은 모호하고 구체적이지 않은 목표를 명확하게 구체화하
알고리즘 2문제컨벤션 문서화한 거 피드백을 받고 수정을 함남윤님의 스프링가이드 를 보고 패키지 구조에서 도메인 구조와 계층형 레이어 구조 중 도메인 구조가 무조건 좋은 건 줄 잘못 알았다. 애플리케이션의 크기가 작다면 계층형 레이어 구조가 더 적절할 수도 있다고 한다.
알고리즘 2문제aws 비용 문제로 전부 삭제했던 무중단배포 다시 구축함AssertJ vs JUnit 차이 파악hash, equals 메서드 찾아보고 적용해보기객체 지향 생활 체조 원칙 규칙3(모든 원시 값과 문자열을 포장한다) 이해해보기assertEquals(expte
알고리즘 2문제코드 컨벤션, 커밋 컨벤션, 깃브랜치 전략 문서 업데이트컨벤션의 소중함을 다시 한번 느꼈다. 나만의 컨벤션 문서를 작성하면서 팀 프로젝트의 PR 요청을 받았는데 내가 당연히 지켜야 한다고 생각하고 있는 것들이 지켜지지 않은 PR 요청을 받았다. 해당 PR
알고리즘 2문제TDD 3단계 리뷰어님 피드백 반영해서 재구현로그인 유지 방안 찾아보고 적용요구사항을 확인하고 도메인을 추출해서 코드를 작성하는 일이 쉽지 않았다. 승훈 리뷰어님께서 말씀하신대로 이펙티브 자바를 읽어봐야겠다. 1년 전쯤에 사놓고 어려워서 다음에 읽어야지
알고리즘 2문제Clean Code 2장 의미 있는 이름 읽어보기주간 회고 글 작성의도가 분명한 이름은 정말 중요하다. 잘 작성된 제목을 보고 내용을 읽으면 전체 내용을 파악하기 수월하다. 같은 맥락이지 않을까. 한 개념에 한 단어만 사용하라는 페이지가 인상적이었다.
알고리즘 2문제자바 Reference 와 Null 처리 공부태양님이랑 커피챗태양님이랑 커피챗을 했었는데 원래는 1시간 정도 예정되어 있었는데 얘기를 하다보니 시간 넘게 대화를 주고 받았다. 너무 많은 시간을 뺏은게 아닌가 죄송하면서도 감사한 시간이었다. 커피챗을 통해
알고리즘 2문제배포 아키텍처 추가종필 멘토님과 세 번째 멘토링 진행멘토링 시간을 통해 초짜 개발자가 생각하는 것과 20년 이상 시간을 쓴 전문가의 차이는 정말 크다는 걸 느꼈다. 우선 지금 겪고 있는 어려운 점은 계획한 일과 작업한 코드의 일치성을 이루기 위한 위해서
알고리즘 2문제Controller, Service, Repository 라는 용어가 어디서 시작했는지 확인Controller, Service, Repository 라는 용어가 어디서 시작했는지는 찾지 못했고 스프링 어노테이션으로 이야기했을 때는 전부 component에
알고리즘 2문제이력서 업데이트 및 이력서 피드백 받고 개선 작업 이력서를 간단 명료하게 작성하는게 쉽지 않다. 구구절절 작성할 필요가 전혀 없는데 구구절절 작성하게 된다. 이력서에 적을 컨텐츠는 다 적었고 이걸 줄이기만 하면 될 것같다. 한 달 뒤에 난 어떤 곳에서 일
알고리즘 2문제이벤트스토밍 정체 파악하기NEXTSTEP 챌린지코스 2회차 챌린지로 이벤트스토밍을 하는게 과제다. 이벤트스토밍을 하려면 DDD가 뭔지 알아야했다. 2회차 과제는 쉽지 않겠다고 느꼈다. 우선 DDD는 실제 코드로 구현 가능한 현실성 있는 도메인 모델 분석과
알고리즘 2문제온라인 코딩테스트 진행원티드 프리온보딩 백엔드 챌린지 1회 차 참가 - 시스템 설계 문제가 가지는 의미온라인으로 코딩테스트를 보는 기업이 정말 많다. 시간을 넉넉하게 줘서 널널하다고 방심했다가 마지막 1문제를 시간이 없어서 제대로 못 풀어서 너무 너무 아
알고리즘 2문제이력서 업데이트원티드, 로켓펀치, 점핏, 랠릿에서 가고 싶은 회사 선별해서 지원원티드 프리온보딩 백엔드 챌린지 1회 차 참가 - 사용자 수에 따른 규모를 확장하는 방법 1 편데이터베이스 다중화 그리고 캐시에 대해서 간단하게 살펴봤다. 존재는 알고 있었지만