본문 바로가기

Python

(29)
Python - Google Colab Google Colab(Google Colaboratory)이란? Google Colaboratory, 일반적으로 Google Colab이라고 부릅니다. 이 플랫폼은 Google에서 클라우드 기반의 무료 Jupyter 노트북 환경을 제공합니다. Colab은 복잡한 소프트웨어 설정 없이 웹 브라우저를 통해 Python 코드를 작성하고 실행할 수 있게 해줍니다. Colab의 장점 웹 기반의 Python 개발 환경: 복잡한 소프트웨어 설정 없이 웹 브라우저를 통해 Python 코드를 작성하고 실행할 수 있습니다. 무료 GPU 사용: 무료 GPU를 제공합니다. 시간 제한이 있습니다. 비용을 지불하면 더 많은 시간과 리소스를 사용할 수 있습니다. 구글 드라이브와의 통합: Google 드라이브와의 통합을 제공하여,..
Python - Jupyter notebook Jupyter notebook이란? Jupyter Notebook은 Python을 웹 기반으로 사용 할 수 있게 해줍니다. 그리고 Python을 대화형으로 사용 할 수 있습니다. 코드 뿐만이 아니라, 텍스트(마크다운 형식)를 하나의 문서에서 결합하여 사용할 수 있게 해줍니다. Jupyter notebook 장점 인터랙티브한 코드 실행: 코드를 실행하고 결과를 바로 확인할 수 있습니다. 텍스트 작성 용이: 텍스트를 사용한 설명 추가가 가능합니다. 이미지, 수학식, 표 등 삽입 가능: 다양한 형식의 콘텐츠를 삽입할 수 있습니다. Jupyter notebook 사용 사례 교육: 텍스트 작성이 용이 하여 교육 자료로 활용됩니다. 데이터 분석: 인터렉티브한 코드 실행으로 데이터 전처리, 분석 및 시각화 작업을 위..
Python 3.10 설치 (ubuntu 20.04) ubuntu 20.04를 설치하면 python 3.8이 설치되어 있습니다. 3.8이면 서비스를 개발하기엔 충분 할 거라 생각했습니다. 인공지능 영상 관련 서비스도 3.8이면 가능했습니다. 하지만 자연어 처리를 위해서는 3.9 이상이 필요하게 되네요. ubuntu 20.04에 python 3.10을 설치한 내용을 간단히 정리했습니다. 참고로 저의 짧은 경험으로 python3.8과 3.10은 가상환경을 사용하여 분리 하는 것이 좋다고 판단됩니다. PPA 저장소 추가 Python 3.10은 Ubuntu 20.04의 기본 저장소에 포함되어 있지 않습니다. 하지만 PPA(Personal Package Archive)를 추가하여 설치할 수 있습니다. 다음 명령어를 통해 PPA를 추가합니다: sudo add-apt-..
ngrok - 로컬 서비스를 외부에서 접속 ngrok은 로컬 서비스를 외부에서 접속 할 수 있도록 해주는 프로그램입니다. 개발을 하다 보면 아래와 같은 곤란한 상황이 발생합니다. 이 때 ngrok을 사용하면 편리합니다. 내부에서 개발중인 서비스를 고객이 갑자기 보고 싶어 할 때 외부의 서비스와 연동할 테스트 서버가 필요하지만 정식으로 서버 환경을 구축하기 어려울 때(어렵거나 귀찮거나 돈이 없거나...) 특히 외부 서비스와 연동할 https 서버가 필요할 때 Windows 10 기준입니다. ngork 설치 2024년 1월 11일 기준으로 작성 되었습니다. 사이트의 변경이 있을 수 있습니다. https://ngrok.com/ 에 접속합니다. [sign up]을 하고 [Login]을 합니다. Connect -> Windows -> [Download] ..
Python - 중급 07 (decorator) decorator(데코레이터)란? 이번에도 예시를 바로 보도록 하겠습니다. 예시 def decorator_function(original_function): def wrapper_function(): print('before') original_function() print('after') return wrapper_function def display(): print('display 함수가 실행됐습니다.') decorated_display = decorator_function(display) decorated_display() display 함수가 실행됐습니다. display 함수를 파라미터로 decorator_function을 실행하고 그 결과값(decorated_display)을 다시 함수처럼 호출..
Python - 중급 06 (closure) closure(클로저)란? 어떻게 설명 드리면 좋을지 계속 고민하다가 모든 걸 접고 사용 예시를 보여 드리는게 가장 좋은 방법이라고 결론을 내렸습니다. 예시 def outer_function(): message = 'Hi' def inner_function(): print(message) return inner_function my_closure = outer_function() my_closure() Hi outer_function은 내부에서 inner_function을 정의하고 반환합니다. inner_function은 outer_function의 지역 변수 message를 참조합니다. outer_function()을 호출하면 inner_function을 반환합니다. my_closure에는 inner_..
Python - 중급 05 (generator) generator는 한 마디로 iterator를 생성해 주는 함수입니다. iterator와 동일하게 next() 함수를 사용하여 데이터를 순차적으로 호출 할 수 있습니다. generator를 알기 위해 먼저 yield 키워드에 대해 살펴보겠습니다. iterator는 Python - 중급 04 (iterator)를 참조 하십시오. yield 키워드 yield는 함수에서 값을 반환(return)하고, 함수의 실행을 그 지점에서 일시적으로 중지합니다. 다음 번에 함수가 호출되면, yield 다음의 명령문부터 실행이 재개됩니다. 예시를 통해 이해해 보겠습니다. def test(): print('A') yield 1 print('B') yield 2 print('C') yield 3 t = test() print..
Python - 중급 04 (iterator) python의 iterator는 뭘까요? 한 마디로 next()를 사용 하여 다음 요소를 가져올 수 있는 객체를 의미합니다. 이해가 안되시죠? 하나씩 알아보도록 하겠습니다. 먼저, 반복 가능(iterable)하다는 것은? iterable 하다는 것은 여러 값이 그룹화 되어 있는 데이터 구조에서 요소를 하나씩 꺼내어 사용할 수 있다는 의미입니다. 이러한 데이터 구조는 list, tuple, dictionary, set 등이 있습니다. for문으로 값을 읽어 올 수 있으면 iterable 하다고 할 수 있습니다. a = [1, 2, 3, 4, 5] # a = (1, 2, 3, 4, 5) # a = {1, 2, 3, 4, 5} # a = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}..