일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바 롬복
- @Query
- unique result
- 밤랩
- 우테코
- NonUniqueResultException
- 레벨인터뷰
- Argos
- 우아한테크코스 블랙잭
- @Modifying
- BDDMockito
- @Param
- 스프링부트배포
- 영속성컨텍스트
- 검색api
- 배포스크립트
- ubuntu
- SpringDataJPA
- 스프링 롬복
- 벌크연산
- docker에 ubuntu
- 우아한테크코스5기
- ubuntu이미지
- 우아한테크코스
- bomblab
- jpa
- 우분투
- Mock
- clearAutomatically
- 회고
- Today
- Total
목록ALL NOTES (108)
Jeomxon's Tech Note
여김없이 빠르게 지나갔던 한 주 덥고 습했지만 시원했던 날도 섞여있던 조화로운 한 주 였다. 그 사이 팀원들과 조금 더 가까워진 것 같기도 했다. 여전히 이번 주에 뭘 했는지 돌아보면 잘 생각이 나질 않는다. 좋지 못한 기억력에 기록을 하지 않는 습관을 가져서 그럴지도 모른다. 함께하는 팀원들은 기록과 정리를 잘한다고 느꼈다. '기억이 나지 않는다는 것은 기억할만큼의 의미가 없었고, 필요한 것은 자연스럽게 기억하게 된다.' 라는 생각을 가지면서 살아왔다. 때로는 이런 생각이 독이 된다. 어쩌면 나를 합리화하는 문장이 아니었는지 돌아보게 된다. 수업을 듣거나, 개인적인 공부를 하면서도 정리하지 않았다. 그냥 체화될 때까지 공부하면 외우지 않아도 된다고 생각했다. 반은 맞고 반은 틀린 것 같다. 체화될 때까..
조금은 설레는 마음으로 시작한 레벨 3. 방학 때는 기대했던 것만큼 많이 공부하지 못했다. 그렇다고 여행을 가거나 주구장창 놀지는 않았던 것 같은데 그냥 강의도 좀 듣고 잠도 많이 자면서 쉬었던 것 같다. 매번 방학을 보내고 나면 느꼈던 것이 있었다. 방학 때 조금만 더 열심히 공부했더라면, 강의 몇 편만 더 들었더라면 하고 후회했는데, 전 방학보다는 덜 후회한거보니 성취도에 진전이 있었나보다. 이제는 팀 단위로 레벨 4까지 가게 되었다. 그만큼 구성원과 얼마나 커뮤니케이션을 잘 쌓아갈 것이 중요해졌다. 방학 때 나왔던 구성원들에서 백엔드 크루들은 익숙한 닉네임들이어서 마음이 편했다. 반면 프론트는 한 분도 모르겠어서 오히려 기대됐다. 투표에 관련된 주제로 프로젝트를 진행하게 됐다. 서비스의 플로우를 작..
레벨1에서 했던 것처럼 마찬가지로 레벨을 마무리하는 레벨 인터뷰를 했다. 레벨1에서는 엄청 긴장도 많이했고, 그만큼 준비도 많이하고 열심히 공부했다. 그리고 긴장했던 것과는 달리 생각보다 대답을 잘했던 것 같다. 물론 녹화를 하지 못했던 것은 아쉬웠지만, 좋은 피드백을 많이 받았다. 하지만 레벨2는 예상과 달랐다. 내가 학습에 초점을 맞췄던 스프링을 어떻게 잘쓰는가?에서 벗어난 질문들이 많았다. 대부분 동작원리를 물어보는 질문이 많았다. 어쩌면 기본적인 동작원리이고 스프링 웹 MVC의 핵심인데, 궁금해하지 않았던 잘못이 컸다고 느꼈다. 레벨 인터뷰 준비를 하면서 내 생각을 많이 정리하려고 했다. 내가 이런 기술을 왜 썼고, 어떤 장단점이 있는지 정도 수준의 공부를 했다. 즉, 내가 사용했던 기술들에 대한..
배포 스크립트란 내부에 배포를 위한 동작 순서를 적어두어서 한번의 실행으로 배포의 과정을 간략하게 할 수 있게 하는 쉘 스크립트 파일이다. 서버가 우분투로 되어있기 때문에 리눅스 커맨드를 어느정도 사용할 수 있다면, 아주 어렵지는 않게 작성할 수 있다고 생각했다. 먼저 생각해야할 것은 '내가 서버에서 스프링 부트 서버를 직접 띄울 경우 어떤 순서로 진행할까?'였다. 파악됐던 순서는 다음과 같다. 1. git명령어를 통해 repository에서 띄우고자 하는 Spring Project를 pull 받아온다. 2. 현재 띄워져있는 스프링 부트 서버가 있다면 해당 프로세스를 종료시킨다. 3. pull받아온 프로젝트에 대한 jar파일을 생성하기 위해 build를 진행한다. 4. 해당 jar파일을 실행한다. 1. ..
문제상황지하철 미션을 진행하면서 db에서 가져온 데이터를 어떤 식으로 다뤄야할지에 대해 많이 고민했다. db에서 데이터를 가져오면서 값을 받아 객체로 넘겨 처리를 할 때 너무 복잡해지고 스스로가 이해할 수 없는 코드가 되고 있었다. 또한 DAO만 사용했을 경우는 Service계층에서 코드가 복잡해졌다. 도메인 엔티티를 만들기 위해서 그에 필요한 많은 로직들이 생기는 경우가 있었다. 특히 연관관계가 있는 경우에는 더 그렇다. 도메인에서 다른 객체의 상태를 가지고 있는 경우 해당 객체도 함께 생성해줘야하므로 코드가 복잡해지게 된다. 사용이유Repository에서 그 책임을 담당한다면 서비스도 당연히 로직이 줄어들고, 도메인을 생성하는 책임이 있다는 것이 명확이 드러나서 훨씬 보기에 편했다. 물론 다른 계층,..
잠이 부족했던 이번 주는 너무나도 빨리 지나갔다. 사소한 문제들 때문에 빨리 잠들지 못했는데, 피로가 너무 누적되어선지 오늘 아침에는 정말 괴로웠다. 주말에 잠을 좀 보충하려고 했는데 결국 그러지 못했다. 가끔 이런 생각이 든다. 개발에 몰입하면 때로는 정말 재밌다. 내가 생각하지 못한 방식들을 알게 되었을 때는 성장하는 것 같아 뿌듯하기도 하다. 하지만 피로감이 엄청나다. 최근들어 시력이 너무 안좋아졌다. 특히나 안구건조와 난시가 심해졌다. 의식적으로 눈을 깜빡여주고 눈을 쉬게 해주고 있지만, 나도 모르게 눈은 다시 건조해지고 흐려진다. 평생 할 수 있을지에 대한 의문이 들었다. 몸이 잘 버텨줘야할텐데... 평일은 알고리즘을 매일 꾸준히 풀자고 마음먹었는데 단 하루도 그러지 못했다. 귀가 후엔 30분은..
레벨2도 거의 끝을 보이고 있다. 막상 이번 레벨에서 내가 뭘했을까 생각해보면 진짜 생각이 나질 않아서 걱정된다. 지치지 않기 위해 마음을 많이 내려놨다. 원래는 아슬아슬하게 살아도 지각은 잘 안하는데 이번주는 지각을 두번정도 했다. 너무 많이 내려놨나 싶기도 했다. 다행히도 지난 주말 충분히 휴식했다. 대체공휴일 덕분에 3일 연달아 늦잠을 잤더니 드디어 몸이 살려달라고 외치지 않는 것 같다. 일찍 자고 싶은데 정말 쉽지 않다. 부모님께서 그런 말씀을 하셨다. 공부 못하는 애들이 꼭 가방은 무겁다고. 지금의 나도 그렇다. 뭘 하지는 않으면서 꼭 잠은 안자고 버티는. 막상 돌아보면 효율적으로 하지 못하고 크게 한게 없는 것 같다. 단지 내 마음이 편하도록 하기 위해서였을까. 처음으로 가볍게 협업을 진행하게..
칼이 도마와 맞닿는 소리 재료가 잘게 썰리는 소리 수많은 소리 끝에 마지막으로 들리는 어머니의 한마디 "훈아 밥 무라" 집안일을 하시고 요리를 해주시던 어머니는 변하셨다 못난 아들 한 글자 더 배우라고 일을 하러 가시더니 이제는 시켜 먹자 하신다 못난 아들 한 글자 더 배우라고 일만 하시던 아버지 이제는 많이 야위셨다 부모님께서는 몇 년 새 많이 변하셨다 야간자율학습을 도망치던 친구들도 피시방 가자고 노래를 부르던 친구들도 "훈아 나 뭐 해 먹고 사노"라며 인생을 걱정하기 시작한다 고향을 떠난 뒤 친구들도 많이 변했다 6년이라는 시간 동안 생활기록부의 장래희망 란에 '정보보안전문가'라는 단어를 적던 나도 변했다 개발자는 죽어도 하지 않겠다던 시골동네 소년은 어느덧 개발자의 꿈을 가지고 관악으로 올라왔다 ..
회고록에서 생활기로 제목을 바꾸게 되었다. 아무래도 회고라고 하면 반성과 새로운 계획 등의 내용이 들어가야만 할 것 같아서 내 생활과 감정에 대해서만 간단하게 쓰고 싶어서 그래서 바꿨다. 월요일부터 문득 들었던 생각은 '할게 왜 이렇게 많이 쌓였지?'였다. 주기적으로 놀러다니지도 않고, 하루를 노트북과 함께 보내는 중인데 왜 할 일은 끊임없이 쌓이는지 의문이 들었다. 디노의 블로그 타이틀이 '마음만 바쁜 사람'인데 지금 딱 내 상황인 것 같다. 원인을 파악하기 위해 내 학습 시간을 집중도있게 활용하고 있는가?라는 질문을 던져보았고, 결과는 '아니다'였다. 따라서 어떤 방식으로, 어떻게 공부해야 이 쌓인 할 일들을 쳐낼 수 있을지 심각하게 고민했던 한 주였다. 또한 새로운 미션도 시작됐는데, 이전과는 전혀..
컨트롤러 단을 테스트하면서 RestAssured를 사용하기도 하고, mockMvc도 사용을 해봤다. 각각의 미션마다 '이걸 사용하자!'라고 생각하고 사용하긴 했는데 막상 큰 이유는 없었던 것 같다. 어떤 상황에 어떤 걸 써야 잘 썼다고 할 수 있을까? 사실 정답은 없다고 생각한다. 적절한 상황에 맞춰서 잘 사용하면 된다는 것이 답이 될 것이다. 그런데 학습을 하고 있는 나의 입장에서는 적절한 상황이라는 말이 잘 와닿지 않았다. 그래서 나만의 기준을 세우고자 글을 써보면서 정리하려고 한다. 보통 RestAssured를 사용하는 경우는 @SpringBootTest가 붙은 테스트였다. 여기서 @SpringBootTest를 사용하면 실제 스프링부트 서버환경을 제공하게 되는데, 이는 당연히도 테스트가 무거워지게 ..