파이썬 39

[파이썬] json data 정렬 시 sorted의 key 값으로 설정하기

파이썬에서 JSON 데이터를 다룰 때, 특정 키 값을 기준으로 정렬해야 하는 경우가 많다.이 글에서는 sorted() 함수의 key 매개변수를 활용하여 JSON 데이터를 정렬하는 방법을 설명한다. ✅ JSON 데이터를 특정 키 값으로 정렬하기 1️⃣ 정렬할 JSON 데이터 예시 우리는 다음과 같은 JSON 데이터를 다룬다고 가정한다.#많이 보이는 json datajson_data = [ { 'blogSite' : 'tistory', 'blogUrl' : 'http://yuneenelife.tistory.com', 'blogCategory' : 'IT' }, { 'blogSite' : 'naver', 'blogUrl' : 'http://blog.naver.com/..

django Test 코드 작성하여 코드 안정성 높이기 #11

Django 프로젝트에서 API의 안정성을 보장하려면 테스트 코드가 필수이다.이 글에서는 Django의 TestCase를 활용하여 API 호출 테스트 코드 작성 방법을 설명한다. ✅ API 테스트 코드 작성 시 유의사항 ✔ 테스트 파일 위치: django의 APP 디렉터리(test.py)에 작성✔ 테스트 자동 탐색: test_로 시작하는 함수명을 사용해야 함✔ 테스트 데이터 관리: 임시 데이터로 진행되며, 실제 데이터베이스에는 저장되지 않음 ✅ test.py에서 API 테스트 코드 작성 test.py 파일을 생성하고 아래와 같이 코드를 작성한다.from django.test import TestCasefrom django.urls import reverseclass APIsTest(TestCase): ..

django 공공데이터 포털 API 코드, 환경변수 설정, admin 생성하기 #9

Django에서 공공데이터 포털 API를 활용하여 데이터를 조회하고, 환경변수를 설정하며, 관리자 페이지를 생성하는 방법을 정리했다. 1. Django 코드 작성 이번 작업은 기존 프로젝트 구조를 유지하면서 진행한다. 코드 흐름 1. urls.pyAPI 경로는 /api/pubd/상세 URL은 pubdapp 앱 내부의 urls.py에서 관리 2. views.pynanet_search() 함수 생성nanet_post() 함수 생성 3. settings.pyGit에 공유되지 않아야 할 주요 키 값 저장 4. api.pyAPI 호출을 처리하는 함수 모음axios와 연계되는 로직을 포함nanet_api() 함수 생성 5. models.py요청(Request) 및 응답(Response) 데이터를 저장할 모델 Nan..

pylint 로 python 가상환경 venv 코드와 vs code 와 연결시키기 #7

