본문 바로가기

728x90

분류 전체보기

(104)
#파이썬 24.09.20_Django 기반의 테스트 주도 개발 방법론(TDD)&API 문서화 API 문서화(API Documentation)1. API 문서화 개요 1.1 API(Application Programming Interface, 응용 프로그램 인터페이스)API는 서버와 클라이언트(사용자)의 중간에서 원활하게 데이터를 주고받을 수 있게끔 매개체의 역할을 수행사용자가 무엇을 요청할 수 있는지 알려주고, 그 요청이 제대로 전달되었는지 확인하고, 응답까지 전달API는 쉽게 비유하자면 식당의 메뉴판과 같음클라이언트인 사용자는 주방에서 어떤 일이 일어나는지 자세히 알 필요 없이 메뉴판에 적힌 메뉴를 선택하고 서버에게 요청을 보내기만 하면 됨현대 소프트웨어 개발 환경에서 API는 필수적인 요소로 자리 매김API를 통해 더욱 빠르고 효율적인 개발이 가능각 기능을 독립적으로 분리하여 개발의 복잡도를..
백준 2720번 세탁소 사장 동혁 문제 풀이 https://www.acmicpc.net/problem/2720 문제 요약: 주어진 금액을 동전(쿼터, 다임, 니켈, 페니)으로 바꿀 때, 각 동전의 개수를 구하는 문제입니다.기본 풀이먼저, 기본적인 접근 방식은 다음과 같습니다Z = int(input()) for a in range(Z):     C = int(input())     for i in [25, 10, 5, 1]:         count = C // i           print(count, end=" ")           C = C % i       print() - 어차피 금액 단위가 정해져 있으니, 큰 단위부터 몫을 반환하고 나머지를 다시 금액으로 할당, 이 과정을 반복하면 되는 문제였다.- 처음에는 반복 과정에서 for문을 쓰..
#파이썬 24.09.20_Django 기반의 테스트 주도 개발 방법론(TDD)&API 문서화 API 문서화(API Documentation)1. API 문서화 개요1.1 API(Application Programming Interface, 응용 프로그램 인터페이스)API는 서버와 클라이언트 간의 데이터 교환을 원활하게 해주는 매개체 역할을 합니다.API는 사용자가 요청을 쉽게 전송하고, 요청에 대한 응답을 받을 수 있게 도와줍니다.API는 현대 소프트웨어 개발에서 필수 요소로 자리 잡았으며, 이를 통해 효율적인 개발 및 유지보수가 가능합니다.예시: API는 식당의 메뉴판과 같아서, 사용자는 주방에서 일어나는 일을 알 필요 없이 메뉴판을 보고 서버에 요청만 보내면 됩니다.API는 개발 복잡도를 줄이고, 이미 개발된 API를 재사용할 수 있어 시간과 비용을 절감합니다.1.2 API 문서(API Do..
백준 2745번 진법변환문제 https://www.acmicpc.net/problem/2745  파이썬에서의 자료구조여러개의 데이터가 묶여있는 자료형을 컨테이너 자료형이라함. 이러한 컨테이너 자료형의 데이터 구조를 자료 구조.리스트 :순서가 있는 가변적인 데이터 구조, 리스트는 같은 타입이 아니어도 다양한 데이터 타입의 요소를 포함할 수 있으며, 요소를 수정하거나 삭제할 수 있음 []튜플 : 순서가 있는 불변의 데이터 구조, 한 번 정의되면 요소를 변경하거나 삭제할 수 없습니다. 다양한 데이터 타입을 포함할 수 있음 ()딕셔너리 : 키와 값의 쌍으로 구성된 데이터 구조, 각 키는 유일해야 하며, 키를 통해 해당 값을 빠르게 조회할 수 있으며, 키와 값 모두가 변할 수 있음 {}셋트 : 순서가 없고, 중복된 데이터가 허용되지 않는 데..
#파이썬 24.09.19_Django 기반의 테스트 주도 개발 방법론(TDD) 요구사항 분석이라는 부분은 어느정도 경력이 쌓이지 않으면 하기 어려워, 간략하게 하는 경우가 많다.TDD는 요구사항 분석을 세세하게 하지 않아도 가능함 테스트 주도 개발 방법론1. 테스트 주도 개발(TDD) 개요1.1 테스트 주도 개발이란?테스트 주도 개발(Test-Driven Development, TDD)코드를 작성하기 전에 테스트 케이스를 먼저 작성하는 방식을 따르는 소프트웨어 개발 방법론 중 하나개발 과정을 짧은 반복 주기로 나누고각 주기마다 사용자의 요구 사항을 테스트 케이스로 변환하여코드를 개선해 나가는 방식전기전자학회(Institute of Electrical and Electronics Engineers, IEEE)에서 발행된 연구 논문에서 "TDD (Test-Driven Developme..
#파이썬 24.09.02(월) ~ 24.09.13(금) 마켓컬리 클론코딩 프로젝트 🚀Clean_Curly 프로젝트 1st 🚀마켓컬리 백엔드 클론코딩 프로젝트를 진행함.이커머스 사이트의 필수 기능을 구현하였고, 1차 2차로 나눠서 프로젝트를 구현하려고함1차 프로젝트 결과임으로 아직 완벽하게 완성된 버전은 아님🚴개발 인원 및 기간[팀프로젝트 기간] 2024-09.02(월) ~ 2024-09.13(금)[개발인원] : 백엔드 4명🛠️기술스택Language : python3Framework : Django💡ERD(1st)🤗 팀 멤버신덕근김향은김혜지김지웅홈페이지 데모📃 구현 기능📃김혜지[ERD 내 ORDERS CARTS 기능 담당]장바구니 기능 (추가, 수정, 삭제)물건구매신덕근[ERD 내 REVIEWS 기능 담당]상품 리뷰 작성, 수정, 삭제 김지웅[ERD 내 USER 기능 담당..
#파이썬 33일차_온라인 상점 구축 프로젝트3 2.3 고객 주문 등록하기Terminalpython manage.py startapp ordersmyshop/settings.pyINSTALLED_APPS = [    ...    'shop.apps.ShopConfig',    'cart.apps.CartConfig',    'orders.apps.OrdersConfig',]2.3.1 주문 모델 생성하기orders/models.pyfrom django.db import modelsfrom shop.models import Productclass Order(models.Model):    first_name = models.CharField(max_length=50)    last_name = models.CharField(max_length=50)   ..
#파이썬 32일차_온라인 상점 구축 프로젝트2 쇼핑 카트 및 세션 사용하기1. 세션(Session)정의: 웹 브라우저를 통한 사용자의 요청을 하나의 상태로 보고 유지시키는 기술.특징: 서버에 정보를 저장하며, 브라우저를 닫거나 서버에서 삭제될 때만 세션이 종료됨.세션 vs. 쿠키: 세션은 서버 자원을 사용, 쿠키는 클라이언트 자원을 사용.2. 장고 세션 프레임워크기능: 익명 및 사용자 세션을 지원하며, 각 방문자의 데이터를 저장 가능.사용 방법:request.session을 사용해 세션에 접근.세션 데이터는 딕셔너리처럼 취급 가능.3. 세션 설정SESSION_ENGINE: 세션 데이터의 저장 위치를 설정.세션 엔진 옵션:데이터베이스 세션 (기본)파일 기반 세션, 캐시 기반 세션 등.세션 설정 옵션:SESSION_COOKIE_AGE: 세션 쿠키의 유효..
#파이썬 32일차_온라인 상점 구축 프로젝트1 1. 환경 구축하기가상환경 설정python -m venv myshopcd myshop source ./bin/activate# Windows의 경우 .\Scripts\activate필수 라이브러리 설치pip install -r requirements.txtdjango, Pillow 두개만 import 해도 가능(후반부에는 다른 라이브러리도 필요)2. 온라인 상점 기반 구축주요 기능제품 카탈로그 만들기 → shop광고 세션을 사용한 쇼핑 카트 구축 → cart고객 주문관리 → order2.1 제품 카탈로그 만들기온라인 상점(쇼핑몰)은 실제 상품이 진열되는 것이 아니라 제품 카탈로그를 기반으로 구성됨즉 제품 카탈로그를 만드는 작업이 온라인 상점의 기본 틀을 만드는 작업과 동일하다고 할 수 있음2.1.1 기초..
#파이썬 34일차_이커머스 클론코딩5_(2) 1.3 Template 중복코드 제거1.3.1 화면 단위 기능 정리 지금까지 만든 화면 단위 기능로그인회원가입피드 페이지태그 페이지글 상세 페이지글 작성 페이지비슷한 레이아웃을 가진 기능 묶음상단 내비게이션 바가 없는 레이아웃로그인회원가입내비게이션 바가 있는 레이아웃이미지 슬라이더 기능이 필요한 레이아웃피드 페이지글 상세 페이지이미지 슬라이더가 없어도 되는 레이아웃글 작성 페이지태그 페이지레이아웃에 따라 base 정리상단 내비게이션 바가 없는 레이아웃: base.html내비게이션 바가 있는 레이아웃: base_nav.html내비게이션 바가 있으며 이미지 슬라이더 기능이 포함된 레이아웃: base_slider.html1.3.2 base.html 분할templates/_base.html모든 기반 레이아웃의 ..
#파이썬 34일차_이커머스 클론코딩5_(1) Pystagram Project (4)1. 글 상세 페이지Post에 대한 상세 페이지 구현Template의 중복된 내용을 제거하는 리팩토링 실행1.1 글 상세 페이지1.1.1 기본구조 구현 View: posts/views.py → post_detailURL: /posts/int:post_id/Template: templates/posts/post_detail.htmlposts/views.pydef post_detail(request, post_id):    post = Post.objects.get(id=post_id)    context = { "post": post }    return render(request, "posts/post_detail.html", context)posts/urls.pyf..
#파이썬 34일차_이커머스 클론코딩4_(2) Pystagram Project (3) 1. 동적 URL1.1 URL 경로 변경1.1.1 URL 경로를 변경할 때 생기는 중복작업users/urls.pyurlpatterns = [    ...    path("login2/", login_view),    ...]templates/users/signup.html"signup">    "POST" enctype="multipart/form-data">        ...        "{% url '/users/login2/' %}">로그인 페이지로 이동    posts/views.pydef feeds(request):    ...    if not request.user.is_authenticated:        return redirect("/user..

728x90