분류 전체보기 14

[클라우드 아키텍쳐 올인원] 1. 로드밸런서 & 오토스케일링

로드밸런서 필요성 여러 개의 인스턴스를 사용하게 될 텐데 여러 개의 주소가 생겨서 사용자들이 어디로 접근해야 할지 헷갈리게 된다. 그래서 사용자들의 트래픽을 받아서 인스턴스에게 분산해주는 로드 밸런서를 사용하고 아키텍처의 제일 앞에 위치. AWS 글로벌 인프라 용어 가용 영역(Availity Zone, Age) 논리적으로 1개 이상의 데이터 센터 그룹. 그냥 데이터 센터라고 이해. 리전(Region) 3개 이상의 가용 영역을 논리적으로 묶은 것. provisioning 인스턴스 같은 리소스를 만들 때 할당받는다는 의미로 많이 사용. 가용 영역을 최소한 2개 선택 데이터 센터가 하나만 있을 경우, 그 데이터 센터에 장애가 나면 전체 시스템이 다 마비가 된다. 최소한 2개 이상의 가용 영역을 사용하게 되면 ..

[클라우드 아키텍쳐 올인원] 0. 클라우드 필요성 및 인스턴스 만들기

클라우드가 왜 필요할까? UseCase 쇼핑몰 사이트를 하나 만든다고 가정. 물리적인 서버를 구매. 애플리케이션을 만든 후 물리적인 서버에 웹서버, 앱서버, DB서버, 애플리케이션 등을 설치. 도메인을 구매하고 인터넷 주소를 구매해서 연결하면 일단 운영을 할 수 있게 된다. 웹서버: HTML이나 CSS, js, 이미지, 동영상 등을 저장해놓고 사용자들이 요청을 하게 되면 바로 보내주는 용도의 서버 앱서버: 만든 쇼핑몰 애플리케이션을 설치. 구매 요청이 들어오면 처리하는데, 구매 기록들을 DB서버에 저장하고 요청 들어온 것을 DB서버에서 가져다가 보내주는 처리. DB서버: 모든 데이터들을 다 기록. 저렴한 장비를 구매했더니 서버가 늘어나는 사용자들의 요청을 버티지 못하고 장애가 났다. 서버 증설 필요. 하..

[LangChain] 1. Retrieval

