전체 글 15

하룻밤에 만든 상어 상황판 '부캉이 지금 있나', 2주 운영 회고

만들면서 붙잡고 있던 질문들상어의 위치를 어떻게 가져올 것인가?사람들이 제보를 해줄까?제보가 들어오지 않으면 어떻게 할 것인가?가짜 사진 제보를 어떻게 가려낼 것인가? (맥미니 한 대, Qwen3.5-4B, Jev 방식)2026년 9월, 부산 북항 친수공원에 상어 한 마리가 들어왔다. 많은 사람들이 구경을 가면서 인기를 얻기 시작했고, "부캉이"라는 이름까지 얻으며 SNS를 뜨겁게 달궜다. 궁금한 걸 못 참는 나는 20일 일요일, 당장 상어를 보러 갔다. 사람도 많았고, 물 위를 지나다니는 상어 지느러미를 실제로 보니 부산에 정말 재밌는 일이 일어났구나 싶었다. 그렇게 재밌는 경험을 안고 돌아왔다.다음 날 여러 사람들에게 이 경험을 이야기했다. 그런데 듣는 사람마다 비슷한 반응이 돌아왔다. 나도 보러 가..

개발로그 2026.10.05

I Built a Shark Status Board Overnight: Two Weeks Running "Is Bukangi Here Now?"

The questions I kept asking myselfHow do I get the shark's location?Will people actually report?What if no reports come in?How do I filter out fake photo reports? (one Mac mini, Qwen3.5-4B, the Jev approach)In September 2026, a shark swam into the channel at Bukhang Waterfront Park in Busan's North Port. Crowds went to see it, it got popular, and it even got a name, "Bukangi," which set social m..

개발로그 2026.10.05

[서평] 자연어 처리를 위한 허깅페이스 트랜스포머 하드 트레이닝 - 코드와 결과물로 이해하는 언어 모델과 트랜스포머

책소개이 책은 허깅페이스를 처음 접하는 사람부터 트랜스포머 모델을 깊이 있게 공부하고 싶은 사람까지 모두에게 추천합니다. 또한, QLoRA, RLHF, DPO 등의 구현 코드를 직접 실습하며 직관적으로 이해하고 싶은 독자에게도 유용한 책입니다.목차1 자연어 처리와 허깅페이스_1.1 허깅페이스 소개__1.1.1 Datasets__1.1.2 Models__1.1.3 Spaces__1.1.4 Docs_1.2 자연어 처리와 허깅페이스의 관계2 환경 구축_2.1 구글 코랩 환경 구축__2.1.1 계정 생성__2.1.2 새 노트북 만들기__2.1.3 코드 실행__2.1.4 파일 저장__2.1.5 깃 코드 열기_2.2 구글 드라이브 마운트3 허깅페이스 주요 라이브러리_3.1 Datasets 라이브러리__3.1.1 D..

독서 2025.01.31

Hugging Face x LangChain을 활용하여 이전 대화를 기억하는 챗봇 만들기

