/users
/posts
/slides
/apps
/books
mysetting
/users
/posts
/slides
/apps
/books
KIM JUNGHWAN
@NAVER
Seoul
Joined on 2021년 11월 05일
Profile
Post
Like
4:08 5/30
blog.naver.com
4:08
blog.naver.com
나만의공간。
https://blog.naver.com/writer0713/
프로그래밍을 사랑하는, 프로그래밍을 즐기는 사람입니다.
저작도구: naver blog
최종 피드 수집: 2025-12-15 06:15
전체 (401)
1d
[kotlin] 동기화 - synchronized
코드설명 BankAccount 구현체에서 구현해야할 메서드들을 가지고 있다. withdraw : amount 만큼 출금을 시도한다. takeBalance : 남은 balance 를 리턴한다. BankAccountV1 동기화 코드가
Kotlin
+ 더보기
0
0
0
읽기모드
21d
2025.11.23
다시 새로운 마음가짐으로 시작.
2025年
+ 더보기
0
0
0
읽기모드
24d
2025.11.21
이제 가끔 사람들 만나서 술 마시는 것도 재미없네. 새로운 무언가가 필요하다. 리프레시 할 수 있는 무언가.
2025年
+ 더보기
0
0
0
읽기모드
27d
[kotlin] volatile - 메모리 가시성
코드설명 MyTask runFlag를 기준으로 while 문을 돌린다. main MyTask 를 별도 thread 로 실행한다. 1초를 쉬고 MyTask 의 runFlag 를 false 로 변경한다. 기대하는 결과는 main 에서
Kotlin
+ 더보기
0
0
0
읽기모드
27d
[kotlin] yield - 양보하기
yield - 양보 Thread.yield() 메서드에 대해 알아보자. 이전 포스팅들에서는 sleep(ms) 를 사용하여 다른 스레드에게 cpu 를 양보하도록 했다. 그럼 yield 는 뭐가 다를까? 아래 예제를 통해 알아보자.
Kotlin
+ 더보기
0
0
0
읽기모드
1M
[kotlin] interrupt (3)
개요 while 문에서 인터럽트를 체크하고 바로 while 문을 벗어나려면 어떻게 해야 할까? 코드 설명 MyTask 기존에 사용하던 sleep(3000) 을 제거했다. while 문에서 Thread.interrupted() 메서
Kotlin
+ 더보기
0
0
0
읽기모드
1M
[kotlin] interrupt (2)
이전 포스팅에서 sleep 중인 thread 를 즉시 interrupt 하는 방법이 있을지 궁금해하며 포스팅을 끝냈다. 이번 포스팅에서 그 방법을 알아보자. 코드 설명 MyTask while 문을 try-catch 로 감싸고 In
Kotlin
+ 더보기
0
0
0
읽기모드
1M
[kotlin] interrupt (1)
코드 설명 MyTask runFlag 를 통해 while 문 실행여부를 결정한다. while 문 내부에서는 "작업 중" 로그를 찍고 3초를 sleep 한다. while 문을 빠져나가면 "자원 정리", "자원 종료" 라는 로그를 찍
Kotlin
+ 더보기
0
0
0
읽기모드
1M
[kotlin] join
Join 아래 코드에서 thread1.join() 과 thread2.join() 을 실행함으로써 main thread 는 thread1과 thread2 가 완료될때까지 대기하게 된다. 좀 더 정확하게는 thread1.join()
Kotlin
+ 더보기
0
0
0
읽기모드
1M
[kotlin] Thread 의 생명주기
Thread 의 생명주기와 상태 Thread 의 생명주기에 대해 알아보자. Thread 는 상황에 따라 '상태' 가 바뀌게 된다. Thread 의 여러 상태 New (새로운 상태): Thread 를 생성했지만 start() 메서드
Kotlin
+ 더보기
0
0
0
읽기모드
1M
[kotlin] Thread 기본 정보
Thread 의 기본정보 Thread 클래스가 제공하는 정보들을 알아보자. Thread 객체 정보 Thread 클래스의 toString() 메서드는 [thread-id, thread-name, priority, threadGrou
Kotlin
+ 더보기
0
0
0
읽기모드
1M
[kotlin] Thread 생성과 실행 (with. thread 메서드)
개요 이전에 Thread 생성 하는 방법 두 가지에 대해 포스팅을 했었다. Thread 상속을 통한 생성 Runnable 구현을 통한 생성 위 두가지 방식은 java 에서 제공하는 방식이다. 하지만, 나는 kotlin 언어를 사용
Kotlin
+ 더보기
0
0
0
읽기모드
1M
[kotlin] Custom Logger
Custom Logger 만들기 이전 코드들에서 println 을 통해 쓰레드명과 메시지를 출력했었다. 매번 이렇게 쓰기가 불편하기도 하고 포맷을 맞춰서 편리하게 사용하기 위해 Custom Logger 를 만들어보자. 물론 일반적
Kotlin
+ 더보기
0
0
0
읽기모드
1M
[kotlin] Thread 생성과 실행 (with. Runnable 인터페이스)
Runnable Interface 구현을 통한 Thread 생성 이전에 Thread Class 상속을 통한 Thread 생성에 대해 포스팅 했었다. Java (kotlin) 에서는 또 다른 방법인 Runnable Interface
Kotlin
+ 더보기
0
0
0
읽기모드
1M
[kotlin] Daemon Thread
Thread 의 종류 Thread 는 user-thread 와 daemon-thread 2가지 종류로 구분할 수 있다. User Thread (non-daemon thread) 프로그램의 주요 작업을 수행한다. thread 의 작
Kotlin
+ 더보기
0
0
0
읽기모드
1M
[kotlin] Thread 생성과 실행 (with. Thread 클래스)
Thread Class 상속을 통한 Thread 생성 아래 코드에서와 같이 Thread 클래스를 상속해서 Thread 를 생성할수 있다. Thread 를 상속하고 run 메서드를 오버라이드 해줘야 한다. 구현 클래스 (HelloT
TIL
+ 더보기
0
0
0
읽기모드
1M
[kotlin] 프로세스와 스레드
Process 프로그램은 실제 실행하기 전에는 그저 파일에 불과하다. OS 상에서 프로그램을 실행하면 Process 가 만들어진다. 즉, OS 상에서 실행중인 프로그램을 Process 라 한다. 각 Process 는 독립적인 메모
TIL
+ 더보기
0
0
0
읽기모드
1M
[kotlin] 멀티태스킹 vs 멀티프로세싱
멀티태스킹 하나의 CPU 코어로 여러개의 프로그램을 매우 빠른속도로 번갈아가며 실행하는 행위이다. 번갈아가며 실행되는 속도가 매우 빨라서 마치 여러개의 프로그램이 동시에 실행되는 것처럼 보인다. 각 프로그램의 실행 시간을 분할해서
TIL
+ 더보기
0
0
0
읽기모드
1M
[kafka] 라운드 로빈 파티셔너 / 스티키 파티셔너
라운드 로빈 파티셔너 kafka 2.3 까지 default partitioner 였다. 프로듀서가 6개의 메시지를 전송하고 파티션이 5개 있는 토픽 라운드 로빈 방식이면 순차적으로 메시지가 분배가 된다. 이 방법은 파티션당 배치가
kafka
+ 더보기
0
0
0
읽기모드
1M
[kafka] Group Coordinator
Group Coordinator 그룹 코디네이터는 컨슈머 그룹이 구독한 토픽의 파티션들과 그룹의 멤버들을 트래킹한다. 그룹 코디네이터는 각 컨슈머 그룹별로 존재하며, 이러한 그룹 코디네이터는 카프카 클러스터 내의 브로커 중 하나에
kafka
+ 더보기
0
0
0
읽기모드
1M
[kafka] 클라이언트 메타데이터와 브로커 통신
클라이언트 메타데이터 kafka client 는 통신하고자 하는 리더 파티션의 위치를 알기 위해 데이터를 주고 받기 전에 메타데이터를 브로커로부터 전달 받는다. 메타데이터는 다음과 같은 옵션을 통해 리프레쉬 된다. kafka pr
kafka
+ 더보기
0
0
0
읽기모드
1M
[kafka] ISR 과 acks 옵션
ISR (In-Sync-Replicas) - 리더 파티션과 팔로워 파티션의 offset 이 동일(sync) 하다. - 리더 파티션과 팔로워 파티션의 offset 이 동일하지 않으면 팔로워 파티션은 ISR 에 포함되지 않는다. IS
kafka
+ 더보기
0
0
0
읽기모드
1M
[kafka] Partitioner (producer)
Partitioner 동작 방식 kafka Producer 는 내부에 Partitioner 를 가지고 있고 이 Partitioner 는 여러가지 파티션 분배 전략을 선택할 수 있다. Partitioner 는 파티션 분배 전략에 따
kafka
+ 더보기
0
0
0
읽기모드
1M
[kafka] 세그먼트
개요 Kafka 의 세그먼트는 파티션의 데이터를 실제로 저장하는 물리적인 파일이다. Kafka 는 데이터 (headers, key, value, offset ,timestamp) 를 파티션에 순차적으로 기록하지만, 이 데이터는 여
kafka
+ 더보기
0
0
0
읽기모드
1M
[kafka] DLT (Dead Letter Topic) 처리 - @DltHandler
@RetryableTopic 을 사용하여 retry 를 했음에도 처리가 실패한 메시지는 'xxx.dlt' 토픽으로 전송된다. dlt 토픽에 쌓인 메시지를 처리하는 방법에 대해 알아보자. 아래 코드는 receiveMessage 에서
kafka
+ 더보기
0
0
0
읽기모드
1M
[kafka] 논블로킹 재시도 - @RetryableTopic
이전 포스팅에서 message 처리가 실패하면 retry (10회) 하는 동안 같은 파티션의 다음 message 들의 처리가 blocking 된다고 설명했다. 그리고, retry 가 모두 실패하면 자동으로 DLT (Dead Let
kafka
+ 더보기
0
0
0
읽기모드
1M
[kafka] message 처리 실패시 blocking
상황설명 상황은 다음과 같다: • Producer가 Topic A의 0번 파티션에 메시지 1번부터 5번까지 쭉 보냈다 • Consumer가 이걸 받아서 처리하고 있는데, 1번과 2번은 잘 처리됐다 • 그런데 3번 메시지에서 갑자기
kafka
+ 더보기
0
0
0
읽기모드
1M
[kafka] 토픽 네이밍 컨벤션 완벽 가이드
카프카(Kafka)를 사용하다 보면 수많은 토픽을 생성하게 된다. 처음에는 몇 개의 토픽으로도 관리가 용이하지만, 프로젝트가 커질수록 토픽의 개수도 늘어나 체계적인 네이밍이 필수적이다. 오늘은 Kafka 토픽의 효율적인 네이밍 컨
kafka
+ 더보기
0
0
0
읽기모드
1M
[kafka] consumerGroup 과 offset
kafka 에서 컨슈머 그룹으로 컨슈머를 묶을수 있다. 컨슈머 그룹은 topic - partiton 에서 어디까지 메시지를 읽었는지 offset 을 metadata로 기록한다. 이 offset 기록과 kafka offset res
kafka
+ 더보기
0
0
0
읽기모드
1M
[kafka] kafka message 의 특징
Kafka Message 특징 다른 메시지큐 (ex. RabbitMQ, SQS) 와 다른 카프카의 특징 중 하나는 consumer 가 message 를 읽어서 처리 (consume) 한 이후에도 메시지가 삭제되지 않고 (설정된 기
kafka
+ 더보기
0
0
0
읽기모드
1M
[kafka] producer / consumer / topic
producer producer 는 여러가지 형태로 존재할수 있다. 어떤 형태이든 producer 의 목적은 같다. producer 는 message (data) 를 kafka 로 전달하는 것이 주요 목표이다. applicatio
kafka
+ 더보기
0
0
0
읽기모드
1M
[kafka] docker-compose 로 confluent kafka 띄우기
Docker-Compose 로컬에서 가볍게 confluent kafka 를 사용해보려고 할 때 docker-compose 를 사용하여 confluent kafka cluster (node 1 + controller 1 + brok
kafka
+ 더보기
0
0
0
읽기모드
1M
[kafka] Apache Kafka vs Confluent Kafka
개요 Confluent 는 실리콘밸리에 있는 빅데이터 회사로 링크드인에서 Apache Kafka 를 최초로 개발한 개발자들이 나와서 설립한 회사이다. Confluent Kafka 는 Apache Kafka 를 기반으로 확장한 다양
kafka
+ 더보기
0
0
0
읽기모드
2M
2025.10.08
드디어 http 관련 강좌를 완강하고 블로그에 정리도 완료했다. 사실 영상을 다 본건 한달전인데 개인적으로 중요하다고 생각되는 부분들을 블로그에 정리 하다보니 시간이 더 오래 걸렸다. 확실히 블로그에 정리하면서 다시 보니 좀 더
2025年
+ 더보기
0
0
0
읽기모드
2M
[HTTP] 기타 캐싱 헤더 - Expires / Vary
1. Expires Expires 는 HTTP/1.0 에서 정의한 헤더다. 서버가 파일의 캐시 만료일을 지정하는 응답 헤더로 cache-control 의 max-age 가 '초' 를 지정한다면, 이 헤더는 날짜와 시간 (만료일)
HTTP
+ 더보기
0
0
0
읽기모드
2M
[HTTP] 캐시 제어 - Cache-Control
1. Cache-Control 일반적으로 캐싱 프로세스는 브라우저가 서버에 요청을 해서 캐싱 관련 헤더를 받은 이후에 동작하게 된다. 하지만, Cache-Control 헤더를 사용하면 좀 더 세밀하게 캐싱을 컨트롤하여 서버에 요청
HTTP
+ 더보기
0
0
0
읽기모드
2M
[HTTP] 내용 기반 캐싱 - ETag
1. ETag (Entity Tag) 서버에서 설정하는 ETag 헤더와 클라이언트에서 설정하는 If-None-Match 헤더를 통해 내용 기반 캐싱 (ETag) 을 사용할 수 있다. ETag 는 HTTP/1.1 부터 지원하는 기능
HTTP
+ 더보기
0
0
0
읽기모드
2M
[HTTP] 시간 기반 캐싱
1. 시간 기반 캐싱 (Last-Modified / If-Modified-Since) 서버에서 설정하는 Last-Modified 헤더와 클라이언트에서 설정하는 If-Modified-Since 헤더를 통해 시간 기반 캐싱을 사용할
HTTP
+ 더보기
0
0
0
읽기모드
2M
[HTTP] 이미지 지연로딩
이미지 지연로딩의 필요성 브라우저는 일반적으로 파싱과정에서 img 태그를 만나면 파싱을 멈추고 이미지를 요청 및 다운로드한다. 만약, 한 페이지에 이미지가 엄청나게 많다면 (ex. 사진첩이나 블로그) 브라우저는 이 모든 이미지들에
HTTP
+ 더보기
0
0
0
읽기모드
2M
[HTTP] Prefetch
Prefetch Prefetch 는 이전 포스팅에서 설명한 Preload 와 비슷한 역할을 한다. Preload 는 이미지, 스크립트, 웹폰트 등의 리소스에 대해 미리 요청을 한다면, Prefetch 는 페이지 자체에 대해 미리
HTTP
+ 더보기
0
0
0
읽기모드
2M
[HTTP] Preload
Preload Preload 란 웹문서에 필요한 자원을 미리 다운로드하는 방법이다. 태그의 async 처럼
태그의 preload 속성을 사용하면 원하는 자원을 io 스레드를 통해 파싱을 멈추지 않으면서 요청을 한다. 예를 들
HTTP
+ 더보기
0
0
0
읽기모드
2M
2025.10.05
내가 알고 있다고 생각하는 것들이 사실은 제대로 알고 있지 않은 경우가 많다.
2025年
+ 더보기
0
0
0
읽기모드
2M
[HTTP] script 태그의 defer 속성
Defer 속성 이전 포스팅에서 Async 속성을 사용하면 script 요청이 IO 쓰레드에서 실행되면서 메인 쓰레드가 실행하는 파싱과 렌더링 과정을 멈춤없이 진행할수 있다고 설명했다. 하지만, 문제는 모든 script 에 사용할
HTTP
+ 더보기
0
0
0
읽기모드
2M
[HTTP] script 태그의 Async 속성
Async 속성 렌더링에 영향을 주지 않기 위해서는 '파싱' 이 끊김없이 계속 진행되어야 한다. 이전 포스팅에서 설명했듯이 태그와 같은 요소들은 파싱에 영향을 준다. 태그의 async 속성은 파싱과 파일(javascript)
HTTP
+ 더보기
0
0
0
읽기모드
2M
[HTTP] 렌더링 과정
렌더링 과정 DNS (Domain Name Server) 질의 사용자는 웹브라우저 주소창에 URL 을 입력한다. DNS 를 통해 URL 에 해당하는 IP 를 찾게되고, 해당 IP 로 요청을 보내게 된다. 브라우저는 해당 IP 의
HTTP
+ 더보기
0
0
0
읽기모드
2M
2025.10.03
꾸준함으로 승부하자. 하루 30분씩이라도 공부하자. 눈으로 공부하지 말고, 직접 타이핑하며 공부하자. 백문이불여일타
2025年
+ 더보기
0
0
0
읽기모드
2M
[HTTP] 사전요청 - Preflight Request
1. 사전 요청 (Preflight Request) 이전 포스팅에서 설명한 '단순 요청' 의 조건을 만족하지 못하면 브라우저는 본 요청을 보내기 전에 '사전 요청' 을 보낸다고 설명했다. 브라우저는 '단순 요청' 의 조건을 만족하
HTTP
+ 더보기
0
0
0
읽기모드
2M
[HTTP] CORS - 단순요청 (Simple Request)
1. 단순요청 (Simple Request) 의 조건 아래 3가지를 모두 만족하는 경우를 '단순요청' 이라고 한다. '단순요청' 의 경우, 다음 포스팅에서 소개할 'preflight (사전 요청)' 을 하지 않는다. 요청 메서드가
HTTP
+ 더보기
0
0
0
읽기모드
2M
[HTTP] CORS 의 동작원리
CORS 이전 포스팅에서 설명한 SOP 정책으로 인해 기본적으로는 '동일 출처' 가 아닌 경우 리소스 요청시 브라우저에 의해 해당 리소스를 사용할수 없게 차단된다. 만약, '동일 출처' 가 아닌 경우에 리소스를 요청하려면 어떻게해
HTTP
+ 더보기
0
0
0
읽기모드
2M
[HTTP] SOP (동일 출처 정책)
1. SOP (Same Origin Policy) (CSP 와 SOP. 둘 다 세글자이고 철자도 비슷하게 생겨서 헷갈린다) SOP 는 Same Origin Policy 의 줄임말로 한국어로 하면 '동일 출처 정책' 이라고 한다.
HTTP
+ 더보기
0
0
0
읽기모드
2M
[HTTP] CSP (컨텐츠 보안 정책)
1. CSP (Content Security Policy) CSP 를 설정하는 방법에는 두가지가 있다. server 에서 response 할때, header 에 'Content-Security-Policy' 를 추가하는 방법 태
HTTP
+ 더보기
0
0
0
읽기모드
2M
[HTTP] CSRF (교차 사이트 요청 위조)
1. CSRF 우선 아래와 같은 가정을 하고 진행하자. attacker.com 이라는 사이트가 있다 cookie 에는 어떠한 directive (예방책) 도 적용되어 있지 않다. attacker.com 에서는 아래와 같이 보이지
HTTP
+ 더보기
0
0
0
읽기모드
2M
[HTTP] 세션 하이재킹
1. 세션 하이재킹 이전 포스팅에서 설명했던 XSS 를 사용하여 '세션 하이재킹' 등의 공격을 실행할 수 있다. '세션 하이재킹' 이란 게시판 등에 '악성 script' 를 심어놓고 다른 client 가 해당 글을 읽을때 '악성
HTTP
+ 더보기
0
0
0
읽기모드
2M
[mysql] user(사용자) 생성, 권한 추가, 변경, 삭제
1. 셸 진입 및 준비 - root 로 mysql 셸 진입 - mysql 사용 - 현재 사용자 리스트 확인 2. User 생성 - localhost (mysql 서버) 에서 셸을 통한 접근만 허용하려면 유저명@localhost 로
MYSQL
+ 더보기
0
0
0
읽기모드
2M
[mysql] 설치 직후 root 계정 비밀번호 변경
1. MySQL 셸 접속 비밀번호 없이 root 사용자로 접속 2. 비밀번호 변경 (5.7 이상) 3. 권한 테이블 새로고침 mysql 사용자 권한 테이블을 새로 고쳐야 변경 사항이 즉시 적용됨 4. mysql 종료 5. 변경된
MYSQL
+ 더보기
0
0
0
읽기모드
2M
[Spring] RestTemplate 제대로 사용하기
이전 포스팅에서 설명했던 ObjectMapper 와는 다르게 RestTemplate 은 springboot 에서 AutoConfiguration 으로 제공되지 않는다. 따라서, @Bean 으로 등록하여 사용해야 하는데 이때 주의해
TIL
+ 더보기
0
0
0
읽기모드
2M
[Spring] ObjectMapper 제대로 사용하기
Springboot 프로젝트에서 ObjectMapper 를 사용할때 기본적으로 제공되는 ObjectMapper 를 사용하지 않고 직접 @Bean 을 만들어서 사용하는 경우가 있다. 문제는 이렇게 직접 @Bean 으로 등록하게 되면
TIL
+ 더보기
0
0
0
읽기모드
2M
[AI] 자주 사용하는 MCP
1. context7-mcp Context7은 LLM과 AI 코드 에디터를 위해 최신의 버전별 문서와 코드 예제를 동적으로 제공하는 MCP 서버입니다. 프롬프트에서 "use context7"을 포함하면, 서버가 현재의 공식 문서를
AI
+ 더보기
0
0
0
읽기모드
2M
[HTTP] 크로스 사이트 스크립팅 (XSS)
1. XSS (Cross-site scripting) 이란? 크로스 사이트 스크립팅 (XSS)은 공격자가 웹사이트에 악성 클라이언트 사이드 코드를 삽입할 수 있도록 하는 보안 취약점 공격입니다. 이 악성 코드는 피해자에 의해 실행
TIL
+ 더보기
0
0
0
읽기모드
3M
[HTTP] SSE (w/ springboot)
SSE (Server Sent Event) 는 server => client 로 데이터를 보내는 단방향 통신이다. 즉, client 는 server 에 커넥션을 연결하고 server 에서 데이터를 보내주는것을 받을수만 있다. SS
TIL
+ 더보기
0
0
2
읽기모드
3M
[HTTP] long-polling
long-polling 은 short-polling 과는 조금 다르다. 역시나 client 에서 일정 시간마다 요청을 하는 방식이지만, '일정 시간' 을 정하는 주체가 서버측이다. short-polling 은 client 측에서
TIL
+ 더보기
0
0
0
읽기모드
3M
[HTTP] (short) Polling
polling 은 일반적으로 우리가 알고있는 주기적인 요청을 통한 데이터 확인이다. 아래와 같은 장단점이 있다. 장점 : 구현이 쉽다. 단점 : 서버에 부담이 갈 수 있다. 쓸모없는 요청/응답으로 인해 쓸모없는 트래픽 (ingre
TIL
+ 더보기
0
0
0
읽기모드
3M
[HTTP] 쿠키
4.1 쿠키 헤더 쿠키는 여러 용도로 사용된다. 여기에서 그 모든 용도에 대해 다루려는건 아니고 쿠키가 클라이언트와 서버 사이에서 어떻게 생성되고 사용되어 지는지, 그리고 쿠키의 옵션(?) 들은 어떤것들이 있는지 보려고 한다. 우
TIL
+ 더보기
0
0
0
읽기모드
3M
[Springboot] @ConfigurationProperties prefix 룰
평소에 별 생각없이 썼던 springboot 의 @ConfigurationProperties 에 대해 정리한다. 아래와 같이 prefix 에 "customProperties" 를 적으면 에러가 발생한다. 아래는 에러 내용 이유는
TIL
+ 더보기
0
0
0
읽기모드
3M
[HTTP] Accept-Language
3.3 언어 Accept-Lanuage 헤더를 사용하여 서버에게 어떤 언어로 컨텐츠를 제공해주길 바라는지 전달할 수 있다. youtube 를 통해 테스트해볼수 있다. 본인의 브라우저 기본 언어는 '한국어'로 되어 있기 때문에 yo
TIL
+ 더보기
0
0
0
읽기모드
3M
[HTTP] 컨텐츠 협상 - Accept-Encoding
3.2 압축 Accept-Encoding 헤더를 사용하면 서버에게 컨텐트를 압축해서 전달하도록 요청할수 있다. 브라우저의 경우, 기본적으로 Accept-Encoding 헤더를 사용하기 때문에 서버측에서 압축 관련 처리를 해놨다면
TIL
+ 더보기
0
0
1
읽기모드
3M
[데브허브] DEVHUB 진행 상황 - 2025.09.02
블로그 개발일지에 적지는 않았지만 시간이 날때마다 틈틈이 업데이트를 진행했습니다. - '기업 테크 블로그' 추가 - top 10 콘텐츠 페이지 - ui / ux 개선 그리고, 오늘 짬을 내어 '이메일로 최신 소식 구독하기' 기능을
개발일지
+ 더보기
0
0
0
읽기모드
3M
[HTTP] 컨텐츠 협상 - Accept / Content-Type
3.1 컨텐트 타입 Accept header 에 따라 server 에서는 전혀 다른 타입의 content 를 response 할 수 있다. Github repository 주소를 사용해 아래와 같이 테스트 해볼 수 있다. requ
TIL
+ 더보기
0
0
0
읽기모드
3M
2025.09.01
24년 언제부터인가.. 블로그에 일기 쓰기와 기술 공부 정리하는 행위를 멈추었다. 아마도 우리 부부에게 아기가 찾아오고 나서부터 인 것 같다. 정신적으로나 육체적으로나 (물론 지금도..) 여유가 사라지다 보니 '정리를 해야겠다'는
2025年
+ 더보기
0
0
0
읽기모드
3M
[Linux] 외부 방화벽 설정하는 법 Firewalld
Firewalld 설치 및 설정
OCI
+ 더보기
0
0
0
읽기모드
4M
[Golang] macbook golang 설치 (w/ asdf)
Golang
+ 더보기
0
0
0
읽기모드
6M
[유튜브 프리미엄] NFXBUS 10% 할인코드
NFXBUS NFXBUS 라는 사이트를 통해 유튜브 프리미엄을 싸게 구독할 수 있다. 본인은 10% 할인코드 적용해서 2년 구독권을 73.79$ 에 구매했다. NFXBUS 와 비슷한 사이트들이 여러개 있는데 비교해보니 NFXBUS
etc
+ 더보기
0
0
0
읽기모드
7M
[Git] Github 에서 gemini 에게 pr review 받기
개요 Github 에서 동료들뿐 아니라 Gemini-code-assist (AI) 에게 무료로 review 를 받을수 있다. 개인 프로젝트라면 사용해서 나쁠게 없어보인다. 방법 1. Github Login 2. 아래 링크에 들어가
GIT
+ 더보기
0
0
0
읽기모드
8M
[docker] rancher desktop / Testcontainers 에러 - ip: can't find device 'vznat'
개요 mac m3 에 rancher desktop + Testcontainers 를 설치한 이후 terminal 에서 아래와 같은 에러가 발생했다. 해결책 아래 명령어를 실행하자.
DOCKER
+ 더보기
0
0
13
읽기모드
9M
[AI] Cline - Plan / Act mode 차이점
개요 개인 프로젝트 진행시 자주 사용하는 VSCode 의 Cline 이라는 툴에서 'plan' 과 'act' 라는 모드가 나뉘어져 있는것을 발견했다. 두 모드의 차이점이 궁금하여 찾아보고 정리한다. 참고 아래 thread 에 동영
AI
+ 더보기
0
0
2
읽기모드
10M
[데브허브] DEVHUB 진행 상황 (인사이트 제공 / player 최적화, etc) - 2025.02.09
개요 마지막으로 포스팅 했던게 24.12.21 이었으니 벌써 두달 가까이 시간이 흘렀다. 연초부터 독감, 식중독, 극심한 허리통증을 차례로 겪으면서도 개발을 손에서 놓지 않았다. 오늘은 근 두달간 업데이트 한 내용들과 앞으로 진행
개발일지
+ 더보기
0
0
1
읽기모드
11M
[데브허브] DEVHUB 진행 상황 ('유튜브에서 보기' 버튼 추가) - 2024.12.21
'유튜브에서 보기' 기능 추가 devhub 는 웹 기반이라서 모바일 화면을 끄면 백그라운드 재생이 안되는 단점이 있음 PC 로 볼때는 크게 불편한 점이 없지만, mobile 에서 볼때는 유튜브앱으로 보는게 좀 더 쾌적한 느낌이 있
개발일지
+ 더보기
0
0
0
읽기모드
11M
[Next.js] Prisma on Next.js 강좌
노마드코더 next.js 강좌를 들으면서 prisma 를 알게되었는데 사이드 프로젝트 할 때 상당히 괜찮은 orm 프레임워크 라고 생각이 들었다. 노마드코더 강좌에서는 간단한 예제만 하다보니 좀 더 실무에 가까운 사용법을 알고 싶
Next.js
+ 더보기
0
0
0
읽기모드
11M
[데브허브] DEVHUB 진행 상황 (AI model 변경) - 2024.01.02
AI 모델 변경: Google AI Studio로의 전환 DEVHUB에서는 동영상 카테고리 분류와 요약에 AI를 활용하고 있는데, 기존에는 Groq의 무료 모델(Google GEMMA)을 사용했습니다. 하지만, 12월 중순부터 스
개발일지
+ 더보기
0
0
0
읽기모드
11M
[데브허브] DEVHUB 진행 상황 (삭제 / 비공개 동영상 자동 삭제) - 2024.12.21
근황 시간이 참 빠르다. 사실 이 기능은 11월 말에 작업을 완료하였는데 최근에 육아와 일이 너무 바빠서 포스팅을 못하고 있었다. 처음 프로젝트를 시작할 때 "사용자가 없어도 그냥 혼자 꾸준히 개발을 해보겠다"라고 다짐했던 것처럼
개발일지
+ 더보기
0
0
1
읽기모드
1y
[2024 마이 블로그 리포트] 데이터로 찾아보는 내 블로그 마을
점점 블로그를 안하게 되는군..
기타
+ 더보기
0
0
0
읽기모드
1y
[데브허브] DEVHUB 진행상황 (AI 요약 기능 추가) - 2024.11.03
AI 요약 기능 개발기 모델 선택 팀 동료가 AI 요약 기능이 있으면 좋겠다는 의견을 주어, 약 2주 동안 'AI 요약' 기능을 개발해보았다. 다양한 모델에 맞춰 프롬프트를 조정하며 수백 번의 테스트를 진행했다. 비용을 들이면 더
개발일지
+ 더보기
0
0
0
읽기모드
1y
[데브허브] DEVHUB 진행상황 (AI 를 사용한 카테고리 분류) - 2024.11.02
카테고리 분류 카테고리 분류 방법 선택 기존에는 모든 동영상을 최신순으로 보여주고 있었다. 사용자들에게 가장 도움이 되는 기능이 무엇일까 고민해보니 수 많은 동영상 중에서 내가 원하는 분야의 동영상만 골라보기가 쉽지 않을거란 생각
개발일지
+ 더보기
0
0
1
읽기모드
1y
[Next.js] Vercel 배포 실패 - (Module not found: Can't resolve)
개요 next.js app 개발을 하는 도중, 파일명 규칙이 중구난방이라 생각되어 통일을 시키기 위해 cacmel case 에서 kebab case 로 파일명들을 수정했다. 그리고, push 후에 vercel 에 배포하자 아래와
Next.js
+ 더보기
0
0
0
읽기모드
1y
[데브허브] DEVHUB 진행상황 (many updates) - 2024.10.12
Github Actions 버그 수정 이전 포스팅에서 BE (springboot) 의 CI 를 Github Actions 로 구축했다고 적었었다. 잘 사용하고 있었는데 간혹 application 을 shutdown 하고나서 다시
개발일지
+ 더보기
0
0
0
읽기모드
1y
[데브허브] DEVHUB 진행상황 (video player 크기 최적화) - 2024.10.09
(mobile) video player 크기 최적화 개인적으로 출퇴근 시간에 모바일에서 devhub 를 이용하다 보면 video player 크기가 너무 작은것 같다는 생각이 들었다. 모바일이니 어쩔수 없다고 자기 위로를 하다가,
개발일지
+ 더보기
0
0
1
읽기모드
1y
[데브허브] DEVHUB 진행상황 (언어 선택 추가) - 2024.10.06
동영상 언어 (필터링) 추가 기존에는 언어에 상관없이 시간순으로 card 들이 노출됐었다. '일간 / 주간 / 월간 top 50' 페이지를 추가할까 하다가, 그것보다는 언어 필터링을 먼저 추가하는게 더 나을것 같다고 판단하여 빠르
개발일지
+ 더보기
0
0
0
읽기모드
1y
[데브허브] DEVHUB 진행상황 (Google Analytics / Github Actions 추가) - 2024.10.06
Google Analytics 추가 기존에 Vercel 에서 제공하는 Vercel Analytics 를 사용하고 있었는데, 좀 더 세부적인 내용들을 보기 위해 Google Analytics 를 추가했다. Vercel Analyti
개발일지
+ 더보기
0
0
0
읽기모드
1y
[데브허브] DEVHUB 진행상황 (Giscus 추가) - 2024.10.05
Comment 기능 (Giscus) 추가 동영상 페이지 하단에 코멘트 및 리액션 기능을 추가했다. 코멘트 관련 기능을 직접 만들려다가 Giscus 라는 오픈소스를 사용하게 되었다. Giscuss 를 사용했을때의 장점과 단점은 명확
개발일지
+ 더보기
0
0
0
읽기모드
1y
[데브허브] DEVHUB 진행상황 (Supabase Egress) - 2024.10.02
Supabase Database Egress Limit 현재 DEVHUB 의 DB 는 Supabase 에서 제공되는 free plan 의 Postgresql 을 사용중이다. 처음에는 큰 생각없이 Supabase 의 기능들을 사용했
개발일지
+ 더보기
0
0
10
읽기모드
1y
[데브허브] DEVHUB 진행상황 - 2024.09.30
Github 로그인 기능 추가 추후 개인별 기능을 제공하기 위해 로그인 기능을 추가했다. 개발자들이 타겟층인만큼 이메일을 통한 회원가입보다는 github 을 통한 회원가입/로그인이 나을거라 판단했다. supabase 의 auth
개발일지
+ 더보기
0
0
1
읽기모드
1y
[데브허브] IT뉴스 - OpenAI o1, 구글 노트북LM 팟캐스트 생성, Gen-3 V-to-V, 어도비 영상 AI, Reflection 사기 등
요약 : OpenAI o1, 구글 노트북LM 팟캐스트 생성, Gen-3 V-to-V, 어도비 영상 AI, Reflection 사기 등에 대한 소식 그냥 라디오처럼 듣길 추천 #데브허브 #devhub #OpenAI #o1 #구글 #
추천컨텐츠
+ 더보기
0
0
0
읽기모드
1y
[데브허브] Find The Best VS Code Themes Here #webdeveloper #vscode
요약: - 이 영상에서는 VSCode 테마를 찾을 수 있는 웹사이트를 소개한다. - 이 웹사이트에서는 인기 있고 최신 트렌드의 테마들을 미리 볼 수 있다. #데브허브 #devhub #VSCodeTheme
추천컨텐츠
+ 더보기
0
0
0
읽기모드
1y
[데브허브] DEVHUB 진행상황 - 2024.09.15
로딩화면 추가 로딩화면을 추가했다. 가능하면 사용자가 바로 화면을 볼 수 있으면 좋겠지만 가끔 페이지 이동시에 약간의 딜레이가 생기는 느낌이 있어서 부득이하게 추가했다. 페이지 이동간에 아무런 액션이 없는것보다는 나은듯 하다. T
개발일지
+ 더보기
0
0
0
읽기모드
1y
[데브허브] Local vs. Cloud LLMs/RAG - Let's FINALLY End this Debate
요약: - 이 영상에서는 AI 에이전트를 구축할 때 로컬 또는 클라우드 기반의 LLM(Large Language Model)과 RAG(Retrieval Augmented Generation)를 사용하는 방법에 대해 논의한다. -
추천컨텐츠
+ 더보기
0
0
0
읽기모드
1y
[데브허브] 아이폰 16/16 프로에 적용되는 AI, 애플 인텔리전스(Apple Intelligence)란?
요약: - 애플 인텔리전스는 개인 맞춤형 AI로, iOS, 아이패드, 맥북 등 애플 기기에서 사용할 수 있다. - 온 디바이스 AI 기반으로 기기 내에서 인공지능이 작업을 처리한다. - 필요한 경우 보안이 강화된 클라우드로 작업을
추천컨텐츠
+ 더보기
0
0
0
읽기모드
About
Badge
Contact
Activity
Terms of service
Privacy Policy