본문 바로가기
반응형

전체 글170

[ESLint] Delete`CR` 에러 폭탄 해결하기 (End of Line 일괄 변경, 기본값 설정하기) Intro 멀쩡하던 프로젝트에 ESLint를 적용해봤더니 아래와 같이 에러 폭탄을 맞았다. 그냥 LF 에러를 안뜨게 할까 싶었지만, git add 할 때 뜨는 CRLF Warning도 없앨 수 있고, 파일 용량도 줄어들기에 수정하는것이 좋을 것 같아 찾아본 해결방법을 정리해보도록 하겠다. 현재 프로젝트 파일들의 End of Line 변경 물론 파일을 일일이 선택하고 LF로 변경해줘도 되긴 하지만, 프로젝트 초반이라 파일이 얼마 없을 때나 가능한 일이다. 몇십개나 되는 파일을 어느 세월에 다 바꿔주고 있을까. 아래의 git 명령어를 통해 git에서 관리하는 모든 파일들의 EoL을 일괄 변경할 수 있다. git config core.autocrlf input git rm --cached -r . # 명령 실.. 2022. 10. 30.
[Spring Boot] Process 'Gradle Test Executor 1' finished with non-zero exit value 1 해결법 Intro 기존 환경에선 개발이 잘 되다가 새로운 환경에서 개발을 진행하니 빌드는 잘 되는데, 테스트 시 아래의 에러가 뜨며 진행히 되지 않았다. Process 'Gradle Test Executor X' finished with non-zero exit value 1 Could not write standard input to Gradle Test Executor X. java.io.IOException: 파이프가 닫히는 중입니다 해결법 [Settings (Ctrl + Alt + S)] - [Build, Execution, Deployment] - [Gradle]로 이동한다. Gradle user home의 경로 중 한글이 포함되면 안된다. 경로를 변경하고 확인 버튼을 누르면 해당 경로에 Gradle .. 2022. 10. 30.
[비교] Tree 구조 API 디자인 Intro 토이프로젝트 진행 중 트리 구조의 데이터를 서버에 저장해야 할 일이 생겼다. 저장 API를 구현하는 방식으로 아래의 2가지 방법이 떠올랐는데, 이 방법들의 장단점을 비교해보자. 트리 구조 그대로 요청 트리의 각 노드를 쪼개 배열 형태로 요청 트리 구조 그대로 요청 { "name": "test", "root": { "content": "node1", "child": [ { "content": "node1-1", "child": [ { "content": "node1-1-1", "child": [] } ] }, { "content": "node1-2", "child": [ { "content": "node1-2-1", "child": [] } ] } ] } } Tree 구조 그대로 요청하기 때문에.. 2022. 10. 29.
[비교] Session vs JWT Intro 토이프로젝트 설계 중 사용자 인증을 세션으로 할지, JWT로 할지 선택해야 했다. 둘의 장단점이 명확해서 어느것을 고르기가 힘들었고, 결정의 기준이 된 두 기술의 특징, 장점, 단점을 정리해봤다. Session 특징: 인증 정보를 서버에서 관리한다. 장점 서버에서 사용자 인증 상태를 관리하기 쉽다. 로그아웃 시 세션을 만료시키기만 하면 끝난다. 단점 세션 ID 및 인증 정보를 서버에 저장해야 한다. Client가 Request를 보낼 때마다 세션 정보를 메모리 또는 DB에서 가져와야 한다. 서버 컨테이너가 여럿일 경우 이들간의 동기화를 위해 세션 클러스터링이나 스티키 세션 기법을 사용해야 한다. 동기화하지 않는다면 외부 DB에 세션 정보를 저장해야 한다. 주로 Redis와 같이 속도가 빠른 I.. 2022. 10. 28.
[Spring Boot] @DataJpaTest에서 JPAQueryFactory Bean 등록 안될때 @DataJpaTest에서 JPAQueryFactory Bean 등록 안될때 @DataJpaTest는 @SpringBootTest와 달리 Entity와 SpringDataJpa 관련 Bean만 등록해주기 때문에, QueryDSL에서 사용하는 JPAQueryFactory Bean은 등록되지 않는다. 때문에 테스트를 실행하면 아래와 같이 JPAQueryFactory Bean을 찾을 수 없다는 에러가 뜬다. Failed to load ApplicationContext java.lang.IllegalStateException: Failed to load ApplicationContext ... Caused by: org.springframework.beans.factory.UnsatisfiedDependency.. 2022. 10. 27.
[Docker-Compose] 여러 Docker 컨테이너를 한꺼번에 관리하기 Intro 이전에 Docker 이미지 다운로드 및 컨테이너 실행 방법에 대해 알아봤었다. 하지만 하나의 PC에서 여러 컨테이너를 실행해야 하는 경우 일일이 다 관리하기도 힘들고, 네트워크 설정도 복잡하다. 이럴 때 docker-compose를 사용하면 yml 파일을 만드는것 만으로 간단하게 컨테이너들을 관리할 수 있다. 이번 시간엔 간단한 예제를 통해 docker-compose 사용 방법을 알아보자. [Docker] 도커 간단한 명령어 모음 도커 간단 사용법 이전 글에서 Docker를 설치하는 방법에 대해 알아봤다. 이번엔 Docker의 이미지, 컨테이너 관리 방법에 대해 알아보자. [Docker] 도커 설치하기 도커 설치 및 간단한 사용법 이번 devjaewoo.tistory.com 프로젝트 구조 소스.. 2022. 10. 4.
[Javascript] Number, Number.parseInt, parseInt의 차이 Intro Number('123'), Number.parseInt('123'), parseInt('123') 모두 문자열 '123'을 숫자 123으로 변환해준다. 이 세 함수들의 차이가 무엇인지 알아보자. Number('string') 문자열에 숫자가 아닌 다른 문자가 들어있는 경우 NaN을 반환한다. Ex) '123a', '#123', '1+2', ... 하지만 예외적으로 진법을 나타내는 문자 (0b, 0o, 0xA~F), 음수 ( - ), Infinity는 허용된다. parseInt 문자열 뒤에 진법을 넘겨줄 수 있다. 또한 숫자가 아닌 다른 문자가 들어있는 경우 해당 문자 이전까지의 값 까지만 변환한다. Ex) parseInt('123z4') => 123 // 아래의 코드들은 전부 15를 반환한다... 2022. 9. 26.
[Spring Boot] OSIV (Open Session In View) 비활성화 후 JPA 조회 안될 때 OSIV (Open Session In View) 비활성화 후 JPA 조회 안될 때 기존에 잘 돌아가던 코드에서 OSIV를 비활성화하고 다시 돌려보니 아래와 같은 에러가 나며 Entity 조회가 되지 않았다. Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.orm.jpa.JpaSystemException: could not advance using next(); nested exception is org.hibernate.exception.GenericJDBCExceptio.. 2022. 9. 21.
[Docker] 도커 간단한 명령어 모음 Intro 이전 글에서 Docker를 설치하는 방법에 대해 알아봤다. 이번엔 Docker의 이미지, 컨테이너 관리 방법에 대해 알아보자. [Docker] 도커 설치하기 도커 설치 및 간단한 사용법 이번 시간에는 이전 글에 이어 Docker를 설치하는 방법에 대해 알아보도록 하자. [Docker] Docker는 무엇이고, 왜 사용해야 할까? Docker는 무엇이고, 왜 사용해야 할까? devjaewoo.tistory.com 이미지 관리 Docker Hub에서 다른 사람들이 만들어 둔 다양한 이미지를 명령어 하나로 다운로드 받아 실행할 수 있다. 이런 이미지들을 관리하는 명령어에 대해 알아보자. Docker Hub Container Image Library | App Containerization Build.. 2022. 9. 8.
반응형