목적LLaMA3를 이용해 챗봇 api를 만들고 싶었습니다.  Hugging Face x LangChainHugging Face x LangChain tool을 이용하여 LLaMA3 inference 합니다.pip install langchain-huggingface 다음과 같이 HuggingFacePipeline를 불러올 수 있습니다.from langchain_huggingface import HuggingFacePipelinellm = HuggingFacePipeline.from_model_id( model_id="microsoft/Phi-3-mini-4k-instruct", task="text-generation", pipeline_kwargs={ "max_new_toke..

개발로그 2024.05.30

[논문리뷰] AltDiffusion: A Multilingual Text-to-Image Diffusion Model

논문 링크: https://arxiv.org/pdf/2308.09991.pdf논문 코드 링크: https://github.com/superhero-7/AltDiffusion  글을 쓰는 시점은 24.04.21으로 Multilingual Diffusion Model에 대한 연구에 관심을 가지고 서칭하고 있다. AltDiffusion: A Multilingual Text-to-Image Diffusion Model이라는 논문을 통해 전반적은 Multilingual Diffusion Model에 대한 사전 연구와 방법, 그리고 왜 Multilingual Diffusion Model을 연구하고 개발하는지를 중점적으로 읽었다. 원래 다국어 디퓨전 모델에 대한 나의 생각은 “굳이? 그냥 ..

논문리뷰 2024.04.23

[Python] 쉘(Shell)을 통해 Logging 내용 저장하기

쉘을 통해 Logging 내용 저장하기 이 문서에서는 쉘을 통해 Logging 내용을 저장하는 방법에 대해 설명합니다. 쉘에서 명령어를 실행할 때, 실행 결과를 출력하는 것이 일반적입니다. 그러나 때로는 이 결과를 파일로 저장하여 나중에 조회할 필요가 있습니다. 이때 사용하는 것이 리다이렉션(redirection)입니다. 리다이렉션(redirection)은 쉘 스크립트에서 명령 결과를 파일로 저장하는 방법입니다. 쉘에서 명령어를 실행할 때 실행 결과를 출력하는 것이 일반적이지만, 때로는 이 결과를 파일로 저장하여 나중에 조회할 필요가 있습니다. STDOUT 출력을 파일로 저장하려면, > 리다이렉션 기호를 사용합니다. 예를 들어, ls 명령어를 실행하면 현재 디렉토리의 파일 리스트가 출력됩니다. 이때 이 ..

개발로그 2024.04.15

[Python] Logging

Python Logging에 대한 설명과 방법 Python은 logging이라는 내장 라이브러리를 제공하여, 프로그램의 실행 중에 발생하는 이벤트를 기록하고 추적할 수 있습니다. 이를 통해 프로그램의 디버깅 및 유지보수를 용이하게 할 수 있습니다. Logging 레벨(Levels) Python logging은 다음과 같은 다섯 가지 레벨을 제공합니다. DEBUG: 디버깅 정보 INFO: 정보성 메시지 WARNING: 경고 메시지 ERROR: 에러 메시지 CRITICAL: 치명적인 에러 메시지 Logging 방법(Methods) Python logging의 기본적인 사용 방법은 다음과 같습니다. import logging logging.basicConfig(level=logging.DEBUG) logger..

개발로그 2024.04.15

[Python] Argparser

Argparser Python Argparser는 명령줄 인자 파싱을 위한 파이썬 모듈입니다. 이 모듈을 사용하면 명령줄에서 인자를 받아와서 해당 인자를 처리할 수 있습니다. 사용 방법 argparse 모듈 import하기 import argparse ArgumentParser 객체 생성하기 parser = argparse.ArgumentParser() 인자 추가하기 parser.add_argument("arg_name", help="arg_help") arg_name: 인자의 이름 help: 인자에 대한 설명 인자 파싱하기 args = parser.parse_args() args.arg_name: 입력된 인자 값 예제 자동 파일 삭제 cron 만들기 import argparse parser = argp..

개발로그 2024.04.15

Docker란 무엇인가? (컨테이너, 이미지, 볼륨)

1. 컨테이너 가상화 가상화는 하드웨어 자원을 논리적으로 분리하여 여러 개의 가상 환경을 만드는 기술입니다. 이를 통해 하나의 물리적 서버에서 여러 개의 가상 서버를 구축하여 자원을 공유하고, 유연하게 서버를 구성할 수 있습니다. 가상화를 통해서 가상머신(VM)을 만들어 낼 수 있습니다. VM은 호스트 운영체제에서 구동되며 그 바탕이 되는 하드웨어에 가상으로 액세스하는 Guest 운영체제를 가지는 일종의 격리된 머신 입니다. 쉽게 생각하면 하나의 컴퓨터입니다. (물리적인 컴퓨터 자원을 가상화시켜 별도의 컴퓨터를 만든 뒤 거기에 필요한 운영체제를 올렸다고 생각합시다.) 컨테이너 컨테이너는 가상머신과 마찬가지로 애플리케이션을 관련 라이브러리 및 모든 종속항목과 패키지(그냥 APP에 필요한 모든 파일, 설치파..

개발로그 2024.04.15

Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:3306 -> 0.0.0.0:0: listen tcp 0.0.0.0:3306: bind: address already in use

Docker 실행 안됨(:3306 port 사용중) 에러문 Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:3306 -> 0.0.0.0:0: listen tcp 0.0.0.0:3306: bind: address already in use docker db 컨테이너 실행 시 3306 port에 mysql 사용으로 겹쳐서 실행이 안되는 상황 발생 기존 port kill 방법으로는 해결 안됨 lsof -i :포트번호 kill -9 PID port 죽이기 해도 계속 생겨나는 문제 발생. 🛠 해결 방법 sudo kill `sudo lsof -t -i:3306`

troubleshooting 2024.04.15