본문 바로가기
관리자

분류 전체보기

(1002)
[TIL]sql insert into values에 컬럼/필드 명 표시 insert into문에서 굳이 컬럼/필드명을 다 표시할 필요없이 values 부분에서 [Alt + Enter]로 'Enable In INSERT values'를 선택하면 intelliJ가 각 컬럼명을 표시해준다.
[자바 기초] 2. 자바의 동작원리 : 클래스 로딩과 JVM 메모리 지난 글에서 우리가 작성한 소스 코드는 javac 컴파일러에 의해서 바이트코드로 변환된다고 했다. 이것이 .class 확장자를 갖는 파일이며 이 파일들이 classLoader에 의해 JVM(Java Virtual Machine)에 로딩된다. 이번 글에서는 클래스가 로딩되는 JVM 메모리의 구성과 과정에 대해서 이해해본다. 1. Loading, Memory의 의미 Load 의 의미 classLoader를 검색해보면 클래스 파일들을 로딩하는 역할을 한다고 나와있다. 그런데 도대체 로딩이 무엇인지 설명하는 글을 찾기가 어렵다. 컴파일된 파일들을 로드한다는 것이 무슨 의미일까? 클래스 파일을 로드한다는 것은 프로그램에서 클래스 파일을 이용할 수 있도록 특정 메모리 영역에 클래스 파일의 정보를 저장하는 것을 의미..
[비공개] Weekly Report - 21/12/06~21/12/11, 532일차 보호되어 있는 글입니다.
[비공개] Weekly Report - 21/11/29~21/12/05, 525일차 보호되어 있는 글입니다.
[자바 기초] 1. 자바의 동작원리 : 프로그래밍의 동작 원리 1. 자바 개요 자바는 1996년에 JDK 1.0으로 최초 출시되었다. 원래는 다양한 환경에서 작동하는 프로그래밍 언어를 만들기 위해서 고안되었으며, 가전제품 내 탑재되기 위해 개발되었다고 한다. 자바의 특징 중 가장 중요한 점은 JVM(Java Virtual Machine, 자바 실행환경)에서 동작한다는 점이다. 이 덕분에 자바는 운영체제(OS)에 호환되는 JVM만 있다면 어떤 OS에서도 동작이 가능하다. 2. 자바 코드 실행 과정 자바 코드의 실행 과정은 아래 그림으로 요약된다. 여기서 우선 JAVA Compiler가 작동하는 원리에 대해서 이번 글에서 자세히 알아본다. 3. 컴파일 : Java Source -> Java Byte Code 사용자가 java 환경에서 작성하는 코드의 확장자는 .java..
[Querydsl][작성중] 6. 실무 활용 - 사용자 정의 Repository 1. 사용자 정의 Repository Spring Data Jpa 등에서 제공하지 않는 querydsl을 적용한 sql문 작성을 위해서는 사용자 정의 레포지토리가 필요하다. 강의 자료에 따르면 다음과 같이 구성하면 된다. 이 방식은 기존에 작성해둔 MemberRepository interface 를 계속 사용하겠다는 의미가 된다. 코드로 보면 아래와 같다. MemberRepositoryCustom 1 2 3 public interface MemberRepositoryCustom { List search(MemberSearchCondition condition); } Colored by Color Scripter cs Custom 인터페이스를 상속받는 구현체인 MemberRepositoryImpl.clas..
[Querydsl] 5. 중급 문법 - 벌크연산, SQL function, 동적 검색 적용 API 개발해보기 1. 벌크연산 JPA 기본에서 JPQL문의 createQuery 뒤에 .executeUpdate() 구문을 넣어주면 벌크 연산이 가능하다고 배웠었다. 벌크 연산 후 em.flush, em.clear를 실행하거나 spring data jpa에서는 @Modifying을 적용해서 영속성 컨텍스트가 동기화되도록 만들어줘야 한다는 것도 배웠다. (https://whitepro.tistory.com/439) querydsl에서는 .execute()를 넣어주면 된다. 1 2 3 4 5 6 7 8 9 10 11 12 @Test public void bulkUpdate() { //28살 이하의 member1, member2의 이름이 "비회원"으로 변경 long count = jpaQueryFactory .update(m..
[TIL][링크] MapStruct 라이브러리 - @AfterMapping org.mapstruct 에서는 @AfterMapping 어노테이션을 지원한다. 해당 기능을 이용하면 데이터 전달 오브젝트인 DTO에서, 또는 DTO로 의 mapping이 일어난 후 어떤 메서드가 자동으로 실행되도록 할 수 있다. Mapper 클래스에서 @AfterMapping으로 mapping후 특정 메서드가 작동되도록 선언한다. 사용자로부터 입력받지 않은 값, 또는 서버에서 굳이 복잡한 로직을 거치지 않고 간단한 값을 클라이언트에 전달해주고 싶을 때 유용하게 사용할 수 있다. 예시코드 1 2 3 4 5 6 7 8 @Mapper(componentModel = "spring") public abstract class XxxPoToDtoMapper implements 제네릭으로 정의한 Mapper 인터페이..