TIL
-
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 구축..
-
TIL.78 JWT Token 유효시간 설정TIL 2020. 12. 26. 21:07
이전까지는 로그인시 jwt를 포함한 응답을 함께 전송하였으며 우리 서비스를 사용하는 사용자가 맞는지, 유로서비스를 이용 중인 사용자는 맞는지 등 인가를 이용해 토큰이 우리 서비스에서 발행된 토큰이 맞는지에 따라 접근권한을 부여하였다. 토큰은 만료시간을 설정해줄 수 있다. 보통 로그인후, 토큰을 생성하여 응답으로 전달해준다. 사용자의 토큰 정보는 브라우저 스토리지에 저장해놓은 상태로 로그인한 사용자가 어떠한 기능/페이지에 접근하기 위해 전체 요청이 아닌 세션ID/토큰만으로 요청을 보내 사용된다. 이때 만료시간을 설정하지 않으면 토큰이 계속 만료되어 게시물을 하나 등록하고 또 다른 게시물을 등록하고 싶을때 다시 로그인해야하는 번거로움이 발생한다. 실제로는 이전처럼 만료시간을 설정하지 않는 토큰은 사용되지 않..
-
TIL.77 List Comprehension의 속도가 빠른이유TIL 2020. 12. 24. 23:19
Python에는 Comprehension 이라는 독특한 문법이 있다. 이는 요소를 생성하는데 있어 간력하게 생성할 수 있는 방법을 제공한다. 리스트 안에 for 문, if문 등으로 지정하여 리스트를 생성하는 것을 리스트 컴프리헨션이라 하는데 TIL. 5 list 함수 응용편_3 :: muntari Log (tistory.com) 컴프리헨션(Comprehension)은 원하는 데이터를 파이썬에서 제공하는 자료구조(list, dictionary, set)에 담아 표현하려할 때 사용할 수 있는 문법으로 종류는 4가지이다. 1. List Comprehension 2. Dictionary Comprehension 3. Set Comprehension 4. Generator Comprehension 이번 프로젝트 ..
-
TIL.76 AWSTIL 2020. 12. 23. 16:51
AWS란? AWS는 Amazon Web Service의 줄임말 입니다. AWS는 소위 클라우드 서비스라고도 합니다. 클라우드 서비스는 서버 등의 인프라스트럭쳐를 필요한대로 on demand로 사용할 수 있는 서비스 입니다. 즉, 유저가 직접 서버를 구입하고 설치할 필요 없이 AWS상에서 클릭 몇번으로 서버를 구축하고 사용할 수 있습니다. 웹서비스 배포를 위한 AWS 필수 개념 AWS가 제공하는 기능들은 굉장히 방대하고 다양합니다. 그 중 일반적으로 많이 사용되는 개념과 기능들은 다음과 같습니다. EC2 Security Group RDS Load Balancer (ALB) Route 53 S3 EC2 Elastic Compute Cloud AWS 상에서 사용하는 Server. EC2 서버에 API를 배포하..
-
TIL.75 RSETfulAPITIL 2020. 12. 22. 23:30
이번 라인프렌즈 클론 프로젝트 진행간 적용하였던 RESTfulAPI에 대해 다음주 바로 진행하는 티웨이항공 클론 프로젝트간 다시 한번 사용하게될 RESTfulAPI를 간략히 스터디 용도로 정리하고 추후 세부적으로 다뤄보도록 하자 먼저, RESTful API 란? 백엔드에서 API의 엔드포인트 구조를 표현하는 방식 중 의 하나!이다. (데이터를 어떻게 주고 받을지를 URL로 표현하는것을 레스트풀 api라 이해해도 좋다!!) RESTful API vs GraphQL API GraphOL API란? GraphQL 은 Graph Query Language 의 줄임말이다. Query Language 란 무엇인가? Query Language 는 정보를 얻기 위해 보내는 질의문(Query)을 만들기 위해 사용되는 C..
-
TIL.74 삼항 연산자TIL/Python 2020. 12. 21. 22:24
프로젝트 진행 간 if문으로 가지치는 방법이 싫어 찾아봤던 삼항 연사자를 간략히 정리해보자 1. 삼항 연산자(Ternary operators) # 참인경우 값 if 조건 else 거짓인경우 값 연산 대상의 개수에 따라 연산자를 분리하면 단항 연산자, 이항 연산자, 삼항 연산자로 분리 합니다. 단항 연산자는 부호(+, -), not 등이 있으며 +, -, *, / .... 등 대부분의 연산자가 이항 연산자 입니다. 삼항 연산자는 1개가 존재 합니다. 아래와 같이 QueryString 요청에 "P"가 포함될 경우에 따라 앞의 식을 실행하지 뒤의 식을 실행할지 정하는 식으로 사용할 수 있다. # A = apple / B = banana a_name = request.GET.get('P', None) produ..