본문 바로가기

프로젝트/미술관 뒤 백엔드 지금은 전시상황

(16)
최종 팀 프로젝트[front] addEventListener 활용하기 1. 키보드 입력을 기준으로 함수 실행 문제점 검색창 기능을 만들면서 Enter를 입력했을 때 함수가 작동하도록 만들고 싶다. 시도해 본 것들 addEventListener에서 keydown옵션 활용하기 키보드 입력시 이벤트가 발생하는 것은 좋지만, Enter가 아닌 다른 입력도 모두 함수를 실행하면서 검색함수를 실행시키기에 적합하지 않음. Enter만 함수를 실행시킬 방법 찾기 keyCode확인 검색 결과 과거에 사용하다 이제 잘 사용하지 않는 코드 code 확인 code가 Enter인 경우 함수 실행으로 해결하기 code에 대한 docs https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode 해결 방법 document.getEle..
최종 팀 프로젝트[front] content-type 정하기 https://github.com/sdoram/b4_exhibitions_frontend GitHub - sdoram/b4_exhibitions_frontend: B4조 지금은 전시상황 프론트엔드 B4조 지금은 전시상황 프론트엔드. Contribute to sdoram/b4_exhibitions_frontend development by creating an account on GitHub. github.com 백엔드로 이미지가 있는 데이터 content-type 정하기 1.base64로 이미지 파일 인코딩과 디코딩하기 장점 : application/json으로 데이터 전달 가능 단점 : 사용을 위해 사용법을 익히는 시간 필요 결론: 대체 방법이 있는 상황에서 시도하기에는 시간 소모가 심하다. 2. fo..
최종 팀 프로젝트[front] API function 분리하기 https://github.com/sdoram/b4_exhibitions_frontend GitHub - sdoram/b4_exhibitions_frontend: B4조 지금은 전시상황 프론트엔드 B4조 지금은 전시상황 프론트엔드. Contribute to sdoram/b4_exhibitions_frontend development by creating an account on GitHub. github.com 1. 기존 방식대로 하나의 기능을 function으로 사용 장점 : 작성자 기준으로 가독성 증가 단점 : 작성자 이외의 가독성 저하 결론 : 혼자 만드는 프로젝트나 단기간에 만드는 프로젝트에서 고려할 방법 같다. 2. 백엔드와 통신하는 부분을 API.js라는 파일로 관리하기 장점 : 완성된 코드의..
최종 팀 프로젝트[back] 통합 검색 filter https://github.com/sdoram/b4_exhibitions_backend GitHub - sdoram/b4_exhibitions_backend: B4조 지금은 전시상황 백엔드 B4조 지금은 전시상황 백엔드 . Contribute to sdoram/b4_exhibitions_backend development by creating an account on GitHub. github.com filter에서 or가 필요함 1. django Q 사용 from django.db.models import Q 장점 : django를 잘 이해하고 있다면 코드의 가독성이 크게 증가할 것 같음 단점 : 이해도가 높지 않다면 가독성에 악영향 끼칠 가능성 있음 결론 : 현재 프로젝트 구조상 중복해서 사용할 가능..
최종 팀 프로젝트[back] 상세보기 pagination https://github.com/sdoram/b4_exhibitions_backend GitHub - sdoram/b4_exhibitions_backend: B4조 지금은 전시상황 백엔드 B4조 지금은 전시상황 백엔드 . Contribute to sdoram/b4_exhibitions_backend development by creating an account on GitHub. github.com 1. serializer를 복수 선언하기 장점 : 필요한 경우의 수 만큼 선언하면 간단하게 해결 가능 단점 : 필요한 종류에 따라서 serializer를 계속 선언하면 하나의 기능을 위한 수많은 serializer 생성 가능성 존재 결론 : 최초 구현시 간단하게 쓸만한 느낌이지만, 최종적으로 사용하기엔 아쉬..
최종 팀 프로젝트[front] navbar navbar 구현하는 방법들 1. 각각의 html에서 navbar를 다르게 구현하기 장점 : 각 페이지의 상황에 맞춰서 navbar구현 가능 단점 : html의 가독성 저하, 생산성 낮음, 수정사항 발생시 휴먼 에러 가능성 증가 결론 : navbar의 중요도가 높지 않으므로 각각의 html을 수정하는 시간을 다른 기능의 완성도를 높이는데 집중하는 게 좋음 2. 하나의 html을 만들고 js를 통해서 변경 효과 주기 장점 : 각각의 파일을 수정할 필요 없이 하나의 html과 js로 관리 가능 단점 : 통일된 상대경로를 사용할 수 없는 문제 결론 : index.html의 경로가 다른 html들과 달라서 경로 지정에서 이슈가 있지만 url로 대체하는 등 처리할 방법이 존재하므로 이 방법 사용 1. front에..
최종 팀 프로젝트[back] drf_pagination pagination을 구현하는 방법들 1. pagination 로직을 직접 작성 장점 : 원하는 기능만을 가지고 있는 로직을 작성 가능 단점 : 2번과 3번에 비해 긴 시간이 필요, 이해도가 모자랄 시 기능의 구현이 매끄럽지 못할 가능성 존재, 직접 작성하며 정의한 함수 혹은 코드 자체가 눈에 띄기 쉬움 결론 : 필요한 시간과 특별한 custom이 필요하지 않고 로직을 노출시켜 가독성이 저하되는 것을 감수할 이유가 없음 2. django의 pagination https://docs.djangoproject.com/en/4.2/topics/pagination/ from django.core.paginator import Paginator from django.shortcuts import render fr..
최종 팀 프로젝트 S.A. https://lofty-wallaby-678.notion.site/S-A-d04b7899646e45e59da17fbec7cdacfb?pvs=4 지금은 전시상황!💥 S.A OutLine lofty-wallaby-678.notion.site