쟌's Blog

궁금했다. 왜 Django models 에 @property 를 만드는지 Django 에 대해 지식이 얕은게 몸소 느껴지는 순간이다. 왜 models 안에 field 로 만들지 않고 @propery로 빼 놓았을지 몇가지 생각을 해봤었고.. 나중에 migrations 하기가 번거로워서 그랬다든지.. field 로 넣기가 힘들었다던지.. 정말 다행인건 스스로 심리적으로 여유 생겨서인지 올해부터는 하나하나 깊게 보고있다. 그리고 올해 상반기는 Django 깊게 볼 생각이다. 느낌적으로는 아는데 왜? 이러한 부분들을 @property 로 선언해서 사용하는지 설명을 못하는 부분이였다. 많은 글들을 읽어 보았고 .. Computed attributes (계산된 속성) from django.db import mode..
· Server/Git
커밋 메시지 수정하는 법을 알아보자. 회사에서는 jira 와 git 을 연동하여 commit 메시지에 jira issue 의 number 을 적으면 자동으로 연동이 되어 issue 의 commit 히스토리를 보기 쉽게 해놓았다. 지금이야 웬만하면 실수를 하지 않지만 처음에 issue number 를 적지 않는 실수를 해서 수정했던 기억이 있어서 적는다. # step 1 git add "수정한 파일명" cf) git add는 변경 내용을 스테이징 영역(staging area)에 추가하기 위해서 사용하는 Git 명령어 ) git status cf) git status는 현재 작업한 내역 확인 및 스테이징 영역(staging area) 상태 확인 git commit -m "커밋 내용" limjian@Jians..
글 작성 시점은 incoming webhook 제공을 위해 개발 중이며(4일차) 백엔드는 거의 다 틀을 잡아 놨기 때문에 개발 하면서 사용한 ratelimit 에 대해 이야기 하려고 한다. (웹훅 개발이 끝나고 배포 나가면 기록을 남길 예정) 외부에 서비스를 제공해야 되므로 rate limit 이 존재 해야 될 것 같고 특히, 예를 들어 60 requests per minute 그리고 ip 이런 조건들을 생각했어야 했기 때문에 괜찮은 방법이 없는지 생각을 많이 했던 것 같다. 물론, 이제 갓 2년차인 개발자인 내가.. 개발하면서 고민하고 걱정하는 부분들은 이미 누군가가 고민을 했고, 개발을 했고, 오픈 되어 있다. Python 으로 요청을 받을지 Go 언어로 요청을 받을지 고민을 해보고.. Python을..
Django models 에서 보통 만들다 보면 생성날짜, 수정날짜는 많이 생성하는 컬럼인데 차이점을 정확히 알고 넘어가자 auto_now VS auto_now_add auto_now=True 사용은 수정일자를 표현할 때 사용하면 되고 auto_now_add=True 사용은 생성일자를 표현할 때 사용하면 된다. auto_now=True 은 models 이 가 save 될 때마다 date.today() 로 갱신 auto_now_add = True 는 models 가 최초 저장 될 때 date.today() insert
django 의 model 을 수정하고 가끔 이런 메시지를 볼 수 있을텐데 Database 안에 값들이 이미 존재하고 그 필드에 대해 처리 방식을 물어보는 django 의 친절함이라고 생각하면 된다. python manage.py makemigrations You are trying to add the field '필드명' with 'auto_now_add=True' to '모델명' without a default; the database needs something to populate existing rows. 1) Provide a one-off default now (will be set on all existing rows) 2) Quit, and let me add a default in mo..
ubuntu 환경 postgreSQL 을 사용 할 때 GUI 툴을 이용하거나 cli 환경에서 query 를 실행할 때 slow query 일 경우 처음 실행 시 느리다가 두번째 부터는 빨라지는걸 느낄수있다. 캐시가 남아 있어서 그런 경우인데 캐시를 비우는 방법 systemctl stop postgresql sync # 캐시 비우기 전 캐시 데이터를 디스크에 저장 echo 3 > /proc/sys/vm/drop_caches # ubuntu cache 삭제 systemctl start postgresql OR service postgresql stop sync echo 3 /proc/sys/vm/drop_caches service postgresql start ( postgresql에서 자체적으로 캐시를 지..
· Algorithm/Go
https://leetcode.com/problems/climbing-stairs/submissions/ Climbing Stairs - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com package main func main() { // n := 3 // n := 4 // n := 5 n := 6 // n := 7 climbStairs(n) } func climbStairs(n int) int { a, b := 1, 1 for i := 1; i < n; i++ ..
· Server/Linux
사용자 이름을 변경 하고 싶을 때 만약 계정이 1 개라면 계정을 1개 더 만들어서 진행하는 것이 좋고 계정이 2개 이상이라면 지우려고 하는 계정을 피해서 로그인 해서 진행하면 된다. 계정이 1개라고 가정하고 정리 # Step 1 테스트 계정 하나 만듬 sudo adduser test # test 계정을 하나 더 만듬 sudo adduser test sudo # test 계정에 sudo 권한을 줌 # Step 2 테스트 계정으로 로그인 진행 해서 순서대로 진행 sudo usermod -l change_user old_user # 계정 이름 old_user 에서 change_user 로 변경 sudo usermod -d /home/change_user -m change_user # /home/ dir 변경 ..
임쟌
'분류 전체보기' 카테고리의 글 목록 (11 Page)