전체 글
-
[Clean Code] 1.1 깨끗한 코드독서/Clean Code 2022. 6. 29. 14:19
1.1 깨끗한 코드 팩트 폭행 이 책의 도입부에서는 좋은 코드란 무엇이고 또 나쁜 코드는 무엇인가, 나아가 좋은 코드는 왜 필요한가에 대한 내용을 개괄적으로 설명하고 있습니다. 이에 제가 지금까지 작성했던 코드들은 빨리 만든 쓰레기였음을 알게 되었는데요, 가독성도 좋지 않고 직관적이지도 못한 코드이기 때문입니다. 더욱이, 최근 제가 느끼고 있던 생산성 저하의 원인이 바로 제가 작성한 나쁜 코드에 기인했다는 사실도 알게 되었습니다. 제가 쓴 코드들이 나쁜 코드들이었고, 이 부분을 읽는 동안 팩트 폭행을 당하는 기분이었습니다. 좋은 코드란 무엇인가? 이에 대한 답을 여러 대단한 프로그래머들이 내놓았습니다. 비야네 스트롭스트룹(Bjarne Stroustrup) 우아한 코드 : 잘 쓰여진 코드는 보기에 즐거워야..
-
[React] Array state 관리하기코딩/React 2022. 3. 22. 08:56
React에서 Array를 사용하기 위해서는 let이나 const로 바로 사용하지 않고 useState로 사용합니다. const [array, setArray] = useState([]); 이 때, array에 push하는 방법은 ...을 사용하는 것입니다. setArray([ ...array, newElement]); 다만, for문에 넣어 array를 변경하는 등의 상황에서는 잘 작동하지 않을 때가 있는데요, 그럴 때 wrapped function을 사용합니다. (권장된 방식) setArray((array) => [...array, newElement]);
-
[Linux] nohup이란? - 클라우드 컴퓨팅 배포 시 서버 중지되지 않도록 하기코딩 2022. 3. 17. 18:44
최근 django 프로젝트를 aws에 배포하면서 이런 저런 시행착오를 겪었습니다. 먼저 node.js 기반 프로젝트의 경우 pm2라는 패키지로 연결된 터미널을 종료하더라도 계속 실행되게 했었는데요, python django의 경우 이런 경우가 처음이라 애먹었습니다! nohup 명령어는 리눅스에서 프로세스를 실행한 터미널의 세션 연결이 끊어지더라도 지속적으로 동작 할 수 있게 해주는 명령어입니다. 이처럼 리눅스의 'nohub' 명령어를 통해 제가 겪었던 문제를 해결할 수 있었습니다. python3 manage.py runserver 0:8000 # 기본 장고 서버 실행 명령어 nohup python3 manage.py runserver 0:8000 & # nohub 사용
-
[Python] pip freeze > requirements.txt 시 @ file ~ 등 이상한 오류코딩/Python 2022. 3. 17. 17:03
django 프로젝트를 aws에 올릴 일이 있어서 requirements.txt를 만들었는데 asgiref @ file:///tmp/build/80754af9/asgiref_1625643473416/work astroid @ file:///opt/concourse/worker/volumes/live/5aff3c6b-d8ac-4e74-4846-0f446794397d/volume/astroid_1628063157520/work autopep8==1.4.4 이런식으로 이상하게 생기더라고요 ㅠㅠ 이게 이후에 문제가 되길래 해결책을 찾아봤습니다! pip list --format=freeze > requirements.txt 이렇게 하시면 해결이 됩니다!
-
[Django] DRF Authentication이 안될 경우코딩/Django 2022. 3. 7. 13:54
Django Rest Framework 이하 DRF는 여러가지 유저 인증 방법을 제공합니다. 저는 Token Authentication 방법을 이용했었는데요, 이전 프로젝트에서는 잘 작동하던 것이 새로하는 프로젝트에서 작동이 안되었습니다. 답은 settings.py에 어떤 유저 인증 방법을 사용할 지 명시해두지 않았기 때문에 발생했던 것이었습니다. setting.py에 아래 코드를 추가해줍니다. REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest_framework.authentication.TokenAuthentication', ), } 참고 : https://eunjin3786.tistory.com/253
-
[Python] VS Code에서 python이 설정이 안될 때 해결 방법코딩/Python 2022. 3. 7. 12:40
최근, 친구와 함께 토이프로젝트를 할 때 백엔드를 장고로 구현하게 되어 python 가상환경을 만들고 실행하고 있었습니다. 그런데 vs code 내부 터미널에서 에러가 뜨더라고요, which python 명령어로 보니 conda activate를 해도 python의 path가 변경되지 않아서 발생한 문제였습니다. 구글링을 하던 끝에 제 상황을 해결해줄 솔루션을 발견했습니다! https://github.com/Microsoft/vscode-python/issues/4434#issuecomment-466600591 settings.json에 아래 코드를 추가해줬습니다. (참고로 제 컴퓨터는 mac m1 입니다.) "terminal.integrated.env.osx": { "PATH": "" } 이제 해결이 ..
-
[Django] DRF jwt토큰 authentication코딩/Django 2022. 1. 22. 23:55
요새 하는 프로젝트가 백엔드로 파이썬을 필요로 해서 장고를 계속 공부하고 있었는데요, node.js에서는 너무 쉽게 하던 jwt토큰 로그인 구현이 계속 어려웠습니다. 기나긴 고생 끝에 드디어 이해했네요, views.py from rest_framework.views import APIView from rest_framework.response import Response from .models import User from rest_framework.exceptions import AuthenticationFailed from api.serializers import UserSerializer import jwt import datetime # Create your views here. class Reg..