2. Retrieval - 트레이닝할 때 제공하지 않았던 데이터를 사용하려고 할 때 사용하는 방법. - RAG(Retrieval Augmented Generation) Source: 깃허브, 유튜브. 이메일, 트위터 등 데이터를 가져올 수 있는 곳. Load: 데이터를 가져오는 것. Transform: 큰 데이터를 여러 개로 쪼개는 것. Embed: 텍스트를 숫자인 Vector Space로 바꾸는 것. Store: Embed한 것을 저장. Retrieve: 저장한 것 중 가져오는 것. 구성 요소 1) Document loaders Over 100 different document loaders(e.g HTML, PDF, Code) Integration with major providers(e.g priv..

개발 로그/LLM 2024.03.25

[LangChain] 0. 소개 및 MODEL I/O

소개 정의 LLM 모델 어플레케이션을 만들 때 사용하는 프레임워크. 구성요소 LangChain Libraries: python이나 js 라이브러리 LangChain Templates: prompt를 쉽게 사용할 수 있도록 템플릿화 LangServe: fast api를 통해 rest api 생성 LangSmith: 디버깅, 테스팅, 평가, 모니터링 등의 디벨로퍼 플랫폼 설치 # official release pip install langchain # this package holds the experimental Langchain code pip install langchain-experimental # LangServe pip install "langchain[all]" # LangChain CLI pi..

개발 로그/LLM 2024.03.18

당장 내가 해야 하는 것들.

1. I 성향을 핑계로 했던 집순이 생활은 그만하고, 사람들과 교류하자. 2. 운동을 열심히 하자. 3. 클린한 식단을 유지하자. 4. 책을 읽자. 5. 프로젝트는 성실하게 하자. 조금씩 자주. 6. 경제에 대한 관심을 키우자. 돈 관리. 투자. 7. 개발 공부 - 카프카, 쿠버네티스 심화, 자바 최적화, 디자인 패턴 8. 내면 성장에 집중하자. 고독력을 키우자. 9. 지금까지 내면을 중요시했다면 외적인 관리를 하자. 10. 가족들과 함께 지내는 시간을 늘리자. 그렇다면 개발 공부는 무엇을 해야 할까?

밥을 많이 사라, 여유가 되는 선에서

밥을 많이 사야 권력의 개수가 는다. 밥을 사는 만큼 만만하게 못 보는 경우가 있다. 그 행동 자체에 능력과 여유가 잠재되어 있는 것이기 때문이다. 밥을 사면 얻는 장점. 여유가 된다면~ 관계의 지속성을 늘린다. 그걸 얻어먹은 사람은 일종의 빚을 지게 되는 것이다. 다음에 만날 구실이 되기도 하다. 뜯어먹으려는 사람이 아니라, 정신이 건강하고 고마움을 느끼는 사람이라면. 그 다음 관계가 이어질 여지가 된다. "다음에 더 맛있는 거 사주세요" or "진짜 맛있는 커피를 사주세요" 멘트를 쓴다면 상대도 비교적 편안해 한다. (나는 지금까지 이 이유로 사람들에게 밥을 많이 사왔던 것 같다.) 정신 소모가 덜하다. -> 애초에 고민을 하지 않을, 밥을 사도 아깝지 않은 사람을 만나면 된다. 만만해보이지 않는다...

고독력을 키우자.

고독할 때 무엇을 했는가가 그 사람을 설명한다. 그러므로 우선 고독해야 하고, 고독할 때 좋은 선택을 해야 한다. 좋은 선택을 하려면 좋은 인간이 되려는 욕망이 있어야 한다. 비로소 지루해지고 고독해졌을 때 비밀을 만든다. 그리고 그 비밀을 다 말해주는 것처럼 보이는데 다 말 안 해주면 된다. 신비주의? 그런 것 없다. 그렇게 보여야 한다. 많이 갖고 있는데 조금만 보여주면 된다. 여기서 핵심은 많이 갖고 있어야 한다는 점이다. 비밀이 많아야 하며, 종류는 자신의 취향껏. 1. 자신에게 잘 해주기 2. 내 마음에 귀 기울이기(+혼자 여행) 3. 이성친구 사귀기 4. 커리어에 진득하게 몰입 5. 요리

쿠버네티스 개요

쿠버네티스 (Kubernetes 또는 K8s로 줄여서 표기) 컨테이너 오케스트레이션 플랫폼으로, 대규모 컨테이너화된 애플리케이션을 관리하고 배포하기 위한 오픈 소스 시스템입니다. 주요 목표와 기능 - 컨테이너 관리: 쿠버네티스는 Docker와 같은 컨테이너화 기술을 기반으로 하며, 애플리케이션을 컨테이너로 패키징하고 관리하는 데 사용됩니다. - 자동화: 쿠버네티스는 애플리케이션 배포, 스케일링, 로드 밸런싱, 복구, 롤링 업데이트 등을 자동화합니다. 이를 통해 시스템 관리자가 높은 수준의 자동화를 구현할 수 있습니다. - 스케일링: 애플리케이션을 수평으로 확장하고 축소하는 데 용이하며, 트래픽 증가 또는 감소에 따라 자원 할당을 조절할 수 있습니다. - 서비스 디스커버리와 로드 밸런싱: 쿠버네티스는 서비..

2023/08/14 일기로그

연차인 아침에 메신저를 받았다. 팀내 상사의 조모상에 관한 내용이었다. 갑작스러웠으며, 사회초년생인 나는 '가야 하는가?'에 대한 고민을 할 수 밖에 없었다. 비교적 짧은 시간 동안 함께 일했으며, 현재는 다른 조직에 계신 상사다. 나는 왜 고민을 하였는가? 1. 같은 팀이긴 했지만 직접적으로 일을 함께 한 적은 없으며, 이야기를 많이 나누지 못했다. 2. 사회경험이 부족해서 내가 가도 되는 자리인지 확신이 없다. - 겨우 신입인 내가? 부모상도 아닌 조부모상에 가도 되는가? 3. 낯을 가리고 뚜벅 거리는 나. 가서 무슨 이야기를 해야 할 지 어렵다. 그 어떤 이야기를 해도 조심스럽다. 고민 끝에 나는 아래의 이유로 가는 결정을 하였다. 1. 형식적이었겠지만 신입들을 생각해주는 따스함을 느꼈다. - 면담..

코드 컨벤션을 위해 WebStrom 플러그인을 사용해서 Vue에 ESLint와 Prettier 연동.

Code convention, 코드 컨벤션 프로그래밍 언어를 사용하여 코드를 작성할 때 일관성과 가독성을 유지하기 위한 규칙과 가이드라인. 프로젝트 팀이나 개발자 커뮤니티 내에서 협업과 유지보수를 용이하게 하기 위해 중요하다. 아래는 일반적으로 사용되는 코드 컨벤션의 몇 가지 예시. 1. 들여쓰기(Indentation): 코드 블록을 구분하기 위해 들여쓰기를 일관성 있게 사용. 대부분의 언어에서는 공백 또는 탭을 사용하여 들여쓰기를 지정한다. 2. 변수 및 함수명(Naming Conventions): 변수, 함수, 클래스 등의 이름을 명확하고 의미있게 작성. 일반적으로 카멜 케이스(camelCase)나 스네이크 케이스(snake_case)와 같은 표준 명명 규칙을 따른다. 3. 주석(Comments): ..