전체 글 133

[django] database is locked - 원인파악 | 해결방안

1. 원인 파악Django에서 "database is locked" 오류는 SQLite3 데이터베이스에 현재 다른 프로세스가 잠금을 걸고 있는 상태에서 데이터베이스 작업을 시도할 때 발생합니다. 이 문제는 여러 가지 이유로 발생할 수 있습니다:동시 접근: SQLite3 데이터베이스는 낮은 트래픽에서 중간 트래픽까지를 처리하도록 설계되었습니다. 높은 수준의 동시 쓰기는 데이터베이스가 잠기는 결과를 초래할 수 있습니다.장시간 실행되는 트랜잭션: 트랜잭션이 완료되는 데 오랜 시간이 걸리면, 데이터베이스에 잠금을 걸어 다른 트랜잭션이 진행되지 않게 할 수 있습니다.파일 잠금 문제: SQLite는 동시성을 관리하기 위해 파일 잠금을 사용합니다. 파일 시스템 잠금 메커니즘에 문제가 있으면 데이터베이스가 잠길 수 있..

[파이썬] 천 단위로 쉼표 표기하는 초간단 방법 : format, f-string 이용

파이썬으로 금액 데이터를 사용하다 보면 천 단위로 구분하기 위해 쉼표를 찍어야 할 때가 있다. 예를 들어 770000원 보다 770,000원 이 더 보기 편하고 사용자 편의성이 좋다. 이번 글에서는 이렇게 천 단위로 쉼표를 표시해주는 간단한 파이썬 코드를 공유한다. 1. format 이용# 금액을 천 단위로 쉼표를 찍어서 표시하는 함수def format_amount(amount): return "{:,}".format(amount)# 예시 금액amount = 770000formatted_amount = format_amount(amount)print(formatted_amount) # 출력: 770,000 2. f-string이용# 금액을 천 단위로 쉼표를 찍어서 표시하는 함수def format_..

파이썬 python 2024.10.08

[django] model object update 방법 정리

django에서는 모델 객체를 업데이트 하는 방법이 여러가지가 있다.쓸때마다 이거였지 생각은 나는데 정확하지 않아 계속 찾아보고 하는 과정이 반복되어이번 기회에 정리하고자 한다.django developer들에게 조금이나마 도움이 되길 바란다.  목차  Queryset.update()"django model update"를 검색했을 때 가장 많이 나오는 방법이다. 즉시 적용(applied instantly)obj.save() 필요 없음update()매서드를 호출하는 순간 데이터가 변경된다.save()보다 더 빠르다(Queryset의 특징인 laziness가 적용되지 않는다.) 외부 테이블의 필드는 수정 불가해당 테이블의 데이터필드만 수정 가능하고 외래키로 수정은 불가하다.>>> Entry.objects...

[django] django로 포트포워딩(port forwarding)하는 방법 (w. middleware)

django로 포트포워딩(port forwarding)하는 방법- Django 애플리케이션에서 클라이언트가 어떤 도메인을 통해 접근했는지를 확인하고, 해당 도메인에 따라 다른 페이지로 리다이렉션하는 방법  배포 관점에서 그려본 프로젝트의 전체적인 흐름이다. 처음에는 django admin페이지를 이용한 서비스를 구현했다.따라서 back과 front모두 django안에서 해결 할 수 있었다. 도메인을 하나 구입해서 Route53을 이용해서 호스팅을 했고,subdomain으로 first를 붙여 (예) first.webname.net으로 배포했었다. 탄력적 IP를 이용해서 내가 배포한 EC2에 고정적으로 접근할 수 있도록 설정해두었고,django 웹앱을 포트번호 8000번을 이용했다. 여기까지는 문제 없다. ..

[django] annotate에 관하여...

django annotate 매서드는 queryset에 내가 원하는 값으로 계산해서 기존 queryset에 추가해줄 수 있다. 그럼 원하는 값으로 계산한다는 건 어떤 말이냐?공식문서에서는 query expression이라고 표현하는데F매서드를 사용해도 되고, Aggregate Func을 사용해서 값을 나타내도 된다. annotate가 "주석을 단다"라는 뜻인데 django annotate는 "queryset에 주석을 달아주는데 주석의 값도 사용 가능"이라고 이해하면 될 듯 하다. (적어도 나에겐...) 아래는 공식문서에 나온 예시이다.from django.db.models import Countq = Blog.objects.annotate(Count("entry"))# The name of the fir..

인프콘 네트워킹!

