전체 글 295

Streaming이란?

📌 1. Streaming이란?Streaming은 데이터를 한 번에 모두 보내는 게 아니라, 조각(chunk) 단위로 나눠서 순차적으로 전송하는 방식이다. 📖 예를 들어:대용량 파일 전송 시 전체를 다 들고 있지 않고 조금씩 읽고 보내는 방식채팅, 로그, 실시간 알림 등 계속 이어지는 데이터를 실시간으로 전달하고 싶을 때 사용나는 ai API 응답을 사용자에게 빨리 보여주기 위해 사용했다!!📌 2. Reactive Stream 기본 개념Reactive Stream은 비동기 + 논블로킹 방식으로 데이터 흐름(스트림)을 처리하는 기술이다.Java에서는 이를 Flux, Mono 같은 클래스로 표현하며, Spring WebFlux는 이를 기반으로 작동하는 비동기 웹 프레임워크다.📌 3. Mono vs F..

Backend/JAVA 2025.12.18

java.net.SocketException:A system call received a parameter that is not valid.

📌 IBM JDK (WebSphere) 환경에서 HTTPS API 호출 시 A system call received a parameter that is not valid 에러 트러블슈팅 🚀 결론 요약1. 에러는 HTTP(API호출) 파라미터가 유효하지 않은게 아니라 socket / protocol 상태이다.2. 서버(WebSphere)에서 외부 HTTPS로 나가는 Outbound TLS 트래픽이 차단됨. → 이는 네트워크/보안 장비 정책 영역으로 보안팀에Outbound 허용(SSL Inspection 예외) 요청이 필요함.3. 2번이 아니라면 API서버 측 legacy SSL 사용을 의심할 수 있다. 🔍 1. 문제 증상Spring 기반 배치에서 외부 HTTPS API 호출 시 로컬 PC(Wi..

error 2025.12.18

Eclipse에서 JDK 버전 설정 방법

Eclipse에서 JDK 17을 사용하는 방법 🔧✅ 1. Eclipse에서 JDK 17 설정 확인 및 변경1️⃣ Eclipse에서 사용 중인 JDK 확인Eclipse 실행Window → Preferences 선택Java → Installed JREs 이동현재 사용 중인 JDK가 JDK 17인지 확인!2️⃣ 프로젝트에서 JDK 17 사용 설정프로젝트 선택 후 우클릭 → PropertiesJava Compiler → Compiler compliance level을 17로 변경Java Build Path → JRE System Library를 선택✅ 2. Maven이 JDK 17을 사용하도록 설정1️⃣ Maven에서 Java 버전 변경📌 pom.xml에서 을 17로 맞춰춘다! 17 그 후 Maven ..

tool 2025.12.18

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 2025.11.29

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 2025.11.29

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/보안 2025.11.29

대량 DB INSERT 최적화

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

Backend/JAVA 2025.11.29

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

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

tool 2025.11.20