전체 글 (80) 썸네일형 리스트형 Java - Virtual Thread - 고정 (Pinning) Java 21에서 추가된 Virtual Thread(이하 가상 스레드)의 고정(Pinning)에 대해서 고정되는 이유를 중심으로 몇 가지 내용들을 얘기해 보겠습니다. 가상 스레드에 대해서는 어느 정도 알고 있다는 것을 전제로 작성됐습니다.0. 기본 용어 및 개념가상 스레드는 가상 스레드 스케줄러에 의해서 플랫폼 스레드에 할당되어 실행됩니다. 이 때 가상 스레드가 플랫폼 스레드에 할당되는 것을 mount(이하 마운트)라는 단어를 사용하고, 할당이 해제되는 것을 unmount(이하 언마운트)라는 용어를 사용합니다. 그리고, 특정 가상 스레드가 할당되어 실행되게 해 주는 플랫폼 스레드를 캐리어(carrier)라고 부릅니다. 보통 가상 스레드는 캐리어를 통해 실행되다가 블록킹 IO 작업을 하게 되는 경우나 Ob.. Spring Boot에서 virtual thread를 활성화할 때 성능 외에 주의할 점 한 줄 요약spring.threads.virtual.enabled=true 를 한 경우에는 spring.main.keep-alive=true 도 설정해야 할지 검토하세요 Java 21에서 Virtual Thread(이하 가상 스레드)가 추가됨에 따라 Spring Boot 3.2.x부터 이를 사용하도록 설정할 수 있게 됐습니다. 속성 파일에서 spring.threads.virtual.enabled 를 true 로 설정하면 내장 WAS, @Async가 붙은 메소드 처리, 스케줄러 등에서 플랫폼 스레드가 아닌 가상 스레드를 사용하게 됩니다. Spring Boot에서 가상 스레드를 활성화할 때는 기본적으로 고정된 가상 스레드(pinned virtual thread)와 관련된 성능 측면을 고려해야 하지만, 그 .. Java - JSR, JEP Java 언어 자체 또는 JDK 기능과 관련된 제안서에는 JSR과 JEP가 있습니다. 예를 들어, Java 21에 추가된 Virtual Thread는 JEP 444에 정의돼 있고, Servlet 4.0 명세는 JSR 369에 정의돼 있습니다. 이 JSR과 JEP가 무엇인지 간단히 정리해 봅니다.JSR (Java Specification Request)JSR은 자바 커뮤니티 프로세스(JCP, Java Community Process)에서 새로운 기능, API 또는 개선 사항을 제안하는 공식적인 문서입니다. JCP 회원들이 제안하고, 승인되면 Java 플랫폼의 공식 사양으로 포함될 수 있습니다. JCP 공식 홈페이지의 FAQ란에 보면 JSR를 다음과 같이 설명하고 있습니다.JSR은 Java Specifica.. Grok vs Groq xAI에서 Grok 3를 발표했다고 기사가 났더군요. 일론 머스크가 발표 전부터 '가장 똑똑한 AI'라고 수 차례 얘기했다고도 하고, 이 번 발표에서도 주요 모델들의 성능을 앞선다고 얘기했다고 하는데요, 오늘은 Grok 3 모델에 대한 얘기가 아니라 이름에 대해서 잠깐 이야기해 보겠습니다. Grok이라는 단어는 로버트 A. 하인라인의 1961년 소설 "낯선 땅의 이방인 (Stranger in a Strange Land)"에서 만든 동사로 일종의 깊은 이해를 표현하는 용어입니다. xAI의 Grok은 공식 홈페이지에서 얘기하고 있지는 않지만, 위키피디아의 내용에 보면 해당 이름이 해당 소설에 나온 Grok에서 유래했다고 얘기하고 있고, 그 외 매체들에서도 간혹 언급하는 거 같습니다. 여기까지는 좋습니다. '.. 라즈베리파이 - Home Assistant - LG ThinQ 연동 LG ThinQ OpenAPI 연동 시리즈1. LG ThinQ Open API 로 가전 제품과 연동하기 2. LG ThinQ Open API로 가전 제품과 연동하기 - 2 (MQTT) 3. 라즈베리파이 - Home Assistant - LG ThinQ 연동 LG ThinQ Open API로 가전 제품과 연동하기와 연장선 상에 있는 글로서 Home Assistant에서 LG ThinQ 시스템과 연동하는 방법에 대한 글입니다. Home Assistant가 무엇인지 간단히 설명하고 설치하는 방법과 LG ThinQ와 연동하는 방법을 이야기해 보도록 하겠습니다. 전반적으로 복잡한 내용은 거의 없고, 실제 LG ThinQ는 연동이라고 할 것도 없이 간단히 설정만 하면 됩니다.0. Home AssistantHom.. LG ThinQ API로 가전 제품과 연동하기 - 2 (MQTT) LG ThinQ Open API 연동 시리즈1. LG ThinQ API 로 가전 제품과 연동하기 2. LG ThinQ API로 가전 제품과 연동하기 - 2 (MQTT) 3. 라즈베리파이 - Home Assistant - LG ThinQ 연동 ThinQ API 체계에서는 기기에서 발생하는 푸시 메시지나 상태 변경에 대한 이벤트 메시지를 MQTT 방식으로 제공합니다. 이벤트/푸시 구독 API를 통해서 특정 기기에 대해서 구독을 하면 이벤트나 푸시가 있는 경우 MQTT 브로커러 발행을 합니다. MQTT Subscriber(또는 클라이언트)로 접속하여 이 메시지를 지속적으로 수신할 수 있습니다.1. 이벤트/푸시 구독API 명세:푸시 : https://smartsolution.developer.lge.com/.. LG ThinQ API 로 가전 제품과 연동하기 LG ThinQ OpenAPI 연동 시리즈1. LG ThinQ API 로 가전 제품과 연동하기2. LG ThinQ API로 가전 제품과 연동하기 - 2 (MQTT) 3. 라즈베리파이 - Home Assistant - LG ThinQ 연동 LG ThinQ API가 드디어 일반에게도 공개됐더군요. 작년 초에 공개할 계획이라는 기사를 보고 기다리다 잊고 있었는데, 궁금해서 찾아보니 작년 12월에 공개를 했더군요. 사용해 본 내용을 간단히 정리합니다.0. 준비개발자 사이트 가입https://smartsolution.developer.lge.com/ PAT(Personal Access Token) 발급https://connect-pat.lgthinq.com/login 1. 클라이언트 아이디 등록PAT를 발급.. Kotlin 2.1 - 새롭게 추가된 언어 기능 코틀린 2.1에 새로운 언어 기능 3가지가 프리뷰 형태로 추가됐습니다. 그에 대해서 간략히 살펴 봅니다.새로운 기능을 테스트 하면서 몇 가지 공식 문서와 실제 내용이 일치하지 않는 부분이 있어서 테스트한 환경을 적어 둡니다. 내용을 보시면서 공식 문서와 다르다고 얘기한 부분들에 대해서는 이 환경을 감안하고 보시면 좋을 거 같습니다. - Gradle Kotlin Plugin: 언어 버전 2.1.10 으로 설정 - IDE: IntelliJ IDEA Community Edition 2024.3.2.21. 인수(subject)가 있는 when의 가드(guard) 조건when 에서 subject는 when 넘겨지는 인수를 말합니다. 코틀린에서는 when을 서브젝트가 있는 when (subject) { ... } .. 이전 1 2 3 4 ··· 10 다음