김영한 5

A-Z Query dsl 학습하기 그리고 이해하기

본 내용은 infrearn 김영한 님의 query dsl 강의를 수강 후 정리한 글입니다. 코드 위주의 설명보다는 해당 강의를 보고 얻게된 지식이나 인사이트와 관련된 글입니다. 또한 Query dsl에 관한 저의 느낀점과 학습한 점을 정리한 것이라 Query dsl 사용 관련 내용을 담고 있지는 않습니다.. 목차 Query dsl 들어가기 내가 학습한 Query dsl ( 의존성만 등록해봅시다 ) Query dsl 마무리 Query dsl 들어가기 네? query dsl이요? 그게 뭔가요? querydsl을 알게 된 것은 작년 이맘 때쯤이였다.. 졸업작품 프로젝트를 시작하고, 어떻게 데이터를 검색할까에 관한 물음의 답이 바로 Query dsl이였다. 기술적 의사결정을 내린 후 본격적으로 query dsl..

JPA - 영속성 컨텍스트 (2022.12.11 추가)

전에 JPA가 무엇인지 간략하게 짚고 넘어갔고, 이번엔 왜 JPA가 중요한지에 대해 짚고 넘어가고자 한다. JPA가 부여받은 임무는 다음과 같다. 객체와 관계형 데이터베이스 매핑하기(Object Relational Mapping) 영속성 컨텍스트 객체와 RDB를 Mapping? 영속성 컨텍스트? 대체 이 것들이 무엇일까? 왜 JPA에서 이 두가지가 중요한지 궁금증이 생길 것이다. 우선 영속성 컨텍스트에 대해 짚고 넘어가야 한다. 1. 영속성 컨텍스트란 무엇인가? 2. Entity 생명 주기 3. 영속성 컨텍스트의 장점이자 이점 1. 영속성 컨텍스트? 영속성 컨텍스트는 애플리케이션과 데이터베이스 사이에 데이터를 보관하는 논리적 개념인데, 쉽게 설명하면 "엔티티를 영구 저장하는 환경" 이라는 뜻..

스프링/JPA 2022.12.09

What is JPA(Java Persistence API)?

if(백엔드 개발자를 희망하는 사람 中) if(Spring Framework를 사용하는 사람이라면) known JPA 웃고자 대충 만들었다. 그 정도로 Spring을 사용해본 경험이 있으면 JPA를 모를수가없다. 오늘은 이 JPA와 관련해 이야기를 나눠보려고 한다. 이 글은 인프런-김영한 자바 ORM 표준 JPA 프로그래밍을 참고한 내용입니다. 우리는 Spring JPA를 사용하면서 이 JPA가 무엇인지, 왜 사용하는지를 여러 번 고민해본 적이 있을 것이다. JPA는 그냥 어마무시한 놈이다 이 JPA를 사용하는 이유는 바로 이 것이다 객체와 관계형데이터베이스(RDB)간의 패러다임의 불일치를 해결 - 목차 - 1. JPA란? 2. JPA를 왜 사용해야 하나? 3. JPA의 동작과정 1. JPA란? JPA(..

스프링/JPA 2022.12.09

Day.14 타임어택 및 웹 애플리케이션

알고리즘 타임어택이 있던 당일 금일 9시부터 11시까지 Python 또는 Java를 이용해서 문제를 해결 솔직히 알고리즘에 자신이 없었지만 한번 풀어보자는 생각을 했다. 문제를 확인해보니 엥?.... 쉬운데?... 난이도는 쉬워서 수월하게 문제를 풀 수 있었지만, 프로그래머스를 처음으로 이용해봐서 계속 런타임이 났다.. 그 이유는 코드 전체를 쓰는 것이 아니라, 로직부분만 구현했으면 됐다는... :( 로컬에서는문제가 없는데 계속 런타임 오류가 나서 시간을 많이 소모했다. 문제의 난이도는 프로그래머스 0단계 수준 조금만 생각하면 충분히 누구나 풀 수 있는 문제들이었다. 나는 기존에 자주 사용하던 Java를 이용해 문제를 해결했고, 4문제의 문제가 출제되었는데 4문제를 다 해결했다. 문제는 다음과 같다. (..

로깅 간단히 알아보기

서비스를 개발하고 테스트를 할 때, 그 로직이 잘 동작하는지를 확인하는 방법은 다양하다. 그 중에서 나는 보통 출력문 하나를 넣어서 잘 출력이 되는지를 확인하고는 했는데, 이러한 방식은 실무에서 사용하지 않고 사용을 권장하지 않는다. 그래서 출력문이 아닌 별도의 로깅 라이브러리를 사용해 로그를 출력하는데, 이 로깅 라이브러리의 종류가 매우 많다. 그래서 몇 개의 예시를 통해 정리해보고자 한다. @RestController public class LogTestController { // 이 코드는 로그를 선언하는 방법이다. private final Logger log = LoggerFactory.getLogger(getClass()); // 5번라인의 로그 선언 방법 외에도 아래 2개의 방법이 있다. pr..

스프링/백엔드 2022.05.18