https://www.rallit.com/resumes/60601@mjeong827/%EC%A0%95%EB%AF%BC%EC%9E%AC?theme=STANDARD 정민재 - AI engineer 이력서직접적인 도움을 주는 서비스를 만들고 전달합니다.www.rallit.com 맹모삼천지교(孟母三遷之敎)맹모삼천지교는 말 그대로 맹자의 어머니가 세 번씩이나 이사하면서 아들을 가르친 교훈이라는 뜻이다. 사람을 변화시키는 가장 좋은 방법 중 하나는 환경이다. 계속해서 성장하기를 희망하지만, 내 몸과 생각은 지금 당장 안주하기를 원한다. 너무 늦게 인프콘의 존재를 깨달았다!! 이미 신청기간이 지났는데 다행히 10명 추가모집 이벤트가 있어서 지원하려한다. 될지 안될지, 된다 하더라도 이 기회가 나에게 어떤 모멘텀을 줄..

카테고리 없음 2024.07.15

$Grass 코인 무료 채굴방법(5분 컷! 채굴 부스팅 팁 포함)

$Grass 에어드랍 확정이 되어 Grass코인 무료 채굴방법 알려드립니다. 사용자가 사용하지 않는 인터넷 대역폭을 공유하고 수익을 창출하는 네트워크 입니다.인터넷만 연결되어 있으면 채굴 가능합니다. 우리 모두 열심히 풀뜯고 부자됩시다.Grass 코인 무료 채굴 방법 1. 계정생성https://app.getgrass.io/register/?referralCode=PdVcdVwSTAUv03M  Grass: Earn a Stake in the AI Revolution app.getgrass.io  여기로 들어가 회원가입 해줍시다. 2. 크롬 익스텐션 설치https://chromewebstore.google.com/detail/grass-extension/ilehaonighjijnmpnagapkhpcdbhcl..

카테고리 없음 2024.07.08

[python] warning 제거

파이썬 warning 메세지 안보이게 하는 방법사용하는 라이브러리에서 버전에 따라서 warning메세지가 뜨는 경우가 많다.하나하나 확인해서 대응하면 좋겠지만, 그런 여유로움이 없는 분도 있다.(나같은...)터미널에 원하는 메세지만 보길 원하는데 warning메세지때문에 한눈에 안들어온다.아래 코드로 warning메세지를 제거할 수 있다.import warningswarnings.filterwarnings('ignore')

파이썬 python 2024.06.25

콘티를 준비하며...

예배인도를 시작한 지 벌써 햇수로 4년째이다.우리교회 예배인도부터 월드미션과 비전스쿨, 창립예배 등등 예배를 섬길 수 있는 자리가 많았다. 참으로 감사한 일이었다.나는 정말 부족한 사람이고 죄 많은 사람이다. 이건 누구보다도 내가 더 잘 알고있는 분명한 사실이다.그렇지만 은혜로 말미암아 이 자리에 있고 하나님께서 사용하신다는 마음이 들어 더할나위 없이 행복하고 기쁜 순간들이었다.내가 여호와께 바라는 한 가지 일 그것을 구하리니 곧 내가 내 평생에 여호와의 집에 살면서 여호와의 아름다움을 바라보며 그의 성전에서 사모하는 그것이라.시편 27편에서 나오는 다윗의 고백과 같이 나의 신앙 고백이 이렇게 되기를 바랬다.그리고 실제로 그런 나날들이 있었다.할렐루야! 그런데 근 2달전부터 콘티와 예배에 감동과 기대감이..

끄적끄적/신앙 2024.06.08

[django] django template에서 settings.py variable불러오는 방법

How to use settings.py variables in django template ? >>> Use custom_tag!개발을 하다 보면 로컬환경, 개발환경, 배포환경 등 여러가지 환경에서 테스트해야하는 상황이 생긴다.테스트 할때마다 각 환경에 맞는 환경설정 값을 바꾸는 건 굉장히 비효율적인 작업이고 작업 집중력도 떨어뜨리며 능률도 떨어지게 된다. 그래서 나 같은 경우는 secrets.json에 환경변수값들을 키값과 함께 저장해놓고 각 환경에서 secrets.json파일만 바꾸는 식으로 개발을 진행한다. 뭐가 되었든 각설하고 django template에서 환경에 따라 값을 다르게 넘겨줘야 하는 상황이 생기는데 이 때 settings.py에서 정의한 변수를 가져오게 된다면 문제가 간단하게 해결..