개발
- gradle 톺아보기 (plugin, dependency, source set, module)
- [k8s] 쿠버네티스로 어플리케이션 배포하기 (deployment, service, ingress, load balancer)
- [Java] 초당 api 호출 횟수 제한 처리 - Guava RateLimiter
- [MySQL, Java] Java 에서 MySQL Streaming 사용하기
- [pnpm] github action 을 이용하여 github pages 에 next.js 프로젝트 배포하기
- [k8s, kubernetes] 배포 전략 (deployment starategy)
- [k8s, kubernetes] microk8s node 추가 하기
- [k8s, kubernetes] deployment 설정하기 - k8s에서 mysql 실행하기
- [k8s, kubernetes] 온프레미스 k8s에 리모트로 접속하기 (namespace, service account, role, rolebinding, secret, config)
- [Linux] 디스크는 충분한데 실제 용량이 부족해요 - 논리 볼륨(Logical Volume, LV)
- [Java] Thread 클래스의 sleep() 은 어떤 Thread를 sleep 시키는가
- [Java] 네가지 참조유형 (Hard, Soft, Weak, Panthom)
- [Grafana, Prometheus] 서버 상태 모니터링 하기
- [Java] Static Object는 GC 의 대상일까?
- [Java] spring boot 프로젝트에 loki 추가해서 로그 수집하기
- 운영체제별 L1 Cache 사이즈 확인하기
- 오픈소스 스터디 3기 참여 후기 (오픈소스 PR 해보기, github 후원(sponsor) 해보기)
- [ios 개발] pod install 시 ruby path가 2.6.x일 경우 해결방법
- 트리 알아보기 - 이진 트리, 이진 탐색 트리, AVL 트리, B-트리, B+트리, Red Black 트리
- Java constructor access modifier - reflection 이용하여 우회하기
- microk8s로 cluster 구축하기 (with oracle cloud)
- jenkins pipeline 빌드 결과 슬랙으로 노티피케이션 전송하기
- jenkins pipeline 에서 데이터베이스 테스트 환경 세팅 자동화하기 (테스트용 데이터베이스 컨테이너 사용)
- Playwright PR 마무리
- mongodb docker compose 구성하기 (+ db 연결 안될 때)
- 231220 - 우아한 테크 세미나 정리 (대규모 트랜잭션 처리, Module Federation)
- 슬랙봇을 이용하여 슬랙 대화 내역 PostgreSQL 데이터베이스에 기록하기
- 유지보수 하기 쉬운 테스트 코드 만들기, 깨지기 쉬운 테스트 예방하기 - 구글 엔지니어는 이렇게 일한다
- Spring boot - 테스트용 프로파일 관리하기, CompletableFuture 목 처리 하기
- 통합테스트를 진행하면서 부딪힌 이슈들 (일부 항목만 Mock으로 처리하기, BeforeAll Non-static 에서 사용하기, @SQLDelete 가 적용된 상태에서 테이블 초기화 하기)
- Spring 기반 프로젝트에서 Service 클래스 안의 로직에 대한 테스트를 시도 하면서 경험한 것 (로직 분리, 함수형 프로그래밍, 순수 함수)
- 오픈소스 스터디 진행 가이드
- 디바이스팜 STF 설치해보기 (with docker)
- Amazon EKS로 웹 애플리케이션 구축하기
- 소나큐브 정적 분석 자동화 하기 (with Jenkins)
- 소나큐브 DB 설정하기 (with PostgreSQL)
- TabbyML 사용해보기 (private 오픈소스 코드 어시스턴트) (with arm architecture)
- 클린 아키텍처 설명 따라 직접 구현해보기
- jekyll 에서 page 파일들의 계층 구조 표현하기 (with jekyll plugin)
- Visual Studio Code, Extension 만들어서 등록까지 해보기 (with mocha)
- 잔디심기 안되는 문제 해결 - Fork한 Github 저장소 분리하기
- jekyll 에 PWA 적용하기
- 깃헙 블로그 세팅
- Spring - 테스트 객체 준비 JSON으로 하기 (객체 초기화 부분 줄이기)
- Playwright 로그인 재활용하기 - 세션 관리 (cookie, local storage, session storage)
- FreeRadius 로컬 인증서 갱신 및 인증서 파일별 역할 (crt, csr, key, p12, pem)
- PWA(프로그레시브 웹 앱, Progressive Web App) 만들어보기 (with vitepwa)
- [pnpm] firebase hosting deploy via github aciton
- [pnpm] firebase hosting과 github action 연결하기
- How to embed github(gist) code into my blog/homepage (+ chrome extensions)
- 내 블로그/홈페이지 에 github(gist) 코드 삽입(embed) 시키기 (+ 확장 프로그램 소개)
- 서버에서 google sheet api 사용하기 (with python)
- 소나큐브 설치하기 (with Docker, macOS)
- playwright 를 이용해 디시인사이드 크롤링 해보기 (python)
- Node.js 기반 Slack 봇 만들어보기 (Daily Geek News 알림 봇 만들기)
- [error] Requested but did not find extension point with identifier Xcode.IDEKit.ExtensionSentinelHostApplications for ...
- [Jetpack Compose] Navigation Drawer와 TopAppBar 연결하기
- [Jetpack Compose] State와 DataStore 연결하기
- [Jetpack Compose] DarkMode 대응하기
- [Jetpack Compose] nestedScroll connection 을 이용하여 스크롤 시에 AppTopBar를 사라졌다 보였다 하게 하기
- Google Colab에서 Playwright 사용하기
- Github Action - create-release, upload-release-asset warning 제거하기
- 안드로이드 - Github Action을 이용하여 Signed APK 빌드하기