python 에서 keras 모듈이 좋다고 해서 사용해보려고 한다. 하려고 하는 작업은 이미지를 분석하여 캡션을 다는 일이다. 설치 해야할 모듈은 아래와 같다. pip install keras pip install tensorflow 사용 하는 모듈은 아래와 같다. import os from keras.applications.inception_v3 import InceptionV3 from keras.models import Model from keras.preprocessing import image from keras.applications.inception_v3 import preprocess_input from keras.models import load_model from PIL import I..
분류 전체보기
pass는 파이썬에서 사용되는 특수한 명령어이다. 아무 작업도 수행하지 않고, 단순히 실행 흐름을 건너뛰는 데 사용된다. 구문적으로 블록이 필요하지만 아무 동작이나 작업할 필요가 없는 경우에 주로 사용된다. 일반적인 사용 예 블록 구조에서 미완성한 부분 함수, 클래스, 조건문, 반복문 등의 블록 구조에서 구현할 내용이 없는 경우 pass를 사용하여 구문적으로 블록을 유지할 수 있다. 이는 나중에 구현할 내용이 있을 경우에 유용하다. def my_function(): pass # 나중에 함수 구현을 추가할 예정 if condition: pass # 나중에 조건에 따른 코드를 추가할 예정 for item in my_list: pass # 나중에 반복문의 내용을 추가할 예정 임시로 블록을 비워둘 때 특정 조건..

scrapy란? scrapy는 파이썬 기반의 오픈 소스 웹 크롤링 프레임워크이다. 크롤링 작업을 자동화하고, 웹 사이트에서 데이터를 추출하고, 웹페이지를 크롤링하는 데 사용된다. scrapy는 웹 크롤링에 필요한 다양한 기능과 도구를 제공하여 개발자가 효율적으로 크롤링 작업을 구현할 수 있도록 도와준다. scrpapy의 핵심 기능 스파이더 (Spider): Scrapy의 핵심 개념으로, 크롤링 작업을 수행하는 데 사용된다. 스파이더는 웹페이지를 탐색하고 데이터를 추출하는 룰 기반의 크롤링 로직을 포함한다. 사용자는 스파이더를 작성하여 필요한 데이터를 웹페이지에서 추출할 수 있다. 요청 및 응답 처리: Scrapy는 HTTP 요청을 보내고 웹 서버로부터 받은 응답을 처리하는 기능을 제공한다. 이를 통해 스..
Unix 및 Linux 기반 운영 체제에서 사용되는 명령어로, 새로운 빈 파일을 생성하거나 기존 파일의 수정 시간을 변경하는데 사용된다. 주로 터미널 또는 명령 프롬프트에서 사용된다. touch [옵션] 파일명 옵션: touch 명령어에는 다양한 옵션이 있으며, 가장 일반적으로 사용되는 옵션은 다음과 같다. -a: 파일의 접근 시간(access time)만 변경 -m: 파일의 수정 시간(modification time)만 변경 -c: 파일이 존재하지 않을 경우 새로운 파일을 생성하지 않음 -r 파일: 다른 파일의 수정 시간과 동일하게 변경 파일명: 생성하거나 수정할 파일의 이름을 지정 아래와 같이 입력할 경우, example.txt 의 파일 작성시간이 현재시간으로 업데이트 된다. touch -m exam..
웹 사이트들을 확인하다보면, html 데이터 속 태그에 window.__STATE__=[] {} 와 같은 형식이 들어있고, JSON 데이터가 들어있는 경우가 종종 있는데 이게 뭔지 궁금해서 찾아보게 되었다. 이는 서버 측 렌더링 및 클라이언트 측 SPA (Single Page Application)에서 사용되는 Apollo Client에 대한 상태 정보를 초기 설정하기 위한 JSON 데이터라고 한다. GraphQL API에서 데이터를 가져와서 애플리케이션에 사용한다. 이 상태 정보는 Apollo Client가 애플리케이션을 처음으로 렌더링 할 때 사용되며 초기 데이터를 가져온다. 이를 통해 초기 렌더링이 더 빠르게 이루어지고 필요한 데이터를 서버에서 가져온 다음 페이지가 로드 될 때 적절한 데이터로 업데..
멀티 스레딩(Multi Thread) 한 번에 여러 작업을 동시에 처리하기 위해 사용되는 프로그래밍 기법이다. 멀티 스레딩을 통해 여러 작업을 병렬로 실행하여 시스템 자원을 효율적으로 활용할 수 있다. 스레드(Thread) 프로세스 내에서 실행되는 작은 실행 단위. 하나의 프로세스는 여러 개의 스레드를 가질 수 있으며, 각각의 스레드는 독립적으로 실행될 수 있다. 스레드는 프로세스 내의 자원을 공유하면서 동시에 실행될 수 있으므로, 여러 작업을 동시에 처리할 수 있게 된다. 프로세스(Process) 운영체제에서 실행 중인 프로그램을 의미한다. 각 프로세스는 독립적인 메모리 공간을 가지며, 운영체제에 의해 관리된다. 프로세스는 하나 이상의 스레드를 포함할 수 있다. 프로세스는 프로그램의 실행 인스턴스로써,..
base64란? : 데이터를 텍스트로 표현하는 인코딩 방식 중 하나이다. 이진 데이터를 64개의 ASCII문자로 이루어진 문자열로 변환한다. 데이터 크기를 약간 늘리는 단점이 있지만, 데이터의 무결성을 보존하고 다양한 시스템 간에 이진 데이터를 안전하게 전송할 수 있는 장점이 있다. import base64 encoded_url = '6dQgMANO9qsfWFmshg0wEv///w==' decoded_url = base64.b64decode(encoded_url).decode('utf-8') `base64.b64decode()` 함수를 사용하여 해당 문자열을 디코드하고 `decode('utf-8')`를 사용하여 바이너리 데이터를 문자열로 변환한다.
파이썬 개발 시 로그를 확인하려는 경우, 로깅을 사용할 수 있다. 로깅(logging)이란 `logging` 모듈은 Python에서 로깅 기능을 제공하는 표준 라이브러리로, 애플리케이션의 실행 동안 발생하는 이벤트와 정보를 기록하는 도구 Python에서는 logging 모듈을 사용하여 로깅을 구현할 수 있다. 사용방법 import logging # 로깅 설정 logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s') data = "logging test" # 로그 출력 logging.info("데이터: %s", data) `logging` 모듈의 주요 클래스 1. `Logger`: 로그 메시지를 생성..