오늘/Today I..
-
23/12/14 스프링에서 static 사용을 지양하는 이유오늘/Today I.. 2023. 12. 14. 17:04
최근 자바책을 펴 볼 기회가 있었다. 그 책에서는 익숙하게 사용하였지만, 스프링에서는 뭔가 위화감이 드는 부분을 발견하였는데 스프링에선 클래스에 static을 쓰지 않는다는 것이다. 생각보다 사소한 변화였기에 왜 이상한지 그동안 알아차리지 못하였는데 그 이유를 적어보고자 한다. static을 지양하는 이유 첫번째. 스프링은 기본적으로 빈을 싱글톤으로 관리한다. 그렇기 때문에 하나만 생성되어 여러곳에서 공유하여 사용하는 것이 일반적인 사용방법인데, static은 인스턴스가 아닌 클래스 수준에서 관리되기 때문에 싱글톤 빈의 생명주기와 맞지 않게 된다. 두번째. 테스트 호환성 문제 static은 실행시점에 초기화된 후 종료시점까지 메모리에 남아있는다. 그래서 테스트 수행 시 한 테스트 케이스에서 static ..
-
23/12/13 Docker란?오늘/Today I.. 2023. 12. 13. 22:35
컨테이너 기반의 오픈소스 가상화 플랫폼 컨테이너란? 소프트웨어와 그 dependency를 하나로 패키징하는 것. 이렇게 패키징한 소프트웨어는 어느 환경에서도 동일하게 실행할 수 있다. 도커의 특징 1. 독립성과 표준화 컨테이너는 독립적으로 실행, 실행에 필요한 모든 요소를 포함하므로 어떤 환경에서도 동일하게 작동 2. 경량성 가상머신은 환경에 OS를 포함시키기 때문에 무겁다. 하지만 도커는 호스트 시스템의 운영체제를 공유하기 때문에 별도의 OS를 포함하지 않아서 훨씬 적은 자원을 사용한다. 3. 이식성 컨테이너는 어느 환경에서도 작동하기 때문에 이식성이 좋다 4. 버전관리 버전관리를 지원함. 5. 확장성 도커를 사용하는 이점 1. 환경 일관성 어떤 환경에서도 동일하게 작동하기 때문에 "저는 되는데 왜 서..
-
23/12/12 JPA와 QueryDSL 의 차이오늘/Today I.. 2023. 12. 13. 00:11
JPA (Java Persistence API) - 자바표준 ORM 기술. - SQL이 아닌 자바코드로 DB CRUD를 처리할 수 있게 도와줌 - 개발자가 SQL을 직접 작성하지 않아도 되어 편리 - DB 간 호환성을 높여줌 - 다만 쿼리에 오류가 있을 경우, 런타임에서만 확인가능 QueryDSL - Type-Safe한 쿼리를 작성할 수 있게 해주는 프레임워크 - 쿼리를 자바코드로 작성하기 때문에 컴파일 시점에 쿼리의 문법 오류를 잡아낼 수 있다. - 동적 쿼리 작성이 용이 - 코드 자동완성 등의 IDE 도움을 받을 수 있다. 선택 JPA는 쿼리작성의 편리성과 DB간 호환성 중요시 적합 QueryDSL은 Type - Safe한 쿼리 작성과 동적쿼리 필요시 적합 그렇지만 JPA로 기본적인 CRUD 연산을 ..
-
23/11/20 프로젝트 끝오늘/Today I.. 2023. 11. 20. 17:36
WHAT I DID TODAY 프로젝트 완성? DETAILS 프로젝트 TIL 해설강의 듣고 몰아서 작성할 예정 ANYTHING 저번 개인 프로젝트를 소달구지처럼 겨우 굴러가게 만들었다고 후회했는데 이번엔 더 낡은 달구지가 나왔다. 심지어 마지막엔 댓글기능을 나름 개선했는데 결과는 더 나빠져서 미친듯이 Undo Commit과 Revert를 눌렀다. 무지성으로 Push 안한게 정말 다행이다. NEXT SCHEDULES 4주차 쇼핑몰 마무리 해설강의 저번주 특강들 보기
-
23/11/16 막히는 프로젝트오늘/Today I.. 2023. 11. 16. 21:13
WHAT I DID TODAY 스프링 개인 프로젝트 CRUD 구현 Redis 찍먹 DETAILS 스프링프로젝트2 1일차 프로젝트 개요 이전 스프링 프로젝트1 (게시판 CRUD) 을 바탕으로 기능을 추가구현하여 Todo 애플리케이션 제작 구현사항 특징 1. 회원가입 2. 로그인 3. 기존의 CRUD에 회원정보 추가 4. 댓글기능 추 like-it-too.tistory.com ANYTHING 치타 어쩌구.. 긴장 어쩌구.. NEXT SCHEDULES CRUD 완성 18시까지 JWT 적용
-
23/11/15 책 조금, 코테 조금, 스프링 조금오늘/Today I.. 2023. 11. 15. 21:13
WHAT I DID TODAY 개인프로젝트 시작 클린코드 읽어봄 코테 몇문제 풀어봄 (아침부터 코드카타 쉽지않음) 스프링 JWT 빼고 복습 다 해 봄 자바 컬렉션 프레임워크 조금 봄 DETAILS 클린코드 처음 이 책을 알게된 건 친구에게 프로젝트 코드 리뷰를 받을 때 였다. 그때 친구는 코드 리뷰가 끝난 후 관련 내용에 대해 좀 더 자세히 알고 싶다면 이 책을 보라고 추천했었다. 이때까지만 해 like-it-too.tistory.com 프로그래머스 분수의 덧셈 처음에는 그저 numer1/ denom1 , numer2/denom2 를 싹 다 약분해서 돌리고 그 값을 서로 더해주면 끝이라고 생각했다. class Solution { public int[] solution(int numer1, int deno..
-
23/11/14 2주차 마무리 및 개인프로젝트 ERD 작성오늘/Today I.. 2023. 11. 14. 21:15
WHAT I DID TODAY 2주차 복습 끝 ERD 작성 개인프로젝트 CRUD 구현 DETAILS 깔끔한 코드 작성에 관한 의문 (과 해결) 소트웍스 앤솔러지 라는 책을 읽은 사람의 책을 보며 이러한 궁금증이 생겼다. 메소드 분리 규칙1. 한 메소드에 오직 한 단계의 들여쓰기만 한다. 규칙2. else 예약어를 쓰지않는다. 객체 분리 규 like-it-too.tistory.com 스프링 2주차 복습 IoC와 DI는 객체지향의 SOLID 원칙 그리고 GoF의 디자인패턴과 같은 설계원칙 및 디자인패턴이다. IoC는 설계원칙에 해당하고, DI는 디자인패턴에 해당한다. 설계원칙은 백엔드에선 SOLID가 대부분이 like-it-too.tistory.com ANYTHING 2주차까지 복습을 마무리하였고 3주차를 ..