웹개발160 230703~230709 및 프로젝트 회고 이번 주 한 일 배포, rabbitmq와 celery 도입, 페이지 네이션, 각종 디버그 내역 celery에서 .env를 못 가져옴. >> .env가 있는 곳으로 변경 비동기 처리 >> 로컬 완료 상태 잘 보이게 색상으로 >> 완료 이미 있는 경우 중복경고 표시 >> 완료 separate-detail.htm >> 완료 삭제 클릭 시 tr 클릭도 같이 되는 문제 >> event.stopPropagation(); 추가 완료 waiting working error 분류 >> 아이콘으로 완료 움직이는 working >> 완료 wav > mp3 >> 완료 페이지네이션 >> 완료 자바스크립트로 페이지 리로드 없이 사용하면 메모리가 누수 >> waveSurfer.destroy(); 완료 삭제 버튼 시 db삭제되지만 .. WIL 2023. 7. 9. S3에서 이미지 GET 실패 해결 로컬에서는 잘 인식되던 png 파일이 왜 배포 시에는 안되는 지 이해가 안되었던 와중... 찾아버렸다... 로컬에서는 PNG도 png로 자동으로 인식이 되지만 S3에서는 이렇게 다른 파일로 인식이 되기 때문에 확장자도 대소문자에 유의를 해야한다... 내 코드가 아니였기에 한참 찾았다... 배포/S3 2023. 7. 7. pagination Django는 DRF에서 이전/다음 링크를 이용하여 관리하는데 도움을 주는 pagintion 기능을 이미 제공하고 있습니다. settings.py REST_FRAMEWORK = { 'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination', 'PAGE_SIZE': 100 } page - 몇 번째 페이지인지 표시 - 1부터 표시 page_size - 한 페이지에 몇 개의 레코드를 보여줄 지 표시 요청 GET https://api.example.org/accounts/?page=4 응답 HTTP 200 OK { "count": 1023, "next": "https://api.example.org/accounts/?page=5", .. django 2023. 7. 7. 업로드가 되지 않거나 오류 거나 413오류인 경우 해결법 중 하나 >> 나 같은 경우 페이로드가 너무 많아서 nginx에 10M > 100M 해야했다. Nginx의 클라이언트 페이로드 크기를 늘리면 더 큰 파일을 처리할 수 있게 되는데, 이는 웹 애플리케이션에서 파일 업로드 제한을 늘리는 데 주로 사용된다. client_max_body_size 디렉티브를 사용해 이 값을 설정할 수도 있다. 배포/nginx 2023. 7. 6. 최종 4주차 🏁 최종 프로젝트 4~5주차에 가장 집중해주셔야 할 것은 “완성도 높이기”입니다. MVP에 추가 및 보완해야 할 기능과 우리의 서비스에 담긴, 인정 받을 수 있는 고민을 정리해주세요. 튜터님들과 함께 프로젝트를 높은 완성도로 마무리 할 수 있는 방향을 점검해 봅니다. 지금까지 완성한 코드의 개선을 위한 트러블 슈팅에 대해 고민하신 후, 가장 적합하다고 생각하는 트러블 슈팅을 팀원 별로 한 가지 작성해 주세요! 트러블 슈팅은 코드는 구현된 상태에서 ‘느린 것을 빠르게’ 와 같은 개선 시킨 경험을 말합니다. 아직 잘 모르겠다면, 고민 중인 내용을 작성하거나 고민이 필요한 키워드를 튜터님과 논의합니다. 팀원 개인별로 작성해주세요. 공민영: user 회원가입 이메일 인증 개선 설명 회원가입 시 이메일 인증하기 .. 카테고리 없음 2023. 7. 3. healthcheck 로드밸런서에서 분명 request, response 등의 활동이 잘 되고 있는데도 healthy가 뜨지 않고 unhealty가 뜨는 것을 보고 from django.http import HttpResponse from django.urls import path def health_check(request): return HttpResponse("OK", content_type="text/plain") urlpatterns = [ path('healthcheck', health_check), ] 코드를 추가하고 로드 밸런서/설명/보기 및 수정/Health Check 설정에서 핑 대상을 /healthcheck로 수정 저장하고 1분 정도 있으니 해결이 되었다. 우선 기능은 작동이 되어 미뤄뒀던 health c.. 배포/ELB 2023. 6. 29. SQLite > PostgreSQL 문제점 발견 카카오 로그인이 안되는 이유를 찾아 백엔드의 error를 찾아보니 integer out of range 기존 SQLite는 정수 필드가 모두 64비트로 처리되지만, PostgreSQL에서는 정수필드의 기본형이 32비트이다. 따라서 SQLite에서는 문제가 없었던 큰 정수 값이 PostgreSQL 에서 범위가 벗어나는 경우가 있다. 그래서 생긴 문제였습니다. models.py에서 BigInteger로 변경하였습니다. 배포/RDS 2023. 6. 28. aws rds postgresql migrate media 이슈1: migrate 변경사항이 없는데 migrate를 할 경우 경고가 나온다. 이것은 큰 오류가 아니였다. 이슈2 python manage.py makemigrations 이후 django에 있는 migrations 파일과 rds postgresql의 public.django_migrations 목록과 일치하지 않으면 오류가 뜨면서 migrate가 안되는 경우가 있었다. psql -U {{your_username}} -d {{your_database_name}} 그럴 경우 쉘이나 sqlectron으로 연결해서 DROP SCHEMA public CASCADE; public 스키마와 관련된 것을 드랍 후 CREATE SCHEMA public; PUBLIC 스키마를 생성한 후 python manage.py.. 배포/RDS 2023. 6. 28. mvp 중간 발표 회고록 3주차까지의 후기 및 소감 이름 상태 후기 및 소감 마동휘 맑아요 열심히 하는 우리팀 좋아요b 🙂 공민영 맑아요 마지막까지 화이팅 하겠습니다😊 이준영 비바람 아직 해야 할 일들이 많아서 조금은 걱정되지만 같이 힘내 봅시다! 왕규원 적당해요 부족한 부분을 팀원분들과 달라붙어서 해결해가는 과정이 뿌듯합니다! 아직 갈 길이 멀지만 열심히 해보겠습니다! 김은수 맑아요 모두 화이팅! MVP 중간발표 자료(기입) 프로젝트 정보 서비스명: CLAID 서비스 기획 의도: 음원파일 MR과 VOCAL로 분리 하는 기능을 제공하며 이를 활용해 ()을 공유할 수 있는 커뮤니티 사이트 프로젝트 한 줄 설명: 음악과 ai(직접해야함)에 관심있는 사람들이 모이는 곳, CLAID! 최종 MVP 스펙: 일반로그인 일반회원가입 이메일인.. 카테고리 없음 2023. 6. 28. Tensorflow 설치 에러 EC2 환경에서 tensorflow 를 설치 하지 못하는 문제가 있었다. 특히 cpu 자원이 많이 없을 경우가 그런 경우인 것 같다. pip install --no-cache-dir tensorflow 따라서 caching을 사용하지 않도록 옵션을 추가해주면 잘 된다... 강제 중지하고 다시 하느라. 삽질을 했다... 배포/EC2 2023. 6. 26. header compatibility (헤더 호환성) 전 글에서 썼던 것과 같이 header 유동 통합을 하였다. 문제점 하지만 header.js로 header.html의 모든 요소들을 header에 모두 불러오고 base.js로 header의 요소를 수정하지 못하는 문제가 있었다. + 추가 user의 환경, 브라우저 마다 될 수도 안될 수 도 있는 문제 해결 문서가 모두 준비되었을 때 header.html를 모두 가져오고 이벤트를 발생시키고 base.js에서 그 이벤트가 감지가 되면 실행되는 함수를 추가하여 해결하였다. // header.js $(document).ready(function () { $.ajax({ url: "/header.html", method: "GET", async: true, success: function(data) { $("h.. Front/JQeury 2023. 6. 23. Header synchronous integration (헤더 동기 통합) 프로젝트를 진행 중 초반에는 복잡하고 오래 걸릴 작업이라 생각하여 미뤄두었던 header 통합을 실시하였다. 여러 방법이 있었다. 1. include : django 프론트에서는 쓸 수 있었는데 프론트를 분할했기 때문에 쓰지 않았다. 2. JavaScript // JavaScript로 nav 요소 생성 var nav = document.createElement('nav'); // nav 요소에 필요한 내용 추가 nav.innerHTML = '메뉴1메뉴2'; // 생성된 nav 요소를 적용할 곳의 요소 선택 (예: 요소) var header = document.querySelector('header'); // nav 요소를 적용할 요소에 추가 header.appendChild(nav); nav를 생성하여 .. Front/javascript 2023. 6. 23. 이전 1 2 3 4 5 6 ··· 14 다음