본문 바로가기

Notes15

[Python] 제너레이터 정리(2) 이전에는 반복형과 반복자에 대해 설명했으므로 이어서 제너레이터에 대해 정리해보려 한다.제너레이터 함수제너레이터: 제너레이터 함수와 동치, 호출 시 제너레이너 객체를 반환(반복자를 자동구현)class Sentence: def __init__(self, text): self.text = text self.words = RE_WORD.findall(text) def __repr__(self): return "Sentence(%s)" % reprlib.repr(self.text) def __iter__(self): for word in self.words: yield word이전글에서 보인 제너레이터 구현이다. 하지만 이 방식.. 2025. 10. 8.
[Python] 제너레이터 정리(1) 최근 Streaming Output 쪽에서 코드 이해가 안 돼서 부캠 이후 처음으로 파이썬 문법을 공부하기로 했다. 공부하면서 거슬러 올라가다 보니 어느새 파이썬 제너레이터까지 도달했고 배운 내용을 정리&공유차 글을 적어보려 한다.다행히도 1년 전 Pycon Korea에서 받은 벽돌 책에 관련 내용이 잘 정리되어 있어 도움을 많이 받았다.들어가기 전거진 900페이지짜리 고전 책으로 공부해서 그런지 저자가 이 문법과 파이썬의 개발철학을 계속 강조하는데 정리하면 다음과 같았다.게으른 구현: 사용하기 전까지 최대한 메모리 적재를 늦추는 방법, Pytorch에서 Data Generator를 생각하며 쉽게 이해할 수 있다.반복 사용: 위의 게으른 구현을 위해 반복문을 소비하는 식으로 구현하는데 실제로는 이걸 반복.. 2025. 10. 7.
AI 개발자가 AI 트렌드 팔로잉 하는법 최근 파견+이직으로 3주 정도 AI 콘텐츠를 접하지 않았는데 새 회사에 들어가기 전에 기존 자료정리+공유 목적으로 제가 어떤 경로로 AI 트렌드를 팔로잉하는지 적어보려고 합니다. 연구쪽 내용보다는 국내 자료&AX 쪽에 치중되어 있을 수 있습니다.뉴스레터AlphaSignalTop-paper, 인기있는 아티클, 강의 등 여러 분야에서 vibe가 되는 걸 종합되어 잘 보여줍니다.주기도 보통 2~4일 사이이기에 난 여러개 보기 귀찮고 딱 하나만 보고 싶다 하시는 분께 추천드립니다.GeekNews Weekly이미 아실분들을 대부분 알고 계실 GeekNews에서 조회수가 높거나 트렌디한 글들을 모아서 보여줍니다.정보공유, 커뮤니티, 오픈소스 서비스 소개 느낌이 강하고 매주 월요일 오전 9시 10분 정도에 보내줍니다.. 2025. 9. 3.
uv 사용법 정리 최근에 uv라는 새로운 프로젝트 관리 툴 얘기를 종종 들었고 처음에는 큰 관심이 없었지만 예상보다 다양한 곳에서 관련 글이 보이고 공식 깃허브도 어느새 poetry보다 star가 많은걸 보고 이제는 사용해 볼 때가 왔다고 느꼈다. 여러 소스를 뒤져봤을때 이 링크의 글에 사용법이 가장 잘 적혀있었다. 추가적인 레퍼런스는 글 가장 마지막에 적을 것이고 이 글에서는 내가 사용했던 방법만 정리해 보겠다.uv 설치 GitHub - astral-sh/uv: An extremely fast Python package and project manager, written in Rust.An extremely fast Python package and project manager, written in Rust. - ast.. 2025. 6. 22.
포트포워딩 없이 로컬 개발환경 공유하기(VScode tunnel) 최근 오프라인에서 사이드 프로젝트 미팅을 할 일이 있었는데 노트북은 클라우드 환경을 접속해서 사용하다 보니 개발환경을 깔려면 wsl부터 세팅해줘야 했다. 또한 구매한지 오래되어 램이 부족해 여러모로 개발에 차질이 있는 상황에 데스크탑을 공유하는 방법을 찾아봤다. 기존에는 외부공유를 위해서는 포트포워딩+SSH를 사용하는게 가장 쉬운 방법이라고 알고있었는데 그것조차 너무 귀찮아서 더 쉬운 방법이 없나 찾아보니말도 안되게 쉬운 방법이 있어 공유하려고한다.VScode tunnel 세팅하기###구글 요약 SSH 터널링:SSH 터널링은 SSH 클라이언트를 사용하여 서버와 연결을 설정하고, 터널을 통해 포트를 전달하는 방식입니다.SSH 클라이언트에서 -L 옵션을 사용하여 포트 포워딩을 설정할 수 있습니다. 예를 들어.. 2025. 4. 28.
ImportError: Could not import sentence_transformers python package. Please install it with `pip install sentence-transformers`해결방법 RAG하려고 환경 깔때마다 가끔 나오는 에러였는데 발생 이유를 몰라서 나올때마다 찾아보기 위해 해결법만 정리해보려한다.TL'DRpip install datasets -U문제파악로그로는 sentence-transformers 라이브러리 문제 같은데 다시 깔거나 버전 업을 해도 당연하게도? 해결되지는 않는다. 로그를 쭉 위로 올리다 보면>>이런 느낌의 로그가 있는데 datasets로 인해 발생했다는걸 알 수 있다. 보통 라이브러리 문제는 재설치하면 대부분 해결되므로pip install datasets -U바로 시전한 결과 버전이 1.4.1->3.1.0으로 올랐다. 아마 다른 라이브러리에서 꽤 옛날 버전으로 datasets를 설치한것 같다.결과는 역시나. 원인을 모르겠어도 컴퓨터는 안되면 재설치가 답이다. 2024. 11. 9.
[Git] git reset --hard 되돌리기 깃을 사용하다 보면 커밋메시지를 바꾼다거나 파일을 더 추가하고 싶다는 이유 등으로 git reset 명령어를 자주 사용한다. reset --soft로 돌아가면 문제없는데 커밋 이후 파일을 변경하면 reset --hard로 급하게 돌아오고 커밋하는 경우도 종종 있다. 문제는 이 과정에 중요한 코드가 누락될 수가 있다는 건데. 이번에는 이걸 되돌리는 방법에 대해 설명해 보겠다.커밋 내역 확인(git reflog)예시를 위해 Commit1~4 순으로 커밋했을 때 get reflog를 통해 위와 같이 커밋한 순서대로 커밋아이디와 커밋 메시지가 적혀있는걸 확인할 수 있다.이후 git reset --hard 305ef51로 과거 버전으로 이동하면 이후 커밋한 내역들(Commit_4)가 사라진걸 확인할 수 있다.gi.. 2024. 10. 12.