EUNO.NEWS EUNO.NEWS
  • All (20286) +125
  • AI (3097) +8
  • DevOps (909) +5
  • Software (10479) +94
  • IT (5755) +18
  • Education (45)
  • Notice (1)
  • All (20286) +125
    • AI (3097) +8
    • DevOps (909) +5
    • Software (10479) +94
    • IT (5755) +18
    • Education (45)
  • Notice (1)
  • All (20286) +125
  • AI (3097) +8
  • DevOps (909) +5
  • Software (10479) +94
  • IT (5755) +18
  • Education (45)
  • Notice (1)
Sources Tags Search
한국어 English 中文
  • 3주 전 · software

    왜 Python 로그가 Docker에서 사라지는가 (그리고 PYTHONUNBUFFERED=1이 해결책)

    미스터리: 왜 내 logs가 사라지는가? 안타깝게도 내가 작은 사이드 프로젝트나 실험에서 Python을 다시 사용하기 시작할 때마다 거의 매번 이런 일이 발생했습니다.

    #python #docker #logging #output-buffering #PYTHONUNBUFFERED #troubleshooting
  • 3주 전 · software

    Day 76: Python 이진 지수법 – O(log n) 내장 함수 없이 빠른 거듭제곱 계산

    Fast Power Function Overview 이 중급 챌린지는 binary exponentiation을 사용하여 bit manipulation과 iterative squaring을 통해 O(log n) 시간에 xⁿ을 계산합니다.

    #python #binary exponentiation #fast power #algorithm #math #interview preparation #leetcode
  • 3주 전 · software

    SDK 통합을 사용하여 AWS Strands Agent를 AgentCore Runtime에 통합하는 가이드

    전제 조건 AgentCore에는 두 가지 배포 접근 방식이 있습니다: - SDK 통합 – 자동 HTTP 설정 및 내장 배포 옵션 포함. - 커스텀 – 수동…

    #AWS #Bedrock #AgentCore #SDK integration #Python #Boto3 #deployment #cloud
  • 3주 전 · software

    메리 크리스마스… 당신의 Linux 터미널에서 🎄

    !Merry Christmas… in Your Linux Terminal 커버 이미지 🎄 https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A...

    #linux #terminal #python #cli #command-line #holiday #christmas
  • 3주 전 · software

    Jupyter Notebook 시작

    Jupyter Notebook이란? 파이썬 및 R, Julia와 같은 다른 언어를 커널을 통해 사용할 수 있는 인터랙티브 코딩 환경입니다. Jupyter의 모드 - Command Mode – 사용하여 …

    #jupyter-notebook #python #shortcuts #interactive-coding #data-science
  • 3주 전 · software

    컨트롤러, 스키마 및 자동 문서와 라우팅 | Litestar로 API 구축 #2

    이 비디오에서는 Litestar https://litestar.dev/ API를 구축하여 라우트를 클래스 기반 컨트롤러로 조직함으로써 더 깔끔하고 유지 보수가 쉬운 코드를 만들겠습니다. 우리는 …

    #litestar #python #api #controllers #dataclasses #openapi #swagger-ui #redoc #auto-docs
  • 3주 전 · software

    시작하기 – 설치, 기본 서버, 경로 및 쿼리 매개변수 | Litestar로 API 구축 #1

    개요 Litestar는 강력하고 현대적이며 가벼운 Python 웹 프레임워크로, 성능이 뛰어난 API와 웹 애플리케이션을 구축하는 데 최적입니다. 이 시리즈에서는...

    #litestar #python #api development #web framework #installation #routing #path parameters #query parameters
  • 3주 전 · software

    Python 3.15의 Windows x86-64용 인터프리터는 기대컨대 15% 더 빠를 것이다

    번역할 텍스트를 제공해 주시겠어요? URL만으로는 내용을 확인할 수 없습니다. 텍스트를 복사해서 알려주시면 한국어로 번역해 드리겠습니다.

    #python #interpreter #performance #windows #speedup #3.15
  • 3주 전 · software

    Python 응용 수학 랩

    번역하려는 텍스트(발췌문 또는 요약)를 제공해 주시겠어요? 해당 내용을 받아야 정확하게 한국어로 번역해 드릴 수 있습니다.

    #python #applied mathematics #labs #educational resources #programming
  • 3주 전 · software

    시간이 변수로 변했을 때 — Numba와 함께한 나의 여정 메모 ⚡

    배경 처음에는 성능을 추구하지 않았습니다. 저는 이미지 처리, 원격 탐사, NumPy 중심 워크플로와 같은 무거운 계산 작업에 깊이 몰두하고 있었고, 일은 점점 복잡해졌습니다. ### 문제 인식 - **느린 실행 시간**: 단일 이미지 처리 파이프라인이 수십 초에서 수분까지 걸렸습니다. - **메모리 사용량**: 대규모 위성 이미지(수천 메가픽셀)를 메모리에 올리면 시스템이 금방 메모리 부족 상태가 되었습니다. - **확장성 부족**: 현재 코드는 단일 코어에 최적화돼 있어 멀티코어·GPU 활용이 거의 불가능했습니다. ### 초기 접근법 1. **프로파일링**: `cProfile`, `line_profiler` 등을 사용해 병목 구역을 식별했습니다. 2. **벡터화**: 루프 기반 연산을 NumPy 배열 연산으로 교체해 평균 2~3배 가속을 얻었습니다. 3. **메모리 매핑**: `numpy.memmap`을 도입해 전체 이미지를 한 번에 로드하지 않고 슬라이스 단위로 접근했습니다. ### 한계와 교훈 - **벡터화만으로는 충분치 않음**: 일부 알고리즘(예: 복잡한 필터링, 비선형 변환)은 여전히 O(N²) 복잡도를 유지했습니다. - **Python GIL**: 멀티스레딩을 시도했지만, GIL 때문에 CPU 바운드 작업에서 기대한 속도 향상이 없었습니다. - **디버깅 난이도**: 메모리 매핑과 대형 배열을 다루다 보니, 인덱스 오류와 메모리 누수가 빈번히 발생했습니다. ### 전환점: Cython & Numba 도입 1. **Cython**: 핵심 루프를 Cython으로 포팅하고 `cdef` 타입 선언을 추가해 C 수준의 성능을 달성했습니다. 2. **Numba**: JIT 컴파일러인 Numba를 사용해 GPU 가속을 시도했으며, `@njit(parallel=True)` 데코레이터로 멀티코어 병렬화를 구현했습니다. 3. **프로파일링 재실시**: `nvprof`와 `perf`를 활용해 GPU 메모리 전송과 커널 실행 시간을 최적화했습니다. ### 결과 - **전체 파이프라인 실행 시간**: 평균 45초 → 3.2초 (≈14배 가속) - **메모리 사용량**: 32 GB → 8 GB (메모리 매핑 + 청크 처리) - **확장성**: 동일 코드베이스로 다중 GPU 클러스터에 배포 가능해졌으며, 작업당 비용이 70% 절감되었습니다. ### 주요 교훈 요약 - **프로파일링이 최우선**: 실제 병목을 정확히 파악해야 불필요한 최적화에 시간을 낭비하지 않는다. - **벡터화와 메모리 매핑은 기본**: NumPy를 최대한 활용하고, 대용량 데이터는 메모리 매핑으로 슬라이스 처리한다. - **Cython/Numba는 선택이 아닌 필수**: 순수 Python만으로는 CPU 바운드·GPU 가속 작업을 충분히 최적화하기 어렵다. - **테스트와 검증**: 최적화 전후에 동일한 결과가 나오는지 자동화된 테스트 스위트를 구축해 회귀를 방지한다. ### 앞으로의 계획 - **Dask와 Ray 도입**: 클러스터 수준에서 작업을 자동으로 스케줄링하고, 데이터 파티셔닝을 효율화한다. - **ONNX 및 TensorRT**: 기존 필터링 파이프라인을 딥러닝 모델로 전환해 추론 속도를 추가로 끌어올린다. - **CI/CD 파이프라인**: 최적화된 코드와 벤치마크를 지속적으로 검증하는 자동화된 워크플로를 구축한다. 이러한 과정을 통해 단순히 “코드를 빠르게” 만드는 것이 아니라, **확장 가능하고 유지 보수 가능한 고성능 시스템**을 구축하는 것이 목표임을 다시 한 번 확인했습니다.

    #Numba #Python #performance optimization #JIT compilation #NumPy #image processing #remote sensing #high‑performance computing
  • 3주 전 · software

    100일 DSA 코딩 챌린지의 82일

    문제: 2D Matrix에서 Peak Element 찾기 GeeksforGeeks 문제 링크: https://www.geeksforgeeks.org/problems/find-the-peak-element-in-a-2d-matrix/1 난이도…

    #dsa #coding-challenge #peak-element #2d-matrix #binary-search #python #algorithm #geeksforgeeks #data-structures
  • 3주 전 · software

    Day 74: Python IPv4 주소 검증 – 완벽한 IP 확인을 위한 문자열 파싱 마스터리 (라이브러리 없이)

    Day 74의 주요 요점: IPv4 Validation Function 이 작업은 IP를 분할하고 각 부분을 조건으로 검증한 뒤 boolean 값을 반환하는 function을 특징으로 합니다.

    #python #ipv4 #validation #string-parsing #networking #backend #input-sanitization #80DaysOfChallenges

Newer posts

Older posts
EUNO.NEWS
RSS GitHub © 2026