공부하고 기록하는, 경제학과 출신 개발자의 노트

많이 본 글

Streamlink로 유튜브 멤버십 스트리밍 영상 다운로드하기

멤버십에 가입되어 있고, 유튜브에 로그인할 수 있는 계정이 필요하다. Streamlink라는 오픈소스 프로젝트를 활용해서 유튜브의 멤버십 전용 스트리밍 영상을 다운로드받는 방법. 21.09.26 현재 streamlink 프로젝트의 latest 버전은 2.4.0이다. 우선 https://github.com/streamlink/streamlink/releases 로 들어가서 latest Version을 선택한다. Releases · streamlink/streamlink Streamlink is a CLI utility which pipes video streams from various services into a video player - streamlink/streamlink github.com Win..

MultiModal RAG With GPT-4 Vision and LangChain 정리

https://youtu.be/6D9mpFCPeI8?si=P45ND9OjfPKsdaUq    LLM의 기능을 강화시키는 RAG는 Something to Vector 동작이 근간을 이루고 있다.텍스트의 경우는 EmbeddingModel 써서 간단히 벡터로 변환할 수 있음.그러나 PDF의 경우... 고려할 게 많다.Text, Table, Images...등장 순서나 구성방식도 정보를 포함하고 있다. 텍스트는 ChatModel을 활용하고, 이미지는 GPT-4 Vision 모델을 활용하면, pdf에 있는 데이터를 벡터화할 수 있다pdf의 text, table, image 내용을 SummarizeRaw Document도 DocumentStore에 저장하고 값을 받아온다영상에서는 제작자가 '아직 image + te..

AI 2024.04.12 0

CKA 자격증 합격 후기 + 준비했던 방법 정리

최종 소요 기간: 3개월. udemy 강의에 2개월 / 문제풀이 1개월. 100점 만점에 17문제, 문제당 배점은 4, 7, 13점 중 하나였음. 인터넷에서는 killer shell 문제보다는 쉽다는 평이 많은데, 체감상 그렇지 않았음. podAntiAffinity 같은 생소한 문제를 요구하지 않았을 뿐, 전체적으로는 비슷한 난이도였다. 배점이 낮은 4점 문제는 한두 가지의 명령어로 결과를 만들 수 있는 문제가 많았다. 'deployment의 pod 개수를 4로 scale 변경해라' 'taint toleration 걸려 있는 노드 제외하고, available 상태인 노드 개수를 /opt// 에 입력해라' pod 컨테이너 로그 중 특정 문자열이 있는 row만 추출해서 저장해라 7점 문제가 체감상 갯수는 제..

일상 속 생각 2022.05.23 5

LangChain Meetup - R.A.G 우리가 절대 쉽게 결과물을 얻을 수 없는 이유

R.A.G 우리가 절대 쉽게 결과물을 얻을 수 없는 이유https://youtu.be/NfQrRQmDrcc?si=kWmsM0cfv02ddpak  RAG을 위한 문서 전처리 방법...Document LoadSplitEmbeddingVector StoreRetriever각각의 과정마다 선택할 수 있는 종류가 너무 많음. 이것들을 조합하면서 경험했던 내용을 공유하는 발표.Document Loader 다양한 종류의 데이터를 지원하지만 보통 csv, Excel, PDF.Langchain은 load()를 인터페이스화해서, 어떤 document loader 객체라도 파일 로드할 때 load()함수 쓰면 되도록 했음 고려해야 했던 점들데이터 원형 그대로 잘 가져오는가?한글 인코딩 / 특수문자 같은 거어떤 metadat..

AI 2024.06.17 0

kubernetes Dynamic Informers with client-go

Watching Kubernetes custom resources with dynamic informers & golang https://youtu.be/fBY8sVVjM2s k8s Operator를 만들 때, CRD의 reconcile 로직을 적용하기 위해 Get / List Loop를 쓰는 경우가 있다. ineffective / slow way to find changes. 예컨대 리소스가 backoff 상태라면 Get / List 요청을 보내는 주기가 갈수록 느려진다. 리소스가 많을 경우 pagination 등... 고려할 것들이 늘어남 client go에서 제공하는 (shared) cache를 사용해서 보완하기도 함 위의 방식들보다 더 나은, InformerFactory를 사용해서 Watcher를..

kubernetes 2023.07.25 0

세줄요약독서

more

트렌드코리아 2025

