과제/팀과제

과제/팀과제

[Django] 최종 프로젝트 : 지금은 전시상황!(18) - 추천 시스템 리팩토링2

import psycopg2, os import pandas as pd import numpy as np import datetime from sklearn.feature_extraction.text import CountVectorizer from sklearn.metrics.pairwise import cosine_similarity def pre_processing(): # 데이터베이스 연결 con = psycopg2.connect( host=os.environ.get("DB_HOST"), dbname=os.environ.get("DB_NAME"), user=os.environ.get("DB_USER"), password=os.environ.get("DB_PASSWORD"), port=os.envi..

과제/팀과제

[Django] 최종 프로젝트 : 지금은 전시상황!(17) - 소셜로그인 리팩토링

def SocialSiginin(**kwargs): # 소셜 로그인/회원가입 # 각각 소셜 로그인에서 유저 정보를 받아오고 None인 값들은 빼줌 data = {k: v for k, v in kwargs.items() if v is not None} email = data.get("email") signin_type = data.get("signin_type") if not email: # email이 없으면 회원가입이 불가능하므로 프론트에 error메시지와 http status를 보냄 return Response( {"error": "해당 계정에 email정보가 없습니다."}, status=status.HTTP_400_BAD_REQUEST ) try: user = User.objects.get(emai..

과제/팀과제

[Django] 최종 프로젝트 : 지금은 전시상황!(16) - 추천 시스템 리팩토링

import psycopg2, os import pandas as pd import numpy as np import datetime from sklearn.feature_extraction.text import CountVectorizer from sklearn.metrics.pairwise import cosine_similarity # 특정 정보와 서비스명 유사도가 높은 서비스 정보를 얻기 위한 함수 def recommendation(id, top_n=10): # 데이터베이스 연결 con = psycopg2.connect( host=os.environ.get("DB_HOST"), dbname=os.environ.get("DB_NAME"), user=os.environ.get("DB_USER"), p..

과제/팀과제

[Django] 최종 프로젝트 : 지금은 전시상황!(15) - [FE]리뷰/동행글 작성창 js로 만들기

후기 작성하기 버튼 생성(review.js) import { reviewPosting } from "./review-posting.js"; 후기 작성하기 버튼 클릭 시 reviewPosting 함수가 실행될 예정이라 import를 먼저 해준다 let isRpBtnRendered = false; 리뷰 목록과 마찬가지로 작성창이 렌더 됐는지 안 됐는지 확인할 변수가 필요하다 // 이용후기 버튼 눌렀을 때 실행되는 함수 export function review(exhibition_id) { ... if (rvAllItemsOrganizer.style.display === "none") { ... // 동행구하기 작성창 연 채로 리뷰 보기 눌렀을 때 작성창 닫아주는 코드 const accompanyPostBox..

과제/팀과제

[Django] 최종 프로젝트 : 지금은 전시상황!(14) - [FE]추천바 구현

일단 추천바 모양은 이렇게 구현되어 있다(팀원분이 만들어주심!) 이런 전시는 어떠세요? // 스크롤 위치에 따른 추천바 숨기기 let recommendOrganizer = document.querySelector(".recommend-organizer"); let reserveBtn = document.querySelector("#reserveBtn"); let reserveBtnHeight = window.pageYOffset + reserveBtn.getBoundingClientRect().top; let header = document.querySelector("header"); let headerHeight = window.pageYOffset + header.getBoundingClientRec..

마이구미+
'과제/팀과제' 카테고리의 글 목록