코딩일지/TIL: Today I Learned 84

20221229 TIL

오늘의 한 일 최종 프로젝트 - 최종 발표 최종 발표 매니저님께서 협력사 대표분의 깃헙을 전달해주신다고 했는데 뭔가 진행이 안된 것인지 깃허브 코드를 못보셨다고 한다.. 팀장님 발표도 좋았고 협력사 대표분께 피드백 및 질문에 대한 답변도 잘 넘어가긴 했는데 아무래도 코드를 보시지 못해서 그런지 너무 단순한 질문만 주셨던 것 같아 아쉽다. 발표 이후에 정리겸 사이트에 들어갔는데 css가 망가진 부분이나 프로필을 받아오는 js부분에 오류가 생겨있어 이런 부분도 많이 아쉽게 느껴졌다. 마지막까지 신경을 좀 썻어야하는건데 ㅠㅠ KPT 회고 Keep 문제 해결 과정중 문제 인식 파트가 굉장히 난해하고 힘들었는데 몇가지 문제들에 대해 만족스럽게 해결한것 같아 좋았음 Problem 백엔드 코드를 구현하고서 테스트를 ..

20221228 TIL

오늘의 한 일 최종 프로젝트 - 트러블슈팅 정리 및 마무리 프로젝트를 진행하면서 개인적으로 굵직하다 싶은 트러블슈팅을 모아 notion에 정리, 팀원분들 트러블슈팅까지 마무리 되면 깃허브의 READ.me 파일 혹은 wiki페이지에도 적용하면 좋을듯 1) 구글 소셜로그인 callback 기능 프론트엔드에 적용시키기 처음에는 장고 템플릿을 이용하여 백엔드 내에서 response로 들어오는 access_token, refresh_token을 장고 템플릿 내에서 받고, 자바스크립트로 이를 로컬스토리지에 저장한 뒤에 프론트엔드 페이지로 보내는 방법을 생각했는데, 튜터님이나 다른 캠프 멤버들과 의견 교환을 한 뒤 더 편한 방법을 찾아서 해결한 것 같아 다행이다. 다만 콜백uri로 코드를 담아 보내고, 코드가 있을 ..

20221227 TIL

오늘의 한 일 최종 프로젝트 - 마무리 및 발표준비 트러블 슈팅 프로필 - 이미지 파일이 없을 시 default.jpeg를 띄우지 못하는 문제 프로필의 디폴트 이미지가 원래 백엔드 media/profile 폴더 안에 default.jpeg를 넣어서 띄웠는데, 배포시에 media를 .gitignore로 무시하다보니 생긴 문제. 일단 배포중인 ec2 환경 안으로 이미지 파일을 보내야 할 것인데.. 웹개발강의때 하던 파일질라를 이용하는 방법은 지금 사용하기엔 무리라고 판단, cloud 9을 사용한 파일관리도 이미 있는 인스턴스에 적용하는게 아니라 이걸 쓰려면 생성할때부터 써야하는거같다.. 그래서 ec2환경에 명령어로 파일 업로드를 시도해봄 참조 : https://velog.io/@_koiil/EC2%EB%A1..

20221226 TIL

오늘의 한 일 최종 프로젝트 - 피드백 반영 오늘은 몸이 영 안좋아서 많은 일은 못했고, 웹페이지 기능 점검과 피드백 반영을 조금 봄.. 피드백 1 : 피부병변 감지 - 로그인이 없이도 들어가져서 통일감이 없다(로그인 필요 컨텐츠 관련) 피부병변 감지는 비로그인 유저도 가능하게 하는것이 의도였으므로 패스 굳이 해야한다면 토큰 검사 후 없을 시 로그인페이지로 replace 피드백 2 : 회원가입시 유저의 프로필 디폴트 이미지가 있었으면 좋겠다 이게 개발과정중에는 있었는데 백엔드 배포과정에 첨가되지 않아서 들어가질 않고있었다! ec2 내로 이미지 업로드해서 백엔드의 media/profile 폴더로 default.jpeg 이미지 삽입하면 될듯 참조 : https://velog.io/@_koiil/EC2%EB%..

20221223 TIL

