분류 전체보기 18

SQL WINDOWING

WINDOWING 절의 구조ROWS | RANGE | GROUPS BETWEEN AND ROWS물리적 행 개수정확히 N개 행을 포함하고 싶을 때RANGE논리적 값 범위같은 값을 가진 행을 모두 포함하고 싶을 때GROUPS같은 값을 가진 그룹 단위중복값을 하나의 그룹으로 처리할 때 UNBOUNDED PRECEDING: 파티션의 첫 행N PRECEDING: 현재 행 기준 N개 이전 행CURRENT ROW: 현재 행N FOLLOWING: 현재 행 기준 N개 이후 행UNBOUNDED FOLLOWING: 파티션의 마지막 행 #### ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING ``` Math | 70 ← 2 PRECEDING (위로 2개) Math | 71 ← 1 P..

카테고리 없음 2025.11.13

덧셈의 역관계

덧셈의 역관계는 뺄셈입니다. 이 두 연산은 서로를 '취소'하거나 '되돌리는' 관계에 있습니다.기본 개념덧셈과 뺄셈의 역관계란 한 연산이 다른 연산의 효과를 반대로 만드는 것을 의미합니다.예를 들어:5 + 3 = 8 이라면8 - 3 = 5 (원래 수로 돌아감)수식으로 표현하면어떤 수 a, b, c가 있을 때:a + b = c 이면c - b = a 이고c - a = b 입니다구체적인 예:7 + 4 = 1111 - 4 = 711 - 7 = 4실생활 적용1. 돈 계산내가 5,000원을 가지고 있고, 2,000원을 받았다면 → 7,000원다시 2,000원을 쓰면 → 5,000원 (원래대로)2. 거리 이동집에서 동쪽으로 3km 걸어갔다가다시 서쪽으로 3km 걸어오면 → 원래 집으로 돌아옴방정식 풀이에서의 활용역관계..

카테고리 없음 2025.10.24

30만 건 API 응답 처리 (502 에러 → Streaming 방식 해결)

1.상황우리 서버에서 제공하는 API를 외부 시스템 A에서 호출하고 있습니다. 시스템 A는 처리 완료 후 결과 데이터를 배열 형식([1, 2, 3, 4, 5, ...])으로 한 번에 전달하는데, 약 30만 건의 대량 데이터를 전송하다 보니 서버에서 502 Bad Gateway 에러가 발생하는 문제가 나타났습니다. 2.문제 원인서버가 JSON 전체를 한꺼번에 메모리에 로딩하면서 메모리 부담이 증가하고, 네트워크 지연과 함께 502 Bad Gateway 에러가 발생하고 있습니다. 대량의 데이터가 메모리에 몰리면서 서버 부하가 급격히 증가하는 것이 근본적인 원인입니다. 3.해결방안Jackson JsonParser를 활용한 스트리밍 방식으로 문제를 해결할 수 있습니다. 클라이언트(시스템 A)는 기존과 동일하게 ..

카테고리 없음 2025.09.29

[25년] 정보처리기사 실기 합격까지의 과정

📌 정보처리기사 실기 합격까지의 과정2024년 정기 기사 3회 떨어지고,2025년 정기 기사 1회 또 불합격...그리고 이번 2025년 정기 기사 2회,가채점 90점으로 합격 예정!필기는 한 번에 붙었는데,실기 시험은 처음 떨어지고 나니까그 뒤로는 시험 볼 때마다 긴장되고,멘탈 잡는 게 제일 힘들었음.진짜 실기 공부는 진심으로 열심히 했고,나오는 유형은 정말 다 풀어봤다고 해도 될 정도.유튜브에 홍달쌤이 올린 실기 문제 영상 전부 풀어봤고,은우쌤 강의도 전 영상 두 번씩 정복 완료.그리고 내가 따로 정리한 요약본은진짜 50번 넘게 반복해서 복습했음.지겨울 틈 없이 계속 돌리고 또 돌리고! 00. 필수 강의 영상https://www.youtube.com/@HeungSsaem 흥달쌤흥달쌤과 함께하는 IT..

카테고리 없음 2025.07.29

IntelliJ 파일 생성·삭제 시 속도 저하 문제 해결 (SVN 연동이 원인)

