
오늘은 Gitlab에서 Access Token 발급받는 방법에 대해 알아보겠습니다.1. Edit profileGitlab 에 로그인 후 왼쪽 상단, 본인 아이콘 > Edit profile를 클릭합니다.2. Add new token왼쪽 네비게이션바에 "Access Tokens"를 클릭 > "Add new token" 버튼을 클릭합니다.3. Create personal access token토큰이름과 만료일자를 선택하고 "Create personal access token" 버튼을 클릭합니다.만료일은 최대 1년 입니다.4. 토큰생성완료토큰을 복사하여 인증에 사용할 수 있게 됩니다. 감사합니다.
오늘은 디자인 패턴의 종류에 대해 간략하게 알아보겠습니다.디자인 패턴설명사용예어댑터호출당하는 쪽의 메소드를 호출하는 쪽의 코드에 대응하도록 중간에 변환기를 통해 호출하는 패턴JDBC, JRE프록시객체를 실제로 부르는 게 아닌, 프록시 객체를 부르고 나중에 프록시 객체가 실제 객체를 호출하는 패턴AOP데코레이터기존 뼈대(클래스)는 유지하되, 이후 필요한 형태를 꾸며가는 패턴상속싱글턴클래스의 인스턴스(객체)를 하나만 만들어 사용하는 패턴 옵저버변화가 일어났을 때 미리 등록된 다른 클래스에 통보해주는 패턴Event Listner파사드여러개의 객체와 실제 사용하는 서브 객체 사이에 복잡한 의존관계가 있을 때, 중간에 facade라는 객체를 두고, 여기서 제공하는 interface만을 활용하여 기능을 사용하는 패..

소스트리는 Git GUI 대표 프로그램중 하나입니다. 필요한 명령을 커맨드가 아닌 버튼 클릭 이벤트로 Git을 사용할 수 있기 때문에 굉장히 편리합니다. 오늘은 소스트리의 설치와 간단한 사용방법에 대해 포스팅하고자 합니다.1. 소스트리 다운로드https://www.sourcetreeapp.com/ 사이트에 접속하여 다운로드 받습니다.2. 비트버킷 로그인 생략3. Git 설치Git 을 설치하지 않았다면 Git 에 체크박스를 활성화 하고, 머큐리얼은 사용하지 않기 때문에 체크박스를 비활성화 합니다. 고급옵션 -> "기본적으로 줄 끝을 자동으로 처리하도록 설정(권장)" 을 체크하고 "다음" 버튼을 클릭합니다.4. 전역사용자 설정Git 에서 사용할 전역사용자를 설정하고 "다음" 버튼을 클릭합니다.Author N..

간단하게 IntelliJ Ultimate 에서 SpringBoot + Kotlin + Thymeleaf 프로젝트 생성하는 방법에 대해 알아보겠습니다.1. 프로젝트 생성IntelliJ 를 실행하고 File -> New Project 를 클릭합니다.Spring 이니셜라이저를 이용하여 코틀린을 선택합니다. 참고로 JDK 버전은 주로 LTS(Long Term Support) 버전인 8, 11, 17 버전을 사용하는데, SpringBoot3 에선 17버전이 최소버전이므로 jdk 17 을 선택합니다. 2. Dependency 추가Next 버튼을 눌러 필요한 Dependency 를 추가합니다.필요한 라이브러리들을 꼭 이 창에서 설정할 필요는 없으니, 사용할만한 Dependency 만 추가하고 Create 버튼을 클릭..
간단하게 Nginx로 특정 URL 별로 Upstream 처리하는 방법에 대해 작성해 보겠습니다.1. 경로이동리눅스 서버에 nginx를 설치하였다면, 아마 아래 경로에 nginx.conf 파일이 있을 겁니다.cd /etc/nginx1.1. 경로 못찾음만약 nginx.conf 파일의 경로를 못 찾겠다면, 아래 명령어를 이용하여 찾아볼 수 있습니다.find /etc/ -type f -name "nginx.conf"2. nginx.conf 편집편집기를 열어 nginx.conf를 수정합니다.vi nginx.conf2.1. location 설정location 경로를 설정하고 proxy pass 할 upstream 서버를 지정해 줍니다.user root;#process수 자동증가worker_processes auto..
이번 포스팅은 Spring에서 Redis 연동하는 방법입니다. SpringBoot 3.1.5 기준으로 작성되었습니다.1. 라이브러리 추가build.gradle redis 추가implementation 'org.springframework.boot:spring-boot-starter-data-redis:3.1.5'2. 설정값 작성application.yml redis 설정값 추가spring: config: activate: on-profile: "local" data: redis: port: 6379 host: 127.0.0.1 password: admin3. RedisConfig 작성import org.springframework.beans.factory..
TextWebSocketHandler를 이용하여 웹소켓을 구현하였다면 구현체 내부에선 직접적으로 HttpSession 접근이 불가능하다. 이를 해결하기 위해선 HttpSession 핸드쉐이킹 과정이 필요하다.1. HttpSessionInterceptor 구현import org.springframework.http.server.ServerHttpRequest;import org.springframework.http.server.ServerHttpResponse;import org.springframework.http.server.ServletServerHttpRequest;import org.springframework.stereotype.Component;import org.springframework...
이번 포스팅에선 타임리프에서 변수를 표시하는 다양한 방법에 대해 작성하고자 합니다. 타임리프는 Natural 템플릿이기 때문에 HTML 흐름에 자연스럽게 값을 맵핑할 수 있습니다.1. th:text${}를 이용하여 값을 맵핑할 수 있습니다. 2. HTML 태그 내부에서 사용[[${}]] 를 이용하여 HTML 태그 내부에서 값을 맵핑할 수 있습니다.[[${room.roomName}]] 3. Javascript 내부에서 사용javascript 에서 변수로 받아 동적으로 처리할 수 있습니다. 4. img src 및 onclick 작성방법 감사합니다.

개발을 할 때, 공통적이고 반복적인 작업을 처리해야 할 때가 있습니다. Spring 에서는 3가지 방법을 주로 사용하는데, 차이점과 동작방식에 대해 알아보겠습니다.클라이언트로부터 요청이 들어오게 되면 가장 먼저 Filter 가 request 에 대한 정보를 받아 데이터를 처리합니다. Filter 는 자바 서블릿에서 제공하는 기능으로 웹컨테이너(톰캣) 에 의해 관리됩니다. 주로 요청에 대한 권한, 인증을 처리하는데 사용이 됩니다.다음으로 Filter 를 거쳐 프론트 컨트롤러인 Dispatcher Servlet 이 요청을 받는데 이는 요청 정보를 통해 위임할 컨테이너를 찾는 역할을 합니다.디스패처 서블릿이 위임할 컨트롤러를 찾아 넘기게 되면 중간에 Interceptor 가 해당 요청을 가로채게 됩니다. 인터..
이분탐색이란 중간지점을 기준으로 데이터를 반씩 나눠서 탐색하는 알고리즘 입니다. 이분탐색의 시간 복잡도는 logN 으로 표현이 가능합니다. 아래는 이분탐색의 예제를 소스로 구현한 것 입니다.package search;public class SearchAlgorithm { public static int binarySearch(int[] array, int target) { int left = 0; int right = array.length - 1; while (left 추가로, 이분탐색을 할땐 반드시 배열이 정렬되어 있어야 합니다.
- Total
- Today
- Yesterday