[공부기록] python으로 코딩하다가 연산자 '/'와 '//'의 차이를 알 필요가 있었다. 우선 연산자 '/'와 '//'의 차이는 반환하는 자료형이다. / 는 나눗셈의 결과가 float로 반환된다. // 는 나눗셈의 결과가 int로 반환된다. 예제로 4가지 경우에 대하여 출력했다. print(type(5/2)) print(type(4/2)) print(type(5//2)) print(type(4//2)) 결과는 아래와 같다. / 연산자인 경우 결과가 정수인 경우에도 float로 출력된다. // 연산자인 경우 결과가 소수인 경우에도 int로 출력된다. 값을 출력해봤다. print((5/2)) print((4/2)) print((5//2)) print((4//2)) ..
DRF를 사용하기 위해서는 DRF의 동작 방식을 알아야 했다. DRF에서는 model - serializer - view - url 순으로 구현해야 한다. 개인 프로젝트를 진행하면서 작성한 코드로 해당 방식에 대한 동작을 살펴보겠다. user App 내에서 구현하였다. [model 구현] 모델은 데이터이다. class searchLog(models.Model): username = models.ForeignKey(Profile,on_delete=models.CASCADE,related_name='searchLogPost',to_field='username_id') log = models.CharField(max_length=50,db_column='log') model에서 serchLog라는 class를..
[공부 내용 요약] * DRF : Django Rest Framework의 줄임말 - drf는 Django 안에서 REST API 서버를 쉽게 구축할 수 있도록 돕는 오픈소스 라이브러리다. - Django과 유사한 기능들을 가지고 있다. * REST API : 어떤 자원에 대하여 CRUD 연산을 수행하기 위해 URL 요청을 보내는 것 - Create , Read , Update, Delete 연산을 수행할 수 있다. - POST, GET, PUT, DELETE 메서드를 기본으로 사용하여 요청을 받거나 보낸다. - 각각 요청, 조회, 수정, 삭제 기능을 담당한다. * REST : Representational State Transfer의 약자로 위의 연산을 수행하는데 도움을 줌 * API : 두 소프트웨어..
Django , DRF를 사용하다 보면 현재 시간을 데이터로 저장해야 할 때가 있다. DateTimeField 를 사용하면 되는데, auto_now 속성과 auto_now_add 속성을 구분해서 사용해야 한다. 인스타그램 클론코딩 개발중에 사용자가 올린 스토리의 시간을 기록할 필요가 있었다. #스토리 class Story(models.Model): storyId = models.BigAutoField(primary_key=True, help_text="Story ID") username = models.ForeignKey(Profile,on_delete=models.CASCADE,related_name='storyPost',db_column='username',to_field='username_id') ..
[문제 상황] 인스타그램, 페이스북 처럼 자주 사용하는 sns에서 프로필 이미지나 이름을 변경하면 내가 쓴 댓글이나 글에서의 나의 프로필 이미지 혹은 이름도 변경 되어야 한다. 내가 직면한 문제는 이미지 변경 시 다른 객체의 이름은 변경되었으나 프로필 이미지가 변경되지 않는 것이였다. 이름은 model 끼리 외래키(Foreign Key)로 연결 되어있어서 update 시 변경 되었지만 프로필 이미지인 image Field에는 아무런 조치가 되어있지 않았기에 방법이 필요했다. [해결 방법] 고민한 결과 번거롭지만 가장 좋은 방법은 user가 작성하는 것들인 like model (좋아요) , comment model (댓글) 등에 userImage Filed를 만들고 user model 에서 이미지 변경 시..
서버 개발이나 코딩 테스트 준비로 python을 자주 사용하는데 헷갈리는 부분이 있었다. sort 함수와 sorted 함수 중에 어떤 것을 사용해야 하는가였다. 두 함수는 기본적으로 리스트를 정렬해주는 기능을 하는 파이썬 내장 함수 이다. sort()는 리스트를 오름차순으로 단순 정렬해주는 기능을 하고, sorted()는 매개변수로 들어온 데이터를 새로운 정렬된 리스트로 만들어서 반환하는 함수라고 한다. 즉, sort는 리스트를 단순 정렬해서 반환하는 것이고, sorted는 기존 리스트는 건드리지 않고 새로운 리스트를 반환한다. # sort () 메서드 a = [5, 2, 3, 1, 4] b = a.sort() print( f"a: {a}") print( f"b: {b}") # sorted () 메서드 ..