분류 전체보기
-
TIL.85 Unit_test_실습_2TIL 2021. 1. 1. 13:58
지난 실습 코드로 아래와 같은 테스트 코드를 작성해보았다. 역시 처음이 어렵지 한번 하고 나니 어느정도 감이 잡힌다. 추후 뷰 작성시에도 테스트 코드는 필수이므로 이번 프로젝트에서의 목표는 소셜 로그인과 테스트코드로 정했다!! import unittest, json, jwt, bcrypt from datetime import datetime, timedelta from django.test import TestCase, Client from user.models import User, Gender, Country from my_settings import SECRET_KEY, JWT_ALGORITHM class SignUpTestCase(unittest.TestCase): def setUp(self): ..
-
TIL.84 Unit Test_실습TIL 2020. 12. 31. 15:25
이번 프로젝트에서는 반드시 내가 작성한 코드를 테스트하는 유닛테스트 코드를 함께 PR을 올려야 한다. 그럼 Wecode 자료를 이용해 실습을 해보도록 하자 아래 테스트 코드를 모두 fail -> success 로 바꿔보았으니 이를 이용해 나의 회원가입/로그인 뷰를 검증하는 테스트 코드를 만들어보자! Test 1 # Test.1/ views.py import json from django.views import View from django.http import HttpResponse, JsonResponse class JustView(View): def get(self, request): return JsonResponse({'message':'Just Do Python with >Wecode'}, st..
-
TIL.83 Unit TestTIL 2020. 12. 30. 14:03
개발한 시스템이 정상적으로 동작하는지 확인하는 TEST 그 방법 중 가장 활용성이 높은 Unit Test를 알아보자 먼저, Test 방법 중 메뉴얼 테스트라는 방법을 우선 알아보자 장점 : 직관적으로 모든 기능을 테스트하기 때문에 코드를 모르는 사람도 이해하기 쉽다. 단점 : 1. 테스트 실행 속도가 굉장히 느리다. 2. 인력 소모가 크고 3. 불안정성이 높고 4. 많은 비용이 발생한다. 따라서 자동화된 Test가 매우 중요하다 메뉴얼 테스트보다는 테스트를 자동화해야한다. (실제로는 메뉴얼 테스트를 실행하는 회사가 많다고 한다!) 개발 프로세스에서의 테스트 비율 1. End To End Test -> cypress (E2E 자동화 Tool) 장점 : 사용자의 실제 시스템 환경에서 동일한 테스트가 가능하다..
-
TIL.82 Git rebaseTIL 2020. 12. 30. 13:31
이전까지 프로젝트에서는 단순히 main과 feature 브랜치만 사용했었다. 추가로 사실 나의 Git PR을 보면 commit 메시지가 생각보다 많은 것을 확인 할 수 있었다. 이 커밋들은 추후 main 브랜치에 Merge 될 경우 모든 커밋 기록과 함께 Merge commit도 함께 남게된다. 만약 규모가 큰 프로젝트의 경우 이러한 커밋들로 인해 독립된 브랜치에서 로직 하나를 작성하고 수정하더라도 다른 작업과 그 내역이 겹쳐 구분하기 어려워지고 main 브랜치를 공유하는 개발자가 많을 수록 커밋의 수는 당연히 많아지는데 이를 branch history가 복잡해진다고 표현한다. 이러한 문제점을 해결하기 위해서 Rebase를 사용한다고 한다. 먼저 브랜치 병합 방법(전략)으로는 2가지 방법이 있다. 1. ..
-
TIL.81 Git FlowTIL 2020. 12. 29. 15:43
이전까지는 프로젝트 진행간 main 과 feature 브랜치 단 2개만 사용하였다 하지만 Git Flow에서는 2개 말고도 Devlop, Hotfix, Release 로 총 5개의 Branch가 존재한다. 1. main branch 제품으로 배포/출시 할 수 있는 브랜치 가장 깨끗한 상태를 유지해야한다. main branch는 절대 배포가능한 상태만으로 존재해야한다. 2. Devlop branch 다음 출시 버전을 개발하는 브랜치 기능 개발을 위한 브랜치들을 병합하기 위해 사용하는 브랜치다. 원하고자 하는 기능을 추가하고 디버깅(QA)까지 하여 문제없이 동작된다고 판단할 경우 이 브랜치를 main브랜치에 Merge 한다. 만약 1.0 카카오톡을 메인에서 클라이언트들에게 배포를 마친 다음 개발자들은 무슨 ..
-
TIL.80 AWS_실습2_EC2 & RDS 연동 및 배포TIL 2020. 12. 28. 16:31
AWS_실습_2 이젠 AWS에 데이터베이스에 대해 알아보자 서비스 -> 데이터베이스 -> RDS 데이터베이스 데시보드에서 DB 생성 전에 필요한 작업이 하나 있다. 바로 파라미터 그룹을 설정하는것이다. (말그대로 설정값이라는 의미로 받아들이면된다) 아래와 같이 파라미터 그룹을 설정하자 이렇게 만들 파라미터 그룹안에서 값을 utf8mb4로 변경하자 다시한번 아래와 같이 값을 변경해줘야한다. 이제 DB에 저장될때 깨지는 문제없을것이다! 이제 데이터베이스를 생성해보자 참고로 DB를 제작한 사람의 첫째딸 My , 둘째딸 Maria 라고 한다!!! 추가로 프로젝트별로 RDS를 하나씩 생성하는것이 아니다. 과금의 요소가 되고 프로젝트 할때마다 RDS를 하나씩 생성하는건 투머치하다. 즉 내가 DB를 하나 올리고 추후..
-
TIL.79 AWS_EC2_실습TIL 2020. 12. 27. 17:32
프로젝트 진행 간 내가 서버를 열어놓아야 프론트 개발자들이 디버깅을 해보기 훨씬 편리하였다. 따라서 항상 서버를 열어두어야했다. 이점은 사실 문제가 되지 않았지만 진짜 문제는 기능 구현을 마치고 브랜치를 옮길때 발생하였다. Merge의 권한이 없는 상태에서 Merge전 브랜치를 옮겼기에 옮길경우 이전 브랜치의 파일/코드가 비어있는 상태이기에 코딩하는데 불편이 있었다. 이를 해결하기 위해 AWS를 이용하는 방법을 세션을 통해 알게되었다. 미리 구글링했으면 빠르게 알 수 있었을텐데 말이다!! 2차 프로젝트에서는 실습을 바탕으로 나의 로컬DB를 AWS에 올려 서로 문제없이 코딩 할 수 있도록 적용해보려 한다 AWS EC2 인스턴스를 구성하고 터미널에서 EC2 인스턴스로 접근하는 실습을 진행해보자. EC2 구축..
-
[1차_PROJECT] Lineamigos_프로젝트 후기나만의 이야기 2020. 12. 26. 21:44
생애 첫번째 프로젝트를 마무리하였다. Linefriends Store 웹 사이트를 기준으로 Lineamigos 라는 클론 프로젝트를 진행하였다. 라인 프렌즈의 Line 과 스페인어로 친구라는 뜻의 Amigo를 합쳐 만든 팀명이었다. (야무진 팀명을 지어주신 경오님 감사드립니다!) 팀명 LineAmigos 팀원 Frontend : 안미현(PM), 강경오, 이은진, Backend : 문승희, 오승현 개발기간 2020년 12월 14일 ~ 2020년 12월 24일 (10일) 기술 스택 (Frontend) HTML / CSS JavaScript React(CRA 세팅) React DOM React(Router DOM) Sass Slick-slider RESTfulAPI 기술 스택 (Backend) Python D..