Python 프로젝트를 진행할 때, 가상환경(venv)을 설정한 후 VS Code에서 코드를 실행하면 “Python 원본에서 가져오기 실패” 같은 오류가 발생하는 경우가 있다.이 글에서는 pylint를 설치하여 Python 가상환경과 VS Code를 정상적으로 연결하는 방법을 알아본다. 1. 오류 발생 원인 VS Code에서 Python 코드를 실행할 때, 올바른 가상환경을 인식하지 못하면 pylint 등의 코드 검사 도구가 동작하지 않을 수 있다.이를 해결하려면 가상환경에 pylint를 설치하고, VS Code에서 해당 가상환경을 올바르게 설정해야 한다. 2. 해결 방법: 가상환경에 pylint 설치 📌 1) 가상환경(venv) 활성화 먼저, Python 가상환경에 진입한다. Mac/Linux (ba..

django cors 크로스 도메인 오류 해결 #6

Django와 프론트엔드가 서로 다른 도메인 또는 포트에서 실행될 때, CORS(Cross-Origin Resource Sharing) 오류가 발생할 수 있다. 이 글에서는 Django 프로젝트에서 CORS 오류를 해결하는 방법을 알아본다. 1. CORS 오류란? CORS 오류는 브라우저 보안 정책으로 인해 발생한다.백엔드(Django)와 프론트엔드(React, Vue, Angular 등)가 서로 다른 도메인에서 실행될 경우, 브라우저는 기본적으로 교차 출처 요청을 차단한다.  예를 들어,백엔드(Django): http://localhost:8000프론트엔드(Vue.js): http://localhost:8080위와 같이 도메인 또는 포트가 다를 경우, 브라우저는 이를 보안 위협으로 인식하여 요청을 차단..

공공데이터 포털 에서 원하는 서비스 API 신청하기 #4

공공데이터 포털에서는 다양한 공공 API를 무료로 제공하고 있다.이번 글에서는 공공데이터 포털에서 원하는 API를 검색하고 신청하는 과정을 소개한다. 1. 공공데이터 포털 회원가입 및 로그인 API를 사용하려면 먼저 공공데이터 포털 회원가입이 필요하다.아래 사이트에서 회원가입을 진행한다. 🔗 공공데이터 포털: https://www.data.go.kr/ 공공데이터 포털국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Datasewww.data.go.kr  공공데이터 포털은 정부 및 공공기관이 보유한 데이터를 개방하여,국민 누구나 쉽게 데이터를 검색하고 활용할 수 있도록 지원..

django cycle, 프로젝트 구조 및 language, timezone 변경하기 #3

Django는 웹 애플리케이션을 개발하기 위한 강력한 프레임워크로,특정한 사이클(Cycle)을 따라 작동합니다. 이번 글에서는 Django의 동작 사이클과 프로젝트 구조를 살펴보고,Language(언어) 및 Timezone(시간대) 설정을 변경하는 방법을 알아본다. 1. Django의 기본 동작 사이클 Django는 다음과 같은 흐름으로 작동하며,프로젝트의 소스 코드도 이 사이클을 기반으로 개발된다.📌 Django Cycle 1. WSGI (Web Server Gateway Interface)웹 서버와 Django 애플리케이션 간의 통신을 담당하는 인터페이스. 2. urls.py (라우터)클라이언트의 요청을 분석하여 해당 요청을 처리할 views.py를 호출한다. 3. views.py (애플리케이션 로..

django app 생성하고 소스에 git 설치하기 #2

Django에서는 프로젝트를 여러 개의 **앱(App)**으로 구성하여 개발할 수 있다.또한, Git을 이용해 프로젝트의 소스 코드를 효율적으로 관리할 수 있다. 이번 글에서는 Django 앱을 생성하는 방법과 Git을 설정하는 과정을 다뤄본다. 1. Django 앱(App) 생성 Django 프로젝트는 여러 개의 **앱(App)**으로 구성된다.**앱(App)**은 특정한 기능을 수행하는 웹 애플리케이션 단위라고 볼 수 있다. 📌 이전 단계이전에 Django 프로젝트(pubdapi)를 생성했으므로,해당 폴더로 이동하여 앱을 생성한다.cd pubdapi # 프로젝트 폴더로 이동ls # 현재 폴더 구조 확인 예제 실행 결과:(pubd_api) pubdapi % lsdb.sqlite3 m..

API Server django python Framework 설치 #1

Django는 Python 기반의 웹 프레임워크로, 강력한 기능과 간결한 코드로 웹 애플리케이션을 빠르게 개발할 수 있다.이번 글에서는 Django를 활용한 API 서버 구축 과정을 단계별로 정리해본다. 📌 사용할 API • 공공데이터 포털에서 제공하는 국회도서관 자료검색 서비스 API 📌 작업 환경작업 폴더명: public_data가상환경명: pubd_api프로젝트명: pubdapiOS: macOS Sonoma v14.51. Python & Django 설치하기 Django를 설치하기 위해서는 먼저 Python이 필요하다.Django 공식 문서를 참고하면 보다 자세한 내용을 확인할 수 있다. 🔗 Django 공식 문서: Django Documentation (한글) 📌 Python 설치 Pyth..

[파이썬] 백준 24052 알고리즘 수업 삽입 정렬 2

이번 글에서는 삽입 정렬(Insertion Sort) 알고리즘을 학습하고,이를 활용하여 백준 24052번 문제를 Python으로 해결해본다. 🚀 1. 삽입 정렬 (Insertion Sort) 란? 삽입 정렬은 배열을 앞에서부터 차례대로 정렬된 부분과 비교하며 자신의 위치를 찾아 삽입하는 정렬 알고리즘이다. 🔹 정렬 과정:배열의 두 번째 요소부터 시작하여 왼쪽의 정렬된 부분과 비교적절한 위치를 찾아 삽입모든 요소가 정렬될 때까지 반복 🔹 시간 복잡도:최선 (O(n)): 이미 정렬된 배열일 경우최악 (O(n²)): 역순 정렬된 배열일 경우2. 백준 24052번 문제 설명 🔗 문제 링크: 백준 24052번 - 알고리즘 수업: 삽입 정렬 2📌 문제 요구사항N: 배열 A의 크기 (5 ≤ N ≤ 10,00..