728x90

IT 113

휴대폰 번호 정규표현식 및 Django에서 정규표현식 필터

^01\d-\d{4}-\d{4}$휴대폰번호에 -가 필수로 들어가길 원하면 위와 같이 정규표현식을 작성하고 -가 선택적으로 들어가길 원하면 아래와 같이 정규표현식을 작성하면 된다. ^01\d-?\d{3,4}-?\d{4}$풀어서 설명하자면 01\d위 수식은 01로 시작하고 01뒤에 \d 즉 1자리 숫자가 나온다는 뜻이다. -?\d{3,4}-는 뒤에 ?를 붙였기 때문에 나올수도 있고 안나올수도 있는것이다. 그리고 \d{3,4}는 숫자가 3~4자리 나온다는 말 -?\d{4}마지막 내용은 두번째 수식과 거의 동일하다. -는 선택적으로 나올 수 있는것이고 숫자 3~4자리가 아니라 4자리가 나오는 경우만 매칭된다. 이 정규표현식을 django queryset 필터에서도 사용할 수 있다. 내 경우는 아래와 같이 사용했..

IT 2022.08.02

vscode 방향키로 이동이 안되고 스크롤이 될때

어떤 이유인지 모르겠지만, 갑자기 제목처럼 vscode에서 방향키로 커서 이동이 안되고 스크롤만 될때가 있다. 그때 키보드의 ScrLk 버튼을 찾아서 누르면 해결이 된다.(Scroll Lock) 아마 방향키로 스크롤만 되도록 락이 걸린듯한데, 간혹가다 그런 경우가 있더라. 그 경우 vscode 하단 상태표시줄에 Scroll Lock(?)비슷한 상태메시지가 떠있을것이다.

IT 2022.08.02

py 커맨드 python 버전 선택

최신 파이썬을 선택하면서 기존 python 명령으로 python 실행이 안되고, py라는 명령으로만 파이썬을 실행할 수 있게 되었다. 편의적인 목적이겠지만, 갑자기 바뀐터라 py --version을 하니 예전에 깔아둔 3.8.3 파이썬이 아닌 3.9.x버전만 나오는 난감한 상황이 발생했다. python 3.8.3 버전을 실행하기 위해서 검색하려고 보니, 검색이 잘안되더라 결국엔 어찌어찌하다 py --로 파이썬 런처에 --를 통해서 명령을 줄수 있다는 사실을 알게 되었고 py --help를 통해서 런처 인자의 종류를 알게되었다. 결론은 아래와같은 런처 인자들이 존재한다. -2 : Launch the latest Python 2.x version -3 : Launch the latest Python 3.x ..

IT 2022.07.17

Django-ninja-extra 튜토리얼(정리중)

https://inspireworld.tistory.com/121 django + vite + vue + tailwind hmr 환경구축(1) 먼저, 이번 튜토리얼의 목표는 django + vite + vue + tailwind 환경에서 hmr이 정상적으로 작동하는 boilerplate를 구축하는 것이 목표이다. 제가 django + vue연동 과정에서 webpack을 사용했는데,, 프로젝트가.. inspireworld.tistory.com 개인적으로 django-ninja만 사용하시는걸 추천드립니다. 원글 여기서 더 django에선 drf django-rest-framework가 더 대중적인데.. drf쓰는 사람들이 자주 언급하는 내용이 불필요한 기능이 너무 많다는 것이다. 그래서 django-ninj..

IT/Django 2022.06.30

core.autocrlf true를 했으나 warning: LF will be replaced by CRLF 경고가 계속 뜰때.

git add --renormalize .를 해주시며 됩니다. autocrlf true는 새로이 추가 코드들에 대해서만 적용되고, 이미 autocrlf true 적용전 add된 코드들은 해당 루틴이 적용되지 않아서 기존 코드에서 계속해서 워닝이 발생하는 것입니다. 기존 코드까지 renormalize으로 line ending을 맞춰주면 다시는 오류가 나지 않을겁니다~

IT/git 2022.06.19

The file will have its original line endings in your working directory

