본문 바로가기

전체 글197

Python 코드 포맷터 - black, isort Black Python Black은 코드 스타일을 일관성 있게 유지하고 가독성을 높이기 위해 사용되는 코드 포맷터로, 코드를 스캔하고 적절한 들여쓰기와 라인 길이, 공백 등의 세부적인 스타일을 자동으로 지정해준다 또한 Black은 다른 도구와 연동하여 코드 포맷팅도 가능 예를 들어, VSCode와 같은 IDE에서 Black 확장을 설치하거나, Git pre-commit hook으로 Black을 설정하여 코드 커밋 전에 자동으로 코드 포맷팅을 수행할 수 있다 black을 설치하고 사용하려면, 다음과 같이 명령어를 실행하면 된다. pip install black 파일이 정렬이 필요한지 확인하기 $ black --check .py # 명령어 입력 시 would reformat .py Oh no! 💥 💔 💥 1.. 2023. 4. 14.
GIT - 브랜치 보호하기(Review Approving) Repository - Settings - Branches - Add branch protection rule 8가지의 제한 조건을 설정할 수 있다. (중복 선택 가능) 각각 옵션의 설명 Require a pull request before merging merge 전에 pull request를 강제하는 옵션 대상 브랜치에 대한 모든 변경 사항이 일반적인 push가 아니라 PR을 통해 이루어져야함. 세부적으로 코드 리뷰가 필요한지, 몇명의 리뷰가 있어야 하는지 등을 설정 가능 Require status checks to pass before merging merge 전에 상태 확인 필요. GitHub Action을 통해 가능하다. GitHub Actions Require conversation resol.. 2023. 4. 13.
20230412 TIL - 깃 커밋 컨벤션, pull request에 관해 GIT 커밋들이 가독성이 떨어지는 문제 커밋메시지도 컨벤션을 정해놓으면 좋다. GIT Pull Request 관련 GIT공식 문서 팀 프로젝트에서 PR은 권한을 가진 사람 혼자 하는 것이 아니다. 팀원 모두가 PR내용에 대해 이해하고 있어야 하며, 내용에 대해 의견을 제시하는 것이 좋다. GIT 설정에서 approve(찬반투표) 를 받아야 pr가능하게 설정할 수 있다. 동의 후 PR하기 설정하는 법 https://codemte.tistory.com/68 선발대 1주차 - 타입별 메서드 타입별 메서드 메서드가 실패 시, 예외적인 상황에서 어떤 리턴값을 내는지도 알아야 한다. 문자열 메서드 count 문자열 내 특정 문자가 몇개나 있는지 세는 메서드 find 문자열 내에서 특정 문자 codemte.tisto.. 2023. 4. 13.
선발대 1주차 - 타입별 메서드 타입별 메서드 메서드가 실패 시, 예외적인 상황에서 어떤 리턴값을 내는지도 알아야 한다. 문자열 메서드 count 문자열 내 특정 문자가 몇개나 있는지 세는 메서드 find 문자열 내에서 특정 문자열이 처음 나오는 위치를 찾아주는 메서드 없을 경우 -1 return index 문자열 내에서 특정 문자열이 처음 나오는 위치를 찾아주는 메서드 없을 경우 ValueError join 특정 문자열을 기준으로 다른 문자열들을 합쳐주는 메서드 upper lower upper : 소문자를 대문자로 바꾸는 메서드 lower 대문자를 소문자로 바꾸는 메서드 replace 문자열 내에서 특정 문자열을 다른 문자열로 바꾸는 메서드 split 문자열을 특정 문자를 기준으로 나누는 메서드 결과는 리스트 형태로 반환 리스트 메서.. 2023. 4. 12.
django 기초부터 다시 1 프로젝트 폴더와 manage.py __init__.py 파이썬에게 이 디렉토리를 하나의 파이썬 패키지(모듈)로 다루도록 지시하는 파일. Python 공식 홈페이지의 패키지 settings.py 현재 Django 프로젝트의 환경 및 구성을 저장해주는 파일. 환경 설정이 어떻게 동작하는지 Django settings urls.py Django project 의 URL 선언을 저장. Django로 작성된 사이트의 “목차” 라고 할 수 있다. URL 에 대한 자세한 내용 URL dispatcher asgi.py wsgi보다 성능이 향상된 비동기식 웹서버를 할 수 있게 해주는 파일. ASGI를 사용하여 배포하는 방법 wsgi.py 웹서버 게이트웨이 인터페이스. 나중에 배포할 때 사용. 파이썬, 장고 프레임워크가 .. 2023. 4. 12.
20230411 TIL - save()와 create(), GIT- permission denied 1. save() 메소드와 create() 메소드의 차이 save()와 create() 모두 모델 인스턴스를 데이터베이스에 저장할 수 있다. 1. create() 메서드는 모델 인스턴스를 생성하고, 2. save() 메서드를 호출하여 데이터베이스에 저장한다. (그래서 create()하고 save()를 따로 할 필요가 없다.) 따라서 create() 메서드는 단일 메서드 호출로 모델 인스턴스를 생성하고 저장할 수 있다. 하지만 save() 메서드는 이미 생성된 모델 인스턴스를 수정하고 데이터베이스에 저장한다. create() 메서드를 사용하는 것이 더 간단하고 직관적 DB에 이미 존재하는 모델 인스턴스를 수정하거나, 다른 복잡한 작업을 수행해야 할 경우에는 save() 메서드를 사용 2. GIT - per.. 2023. 4. 12.
20230410 TIL 김동우 기술 매니저님의 팀 프로젝트에 대한 조언 팀 프로젝트의 좋은 사람 나쁜사람 다 경험이 쌓임. 팀 내에 의견이 갈리는 것 하나하나, 그 해결과정도 TIL로 써보자 보통 결과물만 중요하게 생각하지만, 어떤 과정을 거쳐서 발표날까지 왔는지, 내가 어떻게 받아들이고 있는지를 생각해보자. 협업 과정과 그 과정에서 얻는 것들에 포커스를 맞춰라. 프로젝트의 기능구현 > 나중에도 기회가 많다. 첫 프로젝트는 기술적으로 대단할 수 없다. > 기술적으로는 어필하기 힘들다. > 그렇다면 뭘 어필해야하는가를 생각해보라. > 다른사람들과 어떻게 협업을 해야하는지, 의견충돌, 문제점 등을 어떻게 해결했는지가 그 중 하나일 수 있다. 팀프로젝트는 결과물보다 협업경험이다. 결과물이 우선순위는 아니다. API 명세서란? 백엔드.. 2023. 4. 10.
python 개인과제 해설 ================================= auto_now_add > 생성될 때 시간 기록 auto_now > 생성될 때 기록, 저장(수정)될 때 마다 갱신 ================================= path(' ') >path에 공백은 프로젝트 폴더 url 경로에서 요청이 들어왔을 때, 그 url을 그대로 쓰겠다는 뜻. ================================= User.objects.get(a=a) get : 무조건 하나만 존재해야함 뒤에 검색했을때 결과가 없거나, 두개이상이면 에러. 그래서 unique field나 pk를 기준으로 검색한다. try except구문과 같이 사용 User.objects.filter(a=a) filter : 0개여도 .. 2023. 4. 10.
WIL 20230403 ~ 20230409 - 장고 랑데부 Django 기초 강의 파이썬 기초 문법 복습 장고 프로젝트 구조에 대한 이해 - (MTV) 장고의 데이터베이스와 객체 - (ORM) 로그인과 회원가입 기능 만들기 장고의 사용자 모델과 나의 사용자 모델 비교 - (AbstractUser) 게시글 쓰기/ 읽기/ 삭제 데이터 베이스 관계 - (One to One, One to Many, Many to Many), (ERD) 내배캠 특강 현업 개발자님 특강 GIT 특강 ERD 특강 알고리즘 문제들 배열 두 배 만들기 배열 뒤집기 문자열 뒤집기 가위 바위 보 점의 위치 구하기 최댓값 만들기(1) 문자열 정렬하기 (1) 중복된 문자 제거 대문자와 소문자 인덱스 바꾸기 배열의 유사도 숫자 찾기 문자열 정렬하기 (2) 저번주 목표 1. 개인과제 완성하기 모르는게 너.. 2023. 4. 10.