전체 글 77

django REST Framework 로 API 서버 구성하기 #5

Django에서 API 서버를 만들기 위해 Django REST Framework(DRF)를 사용한다.DRF는 웹 API를 쉽게 구축할 수 있도록 지원하는 강력하고 유연한 툴킷이다. 1. Django REST Framework란? Django REST Framework(DRF)는 Django에서 API 개발을 위한 가장 널리 사용되는 라이브러리이다.쉽고 강력한 API 설계 가능JSON 기반의 직렬화(Serialization) 지원세션 및 토큰 기반 인증(Authentication) 제공권한(Permissions) 및 필터링(Filter) 기능 내장📌 공식 문서: Django REST Framework 2. 가상환경 활성화 및 패키지 설치 📌 1) 가상환경 활성화 먼저, Django 프로젝트의 가상환경..

공공데이터 포털 에서 원하는 서비스 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..

[Dart] 람다 함수 사용 lambda (with 백준 1181)

Dart에서는 람다 함수(Lambda Function)를 사용하여 더 간결한 코드를 작성할 수 있다.이번 글에서는 람다 함수의 개념과 사용법을 살펴보고,백준 1181번 문제(단어 정렬) 를 해결하면서 실전에서 활용하는 방법을 알아본다. 1. Dart에서 람다 함수(Lambda)란? 람다 함수는 익명 함수(Anonymous Function)의 간단한 표현 방식이다. 📌 람다 함수의 문법(매개변수) ⇒ 단 하나의 실행 코드; 중괄호 {} 없이 ⇒(화살표) 기호를 사용하여 표현할 수 있다.매개변수는 있을 수도 있고 없을 수도 있다.한 줄 코드만 사용할 수 있다.📌 익명 함수와 람다 함수 비교void main() { final numbers = [10, 2, 5, 0.5]; // 람다 함수 사용 f..

[Dart] for, while 반복문 (with 백준 2446, 2522)

Dart에서 for문과 while문은 코드를 반복 실행할 때 사용된다.이번 글에서는 기본적인 for문, while문, do-while문을 배우고,이를 활용해 백준 문제(2446번, 2522번)를 Dart로 해결해본다. 🚀 1. Dart의 for문 사용법 📌 기본 for문 for 문은 반복 횟수가 정해져 있을 때 사용한다.void main() { String message = 'Dart is fun'; String chgUpper = ""; // 문자열 길이만큼 반복하며 대문자로 변환 for (var i = 0; i  📌 for-in 반복문 for-in 문은 리스트(List) 또는 집합(Set) 같은 Iterable 객체를 반복할 때 사용한다.void main() { List candidat..

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

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

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

이번 글에서는 삽입 정렬(Insertion Sort) 알고리즘을 배우고,이를 활용하여 백준 24051번 문제를 Python으로 해결해본다. 🚀 1. 삽입 정렬(Insertion Sort) 이란? 삽입 정렬은 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 부분과 비교하여 자신의 위치를 찾아 삽입하는 정렬 알고리즘이다. 🔹 삽입 정렬의 특징 • 선택 정렬(Selection Sort), **버블 정렬(Bubble Sort)**보다 빠르고 안정적인 정렬 알고리즘 • 최선의 경우 O(n), 최악의 경우 O(n²) • 데이터가 거의 정렬되어 있을 경우 매우 효율적 🔹 삽입 정렬 과정예제 배열: [4, 5, 1, 3, 2] 1️⃣ 1을 정렬된 부분과 비교하여 삽입[4, 5, 1, 3, 2] → 1을 0..

[파이썬] 백준 23969 알고리즘 수업 버블 정렬 2

이번 글에서는 버블 정렬(Bubble Sort) 알고리즘을 학습하고,이를 활용하여 백준 23969번 문제를 Python으로 해결하는 방법을 살펴본다. 🚀 1. 버블 정렬(Bubble Sort) 이란? 버블 정렬은 서로 인접한 두 개의 값을 비교하여 정렬하는 알고리즘이다.큰 값이 오른쪽으로 이동하며 거품(Bubble)처럼 밀려나는 과정에서 이름이 유래되었다. 🔹 버블 정렬의 특징시간 복잡도: 최선 O(n), 평균·최악 O(n²)장점: 구현이 단순단점: 효율이 낮아 큰 데이터 정렬에는 적합하지 않음🔹 버블 정렬 과정예제 배열: [7, 2, 0, 1, 5, 6, 4] 1️⃣ 첫 번째 패스 (가장 큰 값이 끝으로 이동)[7, 2, 0, 1, 5, 6, 4] → 7과 2 비교 → swap[2, 7, 0,..