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

많이 본 글

PaliGemma 모델로 Object Detection Fine Tuning한 방법 정리

https://aifactory.space/task/2733/overview 2024 Gemma 파인튜닝톤 (아이디어톤)🕹️ Gemma 파인튜닝 어디까지 해봤니?aifactory.space  AIFactory Gemma 파인튜닝 아이디어톤에 제출해서, 3등 우수상으로 입상한 내용PaliGemma로 Object Classification을 위한 데이터 준비 방법을 기록하기 위한 것.PaliGemma란?https://developers.googleblog.com/ko/gemma-explained-paligemma-architecture/ Gemma 설명: PaliGemma 아키텍처- Google Developers BlogGemma AI Announcements 전 세계 누구나 이해할 수 있도록 – Gem..

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..

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

FastAPI, SQLAlchemy 프로덕트에서 alembic을 쓰지 않은 이유

작은 사이드 프로젝트 중간에 투입돼서 코드 개선을 하게 되었는데, FastAPI + SQLAlchemy (postgres) + Alembic으로 구성된 기존 방식에서 Alembic을 atlas로 변경했다. Python으로 구성하는 API Server + ORM + DB migration tool 조합의 정석으로 많이 쓰이지만, 글 작성 기준 alembic 최신버전인 v1.13.1 프로덕트를 써보니 장점보다는 단점이 더 크게 느껴졌다. 당연하게도, 내가 느낀 단점이나 불편함이 alembic 프로덕트 자체의 한계는 아닐 수도 있다. 문서에서 내가 놓친 부분이 있을 수도 있다. 이런 고민을 하게 된 상황은 아래와 같은 조건에서였다. Python으로 production level의 웹 서비스를 목표로 상정하고 ..

NHN Forward 22 - 벡터 검색 엔진에 ANN HNSW 알고리즘 도입기

https://youtu.be/hCqF4tDPNBw?si=wYvWqiYFzX5UDr6R 대충? 거의 정확하다! 벡터 검색 엔진에 ANN HNSW 알고리즘 도입기 NHN Cloud 로그플랫폼개발팀 권성재. 벡터 검색엔진 운영하면서 새로운 알고리즘 도입하기까지. 기존 방식의 문제점, 해결책, C++ 구현체 말고 Golang에 적용하기까지. 헷갈릴 수 있어서 용어 정리하자면 ML 기술 결과물로 나온 Vector 값의 검색 관련 내용임. ML이나 AI 기술 자체에 관련된 건 아니다. HNSW 도입 배경 기존 방식인 KNN: 점 두개의 L2 Distance 계산. 검색 대상으로 들어온 Vector가 있으면 기존 DB에 있던 모든 Vector 간 거리를 일일이 계산 -> 가장 거리가 가까운 K개 응답. 따라서, 데..

AI 2024.01.01 1

세줄요약독서

more

소득혁명

돈 주고 살 필요 전혀 없는 책. 책 내용이 궁금하면, 유튜브에 검색해서 나오는 책 홍보영상만 보면 된다. 그 이상의 내용이 하나도 없다.시간과 노동력 투입과 소득이 정비례해서는 안 된다. 한 번 구축해두면 시간을 들이지 않아도 되는 자동소득원을 구축해라.이 분야에 수많은 시행착오를 거쳤던 전문가의 조언을 따르는 게 좋다. 저자 본인은 에어비앤비 기반 임대 자동화로 시간의 자유를 얻었고, 노하우를 온라인 마케팅으로 홍보하고 온라인 강의 / 책 등으로 수입원을 다각화했다.본인 웹페이지와 강의를 책에서 노골적으로 홍보하면서, 정작 책 자체에는 깊이 있는 내용이 하나도 없다. 저자의 메시지는 매우 간단명료하다.  시간과 노동력을 투자해서 더 높은 소득을 올리는 방식에는 한계가 뚜렷하다. 당신의 시간과 노동력은..

세줄요약 독서 2025.02.09 1

트렌드코리아 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

학습일지

more

DAN24 - 인공지능의 마법으로 실시간 라이브 인코딩에 날개를 달다

https://tv.naver.com/v/67446801 플레이 네이버(PLAY NAVER)[팀네이버 컨퍼런스 DAN 24] 인공지능의 마법으로 실시간 라이브 인코딩에 날개를 달다tv.naver.com   AI 인코딩 최적화가 필요한 이유 네이버tv, 스포츠, 치지직, 클립 등 다양한 서비스에서 VOD 사용: 비약적인 비용 증가 네이버 클라우드에서의 VOD 처리 절차다양한 기기에서 VOD 영상 업로드CODEC, container 등의 변환CDN으로 다양한 환경에서 재생 지원.이 중 가장 많은 서버자원, 시간, 리소스가 필요한 부분은 Encoding. 고해상도, 고화질 영상일수록 증가. 따라서자체 분산인코더 개발CDN, storage 비용 개선을 위한 인코딩 용량 줄여서 저장 / 전송 최적화를 연구중일반적..

AI 2025.02.14 1

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

코딩테스트 문제풀이

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