전체 글
1차 프로젝트에 대한 회고 vivino사이트를 뼈대로, 새롭게 컨셉을 잡은 Hangover라는 사이트 개발에 백엔드개발자로서 참여 시연영상 : https://www.youtube.com/watch?v=KVso2gmJGH8 백엔드 github : https://github.com/wecode-bootcamp-korea/32-1st-Hangover-backend 내가 맡았던 기능 메인페이지(캐러셀)의 상품리스트 검색창 특정 카테고리와 일치하는 검색어가 입력될 경우, 해당 카테고리에 속하는 상품을 반환 카테고리에 일치하는 상품이 없을 경우, 검색어가 상품명에 포함되는 상품을 반환 검색어가 상품명&카테고리에 포함되지 않을 경우, 추천검색어를 반환 필터페이지 가격, 주종, 잘어울리는 음식, 원산지 등 다양한 필터..
참고한 사이트 두곳 westudy : https://study.wecode.co.kr/session/content/154 승연님 블로그 : https://www.notion.so/da95f69812b14ca79181bc4d62d63e76#56b8028e72e141a0a3c6e4f3212adc97 HOMEBREW 홈브루 설치 다음을 따라서 하면 됨 : https://eunhee-programming.tistory.com/259 MYSQL mysql 영역은 승연님 블로깅에서 MYSQL부분을 참조 https://www.notion.so/da95f69812b14ca79181bc4d62d63e76#56b8028e72e141a0a3c6e4f3212adc97 Error: Can't connect to local My..
IAM(Identity and Access Management) 사용자들의 계정에 대한 관리 유저를 관리하고 접근 레벨 및 권한에 대한 관리를 가능케 해줌 universal 함. 즉 지역 설정이 필요 없음! 루트 유저 새로운 계정을 생성하면, 그 계정은 루트유저가 됨. 루트 유저는 모든 권한을 가지고 있는 슈퍼유저를 의미 여담이지만, 루트 유저는 패스워드 입력외에도 구글이나 페이스북을 활용해 보안을 강화하는 다중 인증 기능을 해야한다고 아마존에서 적극 권장 유저의 생성 루트 유저는 다른 유저를 생성하고, 그 유저의 접근키와 비밀키를 생성해줄 수 있음 생성된 유저는 접근키와 비밀키를 가지고 AWS의 다양한 서비스에 접근가능 접근키와 비밀키는 비밀번호같은 것은 아님 루트유저는 생성한 유저의 권한을 세밀하게 ..
Network port forwarding 동일한 wifi내에서는 원격통신이 가능함 그러나 WSL환경에서 동일wifi내의 원격통신을 성공시키기 위해선 추가적인 조치가 필요하며, 그게 network port forwarding임 참고)https://study.wecode.co.kr/session/content/158 Network port forwarding 순서 1) ubuntu환경의 적당한 경로에서 forwarding script작성 touch ports_wsl.ps1 : ports_wsl.ps1 파일 생성 vi ports_wsl.ps1 : 파일 편집기 실행 i를 누르면 편집이 시작됨 복사해서 코드를 붙여 넣고 나서 esc를 누르고 :wq 를 입력하면 복사한 내용이 저장됨 $remoteport = ba..
git을 활용한 작업 flow 1. main 브랜치 생성 및 main 브랜치에서 초기세팅 완료 2. main브랜치 github에 push 3. 작업하려는 로컬에서 해당 github의 main을 clone 4. 작업내용에 알맞는 git branch 생성 및 해당브랜치로 이동해서 작업 진행(생성 후 이동하는 것 까먹지 말것!!!) 5. 해당 브랜치에서 작업완료 후, main브랜치로 이동하여 github의 main을 pull git pull origin main 다른 누군가 작업을 먼저 완료하고 github의 main브랜치에 merge를 완료하여 , 현재 내가 가진 main보다 최신버전이 있을 수 있기 때문 main을 pull 한 후에, 꼭 git status를 찍어서 commit이 필요할 경우 commit실..
서론 위코드가 시작한지 벌써 4주가 지났다. 시간이 어떻게 지나갔는지 모르겠다 ㅋㅋㅋ 그래도 만족스러운 부분은 엄청 빠르게 지나가는 시간속에서 어느정도 내 템포를 찾은 느낌이다. 무엇보다 장고 세션이 시작되었는데, 그동안 애매하고 막연하게만 느껴지던 개념들이 조금씩 정리되는 느낌이라 조금 만족스럽다. 요약하자면 살짝 버겁긴 하지만 버거움의 가치가 느껴져서 꽤 즐겁기도 하다. 사실 지난번에 기간일기를 쓸 때, 아마 부트캠프가 끝날 때까지는 글을 쓰지 않을 줄 알았다. 지금도 솔직히 3주간의 감상같은 걸 녹여내는 글에 시간을 할애하는게 아깝기도 하다. 그럼에도 억지로 글을 쓰는 건, 학습의 방향성이나, 개인적으로 개발자로서의 마음가짐에 좀 변화가 있어서 지금 이순간의 방향전환이나 마음가짐을 기록해 두고 싶기..
특정 필드의 값이 존재하는지 확인 이메일이 존재하는지를 확인하는 코드 수정안 1에서 flat=True를 해줘야 queryset에 객체가 아닌 리스트가 들어가서 판별을 할 수 있다. flat을 하지 않으면 queryset안에 객체가 있어서 중복된 이메일이 있든 없든 False가 남 수정안 2가 대체로 깔끔하다 #기존 코드 email_list = [] for user in user_group: email_list.append(user.email) if new_email in email_list: return JsonResponse({"message":"ALREADY_EXISTED_EMAIL"},status=409) #수정안1 email_list = User.objects.value_list('email',f..
API서버란? 앱/웹 서비스를 만드는 개발자들이 자주 이용하는 데이터 위주로만 응답을 하는 서버 즉 페이지 랜더링을 위한 HTML파일이 아니라 오로지 데이터만을 요구하는 경우, 그 데이터를 처리해서 응답해주는 서버를 의미함 주로 json형태의 응답형식을 사용하지만 필요에 따라 excel이나 html응답등이 필요함 시간이 지나도 호환성을 유지해야 한다는 부담감이 있을 수 있음 유저층이 사용하는 앱의 버전이 다양함 > API서버도 버전에 따라 모두 응답이 가능하도록 버전의 개념이 필요 참고)웹 서비스를 이용하는 유저는 항상 최신버전을 사용함. 응답으로써 html파일을 매번 받기 때문 REST(RESTful API) REST(Representational State Transfer) : 상태(state)를 나..
django 인스타그램 api 시리즈 json통신을 상정한 인스타그램의 백엔드적 기능을 구현 게시물과 관련된 기능 구현 게시물 등록 및 확인 게시물 태그(M:M관계) 댓글(1:M관계) Like(M:M관계) 1. 게시물 등록 및 조회 게시물을 등록하고, (특정 게시물이 아닌)게시물 전체를 조회함 태그가 달릴 수 잇음 modeling 하나의 포스팅에 여러개의 image가 존재할 수 있음 따라서 포스팅과 image의 관계를 1:M으로 묶음 또한 image는 image파일 그 자체를 저장하는 게 아니라 image 파일이 저장된 경로를 저장하는 것임 태그는 게시물과 M:M의 관계임. Many to Many관계의 경우 through속성을 사용해 중간 테이블(여기선 Posting_Tag)를 설정해줄 수 있음 또한 p..