분류 전체보기

· Spring
⚡ 개요 Spring Boot에서 QueryDsl을 사용하는 방법에는 여러 가지 방법이 존재한다. 내가 가장 많이 사용하는 방식은 queryFactory를 이용하는 방식을 사용한다. 회사에서 개발을 하면서 단일 테이블 기준으로 데이터를 뽑아낼 수 있는 부분이 적고 데이터량이 많다. 이외, 다른 방식들이 있는데 이부분에 대해서 정리를 하면서 잘못 쓰고 있는 부분이 있는지 체크를 해보려고 한다. ⚡ 사용 방법 querydsl을 사용하는 이유부터 생각을 해보자. 만약 spring boot JPA 및 JPQL을 사용해서 쿼리를 구현 한다고 생각해봤을때 단건 조회 또는 적당한 조건에 따른 조회는 크게 문제가 되지 않는다. 하지만 쿼리가 복잡해지고 조건이 많아지는 순간 실수가 발생할 가능성이 존재하고 유지보수에 어..
· Spring
⚡ 개요 리눅스 운영 서버에서 운영중인 웹 서비스에서 SFTP 접속 관련 이슈가 발생했고, 원인 분석 및 수정을 어떻게 했는지 내용을 정리 하려고 한다. ⚡이슈 및 수정 내용 정리 이슈가 발생 했고 운영 서버의 로그를 확인해본 결과, connection 관련 null 이라는 Exception만 찍히고 있었다. 😭 해당 부분의 로그 설정이 printStackTrace 로 되어 있었고, 이로 인해서 리눅스 환경에서 로그를 찍지 않고 리턴된 값에 대해서만 찍고 있었다. 물론 개발 서버에서 SFTP 관련 테스트 및 로그 보강등 추가적인 작업을 했지만 운영 서버에 반영을 할 수 없는 상황이라서 connection 관련해서 null이 반환 되는지 찾아보고 처리하는 방법 밖에 없었다. 내부에서는 JAVA에서 SFTP..
· DevOps
⚡ 개요 이전에 이미 Jenkins 구축의 경우 해보았고, 내용을 정리 했기 때문에 설정이 필요한 부분 및 배포 및 자동 실행 관련 내용만 정리 하도록 했다. ⚡ 배포 관련 가이드 내용 정리 일단 버전을 업데이트 했더니, 로그인 화면이 바뀌어서 올려봤다. 가장 먼저 해야되는 부분의 경우 SSH Server를 등록 해야한다. SSH Server를 등록하기전에 이전 포스팅 내용을 참조해서 Spring Boot 서버를 구축 해놓은 상태여야 한다. 세부적인 내용에 대해서 설명 하고 넘어가도록 하겠다. 이 내용을 본다면 설정이 가능 하다. Name : 등록하고 싶은 명칭 아무거나 상관이 없다. Hostname : Spring Boot 서버의 url 정보를 입력하면 된다. ex) 192.0.0.1 UserName ..
· DevOps
⚡ 개요 내부 테스트 서버에 구축 및 배포를 할때, 기존에는 docker 위에 tomcat을 올리고 serveice를 구축하는 방식을 사용 했었다. 하지만 jar 파일로 빌드를 하고 jenkins를 통해서 자동 배포 및 자동 실행을 하려고 하면서 리눅스 서버를 구축하고 그위에 서비스를 구축하는 방식으로 작업을 진행했다. 구축을 진행한 내용 및 문제가 발생했던 부분에 대한 내용을 정리해 놓으려고 한다. ⚡ Spring Boot Server 구축 가이드 내용 정리 일단 기본적으로 Docker는 구축이 되어있다는 가정하에 가이드 내용을 정리 했다. 기본적으로 Window에서 Docker를 설치하는 방법은 Desktop 전용 및 Daemon만을 실행해서 하는 두가지 방법이 존재한다. Desktop의 경우는 메모..
· DevOps
⚡ 개요 window 서버에 jar 파일을 등록을 해야할때 마다 설정하는 법을 찾기 귀찮아서 등록 방법을 적어 놓으려고 한다. 따로 노션에도 정리는 했지만 혹시나 해서 여기도 정리를 하게 되었다. ⚡ NSSM으로 jar 파일을 service로 등록하는 방법 👉 CMD 를 연다. 👉 nssm.exe 가 존재하는 폴더까지 이동을 한다. (굳이 이동하지 않아도 되기는 한다.) 👉 nssm.exe install 👉 세부 설정 👉 끝! 디테일적인 설정도 있지만, 탭을 보면 어떻게 사용해야 할지 어느정도 감이 온다. ⚡ 링크 NSSM Download 링크
· DB
⚡ 개요 웹 개발을 하면서 DB는 매우 중요한 요소이다. 데이터에 대해서 저장, 갱신, 관리, 검색등 여러 가지의 작업을 통해서 결과물을 도출하고 있다. 웹 개발을 시작하면서는 DB에 대해서 그냥 조회 잘하고 저장 잘하면 끝이라고 생각했던 때가 있었다. 맞는 말이 될 수도 있지만 웹 개발을 오래 하다 보면 많이 중요하다... 내가 사용하고 있는 DB의 장점, 라이브러리, 속도 향상 등등에 대해서 정리를 하려고 한다. ⚡ HikariCP 란?? HikariCP는 Java 언어를 위한 고성능 JDBC (Java Database Connectivity) 커넥션 풀 라이브러리이다. 커넥션 풀은 데이터베이스 연결을 관리하고 재사용하여 애플리케이션의 성능을 향상하는 데 사용이 되고 HikariCP는 빠른 시작 속도..
· Java
⚡ Hibernate ? 하이버네이트(Hibernate)는 자바 언어로 작성된 오픈 소스 ORM(Object-Relational Mapping) 프레임워크다. 하이버네이트의 설계 목표는 SQL과 JDBC를 사용한 수동 데이터 지속성 관련 프로그래밍 작업의 95%를 개발자가 해방시키는데 있다고 한다. 그렇다고 해서 SQL을 모르면 안 되며 오히려 더 많은 기술과 지식에 대한 투자가 필요하다. 객체 지향 프로그래밍에서 사용되는 클래스와 관계형 데이터베이스 테이블 간의 매핑을 단순화하고 추상화하여 개발자가 데이터베이스를 다루는 작업을 더욱 편리하게 하기 위해서 만들어졌다. 조금 더 쉽게 설명해서 JAVA 클래스를 통해서 Oracle, mssql, mraia 등의 DB에 상관없이 일관된 코드로 데이터 베이스 작..
· Spring
⚡ 개요 기본적으로 QueryDsl을 사용할때 QClass가 생성이 된다. 초기에 QueryDSL을 사용하면서 궁금했던 내용은 그냥 Entity를 사용해도 될거같은데 굳이 QClass를 만들어서 사용을 할까? 어떻게 만드는거지? 라는 기본적인 궁금증에서 래퍼런스 문서 부터 많은 블로그의 내용을 찾아봤으며 해당 내용을 정리 해보려고 한다. JPA_APT(JPAAnnotationProcessorTool)가 @Enttiy 와 같은 특정 어노테이션을 찾고 해당 클래스를 분석해서 QClass를 만들어 준다. 빌드 도구를 통해서 만드는 방법은 다른곳을 찾아봐도 나오니 생략한다. (Gradle의 경우, 버전별로 설정을 하는 방식이 다르기 때문에 버전에 맞게 잘 찾아서 사용 해야 한다.) ✋ APT 란 ? Annota..
· 알고리즘
⚡ 개요 개발을 하면서 알고리즘을 사용하는 이유는 데이터를 빠르고 안정적으로 처리하는것이다.나 또한 개발을 계속 하면서 알고리즘을 사용해야하는 필요성에 대해서 느끼고 있지만 어떤 알고리즘을 어떤 상황에 사용해야하는지, 어떻게 사용해야 하는지 찾아보고 알고리즘을 사용한다고 하더라도 시간적인 요소가 많이 들어가게 된다.그래서 백준에서 알고리즘 문제를 풀면서 공부를 하고 여기에 계속해서 기록 해보려고 한다. ⚡ 문제 기록 문제를 푼 내용을 따로 기록 하려고 했으나 내가 푼 문제를 자동으로 gitHub에 push 해주는 google 플러그인이 있어서 해당 플러그인을 사용해서 기록을 하려고 한다. 위의 이미지에 보이는 백준허브 플러그인 이다. 해당 플러그인을 설치하고, gitHub에 repository를 등록하고..
HaeTae
'분류 전체보기' 카테고리의 글 목록 (5 Page)