목록전체 글 (101)
최용우
장고를 공부하다 아래와 같은 정규식 표현을 발견했다. r"[^>:]+):)?(?P[^>]+)>" 도대체 이게 뭐람? URL에서 정보를 캐내기 위한 정규식이다.urls.py에서 와 같이 경로를 설정하면 해당 url 숫자 부분을 integer 형태로 받아오겠다는 것이다.개발자를 참으로 편리하게 해주는 방법인데 그 원리가 궁금했다. 그중에서 ?:이것은 비캡처링 그룹이라고 한다.유명한 예시를 소개한다. import rematchObj = re.findall('(?:tom|pot)ato', 'tomato potato')print(matchObj)#출력 : ['tomato', 'potato']import rematchObj = re.findall('(tom|pot)ato', 'tomato potato')print..
나는 혼자서 작업하다보니 Git을 쓸일이 거의 없다. 그냥 혼자서 잔디 심고 뿌듯해 하는 정도. 배포는 AWS의 Lightsail을 이용한다. 그런데 노트북에서 작업한 코드를 Lightsail에 가져오려면 git을 사용해야 한다. $git clone "주소" 이건 모두 알고있다. 문제는 다음이다. 처음 클론을 하고 수정사항이 발생하면 어떻게 해야할까? 노트북에서 수정사항을 github(remote)로 푸시하고 Lightsail에서 pull을 하면 되지 않을까? 라고 생각했으나 틀렸다. 이유는 노트북과 Lightsail은 모두 같은 master 브랜치다. 한마디로 같은 컴퓨터로 인식한다는 것이다. 그래서 pull을 하면 안되고 fetch를 사용해야 한다. $git fetch --all $git reset ..
2022년 3월 5일(토) 정보처리기사 제1회 필기시험을 봤다. 저녁 6시에 가답안이 올라왔고 채점결과 합격이다. 1과목 : 80점 2과목 : 90점 3과목 : 70점 4과목 : 60점 5과목 : 65점 정보처리기사 필기는 타 기사시험에 비해 난이도가 쉬운편에 속한다. 평소에 프로그래밍을 꾸준히 했던 사람이라도 기본 개념을 모르면 풀수 없는 문제들이 있을 수 있기에 최소한의 공부가 필요하다. 어차피 대부분의 기사시험은 실기가 찐(진짜)이기 때문에 필기합격에 큰 의미를 둘 필요가 없다. 따라서 합격한 사람은 겸손히 실기를 준비하고 불합격한 사람은 낙담할 필요없이 다음회차를 준비하면 될 것이다. 실기는 온라인 강의를 수강할 계획이다. 준비방법은 2020, 2021년 2개년 기출문제만 3회독을 했다. CBT사..
로컬에서 작업 후 github remote에 push 한 뒤 aws lightsail에서 pull 했는데 발생한 오류. 원인은 lightsail(로컬)에서 수정한 내용이 commit 되지 않아서 발생. 가끔 단순한 오류를 수정하기 위해 lightsail에 직접 접근하는데 이때 소스코드를 수정하고 commit - push를 하지 않아서 그렇다. 어떻게 해결 할 수 있을까? 1. stash로 스택에 임시 저장한다. $git stash 2. pull 한다. $git pull origin master 3. stash(임시저장) 했던 것을 삭제한다. $git stash pop 4. 한번에 하는 방법 $git stash && git pull origin master && git stash pop
매번 gunicorn 서버를 키고 끄는게 귀찮다. 한개의 프로젝트라면 그러려니 하는데 프로젝트 개수가 늘어날 수록 귀찮다. 배포 자동화의 매우매우 기초 단계라고 생각하고 기록한다. $vi test 아무 이름의 파일을 만들어준다. #!/bin/bash pkill gunicorn sudo systemctl daemon-reload sudo systemctl start gunicornlottery.service sudo systemctl start gunicorntodolist.service sudo service nginx restart 첫줄에 bash 파일임을 선언하고 원하는 명령어를 순서대로 입력하고 vi를 닫아준다. $chmod 755 test 실행권한을 부여한다. $sh test 위 명령어로 실행하면..