본문 바로가기

728x90

분류 전체보기

(148)
#파이썬 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..
#파이썬 34일차_이커머스 클론코딩4_(1) python manage.py shellfrom posts.forms import CommentFormdata = {"content": "SampleContent"}form = CommentForm(data=data)form.is_valid()form.errorsfrom users.models import Userfrom posts.models import Postuser = User.objects.all()[0]post = Post.objects.all()[0]data = {"content": "SampleContent", "user": user, "post": post}form = CommentForm(data=data)form.is_valid()comment = form.save()comment.i..
#파이썬 33일차_이커머스 클론코딩3 TerminalUser 생성하기python manage.py shellfrom users.models import UserUser.objects.filter(username="pystagram")User.objects.filter(username="pystagram").exists()User.objects.filter(username="no_user")User.objects.filter(username="no_user").exists()users/views.pyfrom users.models import Userdef signup(request):    if request.method == "POST":        form = SignupForm(data=request.POST, files=reques..
#파이썬 32일차_이커머스 클론코딩2 인스타그램 비슷하게 동작하는 프로그램을 만들어보자러스트 프레임워크 말고 장고 내부 프레임워크만을 이용해서 만들것 Pystagram Project1. 기능 설정인증 시스템피드 페이지글과 댓글동적 URL해시 태크글 상세 페이지좋아요 기능팔로우/팔로잉 기능 2. 환경 설정 가상환경 생성(Terminal)python -m venv pystagramcd pystagramsource ./bin/activate 라이브러리 설치(Terminal)pip install django Pillow 프로젝트 생성(Terminal)django-admin startproject config .기능별 디렉토리 설정(Terminal)mkdir templatesmkdir static환경설정(config/settings.py)TEMPLA..
#파이썬 31일차_이커머스 클론코딩1 1. 이커머스(E-Commerce)1.1 이커머스(E-Commerce, 전자상거래)란? "전자 상거래" 또는 "인터넷 상거래"의 준말인터넷을 통해 상품이나 서비스를 판매하고 구매하는 온라인 비즈니스 활동을 의미함이커머스는 기술적으로 다양한 영역을 아우르며, 지속적인 발전과 혁신이 필요한 분야임다양한 기술 스택과 도구를 활용하여 효율적이고 안전한 이커머스 플랫폼을 구축할 수 있음1.2 이커머스의 예시온라인 상점:이커머스 비즈니스의 핵심은 온라인 상점으로 시작함이 상점은 제품 목록, 가격, 장바구니 및 결제 시스템을 포함함고객이 상품을 검색하고 주문할 수 있는 플랫폼을 제공함전자 결제:전자 송금, 디지털 지갑 및 기타 온라인 결제 방법을 사용하여 처리하는 사업 분야이러한 결제 시스템은 고객이 제품을 구매할 ..

728x90