반응형

전체 글 461

ChatGPT 웹사이트 "Unable to load history" 해결 방법

겪은 문제 ChatGPT 웹사이트를 사용하려는 과정에서 다른 컴퓨터에서는 제 아이디로 접속이 잘되나, 특정 컴퓨터에서만 접속 시도 시 아래 이미지와 같이 "Unable to load history"라고 뜨면서 GPT 사용이 불가능한 현상이 있었고, 해당 현상은 몇 일이 지나도 지속되었습니다. 해결 방법 인터넷 검색도 해보아 브라우저 변경 등 방법도 시도해보고, 고객 센터에 직접 문의까지 했었는데 저의 케이스에 대한 해결 방법은 의외로 간단하였습니다. 저의 문제는 백신 프로그램의 "실시간 검사" 기능때문에 사이트가 차단되어 발생한 것으로, 해당 기능을 off해주니 정상 이용이 가능하였습니다. 물론, 다른 다양한 이유들로도 해당 현상이 발생할 수 있으니, 해결되지 않은 경우 도움이 되실 만한 글을 아래에 첨..

2023.10.14

셀레니움에서 텍스트 입력 시 줄 바꿈이 안될 때 해결 방법

파이썬의 selenium을 활용하여 텍스트 입력란에 자동 입력을 진행하는 경우, 홈페이지의 구조에 따라서 개행 문자인 '\n'이 일반 공백처럼 인식되어 줄 바꿈이 안되는 경우가 발생할 수 있습니다. 이럴 때, 엔터 키를 입력하여 줄 바꿈을 진행하면 해결이 가능한 경우가 있는데요. 이번 글에서 예시 코드를 간략하게 정리하여 살펴보도록 하겠습니다. 텍스트 입력 줄 바꿈 기본 방법 예제 개행행 문자가 포함된 문자열을 셀레니움을 통하여 텍스트 입력창에 입력하려는 경우, 일반적으로는 다음 코드처럼 진행하게 됩니다. from selenium import webdriver from selenium.webdriver.common.by import By driver = webdriver.Chrome() txt_box =..

Python/Debugging 2023.10.13

자바스크립트 메서드 체이닝 간단 설명 및 예제

JavaScript에서 자주 사용되는 기능 중 하나인 Method Chaining에 대하여 간략하게 설명을 해본 뒤, 예제를 통하여 쉽게 이해를 해볼 수 있도록 정리해 보겠습니다. 메서드 체이닝(Method Chaining)이란? JavaScript의 method chaining(메서드 체이닝)은 객체 지향 프로그래밍 스타일 중 하나로, 객체의 메서드를 연속적으로 호출할 수 있게 해주는 기능입니다. 이를 통해 코드의 가독성을 향상시키고, 더욱 간결한 코드를 작성할 수 있지만, 한 번에 너무 많은 체이닝을 사용하면 혼란을 가중시킬 수 있으므로, 유의할 필요가 있습니다. 메서드 체이닝은 object.method1().method2().method3()와 같은 식으로 연속된 메서드 적용을 의미하는데, 아래의 ..

파이썬으로 구글 검색 결과 링크 및 텍스트 추출하기 예제

Python에서 googlesearch 모듈을 활용하여 구글 검색 결과의 링크를 가져오고, 이후 크롤링 과정을 통하여 해당 링크 내의 텍스트를 추출하여 가져오는 예제를 간략하게 다루어보도록 하겠습니다. 구글 검색 결과 링크 가져오기 먼저, !pip install googlesearch-python 명령어로 googlesearch 모듈을 설치해준 뒤, search 메서드를 이용하여 검색 결과 상위 링크를 가져와 보겠습니다. '파이썬 예제'라는 검색어로 상위 5위까지의 검색 결과 링크를 출력하는 예시는 아래 코드와 같습니다. from googlesearch import search result = search("파이썬 예제", num_results = 5) for url in result: # result는..

Python/Utils 2023.10.11

SyntaxError: 'await' outside function 원인 및 해결법

파이썬에서 asyncio 모듈로 비동기 처리 구현을 하는 과정에서 자주 발생할 수 있는 오류 종류인 SyntaxError: 'await' outside function에 대하여 발생 원인과 해결 방법을 간단하게 요약하여 정리해보도록 하겠습니다. 에러 발생 원인 일반적으로 py 파일을 실행하는 과정에서 다음과 같이 await 구문을 함수 밖 혹은 async 함수가 아닌 일반 함수 안에서 사용하려는 경우에 해당 구문 오류가 발생하게 됩니다. (await 구문은 비동기 함수 내에서만 호출이 가능합니다.) import asyncio await asyncio.sleep(5) # 함수 밖에서 사용 # 또는 def main(): # async가 아닌 일반 함수 내에서 사용 await asyncio.sleep(5) 오..

Python/Debugging 2023.10.09

