이번 글에서는 QueryDSL 을 사용하면서 로그에서 출력되는 SELECT 쿼리를 심플하게 만들어주는 방법에 대해 설명하고자 합니다. spring.jpa.properties.hibernate.use_sql_comments=true 이 설정을 적용하면 QueryDSL에서 사용하는 쿼리일 떄, JPQL 에서 생성되는 지저분한 SQL 포맷을 깔끔한 코멘트의 내용으로 확인할 수 있습니다. 예를 들어 Member.java 가 아래와 같다고 가정해보겠습니다. @Entity @Getter @Setter public class Member { @Id @GeneratedValue @Column(name = "member_id") private Long id; private String username; private I..
HTML5의 URL과 URLSearchParams 객체에 대해 알아보겠습니다. IE에서는 안 되지만, 모던 브라우저에서는 사용할 수 있는 기능입니다. 웹은 주소를 기반으로 동작하기 때문에 주소를 자유자재로 다룰 수 있으면 좋습니다. 특히, 쿼리스트링을 파싱하는 것과 같은 귀찮은 작업을 간단히 처리할 수 있어 편리합니다. 노드의 url 모듈과도 비슷합니다. 사용 예시를 봅시다. URL 생성자에 주소를 넣어 인스턴스화하면 됩니다. const url = new URL('https://www.abbo.com:8080/category/HTML'); url.href; // https://www.abbo.com:8080/category/HTML url.origin; // https://www.abbo.com:8080..
Author: 주니용 프로그램을 개발하기 위해서는 프로그래밍만 잘하면 안된다. 기본적으로 사용자들에게 보여주기 위한 데이터를 축적해놓아야 하고, 그 데이터를 수정하거나 입력하는 동작도 필요하다. 필요에 따라서는 데이터를 삭제해야 하는 경우도 발생한다. 우리가 대체적으로 사용하고 있는 앱들은 이러한 과정들을 사용자에게 보여주지 않고, 프로그램 내부에서 작동하는 경우가 대부분이다. 서버 개발자들은 이런 일련 과정들을 처리하는 프로세스를 개발하는 일이 정말 많다. 이것이 클라이언트 개발자와의 차이라고 볼 수 있다. 그래서 클라이언트에게 제공되는 API는 서버 개발자들이 만드는 경우도 많다. (필요에 따라서는 클라이언트 개발자가 같이 작업을 진행하는 경우도 있음) 위에서 말한 데이터의 가공을 위해 우리는 테이블..