python 52

Django - URLs

URL 패턴 정의 Django에서 URL 패턴은 urls.py에서 정의되며, 일반적으로 path() 함수를 사용  URL Dispatcher들어온 요청(URL)이 어느 view 함수로 처리되어야 할지를 결정하는 Django의 시스템Django는 URL을 구조적으로 매핑하여 가독성과 유지보수성을 높임  URL 분리와 다중 앱 구성 Multiple Apps 구성• 프로젝트가 복잡해지면 앱 별로 URL과 view를 관리하는 것이 효과적• 각 앱 내부에 urls.py를 추가하여 정리 가능   users 앱 생성python manage.py startapp users  users앱 등록  users 앱 내 urls.py, views.py, templates/profile.html, templates/users.h..

Django - Template

views.py작성 ulrs.py작성 앱 내부에 templates 폴더 생성(+HTML 템플릿 작성)VScode에서 ! + Tab 기본적인 HTML파일 구조가 생성되는 자동완성 지원  settings.py 확인(TEMPLATES 설정에서 DIRS 및 APP_DIRS 경로 확인      Django 요청과 응답 흐름 HttpRequest → URLs → View → Template → View → HttpResponse    Django에서 클라이언트 요청을 처리하고 응답을 반환하는 흐름1. 요청(Request)• 클라이언트(브라우저)에서 특정 URL로 요청을 보냄• 예: http://127.0.0.1:8000/index/  2. URL 처리 (urls.py)• Django는 요청받은 URL을 기반으로 u..

Django - Design Patterns

디자인 패턴   자주 사용되는 소프트웨어의 구조와 문제 해결 방법을 일반화한 개념디자인 패턴을 통해 소프트웨어 개발 과정에서 공통적으로 발생하는 문제를 효과적으로 해결 가능 클라이언트-서버 구조도 하나의 디자인 패턴   소프트웨어에서의 공통 구조: 디자인 패턴 소프트웨어 개발 시 다양한 응용 프로그램을 만드는 과정에서 공통적인 구조와 문제를 발견→ 이를 해결하기 위해 디자인 패턴이 탄생 설계를 빠르고 효율적으로 진행공통 문제에 대해 재사용 가능한 해결책을 제공개발 생산성을 높이고 유지보수를 쉽게 함   Django와 디자인 패턴  Django 프레임워크는 설계 철학에 따라 디자인 패턴을 활용 → MTV 패턴 구조를 채택   MVC 패턴 MVC는 소프트웨어를 Model, View, Controller의 세..

Django - Client↔Server

클라이언트-서버  클라이언트(Client)서비스를 요청하는 주체 요청(Request)를 보내는 컴퓨터주로 웹 브라우저나 인터넷에 연결된 장치를 의미사용자 PC, 스마트폰 서버(Server)자원을 제공 자원을 관리하고 응답(Response)을 보내는 컴퓨터클라이언트의 요청을 처리하고 응답구글의 데이터 센터 컴퓨터  클라이언트-서버의 동작 원리  클라이언트가 요청 → 서버가 응답 → 클라이언트가 결과를 해석  사용자가 브라우저에서 구글에 접속하려고 '구글 홈페이지.html'파일을 요청→구글 서버는 요청을 처리하고 '구글.html'파일을 클라이언트에게 전달→브라우저가 전달받은 파일을 해석해 사용자에게 웹 페이지를 보여줌  API서버는 데이터를 응답할 때 HTML뿐만 아니라 API를 통해 JSON이나 XML형태..

Django - App

Django App  Django에서 App == 하나의 기능 단위 모듈예 : 게시판 기능, 채팅 기능 등  프로젝트(Project)앱(App)어플리케이션의 집합체(하나의 서비스)각각의 기능 단위 → 공통된 기능을 재사용 가능하게 설계하면 반복 작업을 줄이고 효율성을 높일 수 있음→ 프로젝트 초기부터 기능별로 앱을 구분하여 설계하면 유지보수와 협업 효율성이 높아짐    앱 생성하기python manage.py startapp 앱이름  python manage.py startapp articles=> 프로젝트 내부에 새롭게 앱 디렉토리가 생성 ( articles/) 앱 이름은 복수형으로 짓는 것을 권장   앱 등록하기 프로젝트 폴더 settings.py파일의 INSTALLED_APPS 리스트에 새 앱 이름..

행렬식과 역행렬

행렬식과 역행렬 행렬식 계산 방법행렬식(Determinant)은 정방행렬에 대해 정의되는 스칼라 값, 행렬의 중요한 특성을 나타냄선형 변환의 부피 변화율 기하학적으로 행렬식은 해당 행렬이 나타내는 선형 변환에서 변환된 공간의 부피 변화를 나타냄예 ) 2x2행렬의 행렬식이 2라면, 변환 후 부피는 변환 전 부피의 2배가 됨2x2 행렬 A = [[a, b], [c, d]]의 행렬식은 ad - bc더 큰 행렬의 경우 여인자 전개나 가우스 소거법을 통해 계산행렬식이 0이 아닌 경우에만 해당 행렬의 역행렬이 존재함( == 역행렬의 존재 조건 : 행렬식이 0인 경우 행렬은 비가역적(Singular)이며, 역행렬이 존재하지 않음)  역행렬 개념과 계산 역행렬(Inverse Matrix)  A⁻¹은 원래 행렬 A와 곱..