오늘의 한 일 최종 프로젝트 - 백엔드 배포 및 프론트엔드 연결 그냥 금전지원 내가 받아서 배포할걸 원격으로 구상하려니까 더럽게 힘드네 ㅋㅋ 하루 기다려 보았지만 도메인 주소를 통한 백엔드 연결이 그대로 에러가 떠서 도대체 무슨 문제일까 고민해봄 뭔가 로드밸런서가 잘못되었나? 했지만 대상그룹에서 health check를 위한 주소를 설정했고, healthy 상태이기 때문에 진짜 문제가 생겼다면 여기서 이미 에러가 났을것. 그래서 에러 로그를 다시 살펴보았다. Connection timed out 으로 연결시간이 오래 지연되서 생기는 에러인듯. 구글링 한 결과 로드밸런서의 가용 영역과 상관이 있는 것 같았다. 참조: https://hello-world.kr/1 [AWS] Private instance와 L..

20221222 TIL

오늘의 한 일 최종 프로젝트 - 백엔드, 프론트엔드 https 적용 프론트엔드 부분은 금전지원을 받은 팀원분께 S3를 사용한 프론트엔트 정적 웹 배포 방식을 함께 다시 진행하면서 https 적용까지 완료. 백엔드 - http 환경 연동은 완료, 이제 백엔드만 진행하면 되는데.. 트러블슈팅 백엔드 부분 HTTPS 적용중에 에러가 무더기로 쏟아져 나온다~~~ 프론트엔드 S3버킷에서 콘텐츠 갱신이 되지 않는 경우 S3버킷과 연결된 CloudFront의 캐시를 삭제해야 컨텐츠의 갱신이 제대로 이루어 진다. CloudFront의 캐시 유지시간이 기본적으로 24시간이기때문에 생기는 문제. 참조: https://ye0ye0.tistory.com/202 [AWS] S3 버킷에서 콘텐츠 갱신이 즉각 안될때 (CloudF..

20221221 TIL

오늘의 한 일 최종프로젝트 - 백엔드 배포 및 프론트엔드와 연결 백엔드 배포 팀원분께서 부트캠프로부터 금전 지원을 받아서 프리티어가 아닌 더 스펙 높은 ec2 환경을 구축해 백엔드 배포에 성공! 바로 프론트엔드와 연결시켜 보았다. frontend / api.js // 전역 변수 // EC2 인스턴스 연결 시 // const backend_base_url = "http://ec2인스턴스ip주소"; // 백엔드 서버 연결 시 const backend_base_url = "13.125.224.113"; const frontend_base_url = "http://petso.tk.s3-website.ap-northeast-2.amazonaws.com"; backend / settings.py # CORS 허용 ..

20221220 TIL

오늘의 한 일 최종 프로젝트 - 배포 관련 EC2 관련 이거 프리티어 EC2환경에서 yolo를 사용하는 웹을 배포할 수 있는게 맞긴 한건가..? 메모리 문제도 참조해보고 torch관련, 텐서플로 관련 등등 문제들을 다 구글링해서 시도해보아도 제대로 작동이 안됨.. 참조: https://hyunhonoh.github.io/linux/pip_install_torch_killed/ 사양 낮은 서버에 torch 설치 시 자동 killed 될 때 설치 - data life!! - 이번달에 리뷰를 위해 받은 도서의 뒷부분에 pororo라는 NLP 관련 모듈이 소개 되어 있습니다. NLP 에 대한 것이라 테스트 하려고 기존에 설치해서 사용중인 오라클 클라우드에 설치를 하려는데 사 hyunhonoh.github.io ..

20221219 TIL

오늘의 한 일 최종 프로젝트 - EC2, S3 환경 배포 트러블슈팅 Docker compose를 이용해 이미지를 빌드하던 도중에 작업이 넘어가지 않는 문제 발생 참조 : https://stackoverflow.com/questions/63171780/building-python-wheel-via-docker-compose-on-aws-ec2-gets-stuck Building python wheel via docker-compose on AWS EC2 gets stuck I have a docker container that builds fine on my laptop (iOS) and my PC (Ubuntu 20.4). I am trying to build it on AWS EC2 instance(U..

20221216 TIL

오늘의 한 일 최종 프로젝트 - 페이지네이션바, 유저 프로필, 마이프로필 - 북마크 모아보기, 펫 프로필 페이지네이션 바 참조 : https://min-kyung.tistory.com/30 [Javascript] 페이지네이션 구현하기 To do list 페이지네이션 구현 json-server를 활용해서 페이지네이션 구현하겠습니다 json-server: https://github.com/typicode/json-server 페이지네이션을 구현하기 위한 설정값은 총 4개가 필요합니다 currentPage: min-kyung.tistory.com main.js window.onload = async function loadArticleList() { viewset = await getArticleswithPa..