GitHub

https://github.com/Choidongjun0830

노마드코더 23

타입스크립트 2주 완성 챌린지 수료!

챌린지를 하면서 모르는 것은 강의를 여러번 보거나 구글링을 하였고, docs와 stackoverflow를 많이 읽게 되었다. 다른 챌린지들은 최종 과제가 화려하고 나만의 것을 만드는 것이 었지만, 타입 스크립트 챌린지의 마지막 과제는 그렇지 않았다. 그래서 과제를 하면서 이게 맞나..??,졸업이 할 수 있나..?? 라는 생각이 계속 들었다. 그래도 타입스크립트를 처음 접해보는 입장에서 알기 쉽게 설명해주셔서 효율적으로 학습할 수 있었다.

노마드 코더 2023.01.13

노마드 코더 에어비앤비 클론 코딩 #11 Rest API - 2

SerializerMethodField: Serializer에 커스텀 필드를 추가하는 방법이다. #내 room의 평균 리뷰 점수가 몇인지 #rooms. serializers.py class RoomDetailSerializer(ModelSerializer): owner = TinyUserSerializer(read_only = True) #users.serializers.py에서 만든 serializer amenities = AmenitySerializer(read_only=True,many=True) category = CategorySerializer(read_only=True) rating = serializers.SerializerMethodField() #SerializerMethodField로..

노마드 코더 에어비앤비 클론 코딩 #11 Rest API - 1

All Amenities, Perks Amenity와 Perk도 Category API를 만들 듯이 만들었다. APIView를 쓰면, request.method가 GET인지 POST인지 확인하는 조건문이 필요없다. serializers.py에서 ModelSerializer를 상속받아서 사용하면, 'id', 'created_at', 'updated_at'은 자동으로 read_only로 되어있다. def ... ... if serializer.is_valid(): amenity = serializer.save() #유효하다면 amenity에 저장 return Response(AmenitySerializer(amenity).data) #amenity를 번역하고 데이터 뽑아서 리턴 ... Rooms Rooms는..

노마드 코더 에어비앤비 클론 코딩 #7 ORM

ORM(객체 관계 맵핑): Django를 데이터베이스에 연결. 파이썬을 사용하듯이, 관리자 패널을 통하지 않고 데이터베이스와 '직접' 소통하는 법 Method > Django의 shell 시작: 'python manage.py shell' (Django가 구성된 console이 켜짐) > 우리가 만들었던 Room 모델을 불러옴: 'from rooms.models import Room' > 메서드: Django는 우리가 모델을 만들 때 'objects'라는 속성을 자동으로 부여해줌. objects에는 많은 메서드가 있음. 이를 이용하면 데이터베이스가 Room 모델에서 나온 데이터들을 꺼내오도록 시킬 수 있다. ex) 모든 Room에 접근하고 싶을 때 Room을 import하고 'Room.objects' '..

노마드 코더 에어비앤비 클론코딩 #6 Models and Admin

Models 'models.ImageField'를 사용하려면 터미널에 'poetry add pillow'를 해주어야 한다. #선택지 만들기 class GenderChoices(models.TextChoices): MALE = ("male","Male") #(데이터 베이스에 들어갈 값, 관리자 페이지에서 보게될 label) FEMALE = ("female","Female") gender = models.CharField(max_length=10,choices=GendrChoices.choices) #max_length는 선택지보다 길게,choices=클래스명.choices ManytoManyField: N:M, M:N -> 여러 개의 Amenity들이 여러 Room에 들어갈 수 있는 것처럼 다대다의 관계 ..

노마드 코더 에어비앤비 클론코딩 #5 USERS APP