윈도우 git에서 작업하다보면 나오는 경고이다. 기본적으로 유닉스/리눅스 시스템과 윈도우 시스템의 줄바꿈의 형태가 달라서 그렇다. 유닉스 시스템의 경우 개행을 LF로 윈도우는 CRLF를 사용한다. 따라서 개행이 서로 다른 경우에 CRLF던 LF던 하나로 통일되지 않으면 git diff를 했을때 코드 수정이 있는걸로 판단되서 의도치 않은 파일 수정이 생길 수 있고 또한 개행이 정상적이지 않아 파일을 열었을때 제대로 출력이 되지 않을 수 있기 때문에 개행을 하나로 통일해주는 것이다. git config --global core.autocrlf true 윈도우에서는 crlf를 포함한 파일이 추가되는 경우 자동으로 LF로 바꿔주고, 코드를 받아올땐 LF를 CRLF로 바꿔준다. 당연히 유닉스 시스템에선 LF를 그..

IT/git 2022.06.13

django template에서 query string을 href에 넣는 방법.

서비스를 개발하다보면 고객을 유인하는데, 가입 후에 특정 주소로 리다이렉트하길 원할 수 있다. 특히나 이 주소가 동적인경우를 위해 이미 http url에서는 next라는 querystring으로 request 처리 후 이동해야할 url을 알려준다. 실제 예시를 들자면, 로그인 후에 6번 매물로 이동하게 하고 싶다면. https://onepaper.biz/accounts/login/?next=/listings/6/ 으로 다음 url을 정의해줄 수 있다. 이 경우 로그인이 정상적으로 처리되고나서, https://onepaper.biz/listings/6/ [원페이퍼 - 온라인 부동산 계약 비대면 부동산 온라인 계약 서비스. 분실걱정 NO, 계약서 공유 OK. 당신의 계약서를 이제는 온라인으로 관리해보세요. ..

IT/Django 2022.05.31

Django query 최적화(select_related, prefetch_related, Prefetch + @ django_auto_prefetching)

django_auto_prefetchingdjango query 최적화를 할때 select_related와 prefetch_related 두개면 왠만한 중복쿼리들은 제거할 수 있다. N+1 쿼리를 해결할 수 있는 간단한 참고자료들은 많은데 내 경우는 약간은 특이한 상황이였다. 원페이퍼라는 부동산 계약서비스에서 최근 매물 관리까지 할 수 잇는 서비스로 확장하다보니 DB도 복잡해지고, 백엔드도 점점 복잡해졌다. 그러다가 근래 매물 관리 기능을 추가하면서 쿼리 최적화에 대해 신경쓰지 못했었는데 매물 리스트 조회하는 페이지에 중복쿼리가 너무 많았다. 위와같이 중복쿼리가 많이 이유는 아래와 같이 serializer에서 쿼리를 호출해서 생기는 문제와, SerializerMehtodField에서는 되도록 쿼리를 호출..

IT/Django 2022.05.25

아엠포트(Import) django vue 본인인증 서비스구현

https://github.com/iamport/iamport-vue-example/blob/master/manuals/CERTIFICATION.md GitHub - iamport/iamport-vue-example: Vue.js 에서 아임포트를 연동하기 위한 예제입니다. Vue.js 에서 아임포트를 연동하기 위한 예제입니다. Contribute to iamport/iamport-vue-example development by creating an account on GitHub. github.com 위 내용 참고해서 vue단에서 인증처리, 아엠포트사에서 제공해주는 예시코드로도 충분히 짤 수 있다. 그 뒤 결과는 밴엔드쪽으로 전달해줘야하는데, https://github.com/iamport/iamport..

IT/Vue 2022.05.21

Javascript object list 비교.

const i = that.initial_listing_items.find((_item) => _item.id == item.id); const is_same = JSON.stringify(i) == JSON.stringify(item); 서비스가 방대해질 수록 고민해야할 것들이 늘어난다. 근래 들어서 고민하던것 중 frontend에 약간의 과부하가 걸리더라도, 불필요한 업데이트를 하지 않도록 하려면 어떻게 해야할까라는 고민이 생겼다. https://stackoverflow.com/questions/65280254/what-would-be-the-most-efficient-way-of-tracking-deleted-objects-on-the-front-en What would be the most eff..

IT/Vue 2022.05.09
728x90