분류 전체보기 290

CTE(Common Table Expression)란?

📌 1. CTE(Common Table Expression)란?SQL에서 임시 결과 집합을 이름 붙여 재사용할 수 있는 쿼리 ✔️ 장점쿼리를 읽기 쉽게 구조화 가능중복 쿼리 제거 → 유지보수 용이재귀 쿼리 구현 가능 (계층형/트리 구조)📌2. CTE 문법WITH cte_name AS ( SELECT column1, column2 FROM table_name WHERE condition)SELECT *FROM cte_name; ✔️ 설명WITH 뒤에 CTE 이름(cte_name) 지정괄호 안에 SELECT 문마지막에는 CTE를 사용하는 쿼리 필요📌 3. 여러 CTE 연결WITHcte1 AS ( SELECT 1 AS val),cte2 AS ( SELECT val+1 AS ..

SQL 17:37:02

Ngrok이란?

🔍1. Ngrok란?Ngrok는 로컬 개발 환경을 외부에서 접근 가능하게 만들어 주는 터널링 서비스📌2. Ngrok 기능HTTP/HTTPS 터널링 → 로컬 서버를 안전하게 공개HTTPS 인증서 자동 제공 → LS/SSL 보안 연결을 사용하며, 인증서는 자동으로 생성트래픽 확인 → http://127.0.0.1:4040에서 요청/응답 확인 가능TCP 터널링 → SSH, DB 등 TCP 서비스 터널링 가능Custom subdomain/Custom domain → 유료 계정에서 가능📌3. Ngrok 설치 및 사용 방법✅ 3-1. 다운로드https://ngrok.com/ ✅ 3-2. 인증 토큰 확인1️⃣ 회원가입 및 로그인2️⃣ Getting Started > Your Authtoken 페이지 이동3️⃣ ..

tool 17:24:03

SSO란?

🔍 1. SSO란?SSO (Single Sign-On, 싱글 사인온) 은 한 번 로그인하면 여러 서비스/시스템을 다시 로그인 없이 이용할 수 있게 해주는 인증 방식 📌2. SSO 인증 프로토콜SSO를 구현하기 위한 프로토콜/인증 방식방식역할특징토큰/응답SAML 2.0 (Security Assertion Markup Language)인증XML 기반, 주로 기업용 웹 SSOSAML Assertion(XML)OAuth 2.0 (Open Authorization)권한 (인증x, API 접근 권한 발급)JSON/JWT 기반, RESTful API 친화적Access TokenOIDC (OpenID Connect)인증 + 권한OAuth 2.0 기반, API 친화적ID Token (JWT), Access Toke..

study/보안 17:20:11

대량 DB INSERT 최적화

📌 대량 DB INSERT 최적화CSV파일을 읽어 사용자 일괄 등록하는 기능 구현함.성능/메모리 고려 필요 ➡ 영향주는 요소 알아보고 테스트해보기로 함!📌 1. 대량 Insert 시 반드시 고려해야 하는 핵심 요소(메모리 + 성능 개요)🔹 트랜잭션 크기(성능) → 너무 큰 트랜잭션 = DB 로그 폭증 → 500~1000건마다 커밋 권장 🔹 네트워크/DB 부하(성능) → DB 성능 낮으면 배치 사이즈 더 줄이기 🔹 파일 파싱(메모리) → DTO → Entity 변환 과정에서 메모리 증가 → 스트리밍 방식 활용 🔹 오류 처리 전략(트랜잭션 정책) → 실패 데이터만 재처리할지? → 전체 롤백인지?→ 요구사항 따라 처리 방식 달라짐📌2. 메모리 이슈: CSV 파싱·저장 방식이 메모리에 미치는 영향..

Backend/JAVA 17:12:25

윈도우 계정 잠금 해제 / 비밀번호 변경

윈도우 비밀번호 많이 틀려서 잠겼을 때 => 10~30분 정도 기다리면 다시 입력가능하다고 한다!!윈도우 비밀번호 잊었을 때 => ms계정 연동되어있거나 복구 usb있으면 정석적으로 재설정가능함. 아래는 위 경우가 아닐 때 직접 변경하는 방법!! 윈도우 계정 비밀번호 재설정📌 1. 복구 모드 1️⃣ 전원 켜고 Shift 키 누른 상태로 재시작 →“문제 해결” > “고급 옵션” > “명령 프롬프트” 진입2️⃣ 명령창에서 다음 입력: net user {계정이름} {새비밀번호}⭐ 여기 기본 프롬프트는 한국어 입력이 안 된다!! 📌 2. 관리자 계정으로 로그인 가능할 경우→ “Administrator” 계정을 활성화해서 그걸로 로그인한 뒤 변경하자.1️⃣ 복구모드에서 관리자 계정 켜기(생략 가능): net ..

tool 2025.11.20

[MySQL] 문자 인코딩 변경 (에러 처리)

### Cause: java.sql.SQLSyntaxErrorException: (conn=23478) Incorrect string value: '\xEC\xA0\x9C\xEB\xAA\xA9...' for column bbs.post.title at row 1 ; bad SQL grammar []] with root cause ❓ 원인SQLSyntaxErrorException: Incorrect string value 에러는 문자 인코딩 문제 때문에 발생!!즉, title 컬럼에 한글(또는 특수 문자)이 제대로 저장되지 않는 문제다. 🛠 해결 방법📌 1. 인코딩 확인✅ 서버 전체 기본 인코딩 확인SHOW VARIABLES LIKE 'character%'; ✅ 데이터베이스 인코딩 확인SELECT sc..

SQL/RDBMS 2025.11.08

첨부파일 관리 (DataTransfer)

📌 1.type="file" HTML에서 요소는 사용자가 로컬 컴퓨터에서 파일을 선택해 서버로 업로드할 수 있게 하는 입력 필드다.file 입력 필드에 들어가는 데이터는 FileList 객체로 input[type="file"].files를 호출하면 FileList 객체가 반환된다. ✅ 동작 원리1️⃣ html의 기본 요소 중 하나인 file 요소는 클릭 시 로컬 파일 탐색기 창을 열고, 2️⃣ 파일을 선택하면, 요소의 값이 파일 객체로 채워진다.3️⃣ 폼 제출 시, 파일이 multipart/form-data 형식으로 서버에 전송된다. ⚠️ 주의: 태그의 enctype이 반드시 multipart/form-data로 지정되어야 파일이 전송된다. 📌 2. DataTransfer을 이용한 커스텀커스텀하..

Frontend/javaScript 2025.11.08

파일 업로드, 다운로드 (MultipartFile)

📌 1. MultipartFile이란?MultipartFile은 Spring이 제공하는 파일 업로드를 위한 내장 인터페이스. multipart/form-data 요청을 처리할 수 있고, 파일 데이터를 다룰 수 있다. ✅ 1-1. MultipartFile 주요 특징스프링이 자동으로 파일을 바인딩해 줌.단일 파일 & 다중 파일 업로드 가능@ModelAttribute, @RequestParam과 함께 사용파일 이름, 크기, 확장자, 바이너리 데이터 접근 가능 ✅ 1-2. 주요 메서드메서드설명getOriginalFilename()업로드된 파일의 원본 이름 가져오기getSize()파일 크기 (바이트 단위)getContentType()파일의 MIME 타입 확인getBytes()파일을 byte 배열로 변환getI..

Backend/JAVA 2025.11.08

vue3 프로젝트 생성 (node, vue cli, 에러 해결)

1. node.js 설치 1-1. 다운로드https://nodejs.org/en 1-2. 설치 후 확인node -vnpm -v 2. Vue cli 설치2-1. 설치npm install -g @vue/cli 2-2. 설치 확인vue --version *Error: EPERM: operation not permitted, rmdir 에러 발생 시 관리자 권한으로 cmd/bash/powershell 실행 캐시 지우기npm cache clean --force-> 이후 다시 vue/cli 설치 시도. * 기타 참고 명령어Npm 최신 버전 설치npm install -g npm@latest --force 폴더 생성된 것 확인npm list -g --depth=0 전역 설치된 패키지 제거npm uninstall -g ..

Frontend/vue3 2025.11.08

[error] ORA-01461: LONG 값은 LONG 열에 삽입할 때만 바인드할 수 있습니다

🚨에러ORA-01461: LONG 값은 LONG 열에 삽입할 때만 바인드할 수 있습니다검색 결과 LONG, CLOB 컬럼에 잘 못된 타입의 데이터를 넣으려 할 때 발생하는 에러라고 한다.하지만, 나는 테이블에 LONG, CLOB 컬럼이 없고 BLOB이 있는데 에러가 발생!!⭐ 정확한 기준은 모르겠지만 나는 기존 테스트 통과한 코드였는데 길이가 긴 데이터 등록할 때에만 해당 에러가 났다!! 📖기존 코드 MERGE INTO TB_GENR_DOC_MGMT target USING( SELECT #{boardId} AS boardId,#{sno} AS sno, #{title} AS title,#{contBlob, jdbcType=BLOB} AS cont FROM DUAL ) source ON (targe..

error 2025.09.01