본문 바로가기
반응형

Python124

Python - 왜 좋을까?, 해야 하는 이유 Python 현재 2022년 직업 구인 공고 기준으로 소프트웨어 언어로 1위를 달리고 있다. 필자 역시 현재 Python을 이용하여 개발을 진행하고 있는데, Python이 왜 좋은지 간단히 정리해 본다. 1. 웹 개발 웹 언어 부분에 대해서 Python을 이용할 경우 다양한 프레임 워크를 제공하고 있어서 용도에 알맞게 개발을 용이하게 진행할 수 있다. 가장 가볍게 개발할 수 있는 Flask 부터 REST API 를 쉽게 개발 할 수 있는 FastAPI, Full-Stack 기반으로 프론트를 포함한 MVC 기반의 개발을 지원해주는 Django까지 본인의 환경에 맞춰서 선택한다면 적은 코드로도 휼륭한 결과를 만들 수 있을 것이다. 성능적인 부분 역시 상당한 부분 과거보다 개선되어 문제없이 사용이 가능하다. .. 2024. 3. 14.
VSCode - Python 라이브러리 자동 완성 안될 때 Django에서 자동완성이 되지 않는 상황에서 어떻게 해결할 수 있을까 정리해본다. 보통 이런 상황은 가상 환경이거나, Docker 환경등에서 발생할 가능성이 높다. 이유는 현재 VS Code에서 바라보는 Python 실행 환경이 django 라이브러리를 인식할 수 없는 상태이다. 즉 다중 환경으로 개발을 하는데 현재 VSCode의 환경에서는 사용이 불가능 하다는 얘기이다. 따라서 해결 방법으로는 2가지가 있다. 1. 현재 환경에 Django 환경과 동일하게 라이브러리를 설치해준다. 2. Django 를 개발하는 환경의 Python 경로를 입력한다. 첫번째 방법은 개발 환경마다 따로 구성할 필요가 없도록 구성하여 개발 편의성은 있지만, 라이브러리의 기능적 문제나 환경 문제등에 민감하지 않기 때문에 문제가.. 2024. 3. 14.
Python/Django - 리스트 마지막 콤마?! Python 코드를 보다보면 리스트를 작성할 때 마지막에 콤마를 찍는 경우를 볼 수 있다. 필자는 콤마를 찍지 않는 편인데, 콤마를 찍는 사람들 보고 이상하게 느껴졌다. 콤마를 왜 찍는 거지? 실제 동작은 콤마를 찍으도 찍지 않아도, 정상적으로 동작한다. 얘기를 들어보면, 단순하다. 습관이라는 것이다. 그리고 Github 이나 여러 개발자 여러 개발자들이 콤마를 찍는 습관이 널리 퍼진 것이라고 할 수 있다. 요약해보면, List 새로 추가할 때 기존 콤마를 고려하지 않기 위해 미리 마침표 처럼 찍는 것 깔끔히 마무리하기 위해서 마침표 처럼 찍는 것으로 보인다. 2024. 3. 14.
Django - django-admin을 찾지 못할때 django 패키지를 설치했는데 django-admin을 찾지 못한다면, path 경로에 문제가 있을 수 있다. 먼저 자신이 설치한 pip 혹은 pip3의 버전 정보를 통해 python이 동작한 디렉토리를 확인한다. pip -version 확인해보면 아래와 같이 현재 동작한 경로 정보를 알 수 있다. 패키지에서 사용하는 파일은 윈도우 기준으로 위 디렉토리 하위에 LocalCache\local-packages\Python버전 명\Scripts 위치한다. 해당 경로로 이동하여 LocalCache 디렉토리가 있는지 확인한후 따라 들어가도록 하자. PS C:\Users\Han\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0> l.. 2024. 3. 14.
Python - Regex 개인정보(주민등록번호,전화번호,휴대폰번호,이메일) 패턴 Python의 정규식 표현을 이용해서 개인정보를 탐지할 수 있는데, 다양한 정보를 비교해본 결과 필자 기준으로 적용한 내용들을 정리해본다. 각 탐지 기준은 한국에 맞도록 구성되어 있음을 미리 밝힌다. 그리고 각 탐지 조건은 아래 사이트에서 테스트가 가능하다. https://regex101.com regex101: build, test, and debug regex Regular expression tester with syntax highlighting, explanation, cheat sheet for PHP/PCRE, Python, GO, JavaScript, Java, C#/.NET, Rust. regex101.com 1. 주민등록번호 주민등록 번호를 탐지하기 위해서는 2가지 정도의 패턴을 고민했.. 2024. 3. 11.
Django - django-admin을 찾지 못할때 django 패키지를 설치했는데 django-admin을 찾지 못한다면, path 경로에 문제가 있을 수 있다. 먼저 자신이 설치한 pip 혹은 pip3의 버전 정보를 통해 python이 동작한 디렉토리를 확인한다. pip -version 확인해보면 아래와 같이 현재 동작한 경로 정보를 알 수 있다. 패키지에서 사용하는 파일은 윈도우 기준으로 위 디렉토리 하위에 LocalCache\local-packages\Python버전 명\Scripts 위치한다. 해당 경로로 이동하여 LocalCache 디렉토리가 있는지 확인한후 따라 들어가도록 하자. PS C:\Users\Han\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0> l.. 2024. 3. 10.
Python - Timezone 포맷 Datetime 값 비교 오류 TypeError: can't compare offset-naive and offset-aware datetimes 시간 포맷이 생각보다 다양하다는 것을 먼저 인식하고 있어야 문제에 대해 쉽게 접근할 수 있다. 이 오류는 시간 비교시, 서로 간에 포맷이 맞지 않아서 발생하는데, 특히 이 문제가 어려운 경우는 보통 TimeZone 값이 있을 경우라고 할 수 있다. 타임 존이 있는 값과 타임 존이 없는 값은 서로 다른 타입으로 비교가 되지 않기 때문이다. 이 문제를 해결 하기 위해서는 두가지 값중 하나를 맞추어야 하는데, 보통 다음과 같이 해결 할 수 있다. Timezone 추가하기 Timezone은 pytz 파일에서 제공하는데 이를 이용해서 먼저 타임존을 선언해 놓을 수 있다. import pytz UTC.. 2024. 3. 10.
Python - Datetime 특정 시간 간격으로 나누기 DateTime을 특정 시간으로 나누어 실행해야 하는 경우 유용한 함수이다. 방식은 시간의 차이를 계산한 후 이를 나누어야 하는 타임값으로 나누어 저장하는 방식이라고 할 수 있다. 코드는 아래와 같다. import datetime def split_time_range(start_time, end_time, interval): # 시작 시간과 종료 시간을 UTC로 변환 start_time = datetime.datetime.combine(start_time.date(), start_time.time(), tzinfo=datetime.timezone.utc) end_time = datetime.datetime.combine(end_time.date(), end_time.time(), tzinfo=dateti.. 2024. 3. 10.
TSQL - 문자열 포함 확인(Like) TSQL에서 가장 많이 사용되는 것이 바로 문자열 포함유무라고 할 수 있다. 이때 사용할 수 있는 키워드는 바로 Like 이다. 포함 유무이기 때문에 %를 이용해서 앞과 뒤쪽에 문자열에 관계없이 표현할 수 있도록 구성이 가능하다. select from . where like '%com%' select를 이용해서 특정 컬럼을 지정하거나 * 을 이용해 모든 컬럼을 표시하도록 하고 from은 검색을 진행할 데이터베이스와 테이블을 지정한다. 그리고 where 문을 이용해 특정 컬럼을 지정하고 Like로 포함되는 문자열을 지정하면 된다. 2024. 3. 10.
반응형