TIl (61) 썸네일형 리스트형 Opic 전략 오픽노잼 내용 정리기승전걸, Main Point - Body 등으로 자연스러운 대화를 하는 것이 중요한 점문제 1~15문제를 한 문제당 약 1분 30초씩 풀기4개의 카테고리의 질문에 답함- Description 묘사 = IH MAX - Habit 취미 = IH MAX - Comparison 비교 = AL 가능성- Past experience 과거 경험 = AL 가능성헷갈릴 수 있는 부분과거에 대해 말할 때 현재형 ( is 등) 으로 말하는 것 조심Tipit, their 잘 사용하기Because the(x) that / their (O) coffee was so delicious, especially their Americano.i was so annoying (x) : 내가 딴 사람을 귀찮게 만들었다.. REST 레퍼런스 : https://www.joinc.co.kr/w/man/12/rest/about REST에 대하여REST에 대하여나는 PHP 웹 프로그래머로 이 바닥에 들어섰다. 그 후에 시스템/네트워크 프로그래머로 방향을 틀었고, 웹 기반 프로그래밍은 사이트를 유지/보수하는 수준에 머물렀다. 예컨데, 취www.joinc.co.kr중요한 점 : REST는 "강제"하는 것이 아니다. 법이 아닌 규칙 같은 느낌REST : Representational State Transfer분산 시스템을 위한 소프트웨어 아키텍처RESTful API 어플리케이션 개발 인터페이스기존 방식의 문제- 상호운용성이 나쁨, 강력한 대신 복잡함 -> 복잡하면 상호운용성이 떨어진다- 벤더에 종속적이다- 바퀴를 만들기 위한 바퀴 = 복잡함즉,.. N:1 2 유저와 게시글, 게시글과 댓글의 연결 User와 다른 모델 간의 모델 관계 설정 User & Article User & Comment 모델 관계 설정 # articles/models.py from django.conf import settings class Article(models.Model): user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) User 모델을 참조하는 2가지 방법 get_user_model() settings.AUTH_USER_MODEL django 프로젝트 ‘내부적인 구동 순서’와 ‘반환 값’에 따른 이유 기억할 것은 User 모델은 직접 참조하지 않는다는 것 get_user_model() set.. N:1 1 Many to one relationships 한 테이블의 0개 이상의 레코드가 다른 테이블의 레코드 한 개와 관련된 관계 N:1 OR 1:N Comment(N) - Article(1) 0개 이상의 댓글은 1개의 게시글에 작성될 수 있다. N대 1관계에서는 N에 외래키가 들어가게 된다. 댓글 모델 ForeignKey() N:1 관계 설정 모델 필드 ForeignKey 클래스의 인스턴스 이름은 참조하는 모델 클래스 이름의 단수형으로 작성하는 것을 권장 외래 키는 ForeignKey 클래스를 작성하는 위치와 관계없이 테이블 필드 마지막에 생성됨 ForeignKey(to, on_delete) article = models.ForeignKey(Article,on_delete=models.CASCADE) to :.. N:M 2 팔로우 기능 구현 프로필 페이지 각 회원의 개인 프로필 페이지에 팔로우 기능을 구현하기 위해 프로필 페이지를 먼저 구현하기 # accounts/urls.py urlpatterns = [ path('profile//',views.profile, name='profile'), ] // 이라고만 해둔다면, 해당 url 밑의 모든 url이 문자열로 검색하게 됨, ex) login 이라는 유저를 찾게 된다 # accounts/views.py from django.contrib.auth import get_user_model def profile(request, username): User = get_user_model() person = User.objects.get(username=username) contex.. N:M 1 Many to many relationships N:M or M:N 한 테이블의 0개 이상의 레코드가 다른 테이블의 0개 이상의 레코드와 관련된 경우 ⇒ 양쪽 모두에서 N:1 관계를 가짐 왜 필요한가 이해하기 “병원 진료 시스템 모델 관계’를 만들며 M:N 관계의 역할과 필요성 이해하기 환자와 의사 2개의 모델을 사용하여 모델 구조 구상하기 N:1의 한계 한 명의 의사에게 여러 환자가 예약할 수 있도록 설계 # hosplitals/models.py class Doctor(models.Model): name = models.TextField() def __str__(self): return f'{self.pk}번 의사 {self.name}' class Patient(models.Model): doctor .. DOM 1990 웹의 탄생 : 초기의 웹은 정적인 텍스트 페이지만을 지원 1993 웹 브라우저의 대중화 Netscape가 90퍼의 점유율 가짐 1995 Javascript의 탄생, Netscape에서 만듬 1996 Javascript 파편화, 많은 회사들이 독자적으로 JavaScript를 변경하고 이를 자체적으로 발전해나감 1995~2001 1차 브라우저 전쟁 : 결국 IE가 승리함, 2002년 2003 Netscape 핵심 개발진 모질라 재단 설립 및 Firefox 브라우저 출시 1차 브라우저 전쟁의 영향 웹 표준의 부재로 인해 각 기업에서 자체 표준을 확립하려는 상황 발생 ⇒ 이는 웹 개발자들에게 큰 혼란을 주었으며, 결국 웹 표준의 중요성을 인식하는 계기가 됨 1997 ECMAScript 출시. 웹 표준 .. REST API 2 DRF with N:1 Relation GET - List 댓글 목록 조회를 위한 CommentSerializer 정의 # serializers.py class CommentSerializer(serializers.ModelSerializer): class Meta: model = Comment fields = '__all__' url # urls.py urlpatterns = [ path('comments/', views.comment_list), ] view 함수 # views.py @api_view(['GET',]) def comment_list(request): # 전체 댓글 조회 comments = Comment.objects.all() # 직렬화 진행, QuerySet을 다루기 때문에 many.. 이전 1 2 3 4 ··· 8 다음