티스토리 뷰

728x90
반응형

소개글

1.  참여 프로젝트: 파이썬으로 배우는 백엔드 개발 실무 : API 개발, 구현, 배포 등

2. URL: comento.kr/edu/learn/ITSW/SW%EA%B0%9C%EB%B0%9C-G816

 

파이썬으로 배우는 백엔드 개발 실무 : API 개발, 구현, 배포 등 | 코멘토 직무부트캠프

[ 차시별 과제 소개 ]Python은 빅데이터, 인공지능 등 다양한 분야에서 널리 사용될 뿐만 아니라, 웹 개발에서도 유연함과 강력함을 인정받고 있습니다.해당 캠프는 1주차에 기초

comento.kr

3. 결제 내역

직무부트캠프 결제 내역

3. 참여한 이유: 포트폴리오 보충할 내용과 백엔드에 관심이 있어서 어떤게 일하는지 알고 싶어서

4. 알게된 경로: SNS 광고

5. 진행 방식: 5주동안 맨토님과 함께 파이썬 문법과, Django에 대해서 알고 실전 현업에서 하는 업무 일부분이나 비슷한 내용을 과제 형식으로 수행하고 자신만의 API문서와 구현을 하는 방식으로 진행이 된다.

1주차

현직자 온라인 세션

- 코멘토에서 오픈채팅방메세지대한 안내를 못 받아서 참여를 못했다.

 

1차 과제 수행

Python 기초 지식 쌓기 

- 파이썬 설치

- 파이썬 기본 문법 공부

- 기초적인 알고리즘 문제 풀이

- git 주소: github.com/jih3508/0131-Backend-BootCamp/tree/main/1%EC%A3%BC%EC%B0%A8%20%EA%B3%BC%EC%A0%9C

 

jih3508/0131-Backend-BootCamp

Contribute to jih3508/0131-Backend-BootCamp development by creating an account on GitHub.

github.com

1주차 후기

1주차는 파이썬 설치와 파이썬은 이미 공부하고 알고리즘도 코딩테스 준비하면서 아무런 문제는 없었다.

2차 과제 수행

Django 맛보기

1) 장고 설치와 웹 개발 디자인 패턴 익히기

2) 본인의 웹 페이지 디자인과 개발 및 Github 업로드

3) 예제에 요구 사항을 모델에 반영하여 Django extension을 통한 ERD 그리기

- 코드

from django.db import models

class Todo(models.Model):
    id = models.BigAutoField(primary_key=True)
    title = models.CharField(max_length=200,null=False)
    description = models.CharField(max_length=200,null=False)
    id_completed = models.BooleanField(default=False)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)


class Comment(models.Model):
    id = models.BigAutoField(primary_key=True)
    contents = models.CharField(max_length=200,null=False)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

- ERD

Todo테이블과 Comment이미지

- 과제 git 주소: github.com/jih3508/0131-Backend-BootCamp/tree/main/2%EC%A3%BC%EC%B0%A8%20%EA%B3%BC%EC%A0%9C/project

 

jih3508/0131-Backend-BootCamp

Contribute to jih3508/0131-Backend-BootCamp development by creating an account on GitHub.

github.com

2주차 후기

Spring과 달리 Django는 가상환경부터 해서 cmd 화면이나 리눅스, git 등 Devops부분은 어느 정도 다뤄야 프로젝트를 할수 있다. 그리고 가이드따라 했는데 html 연결시키면 css부분 안되는 경우가 있고 Django 모델 설정하면서 모델이 잘 안되는등 많은 시행착오가 있었지만 이런 에러부분은 고민하고 해결하려고 노력하면 Django 셋팅부분에서 많은 도움이 되었다.

그리고 MVC모델에 대해서 많은 공부가 되었다.

 

3주차

주제: DRF(django rest framework)를 이용한 API 개발

1) 개발환경 구성

2) API 설계

3) DRF를 활용한 API 개발 및 Guthub 업로드

4) OpenApi Specification를 통한 API 문서 만들기

 

진행 상황

1. 가상환경 설치

2. 장고 설치(pip install django)

3. djangorestframe work 설치

4. Serializer 정의

5. INSTALLED_APPS안에 ‘rest_framework’추가하기

6. Rest API 정리하기

-HTTP 프로트콜에 있는 Method를 활용한 아키텍처 스타일이다.

-HTTP Method를 통해서 Resource를 처리한다.

-CRUD를 통한 Resource 조작을 할 때 사용한다.

-GET: 주소창에 파라미터가 노출된다. 브라우저에서 주소에 대한 캐시가 이루어 지므로, 정보를 얻을 때 사용 한다.

-POST: 주소 창에 파라미터가 노출 되지 않는다. body에 데이터를 담아서 전송한다. 주로 생성할 때 사용한다,

-PUT / PATHCH: Body에 데이터가 들어있으며, update에 사용된다.

-DELETE: 주소창에 파라미터가 노출되고 삭제할 때 사용한다.

- git 주소: github.com/jih3508/0131-Backend-BootCamp/tree/main/2%EC%A3%BC%EC%B0%A8%20%EA%B3%BC%EC%A0%9C/project

 