저성장과 불황의 시대, 소비자는 낮은 자존감과 힘겨운 삶을 ‘무해한 것’, ‘아주 보통의 하루’, ‘토핑경제’, ‘원포인트업’ 등 다양한 방식으로 적응해간다.기술 발전속도가 너무 빠르기 때문에, 기술력 자랑은 더 이상 사람들에게 매력적으로 보이지 않는다. 기술의 가치를 쉽게 인지하고 친숙하게 받아들일 수 있도록 하는 사용자 경험이 중요해지는데, 감정을 이해하는 AI / 기술을 물리적으로 체험할 수 있는 공간 제공이 대표적이다. ‘물성매력’, ‘페이스테크’.SNAKE CASE라는 약어를 맞추기 위해 억지로 선정해놓은 트렌드 / 이상한 신조어 정의하는 뇌절은 이번에도 반복된다.트렌드코리아의 책 구성방식을 내가 이해한 방식대로 재정리.  2024년에 이어 2025년에도, ‘불황’과 ‘갈등’이 한국 사회의 핵심..

세줄요약 독서 2024.12.28 5

더 라스트 컴퍼니

AI시대의 총아, 엔비디아의 성공전략과 리더십을 조명하는 책특별한 내용은 없다. 작고 빠른 조직, 수평적인 의사소통, 구성원에게 신뢰와 책임 부여, 뚜렷한 비전을 가지고 소통하는 리더 젠슨황의 능력이 언급된다.기술에 타협하지 않고, 주도권을 잡을 수 없다면 과감히 포기하며, 최적의 방법을 찾아 원점에서부터 다시 생각한다.  한빛비즈 서평단에 선정되어, 도서를 제공받아 작성하였습니다.AI시대가 도래하면서 가장 주목받는 실리콘밸리 기업이 된 엔비디아의 성공 요인을 기업문화, 리더십, 전략 등 다방면에서 조명한 책. 이미 애플, 구글, 메타, 테슬라 등 빅테크 공룡이 된 기업들이 어떤 문화와 리더십으로 성공했는지 수많은 분석이 나와 있는 상황에서, 엔비디아는 과연 새로운 책을 쓸 만큼 차별화된 내용이 있었을까..

세줄요약 독서 2024.12.21 3

초고령사회 일본이 사는 법

초고령사회 일본 시니어 세대의 문화와 사고방식 / 일본 사회의 대응방식을 소개한 책일본의 시니어는 ‘은퇴 이후에도 근로와 같은 형태로 사회와 인연을 유지’, ‘자녀에 의존하지 않고 자립하려는 의지가 큼’, ‘무리하지 않고 자신의 속도에 맞춰 현재 생활에 집중’하려는 경향사회적으로는 ‘근로자가 더 오래 일하도록 제도 개선’, ‘고령자 간병은 지역사회와 분담’하고 있으며, 거동이 불편하고 적응이 느린 고령자를 위해 다양한 종류의 간병 / 보조 서비스가 성장 중이다.  고령사회의 일본 시니어들 모습과 특징은 무엇인지, 일본 정부와 사회는 어떻게 대응하고 있는지를 소개한다.책에서 고령사회 일본 시니어들의 특징으로 꼽은 것들 몇 가지를 소개하면 아래와 같다. 삶의 태도: ‘행복’과 ‘돈’ 중에서 ‘돈’에 우선순위..

세줄요약 독서 2024.12.09 39

대한민국의 붕괴

피상적인 현상 진단, 현실성 없는 대책만 담긴 책현 상황이 지속된다면 인구구조의 붕괴, 사회구조의 붕괴는 필연이다.‘가정’이라는 사회의 기본 구성요소를 청년세대가 더 이상 가치있게 느끼지 않고 있으며, 이는 ‘어떤 미래를 후세대에 물려줄 것인가’를 기성세대가 단 한 번도 제대로 고민하지 않은 결과물이다.이 책은 2022년 10월에 발간되었다. 그걸 감안해도 전반적으로 이 책은 그다지 가치가 없다. 현상분석과 미래예측은 피상적인 수준이고, 이렇게 된 원인은 기성세대의 무능함 때문이며, 정부는 잘해야 하고 사회인식이 바뀌어야 한다는 게 해결책이다. 그만큼 현 사태가 답이 없다는 의미이기도 하지만, 작금의 상황이 위험하다는 위기의식만 앞섰을 뿐 어떻게 해결하면 좋을지 깊게 고민한 흔적이 없는 책이다. 온갖 통..

