What is Helm?
Helm helps you manage Kubernetes applications — Helm Charts help you define, install, and upgrade even the most complex Kubernetes application.
Charts are easy to create, version, share, and publish — so start using Helm and stop the copy-and-paste.
The Purpose of Helm
Helm is a tool for managing Kubernetes packages called charts. Helm can do the following:
- Create new charts from scratch
- Package charts into chart archive (tgz) files
- Interact with chart repositories where charts are stored
- Install and uninstall charts into an existing Kubernetes cluster
- Manage the release cycle of charts that have been installed with Helm
For Helm, there are three important concepts:
If you provide feedback, it is important to also include suggestions for improvement
C++ to Go
Introducing Ziegel
박재완
Luft
- OLAP database for analize the analyzing user behavior in real-time
- Use TrailDB as a storage
- Written in C/C++ and Go
- TrailDB is an efficient tool for storing and querying series of events
- Written in C
- New storage engine for the Luft
- Written in Go
Why?
- TrailDB has been a suitable solution for the Luft
- But development was halted in 2019
- Issues with peformance and productivity
Issues
- Inefficient multi-core utilization
// finalize. this could take a while with idle CPU usage but don't panic.
// it's not freeze;
// it's because TrailDB indexing process is not parallelized yet :(
- Row store data structure
- Use multiple language: C/C++ and Go
Journey for the migration
- Add more tests for consistency verification
- Add interface for engine replacement
- With this interface, we can easily replace the engine(partial or full)
- Implement storage engine
- Peformance tuning
- 2x fater for the ingestion, 1.2 slower for the query
Go provides great tools for measuring performance.
December 2022
Guido van Rossum: Python and the Future of Programming | Lex Fridman Podcast #341
Are programmers jobs threatend by the existence of stack overflow? I don’t think so.
Agreed.
If it is truly important to you, you’ll find a way; if it is not, you’ll find an excuse. - anonymous
2022년 10월
일단 마음 내키는대로 결정하고, 그 뒤에 벌어질 일들을 담대하게 마주하라
코호트 분석
원하는 유저군(코호트)을 잡아서 해당 유저들의 행동을 분석하는 기법
예: “지난 6개월간 우리 앱에서 한달에 10만원 이상 소비한 30대 여성"이란 유저군을 잡은 후,
해당 유저군의 리텐션 (재방문률)을 분석
분석방법
- Amplitude, Google Analytics 등의 외부 솔루션 사용
- RDB(OLTP) 사용
- 장점: 익숙함
- 단점: 일정 규모를 넘어가면 성능문제로 문제해결 불가능함
- 데이터 파이프라인을 구축(Snowflake, Apache Kafka 등 활용)
- 코호트 분석용 OALP 데이터베이스를 직접 개발: https://engineering.ab180.co/stories/introducing-luft
- 장점: 고성능의 입맛대로 동작하는 데이터베이스를 가질 수도 있음
- 단점: 직접 개발해야 함
Go module에서 GitHub private 저장소를 사용하는 방법입니다.
git 설정에서 GitHub 접근을 계정과 토큰을 사용하게 변경
git config --global url."https://${GITHUB_USER}:${{GITHUB_TOKEN}}@github.com".insteadOf "https://github.com"
GOPRIVATE 환경변수에 private 저장소 등록
GOPRIVATE="github.com/hueypark/asset"
Go에서 GLFW 등을 이용해 그래픽스 관련 작업을 할 때에도 자동화
테스트 구성이 가능합니다. 하지만 GitHub Actions과 같이
디스플레이가 없는 환경에서는 의존성을 가지고 있다는 이유만으로 그래픽스 관련 테스트가 실패합니다.
xvfb는 메뉴얼에서 virtual framebuffer X server for X Version 라고 소개되고 있으며, 서버 사이드
테스트를 위해 주로 사용됩니다.
Ubuntu 기준으로 sudo apt install xvfb로 설치하고 xvfb-run에 이어서 테스트 명령어를 추가하여
테스트할 수 있습니다. 실제 GitHub Actions에 적용한 예시를
공유드립니다.