project 20

Github Action란? 핵심 개념은?

GitHub Actions란? GitHub Actions는 코드 저장소(repository)로 유명한 깃허브(GitHub)에서 제공하는 CI(Continuous Integration, 지속 통합)와 CD(Continuous Deployment, 지속 배포)를 위한 비교적 최근에 추가된 서비스입니다. 당연히 GitHub에서 코드를 관리하고 있는 소프트웨어 프로젝트에서 사용할 수 있으며 개인은 누구나 GitHub에서 코드 저장소를 무료로 만들 수 있기 때문에 다른 CI/CD 서비스 대비 진입장벽이 낮은 편입니다. GitHub Actions를 사용하면 자동으로 코드 저장소에서 어떤 이벤트(event)가 발생했을 때 특정 작업이 일어나게 하거나 주기적으로 어떤 작업들을 반복해서 실행시킬 수도 있습니다. 예를 들..

Git issue 생성

Github를 다루다 보면 Issue 창을 발견하게 될 것이다. 이 창이 뭘까 계속 궁금해져서 참지 못하고 공부해보았다. Issue 생성 과정 1. github repository의 Setting 탭에 살펴보면 Features의 Issues 부분에 Set up templates 를 클릭한다. 2. Custom templates를 추가로 눌러서 설정했다. 3. 다 변경했으면 Commit을 하자 그렇게 하면 내 Repo에 이렇게 업데이트되어있음을 확인할 수 있다. 이렇게 template를 업데이트하는 이유로는, 혼자 하는 경우가 아닌, 협업에서 모든 팀원이 양식을 지켜줘야 하는 이유가 있다. 이제 그럼 이 markdown 양식을 참고해서 모든 팀원은 Git issue에 작성해주면 된다.

Jira 사용법

Jira는 짧은주기의 개발단위를 반복하여 프로젝트 완성시켜나가는 에자일 방식의 프로젝트 관리 협업 툴이다. jira는 2가지 용도로 사용되 수 있다. 1. 에자일 방식의 프로젝트 관리 → 칸반, 스크럼 등을 사용. 2. 개인/사무용 업무 관리 Trello 처럼 가볍게 일처리가 가능한 툴은 아니지만, 월등히 많은 기능을 가지고 있다. 하지만 그 만큼 숙력도가 요구되므로 충분한 학습이 필요하다. 워크 플로우 워크 플로우는 이슈의 lifecycle이 완료될 때까지의 상태 변화를 의미한다. 각 박스는 상태를 의미, 화살표는 상태 전이를 의미한다. 프로젝트 상황에 맞게 워크 플로우를 설계하여 사용해야 한다. 이슈(Issue) 이제 기획자와 개발자라면 반드시 사용해야만 하는 툴이 된 지라, 지라를 사용할 때 구성원..

CookAI 회고

1. 최종 서비스 아키텍쳐 2. 프로젝트 진행 과정 1주차: 기획 및 개발 환경 구성 전체적인 방향성, MVP 기능, 개발 일정, 역할분담 상의 및 결정 개발 용이성을 위해 통일된 개발환경 구성 및 패키지 관리 의사결정 Poetry, pyenv 사용 2주차: BE 구현, AI 활용 의사결정 테스트코드 작성 사용자 인증 기능 개발 나의 냉장고 기능 개발 게시글 CRUD 기능 개발 및 의사결정 사물인식 AI, 추천알고리즘 활용 의사결정 Cronjob을 이용한 주기적인 데이터 삭제 기능 개발 3주차: AI, FE 구현,배포 RoboFlow를 이요한 사물인식: 크롤링, 라벨링, 학습 진행 CBF, CF 추천알고리즘 구현 Docker와 AWS를 이용해 배포 환경 조성 및 배포진행 사용자 인증 파트의 FE 구현 C..

project/project 2023.07.14

CookAI 중간 점검

1. MVP 중간발표 자료(기입) 프로젝트 정보 서비스명: cookai 서비스 기획 의도: 사용자의 취향과 식자재 상황에 알맞은 레시피를 추천해주는 레시피 개인화 추천 서비 스 및 사물인식기능 제공 프로젝트 한 줄 설명: 나도 cookai만 있으면 손쉽게 메뉴를 선정하고 요리하고, 남은 재료를 관리 할 수 있다?! 사용자가 가지고 있는 식재료에 대한 정보를 제공 받으면, 데이터 베이스에 존재하는 레시피 중 가장 적절한 레시피를 추천하고, 부족한 식재를 구매할 수 있도록 연결해주는 서비스를 제공합니다. 최종 MVP 스펙: 사용자 관련: 기본 CRUD-회원가입/토큰인증로그인/회원탈퇴/이메일인증/비밀번호재설정/회원정보수정/프로필사진, 마이 페이지(사용자 정보 및 관련 댓글/글 조회가능),팔로우/팔로잉, 소셜로..

project/project 2023.06.27

CookAI 기획

