전체 글
-
[사용법] virtualenvwrapperToday_I_Learned/Python 2023. 11. 21. 15:41
virtualenv 만 달랑 사용해오다가 virtualenvwrapper 란 패키지를 알게되어 사용법을 기록한다. 간단 설명 virtualenvwrapper 는 virtualenv 모듈의 확장팩 격인 패키지이다. virtualenv로 생성한 가상 환경을 보다 편리하게 사용할 수 있도록 이것 저것(ex. 가상환경 생성/삭제, 실행, 조회 등을 한 줄의 명령어로 제공, 여러 개의 가상환경들을 한꺼번에 관리할 수 있는 기능 등)을 제공하는 패키지이다. 전제 조건 ubuntu 22.04 이상 (필자의 환경) python3.8 ~ 3.11 python3-pip 설치 완료 virtualenv 모듈 설치 완료 설치 python3 -m pip install virtualenvwrapper 이 때 설치 Log를 잘 확인..
-
[DB][SQL][DML] JOIN, ALIAS, VIEW, SELECT INTO, INSERT INTO, CASE WHEN ~Backend/DB 2023. 11. 7. 00:19
6강 SQL - DML (4) JOIN 2 개의 서로 다른 Table들을 공통 컬럼을 기준으로 합한 후 select 질의를 수행하는데 사용. select {column_name} from {table1} JOIN {table2} ON {table1.column}={table2.column} where {conditions}; 이 때 두 Table 간 동일한 컬럼명을 구분하기 위해 table.column 의 형식을 사용한다. Inner Join: 기본 수행되는 JOIN. JOIN의 기준이 되는 column 값이 NULL일 때 질의 결과에 포함하지 않는다. = 사용된 두 Table에 모두 NULL을 허용하지 않는다. left/right Join: Outer Join 이라고도 하며 left 는 JOIN 연산 ..
-
List 정렬 기준, iterable객체의 요소가 iterable 일 때Today_I_Learned/Python 2023. 11. 1. 16:17
작성 의도 반복 가능한(iterable) 객체의 모든 Element 역시 반복 가능한 객체 일 때 (ex. 2차원 List, [(1, 2, 3), (4, 5, 6), …] 등) sort()나 sorted() 함수를 이용하여 정렬을 진행하면 python에서는 기본적으로 각 Element의 첫 번째 요소를 기준으로 오름차순 정렬을 수행한다. 그러나 각 Element의 첫 번째가 아닌, 특정 순서의 값으로 정렬을 진행하고 싶은 경우엔 sorted() 나 List의 내장 함수인 sort() 함수의 key parameter를 잘 활용해야 한다. (* key parameter는 함수(callable)를 인자로 받는다.) 다음 글을 읽으면 key parameter를 통해 함수를 여러 번 호출하지 않고도 복잡한 정렬을..
-
VS Code에서 Django Debug 설정Backend/Django 2023. 10. 15. 22:54
2023.10.15 Pycharm에서 Django 디버그 를 진행했던 것처럼 VS Code에서 도 Django Debug가 가능한 설정을 진행하려고 함. 참고: https://code.visualstudio.com/docs/python/tutorial-django Python and Django tutorial in Visual Studio Code Python Django tutorial demonstrating IntelliSense, code navigation, and debugging for both code and templates in Visual Studio Code, the best Python IDE. code.visualstudio.com 1. Python Interpreter를 Vi..
-
PyCharm에서 Django 디버그 모드 활성화하기Backend/Django 2023. 10. 10. 23:45
PyCharm 2019.3.5(Professional) 기준 작성 됨. Settings(Ctrl+Alt + S) - Languages & Frameworks - Django ‘Enable Django Support’ 체크 ‘Django project root:’ 에 디버깅할 프로젝트의 최상위 경로 입력 ‘Settings:’ 에 디버깅할 프로젝트의 config/settings. 경로를 입력 끝. OK 클릭 Edit Configuration (상단 메뉴의 Run 하위에 있음.) ‘+’ 버튼 클릭 → Django server 선택 Name은 선택사항. 끝. OK 클릭 디버그 모드 시작하면 python manage.py runserver 부터 실행함. (따로 웹 서버 구동할 필요 x) 원하는 지점에 중단점 찍고..
-
트랜잭션Backend/DB 2023. 9. 30. 16:00
http://wiki.hash.kr/index.php/트랜잭션 트랜잭션 - 해시넷 트랜잭션(transaction)이란 "쪼갤 수 없는 업무 처리의 최소 단위"를 말한다. 거래내역이라고도 한다. '트렌젝션'이 아니라 '트랜잭션'이 올바른 표기법이다. 영어로 간략히 Tx라고 표기하기도 한다. wiki.hash.kr 더 이상 쪼갤 수 없는 업무 처리의 최소 단위. 거래내역이라고도 한다. 데이터베이스의 부정합을 방지하고 완전성을 유지하는 목적으로 사용된다. 트랜잭션이 정상적으로 처리되면 커밋 Commit하고 그렇지 않으면 롤백Rollback되어 DB는 트랜잭션 수행 이전의 상태를 유지하게 된다. ex) A가 B에게 1000원 송금 A의 계죄는 1000원이 감소하고, B의 계좌는 1000원이 증가해야 함. → 어..
-
class method vs. static methodToday_I_Learned/Python 2023. 9. 26. 11:23
공통점 별도 인스턴스 생성없이 클래스를 대상으로 클래스 이름 뒤에 바로 '. ' 오퍼레이터를 붙여서 호출 가능 ex) class ExampleClass: class_name = "ExampleClass" @classmethod def example_class_method(cls): print(f"{self.class_name}: This is classmethod.") @staticmethod def example_static_method(): print(f"{self.class_name}: This is staticmethod.") ExampleClass.example_class_method() >>> ExampleClass: This is classmethod. ExampleCalss.example_..