[내일배움캠프]스파르타코딩클럽 AI 웹개발 (82) 썸네일형 리스트형 [TIL] 프로젝트 데이터베이스 선택: MySQL을 채택한 이유와 PostgreSQL과의 비교 우리 프로젝트에 MySQL을 선택한 이유우리 프로젝트는 영화에 대한 평점과 리뷰를 남길 수 있는 웹사이트로, Django REST Framework(DRF)를 이용해 백엔드 서버를 개발할 예정이다. 기본적으로 제공되는 SQLite 대신, PostgreSQL과 MySQL 중에서 고민하다가 MySQL을 사용하기로 결정했다. 두 데이터베이스 간의 차이점과, 프로젝트에서 MySQL을 선택한 이유는 다음과 같다. PostgreSQL vs. MySQL: 차이점ACID 준수와 트랜잭션 처리:PostgreSQL은 ACID(Atomicity, Consistency, Isolation, Durability) 규칙을 철저히 준수하며, 고급 트랜잭션 처리 및 복잡한 쿼리에서 강력한 성능을 발휘한다. 특히 관계형 데이터 모델.. [TIL] 추가 기능 논의 및 ERD 수정 작업 오늘은 팀원들과 함께 프로젝트의 추가 기능에 대해 심도 있는 논의를 진행했다. 여러 아이디어를 논의한 끝에, 몇 가지 기능은 구현의 난이도가 높아 제외하기로 결정하게 되었다. 그중 하나가 챗봇 기능인데, 이 기능은 구현하는 데 있어 복잡한 자연어 처리 및 대화 로직이 필요해, 현재 팀의 역량과 시간 안에서 해결하기 어려울 것으로 보였다. 또한 유저 간 매칭 기능이나 취향 분석과 같은 기능도 데이터 분석 및 알고리즘 설계가 복잡해 구현 난이도가 높다는 결론이 나왔다. 따라서 우리는 현실적인 대안으로 긍·부정 평가 기능과 오토태깅 기능을 추가하는 방향으로 의견을 모았다. 긍·부정 평가 기능은 사용자의 피드백을 기반으로 콘텐츠나 데이터를 평가하는 기능으로, 상대적으로 구현 난이도가 낮으면서도 사용자 .. [TIL] 프로젝트 기획 및 Open API 활용 전략 수립 오늘은 팀원들과 함께 프로젝트 주제를 선정하고, 와이어프레임, API 명세서, ERD를 작성하는 시간을 가졌습니다. 이 과정에서 각자가 맡은 역할을 명확히 하며 프로젝트의 전반적인 구조를 잡아나갔다. 특히 상세 기능에 대한 논의를 통해 구현할 기능들을 구체화하는 데 많은 시간을 할애했다. 회의 중 Open API를 어떻게 활용할지에 대한 논의도 진행되었는데, 매번 API 요청을 보내는 것보다 데이터베이스에 저장한 후 필요한 때에 불러오는 방식이 더 효율적이라는 결론을 내렸다. 이를 통해 성능을 최적화하고, 불필요한 API 호출을 줄여 시스템의 안정성을 높일 수 있을 것이라 판단했다. 결론적으로 오늘 회의는 문서 작업을 중심으로 진행되었고, 데이터 관리 및 API 활용 전략에 대한 방향성을 설정할.. [TIL] 뉴스 API 서버 프로젝트 마무리 및 OpenAI 연동 기능 구현 오늘 뉴스 API 서버를 만드는 프로젝트를 마무리했다. 이번 프로젝트에서는 MVP 기능에 집중했으며, 추가적으로 OpenAI를 연동하여 두 가지 기능을 구현했다:뉴스 링크 요약 기능: 사용자가 뉴스를 공유하면 OpenAI를 이용해 해당 기사의 요약을 제공하는 기능.헤드라인 크롤링 및 요약 기능: 매일 한 번씩 헤드라인 기사를 크롤링하고 이를 요약해주는 기능.짧은 시간 내에 진행한 프로젝트라 완성도나 디테일에서 부족한 점이 있었지만, 좋은 팀원들과의 협업 덕분에 매우 뜻깊은 경험을 할 수 있었다. 특히 팀원들과 함께 신속하게 문제를 해결하고, 새로운 기능을 추가하며 협업하는 과정에서 많은 배움을 얻었다.이번 프로젝트를 통해 팀워크의 중요성과, MVP에 집중하면서도 사용자 가치를 더할 수 있는 추가 기능을 .. [TIL] 트러블 슈팅 - django 프로젝트 외부 파일 실행 하루에 한 번씩 네이버 뉴스 IT/과학 탭의 헤드라인 뉴스 5개를 크롤링하여 제공하려고 했다이 파일은 장고 서버와 별도로 실행되지만 데이터베이스에 저장되어야 했다처음엔 같은 프로젝트 폴더에 있어서 모델을 불러와서 사용하려고 시도했다...from posts.models import Headline...def headline_summary(): ... Headline.objects.create( url=url, title=title, summery=summary, )위과 같이 사용하고 파일을 실행시켰을 때 다음과 같은 오류가 발생하였다raise ImproperlyConfigured(django.core.exception.. [TIL] trouble shooting - like count 각 댓글에 대해 좋아요를 하고 좋아요가 많은 순서대로 출력하기 위한 코드를 작성하였다좋아요한 유저를 like_users로 User 모델과 manytomany field로 이어준 후에 출력할 수 있도록 코드를 작성하였다 models.pyclass Comment(models.Model): post = models.ForeignKey(Post, on_delete=models.CASCADE, related_name="comments") author = models.ForeignKey(User, on_delete=models.CASCADE) content = models.TextField() created_at = models.DateTimeField(auto_now_add=True) .. [TIL] trouble shooting - serializer.data 1. seriaizers.py의 시리얼라이저 사용에서의 오류 문제 회원가입을 작성 중 accounts/views.pyclass UserCreateAPIView(APIView): def post(self, request): is_valid, err_msg = validate_signup(request.data) if not is_valid: return Response({"error": err_msg}, status=status.HTTP_400_BAD_REQUEST) user = User.objects.create_user(**request.data) print(user) serializer = UserSerializ.. [TIL] project setting 본격적으로 프로젝트의 기능을 구현하기에 앞서 팀원들과 회의를 진행하였다. 1. api 명세서api 명세서를 미리 작성한 후에 해당 기능에 따른 api에 대해 논의하였다 2. ERD 작성모델에 대해 어떤 필드가 필요한지모델간에 어떤 관계를 갖는지에 대해 논의하였다 3. wireframe프론트엔드 구현은 정해지지 않았지만 기능적인 점검을 위해 와이어프레임을 작성하였다 4. SA 문서 작성 개발 일정과 기능 상세 및 요구사항 등에 대한 내용을 논의하였다 5. process flow 개발하는 동안 어떠한 흐름을 가지고 개발할 지에 대한 프로세스 플로우를 함께 작성하였다 6. 기타깃 브랜치나 커밋 메세지에 대한 논의, 휴일의 일정에 대한 논의도 함께하고스켈레톤 코드를 함께 작성하면서 회의를 .. 이전 1 2 3 4 5 ··· 11 다음