일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 프로그래머스 코딩테스트 연습
- WPF
- 스프링 부트와 AWS로 혼자 구현하는 웹 서비스
- 스코페2021
- Python
- 프로그래머스 월간 코드 챌린지 시즌1
- FastAPI
- git
- 애드센스
- Firefox
- 프로그래머스 코딩테스트 연습문제
- heroku
- Spring Boot
- Word Cloud
- PostgreSQL 설치 시 에러
- github actions
- 브랜디
- pycharm
- selenium
- 프로그래머스 월간 코드 챌린지
- 바이오데이터 엔지니어
- 프로그래머스 코딩 테스트 연습
- 파이썬
- 클린 코드
- c#
- 디자인 패턴
- Codeforces
- terraform
- PostgreSQL
- github
- Today
- Total
목록분류 전체보기 (103)
프로그래밍 연습하기
Pycharm을 사용해서 WSL에서 SQLite를 사용하려는데 문제가 생겼습니다. Pycharm에 내장되어있는 Database Tool을 사용해서 연결을 하려는데 다음과 같은 에러가 발생했습니다. Error encountered when performing Introspect schema main: [SQLITE_BUSY] The database file is locked (database is locked). [SQLITE_BUSY] The database file is locked (database is locked) 찾아보니 WSL 환경에서 SQLite 파일을 연결할 때 발생하는 문제로 보입니다. 문제가 꽤나 오래된 것 같은데 아직 해결이 안된 모양이네요. 임시 해결책은 사용하려는 SQLite 파일..
Youtube 재생목록에 어떤 동영상들이 있는지 가져오려고 합니다. 처음에는 파이썬의 패키지인 Youtube-dl을 사용해야하나 싶었는데 방법을 알아보니 구글에서 제공하는 API가 있었습니다. 그런데 먼저 준비해야될 것은 Google Cloud Console(https://console.cloud.google.com/) 에서 프로젝트를 생성 후 API 및 서비스 -> 라이브러리에서 YouTube Data API v3 을 사용 설정하고 API Key를 만들어서 그 키로 API를 사용해야 됩니다. def get_playlist_items(playlist_id = None): playlist_id = "유튜브 재생목록 ID" api_key = os.getenv("YOUTUBE_API_KEY") # 발급받은 A..
WSL로 파이썬 셀레니움을 사용하려던 중 다음과 같은 에러를 봤습니다. selenium.common.exceptions.InvalidArgumentException: Message: binary is not a Firefox executable 분명히 정확한 위치의 파이어폭스 바이너리 경로를 넣어줬는데 에러가 나서 감을 못 잡고 있었는데, 한참 찾다 다음과 같은 방법으로 해결할 수 있었습니다. options = Options() options.add_argument('--no-sandbox') options.add_argument('--disable-dev-shm-usage') geckodriver_path = "/snap/bin/geckodriver" # specify the path to your g..
PostgreSQL을 윈도우에서 설치하기 위해 홈페이지에서 인스톨러를 다운받고 실행했는데, 다음과 같은 에러가 떴습니다. Postgresql: Error running c:\\...getlocales.exe : child killed: unknown signal 문제를 해결하기 위해 찾아보니, getlocales.exe를 실행하기 위해 Microsoft Visual C++ Redistributable packages 가 필요했습니다. 따라서 다음 링크에서 다운로드 받아 설치해서 해결할 수 있었습니다. https://aka.ms/vs/17/release/vc_redist.x64.exe
Alembic의 alembic.ini 파일에 이런 식으로 DB 주소를 적는데요. sqlalchemy.url = postgresql://user:password@localhost:5432/database_name 저는 환경변수에 저장된 DB 주소를 불러오고 싶었는데, ini 파일이라서 환경변수를 사용할 수가 없었습니다. 그래서 방법을 찾아 본 결과 alembic init을 한 디렉토리에 있는 env.py 파일에서 다음과 같은 코드를 입력하는 방법이 있었습니다. config.set_main_option("sqlalchemy.url", os.getenv("DATABASE_URL", "postgresql://user:password@localhost:5432/database_name")) 설정 단계에서 환경 변..
FastAPI 앱을 만들어서 배포해보는 프로젝트를 하는데, Gunicorn 로그 포맷이 바뀌지 않는 문제가 있었습니다. 그래서 여러 방법으로 바꿔보려고 했는데, 여전히 성과가 없어 인터넷을 더 찾아보니 다음과 같은 이슈를 찾을 수 있었습니다. https://github.com/encode/uvicorn/issues/527 Honor gunicorn access log format · Issue #527 · encode/uvicorn When running under gunicorn, --access-logformat isn't honored. There was some discussion of this in #389, but I didn't see an open issue for it. github.co..
블로그 관리를 안하고 있다가 광고가 중단된 것을 확인했습니다. 알아보니 애드센스 수익이 10달러가 되어서 핀 번호가 발송되었었더군요. 이메일 함을 찾아보니 22년 6월쯤에 핀 번호 보냈다는 메일이 와있었네요. 제가 이 메일을 못봤던건지..봤는데 까먹었는지는 기억이 안나는데 어쨌든 이렇게 핀 번호가 발송이 되었는데, 하필 또 그 발송된 우편물도 제대로 발송이 안되었던건지 4개월 지나도록 인증을 안한 상태여서 광고가 중단되었었던 것 입니다. 이렇게 상황 확인을 하고나서, 핀 번호 재발송을 요청했습니다. 이번에도 우편물이 제대로 안오면 어쩌나 싶었는데 2주 정도 시간이 지나서 우편물을 받아볼 수 있었습니다. 그래서 우편물 안의 핀 번호를 입력하여 인증할 수 있었습니다. 그러고 나니 이제는 광고 올려놨었던 블로..
얼마전에 이메일을 확인하다가 Heroku(헤로쿠) 에서 온 이메일을 봤습니다. 내용을 보니까 2022년 11월 28일부터 무료 서비스(Dyno, Postgres, Redis)를 종료한다는 내용이더라구요. 무료로 편하게 이용할 수 있는 서비스여서 간단하게 사용해보기 좋았는데, 종료한다고 하니 아쉽습니다. AWS나 이외 클라우드에서는 프리 티어가 한정적으로 제공되는 것으로 알고 있는데, Heroku는 월 사용량 기준으로 무료 사용량을 계속 줘서 오래 사용할 수 있었습니다. 이외에는 아마 오라클 클라우드가 이거랑 비슷하게 지속적으로 무료 인스턴스를 제공한다고 알고 있는데, 사용해보지 않아서 자세한 내용은 모르겠네요.
저번에는 FastAPI 앱을 만들어서 Github에 올린 후, Heroku 앱과 연결하여 배포했습니다. 그 과정을 좀 바꿔보도록 하겠습니다. 전체적인 흐름은 Github 저장소의 Branch를 develop, master(main)로 나누어서 develop에서 개발을 해서 master에 Pull request를 만들면 테스트를 하고 통과하는 것을 확인하고 merge 한 뒤, master에서 heroku로 배포하게 됩니다. 그래서 기존 Github 저장소에서 develop Branch를 만듭니다. 그리고 다음과 같은 Github Action 두개를 추가해서 바꿀 수 있습니다. # .github/workflows/python_test.yml name: Python application on: pull_req..
이번에는 FastAPI를 이용하여 간단하게 DB를 사용하는 앱을 만들고 테스트까지 작성해봤습니다. 단순히 API만 작성하고 프론트엔드 부분은 작성하지 않았습니다. 코드량이 많아서 블로그에 다 올리는 것은 힘들 것 같고, GitHub 저장소를 참고하시는게 좋을 것 같습니다. 테스트를 실행해볼 때는 환경변수 TEST 키를 생성하여 값을 TEST로 설정해줘야 config.py에서 설정한 테스트용 데이터베이스를 사용합니다. Github에 올리고 처음에 생성한 Heroku 앱과 연동하여 배포를 할 수 있습니다. Deployment method에서 GitHub를 클릭하고 저장소를 선택하면 됩니다. 이렇게 기초적인 배포까지는 완료되었습니다. 여기에서 완료를 해도 되고, 추가적으로 배포 전 테스트를 적용해볼 수 있습니..