본문 바로가기

전체 글

(164)
배치처리 배치 처리란?한꺼번에(일괄로) 많은 데이터를 처리하는 방식. 주로 사용자 개입 없이, 예약된 시점에 자동 실행됨 배치 처리의 구성 요소 (Spring 기준)Spring에서는 보통 @Scheduled 또는 Spring Batch를 이용해 구현해. @Scheduled (간단한 주기성 작업)가볍고 단순한 배치에 적합트랜잭션/재시도/병렬처리 기능 없음@Scheduled(cron = "0 0 0 * * *") // 매일 자정public void sendDailyReport() { // 작업 수행} Spring Batch (전문 배치 프레임워크) @Beanpublic Job myJob() { return jobBuilderFactory.get("myJob") .start(step1()) ..
파일서빙 전략, 표준 그리고 구현 자원의 일치화문제, 요청의 동적처리 (보안, 출력물 유연한 생성) 파일 서빙 전략1. 주체별 분류누가 실제로 클라이언트에 파일을 보내주는가?분류설명예시Java 서버에서 직접 응답Java에서 InputStream → OutputStream으로 전달바이트 스트림 방식Nginx 서버에서 정적 서빙Nginx가 파일 직접 서빙/files/image.jpgJava + Nginx 연계Java가 인증 등 처리 후 Nginx에 서빙 위임 (X-Accel-Redirect 헤더 사용)X-Accel-RedirectCDN글로벌 캐시 서버가 등록된 파일을 대신해서 전송해주는 전송 대행 서비스CloudFront, Cloudflare 주체별 분류 : Java 직접 응답바이트 스트림 방식 (Java 등에서 직접 처리)Java (Spr..
통합 관리 플랫폼 구축 📌 작성 팁항목내용서술 방식“무엇을” 했는가보다 “왜 그렇게 했는가”에 집중핵심 정리단순 기능 나열이 아니라 “고민 → 선택 → 결과” 형식 강조가독성굵은 제목, 표, 리스트, 코드 스니펫 등 시각적으로 분리보완 자료Swagger 캡처, ERD, 트랜잭션 다이어그램 등 시각 자료 첨부 1. 프로젝트 개요프로젝트명 : Crowd Management Admin Platform기간 : 2025.03 ~ 현재역할 : 백엔드 전반 개발 (설계, 구현, 테스트)기술스택 :Java 17, Spring Boot 3.2JPA (Hibernate), QueryDSLMariaDB / RedisRabbitMQ / WebSocketSwagger / SpringDoc주요 도메인 : 인파 분석, 카메라 관리, 권한 제어, HLS..
Static File Upload Generalized Static File Upload WorkflowClient uploads a file (MultipartFile)Client (frontend or mobile) sends a multipart/form-data request:POST /uploadContent-Type: multipart/form-data--boundaryContent-Disposition: form-data; name="file"; filename="image.jpg"Content-Type: image/jpeg (binary data) Server stores the file (locally or in cloud) and returns a public-accessible URL@PostMapping("/u..
Java 리플렉션, 제네릭 Class클래스 자체도 객체로 표현한 것으로, 특정 타입(T)의 Class 객체를 의미해요. 해당 클래스의 정의(필드, 메서드 등)에 대한 정보를 담은 객체를 반환합니다.Class clazz = String.class;System.out.println(clazz.getName()); // java.lang.StringSystem.out.println(clazz.getDeclaredFields()); // 필드 정보들 리플렉션클래스, 필드, 메서드, 생성자 등의 정보를 런타임에 동적으로 조회하거나 조작할 수 있게 해주는 기능즉, Java에서 "클래스나 메서드 등의 정보를 코드로 다루는 기능"이에요.이 모든 건 Class 객체를 통해 시작됨정적(static) 인스턴스 생성 방식컴파일 타임에 타입이 명확히 정..
자바스크립트 내장함수 JavaScript 언어 자체의 기능JavaScript 엔진(V8, SpiderMonkey 등)**에서 제공하는 기능으로 어디서든 동작 가능 (브라우저, Node.js, 서버 등) JavaScript KeywordIn Operator(javascript property in object) : The in operator returns true if the specified property is found in the specified object or its prototype chain. Its syntax is:  String Object MethodStringinstance.toUpperCase() : 문자열을 대문자로 변환 후 반환함Stringinstance.length() : 문자열의 길이를 반환..
Tomat And Netty Tomcat vs Netty — What's the Difference? Feature / AspectTomcatNettyBuilt forServlet-based web apps (Spring MVC)General-purpose networking (low-level)I/O modelBlocking or semi-blockingFully non-blocking, event-drivenProtocolsHTTP/1.1, some HTTP/2HTTP/1.1, HTTP/2, WebSocket, TCP, UDPUse caseTraditional web serversReactive systems, custom protocolsAbstraction levelHigh (Servlets, Filters)Low (Chan..
Java Blocking I/O vs non-Blocking I/O 1.. JDBC (Database Access)java복사편집String name = jdbcTemplate.queryForObject("SELECT name FROM users WHERE id = ?", String.class, 1); 🔒 Blocking behavior:The current thread sends the SQL query over the network to the DBThe thread waits (blocks) until the DB returns a responseNo other work happens on that thread until the DB reply is received📌 JDBC is a blocking API, always🔸 2. RestTemplate (HT..