무한루프/개발, 업무 20

HTTP와 HTTPS 차이점 HTTPS 적용 방법

HTTP와 HTTPS 차이점 HTTPS 적용 방법 요즘은 대부분 HTTPS를 사용하지만,일부 경우에는 여전히 HTTP를 쓰는 경우가 있다.   요즘 HTTP를 쓰는 경우로컬 개발 환경에서 (Localhost)HTTPS 설정 없이 간단하게 개발하기 위해 http://localhost를 많이 씀로컬에서는 SSL 인증서가 필요 없고 설정이 간단해서 개발 중에는 HTTP로 테스트하는 경우가 많다예시 :npm run dev # Vue.js 개발 서버 실행 → http://localhost:5173 해결 방법 (로컬에서도 HTTPS 사용하기)Node.js 환경 : mkcert 같은 도구를 사용해서 로컬 SSL 인증서 생성Spring Boot: application.properties 에서 HTTPS 설정 가능 내..

HTTP와 세션 : 쿠키를 활용한 인증 방식

HTTP와 세션 : 쿠키를 활용한 인증 방식  HTTP는 비연결 구조다 HTTP는 한 번 요청을 받고 응답을 보낸 후 연결을 끊어버리는 비연결(stateless) 방식이다.그렇다면 로그인 정보나 장바구니 정보와 같은 클라이언트 기반 데이터는 어떻게 유지될까? 정답은 서버 측에 저장하는 것이다.서버의 session 객체에 로그인 정보나 장바구니 정보를 담아두고,이후 요청이 올 때 이를 참조하여 사용자 상태를 유지한다. 세션과 쿠키의 역할 HTTP는 연결을 유지하지 않으므로, 요청이 들어올 때마다 서버는 사용자의 세션 정보를 찾아야 한다.그러나 서버 입장에서는 수많은 사용자가 동시에 접속하기 때문에,누구의 세션인지 확인할 방법이 필요하다. 이를 해결하기 위해 세션 ID(Session ID)가 사용된다.세션 ..

변경된 소스 코드만 추출하여 보관하고 패키징 하는 배치 스크립트

변경된 소스 코드만 추출하여 보관하고 패키징 하는 배치 스크립트 개요이 배치 스크립트는 특정 날짜 이후 변경된 파일을 복사하고, 디렉토리를 정리한 후 JAR 파일을 생성하는 역할을 수행합니다. 이를 통해 개발 환경에서 변경된 소스 파일을 관리하고 패키징할 수 있습니다. @ECHO OFFsetlocalset RootDir=D:\WINPMS\workspace\PMS_FISset ChageDir=D:\WINPMS\workspace\PMS_Uploads\%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%_ChangeECHO 디렉토리 생성MD %ChageDir%ECHO 파일 복사(날짜로 할 경우 /d:02-11-2009 /E 하위 디렉터리가 비어 있는 경우에도 모두..

MS-SQL에서 CURSOR 사용: 성능과 대안

MS-SQL에서 CURSOR 사용: 성능과 대안CURSOR란 무엇인가?MS-SQL에서 CURSOR는 행(Row) 단위로 데이터를 처리할 때 사용되는 객체이다. 일반적으로 SELECT 문을 사용하면 결과 집합을 한꺼번에 가져오지만, CURSOR를 사용하면 한 행씩 순차적으로 데이터를 가져와 처리할 수 있다. CURSOR의 기본 사용 예제다음은 CURSOR를 사용하여 TB_0_Member 테이블에서 데이터를 조회하고, 이를 SP_Member_INSERT 프로시저를 호출하는 방식이다.DECLARE @MemberGroup VARCHAR(200), @MemberName VARCHAR(200), @Mobile VARCHAR(200)DECLARE TempCursor CURSOR -- 커서 선언 FOR SELE..

MS-SQL 함수(FUNCTION) 작성 예제

MS-SQL 함수(FUNCTION) 작성 예제개요이번 글에서는 MS-SQL의 사용자 정의 함수(User Defined Function) 중 하나인 UF_REP_ATTACHMENTS_LIST_FOR_CHANGES에 대해 분석하고, 그 역할과 동작 방식을 설명하겠습니다. 이 함수는 특정 변경 요청(Changes)에 대한 첨부 파일 목록을 반환하는 기능을 수행합니다. ex) 함수 내용 USE [ovsdDB]GO/****** Object: UserDefinedFunction [dbo].[uf_UI_PERIOD_NAME_LIST_R1] Script Date: 02/26/2025 14:04:24 ******/SET ANSI_NULLS onGOSET QUOTED_IDENTIFIER onGOALTER FU..

