본문 바로가기
반응형

전체 글90

GPT와 개발 총 개발 경력 15년이 넘어가면서 이렇게 충격적인 시대에 살고 있다는 게 신기하기도 하다. ChatGPT 유료 버전을 쓰면서 개발 업무를 하고 있는데, 이렇게 개발 생산성이 순식간에 올라간 적이 있었나 싶다. 한 달에 3만 원씩을 사용하지만 전혀 아깝지 않다.가끔가다 써서 잘 까먹는 프로그래밍을 잘 짜준다.필자는 쉘스크립트 를 아주 가아끔 쓴다. 그런데 쉘 스크립트는 쓸 때만 잠깐 공부해서 쓰고, 다시 까먹는다. 그런데 공부하는 시간이 그동안 좀 걸렸다. 하지만 GPT에 물어보고 작성하니 버그도 덜하면서 빠르게 작성할 수가 있다.또한, 개인적인 취미생활로 파이썬 기반의 봇을 만들 때 구글 api 라든지 그런 사용법도 gpt 가 알아서(물론 최적화까지는 바로 안 해주지만) 바로바로 알려주므로 매우 빠르게 .. 2024. 11. 2.
Jupyterhub with spark on k8s 설치 삽질기 & 팁 주피터 노트북과 스파크는 워낙 잘 알려진 오픈소스이므로 이에 대한 설명은 굳이 언급하지 않으려 한다. 여기서는 k8s 상에 주피터를 어떻게 잘 설치할 수 있으며, 주피터 상에서 스파크 executor 를 어떻게 실행할수 있는지, 단순히 혼자서 쓰는게 아닌 여러명이 어떻게 공간을 분리(멀티테넌트)하여 제한된 리소스로 사용하도록 As a service 형태로 제공할수 있는지 설명한다. (보안측면에서는 자세히 다루지 않는다. k8s에서 networkPolicy 등 세밀한 설정이 필요하겠지만 그건 필요에 따라 레벨이 달라지기 때문이기도 하고, 자칫하다가는 주피터 노트북의 기본 동작 조차 안되는게 있을 수도 있다)또한 스파크의 배포형상에 대해서도 논하지 않는다. 주피터 노트북에서는 cluster 모드 보다는 c.. 2024. 10. 26.
테슬라 vs 현대차 반자율주행 흔히 반자율주행이라 말하는 ADAS(Advanced Driver Assistance System). 테슬라 오토파일럿(기본 옵션, EAP/FSD 아님)과 현대차(이하 현차)의 HDA(Highway Driving Assistance). 이 기술들에 대해 직접 두 회사의 차량을 운전해본 경험을 이야기 하고자 한다. 엔지니어 입장에서 몇가지 기준을 가지고 테스트 해 봤다.  각 차량의 모델은, 테슬라인 경우 모델3 하이랜드 RWD(중국산) 이고, 현대차는 제네시스 GV80 2.5T 1세대 2022년형이다. GV80인 경우 최근 페이스리프트가 나오면서 핸들 파지 인식방법이 기존 토크(잡고 움직여줘야 인식)에서 정전식(움직이지 않고 그냥 잡기만 해도 인식)으로 바뀌었기 때문에 비교가 정확하지 않을 수도 있다(참고.. 2024. 8. 7.
Prometheus TSDB 분석 https://ganeshvernekar.com/blog/prometheus-tsdb-the-head-block/ Prometheus TSDB (Part 1): The Head Block | Ganesh VernekarWalk-through on how the in-memory part of Prometheus TSDB worksganeshvernekar.com위 블로그를 바탕으로 좀 더 이해가 될수 있도록 추가 분석한 내용을 정리한다. 프로메테우스는 자체 TSDB(TimeSeries DataBase)를 가지고 있다. DB의 기본적인 특성을 가지고 있으면서도 시계열에 특화된 구조로 되어있다. TSDB의 기본적인 구조는 다음과 같다. Sample(t,v): (timestamp, value) 이 하나의 값을.. 2024. 1. 28.
nvidia dcgm-exporter(gpu-exporter) nvidia 에서 제공하는 공식 gpu exporter인 dcgm-exporter에 대해 알아본다. DCGM 이란?DCGM은 DataCenter GPU Manager의 약자로, nvidia gpu 를 위한 종합 관리 및 모니터링 도구다. 이 도구는 데이터 센터 내의 nvidia gpu의 상태를 모니터링하고, 관리하는 데 사용된다. 여기서는 여러 기능 중 하나인 모니터링에 대해서 알아본다. DCGM 은 자체적으로 메트릭을 내보내지 않기 때문에 nvidia 이와 통신해서 메트릭을 만들어서 출력해주는 exporter를 별도로 제공하고 있다. DCGM exporter 동작방식그림에서와 같이 dcgm exporter는 Kubelet/node-exporter/DCGM과 통신하여 메트릭을 수집한다.ServiceMon.. 2024. 1. 18.
운영 자동화와 최적화 DevOps 에서는 개발자가 운영자가 된다. 물론 24시간 대응하는 티어그룹이 따로 있을 수는 있지만 결국에 원인을 분석해서 이슈를 수정하는 책임은 보통 개발자가 된다. 이슈가 많아지면 개발자는 고통받는다. 심지어 개발팀이 정상적인 개발업무를 수행하기 어려워진다. 보통은 온콜(oncall) 프로세스를 도입하여 당번제 처럼 돌아가면서 한두명의 개발자가 들어오는 CS나 이슈를 모두 처리하도록 하여 다른 개발자들이 개발에 집중할수 있도록 한다. 하지만, 빈번히 발생하는 이슈를 계속해서 온콜로만 대응하다가는 개발팀의 효율이 개선되지 않는다. 그러므로 운영에 있어서 자동화와 최적화는 지속적으로 이루어져야 한다. 자동화의 범위 어느정도 게으른 개발자가 되라는 얘기가 있듯이, 개발자는 항상 개선을 고민해야 한다. 그.. 2024. 1. 15.
반응형