일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 원티드 백엔드 챌린지
- 스파프타 코딩클럽
- 웹크롤링
- velog
- 의존성주입
- 벨로그
- 알고리즘
- docker
- 원티드 챌린지
- commit message
- 프리온보딩 4월 백엔드 챌린지
- 원티트 프리온보딩
- 필드주입
- 커밋메세지
- 수정자주입
- 원티드프리온보딩백엔드챌린지
- Java
- 자료구조
- 의존성자동주입
- 스파르타 코딩클럽
- Spring
- 파이썬
- 인텔리제이
- 캐치
- 생성자주입
- 도커
- springboot
- 자바
- 스프링
- 개발자 커리어콘
- Today
- Total
목록전체 글 (15)
기록하는 블로그

올해 초부터 얼마전까지 개발했던 프로젝트는 스프링 환경에서 동작하는 프로젝트였는데, 개발자로 취업 후 첫 투입된 프로젝트라서 처음보는게 꽤 많았다. 그 중에서 좀 인상깊었던거는 팀원들 각자 구현해야하는 기능이 달라서 각자 컨트롤러를 만들어야 했는데 그 컨트롤러안에서 의존성주입 방식이 모두 달랐던 것이다. 나는 국비학원 다닐때도 그랬고 사이드 프로젝트를 만들때도 생성자를 통한 의존성 주입이 정답이라고 생각했기 때문에 내가 만든 컨트롤러는 모두 생성자를 통해 의존성을 주입했는데 이런 방식으로 하는 사람이 나밖에 없다는 것에 좀 충격을 먹었다.😨 그래서 이번 기회에 의존성주입 방식에 따른 차이점을 좀 정리해보기로 했다.의존성 자동 주입은 왜 하는걸까?의존성 주입의 원리를 알아보려면 스프링의 빈 컨테이너와 빈..

개인 기술 블로그로 티스토리를 사용하다가 한동안 벨로그 를 사용해왔다. 큰 이유가 있던것은 아니고 뭔가 간결하고 더 개발자스러워서 사용했던건데, 가끔 이미지 첨부를 할때 크기조절이 안되는 이슈가 있었다. 이게 그런거 웃긴게 벨로그는 글 작성 칸 우측에 미리보기 기능을 제공하는데 미리보기에는 크기 조절이 된 버전으로 보여주느데, 실제로 글 작성을 완료하면 이미지 크기 조절이 되지 않는다.🤷♂️ 해당 이슈를 깃허브에 올려놓은 사람이 있었으나 개발자분의 별다른 코멘트도 없고 작성 시기도 꽤 지난거 보면 유지 보수를 더 이상 하지 않는것으로 보인다. 혹은 해당 이슈에 대해 아직 인지를 못한 것일까? 나는 블로그에 이미지를 첨부할때 figma 를 주로 사용하여 제작하는 편이다. figma 의 본래 용도에 맞게 ..