MS-SQL 저장 프로시저(Stored Procedure) 작성 예제

MS-SQL 저장 프로시저(Stored Procedure) 작성 예제개요이번 글에서는 MS-SQL의 저장 프로시저(Stored Procedure) 중 하나인 sp_ETCL_ORG_R1에 대해 분석하고, 그 역할과 동작 방식에 대해 설명하겠습니다. 이 프로시저는 I-GATE 시스템에서 조직 정보를 가져와 CMDB(Configuration Management Database)에 반영하는 역할을 합니다. ex) SP 내용USE [ITSM_Interface]GO/****** Object: StoredProcedure [dbo].[sp_ETCL_ORG_R1] Script Date: 03/04/2024 09:02:42 ******/SET ANSI_NULLS onGOSET QUOTED_IDENTIFIER on..

엑셀 스네이크표기법 -> 카멜표기법 문자열 변환 함수

엑셀 함수: SUBSTITUTE, PROPER, MID, LOWER를 활용한 문자열 변환 자동화    엑셀에서 데이터 가공은 필수적인 작업 중 하나입니다. 특히, 데이터의 형식을 변환해야 하는 경우 여러 함수를 조합하여 원하는 결과를 얻을 수 있습니다. 이번 글에서는 다음과 같은 엑셀 수식을 분석하고 활용법을 설명하겠습니다.  =LOWER(MID(SUBSTITUTE(PROPER(B2),"_",""),1,1))&MID(SUBSTITUTE(PROPER(B2),"_",""),2,LEN(SUBSTITUTE(PROPER(B2),"_",""))) 이 수식은 언더바(_)가 포함된 문자열을 변환하여 첫 글자는 소문자로, 나머지는 원래의 형식대로 유지하는 기능을 수행합니다. 하나씩 분석해 보겠습니다.   1. 수식의 기..

Java API에서 return 값의 형태 선택(DTO, Map, ResponseEntity)

Java API에서 return 값의 형태 선택(DTO, Map, ResponseEntity) java api를 만들 때 return 값으로 보통 뭐에 담아줘야 할까?각각 MODEL 그대로?아니면 MAP형태로 하는 게 좋을까? Spring Boot에서 API를 만들 때 클라이언트에게 데이터를 어떻게 반환할지 결정해야 한다.주로 사용되는 방법은 DTO 객체, Map, ResponseEntity 등이다.각 방법의 장점과 단점, 그리고 언제 사용하는 게 좋은지 정리해 보자. 1. DTO (Data Transfer Object) 사용 - 가장 일반적인 방법 추천 상황:반환할 데이터가 고정된 형태이고, 필드(속성)도 정해져 있을 때직렬화(Json 변환) & 유지보수에 유리 예제 - DTO 사용 @Getter@Se..

Cannot load driver class: org.mariadb.jdbc.Driver Maria DB 설정 셋팅 에러

Cannot load driver class: org.mariadb.jdbc.Driver 오류는MariaDB JDBC 드라이버를 찾을 수 없을 때 발생하는 문제입니다.   해결 방법mariadb-java-client 의존성이 pom.xml에 추가되었는지 확인MariaDB 드라이버가 Maven 의존성에 포함되지 않았거나 누락되었을 수 있습니다. pom.xml에서 올바른 버전의 MariaDB 드라이버가 추가되었는지 확인하세요. pom.xml 확인 및 수정 org.mariadb.jdbc mariadb-java-client runtimescope를 **runtime**으로 설정하면, 실행 시점에만 드라이버가 로드됩니다.scope를 아예 제거하면 빌드 시에도 포함됩니다.Maven을 다시 빌드mvn..

DTO와 VO의 차이

DTO (Data Transfer Object)와 VO (Value Object)의 차이점은주로 용도와 의미에 따라 구분됩니다.  1. DTO (Data Transfer Object)DTO는 데이터 전송 객체로, 주로 계층 간 데이터 전송을 목적으로 사용됩니다. DTO는 데이터를 전송하는 데 필요한 최소한의 정보를 담고 있습니다.용도: 계층 간 데이터 전송 (예: 클라이언트와 서버 간, 서버 간 API 호출 시 데이터 전송)특징:주로 getter와 setter 메서드로 구성됩니다.데이터 전송을 위한 구조적 객체로 사용됩니다.비즈니스 로직은 포함하지 않습니다.변경 가능(mutable): 외부에서 데이터를 수정할 수 있는 구조입니다.주요 예: REST API 응답을 위한 JSON 포맷의 데이터, DB에서 추..