본문 바로가기

분류 전체보기

(161)
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() : 문자열의 길이를 반환..
Java NIO ConceptJava NIONode.js / libuvMultiplexer abstractionSelectorlibuv internal poll mechanismRegister a file/socketchannel.register(selector, ...)uv_poll_t, uv_read_start, etc.Wait for I/O readinessselector.select()epoll_wait() inside poll phaseI/O readiness eventSelectionKey (e.g., OP_READ)Callback to JS handler (socket.on('data'))Event loop processorYour thread calling .select()libuv's event loop..
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..
JavaScript, Node JS, Event-Driven Programming 그리고 Java, Spring, MultiThreading - java와 javascript의 스타일 차이. 태생이다르다- node js의 등장- epoll과 같은 os method의 발전- java의 발전 프로그래밍 스타일 비교 Java Style: Sequential and ConditionalIn Java, you call a function, wait for the result, and then use if statements to control logic: @RestControllerpublic class UserController { private final UserService userService; public UserController(UserService userService) { this.userService = use..
Java 코딩구현 - Java New I/O System java.nio = New I/OIt was introduced to improve performance, scalability, and flexibility in Java I/O operations.Here’s what it covers:Featurejava.io (Old I/O)java.nio (New I/O)📚 StyleStream-basedBuffer & channel-based📁 File handlingFilePath, Files🔁 I/O typeBlocking onlyBlocking & Non-blocking⚙️ PerformanceGood for simple tasksBetter for large data or high load📂 Directory walkManualBuilt-in (..
적응형 비트레이트 스트리밍(Adaptive Bitrate Streaming) 설계 적응형 비트레이트 스트리밍(Adaptive Bitrate Streaming) 프로토콜공통 구조 요약구성요소설명Manifest (플레이리스트)어떤 세그먼트들이 있는지 정의한 메타파일. 예: .m3u8, .mpdSegment (세그먼트)실제 미디어 데이터 (영상/음성). 일반적으로 짧은 시간 단위로 나눔 (예: 4~10초) 적응형 스트리밍 동작방식개념 : "같은 시점"의 영상에 대해 서로 다른 비트레이트 버전의 세그먼트들이 존재하고, 네트워크 상태에 따라 클라이언트가 선택해서 요청하는 방식이에요. 세그먼트 구조 (Sequence 번호는 동일, 비트레이트별로 따로 존재)예를 들어, 다음과 같이 여러 화질 버전이 있을 수 있어요:비트레이트세그먼트 이름 (예시)240p (300kbps)chunk_001_240.m..