
SpringBoot와 Next.js를 JWT 토큰을 이용하여 로그인 인증하는 방법에 대해 간단하게 알아보겠습니다.개발환경은 아래와 같습니다. 1. 개발환경SpringBoot 버전 : 3.3.2 IDE : IntelliJNext.js버전 : 14.2.4IDE : vscode 2. SpringBoot 소스작성DB는 H2 Database Embedded 모드로 테스트하였습니다.JPA를 이용하여 H2 DB와 맵핑하였습니다. 2.1. build.gradle 설정dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-sta..

SpringBoot 에서 H2 console 에 붙을때, "localhost에서 연결을 거부했습니다." 오류가 발생할때가 있습니다. 오류화면위와 같은 오류가 발생했을땐, SecurityFilterChain 함수에 다음을 추가해야 합니다. 소스수정@Bean public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { http .csrf(AbstractHttpConfigurer::disable) .authorizeHttpRequests(authz -> authz .requestMatchers("/auth/**", "/h2-console/**").permitAll() ..
자바의 **우선순위 큐 (Priority Queue)**는 큐와 비슷하게 요소들을 저장하고 꺼낼 수 있는 자료 구조입니다. 하지만 일반 큐와 달리, 요소들이 우선순위에 따라 정렬됩니다. 즉, 요소를 꺼낼 때는 큐에서 가장 높은 우선순위를 가진 요소가 먼저 나옵니다. 자바에서는 PriorityQueue 클래스가 이 기능을 제공합니다. 기본적으로 자연 순서에 따라 정렬되며, 사용자 정의 비교자를 사용하여 커스텀 우선순위를 지정할 수도 있습니다. 우선순위큐의 간단한 사용방법에 대해 알아보겠습니다. 1. 선언PriorityQueue pq = new PriorityQueue(); // 정순 PriorityQueue pq = new PriorityQueue(Collections.reverseOrder())..
nginx를 이용하여 멀티 도메인 설정과 Redirect 시 Host를 유지하는 방법에 대해 간단하게 알아보겠습니다. nginx.confworker_processes auto;http { ...생략... # main upstream upstream main { ip_hash; server 127.0.0.1:8080 weight=1 max_fails=3 fail_timeout=60s; } # sub upstream upstream sub { ip_hash; server 127.0.0.1:8081 weight=1 max_fails=3 fail_timeout=60s; } # main server server { listen 80; server_name www.m..
윈도 환경에서 tcping을 사용하는 방법과 간단하게 Java로 tcping을 만드는 방법에 대해 알아보겠습니다. 1. tcping 설치- tcping 설치 경로(https://www.elifulkerson.com/projects/tcping.php)- tcping.exe 를 설치하여 C:\Windows\System32 폴더로 이동시킵니다. 2. tcping.exe 사용tcping 127.0.0.1 1234cmd 창을 열고 "tcping ip port"를 순서대로 입력하여 사용합니다. 3. Java 구현public static void main(String[] args) { if (args.length != 2) { System.err.println("사용법: "); Sy..
시놀로지 NAS에 Container Manager를 통해 Gitlab을 설치하였다면, "Clone with HTTP"가 컨테이너 이름으로 되어 있는 경우가 있습니다. 해당 URL을 IP와 Port로 변경하는 방법에 대해 알아보겠습니다.1. 터미널 접속sudo su터미널 접속 후, 명령어를 통해 관리자 권한을 부여합니다.2. 실행중인 도커 찾기docker ps"CONTAINER ID" 칼럼값을 통해 Gitlab의 도커 아이디를 찾습니다.3. 도커아이디로 bash 실행docker exec -it 도커아이디 /bin/bash4. 도커 시간 변경# 현재시간확인date# 시간변경ln -snf /usr/share/zoneinfo/Asia/Seoul /etc/localtime5. external_url 변경vi /e..

거래소 검색에 이어 캐릭터 정보 검색하는 기능 구현에 대해 알아보겠습니다. 전체소스는 GitHub를 참고해 주세요. 1. 컨트롤러 추가@RestController@RequestMapping("/api")@RequiredArgsConstructorpublic class ApiController { private final ApiService _apiService; ... /** * 캐릭터 기본정보 조회 */ @PostMapping("/character/search") public ResponseEntity characterSearch(@RequestBody CharacterReq params){ return _apiService.characterSearch(params); }}2..

LostArkAPI를 이용하여 거래소 검색사이트를 간단하게 구현하는 방법에 대해 알아보겠습니다.SpringBoot와 Thymeleaf를 이용하여 구현하였습니다. 전체소스는 GitHub를 참고해 주세요.1. 사이트 접속 - https://developer-lostark.game.onstove.com/ Lostark OpenAPI Developer PortalOpen API For All Developers START BUILDING YOUR OWN CLIENTS TODAY USING OFFICIAL DATA. GET ACCESS TO LOSTARK APIdeveloper-lostark.game.onstove.com로그인 후, API 키를 발급받습니다.https://developer-lostark.game...
Javascript로 간단하게 PDF파일 다운로드하는 방법에 대해 알아보겠습니다.1. html 태그 작성PDF 다운로드2. script 작성var pdfUrl = '다운받을 URL'function downloadPDF() { fetch(pdfUrl) .then(response => { // 응답이 비정상적일때 if (!response.ok) { throw new Error('파일이 존재하지 않습니다.'); } // then blob 으로 return return response.blob(); }) .then(blob => { // url 객체 생성 ..

IntelliJ에서 Serializable을 상속아 serialVersionUID를 생성해야 하는데, IntelliJ에서 간단하게 생성하는 방법이 있어 소개합니다. 1. 소스 작성import lombok.Getter;import lombok.Setter;import lombok.ToString;import java.io.Serializable;@Getter@Setter@ToStringpublic class UserVO implements Serializable { private String loginYn;} 2. Settings 클릭serialVersionUID 를 입력하고 JVM languages > "Serializable class without 'serialVersionUID'"를 체크합니다.3..
- Total
- Today
- Yesterday