jih3508/0131-Backend-BootCamp

Contribute to jih3508/0131-Backend-BootCamp development by creating an account on GitHub.

github.com

 

3주차 후기

DRF와 ORM에 대해서 공부를 해보았는데 Serializer직렬화를 사용하면 mapping주소를 각각따로 작성 할 필요가 없다는것을 알게 되었다. 기본적으로 CRUD작성할때는 각 mapping주소 작성을 해줘야 하고 Spl작성도 해야 하는데 이런 고생을 덜 할 수 있다는것을 알게 되었다. 그리고 맨토님이 피드백하면서 git 업로드할때 주의점과 setting부분에서 수정해야 할부분을 지적하면서 더 많은것을 배울수 있었고 더 중요한것은 면접에 대한 팁도 알려 줘도 좋았다.

 

4주차

주제: API 구현 및 배포

1) 요구 사항을 통한 API 최종적으로 개발

2) 클라이언트 개발자와 소통할 수 있는 API 문서 제작

 

진행 과정

1.  주제: 편의점 마트 전산 시스템

2.  문서 작성

- 개요

- 개발 스택

- 요구 사항

- ERD

- DB

- API 작성하기

 

결과

- ERD

- model code

from django.db import models
from django.utils import timezone


class Member(models.Model):
    name = models.CharField(max_length=100, null=False)
    grade = models.CharField(max_length=100, null=False)
    phone = models.CharField(max_length=100)
    point = models.IntegerField(default=0)
    address = models.CharField(max_length=200)
    created_at = models.DateTimeField(default=timezone.now)
    updated_at = models.DateTimeField(null=True, blank=True)

    def __str__(self):
        return self.name

    def publish(self):
        self.updated_at = timezone.now()


class Item(models.Model):
    name = models.CharField(max_length=100, null=False)
    category = models.CharField(max_length=100)
    quantity = models.IntegerField(default=0)
    brand_name = models.CharField(max_length=100, null=False)
    barcode = models.IntegerField(blank=True)
    registered_at = models.DateTimeField(default=timezone.now)
    updated_at = models.DateTimeField()

    def __str__(self):
        return self.name

    def publish(self):
        self.updated_at = timezone.now()


class Pay(models.Model):
    pay_way = models.CharField(max_length=100)
    point = models.IntegerField()
    price = models.IntegerField(null=False)
    pay_time = models.DateTimeField(default=timezone.now)
    refund = models.BooleanField(null=False, default=False)
    is_member = models.BooleanField(null=False, default=False)
    Member_id = models.ForeignKey(Member, related_name="member", on_delete=models.CASCADE)
    Item_id = models.ForeignKey(Item, related_name="item", on_delete=models.CASCADE)


class Employee(models.Model):
    name = models.CharField(max_length=100, null=False)
    position = models.CharField(max_length=100)
    work_time = models.IntegerField(default=0)
    work_start = models.DateTimeField(default=timezone.now)
    birthday = models.DateField()
    address = models.CharField(max_length=200)
    phone = models.CharField(max_length=100)
    updated_at = models.DateTimeField()

    def __str__(self):
        return self.name

    def publish(self):
        self.updated_at = timezone.now()

 

- 문서: drive.google.com/file/d/1Zep0LiKUptjbCIgNK93HBRIU6m_i8oVs/view?usp=sharing

 

Backend 실무 4주차 과제.pdf

 

drive.google.com

- git 주소: github.com/jih3508/0131-Backend-BootCamp/tree/main/4%EC%A3%BC%EC%B0%A8%20%EA%B3%BC%EC%A0%9C

 

jih3508/0131-Backend-BootCamp

Contribute to jih3508/0131-Backend-BootCamp development by creating an account on GitHub.

github.com

마지막 후기

API 문서 작성하면서 멘토님에서 피드백 받으면서 프로젝트를 수정하고 보안 했다. 코맨트 5주 동안하면서 짧았고 Django에 대해서 공부하는데 도움이 많이 되었다. 그리고 구직활동하면서 면접준비나 회사에 입사에 대한 이야기를 많이 들어서 좋았습니다.  그리고 모르는 부분이나 잘 안되는부분은 물어보면서 해결하면서 그냥 인강이나 독학으로 공부하는 것보다 좋았다. 그리고 back-end 직무에 대해서 어떻게 공부해야는지 어떤 역활을 하는지 이번 과정 통해서 내가 몰랐던 부분을 알아서 좋았습니다.

마지막으로 지금 코로나로 인해서 사람들이랑 팀프로젝트나 인턴활동등 대외활동이 많이 제한적이라 포트폴리오나 팀프로젝트, 인턴등 지금 구하기가 너무 힘들어서 코멘토 같은 온라인으로 통해서 직무 경험이나 프로젝트를 하면서 취업준비하는데 도움이 되었다.

 

본 후기는 직무부트캠프를 직접 구매하고 수강한 후 작성하였으며, 후기 작성 이벤트에 참여하여 소정의 원고료를 받았습니다.

 

728x90
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함