✅ IntelliJ 파일 생성·삭제 시 속도 저하 문제 해결 (SVN 연동이 원인)최근 IntelliJ 2024.1.1 버전을 사용하면서, 패키지나 파일을 생성·삭제할 때마다 1분 이상 걸리는 심각한 속도 저하가 발생했습니다. 처음에는 단순 성능 문제라고 생각하여, 아래의 IntelliJ 성능 최적화 방법까지 적용했지만 여전히 해결되지 않았습니다. 하지만 원인은 뜻밖에도 SVN 연동이었습니다. 🔍 문제 원인IntelliJ에서 SVN 플러그인이 활성화되어 있었고, 파일 생성/삭제 시마다 SVN 서버와 동기화를 시도하고 있었던 게 원인이었습니다. 폐쇄망 환경이라 네트워크 속도도 느렸기 때문에, SVN 접속 대기 시간이 파일 생성·삭제 시간까지 영향을 준 것으로 보입니다. ✅ 해결 방법SVN 플러그인 삭제..

카테고리 없음 2025.07.22

JWT; Json Web Token

아래의 링크가 정말로 잘 정리되어 있음 참고. https://inpa.tistory.com/entry/WEB-%F0%9F%93%9A-JWTjson-web-token-%EB%9E%80-%F0%9F%92%AF-%EC%A0%95%EB%A6%AC 🌐 JWT 토큰 인증 이란? (쿠키 vs 세션 vs 토큰)Cookie / Session / Token 인증 방식 종류 보통 서버가 클라이언트 인증을 확인하는 방식은 대표적으로 쿠키, 세션, 토큰 3가지 방식이 있다. JWT를 배우기 앞서 우선 쿠키와 세션의 통신 방식을 복습해inpa.tistory.com 아래와 같은 요청사항이 들어옴.API 호출 시 Header에 토큰을 포함했으면 좋겠습니다.해당 토큰이 어떤 토큰인지 구분할 수 있었으면 좋겠습니다.토큰 관리(저장, ..

카테고리 없음 2025.07.21

Java ExecutorService를 활용한 API 병렬 호출

문제 상황환경: 폐쇄망(인터넷이 차단된 내부망)에서 RestTemplate을 활용해 UKM 솔루션 API를 호출UKM (Universal SSH Key Manager): SSH 키 수명 주기 관리를 중앙화·자동화하는 솔루션으로, 키 삭제 시 서버 접속 → 키 삭제 → 서버 종료 등 여러 내부 프로세스를 수행하기 때문에 응답 속도가 느림. 초기 성능200건의 API 호출 완료까지 약 1분 소요동일 방식으로 1,000건 이상 API를 호출할 경우, 매우 긴 처리 시간이 걸릴 것으로 예상됨 성능 개선 시도여러 자료를 검토한 결과, Java의 ExecutorService(스레드 풀)를 활용하면 대량 API 호출 속도를 병렬 처리 방식으로 대폭 개선할 수 있음을 확인.기존 순차 처리 로직을 멀티스레드 기반 병렬 ..

카테고리 없음 2025.07.21

[Error] java.lang.IllegalStateException: Cannot call sendError() after the response has been committed

1. 순환 참조(Circular Reference) 에러 발생순환 참조는 객체 A가 객체 B를 참조하고, B가 다시 A를 참조하는 형태를 말한다. 아래의 관계를 그대로 Controller에서 JSON으로 변환하여 응답하면 [Error]  java.lang.IllegalStateException: Cannot call sendError() after the response has been committed 에러가 발생한다. 이것을 JPA 순환참조 오류라고 한다.class Parent { @OneToMany(mappedBy="child") List children;}class Child { @ManyToOne Parent parent;}2. 순환 참조 문제Parent p = new Pa..

카테고리 없음 2025.04.10

java HashMap Vs ConcurrentHashMap

java HashMap Vs ConcurrentHashMap  https://javaconceptoftheday.com/hashmap-vs-concurrenthashmap-in-java/ HashMap Vs ConcurrentHashMap In JavaDifferences between HashMap and ConcurrentHashMap in Java, HashMap Vs ConcurrentHashMap In Java, How ConcurrentHashMap differs from HashMap In Java...javaconceptoftheday.com HashMap과 ConcurrentHashMap은 둘 다 Java에서 사용되는 맵(Map) 인터페이스의 구현체입니다. 이들은 키-값(key-value..

카테고리 없음 2025.04.03