전체 글 180

[CH. 1 컨테이너 가상화 이해] Play with Docker (web docker instance)

https://labs.play-with-docker.com/ Play with DockerPlay with Docker A simple, interactive and fun playground to learn Docker Loginlabs.play-with-docker.com 도커를 다운받지 않고 실습 할 수 있는 웹사이트이다. docker run -d -p 8001:80 --name=webserver1 nginx:1.23.1-alpine : 컨테이너 띄울때 쓰는 명령어  : -d 는 백그라운드로 돌려라, : -p 포트는 몇번으로할것이냐 ? 8001   host port가 8001이라는 뜻. (리눅스 환경의 8001번 포트가 오픈)   리눅스의 기본포트는 0번부터 6536번까지 포트를 쓸 수 있음 (포..

개발환경 2025.02.09

[CH. 1 컨테이너 가상화 이해] 컨테이너 기술이란?

컨테이너가 무엇인가?- 애플리케이션을 언제든 실행 가능하도록 만든 것- 그 컨테이너의 인프라를 만드는 이미지가 중요함- 도커파일의 인프라를 제작을 하고 코딩을 한것을 IAC라고 하는데, 이를 빌드하면 이미지가 됨- 이미지들을 하나의 런타임환경으로 패키징한 논리적 공간- micro VM- 운영체제 수준의 가상화 제공- 운영체제 수준이지만, 커널이 없음.  도커컨테이너는 플랫폼임. os 에 있는 커널을 도커컨테이너가 공유해서 쓰는 기술임..- 독립성을 갖기 때문에 다른 컨테언에 영향을 주지 않는 stateless 환경 제공- 운영체제 수준의 가상화를 제공하는것임. 독립된 os.. 다른 컨테이너에 영향을 주지 않는 stateless 환경- 격리된 운영체제 ? 방화벽 ?  port, ip..- 기본적으로 포트를..

개발환경 2025.02.09

langchain, openai 활용하여 응답 생성하기 (두번의 invoke, history를 이용하여 대화의 흐름 유지)

chat_router.pyfrom domain.ai.service import chatclass Message(BaseModel):    role: Union[str, None] = None    content : str    session_id : str@router.post("lang-chain")def chat_request_by_lang_chain(message: Message):    return chat.chat_completion_by_lang_chain(session_id = message.session_id, message=message.content) chat.pyfrom langchain_core.prompts import ChatPromptTemplate, MessagesPlaceh..

노드, 클러스터, 쿠버네티스, 로드밸런싱 관련 설명

