오히려 좋아..

상황이 나쁘게만 흘러가는 것 같을 때 외쳐보자.. .

궁금한 마음으로 포트폴리오 보기

분류 전체보기 245

[FactoryBoy] Trouble Shooting

테스트를 작성하면서 특정모델 A에 역참조인 모델을 A가 생성되면서 같이 생성해야하는 일이 있었는데 구현하면서 꽤 고생했다. 이 과정을 정리해둔다. 아래의 간단한 예시를 사용했다. class Company(models.Model): name = models.CharField('회사명', max_length=100) created_at = models.DateTimeField('생성 일자', auto_now_add=True) updated_at = models.DateTimeField('업데이트 일자', auto_now=True) class Product(models.Model): company = models.ForeignKey(Company, related_name='products', on_delete..

Language/Python 2021.11.06

[git] 취소하기 치트 시트

1. Rebase 취소 하기 이전에 어떤 명령어를 작성했는지 그리고 해당 커밋의 해시값이 출력 >>> git reflog a23fve3 HEAD@{1}: ADD: commit 1 bh323gb HEAD@{2}: Delete: commit 2 19dfg4b HEAD@{3}: Modify: commit 3 e324b34 HEAD@{4}: Revert: commit 4 원하는 커밋의 해시값(6자리 숫자와 영어로 이루어져있는 값)을 이용해 아래 명령어를 작성해준다. 참고로 --hard는 기존 작업해놓은 내역이 지워지면서 해당 커밋으로 돌아가는 옵션이므로 잘 고민해서 사용하길 바란다. 이런 결과를 원하지 않는다면 그냥 옵션없이 사용하면 된다. git reset --hard 19dfg4b

Web Programming/Git 2021.11.06

[JS] Error: Failed to lookup view "home" in views director

1. Error: Failed to lookup view "home" in views directory "/Users/user/Project/zoom-clone/views" app.set("views", __dirname + "/views") 2. ReferenceError: __dirname is not defined 위 두 에러가 반복적으로 나타났다. 분명히 해당 경로에 파일이 있는데 이왜않.. __dirname 에러를 해결하기 위해 아래처럼 적어주면 1번 에러가 발생하고 2번을 해결하면 1번 에러가 나타나는 에러였다. import path from "path" __dirname = const __dirname = path.resolve(); package.json에 아래처럼 적혀있는 건 아닌지 한번..

[DRF] Serializer Validation

Serializer는 입력값을 검증하는 역할을 할 수 있다. 이 글에서는 Serializer의 Validation 기능에 대해 알아보도록 하겠다. 가령 request 내부에 포함된 데이터를 이용해 유저를 만드는 경우를 생각해보자. UserCreateSerializer는 아래와 같이 작성 할 수 있다. 물론 ModelSerializer를 이용해 검증하는 방법도 있지만 동작을 확인하기 위해 Serializer를 사용하도록 하자. class UserCreateSerializer(serializers.Serializer): username = serializers.CharField() # ID password = serializers.CharField() # 비밀번호 password2 = serializers...

[🐕🐾 일기 4일차] 주석은 이말년처럼

100만 유튜버 침착맨이 개인방송으로 유명하기 전, 웹툰 작가 이말년으로 살았을 무렵, 마이 리틀 텔레비전(마리텔)이라는 프로그램에 나온 적이 있다. 마리텔은 개인 방송 대결 프로그램으로 연예인들이 나와 개인 방송을 켜 시청자 수가 얼마나 많은지 경쟁하는 프로그램이다. 이말년의 컨텐츠는 자신이 어떤 식으로 그리는지 혹은 다른 게스트와 만화 그리기같은 컨텐츠를 주로 진행했다. 이중 기억에 남는 장면이 하나 있었다. 바로 사람들이 캐릭터를 잘 못 알아볼 때 하는 방법을 알려주는 장면이다. 캐릭터는 다양한 이유로 사람들이 잘 못알아 볼 수 있고 그럴 떄마다 그는 이마에 낙인을 찍는 다고 했다. 그 당시에는 기발한 아이디어다. 라고 생각하고 그냥 넘어갔던거 같다. 프로그램을 업으로 삼으면서 하면서 어떤식으로 객..

글/🐕🐾 일기 2021.10.05

클래스와 객체

클래스 : 공통적인 상태와 행동을 공유하는 객체들을 추상화한것 클래스를 구현하거나 다른 개발자에 의해 개발된 클래스를 사용할 떄 가장 중요한 것은 클래스의 경계를 구분 짓는 일 객체 객체는 상태와 행동을 갖는다. 접근 제어 매커니즘: 접근 수정자 캡슐화와 접근제어는 객체를 두부분으로 나눈다. 퍼블릭 인터페이스 : 외부에서 접근 가능한 부분 구현 : 오직 내부에서 접근 가능한 부분

Paradigm/OOP 2021.09.29