본문 바로가기 메뉴 바로가기

허서기의 블로그

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

허서기의 블로그

검색하기 폼
  • 분류 전체보기 (36)
    • 독서 (0)
    • 개발 (34)
      • 알고리즘 (24)
      • 프로젝트 (4)
      • 공부 (3)
  • 방명록

Python (3)
코드로 알아보는 python event loop

개요async/await 문법을 사용하면 비동기 태스크가 이벤트 루프(event loop)에 등록되어 동작한다는 것은 알고 있지만, 정작 이벤트 루프 내부가 어떻게 동작하는지는 제대로 파악하지 못했습니다. Python의 이벤트 루프를 막연히 사용만 하고 있었는데, 이를 좀 더 깊이 파악해보고 싶어 코드를 직접 살펴보며 정리해보려고 합니다.특히 다음과 같은 점들이 궁금했습니다.이벤트 루프의 정의는 정확히 무엇일까?이벤트 루프에서 등록된 태스크들은 어떻게 관리될까?이벤트 루프는 어떻게 생성되고 관리되는 걸까?네트워크 I/O 연산은 어떻게 처리되고, 처리 완료 후 이벤트 루프에서 어떻게 콜백이 실행될까?위 궁금증에 답하기 위해, Python 내부 코드를 직접 따라가며 이벤트 루프가 어떻게 구현되어 있는지 살펴..

개발 2024. 12. 22. 23:16
나만의 python 패키지 만들기 - (1) 우리는 python에서 어떻게 다른 사람의 코드를 사용할 수 있을까

1. 개요: python으로 코드를 작성한 지 10년이 넘으면서, 다른 사람이 작성해 둔 코드를 pip를 통해서 편하게 설치를 했다. 이슈를 만날 때마다 패키지 시스템을 부분적으로 공부를 하게 되었지만, python package를 만들기로 마음먹은 지금 한번 python package 시스템의 역사를 정리하여 내 궁금증을 풀어보려고 합니다. 2. 궁금한 점들: python package를 사용하면서 다양한 키워드들과 파일들을 마주하게 되는데 그런 것 중에 명확히 답변하기 어려운 것들을 정리해 보았다. pypi가 뭐지? pip vs setuptools: pip로 설치할 때 setup.py를 실행한다하기도 하고.. virtualenv를 깔면 setuptools는 깔려있는데 이건 어떤 역할이지? egg vs..

개발 2023. 9. 20. 23:25
[Rust] - python에서 rust로 만든 코드 실행해서 속도 높여보기

개요 컴파일언어인 rust가 속도를 개선하는데 좋고, 다른 언어와 결합하는게 좋다는 얘기를 많이 들었다. python에 친숙한 사람으로서 python의 속도가 잘 안나오는 부분을 개선하고 싶은 마인드가 있었다. python코드를 rust를 통해서 개선하고 싶은 니즈가 있었는데, 잘 되는지 궁금해서 가볍게 테스트 해보려고 한다. 작업의 흐름 [1]에서 보니, PyO3라는 프로젝트를 사용해서 python에서 사용하는 rust module을 사용할 수 있다고 한다. PyO3에서는 python과 rust의 변한 결합을 위해서 maturin이라는 프로젝트를 사용하는 것을 권장한다.(manturin은 python module과 연동하기 위한 값들을 편하게 잡아주는 역할로 이해했다.) 연동해볼 예시 숫자를 입력받으면..

개발/프로젝트 2023. 6. 25. 20:19
이전 1 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
  • first missing positive
  • distinct subsequences
  • wildcard matching
  • maximum rectangle
  • n queens 2
  • 알고리즘
  • 개발자 글쓰기
  • best time to buy and sell stock 3
  • scramble string
  • 글또 10기
  • binary tree maximum path sum
  • hard mode challenge
  • slay the spire에 진심인편
  • leetcode 매일 풀기
  • otel
  • substring with concatenation of all words
  • Python
  • 회고
  • word ladder 2
  • palindrome partitioning 2
  • mlse
  • sudoku solver
  • 가상면접 사례로 배우는 대규모 시스템 설계
  • leetcode 매일풀기
  • longest valid parentheses
  • permutation sequence
  • leetcode
  • valid number
  • text justification
  • datalakehouse
more
«   2025/08   »
일 월 화 수 목 금 토
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바