node, cluster, k8s .. 한마디로 정의하자면!클러스터는 노드의 집합이며, 쿠버네티스는 이러한 클러스터를 관리하고 운영하는 도구라고 할 수 있다. 클러스터 (Cluster)- 여러 서버나 노드를 그룹화하여 하나의 시스템처럼 작동하도록 구성한 것- 클러스터를 통해 애플리케이션의 가용성과 확장성을 높일 수 있음.- 일반적으로 클러스터는 로드밸런싱, 내결함성, 장애조치 등 기능을 제공한다.- 클러스터 내의 모든 노드는 협력하여 작업을 수행하고, 문제가 발생할 경우 다른 노드가 이를 이어받아 작업을 계속 함 노드 (Node)- 클러스터 내의 개별 컴퓨터나 서버를 의미함.- 각 노드는 자원을 제공하며, 일반적으로 cpu, 메모리, 저장소와 같은 컴퓨팅 자원을 포함한다.- 워커노드(worker node..

(ktds) 24.08.05 ~ 2025.01.03

[생성형AI] conflunence 데이터를 바탕으로 chatgpt 직접 구현해보기 (1편)

confluence 데이터를 바탕으로 chat gpt 직접 구현해보려고 한다. [구성]1편 : confluence API 를 활용하여 데이터 저장하기 ( store )2편 : 벡터db에 저장해놓은 데이터 업데이트하기 ( update )  개발환경 : vscode, python, fastapi, vectorDB domain > ai > router > knowledge_router.py from fastapi import APIRouterrouter = APIRouter(    prefix = "api/knowledge")@router.post("/kms/store")def store_kmsdata_vectordb(collection_name: str, space_name:str, limit_number:..

[독서] ”이펙티브자바 3편“ 6일차

#코딩 #개발자 #객체지향의사실과오해 #개발자필독 #도서리뷰 Assignment #6 📚 2장. 객체 생성과 파괴 ✔️ TIL 오늘 TIL 3줄 요약 - 자원을 직접 명시하지 말고 의존객체 주입을 사용하라 TIL (Today I Learned) 날짜 오늘 읽은 범위 2장. 객체 생성과 파괴 - 아이템5 책에서 기억하고 싶은 내용을 써보세요. - 인스턴스를 생성할 떄 생성자에 필요한 자원을 넘겨주는 방식 - 클래스가 내부적으로 하나 이상의 자원에 의존하고, 그 자원이 클래스 동작에 영향을 준다면 싱글턴과 정적 유틸리티 클래스는 사용하지 않는것이 좋다. 이 자원들은 클래스가 직접 만들게 해서도 안되며, 그 대신 필요한 자원을 생성자에게 넘겨주는것이 바람직하다. - 의존객체 주입을 통해 클래스의 유연성, 재사..

[독서] ”이펙티브자바 3편“ 5일차

#코딩 #개발자 #객체지향의사실과오해 #개발자필독 #도서리뷰 Assignment #5 📚 2장. 객체 생성과 파괴 ✔️ TIL 오늘 TIL 3줄 요약 - 인스턴스화를 막으려거든 private생성자를 사용하라. TIL (Today I Learned) 날짜 오늘 읽은 범위 2장. 객체 생성과 파괴 - 아이템4 책에서 기억하고 싶은 내용을 써보세요. - 유틸리티 클래스들은 따로 인스턴스 변수나 메소드가 없어도 사용할 수 있으므로 생성자가 필요하지 않다. - 인스턴스화를 막기 위해 추상클래스로 만드는 경우가 있는데, 추상클래스로는 인스턴스화를 막을 수 없다. 하위클래스를 만들어 인스턴스화 하면 그만이기 때문 - 유틸리티 클래스의 인스턴스화를 막기위해서는 생성자의 접근제어자를 Private으로 만들어주어야 한다...

[독서] “이펙티브 자바 3편” 4일차

#코딩 #개발자 #객체지향의사실과오해 #개발자필독 #도서리뷰 2 주차 월 | Assignment #4 📚 2장. 객체 생성과 파괴 ✔️ TIL 오늘 TIL 3줄 요약 - TIL (Today I Learned) 날짜 2023.01.09 오늘 읽은 범위 2장. 객체 생성과 파괴 - 아이템3 책에서 기억하고 싶은 내용을 써보세요. - private 생성자나 열거 타입으로 싱글턴임을 보증하라 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요 - 그외에 공부한 내용 직렬화,역직렬화가 뭔지.. 자세히는 안함 참고 블로그 https://velog.io/@lychee/%EC%9D%B4%ED%8E%99%ED%8B%B0%EB%B8%8C-%EC%9E%90%EB%B0%94-%EC%95%84%EC%9D%B4%ED%85%9C..

[코테준비 - python] 프린터 level2 - 개발자배찌

https://school.programmers.co.kr/learn/courses/30/lessons/42587?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 딱 봐도 큐 문제다. 문법력이 부족한 나는 heap이나 queue를 활용하지 못하고 리스트 튜플로 정의해서 풀었다.. 풀릴듯 말듯.. 꽤 시간을 잡아먹었던 녀석 내 성공한 문제풀이 def solution(priorities, location): answer = 0 temp = [(i,p) for i,p in enumerate(priorities)] queue=[] f..