🐳 PUT 메소드와 PATCH 메소드의 차이 PUT 메소드는 저장돼 있는 리소스 전체를 대체하고 PATCH는 일부 필드만을 대체한다. PUT은 폴더에 파일을 옮기는 거라고 생각하면 편하다 ! - 김영한님이 HTTP 강좌에서 사용한 비유다 파일이 폴더 내에 없다면 파일이 새로 생기지만 이미 있는 경우 파일을 덮어버린다 ! PATCH는 파일을 열어 내용을 수정하는 것이라고 생각하면 편하다 import { BaseTimeEntity } from 'src/BaseTimeEntity'; import { Column, Entity } from 'typeorm'; @Entity() export class User extends BaseTimeEntity { @Column() username: string; @Colu..
🐳 Mysql Docker Container 생성하기 먼저 mysql Official Image에서 사용법을 살펴보자 docker run --name {Container name} -e MYSQL_ROOT_PASSWORD={your password} -p 3306:3306 -d mysql:tag 1. --name : 컨테이너 이름을 명명한다. 2. MYSQL_ROOT_PASSWORD : 필수적으로 입력해야 하며 root 슈퍼유저의 비밀번호를 설정한다. 이를 이용해서 초기에 데이터베이스에 접근할 수 있다 ! MYSQL_ROOT_PASSWORD This variable is mandatory and specifies the password that will be set for the MySQL root su..
🐳 Docker ? 사전적 의미로는 항구에서 일하는 사람을 말한다. 그렇다면 왜 이런 단어를 사용했을까? Docker를 이해하기 위해서는 먼저 그 등장 배경을 이해해야 한다. 과거의 개발자들은 협업을 하는데 어려움을 겪었다. 서로 다른 컴퓨터에서 작업하기 때문에 버전, OS 등이 다르기 때문에 발생하는 다양한 문제들이 있었기 때문이다. 이러한 문제를 해결하기 위해 등장한 것이 "가상 환경"이다. 가상 환경은 OS 수준의 추상화를 통해 한 개의 컴퓨터에서 여러 OS 를 실행할 수 있게 해주었다. 이를 통해 협업을 하려는 개발자들은 동일한 환경을 구축할 수 있게 되었다. 하지만 이러한 가상환경은 새로운 문제를 야기했다. 가상환경은 OS 수준의 가상화를 하기 때문에 무겁다는 단점이 있었다. OS 자체가 무겁기..
이 포스팅은 로버트 C. 마틴 의 "Clean Code" 라는 책을 요약한 내용입니다. 🐳 명명법은 왜 중요할까 ? 클린 코드는 하나의 정답이 존재하는 것이 아니다. 굵직한 개발자들도 정의하는 방법이 다양하다. 하지만 모두가 추구하는 바는 비슷하다. 바로 가독성이다. 그것을 어떻게 표현하는지에 따라 단어선택의 차이점이 있을 뿐이다. 이러한 측면에서 명명법은 중요하다고 볼 수 있다. 변수/메소드/클래스 등이 어떤 일을 하는지 명료하게 확인할 수 있기 때문이다. 그렇다면 "Clean Code"에서 소개하는 명명법에 대해 알아보자 🐳 명명법 1. 의도를 분명히 밝혀라 2. 그릇된 정보를 피하라 3. 검색하기 쉬운 이름을 사용하라 4. 클래스 이름은 명사로 메소드 이름은 동사를 사용하라 5. 기발한 이름을 사용..
🐳 문제 typeORM이 0.3 버전을 출시하면서 기존에 레포지터리에 의존성을 주입 해주던 @InjectRepository() 데코레이터가 사라지게 됐다. 그래서 TypeORM 0.3 버전에서는 어떻게 레포지터리 패턴을 사용하는지 TypeORM 공식 문서를 통해 확인해 보았다. 아래는 TypeORM 공식문서에서 발췌한 Repository 패턴을 구현하는 방법이다. import { User } from "./entity/User" const userRepository = dataSource.getRepository(User) const user = await userRepository.findOneBy({ id: 1, }) user.name = "Umed" await userRepository.save(u..