Python - Pandas(데이터 프레임 구조 재조정)

데이터프레임의 구조를 재조정  데이터를 원하는 형태로 변형 피벗(pivot), 변경(melt), 스택(stack), 언스택(unstack)  pivot()을 사용한 피벗 테이블 생성 pivot()함수는 열 데이터를 행 또는 열로 이동시켜 새로운 데이터프레임을 만듦-데이터를 재구성하고 분석하는 데 매우 유용import pandas as pd#예시 데이터프레임 생성data = { '날짜' : ['2023-01-01', '2023-01-02', 2023-01-01', 2023-01-02'], '도시' : ['서울', '서울', '부산', '부산'], '온도' : [2, 3, 6, 7], '습도' : [55, 60, 80, 85] }df = pd.DataFrame(data)#'도시'를..

Python to AI 2024.12.18

Python - Pandas(다차원데이터관리 : MultiIndex)

멀티 인덱스(MultiIndex) 하나 이상의 인덱스를 사용하여 데이터프레임의 행과 열을 구조화하는 방법  다차원 데이터를 보다 효율적으로 관리하고 분석할 수 있게 해준다.  set_index()로 멀티 인덱스 설정#멀티 인덱스 생성import pandas as pd#예시 프레임 생성data = { '도시' = ['서울', '서울', '부산', '부산'], '년도' = [2021, 2022, 2021, 2022], '인구수' = [970000, 9720000, 3400000, 3450000] } df = pd.DataFrame(data)#'도시'와 '년도'를 멀티 인덱스로 설정df_multi_index = df.set_index(['도시','년도'])df_multi_index ..

Python to AI 2024.12.17

Python - 객체 탐색과 속성 관리

id() 함수  Python에서 id() : 객체의 고유한 식별자(Unique Identifier)를 반환 => CPython 구현에서 객체의 메모리 주소를 나타냄 고유성Python 실행 중, 각 객체는 고유한 id 값을 가짐(= 같은 객체에 대해 항상 고유한 값을 반환, 새로운 객체가 생성되면 새로운 id가 할당) 메모리 주소와 관련CPython에서는 id()가 객체의 메모리 주소를 반환 (다른 Python 구현에서는 이 동작이 다를 수 있음) 객체 비교is 연산자와 함께 사용하여 두 객체가 동일한 객체인지(동일한 메모리 위치를 가리키는지) 확인할 수 있음a is b 는 id(a) == id(b)와 동일 a = [1, 2, 3]b = aprint(id(a)) # 140660040349888 (예: 메..

Python to AI 2024.12.15

Python - Pandas(데이터 전처리: Encoding, Embedding)

Encoding (인코딩) 범주형 데이터(Categorical Data)를 수치형 데이터로 변환하는 과정 많은 머신러닝 모델은 수치형 데이터만 처리할 수 있기 때문에, 범주형 데이터를 인코딩하는 것이 필수적  레이블 인코딩(Lable Encoding)범주형 데이터를 순서가 있는 숫자로 변환, 각 범주에 고유한 숫자가 할당됨 import pandas as pdfrom sklean.preprocessing import LabelEncoder#예시 데이터프레임 생성data = {'과일' : ['사과','바나나', '사과','오렌지','바나나']}df = pd.DataFrame(data)#레이블 인코딩lable_encoder = LabelEncoder()df['과일_인코딩'] = label_encoder.fit..

Python to AI 2024.12.13
728x90