오늘 일주일 기간을 두고 첫 프로젝트를 시작했다. 프로젝트는 POC(proof Of Concept) 개념으로 진행된다 POC는 나도 이번에 처음 알았는데, 새로운 프로젝트가 실현 가능성이 있는가에 대한 최소단위까지만을 개발하는 것을 의미한다고 한다. 이번 프로젝트는 팀원 단위로 하는 프로젝트인 만큼 내 흥미를 끌고 있다.
⚙주제 선정
⚙기능 선정
이후 페이지가 갖출 기능에 대해 토론했다.
1. 재료 입력
2. 추천 레시피 화면에 표시
3. 추천 레시피 상세 표시
4. 좋아요 선택, 취소
⚙API 구분
기능을 정하고 나서 API를 어떻게 구성할지 나누어 보았다.
1.레시피 리스트 가져오기
2. 레시피 상세보기
3. 댓글 작성
4. 좋아요 항목 가져오기
5. 좋아요 선택
6. 좋아요 취소
⚙Github
팀장님의 Git계정에 프로젝트를 관리할 레포지토리를 생성했다. 앞으로 모든 프로젝트는 git을 통해서 관리하게 될 것이다.
⚙느낀점
생각보다 프로젝트를 하기 위해서 선정해야하는 항목도 많고 생각해야될 것도 많았다. 기능 선정하기 앞서 우리가 구현가능한 기술인지도 확인해야 했으니 말이다. 그 뿐만 아니라 기능을 선정하고 API를 구분하는 것은 더욱 더 헷갈렸고 구상이 끝난 지금도 여전히 헷갈린다 아마 프로젝트 진행동안에 계속해서 위 구상안은 계속해서 변동되지 않을까 생각이 든다. 역시 오늘도 많이 부족하다는 것을 느꼈다.
AWS강의를 듣기 시작했다. 인프라 관련 직종이 돈을 엄청 번다는 강의 내용을 들은 이후로 AWS강의에 관심이 크게 가기 시작했다.
⚙ 강의 목표
⚙ AWS란?
⚙ S3
⚙ IAM
⚙ IAM 이용해서 AWS SDK를 이용한 S3 파일 업로드
IAM은 S3에 연동하기 위하ㅐ 사용하는 서비스이다 이때, S3에 연동하는데 도움을 주는 라이브러리가 AWS SDK이다.
1. 사용자 추가
2. SDK 사용하기
aws --version
// 복사 명령어 설명 : https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html
aws s3 cp {파일명} s3://{버킷이름} --acl public-read
⚙ Python을 사용해서 S3에 연동하기
실무에서 실질적으로 더 많이 사용하는 형식으로 프레임워크 Flask를 이용해서 S3에 업로드가 가능하다. 추가로 Python으로 SDK를 제어하기 위해서는 boto3 라이브러리를 추가로 설치해야한다.
import boto3
from flask import Flask, render_template, request, jsonify
@app.route('/')
def main():
return render_template('index.html')
@app.route('/fileupload', methods=['POST'])
def file_upload():
file = request.files['file']
s3 = boto3.client('s3')
s3.put_object(
ACL="public-read",
Bucket="{버킷이름}",
Body=file,
Key=file.filename,
ContentType=file.content_type)
return jsonify({'result': 'success'})
⚙ S3 정적호스팅 기능을 이용해 외부에 공개
S3의 정적호스팅 기능을 이용하면 웹페이지를 다른 사람에게도 보여줄 수 있다.
⚙ S3 비용계산
AWS사용하면서 발생하는 비용을 계산하는데 도움을 준다.
https://calculator.aws/#/createCalculator/S3
시간이 굉장히 부족하니 효율적으로 공부하고 프로젝트에 임해야 겠다는 생각을 했다. 앞으로 다음의 항목들을 지켜봐야겠다.