세줄요약 독서 2024.11.28 2

커넥팅

커리어를 논리적이고 체계적으로 설계하는 법을 안내하는 토막글 모음.커리어에서 원하는 목적과 목표를 분명히 하고, 자신의 자격 / 학습 경험, 직무 경험, 외부 경험을 조합해서 할 수 있는 역할을 정의한다.글쓰기, 발표능력, 우선순위 결정 능력과 같은 기반 역량, 성실하고 근면한 태도는 귀해졌기에 가치가 높아지고 있다.  소제목 하나하나의 길이는 책의 한 두 장 정도로 짧지만, ‘커리어 이해하기’ / ‘커리어 포트폴리오 구성하기’ / ‘커리어 포트폴리오 강화를 위한 역량과 태도 함양하기’ 라는 세 가지 키워드에 유기적으로 묶여 있다. 페이스북이나 링크드인 같은 곳에 비슷한 주제로 썼던 토막글을 잘 엮어냈다는 느낌. 커리어 이해하기 연봉의 규모는 산업과 직무에서 거의 대부분이 결정된다. 시장규모가 크고, 가..

세줄요약 독서 2024.11.17 20

만일 내가 그때 내 말을 들어줬더라면

한국에서 대접받는, 성공한 직업군인 의사이자 교수가 겪었던 우울증, 불안장애 고백 정서적 아픔을 공개하지 못하고, 내 탓이라며 삭히는 사람들에게 ‘네 탓이 아니야’ 라며 위로 / 공감하는 글 객관화 불가능한 개인의 고통을, 타인의 고통과 비교할 필요가 없다. 스스로에게도 건강한 위로가 되지 못하며, 타인에게 위로를 전하는 적절한 방식이 아니다. 약간의 사회분석 요소가 가미된 에세이 형식의 글. 한국에서 사회적으로 성공한 직업으로 인정받는 ‘의사’와 ‘교수’라는 직업을 가진 사람이 자신의 나약함, 취약함을 털어놓는 글이다. 정신과 의사로 많은 환자들을 대하며 ‘자신의 나약하고 취약한 모습을 드러내는 것이, 자신과 타인을 더 잘 이해하고 공감하기 위한 첫걸음' 이라는 점을 알리고 싶었다고. 그러나 ‘약점을 ..

세줄요약 독서 2024.10.27 3

학습일지

more

EnvoyCon 2023 - Envoy Gateway: An In-Depth Guide of its benefits, Use cases, and Features

https://youtu.be/06ylMQrj0jU?si=Lcb1DcxyO0OPNC8B    Envoy Gateway: gateway which is actually managing envoy proxies.xDS Control Plane to dynamically manage a fleet of Envoysprovides "Batteries included" envoy proxy experience.Extensibility to support a multitude of application gateway usecases.mesh 형태의 기능도 지원할 예정이라고 함.본인들이 꼽는 장점Application Gateway에 필요한 usecase 대부분이 가능High Performance, Extensibil..

네트워크 2025.01.08 0

KEDA HTTP Add on 코드분석

KEDA http-add-on Autoscaling 로직 파악하기작성시간 기준, KEDA add on의 가장 최신버전인 v0.9.0 기준으로 작성.https://github.com/kedacore/http-add-on/blob/v0.9.0/docs/design.mdDesign외부에서 HTTP 요청이 오면, Ingress가 k8s svc로 트래픽을 전달해준다.keda-add-ons-http-interceptor-proxy 라는 k8s svc에서 트래픽을 받아서, interceptor 컴포넌트로 트래픽을 전달한다.interceptor는 scale zero인 deployment의 pod가 올라올 때까지 HTTP request를 pending하고, 트래픽을 전달할 수 있는 상태가 되었을 때 routing하는 역..

Autoscale 2024.12.30 0

우아콘 2024 - 배달의민족 API Gateway