파이썬 pipenv 가상 환경 관리 기초(특징 및 명령어 정리)

파이썬 프로젝트를 conda 환경으로 관리하는 경우가 많지만, 때로는 pipenv로 가상 환경을 다루는 것이 큰 이점을 가져다주는 경우도 있습니다. 이번 글에서는 아주 간략하고 쉽게 pipenv의 특징과 장점 및 기본적인 명령어 몇 가지를 정리해보도록 하겠습니다. pipenv 특징 및 장점 pipenv가 conda와 구분되는 특징 중 가장 대표적인 내용은 다음과 같습니다. 디렉토리마다 가상 환경을 별도로 두는 것이 특징입니다.(한 가상 환경을 여러 프로젝트가 공유할 수 있는 conda와는 대비되는 특징입니다.) dev 버전에서만 필요한 의존성을 별도로 두고 관리할 수 있습니다. 패키지 버전 의존성을 관리하고 쉽게 배포 가능합니다.(Pipfile 및 Pipfile.lock 파일들로 관리됩니다.) 이 외에도..

Python/Utils 2023.10.08

ChatGPT API에서 이전 대화 기록을 반영하여 호출하는 방법

ChatGPT를 웹에서 직접 이용하는 경우에는 이전 대화를 기억하여 채팅을 이어나가지만, API를 통하여 호출하는 경우에는 기본적으로는 이전 대화를 기억해주지 않습니다. 그래도 API 함수의 기능에 이전 대화의 맥락을 바탕으로 새로운 답변을 생성하도록 만들어줄 수 있는 기능이 있는데요. 이번 글에서는 해당 내용에 대해서 살펴보도록 하겠습니다. 이전 대화 맥락 반영 ChatGPT API 호출 방법 ChatGPT API 호출 함수에서 이전 히스토리를 반영하는 방법은 messages 인자에 이전 맥락의 대화들을 순서대로 리스트로 묶어서 전달해주시면 됩니다. 여기서 role을 지정할 때, 제가 던진 질문은 user로, AI가 답변했던 내역은 assistant로 지정하여 순서대로 묶어서 전달해주어야 하는 점이 중..

Python/NLP Code 2023.10.07

Flask 디버그 모드란? / 사용 예제, 장점

파이썬 플라스크로 구현된 서버에서 오류가 발생할 경우, 웹사이트 상에서 에러 메시지가 보이지 않습니다. 이런 경우, 플라스크에 내장된 디버그 모드를 활용하면, 오류 상황을 조회할 수 있어 편리한데요. 이번 글에서는 Flask의 Debug 모드에 대해서 예제를 통하여 간단하게 살펴보도록 하겠습니다. 디버그 모드 미적용 경우 우선, 아래와 같은 간단한 기능을 플라스크를 통하여 실행해보도록 하겠습니다. 참고로, app.run에서 debug 인자의 기본 값은 False인 점을 참고해주세요. from flask import Flask app = Flask(__name__) @app.route('/') def square(number): return f'{number} ** 2 = {int(number) ** 2}..

Python/Backend 2023.10.05

파이썬에서 종료 시에 특정 함수를 실행하는 방법(atexit 모듈)

Python으로 작성한 py 파일 프로그램이 종료되는 때에 맞추어 특정 함수를 실행시켜보고 싶은 경우가 있습니다. 이 경우에 atexit 라이브러리를 활용하면 정상 종료, 오류로 인한 강제 종료의 경우를 모두 포함하여 원하는 기능을 간단하게 호출할 수 있습니다. 프로그램 종료 시점 함수 호출 기본 예제 만약 프로그램이 종료되는 시점에 exit_print라는 함수를 실행시키고 싶은 경우라면 다음과 같이 atexit 모듈의 register 메소드로 호출을 원하는 함수를 등록시켜주시면 됩니다. import atexit import time def exit_print(): print('프로그램이 종료됩니다!') atexit.register(exit_print) for i in range(5): print(f'남..

Python/Utils 2023.10.04

도커 파일 작성 기본 예제(파이썬 프로젝트 예시)

프로젝트 파일을 도커로 빌드하기 위해서는 Dockerfile 작성이 필요합니다. 이번 글에서는 간단한 Python 프로젝트에 대한 Dockerfile 작성 예제를 다루면서 도커 파일 작성 방법에 대한 기초를 살펴보도록 하겠습니다. Dockerfile 작성 방법 예시 다음과 같은 디렉토리 구조로 구성된 파이썬 프로젝트가 있다고 가정해 보겠습니다. /project-directory /utils util_file.py main.py Dockerfile requirements.txt 위의 프로젝트를 도커 환경에서 실행하기 위한 Dockerfile 예시 스니펫은 아래와 같습니다. # 사용할 Base Image 선택 FROM python:3.9-slim # 작업 디렉토리 설정 WORKDIR /app # 필요한 파일..

Infra/Docker 2023.09.27
반응형