04.24 (월)


소프트웨어 엔지니어링

높은 응집도(모듈 내 교류)와 느슨한 결합도(모듈 끼리는 덜 교류)를 가진 소프트웨어를 지향하자

파이썬 버전 관리

버저닝 방법에 대해 학습을 하였습니다

CalVer (Calendar Versioning) SemVer (Semantic Versioning) HashVer (Hash Versioning)
2023.01.0
[year.month. patch version]
ex_ Ubuntu 23.01
3.11.3
[major version.minor version.patches]
ex_ python 3.11.3
SHA-1, SHA-256 해시 알고리즘 활용
ex_ Git commit 9e8b9fe

특히 SemVer이 가장 기억에 남았습니다.
각각의 의미가 이전 버전과 호환되지 않으면 major version의 증가
이전 버전과 호환되며 새로운 기능이 추가되면 minor version의 증가
이전 버전의 버그 수정이 진행되면 patches 번호가 증가하는 형식이라 라이브러리를 업데이트를 진행할 때 의미를 파악하고 버전이 충돌을 일으키지 않도록 관리하는데 도움이 될 것 같았습니다.


04.25 (화)


디버깅 Case Study

디버깅의 process에 대해서 배울 수 있었다
poetry로 버전관리를 하면서 catboost를 설치하려고 했는데 오류가 계속 발생하였다
디버깅 process에 따라서 해결책 검색을 해보고 chatgpt를 활용 해보았지만 최근 버전에서 일어난 버그라서 해결 방안이 없었다
마지막 방법으로 오픈소스 코드 확인을 위해서 poetry github을 확인하였는데 issue에서 같은 문제가 발생했던 사람을 찾을 수 있었고, 이미 closed가 된 이슈여서 해결 방안을 적용하여 문제를 해결하였다

Issue with catboost and Poetry version 1.4.1 #7692
link - https://github.com/python-poetry/poetry/issues/7692


04.26 (수)


MLOps 개론, Model Serving

전반적인 모델 개발 프로세스를 파악할 수 있었다

구분 온라인 서빙 (Online Serving) 배치 서빙 (Batch Serving)
대상 시스템 인터넷, 모바일 디바이스, IoT 장치 등 대용량 데이터 처리 시스템 (데이터 웨어하우스, Hadoop 등)
처리 방식 실시간 처리 (Real-time Processing) 일괄 처리 (Batch Processing)
데이터 처리량 작은 양의 데이터를 빠르게 처리 대규모 데이터를 일괄적으로 처리
데이터 처리 시간 처리 속도가 빠르며 즉각적인 결과 제공 가능 일괄 처리 시간이 오래 걸리며 결과 제공이 느릴 수 있음
대응 기술 온라인 머신 러닝, 실시간 스트리밍, 웹소켓 등 배치 처리, 병렬 처리, 맵리듀스 등
사용 사례 검색 엔진, 추천 시스템, 실시간 예측 등 대용량 로그 처리, 배치 데이터 분석 등


04.27 ~ 04.28 (목 ~ 금)


Week 06 ~ 07 [2023.04.10 ~ 2023.04.21] 동안 진행했던 ai staeges Book Rating Prediction 기초 대회에서 개발했던 머신러닝 예측 모델을 웹 서비스 서빙에 알맞은 모델로 새롭게 학습을 진행 한 후 모델 서빙 프로젝트를 진행하였습니다.

GitHub - Books_Recommendation_Platform
Website - books-recommendation-platform by Streamlit
Blog - [Project] Books_Recommendation_Platform

댓글남기기