내일배움캠프에서 벌써 최종 프로젝트를 맞이했다. 이번 기획은 무려 5주치, 그래서 많은 기획 내용이 필요했고 다행히 많은 팀원 분들의 아이디어로 기획시간이 빼곡히 지나갔다. 사실 기획은 저번 주 월, 수에 걸쳐서 진행했지만, 워낙 서버 작업이 바빴던 탓에 지금에야 올린다. 프로젝트 명 : CookAI 이번 프로젝트를 통해 우리의 식탁 등 레시피를 제공하고, 개인화된 재고 관리 서비스와 개인화된 레시피 추천 서비스를 제공하는 것이 우리 프로젝트의 목표이다. 또한 팀원들 개개인이 능력 향상을 이루고 싶은 점은 다음과 같다. 머신러닝 라이브러리 활용 프론트엔드와 백엔드의 분리 aws를 이용한 서비스의 배포 완주까지 주체적인 기술적 의사결정 및 협업 경험 체득 와이어프레임은 다음과 같이 웹과 모바일 반응형을 목..

project/project 2023.06.13

[트러블 슈팅]pyenv와 poetry 환경설정 과정

이번 최종 프로젝트에 pyenv 패키지를 통한 poetry 다운로드를 목표로 삼아서 먼저 하신 다른 분들의 블로그를 통해 설정해주었다. 두 개 다 중요한 것은 환경변수를 잘 조절해 주는것으로 보았다. poetry는 대박 사이트를 참고하면 편하다. 근데 문제는 pyenv에서 생기는데, pyenv를 인지하지 못한다. 그리고 그 전에 pip부터 인지하지 못했다. 얘가 왜 이럴까.. 싶었는데 python을 다운받으면 pip도 자동으로 install되기 때문에 pip도 정상작동해야 한다. 그런데 어림없었던 이유는 path 환경설정이 제대로 되지 않았기 때문이다. 실제 pip가 다운된 곳과 path에 적힌 경로와 일치하지 않았기 때문 path가 하는 역할을 어느 정도 이해했고, CS가 왜 중요한지 환경설정에서 익혀..

project/project 2023.06.08

인천주막 (DRF_머신러닝 연계)(3)

프론트에서 배운 것 저번에 큰 일을 치렀으니 이번엔 프론트 좀 나아지려나 했는데 여전히 갈 길이 멀다는 결론 술/브루어리/이벤트 3개 페이지에서 모두 리뷰창이 화면에 구현되어야 하는데, 모델과 함수, url이 모두 1개만 있는 것을 보고 식겁해서 어떻게 할지 공식문서를 찾아보았다. https://docs.djangoproject.com/en/4.2/ref/models/fields/ Django The web framework for perfectionists with deadlines. docs.djangoproject.com 위 페이지를 보면 choice를 하는 코드가 있는데 이 코드를 참고하면 되겠다. 위와 같은 형태로 변경해주면 되는 것이라고 공식문서에서는 설명해주고 있다. 그럼 이 형태로 서버에서..

project/project 2023.05.26

인천주막 (DRF_머신러닝 연계)(2)

역할 분담 단계별로 차근차근 할 것이기 때문에 오늘은 백엔드 쪽 역할을 분담했다. 이번에 내가 맡은 부분은 페이지네이션이다. 기존 팀에서 한 번도 수행한 적이 없어서 다른 팀의 코드를 보고 공부할 때만 접한 것이라 조금 선행 공부를 했다. 페이지네이션 선정 페이지네이션은 2가지로 나뉘어 있어서 어떤 방식으로 선택해야 할지 고민이었다. 1. 오프셋 기반 페이지네이션(Offset-based Pagination) - DB의 offset쿼리를 사용하여 ‘페이지’ 단위로 구분하여 요청/응답 2. 커서 기반 페이지네이션(Cursor-based Pagination) - Cursor 개념을 사용하여 사용자에게 응답해준 마지막 데이터 기준으로 다음 n개 요청/응답 효율성에 있어서는 커서 기반 페이지네이션이 더 효율적이라..

project/project 2023.05.23

인천주막 (DRF_머신러닝 연계)(1)

숨 돌릴 것 같으면 어김없이 찾아오는 프로젝트 데이.................... 이번에는 9to9이나 주말 지키기 중 하나라도 이루고 싶었는데 첫 날부터 하나를 시원하게 말아먹었다. 이 시간에 TIL 쓰는 거 말이냐! 일찍 일어나면 두통이 생기는 건 어쩔 수 없는 걸까 두통이 오든 말든 새로운 프로젝트는 왔고 팀 안에서 새 프로젝트를 열심히 준비했다. 개괄 사용 기술 Django_Rest_Framework(버전 미정) JavaScript(fetch) AWS(배포 목적) 프로젝트의 핵심 머신러닝 라이브러리 활용 프론트엔드와 백엔드의 레퍼지토리 분리 aws를 이용한 서비스의 배포 컨셉 정하기 이번 컨셉을 정할 때 가장 유의한 점은 데이터량, 분석 방법이었다. 아무래도 저번 프로젝트에 접한 DRF보다는..

project/project 2023.05.23