Framework & Runtime 7

Kotlin Spring Boot 에 Querydsl 종속성이 추가된 프로젝트 소스 공유

스프링 이니셜라이저에는 왜 querydsl 이 없는가! 그래서 제가 공개 레포 템플릿을 하나 만들었습니다. https://github.com/Kuass/Kotlin-Spring_Boot-Example GitHub - Kuass/Kotlin-Spring_Boot-Example: Why isn't there a querydsl in the spring initializer! Why isn't there a querydsl in the spring initializer! - GitHub - Kuass/Kotlin-Spring_Boot-Example: Why isn't there a querydsl in the spring initializer! github.com

Spring Boot REST API Spring Security 고유키 만들어서 접근 제한하기(api key and secret)

망 자체는 공용망을 사용하지만, 접근은 특정 인증키를 확인하여 접근을 가능토록 구현을 하고 싶었습니다. 구글에 일반적으로 Spring Security API Key 등을 검색하면 JWT 등과 로그인.. 비밀번호 와 같은 포스팅이 검색됩니다. 이 포스팅에서는 해당 내용이 아니니, 참고 바랍니다. 해당 포스팅은 https://stackoverflow.com/questions/48446708/securing-spring-boot-api-with-api-key-and-secret 해당 글을 인용하였으니 참고 바랍니다. 1. APIKeyAuthFilter.java 를 만들어줍니다. 필자 같은 경우는 이러한 경로에 만들었습니다. 2. 아래와 같이 시큐리티 필터 코드를 작성해줍니다. import org.springf..

[Querydsl] 하나의 응답을 원할 때, exist 사용을 자제하자.

우선, 제가 아는 지식내에서는 exist 메소드를 사용함으로 얻는 이점이 없으므로 작성한 내용입니다. 1 2 3 4 5 6 7 8 public Boolean memberExists(Long memberId) { Integer findMember = queryFactory .selectOne() .from(member) .where(member.memberId.eq(memberId)) .fetchFirst(); return findMember != null; } Colored by Color Scripter cs 위처럼 fetchFirst() 를 이용하자. limit(1) 과 동일한 개념이며 사용시 원하는 결과를 찾을경우 쿼리가 종료되기 때문에 성능에 도움이 된다. exist()를 사용할경우 select에..

[Querydsl] 동적 쿼리를 BooleanExpression 으로 작성하기

우선 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 @Override public List findDynamicQuery(String name, String age, String phoneNumber) { BooleanBuilder builder = new BooleanBuilder(); if (!StringUtils.isEmpty(name)) builder.and(member.name.eq(name)); if (!StringUtils.isEmpty(age)) builder.and(member.age.eq(age)); if (!StringUtils.isEmpty(phoneNumber)) builder.and(member.phoneNumber.eq(phoneNumbeR)); retu..

[Nodejs 배우기-2] 이벤트 기반, 블로킹 I/O

주의! Node.js 를 처음 접해보는 초보 개발자가 정리하는 글이므로 부족한 점이 많을 수 있습니다. 이벤트 기반 이벤트 기반(event-driven)이란 이벤트가 발생할 때 미리 지정해둔 작업을 수행하는 방식을 의미한다. 이벤트로는 클릭이나 네트워크 요청 등이 있을 수 있다. 이벤트 기반 시스템에서는 특정 이벤트가 발생할 때 무엇을 할지 미리 등록해 두어야 한다. 이를 이벤트 리스너(event-listener)에 콜백(callback) 함수를 등록한다고 표현한다. 버튼을 클릭할 때 경고창을 띄우도록 설정하는 것을 예로 들자면 클릭 이벤트 리스너에 경고창을 띄우는 콜백 함수를 등록해두면 클릭 이벤트가 발생할 때마다 콜백 함수가 실행되어 경고창이 발생되는 것이다. 노드도 이벤트 기반 방식으로 동작하므로,..

[Nodejs 배우기-1] Node.js 의 개념, 런타임

주의! Node.js 를 처음 접해보는 초보 개발자가 정리하는 글이므로 부족한 점이 많을 수 있습니다. 노드 공식 사이트에서는 노드를 다음과 같이 설명하고 있다. Node.js 는 Chrome V8 Javascript 엔진으로 빌드된 Javascript 런타임 입니다. 저도 그렇고 사람들도 그렇고 서버(BackEnd)로 사용하는 방법을 익히기 위해 접근을 한다. 하지만 공식 사이트의 노드 소개글에는 서버라는 말이 없으니 당황스러울 수 있다. 하지만 서버라는 말이 없는 이유는 서버만 할 수 있는 언어가 아니기 때문이다. 먼저 서버와 런타임이 무엇인지 알아보자. 1.1.1 서버 노드를 통해 다양한 자바스크립트 애플리케이션을 실행할 수 있지만, 노드는 서버 애플리케이션을 실행하는 데 제일 많이 사용한다. 서버..