컴퓨터사이언스 51

어느 에이블러의 지혜 (AI 실험 설계 시 도커 이미지 활용 경험)

도커 관련하여 수업 듣고 있던 와중 존경하는 어느 에이블러님께서 값진 경험을 공유해주셨다. 언젠가 나도 이런 인사이트를 받아먹는 걸 넘어서, 경험에서 비롯한 깨달음을 다른 사람들에게 전할 수 있는 사람이 될 수 있기를. 그리고 다음과 같은 말씀도 해주셨다. "NAS에 연결된 서버에서 인공지능 모델 학습을 위해 NAS 내의 데이터를 불러와 학습하면  병목현상이 심해 데이터를 서버의 로컬 저장소로 복사해서 사용했는데,  SAN으로 구성하면 병목현상이 적을 것 같네요."

아주 기본적인 파이썬 모듈화 구조에 대한 소개

위 이미지는 본인이  LSTM 기반 적정 재고 관리 FastAPI 서버 개발시 구성해본 파일 구조이다. 프로젝트를 만들 때 파일을 잘 쪼개서 관리하는 것은 유지보수와 확장성에 매우 중요하다. 프로젝트의 규모나 목적에 따라 구조는 다를 수 있지만, 일반적으로 권장되는 디렉토리 구조에 대하여 정리해보았다. (가볍게 보면 좋다.)1. 기본적인 프로젝트 구조my_project/ ├── data/                        # 데이터 파일 (raw, processed 데이터) │   ├── raw/                    # 원본 데이터 │   └── processed/         # 전처리된 데이터 ├── notebooks/              # Jupyter 노트북 (데이터 ..

[파이썬] sqlite3 이용 가이드

sqlite3 사용할 때 자주 쓰이는 코드를 정리한 포스팅  분명 손에 익었다고 생각했는데 방심하면 금방 또 까먹는다. - connect로 연결 - cursor 객체를 통해 SQL 쿼리 실행 - commit을 통해 변경 사항 저장 - fetchall()이나 fetchone()으로 조회 결과 받기 - 데이터 삽입, 업데이트, 삭제 등을 SQL 문으로 처리 - 예외 처리와 트랜잭션 관리를 통해 안정성 유지  1. SQLite 연결 및 데이터베이스 생성연결 후 conn 객체를 통해 데이터베이스 작업을 수행한다.import sqlite3# SQLite 데이터베이스에 연결 (데이터베이스가 없으면 생성됨)conn = sqlite3.connect('my_database.db')# 커서 객체 생성cursor = con..

스프링 부트 실행 배너 이미지 커스터마이징 하기

아직 스프링 이론 걸음마 떼는 중에 커스터마이징 요소가 있다는 걸 알게 되어 눈 돌아가 정리해보는 포스팅 위 배너 이미지를 입맛에 맞게 커스텀 가능하다고 한다. 방법은 간단하더라 src > main > resource 폴더 안에 banner.txt 파일을 만들어준다.그리고 아래 두 방법 중 하나를 선택하여, 결과물을 banner.txt 파일에 복붙 해준다. 1. Text to ASCll Art Generatorhttps://patorjk.com/software/taag/#p=display&f=ANSI%20Shadow&t=Winter Text to ASCII Art Generator (TAAG) patorjk.com  적절한 텍스트와, 적절한 폰트를 그려주면 원하는 폰트 만들어 줄 수 있다. 2. Imag..

서버와 관련하여 가벼운 수준의 개념 정리

서버와 클라이언트• 서버 : 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 장치 (응답 - HTML, CSS, JS, 텍스트, 이미지, 동영상)• 클라이언트 : 네트워크를 통하여 서버에 접속해 정보를 확인하거나 서비스를 이용하는 장치 (요청 -  Request) 서버 종류서버는 클라이언트의 요청을 수행하기 위해 다양한 서버들끼리 통신한 후 결과를 클라이언트에 전달 • 웹 서버 : 정적 콘텐츠(소스코드, 텍스트, 이미지 등)을 클라이언트에 전달• 애플리케이션 서버 : 동적 콘텐츠(소스코드, 텍스트, 이미지 등)을 클라이언트에 전달• 데이터베이스(DB) 서버 : 애플리케이션의 정보를 저장해서 운영, 관리할 수 있는 데이터베이스를 구동하는 서버• 리버스 프록시 서버 : 클라이언트의 요청을 처리할 수 ..

최소 신장 트리(MST, Minimum Spanning Tree), Kruskal 알고리즘, Prim 알고리즘

그래프에서 1. 최소 비용으로 2. 모든 정점을 연결하는 문제는, 최소 신장 트리(MST, Minimum Spanning Tree) 알고리즘을 사용하면 해결할 수 있다. MST를 찾기 위한 대표적인 알고리즘으로는 Kruskal 알고리즘과 Prim 알고리즘이 있으며, Kruskal 알고리즘을 코드를 통해 먼저 알아보고자 한다. 문제 풀이 전략:1. 모든 노드를 최소 비용으로 연결하는 최소 신장 트리를 구한다.2. Kruskal 알고리즘을 사용하여 간선을 가중치가 작은 순서대로 선택하며, 사이클이 발생하지 않도록 한다.3. 최종적으로 모든 노드를 연결하는 데 필요한 최소 비용을 출력 Kruskal 알고리즘의 절차:간선의 비용을 기준으로 오름차순 정렬한다.간선을 하나씩 선택하면서, 해당 간선이 선택될 때 사이..

[파이썬] 웹크롤링 하기 전에 필요한 사전 지식 정리 | css-selector, selenium, parsing 外

그간 데이터 분석을 공부하면서도 웹크롤링에 대한 지식이 얕았던 것 같다. 필요할 때 코드 긁어와서 크롤링 해보는 경험은 여러 번 있었으나원리에 대해 고민해본 적은 없었는데, 이를 알려주는 강의를 들으며 정리를 해본다.(내가 다시 보려고 끄적 거린 정리)1. 클라이언트와 서버클라이언트 : Browser를 사용하여 Server에 데이터를 요청 (Request) 서버 : Client의 Browser에서 데이터를 요청하면 요청에 따라 데이터를 Client로 전송 (Response)  2. URL(Uniform Resource Locator) 구조http://news.naver.com:80/main/read.nhn?mode=LSD&mid=shm&sid1=105&oid=001&aid=0009847211#da_727..