스프링부트를 사용하면서 로그를 찍기위해 서비스에 아래와 같은 로그를 초기화하여 사용하고 있었다. 그런데 사수님께서 static 안붙인 이유가 있는지, static 붙이고 안붙이고의 차이가 무엇인지 물어보셨다. static은 메모리에서 저장되는 위치가 힙 영역이 아니라 데이터 영역(전역변수, static 변수)에 저장되어 여러 클래스 객체를 생성하더라도 하나만 공유한다고 알고 있었다. 그런데 스프링은 빈에 인스턴스를 등록해 싱글톤으로 관리되는데 굳이 static으로 할 필요가 있나? 라는 생각을 갖고 열심히 인터넷을 뒤적거려봤다. 참고에 뒤적거린 사이트들을 적어두었다. static을 사용하면 생기는 장점 1. 잘 알려진 관용구이다. (이게 왜 장점이지?) 2. CPU, Memory 오버헤드가 적다. log..
SSR을 위한 JAVA 템플릿 엔진인 thymeleaf에 대한 정리를 이 포스트 하나로 끝내려고 한다. 사용방법 implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' gradle 기준으로 위와같이 작성하면 된다. spring.thymeleaf.cache=false application.properties에 위와같이 작성한다. 캐싱을 하지 않는다는 뜻이고, FE쪽 코드 수정시 바로 반영될수 있게 하기 위해 개발 환경에서는 꺼두는 것이 좋다.
SQL 쿼리는 MySQL을 기준으로 합니다. 게시글 목록 화면을 구현할 때 10개의 게시글에대한 각각의 댓글의 개수를 가져오고 싶었다. LEFT OUTER JOIN을 하고 COUNT만을 사용하게 되면, 다른 LEFT OUTER JOIN이 있을경우 올바른 댓글의 개수를 가져오지 못할 수 있다. 중복되는 comment.id가 존재할 수 있기 때문이다. SELECT COUNT(comment.id) AS commentCount FROM board LEFT OUTER JOIN comment ON board.id = comment.boardId 이렇게 오로지 comment만 LEFT OUTER JOIN을 사용한다면 문제없이 댓글의 개수를 가져올 수 있다. 그런데 만약에 다른 LEFT OUTER JOIN이 추가되어 ..
2023년 6월 즈음 몇몇 곳의 면접을 모두 떨어지고 무엇을 해야 하나 고민을 정말 많이 하던 시기였다. 그러던 중 네이버 부스트캠프 모집 공고를 보게 되었다. 사실 처음에는 할 생각이 없었다. 나는 자바 웹 백엔드 분야로 취업을 준비하고 있었는데 이곳은 처음에는 풀스택으로 배우고, 백엔드 분야로 나누더라도 자바가 아닌 자바스크립트를 사용한다고 나와있었기 때문이다. 고민하다가, 그래 지금 내 사정에 거를게 뭐가 있냐 라는 생각에 일단 써보기로 결심했다. 다른 부트캠프와 다르게 지원금도 나오지 않고, 지원할 때 만원을 내야 한다는 사실이 한번 더 고민하게 했지만, 그래도 결국 마지막날에 여러 양식들을 모두 작성해 지원하게 되었다. 얼마뒤 1차 코딩테스트가 있었다. 알고리즘 2문제와 CS 지식 문제가 나왔던..
in this work it 관련 채용 공고 https://inthiswork.com/?s=IT%EA%B0%9C%EB%B0%9C 점핏 https://www.jumpit.co.kr/ 자소설 닷컴 https://jasoseol.com/ 채용은 아님, 스타트업 모음 혁신의 숲 https://www.innoforest.co.kr/ 회사별 복지 설명 복지리 https://bokziri.notion.site/bokziri/Bokziri-com-3e16ab5efbba47ad95d923c2de142255 모든 분야 채용 공고 있음 잡코리아 https://www.jobkorea.co.kr/ 국민대 https://cs.kookmin.ac.kr/news/jobs/
총 6주 프로젝트에서 2주차 부터 본격적인 개발을 시작했습니다! 1주차에는 개발 시작 전 여러 규칙들을 정하고 저희 프로젝트의 뱡항성을 잡는데 많은 시간을 쏟았습니다. 총 6주라는 프로젝트 기간 중에 약 4주정도를 개발하는 시간으로 쓸 예정이었고 이에 맞춰 모든 개발해야할 기능들을 정리했습니다. 개발할 모든 기능을 작성 한 뒤 주차별로 우선순위를 두어 개발할 기능들을 정했습니다. 그리고 드디어 2주차부터 분배한 기능들의 개발을 시작했습니다. 이번 포스트에서는 2주차 기능 개발 내용을 담았습니다. 프론트 - 무지, 콘, 네오 백 - 저(제이지), 프로도 문제 api 구현 가장 처음 구현할 api는 바로 문제 CRD api입니다. 저희는 알고리즘 대회서비스이기 때문에 알고리즘 문제가 있어야 합니다. 저희 초..