https://youtu.be/Ci_DsTkzcRY?si=p0SWeCcZpYWeox9j   API Gateway란?  api 요청 받고, 필요한 정책 수행하고, 필요한 곳에 요청을 보낸 뒤 응답을 되돌려준다?생각보다 명확하게 정의된 게 없음.2013년 Netflix Zuul부터 2015년 AWS API Gateway, 2017년 Spring Cloud Gateway 등 프로덕트를 찾아봐도 정의가 명확한 건 없었음.오픈소스 프로젝트인 Kong의 경우, API Management라는 이름으로 시작되었다가 슬그머니 API Gateway라는 표현을 쓰기 시작.Cloud Native 이후 MSA까지 등장하면서 API Gateway는 꽤 보편화된 용어가 됨그래도 잘 모르겠어서 네 개 프로덕트 소개를 전부 찾아봤음...

네트워크 2024.12.18 3

Airflow Summit 2021 - Deep Dive into the airflow scheduler

사족: 발표자 진짜 개패고싶음. 지금까지 봤던 모든 발표 중 단연 최악.중언부언에 용어 거꾸로 설명하다가 뒤늦게 바로잡는다던가, 뇌정지 온 것처럼 몇 초 가만히 있다가 대충 수습하고 넘어가는 게 한두번이 아님.발표만 깔끔하게 잘했어도 훨씬 좋은 세션이 되었을 거다.  https://youtu.be/DYC4-xElccE?si=lW5prwBguU_MqwQy   Ash Berlin-TaylorPMC member on AirflowDirector of Airflow EngineeringScheduler의 HA를 위해 re-architecting 했던 것들 정리.Responsibility of the Scheduler 단순히 Run Task만 수행하는 게 아님.Check DependenciesRetry Manag..

architecture 2024.12.18 0

Airflow Summit 2021 - the Newcomer's guide to airflow's architecture

https://youtu.be/oLTMN-4Rvj8?si=ShQgVv-1M3ZlPbDG  Airflow는 AirBnb 내부에서 사용할 목적으로 만든 internal ETL tool에서 시작함.처음부터 훌륭한 아키텍처로 구성된 건 아니었고, 사용자가 많아지면서 요구사항에 대응하는 식으로 개선되어간 Organic Product. Airflow에서는 사용자가 DAG을 작성한다.DAG: 해야 할 Task와, task 간 relationship을 정의하는 Template.operators / task를 python으로 작성DAG을 실제로 실행할 때는 용어가 조금 달라진다.DagRun: instance of DAG that runs a certain execution time. 즉 특정 파라미터와 데이터를 받아서,..

architecture 2024.12.15 1

코딩테스트 문제풀이

more

[Python] 프로그래머스. 타겟 넘버 (Level 2)

https://programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr 만들 수 있는 모든 조건을 순회하면서 조건에 맞는 정답 개수를 찾도록 만들면 된다. dfs, bfs를 사용할 수도 있지만, 이 방식이 좀더 직관적이었다.

[Python] 프로그래머스. 2021 카카오 인턴 - 표 편집 (Level 3)

https://programmers.co.kr/learn/courses/30/lessons/81303 코딩테스트 연습 - 표 편집 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z"] "OOOOXOOO" 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z","U 1","C"] "OOXOXOOO" programmers.co.kr 백준의 '키로거' 문제에서 영감을 얻어 풀 수 있었던 문제. 선택 위치를 기준으로 왼쪽을 Left, 오른쪽을 right으로 두고 left의 최댓값 < right이 최솟값이 되도록 양쪽을 heap 자료구조로 저장하면 되는 문제. 순서를 기억하기 쉽도록 배열의 index를 사용한다. https://inspirit94..

[Python] 프로그래머스. 2021 카카오 인턴 - 거리두기 확인하기 (Level 2)

https://programmers.co.kr/learn/courses/30/lessons/81302 코딩테스트 연습 - 거리두기 확인하기 [["POOOP", "OXXOX", "OPXPX", "OOXOX", "POXXP"], ["POOPX", "OXPXP", "PXXXO", "OXXXO", "OOOPP"], ["PXOPX", "OXOXP", "OXPOX", "OXXOP", "PXPOX"], ["OOOXX", "XOOOX", "OOOXX", "OXOOX", "OOOOO"], ["PXPXP", "XPXPX", "PXPXP", "XPXPX", "PXPXP"]] [1, 0, 1, 1, 1] programmers.co.kr 간단한 그래프 문제. 5 * 5 배열 조건이라서 연산량이 그렇게 많지는 않다. dfs / ..

[Python] 프로그래머스. 2021 카카오 인턴 - 숫자 문자열과 영단어 (Level 1)

https://programmers.co.kr/learn/courses/30/lessons/81301?language=python3 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr