멘토링 Django ORM심화 (8회차 정리 250527)
·
멘토링
📌 장고 ORM에서 역참조란 무엇인가?역참조는 ForeignKey를 가지고 있지 않은 모델에서 ForeignKey를 가진 모델을 참조하는 것을 의미하며, _set 또는 related_name을 사용하여 접근할 수 있습니다.💡 역참조 시 related_name을 사용하는 이유는?_set 대신 더 의미 있는 이름으로 변경하여 가독성을 높이기 위해 사용합니다.🎥 이 멘토링 세션에서는 Django ORM을 활용한 모델 생성, 정참조/역참조, 필터링, 최적화 기법까지 전반적인 흐름을 실습 중심으로 다룹니다.🤖 DRF와 백엔드 지식의 한계DRF는 깊이 있는 전달은 어렵지만, 실습 수준에서는 지원 가능함.대신 Django 기반의 백엔드 지식은 대부분 설명할 수 있으며, 가능한 한 도움을 줄 예정임.📚 가상 ..
멘토링 Django 심화 (7회차 정리)
·
멘토링
1. 🗒️ 마이그레이션 파일과 데이터베이스 CRUD1.1 마이그레이션 파일의 개념과 역할마이그레이션 파일은 데이터베이스 구조 변경 이력을 기록하는 설계도입니다.Django 외의 프레임워크에서도 "마이그레이션(Migration)"은 데이터 이동 또는 구조 변경 기록을 뜻하는 일반적인 용어입니다.makemigrations: 모델 클래스 변경을 감지해 마이그레이션 파일 생성migrate: 마이그레이션 파일의 내용을 실제 DB에 반영📌 마이그레이션 파일은 수정 이력이 누적되어 관리되므로, 변경 시 기존 파일을 수정하기보다 새 파일을 생성하여 이력을 쌓는 것이 원칙입니다.2. 🖥️ 아이디와 데이터 조작 방식2.1 ID(PK) 처리의 유의사항Django는 자동으로 ID(PK)를 생성하므로 일반적인 경우 직접 ..
멘토링 내용 정리 Django 실무 중심 웹 개발 로드맵 (6회차 정리)
·
멘토링
🧑‍🏫 Django 멘토링 세션 요약: 실무 중심 웹 개발 로드맵🛠️ 개발 환경 및 IDE 선호도VS Code, PyCharm, Cursor 등 다양한 IDE가 존재하며 개인 경험에 따라 선호가 갈림JetBrains사의 IDE군은 언어 특화:PHP: PhpStormJavaScript: WebStormJava: IntelliJCursor는 VS Code 기반이며 최근 급부상 중일부 고급 개발자들은 Vim에 세팅을 입혀 사용하기도 함 (플러그인 적극 활용)📌 실전 팁:처음에는 VS Code로 시작해도 무방하며,다양한 환경을 경험하면서 자신에게 맞는 툴을 찾는 것이 중요⚙️ Django vs Flask 실무 활용Django의 핵심 기능: ORM, Admin, Auth 등 다양한 내장 기능Flask는 "..
📌 실무 멘토링에서 얻은 Django + 배포 환경 인사이트 요약(250508)
·
멘토링
📌 실무 멘토링에서 얻은 Django + 배포 환경 인사이트 요약Django 백엔드 실무에서는 어떤 도구와 전략을 사용하는지, 멘토링을 통해 배운 내용을 정리했습니다. 초격차 캠프, 실전 프로젝트에서 바로 적용 가능한 정보만 모았습니다 💡✅ 1. 실무 개발자가 선호하는 IDE는?🛠️ 답변 요약:VSCode가 실무에서 가장 많이 사용됨JetBrains 계열(Pycharm, IntelliJ) 도 자바, Django에서 사용됨Vim 커맨드 기반 설정으로 효율 높이기도 함💬 보충 설명:VSCode는 가볍고 커스터마이징이 쉬워서 인기JetBrains는 코드 보완 기능이 강력하나 무겁다는 단점도일부 개발자들은 Vim keybinding을 설정해 단축키 기반의 빠른 작업 선호✅ 2. 실무에서는 CBV vs F..
멘토링 질문(250508)
·
멘토링
✅ 1. 실무에서 CBV와 FBV는 어떤 기준으로 나누어 사용하나요?💡 배경:CBV(Class-Based View): 재사용성과 구조화에 유리FBV(Function-Based View): 빠르게 작성할 수 있고, 조건 분기나 커스텀 처리에 적합🧑‍💻 실무 기준:CRUD, 페이징 등 반복되는 패턴 → CBV (ListView, CreateView 등)복잡한 로직, 예외 처리, 조건문 많은 경우 → FBV팀에서는 CBV로 기본 뼈대를 만들고 FBV로 특이 케이스만 보완하는 식의 혼합 전략을 많이 씀✅ 2. 프로젝트 규모나 팀에 따라 선택 기준이 다른가요?💡 배경:팀의 규모, 숙련도에 따라 코드 스타일이 달라질 수 있어요.🧑‍💻 실무 기준:소규모 개인/스타트업: FBV로 빠르게 개발하는 경우도 많음..
멘토링 내용 정리 Flask & API (5회차 정리)
·
멘토링
📌 개념 정리Flask와 Django의 특징 비교✔️ Flask규칙이 자유로워 원하는 방식대로 개발 가능파일 구조가 명확하지 않아 복잡성 증가 가능최소한의 규칙만 지키면 빠르게 작동✔️ Django명확한 규칙과 구조정해진 파일 구성으로 일관된 개발 가능규모가 크거나 협업 프로젝트에 적합🚦 동작 원리 및 구조Layered Pattern (계층 구조)🔸 Controller요청(request)/응답(response) 처리입력 데이터 검증(validation)응답 데이터 형식 변환🔸 Service비즈니스 로직 처리Controller와 Repository 사이를 연결🔸 Repository데이터베이스(DB)와의 통신 담당데이터 저장 및 조회 역할💻 코드 예시 및 흐름 분석Flask에서의 API 흐름1️⃣..
멘토링 내용 정리 database (4회차 정리)
·
멘토링
📌 데이터베이스 설계와 AWS 클라우드 서비스 멘토링 정리🚩 1. 데이터베이스 테이블 설계와 데이터 타입테이블명은 기본적으로 복수형으로 작성합니다.VARCHAR: 커피 이름 등 문자열 데이터 저장 시 사용합니다.DECIMAL: 가격 정보를 소수점까지 정확히 저장 (예: 총 10자리 중 소수점 2자리)모든 테이블은 id 컬럼을 가지며, 이는 기본 키(PK)로 설정됩니다.카테고리와 사이즈는 별도의 테이블로 분리하고, 외래키(FK)로 연결하여 명확한 관계를 유지합니다.하위 카테고리는 상위 카테고리를 참조하는 방식으로 데이터 구조를 구성합니다.🚩 2. 정규화와 데이터 구조의 중요성정규화는 효율적 데이터 관리를 돕지만, 과도하면 복잡성이 증가할 수 있습니다.데이터 구조 설계 시 이름, ID, 단위를 사용하며..
멘토링 과제 database ERD 스타벅스(4회차)
·
멘토링
🚀 중간 테이블에 대한 설명1️⃣ DRINK_INGREDIENTS (음료와 재료 간의 관계 중간 테이블)관계:DRINKS와 INGREDIENTS 테이블 간의 N:M 관계를 중간 테이블인 DRINK_INGREDIENTS를 사용해 연결합니다.설명:하나의 음료는 여러 재료를 가질 수 있고, 하나의 재료는 여러 음료에서 사용될 수 있습니다.예를 들어, "카라멜 마끼아또" 음료에는 "우유", "카라멜 시럽" 등의 재료가 포함될 수 있습니다.반대로, "우유"는 여러 음료에 사용될 수 있습니다. (예: "카라멜 마끼아또", "카페 라떼" 등)관계:DRINKS(1) : DRINK_INGREDIENTS(N) : INGREDIENTS(M)DRINK_INGREDIENTS 테이블이 음료와 재료의 관계를 관리하는 역할을 합니..