목록전체 글 (105)
imhamburger 님의 블로그
1. Regressor (회귀 모델) 숫자를 예측하는 모델 어떻게 사용해? 예를 들어, 집값을 예측하고 싶다면 이 모델을 사용해. 집의 크기나 위치 같은 데이터를 주면, 그 데이터를 바탕으로 "이 집은 얼마일 것 같아"라는 숫자를 예측해준다.예시: "이 집은 4억 원일 거야!" 또는 "내일 온도는 25도일 거야!" 같은 식으로 정확한 숫자를 예측하는 모델이다. 2. Classifier (분류 모델)카테고리를 예측하는 모델어떻게 사용해? 예를 들어, 어떤 이메일이 스팸인지 아닌지를 분류하고 싶다면, 이 모델을 사용해. 이메일의 내용을 보고 "이건 스팸이야" 또는 "이건 정상 메일이야"라는 식으로 분류해준다.쉽게 예시: "이 사진은 고양이야!" 또는 "이 메일은 스팸이야!" 이렇게 카테고리를 정해주는 것이 ..
*사전에 준비되어야 할 사항 1. nginx 로드밸런서만 실행시킬 EC2 인스턴스 1개2. API를 실행시킬 EC2 인스턴스 5개 (같은 API 기능을 5개의 인스턴스에 1개씩 실행)3. 성능테스트를 진행할 nGrinder 를 실행시킬 EC2 인스턴스 1개4. API 기능 도커 이미지 build 5. nginx 로드밸런서 도커 이미지 build 6. nGrinder용 EC2를 제외한 각각의 EC2 인스턴스에 Docker 설치 따라서, 총 7개의 EC2 인스턴스가 필요하다. 전체적인 그림은 다음과 같다. 사용자들은 nGrinder를 이용해 Virtual user로 세팅할 것이며, nginx를 이용한 로드밸런서가 사용자들을 분산하여 한쪽 서버에만 과부하되지 않게 처리한다. 이때, 주의해야할 것은 각 기능..
내가 만든 파일을 도커 이미지로 만들고 이미지 안에서 실행하였는데 내 컴퓨터에서 출력되는 결과가 다르게 나왔다. 기능은 length 와 weight 값을 입력하면 빙어인지 도미인지 알려주는 기능이다. 도커 안에서 실행한 결과 내 컴퓨터에서 실행한 결과 각각 파일 해시값을 출력해보니 해시값이 달랐다.파일 해시값을 출력하는 방법은 다음과 같다.md5sum {파일명} 출력된 해시값도커 > 2e886ff57183229c24e8e05084c21e74 model.pkl내 컴퓨터 > b4cce379395c6dac1cb04fc9b9c768f0 model.pkl Dockerfile은 다음과 같다.FROM ham/fishmlserv:1.1.0WORKDIR /codeCOPY src/fishmlserv/main.p..
MANIFEST.in 파일은 Python 프로젝트에서 패키지를 배포할 때 포함될 파일들을 지정하기 위해 사용한다. MANIFEST.in 파일은 Python 프로젝트에서 패키지를 만들 때, 어떤 파일들을 포함시킬지 또는 제외할지를 결정하는 "포장 리스트"라고 생각하면 된다. 예를 들어, 내가 Python 패키지를 만들어서 다른 사람들과 공유하려고 하는데, 이 패키지에는 코드 외에도 설명서(README), 라이선스(LICENSE), 그리고 예제 파일들이 함께 들어가길 원한다고 해보자. 그.런.데 이런 파일들은 기본적으로 패키지에 포함되지 않는다. 그래서 MANIFEST.in 파일을 만들어서 "이 파일들도 같이 넣어줘"라고 알려주는 것이다. 결론적으로, MANIFEST.in 파일은 Python 패키지를 배포할..
1. FastAPI 프로젝트 준비 참고로, FastAPI는 Python으로 작성된 고성능 웹 프레임워크로, REST API 및 웹 애플리케이션을 쉽게 개발할 수 있도록 도와주는 도구이다. 빠르고 쉽게 개발할 수 있어서 FastAPI인가보다..! 먼저, FastAPI 프로젝트가 준비되어 있어야 한다. 간단하게 main.py를 만들었다.FastAPI 홈페이지에서 참고하여 작성하면 된다. from typing import Unionfrom fastapi import FastAPIapp = FastAPI()@app.get("/")def read_root(): return {"Hello": "world"}@app.get("/items/{item_id}")def read_item(item_id: int, q:..
선택 정렬(Selection Sort)데이터가 무작위로 있을 때, 이 중 가장 작은 데이터를 선택해 맨 앞에 있는 데이터와 바꾸고, 그 다음 작은 데이터를 선택해 두번째에 위치한 데이터와 바꾸는 과정을 반복한다.시간복잡도: O(N^2)array = [8,4,6,2,9,1,3,7,5]for i in range(len(array)): for j in range(i+1, len(array)): if array[i] > array[j]: array[i], array[j] = array[j], array[i] #swapprint(array) 삽입 정렬(Insertion Sort) 데이터 집합을 순회하는 과정에서 정렬이 필요한 요소를 뽑아 다시 적절한 곳에 삽입한다.데이터가 정렬되어 있을 때 효..
8월 26일 월요일부터 첫 팀프로젝트를 시작하였다. 프로젝트를 완성하는데 주어진 시간은 3일이다. 사실 8월 23일 금요일 오후부터 팀프로젝트에 대해 팀원분들과 계획을 세웠었다. 팀구성은 4인 1조인데 우리의 팀 이름은 "Asset-No-1" 으로 정했다.이유는 미래 자산 1조 클럽 가입을 꿈꾸며....ㅋ 팀프로젝트 주제 업무용 메신저 개발 (사내 채팅 기능 + 영화 정보 검색 챗봇 기능)업무 채팅 기능업무 채팅 감사 기능 ( 검색, 대화 주제 통계 ) - zeppelin영화 챗봇기능 ( @bot 파묘 감독은 누구야? )시스템 챗봇기능 ( airflow JOB ... 성공 실패 )일정 챗봇기능 ( 애자일 칸반 미팅 시간 입니다 )여기에서 주요기능은 실시간으로 업무 대화 기능을 구현하는 것이다. 우리는 주..
Firebase에서 deploy를 했는데, 어떠한 오류가 없었다. 근데 web.app 형식만 안나오고 .com으로 끝나는 사이트는 잘 나왔다. 도메인 설정 문제는 아니었고, 캐시문제였다. 웹 브라우저의 캐시 때문에 문제가 발생할 수 있다.브라우저 캐시를 지우고 다시 시도해보거나 시크릿 모드에서 웹사이트를 열어 캐시 문제를 확인해볼 수 있다. 시크릿 모드에서 열어보니 잘 나왔고 캐시를 지웠다.
도커 컨테이너 확인하기$ docker ps 도커 이미지 빌드하기docker build -t {REPO 입력}:{TAG 입력} .#예시docker build -t fishmlserv:0.7.2 . 도커이미지 도커허브에 푸시하기docker push {이미지이름:TAG} 도커 이미지 확인하기$ docker images 도커 실행하기docker run -d -p {외부노출 PORT}:{PORT} --name {도커name 지정} {도커이미지 REPO:TAG} 도커 로그 확인하기docker logs -f {컨테이너 이름} 도커 컨테이너에 들어가기$ docker exec -it {컨테이너ID 혹은 컨테이너이름} bash 컨테이너에서 나오기$ exit 컨테이너 안에서 OS 확인하기$ cat /etc/o..
아파치 카프카(Apache Kafka)는 데이터를 빠르고 안정적으로 주고받을 수 있게 해주는 시스템이라고 생각하면 된다.Kafka는 대용량의 실시간 데이터 스트리밍을 처리하고, 데이터를 저장하며, 스트리밍 데이터를 다양한 시스템으로 전달하는 데 사용된다. 사실 카프카가 등장하기 전, 데이터를 주고받고 처리하는 방식은 원래부터 있었다. 예를들어, 이메일서비스를 생각해보았을 때, 우리는 단순히 이메일을 쓰고 상대방에게 보내면 끝이지만, 사실 이메일 프로세스 안에서는 다양한 데이터를 보내고 받는다. 이메일을 보내는 서비스인 Send는 이메일을 보낼 때, Send는 이메일 피드를 갱신하는 서비스(Feed), 이메일 알람을 보내는 서비스(Notify), 이메일 상태를 담당하는 서비스(Status), 로그를 담..