전체 글

나만의 기록... 까먹지말자...
· 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를 등록하고..
· Java
⚡개요 Wrapper Class에 대해서 기본적인 내용을 체크하던 도중에 객체를 비교하는 과정에서 추가적인 내용을 확인해서 내용을 정리해 놓으려고 한다. ⚡ Wrapper Class 생성 방법 기본적인 생성 방법 일반적으로 new 를 통한 객체를 생성하는 방법이 있다. 하지만 이 방법은 버전에 따라서 사용을 할 수 없도록 되어있다. 심지어 사용할수 있는 버전에서 조차 "불필요한 박싱"이라는 문구가 발생한다. 일부 Wrapper Class에 대해서도 확인해 보았지만, 모두 동일한 것으로 파악되며, 대신 valueOf()를 사용하도록 권장하고 있다. (해당 부분이 왜이렇게 바꼇는지는 밑에서 설명 하도록 하겠다.❗❗❗) 이 또한 불필요한 박싱이라는 경고가 뜨게 된다. 여기까지는 대부분 알고 있는 내용이며 크게..
· Spring
⚡ 개요 래거시 APP 기준으로 신규 개발을 해야 되는 내용이 있어서 이미 쿼리가 다 짜져 있기 때문에 JPA가 아닌 mybatis를 사용해서 신규 개발을 했던 내용을 정리해놓으려고 한다. (신규로 구축하려니까 생각보다 헤맴..) 내용 중 기본적인 내용과 다른 부분이 있다면 DB를 두 개를 사용해서 연동이 들어갔다는 점이다. (mssql, oracle) ⚡ 기술 스택 Spring Boot 3.0.5 JAVA 17 MSSQL Oracle Mybatis ⚡ 사용 방법 정리 전반적인 사용 방법에 대해서 정리하기보다는 내가 좀 버벅거렸던 부분에 대해서 사용 방법을 정리하고 넘어가려고 한다. DatabaseConfig 설정 데이터 베이스를 관리할 때 Hikari Datasource (2.0부터는HikariCP가 ..
· Front
⚡ 개요 PWA는 Progressive Web App의 약자이다. PWA는 모바일 웹 애플리케이션의 새로운 형태로 사용자가 앱을 다운로드하거나 설치하지 않아도 모바일 기기에서 애플리케이션을 실행할 수 있게 해준다. PWA는 일반적인 모바일 웹 사이트와 유사하지만 추가적인 기능을 제공한다. 예를 들어 오프라인에서도 작동할 수 있고 네이티브 앱과 유사한 기능을 제공하며 앱 아이콘을 홈 화면에 추가할 수 있다. PWA는 웹 기술로 만들어지기 때문에 앱 스토어의 검토 과정을 거치지 않아도 되고 업데이트가 더욱 용이하다. 또한 여러 플랫폼에서 동작할 수 있기 때문에 개발자는 앱을 각 플랫폼마다 따로 개발할 필요가 없다. PWA는 현재 많은 기업이 적극적으로 도입하고 있으며 모바일 웹 애플리케이션의 발전에 큰 역할..
HaeTae
soTech