분류 전체보기
QueryDSL
Reference[1] QueryDSL (http://www.querydsl.com/static/querydsl/3.6.3/reference/ko-KR/html_single/#d0e1861)[2] queryDSL & Spring Data JPA (http://netframework.tistory.com/380)[3] 권남 (http://kwonnam.pe.kr/wiki/java/querydsl)
Hibernate Dialect (ORA-00933 Pagable error)
Hibernate를 사용하다가 ORA-00933이 발생하였다.Pagable에 대한 처리를 해야 하는데 오라클인데 쿼리에 "limit"와 "offset"을 사용하여서잘못된 쿼리를 만들어서 발생을 하게 된 것이었다. 처음에는 하이버네이트 왜 이러지 싶었고, Spring Data JPA의 문제인가오라클에서는 제대로 처리를 못 하나 싶은 생각이 들었지만역시나 나의 설정 문제였다. org.hibernate.dialect.Oracle10gDialect 오라클 방언 설정을 해야 하는데 H2Dialect를 사용했다가 발생한 문제였다.오라클 방언으로 설정 변경 후 제대로 동작한다. Diacect의 종류는 다음과 같다. RDBMS Dialect PostgreSQL org.hibernate.dialect.PostgreSQL..
함수형 프로그래밍이 주목받는 이유
.함수형 프로그래밍이 주목받는 배경과 장점에 대해서 Refreence [1][2]를 참조해서 요약을 해보았습니다. 배경무어의 법칙이 깨지고 멀티코어 CPU의 등장* 컴퓨터에서 사용하는 반도체 회로 성능은 대략 18개월마다 2배로 빨라진다는 법칙* 2000년대 중반부터 법칙이 깨짐* 물리적인 한계에 부딪힌 CPU 회사들은 여러 개의 칩이 병렬적으로 동작을 하도록 만드는 수평적 전략을 채택 프로그래밍 환경의 변화* 단일코어 환경 : “멀티쓰레딩” 코드는 여러 개의 쓰레드가 하나의 CPU를 가장 효율적인 방식으로 공유하도록 만드는데 초점을 기울임* 멀티코어 환경 : “멀티쓰레드” 코드는 이제 어플리케이션이 동작하는 동안 놀고 있는 CPU가 없도록 만드는데 초점을 기울임 동시성 코드 작성의 어려움* 브라이언 괴..
JPA, Hibernate 속성 정리
데이터베이스 스키마 자동 생성hibernate.hbm2ddl.autocreate: 기존테이블 삭제 후 다시 생성 (DROP + CREATE)create-drop: create와 같으나 종료시점에 테이블 DROPupdate: 변경분만 반영(운영DB에는 사용하면 안됨)validate: 엔티티와 테이블이 정상 매핑되었는지만 확인none: 사용하지 않음매핑 어노테이션@Columnname: 필드와 매핑할 테이블의 컬럼 이름insertable, updatable: 읽기 전용nullable: null 허용여부 결정, DDL 생성시 사용unique: 유니크 제약 조건, DDL 생성시 사용columnDefinition, length, precision, scale (DDL)@Temporal 날짜 타입 매핑@Temporal..
아파트 중문, 현관문, 현관 바닥 셀프 인테리어
아파트 전세로 이사를 오면서 많은 고민이 생겼다.이전에는 신축 빌라라서 손을 댈 것이 없었는데, 지은지 10년이 넘은 아파트를 와보니전부 체리색에 이것저것 깔끔하거나 온전한 것이 없었다. 그래서 나름대로의 셀프 인테리어를 시작했는데그 중에서 와이프와 최고로 힘들게 한 것이 현관 및 중문이었다.체리색으로 도배가 된 대다가 현관문은 너무나도 칙칙하였다.게다가 옆 유리는 너무 크고 때가 많이 타있었다. - Before - 그래서 와이프와 나는 밤마다 아기를 재운 후에 셀프 인테리어를 하기로 마음 먹었다.실제로 아기를 9~10시쯤에 재운 후에 새벽 1시까지 페인트 칠이며 젯소 칠 등의 일을 하고는 잠을 잤다.와이프와 나는 예쁜 현관문 색에 대한 로망을 갖고 있었는데 그 꿈을 이루게 되었다. 현관문은 코발트 블루..
신혼 전세집 빌라를 떠나며.
결혼을 하고 나서,처음에는 지방에서 일하는 아내 때문에 어쩔 수 없이 주말부부로 시작했다. 그러다가 주말부부를 끝내면서 처음 신혼집을 시작하게 되었다.문제는 전세값이 폭등하면서 1억 중반하던 오리역 근방의 20평대 아파트 전세값이 엄청나게 오르기 시작했고아파트 전세를 구하려면 내게는 너무 큰 돈이 필요하게 되었다. 그래서 몇달간 신혼집을 찾다가 발견하게 된 것이 신축빌라였다.원래는 오포에 있는 신축빌라를 많이 고려를 했었다. 인터넷으로 많은 정보가 나오고 꾸준히 지어지고 있는 오포의 신축빌라들은구조나 인테리어 등 여러면에서 마음에 들었었다. 다만 문제는 인프라 및 위치적인 문제였다. 그리하여, 우연히 오리역 근처에는 흔하지 않은 신축빌라를 알게 되었는데문제는 등기부 등록도 되지 않은 상태인데 계약을 시작..
Clean Code - Null 리턴
클린 코드에 null을 리턴하지 말라는 얘기가 있다.동감이다. null만 검사하다가 코드는 지저분하게 끝나고 만다. Collections 클래스에 있는 비어있는 객체를 활용한다. list, map, set 종류별로 다 있다.다만 static final이기 때문에 리턴받은 후에 추가를 하려고 하면 에러가 나기 때문에 쓰임새에 유의해야 한다. java.util.Collectionsstatic Enumeration emptyEnumeration()static IteratoremptyIterator()static ListemptyList()static ListIteratoremptyListIterator()static MapemptyMap()static SetemptySet() String 리턴의 경우 null..
SpringBoot application.properties H2 DB설정
* H2 Database 파일 속성jdbc:h2:file:~/test * H2 Database 메모리 속성(휘발성)jdbc:h2:mem:test * SpringBoot application.properties DB설정 spring.datasource.url=jdbc:h2:mem:testspring.datasource.username=saspring.datasource.password=spring.datasource.driverClassName=org.h2.Driver * spring.jpa.hibernate.ddl-auto 설정spring.jpa.hibernate.ddl-auto=update create: 기존테이블 삭제 후 다시 생성(DROP + CREATE)create-drop: create와 같으나..
SpringBoot에서 H2 DB 관리자 UI 접속하기
SpringBoot에서 H2를 사용할 경우 구동시에 DB상태를 보고 싶었다.가령 php my admin처럼 말이다. 찾아보니 이게 있는데 생각보다 간단하고 신기하다. Ref에 있는 해외 글에서 방법을 찾았다. 1. Maven, Gradle 추가Maven : com.h2database h2 Gradlecompile("com.h2database:h2") 2. H2 Servlet 추가import org.h2.server.web.WebServlet;import org.springframework.boot.context.embedded.ServletRegistrationBean;import org.springframework.context.annotation.Bean;import org.springframewor..
리눅스 네트워크 sysctl.conf 설정값 튜닝
내가 시스템 엔지니어인가?ㅋㅋ 어쨌든 시스템 설정 수치(/etc/sysctl.conf)를 찾다보니 역시 해외에는 좋은 자료가 있더라. [1]에는 네트워크 튜닝 수치가 있는데 TCP 메모리 관련 부분들은 이미 회사 솔루션에서 사용하는 수치와 동일한 값들을 사용하고 있었고 신빙할 수 있는 튜닝값으로 보인다. [2]에는 sysctl.conf에서 설정하는 것들에 대해 유익한 정보를 얻을 수 있다.설정하는 값들의 크기가 Byte이고, 3가지 연달아 설정하는 값들은 최소값, 기본값, 최대값에 대한 거라는점 등이다. [3]에 각 sysctl 설정들에 대한 설명이 들어가 있다. Reference [1] Linux Network Tuning for 2013 (http://www.nateware.com/linux-netw..