3개월 전부터 알고리즘 스터디를 진행하고 있는데 깃허브 레포지토리를 만들어서 흔적을 남기고 있다. 기본 설명을 하는 README를 내가 작성하게 되었는데 클래스명, 파일명에 대한 컨벤션은 큰 기업의 코딩컨벤션을 따라서 하기로 정했지만 커밋 메세지에 대한 컨벤션은 따로 정하지않고 간단하게 작성하기로 결정했다. 그러다가 우아한테크코스깃허브 레포지토리에서 커밋 메세지에 대한 컨벤션을 정한것을 보고 한번 찾아봤는데 알아두면 좋을것 같고 형식을 참고하면 나중에 회사의 커밋 메세지 컨벤션을 따를때도 별 어려움이 없을것같아서 정리해봤다. [type]([scope]): [subject] /* 공백 */ [body] /* 공백 */ [footer] (종료되었다면)[Closes #이슈번호] 여러 형태가 있겠지만 이런 형식..

많은 자료구조 중에서 Map은 정말 많이 사용하는 자료구조 중 하나이다. 나도 강의를 통해서 듣고 혼자서도 활용해본 적도 많지만 이번에 새로운 알고리즘을 공부하면서 문득 한 번은 정리를 해놓는 게 좋을 것 같아서 정리하기로 마음먹었다. Hash? Map ? HashMap은 Hash와 Map 이 합쳐져서 만들어진 용어다. Map은 파이썬에서도 한번 공부한 Key와 Value를 가지고 있는 자료구조라는 것은 알겠는데 Hash란 무엇일까? 위키백과의 정의만으로도 의미 파악에 큰 도움이 되었다. 해시 함수 (hash function)는 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수이다. 해시 함수에 의해 얻어지는 값은 해시 값, 해시 코드, 해시 체크섬 또는 간단하게 해시라고 한다. (출처 : h..

엄청난 무더위가 계속되고 있다. 장마는 벌써 끝났다는데 적당한 소나기 정도로 비 와서 한 번씩 땅을 식혀주면 어떨까 할 정도로 무더위가 계속되는 나날이다. 올해 초 어쩌다 주니어 개발자 오픈 채팅방을 들어간 뒤로 종종 정보를 얻고 있는데, NKLKB 라인에서 재직 중이신 분이 말씀하기를 그분은 면접 때 알고리즘 질문만 주구장창 받았다고 한다. 신입 포폴을 보는 것이 의미가 없어서 그런 게 아닐까? 하는 게 그분의 생각이었다. 아무튼 알고리즘에 대한 의지가 조금 더 불타올랐다.🔥 내가 처음 시작한 알고리즘 공부는 지금 생각해보면 맨땅에 헤딩 수준이었던 거 같다. 어떤 거를 공부하고 어떻게 공부해야 하는지 몰라서 그랬기도 했지만 독학으로 하려고 해서 그랬던 거 같다. 다짜고짜 백준부터 풀었는데 문제도 막히고..

최근에 봤던 두 번에 걸친 웹 개발 기초와 프로그래밍 언어에 대한 학습 이해 그리고 면접을 걸친 장장 약 3주 동안 진행되었던 코딩 부트캠프 지원은 역시 이번에도 불합격으로 마무리 지었다. 이메일 한통에 담긴 불합격이 솔직히 좀 익숙하긴 한데 받을 때마다 화나는 건 어쩔 수 없다...^^ 부트캠프에 탈락했으므로 다시 알고리즘에 집중할 때이다. 하반기에는 합격소식이 늘었으면. 이때까지 코테를 봤을 때 요구사항 구현에서 막힌 적이 대부분이지만 간혹 효율성을 보는 문제에서 정답으로 해당하는 값이 출력됨에도 불구하고 효율성이 안 좋아서 제출하지 못했던 적도 있다. 그래서 그 부분을 한번 정리해보기로 한다. 알고리즘의 효율성을 논할때는 공간 복잡도(space complexity)와 시간 복잡도(time compl..

저번에 이어서 이번에는 ViewResolver 부분과 Model 부분에 대해서 공부할 차례이다. ViewResolver 저번에 DispatcherServlet에 대해서 공부하면서 비즈니스 로직의 처리하고 결과를 View와 ViewResolver가 준다는 것을 알았다. ViewResolver는 DispatcherServlet이 WebApplicationContext에 적재할 빈들의 정보를 읽는 Servlet-context.xml에 정의되어있다. InternalResourceViewResolver를 빈으로 가지고 prefix에서 설정하는 값 + 컨트롤러에서 주는 값 + suffix를 합친 경로에서 view를 찾는다. Model 클라이언트 부분에서 요청을 받고 DispatcherServlet이 그 요청을 처리..

스프링을 접한 지 어느덧 9개월 정도 지났다. 그동안 스프링만 공부한 것이 아니라 SQL, JS 등등 여러 가지를 공부했기 때문에 스프링 자체에 대한 깊이 있는 지식을 갖고 있다고 자부하기는 좀 어려웠다. 그래서인지 스프링을 처음 접했을 때부터 뜬구름 잡는 요소들이 몇 가지 있어서 그것들을 확실하게 짚고 가기로 했다. 이 그림은 학원다녔을때 강사님이 그려주신 그림인데 왜 그때 확실하게 개념을 잡지 않았을까 하는 후회가 새삼 든다. 하지만 그때는 그날 진도 따라가는 것부터 혼돈이었으니까 그런 거라고 생각하자 사실 Spring MVC를 배울때 썼던 자료 기는 하지만 SpringBoot도 어차피 기반으로 하는 것은 비슷할 테니 이 순서대로 공부해 보기로 했다. Listener (ContextLoaderList..