SW
#
2025-09-23 Langchain #2 RAG 기반 LLM API 서버 구축
#1 작업 위치 설정 # 1. 작업 위치 $ pwd /Users/yshmbid/Documents/home/github/MLops/template/#10.code # 2. 파일 확인 $ ls practice_LLM_App_main.py practice_LLM_App_front.vue #2 백엔드 띄우기 # 3. 백엔드 띄우기 $ uvicorn practice_LLM_App_main:app –port 8005 –reload ⋯
2025-09-19 ⋯ Langchain #1 LECL 코드 필기
1. 코드 cf) 가상환경 만들기 # 작업 위치 $ pwd /Users/yshmbid/Documents/home/github/MLops/#0.lecl # rag 가상환경 생성 $ python -m venv rag $ source ./rag/bin/activate (rag) $ # cf) conda base 가상환경 자동으로켜는거 끄기 conda config –set auto_activate_base false ⋯
2025-09-17 ⋯ FastAPI #2 논문 업로드 및 벡터화 API
1. 실행 $ pwd /Users/yshmbid/Documents/home/github/MLops $ ls mariadb_tmplt pjt-main.py skala-fastapi-rpt.zip mariadb_tmplt.zip skala-fastapi-rpt template.zip $ uvicorn pjt-main:app –host 127.0.0.1 –port 8002 –reload ⋯
2025-09-17 ⋯ FastAPI #1 MariaDB, DB Migration, Swagger UI
1. 실습 내용 #1 maria db container 띄우기 # 1. conda 가상환경 생성 $ conda create -n demo-app python=3.11 $ conda activate demo-app 2. 작업 위치 # mariadb_tmplt 디렉토리를 다운받고 압축 해제함 $ pwd /Users/yshmbid/Documents/home/github/MLops/mariadb_tmplt $ ls conf.d ⋯
2025-09-09 ⋯ Kubernetes #2 ConfigMap, PVC, Liveness/Readiness, Blue/Green
1. kubectl 명령어 실습 #1 kubectl 명령어 써보기 = 배포된 컨테이너를 쿠버네티스에서 확인. # 배포 상태 확인 $ kubectl get pod -n skala-practice | grep sk019 sk019-myfirst-api-server-57fddcd6c8-l4jms 1/1 Running 0 108m # 서비스 확인 $ kubectl get svc -n skala-practice | grep ⋯
2025-09-08 ⋯ Kubernetes #1 Pod, Port-forward
1. 실습환경설정 필요 패키지 kubectl, jq, curl, maven, Java brew install kubectl jq curl maven kubectl Kubernetes 클러스터와 통신하는 CLI 도구 쿠버네티스는 여러 개의 프로그램이 동시에 돌아가는 큰 시스템이고 여기에 지시를 내리는 도구. Java 17 여러 프로그램을 실행하는 공통 실행 환경(JVM) ⋯
2025-09-02 ⋯ Java #2 객체지향 설계 원칙 SOLID
목차 1. 단일 책임 원칙 (Single Responsibility Principle, SRP) 2. 개방-폐쇄 원칙 (Open-Closed Principle, OCP) 3. 리스코프 치환 원칙 (Liskov Substitution Principle, LSP) 4. 인터페이스 분리 원칙 (Interface Segregation Principle, ISP) 5. 의존 역전 원칙 (Dependency ⋯
2025-09-01 ⋯ Java #1 객체지향 프로그래밍: 캡슐화, 추상화, 다형성, 상속
목차 1. 캡슐화 2. 추상화 3. 다형성 4. 상속 5. 공통 특성: 인터페이스와 구현의 분리 1. 캡슐화 #1 개념 및 목적 개념 객체지향 프로그래밍에서 객체의 속성(필드)을 외부로부터 숨기고, 공개된 메서드(getter/setter)를 통해서만 접근하도록 만드는 원칙 필드를 private으로 선언하고, 외부에서 직접 접근하지 못하게 제한하고 ⋯
2025-08-28 ⋯ DBMS 및 SQL 활용 #4 pgvector 기반 유사도 검색 + FastAPI 연동
1. 실습 시나리오 – 1. 확장 설치 및 테이블 생성 – 2. 예시 데이터 삽입 (10건만 임시) – 3. 인덱스 생성 및 분석 – 4. 성능 비교: LIMIT 5 vs LIMIT 50 – 5. 인덱스 종류별 비교 (코사인 vs L2) – 6. 사용자 입력 벡터를 Python에서 API로 전달하여 동적 쿼리 구성 예시 (FastAPI 측에서 처리) 2. 코드 ⋯
2025-08-28 ⋯ DBMS 및 SQL 활용 #3 집계함수, 고급 객체기능, 고급 인덱스
1. GROUPBY (p.81-84) GROUP BY - 테이블 안에 있는 데이터를 특정 기준으로 묶어서 요약. - 테이블 embedding_store에서 - id, user_id, cluster_id, similarity, tag 5개 컬럼이 있는데 - 있는 그대로보면 큰 그림을 보기 힘들다 즉 해석이 어렵다. - GROUP BY를 쓰면 요약 정보를 만들수있는데 ⋯
2025-08-27 ⋯ DBMS 및 SQL 활용 #2 트랜젝션 격리수준, pgaudit, AI 시스템 운영
1. 트랜젝션 격리수준 트랜젝션 - 데이터베이스에서 하나의 작업 단위. - 여러 개의 쿼리나 연산이 묶여 하나로 실행되는데 그 결과는 전부 성공하거나 아니면 전부 실패해서 원래 상태로 되돌아가야 한다. - 그렇지 않으면 데이터가 꼬인다. 문제는? - 여러 사람이 동시에 같은 데이터베이스를 건드린다. - 그래서 데이터가 ⋯
2025-08-27 ⋯ DBMS 및 SQL 활용 #1 실습
1. 실습1 실습 시나리오 - 사용자가 설계안 텍스트(예: description)를 입력 - 해당 텍스트에 대해 Python에서 AI 임베딩을 수행 - 임베딩 결과가 유효할 경우 design 테이블에 등록 (COMMIT) - 실패하면 아무 데이터도 등록하지 않음 (ROLLBACK) - PostgreSQL + pgvector 확장 사용 - Python에서 psycopg2 ⋯
2025-08-20 ⋯ python #3 pgvector 유사 리뷰 검색
1. 목적 고객 리뷰 문장을 벡터로 임베딩하고 PostgreSQL의 pgvector 기능을 활용하여 비슷한 리뷰를 검색하는 기능을 구현 2. 코드 import torch import transformers import sentence_transformers import sklearn import numpy import scipy print(f"torch: {torch.__version ⋯
2025-08-13 ⋯ python #2 객체지향 프로그래밍, 병렬처리
1. 객체지향 프로그래밍, 병렬처리 #1 property & dataclass (p.139-140) @property diameter 메서드는 사실 _radius * 2라는 계산을 수행하지만 외부에선 c.diameter라고 쓰면 바로 10이라는 결과를 얻을 수 있다. @diameter.setter를 사용하면 c.diameter = 20 형태로 diameter을 수정할수있고 내부에서는 ⋯
2025-08-12 ⋯ python #1 기본문법, 가상환경, 로깅
1. 기본문법 #1 break와 continue의 차이 (p.29) # break for i in range(10): if i==5: break print(i) # continue for i in range(5): if i==2: continue print(i) break 0부터 9까지 세는 반복문에서 i가 5가 되는 순간 break를 만나면 그 뒤의 숫자는 전혀 세지 않고 반복이 끝난다. ⋯
2025-08-04 ⋯ Docker #5 kubernetes 환경에 나의 앱을 배포해보자
1. 작업 정보 #1 작업 위치 $ pwd /Users/yshmbid/rde/config/workspace/exec-template #2 파일 구조 #3 이전 실습과의 차이 1. cicd.sh를 쓴다. 2. deploy 디렉토리를 쓴다. 3. docker-build.sh와 docker-push.sh에서 amd였던걸 arm으로 바꿔줬는데 이걸다시 amd로 바꿔준다. 1. cicd.sh 작성 ⋯
2025-08-04 ⋯ Docker #4 자신의 Frontend (HTML, JS, CSS) 개발 코드를 컨테이너로 만들고 이것을 실행시켜 보자
조건 1. nginx:alpine 이미지를 사용 2. 노출 Port는80 3. nginx를실행하는방식은 -nginx -g daemon off; 4. nginx의 routing 설정은 default.conf에 설정한다. 1. 작업 위치 $ pwd /Users/yshmbid/rde/config/workspace/exec-template $ ls Dockerfile default.config/workspace/exec-template ⋯
2025-08-04 ⋯ Docker #3
1. 레지스트리에 접속하고 이미지를 pull/push하기 # Docker 로그인 $ docker login https://{실습링크}.com # ID: * # Password: * $ Login Succeeded # 이미지 Pull (이미지 내려받기): 예를 들어 container-linux:1.1 이미지를 다운로드 $ docker pull {실습링크}.com/{실습id}/container-linux ⋯
2025-08-01 ⋯ Docker #2 작년 작업 복기: netmhcpan image 불러와서 패키지 돌리기
1 2024.11.24 MutClust 작업중에 netmhcpan을 돌려야되는 상황이 왓었는데 netmhcpan이 유료였나 그래서 패키지 다운은 안되고.. 서버 뒤지다가 아래 README.txt 파일 발견해서 결과물 저장까진 했던 기억이있다. 1. 도커 컨테이너 생성 docker hub에서 ‘* ’ 이미지 다운로드 (* : 링크 블라인드 처리) 링크 : https://hub.docker. ⋯
2025-08-01 ⋯ Docker #1 Python 실행 컨테이너 만들기
1 RDE 런처 실행 RDE #1 Local PC에서 RDE 환경 구성에서 Harbor registry로부터 RdE Container download를 수행했고 아이콘을 클릭해서 RDE 런처를 실행한다. 1. 웹 서비스 실행 컨테이너 만들기 #1 /config/workspace/cloud/container/00.container-linux 경로로 이동 cd /config/workspace/ ⋯
2025-07-31 ⋯ SQL #6 AI 서비스 리뷰 시스템
1. 문제 AI 서비스 리뷰 시스템: 키워드 기반 텍스트 필터링과 AI 기반 방식의 비교를 통해 유사도 기반 검색에 대한 개념 이해 - 테이블 개요 . Day 3 – ai_service_creator_ranking.sql . 주제: AI 서비스 리뷰 (WITH (CTE) + 집계로 인기 기획자 추출) . 목적: CTE(Common Table Expression)로 집계 ⋯
2025-07-31 ⋯ HTML #2 SKCT 공부용 메모장+계산기 만들기
1. 문제 SKCT는 응시화면이 아래와같이 돼잇는데 연습하기 불편한거같애서 html로 만들어봣다 2. SKCT 공부용 메모장+계산기 #파일구조 /skct ├── index.html └── script.js #활용 요렇게 문제옆에 띄워놓고 쓰면됨 ㅎㅎㅎ 3. 수정사항 3-1. 메모장 1. 메모장 ↔ 그림판 전환 버튼 - 메모장일때는 ‘🎨 그림판’, 그림판일때는 ⋯
2025-07-30 ⋯ SQL #5 소셜미디어 포스트 리뷰 시스템
1. 문제 JSONB 기반의 메타정보 필드 설계 + 검색 + AI 분석 연계 - 테이블 개요 . Day 2 – jsonb_metadata_sql_practice.sql . 주제: 소셜미디어 포스트 리뷰 . 목적: 포스트에 대한 사용자 평가 + 해시태그/속성을 JSONB로 저장하여 AI 추천/필터 기반 만들기 - 실습 준비 . 특정 메타 속성 포함 검색(JSONB 검색 쿼리 실습) ⋯
2025-07-30 ⋯ SQL #4 AI 피드백 분석 시스템의 테이블 정규화
1. 문제 AI 피드백 분석 시스템의 테이블 정규화 - 시나리오 . 여러분은 AI 피드백 분석 시스템을 위한 데이터 모델링을 맡았습니다. 현재는 여러 실험 데이터를 한 테이블에 모아두었지만, 벡터 임베딩 처리, 학습데이터 전처리, RAG 문서 기반 검색 등을 고려해 정규화 설계가 필요합니다. 비정규 테이블 예시: Day 2 – 정규화와 ⋯
2025-07-29 ⋯ SQL #3 스키마 분리와 AI 분석
생각 정리 1. AI 분석이 들어갈 때 왜 별도 스키마로 나누는 것이 유리할까요? 2. 스키마 vs. 테이블 분리, 어떤 방식이 어떤 상황에 적합할까요? 3. 향후 pgvector 또는 AI 모델 결과를 넣기 위해 어떻게 테이블을 확장할 수 있을까요? 1. AI 분석이 들어갈 때 왜 별도 스키마로 나누는 것이 유리할까요? AI 분석이 포함될 때 ⋯
2025-07-29 ⋯ SQL #2 학사 관리 시스템 설계 - 스키마 분리 및 멀티 프로젝트 설계
1. 문제 이전에 만든 ERD를 기반으로 PostgreSQL 로 스키마 분리 및 멀티 프로젝트 설계합니다. - 주제 . 서울캠퍼스/제주캠퍼스별 학사 관리 시스템 (Learning Management System) 동일한 학사관리 시스템 구조를 기반으로, 캠퍼스에 따라 데이터를 스키마 단위로 분리 설계하고 향후 AI 분석 결과의 멀티 벡터 저장 구조로 ⋯
2025-07-29 ⋯ SQL #1 학사 관리 시스템 설계 - 엔터티 도출 및 ERD 작성
1. 문제 AI 기반 학사 관리 시스템 (Learning Management System) 설계를 위한 엔터티 도출 및 ERD 작성 실습입니다. - 요구사항 . 교육과정, 수강생, 과정운영자, 강사, 과정 설명 텍스트, Review 등으로 구성 . 과정 설명 텍스트는 향후 AI 임베딩 대상이므로 충분한 길이와 자유 텍스트로 정의 - 순서 . 학사관리시스템 ⋯
2025-07-24 ⋯ Hugo blog #3 Markdown HTML 렌더링 문제
Hugo book Theme는 원래 위 코드를 작성하면 아래처럼 토글이 나온다. 어느날부터 갑자기 토글이든 문단나누기든 다 안먹어서, 근데 원인을 몰라서 그냥 shortcode 기능 없는대로 쓰다가, 너무 불편해서 좀 찾아봤고 hugo.toml에 다음 내용 넣어준 뒤로는 잘 작동했다. 근데 이후에 html 관련 포스팅을 작성했는데 넣어준 코드가 다 깨졌다. ⋯
2025-07-23 ⋯ JavaScript #1 쇼핑몰 주문 처리 과제
#문제 당신은 온라인 쇼핑몰의 개발자로, 고객 주문을 처리하는 프로그램을 작성하고 있습니다. 주문 처리 과정에서는 여러 조건을 고려해야 합니다. 예를 들어, 상품의 재고 여부, 고객의 회원 등급, 주문 금액, 배송 옵션 등을 확인하여 적절한 메시지와 할인율을 적용해야 합니다. 아래의 세부 조건에 맞도록 JavaScript 함수를 구현하고 ⋯
2025-07-22 ⋯ HTML #1 프로필 웹페이지 작성 과제
2025-07-22 ⋯ NPM 과 PIP 명령어 목록
1. NPM (Node Package Manager) 패키지 설치 npm install <패키지명> - 패키지 설치 npm install -g <패키지명> - 전역 설치 npm install –save-dev <패키지명> - 개발 의존성으로 설치 npm install - package.json의 모든 의존성 설치 패키지 관리 npm uninstall <패키지명> - 패키지 제거 ⋯
2025-07-21 ⋯ RDE #1 Local PC에서 RDE 환경 구성
1 #1 Docker Desktop 설치 링크 - https://www.docker.com/products/docker-desktop/ #2 RdE Container download Harbor registry로부터 이미지 다운로드 (* 에 이미지 경로) docker pull * 다운로드 확인하면? 잘들어가있다! 2 #1 Local RDE 설치하기 https://mattermost.*.com 접속해서 다운로드. #2 실행 아이콘 클릭해서 실행 ⋯
2025-04-09 ⋯ Github #2 Ubuntu 20.04 brownout 오류
블로그 수정하는데 갑자기 처음보는 오류가 발생,, 찾아보니 ubuntu-20.04 GitHub Actions runner가 2025년 4월 15일에 지원 종료함에 따라 workflow에서 runs-on: ubuntu-20.04를 사용중이라면 runs-on: ubuntu-22.04로 수정하라는 내용이었다. jobs: deploy: runs-on: ubuntu-22.04 gh-pages.yml에 들어가서 runs-on: ⋯
2024-12-31 ⋯ Github #1 There was an error committing your changes: File could not be edited 오류
1. 갑자기 모든 파일의 수정이 안되고 page deployment도 오류가 났다. 2. 브라우저 캐시 문제인가 해서 방문기록이랑 캐시를 모두 삭제해보았다. 그래도 오류가 났다. 3. 구글링하니까 내 경우랑 맞아떨어지는 한국인 블로그글이 있어서 시키는대로 https://www.githubstatus.com/에 들어가봤다. 블로그 글이랑 같은 창이 떴는데 그냥 ⋯
2024-12-31 ⋯ Hugo blog #2 Favicon 변경, Giscus 댓글창 추가
Favicon 변경 Hugo-book 테마의 github에서 README 파일을 읽어보면, logo와 favicon 이미지의 경로 정보를 찾을 수 있다. (logo 정보) (favicon 정보) 확인 결과 static 디렉토리에 각각 logo.png, favicon.png로 저장해두면 반영되는것 같다. 참고로 Hugo-book 테마의 오리지널 웹사이트는 아래와 같이 디자인되어있고 ⋯
2024-12-31 ⋯ Hugo blog #1 사이트 생성, 깃허브 배포
Hugo 설치 $ brew install hugo $ hugo version hugo v0.131.0+extended darwin/arm64 BuildDate=2024-08-02T09:03:48Z VendorInfo=brew Hugo v0.112.0 이상인지 확인하면 된다. Hugo 사이트 생성 작업하고 싶은 위치에 Hugo 디렉토리를 만들어준다. $ mkdir Hugo $ cd Hugo Hugo로 들어가서 ⋯