최근 Nuxt 3가 정식 버전이 공개됐다. rc7쯤부터인가, 개인 영문 블로그를 만들려고 계속 테스트해오고 있었는데, 여전히 불안정한 부분이 있는것 같다. 그래서 결론부터 먼저 말하자면, 현 시점에 프로덕트 수준으로 사용하는 것은 No다. 필자는 지금 개인 영문 블로그를 Nuxt3로 운영중이기 때문에 불가능하다는 이야기는 아니다. 개인적으로 생각하는 이유는 많지만, 너무 주관적이라는 생각이 들어서 딱 하나만 짚어보려고 한다. Vue3 생테계 자체가 불안정하다는 점이다. 2020년 9월 19일, 원피스라는 이름으로 Vue3가 공개된 뒤 장기간에 걸쳐 Vue2에서 Vue3로 생태계가 바뀌어 왔음에도, 정식 버전으로 Vue3가 채택되기 전까지 이를 지원하지 않는 라이브러리가 꽤 많았다. 지원했더라도, 발생한 ..
최근, 스프링 부트 3 버전이 출시됐다. 메이저 버전이 바뀐 만큼 다양한 변화가 있겠지만 그 중에서도 AOT 엔진을 사용한 스프링 네이티브 이미지가 가장 많이 언급되는 것 같다. 공식 문서에 따르면, 네이티브 이미지를 사용하는 것은 빠른 시작, 준수한 성능, 그리고 메모리 사용량 감소와 같은 장점을 제공한다. 새 프로젝트에 적용이 가능할 정도인가 싶어, 바로 테스트를 해봤다. 내 환경은 아래와 같다. M1 Mac Graalvm CE 19 Gradle 어떤 방법으로 네이티브 이미지를 빌드할까? 스프링 네이티브 이미지를 빌드하는 방법에는 두 가지가 있다. 하나는 도커 이미지를 사용하는 것, 다른 하나는 Graalvm을 통해 바이너리 파일을 직접 빌드하는 것이다. 도커를 사용하면 간단하겠지만, 신기술의 경우 ..
abbreviation Template text assertthat org.assertj.core.api.Assertions.assertThat($END$); assertthrows org.junit.jupiter.api.Assertions.assertThrows($EXCEPTION$.class, () -> $END$); tdd @org.junit.jupiter.api.Test public void $methodName$() throws Exception { //given $END$ //when //then } todo // TODO $DATE$ $END$ $USER$ DATE와 USER 변수는 Edit variables에서 각각 expression을 date()와 user()로 한다. when org...
배경 스프링 커뮤니티에서 필드 주입보다는 생성자 주입을 권장하기 때문에 생성자 주입을 아무런 생각없이 쓰고 있었다. 그런데 오늘 jwt 토이 프로젝트를 하다가 순환 참조가 발생해서 해당 내용을 기록한다. 문제 jwtRequestFilter defined in file [xx\IdeaProjects\study\simple_shopping_mall\out\production\classes\com\ssmallgiant\simple_shopping_mall\filter\JwtRequestFilter.class] ┌─────┐ | memberService defined in file [xx\IdeaProjects\study\simple_shopping_mall\out\production\classes\com\ss..
Putty 자동 로그인 인증키 생성ssh-keygen -t rsa 접속한 계정의 홈 경로의 .ssh 에 생성됨. 생성할때 passpharse를 입력하면 자동 로그인이 안됨!!! ex) /home/me/.ssh/ 공개키의 이름을 authorized_keys로 바꿔줌. (백업 목적으로 복사를 추천) cp id_rsa.pub authorized_keys 로컬에 개인키를 복사, puttygen으로 load. Save private key를 누르면, 아래와 같은 비번이 없는데 괜찮냐는 경고 메시지 뜨고 예를 눌러 ppk 파일을 저장하고 완료. Are you sure you want ot save this key without a passpharse protect it? putty에서 Connection>Data ..
배경 스프링 프레임워크 기준으로 resources 경로에 있는 파일들에 접근할 때 classpath라는 키워드를 사용하곤 하는데, 전부터 이게 뭔지 궁금했다. 우연히 해당 내용에 대해 정리되있는 블로그를 알게되 해당 내용과 실제 프로젝트를 빌드해서 비교해봤다. 본문 classpath가 가리키는 경로부터 말하자면 빌드된 classes 경로를 가리킨다. 그렇다면, classes 경로를 가리키는데 어떻게 개발시 resources 밑에 있던 파일들이 불러와 질까? war나 jar로 빌드되면 resources 경로 하위에 있던 파일들이 WEB-INF\classes 밑으로 이동하게 된다. bootJar나 bootWar를 이용하면 비슷하지만 BOOT-INF\classes 밑으로 이동한 것으로 확인된다.