본문 바로가기

728x90
반응형

Polpid's World

(572)
[FastAPI] request body의 필수값 존재 여부에 따른 응답 FastAPI 와 Pydantic 을 이용해서 API 작성을 하면서 request body로 들어오는 값의 존재 유무에 따라서 어떻게 세팅 되는지 확인이 필요했다. from typing import Union from fastapi import FastAPI from pydantic import BaseModel app = FastAPI() class Item(BaseModel): name: str price: float is_offer: bool | None = True address: str = "seoul" address1: str | None = None @app.post("/items") def insert_item(item: Item): return item 아주 간단한 API 이다. name..
xargs 명령어 리눅스에서 명령어를 사용하다 보면 결과 값을 다른 명령어로 전달하고 싶은 때가 있다. 내 경우에는 k8s pod 이름을 다른 명령어로 전달 하고 싶었다. 찾아보니 xargs 라는 명령어가 있었다. xargs = eXtended ARGuments - 사용 방법 : xargs [options][command][arguments] - 옵션 : 여러가지가 있는데 내가 사용해본 옵션만 적겠다. -i : 원하는 위치에 인자 입력하기 - 인자를 입력하고 싶은 위치에 {} 를 입력하여 지정할수 있다. -v : 실행된 명령어 확인하기 k get pod -o=custom-columns='DATA:metadata.name' | grep test-[0-9] | xargs -i -t kubectl get po {} kubect..
git cherry pick 특정 브랜치에 있는 지정된 commit 내용을 가져오려고 할때 cherry pick 을 사용한다. 내가 주로 사용하는 경우는 다음과 같은 경우이다. 1. 현재 메인 브랜치 : develop 2. 운영 태그 : release-tag-2024 보통 개발을 하면 develop 브랜치 기준으로 브랜치를 만들어서 feature 브랜치를 만들고 개발을 한다. 그런데 가끔 운영에 급히 반영을 하거나 버그 픽스를 해야 할 경우가 있다. 이때에 이런 순서로 작업을 했다. 1. 운영태그 기준으로 hotfix 브랜치 생성 2. hotfix 브랜치에서 수정을 한 후 운영에 반영 3. 운영 반영 후에 hotfix 브랜치에 있는 commit 내용들을 develop 브랜치로 이동 -----> 이때 cherry-pick 을 사용한다..
Release 의 모든것 리뷰 우리는 가끔 소프트웨어를 개발만 잘 하면 된다라고 착각을 한다. 그래서 운영 이라는 거대한 산을 간과하는 경우가 많이 생긴다. 모든 소프트웨어는 운영에 들어가기 전에 많은 테스트와 검증을 거쳐서 실제 운영에 들어가게 된다. 그래서 이때에 개발할때는 생각하지 도 못했던 버그나 오류들이 발생하게 된다. 검사 방법과 환경에 따라서 다양한 상황들이 발생하기 때문에 어떻게 대처를 해야 하는지 방법을 한참 찾아봐야 할 때도 있다. 그런 면에서 이 책은 포괄적인 가이드라인을 제공 해주고 있다. 책 읽어보면 느끼겠지만 운영전 검증에 필요한 요소들이 다 들어있다. 그리고 사례들을 여러가지 예로 들어줘서 더 현실감이 느껴졌다. 우선 1부에서는 안정적인 어플리케이션을 위한 여러가지 패턴에 대해서 이야기 해준다. 4장에서 안..
스티븐 울프럼의 챗GPT 강의 리뷰 챗GPT 가 요즘 핫하다는것은 많은 사람들이 알고 있다. 하지만 챗GPT가 어떻게 동작하고 있는지 알고 있는 사람은 많지 않다. 내용을 알기에는 알아야 하는 것들이 많다. 그리고 수학, 통계, 프로그래밍, 전문 용어들을 이해하는 단계가 필요해서 그저 사용성에만 관심을 기울이게 된다. 하지만 이 책을 읽고나면 챗GPT 의 동작을 이해하는데 좀더 수월해 질 수 있다. 이 책은 총 200 페이지 정도 되지만 부록을 제외하면 130 페이지정도 된다. 두껍지 않기 때문에 출퇴근 시간을 이용해서 충분히 읽을수 있을 정도이다. 그리고 우선 수식이 많지 않아서 소설책 읽듯이 쭉 읽어내려가면된다. 특히 1장은 GPT 에 대한 이론적인 내용들을 자세히 담고 있다. 신경망과 임베딩, 트레이닝등 빠지면 안되는 내용들이 다 담..
만들면서 배우는 생성 AI 리뷰 생성형 AI 에 대한 관심이 많아지고 이 분야를 공부하고 있었는데 마침 좋은 책이 리뷰도서 목록에 있어서 선택하게 되었다. 아무래도 분야가 넓고 수학, 통계, 프로그래밍 등이 섞여서 나오다 보니 무엇이 기초인지, 또는 무엇부터 공부를 해야 되는지 알기가 쉽지가 않았다. 그런데 다행히도 이번에 선택한 책을 보면서 전반적인 지식을 습득할 수 있게 되었다. 이 책에는 이론도 나오고 프로그래밍에 대한 구현도 나온다. 그리고 수학 공식들도 나온다. 하지만 아래 그림처럼 자세한 설명을 해주고 있기 때문에 이론적인 내용을 이해하는데 큰 도움이 된다. 파이썬 코드들도 중간중간 나오면서 따라 하면서 실습을 해볼 수 있다. 하지만 코드가 익숙하지 않더래도 코드부분은 생략하고 내용만 읽어간다면 기초 지식을 충분히 쌓을 수 ..
크리에이티브 프로그래머 리뷰 최근 일을 할때마다 모든게 어렵게 느껴지고 머리 회전이 잘 안되는 느낌을 자주 받았다. 마침 한빛 미디어 "나는 리뷰어다" 책 들 중에 "그리에이티브 프로그래머" 책이 있어서 한번 읽어보게 되었다. 과연 어떻게 하면 창의성을 더할수 있는지 도움을 받고 싶었다. 기술지식, 커뮤니케이션, 제약조건, 비판적 사고, 호기심, 창의적 마인드셋, 창의적 기법. 이 책은 이렇게 7가지 주제를 갖고 있다. 그 중 내가 인상깊게 읽었던 부분을 써보고려고 한다. "수집가의 오류" 우리의 기억들은 한정적이기 때문에 자주 메모를 한다. 나 또한 개발을 하면서 다양한 툴들을 이용해서 링크를 저장해 놓거나 스크랩을 해놓는다. 하지만 이런 것들을 나중에 다시 보지는 않았다. 심지어 그 메모가 무슨 의미였는지 다시 찾아보는 일도 자..
챗 GPT 개발자 핸드북 리뷰 최근에 Chat GPT 에 대한 관심이 정말 뜨겁다. 다양 분야에서 Chat GPT 를 적용하려고 시도하고 있다. 하지만 단순 검색(?)으로 활용하는것 이외에 어떻게 질문을 해야하는지 정확히 모르는 경우가 많다. 나도 GPT 를 사용할 때에 구글 검색 대신 사용하는 경우가 많았다. 그러던 중 GPT 에 대한 기본적인 지식과 사용법을 알수 있는 책을 읽게 되었다. 최근에 읽었던 기술 서적 중에서는 가장 읽기 쉬었고 재미있었다. 다음은 내가 책을 읽으면서 기억하면 좋을것 같은 단어, 또는 정의를 메모해봤다. GPT 또는 LLM 을 찾아보면 항상 나오는 단어들이다. 책에서 쉽게 설명해준 덕분에 이해하는데 많은 도움이 됐다. 프롬프트 & 프롬프트 엔지니어링 - 프롬프트 : AI 모델에게 내리는 지시사항. - 프..
맥(Mac)에서 아나콘다(Anaconda) 제거하기 1. 아나콘다 설치 경로 확인하기 ➜ ~ conda info active environment : None shell level : 0 user config file : /Users/sanghyunkim/.condarc populated config files : conda version : 23.3.1 conda-build version : 3.23.3 python version : 3.10.10.final.0 virtual packages : __archspec=1=x86_64 __osx=10.16=0 __unix=0=0 base environment : /usr/local/anaconda3 (writable) conda av data dir : /usr/local/anaconda3/etc/conda..
MLOps 실전 가이드 리뷰 이 책은 실전 입문이라는 책 답게 ML 모델의 개발부터 배포, 운영까지의 전 과정을 다루고 있다. 머신 러닝 모델의 생애 주기를 다루면서 ML Ops의 필요성과 중요성을 알수 있다. 책은 총 12개의 장으로 구성되어 있고 각 장마다 다른 주제를 다루고 있다. 첫 장과 두번째 장에서는 ML Ops 의 기본 개념과 장점을 소개하고 있으며 세번째 장부터는 실전적인 내용들을 차례대로 접근한다. 데이터 수집, 모델 훈련, 평가, 배포, 모니터링, 유지지보수, 그리고 AWS, Azure, GCP 환경에서 활용하는 방법 등을 설명해준다. 최근 몇년 동안 머신 러닝 모델의 훈련과 개발은 크게 발전했지만 이를 공부하고 운영환경에 적용하는데에는 여전히 어렵다는게 현실이다. 그리고 개개인이 스스로 공부를 하면서 구축을 해보..

728x90
반응형