• Gradio: Python을 위한 직관적인 UI 라이브러리

    Gradio: Python을 위한 직관적인 UI 라이브러리

    Python 개발자라면 자신의 머신러닝 모델이나 데이터 분석 결과를 다른 사람들과 공유하고 싶을 때가 있습니다. 이럴 때 Gradio는 코드 몇 줄만으로 웹 인터페이스를 만들 수 있게 해주는 강력한 오픈소스 라이브러리입니다. 오늘은 Gradio의 설치부터 사용법, 그리고 비슷한 라이브러리인 Streamlit과의 차이점까지 알아보겠습니다. Gradio란? Gradio는 Python 함수를 위한 웹 기반 사용자 인터페이스를 빠르게 생성할 수 있는 라이브러리입니다. 특히 머신러닝…

  • 한심하다

    불의는 참아도 불이익은 못참는 놈들…쯧쯧쯧

  • Python의 객체지향 프로그래밍: 클래스, 객체, 상속 이해하기

    Python의 객체지향 프로그래밍: 클래스, 객체, 상속 이해하기

    객체지향 프로그래밍(OOP)은 현대 프로그래밍의 핵심 패러다임 중 하나입니다. Python은 이러한 객체지향 프로그래밍을 완벽하게 지원하는 언어로, 복잡한 프로그램을 구조화하고 재사용 가능한 코드를 작성하는 데 큰 도움을 줍니다. 이 글에서는 Python의 객체지향 프로그래밍의 핵심 개념인 클래스, 객체, 상속에 대해 알아보겠습니다. 1. 클래스(Class)란 무엇인가? 클래스는 객체를 생성하기 위한 템플릿 또는 청사진이라고 생각할 수 있습니다. 클래스는 데이터(속성)와 이 데이터를…

  • 존 오브 인터레스트: 악의 평범성을 마주하다

    존 오브 인터레스트: 악의 평범성을 마주하다

    2023년 칸 영화제 그랑프리 수상작이자 2024년 아카데미 시상식에서 장편국제영화상과 음향상을 수상한 조나단 글레이저 감독의 ‘존 오브 인터레스트’는 홀로코스트라는 역사적 비극을 전혀 새로운 시각으로 바라본 작품입니다. 이 영화는 아우슈비츠 수용소의 소장 루돌프 회스와 그의 가족이 수용소 바로 담장 너머에서 평화롭게 살아가는 일상을 담아내며, ‘악의 평범성’이라는 개념을 강렬하게 전달합니다. 영화는 직접적인 폭력 장면 없이도 벽 하나를 사이에…

  • Flask와 웹소켓(SocketIO)으로 실시간 서비스 구현하기

    Flask와 웹소켓(SocketIO)으로 실시간 서비스 구현하기

    웹 애플리케이션에서 실시간 기능은 사용자 경험을 크게 향상시킵니다. 채팅, 실시간 알림, 라이브 대시보드 등 다양한 기능을 구현하기 위해서는 웹소켓이 필수적입니다. 이 글에서는 Flask와 Flask-SocketIO를 사용하여 실시간 기능을 구현하는 방법을 알아보겠습니다. 웹소켓이란? 웹소켓은 클라이언트와 서버 간에 지속적인 양방향 연결을 제공하는 통신 프로토콜입니다. 기존 HTTP 통신과 달리 한 번 연결이 수립되면 양쪽에서 자유롭게 데이터를 주고받을 수 있어…

  • Huggingface 모델을 ONNX로 변환

    Huggingface 모델을 ONNX로 변환

      인공지능과 머신러닝이 급속도로 발전하면서, 인공지능 모델을 제공하는 플랫폼들이 생겨났고, 이중Huggingface는 가장 인기있는 플랫폼으로 자리매김했습니다. 다양한 모델 중에 자연어 처리(NLP) 모델을 중심으로 특정한 언어나 도메인에 사전 학습이 된 모델이 있는데 그러나 이러한 모델들을 실제 프로덕션 환경에 배포하고 활용하는 과정에서 여러 문제에 직면하게 됩니다. 이때 ONNX(Open Neural Network Exchange) 변환이 중요한 해결책이 될 수 있습니다. 필자의…

  • Python 패키지 배포: 종류, 특징, 그리고 방법

    Python은 강력한 프로그래밍 언어일 뿐만 아니라, 다양한 패키지와 라이브러리를 통해 그 기능을 확장할 수 있습니다. 여러분이 유용한 Python 코드를 작성했다면, 이를 다른 개발자들과 공유하고 싶을 수 있습니다. 이때 필요한 것이 바로 패키지 배포입니다. 이 글에서는 Python 패키지 배포의 종류, 특징, 그리고 각 방법에 대해 상세히 알아보겠습니다. Python 패키지 배포의 종류 Python 패키지를 배포하는 방법은 크게…

  • 웹 페이지 템플릿 엔진에 대한 고찰

    데이터 기반에 웹 페이지 제작을 위해 바인딩 기술요소로는 여러가지 방식이 있습니다. 현재 존재하는 템플릿 개발을 위한 방법들을 정의하고, 각 방법별 특징을 정리하여, 상황에 맞는 템플릿 엔진을 선택하기 위해 자료를 수집하고 정리하였습니다. 업무적으로 필요한 자료이지만, 관련하여 필요한 분들과 공유하고자 포스팅을 합니다. 참고용으로 봐주시기 바랍니다. 1. 서론 웹 개발에서 JSON(JavaScript Object Notation) 형식의 데이터를 받아 동적으로 웹…

  • pyenv: Python 버전 관리의 효율적인 도구

    pyenv: Python 버전 관리의 효율적인 도구

      Python 개발을 하다 보면 프로젝트마다 다른 버전의 Python을 사용해야 하는 상황이 자주 발생합니다. 이럴 때 pyenv는 시스템에 여러 버전의 Python을 설치하고 프로젝트별로 쉽게 전환할 수 있게 해주는 강력한 도구입니다. 이 글에서는 pyenv의 설치부터 실제 프로젝트에서의 활용 방법까지 상세히 알아보겠습니다. 시스템에서 Python이 설치가 되어있는지, 어디에 설치되어있는지, 버전은 몇으로 설치되어있는지 체크를 먼저 아래와 같이 해봅니다. 이렇게…