본문 바로가기

MLOps

(36)
개발자가 사용자와 소통하는 방법(Nonetype object has no attribute write, pyinstaller) 개발자가 사용자와 소통하는 방법(Nonetype object has no attribute write, pyinstaller) 부제 : 오픈마켓 상품 정보 수집기 버그를 고치며.. 1. 사건 Pyinstaller를 이용해서 패키징 한 EXE 파일을 지인에게 전달하고, 또 다른 버그가 생겼다 하지만 내가 테스트할 때 발생하지 않은 버그라 당황했다. 2. 사용자 환경 문제 "사용자가 프로그램을 실행하는 환경이 뭐가 잘못된 건가?"라고 처음엔 생각했다. 사실상 최악의 접근방식이었다. 실행하는 환경에 상관없이 동작하도록 만들었어야 하는 것이지 사용자는 잘못 없다. 3. 원인 파악 먼저 Pyinstaller 도큐먼트에서 5.7 버전에서 Bugfix 내용을 확인할 수 있다 Pyinstaller Docs 설명 패키징..
Pyside6로 만든 EXE 파일을 수정하다 알게 된 것들 Pyside6로 만든 EXE 파일을 수정하다 알게 된 것들 최근에 Pyside6을 가지고 프로그램을 만들어서 지인에게 제공했다 쿠팡 상품 정보 수집기 -> 오픈 마켓 상품 정보 수집기 쿠팡 상품 정보 수집기 -> 오픈 마켓 상품 정보 수집기 로그인 로그인 기능 추가 DataBase는 Ncloud의 CloudDB를 사용 중 2. 카테고리 및 연관 키워드 수집 사용자의 엑셀 데이터를 입력받고 오픈 마켓별 junnyhi.tistory.com 하루뒤에 피드백이 왔는데 버그가 엄청 많았다. 그래서 버그들을 수정하면서 알게 된 것들을 기록으로 남기려고 한다. 1. Lazy initialization Pyside6을 사용해 EXE 파일을 만들고 실행하는 경우, 로드시간이 생각보다 오래 걸렸다 따라서 특정 객체의 초기..
NCloud API 배포 시, Usage Plan 적용하기 NCloud API 배포 시, Usage Plan 적용하기 NCloud를 사용해서 FastAPI 배포 시, 사용자 별로 사용량 측정 어떻게 하는지 궁금해서 찾아봤는데 아주 좋은 서비스를 제공하고 있더라.. Usage Plan 생성 2개의 Usage Plan을 만들었다 월 10회를 사용할 수 있는 홍길동 월 30회를 사용할 수 있는 김나박 API KEYS 각 사용자들이 사용할 수 있는 API KEYS 생성 그다음 Products 카테고리에서 방금 만든 API KEYS를 등록 그다음 배포할 Product 클릭해서, Usage Plan을 연결 (Usage Plan에서 Stage 선택을 할 수 있는 걸 나중에 발견했다) 그다음 API KEYS 버튼을 누르고 Stage 별로 Plan을 등록했다 월 1회만 사용가능..
VScode를 사용했더니 kswapd0 사용률이 100%?.. VScode를 사용했더니 kswapd0 사용률이 100%?.. API 배포를 위한 개발용으로 네이버 클라우드 플랫폼에 서버를 하나 두고 사용하고 있다 최근 들어 계속 아래 그림처럼, CPU랑 MEM 사용량이 100% 찍어 느려지거나 재부팅되는 현상이 발생됐다 그래서 Top 명령어 실행해두고 곁눈질로 모니터링하면서 업무를 하던 도중, kswapd0라는 놈을 잡아냈다 참고: WhaTap - 리눅스 free 명령어로 메모리 상태 확인하기 SWAP 스왑은 디스크의 일정 부분을 메모리 공간 부족 시 메모리 처럼 사용하기 위해 설정해 둔 공간으로, 커널은 메모리가 부족한 상황에서는 Buffer와 Cache로 할당된 것 중에 자주 사용되지 않는 것들을 비우고 메모리에 할당하려고 시도함 또한 메모리에 있는 데이터 중 ..
만약 내가 Seller라면, 어떤 물건을 팔까? (1) 만약 내가 Seller라면, 어떤 물건을 팔까? 스마트스토어, 쿠팡, 11번가 등등 오픈마켓에 물건을 판매하려는 Seller 들은 데이터 분석 플랫폼에서 판매할 물건을 찾고 적합한 키워드로 상품명을 짓는다. 상품과 키워드를 찾기위한 플랫폼은 아이템스카우트, 셀링하니 같은 사이트가 여러 개 있었고 해당 사이트를 참조하면서 만들어보려고 한다 궁극적으로 하고 싶은 것은, '뭐 팔까?' 라고 물어보면 'A'라고 결과를 받아볼 수 있는 원클릭 소싱 프로그램(?)을 만들려고 한다. 이때 필요한 건 "데이터를 얼마나 잘 분석하는가?" 라고 생각하는데, 만들려는 사람은 데이터 사이언티스트, 애널리스트 뭐 그런쪽 능력치가 없는 애송이다. 신청한 API 데이터랩 API에 추가로 파파고도 신청했다 여기에 추가로 검색광고 A..
코드 품질 향상을 위한 FastAPI 기반 코드 리팩토링 코드 품질 향상을 위한 FastAPI 기반 코드 리팩토링 서론 회사 솔루션 제공을 위한 API를 NCP(Naver Cloud Platform)에서 배포하기 위해 몇 가지 개선을 진행했다. Before 기존 코드는 Fast API를 사용하고 있고 Input과 Output만 존재하는 단순한 형태였다. Images를 입력받아서 Json 형태를 리턴해주고 있다. 해당 코드를 사용해 배포를 진행한다면.. After 3가지 단계 추가 입력 유효성 검사 필요한 데이터가 누락되었을 때 처리하는 방식을 추가함 예를 들어 'images' 필드는 비워둘 수 없음 형식 검사 및 예외 핸들러 추가 입력된 이미지 데이터가 원하는 형식인지 확인하는 검사 잘못된 형식의 데이터가 들어올 경우 적절한 오류 메시지 반환 로그메시지 기존 ..
ChatGPT를 사용한 뉴스 요약 : 크롬 익스텐션 개발기 ChatGPT를 사용한 뉴스 요약 : 크롬 익스텐션 개발기 서론 아래 포스팅을 보면 알 수 있듯이, ChatGPT를 사용해 해외 뉴스를 매일매일 요약하고 있다. 미증권 뉴스 스크랩핑(Node.js , Express, Puppeteer, Koyeb) 미 증권 뉴스 스크랩핑 하기 푼돈으로 주식하는 서학개미로서, 주식 뉴스는 조금이라도 읽자라 생각해서 주식 블로그를 하고 있는데 블로그에 글이 올라가는 루틴은 아래와 같다 기사의 본문을 junnyhi.tistory.com 불편했던 점은 ChatGPT가 대화의 히스토리를 기억한다고 하지만, 대화가 길어지면 처음 요구 했던 내용을 종종 잊어버린다 그렇기 때문에 뉴스 요약을 하는 과정 중간 중간 마다 엉뚱하게 요약을 하는 일이 발생했다. 그래서 매 번 대화할때마다 원..
아이디어스 스크래퍼(Puppeteer, Electron) 아이디어스 스크래퍼(Puppeteer, Electron) 서론 "단순 스크래핑만 양산형으로 만드네 이 사람?"이라고 물어본다면 할 말 없긴 하지만, 데스크톱 애플리케이션으로 뭐가 좋을까 찾는 중이라고 핑계를 대본다.. 1. Electron 선택 이유 Node.js Desktop app이라고 검색하니까, Electron이 제일 첫 번째 나왔다. 그게 전부다 증거자료를 첨부하겠다. 2. Electron이 최선의 선택이었나? 그건 잘 모르고 그냥 빠른 선택을 했다 앱 실행 화면 스크래핑 결과 화면 3. 역경과 코난 아니고 고난 할 줄 아는 언어라고는 파이썬이라 어려웠음 index.html의 발전과정 scripts 태그 내, 직접 작성하다 보니 너무 길어지고 흉물 그 자체로 변했다. 외부 파일 추가해서 사용하니..