현재 JPA공부를 하고있고, 현재는 객체지향 쿼리언어라는 챕터에 와있다. 여기서 QueryDSL이라는 것을 배우려 하는데, QueryDSL을 사용하면 Criteria JPQL보다 더 쉽게 코드를 작성할 수 있고 직관적이며 같은 기능을 제공한다고 한다. build.gradle에 아래와 같은 설정을 세팅한다. plugins { id 'java' id "com.ewerk.gradle.plugins.querydsl" version "1.0.10" } //querydsl 추가 시작 def querydslVersion = '4.3.1' def querydslDir = "$buildDir/generated/querydsl" querydsl { jpa = true querydslSourcesDir = querydslD..
보통 intellij등에서 코드를 작성하다가 () "" 내부에서 빠져나갈때 탭을 누르면 코드 밖으로 빠져나가는데, VSCODE에서는 해당 기능이 안되어 너무 불편했는데, 확장 플러그인을 설치하면 TAB을 통해 코드를 빠져나가는게 가능하다고 한다. 설치하여 사용하도록 하쟈 ㅠ
Visual Studio Code를 사용하면서 새파일, 새폴더를 만드는 방법이 너무 까다롭다는 생각이 들었다.. 일일이 파일 폴더를 클릭하고, 거기서 new File, new Folder등을 수행하여, 위치 확인 및 파일명 작성등을 마우스등으로 일일이 클릭하는 작업말이다. 그에반해 IntelliJ에서 개발을 진행할 떄는 ctrl+n, ctrl+shift+n등을 통해 새파일 새폴더등을 만들수 있었는데 말이다. 그런데!! 계속 불편하다고 생각해와서 몇분의 시간을 들여서 그러한 기능이 없나 확인해보니 사용자 설정을 통해 인텔리제이에서 처럼 파일생성, 폴더생성이 가능하다고 한다! 그에대한 포스팅을 한다. Command Pallet를 연후(Ctrl + shift + p ) > Open Keyboard shortc..
ACID, 거의 대부분의 개발자들이 면접을 받기전에 숙지하고 들어가는 키워드가 아닐까 싶다. ACID는 각각 원자성(Atomic), 일관성(Consistency), 고립성(Isolation), 지속성(Durablity)의 함축된 단어이다. 이 각각의 특징은 다음을 의미한다. 원자성(Atomic) 트랜잭션과 관련된 작업들이 부분적으로 실행되다가 중단되지 않는 것을 보장하는 능력이다. 즉, 하나의 트랜잭션에 속한 작업들은 전부 수행되거나 전부 수행되지 않아야 한다. 일관성(Consistency) 트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성있는 데이터베이스 상태로 유지하는 것을 의미한다. 예를들면, 모든 계좌는 잔고가 있어야하며 이를 어길경우 트랜잭션은 중지되어야 한다. 고립성(Isolation) 트랜..
JPA테스트를 위한 목적으로 h2를 설치하고 h2를 실행하려고 하니 아래처럼 뭔가 에러메시지와함께, h2로그인이 안되는 현상이 있었다.. 뭔지.. ? Database "/Users/juhyeontae/test" not found, either pre-create it or allow remote database creation (not recommended in secure environments) [90149-200] 90149/90149 (도움말) 아래쪽에 보니 붉은 에러가 위와같은 에러가 발생하고 있따.. 해결법) - 로그인 화면의 jdbc url에 아래의 값(각 컴퓨터 환경마다 다를 수 잇다. jdbc:h2:뒤에 Database not found라고 나온 경로를 넣어주면 되는것으로 보인다.)을 넣..
현재 내가 사용하는 Mac의 버전이 낮아서 Docker for Mac을 사용하지 못하고 Docker quickstart Terminal을 사용하고 있따. 그런데, Docker for Mac을 사용할때의 경우에는 컨테이너를 실행시키고 해당 컨테이너에 localhost등으로 접근하면 바로 접근이 되었었는데, Docker quickstart Terminal에서는 접근하지 못하는 문제가 있다. Docker Quickstart Terminal의 경우 PC에 리눅스 가상머신을 설치한 후 도커를 설치하므로 가상 네트워크가 두 개가 생성된다. mysql 컨테이너 실행하기 docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=[비밀번호] -d -p 3306:3306 mys..
음,, 뭔가 개발환경과 운영환경을 나누고 싶어서, docker를 이용하여 개발환경에 mysql을 띄우려고 다음과 같은 명령어를 수행하였다. docker run --name mysql-container -e MYSQL\_ROOT\_PASSWORD=zero1234 -d -p 3306:3306 mysql:latest 그리고 dbeaver 상에서 접속하려고 하는데, 아래와 같은 에러가 발생한다.. Public Key Retrieval is not allowed 해결법은 Driver properties에서 allowPublicKeyRetrieval 값을 true 로 변경해주면 된다.
최근 나의 버려진 프로젝트인 헬창닷컴..(http://www.helchang.com)) 이 프로젝트는 내가 위메프에 입사하게 해준? 고마운 프로젝트인데, 회사 입사 이후에는 매우 바쁜관계 및 GCP의 과금문제로 버려둔 상태로 있던 프로젝트이다. 이 프로젝트를 살리고, 최근 배우고있는 기술들을 적용하자는 의미에서 이 프로젝트를 다시 살려보고자 최근에 노력하고 있다. 그 첫 단추로 라즈베리 파이에 Jenkins를 설치하여 이 프로젝트에 CD(Continuous Deploy)를 구성하였다. https://honeyinfo7.tistory.com/304 그리고 이제, 이 프로젝트를 살리고자 Maven으로 설정되어있던 설정을 Gradle로 Converting하고 소스코드를 하나하나 복기(?)하는 과정을 거치고 있..
tomcat의 bin/catalina.sh 에서 JAVA_OPTS를 설정하는 부분이 있는데 이곳에다가 다음과 같이 설정을 추가한다. -Dspring.profiles.active=[profile명]