1. 유저 프로필 커스텀 ( 프로필 사진, 카카오톡 로그인, 페이스북 로그인, ...) 새로운 프로젝트일 때 하는 것을 추천. 기존에 이미 데이터가 있다면 db 파일을 다 지워야할 수도 있다. 기본 유저 모델로 충분하더라도 커스텀 모델을 만들어 사용하는 것을 추천한다. User 모델을 우리만의 커스텀 User 모델로 교체 User App 만들기 ('python manage.py startapp users') > User Model 만들기 from django.contrib.auth.models. import AbstractUser #django가 사용하는 User를 가져와서 재사용 class User(AbstractUser): ... AbstractUser에 더 많은 기능이 있다. > Django에게 기..

노마드 코더 에어비앤비 클론코딩 #3

요즘은 환기를 위해 노마드 코더 강의를 듣고 있습니다.. 'django-admin startproject'를 했을 때 'manage.py' 파일이 생긴다. manage.py 파일이 터미널에서 django 명령을 실행한다. 개발 단계에서 vscode로 작업할 때는, manage.py를 사용해 실행한다. python manage.py runserver : django server를 실행하고, 터미널에서 그 링크를 볼 수 있다. 그 링크에서 나타나는 no such table : django session 오류: 데이터베이스 'db.sqlite3'에서 django_session을 찾는데 실패한 것. 이유??: django는 여러 기능을 가짐.(세션, 패스워드 등 모든 유저 데이터를 DB에 저장) 빨간 글씨로 m..

코코아 클론 2주 완성 챌린지 수료!

코코아 클론 챌린지 수료 했습니다! 그리고 우수 졸업생도 선정 됐어요! 근데 Poketmon인줄 알았는데 그냥 Pokemon이더라구요.. 그래서 뒤늦게 바꾸긴 했습니다 ㅎㅎ 그래도 저번에 바닐라JS 챌린지 결과물이랑 이번 챌린지 결과물이랑 비교하면 아주 뿌듯해요. 잠을 줄이고 쉬고 싶어도 강의 듣고 과제하느라 힘들긴 했는데 html, css가 다른 언어들보다 더 쉽고 재밌어서 그런지 정말 집중은 잘 됐어요. 챌린지는 강의 내용에서 더 나아가서 혼자 방법을 찾아보고 생각할 수 있다는 점이 좋아요! 다음은 CSS를 더 깊이 공부할지, 에어비앤비 클론코딩을 할지 고민 중이라 일단 백준 문제를 풀고있습니다..

노마드 코더 2022.06.30

코코아 클론 챌린지 14일, 15일차

배울 점, 기억할 점 text-decoration: none; 하이퍼링크의 밑줄이 사라진다. color: inherit; 부모의 색을 가져옴. nav 태그는 다른 페이지 또는 현재 페이지의 다른 부분과 연결되는 네이게이션 링크들의 집합을 정의할 때 사용. ul과 li 사용. text-transform: uppercase; 대문자로 만들기. space-between은 글자 수에 따라 배열이 중앙 정렬이 안될 수도 있음. margin의 방향을 고려해서 margin-left:auto; 와 margin-right: auto; 를 사용하면 글자 수와 무관하게 중앙 정렬이 됨. 이전 html 페이지로 연결되게 하려면 href 값으로 "javascript:history.back();" 을 주면 된다. position..

노마드 코더 2022.06.20

코코아 클론 챌린지 12일, 13일차

배울 점, 기억할 점 border-radius와 box-shadow: inset을 통해 곡면에 입체감을 줄 수 있다. overflow-x 속성으로 width를 초과한 부분을 어떻게 처리할 지 설정할 수 있다. visible: 기본값으로 내용이 잘리지 않음. 넘치는 내용은 밖으로 흘러 넘침. hidden: 내용이 잘림. x축의 스크롤바가 나타나지 않음. scroll: 내용이 잘림. x축의 스크롤바가 나타남. auto: 내용이 잘림. 필요할 때만 x축의 스크롤바가 나타남. display: flex;는 display: block;은 함께 적용시킬 수 없다. element들이 겹치게 하려면 position: absolute; container에 relative 잊지않기! absolute는 가장 가까운 relat..

노마드 코더 2022.06.18
728x90