신입일 때 오름차순, 내림차순 혹은 ASC, DESC가 많이 헷갈렸다. 지금도 주니어들을 보면 가끔 반대로 말하고 쓰기도 하는데, 이에 따른 노하우를 정리해보려고 한다.의미오름차순(ASC)은 1, 2, 3, 4, 5 이런 식으로 숫자 혹은 날짜가 증가하는 것을 의미하며,내림차순(DESC)은 5, 4, 3, 2, 1 이런 식으로 숫자 혹은 날짜가 감소하는 것을 의미한다.의미는 아는데 실무를 보다 보면 헷갈릴 때가 왕왕 있다.노하우 (한글)이럴 때는 계단을 생각하면 이해가 쉽다.계단을 오른다고 상상해보자. 1층에서부터 올라가다 보면 1층 2층 3층 4층 5층. 오르다의 오름차순.이번에는 반대로 내려간다고 생각해보자. 5층부터 내려가다 보면 5층 4층 3층 2층 1층. 내려간다의 내림차순.노하우 (영어)오름차..
Laravel에서 소셜 로그인을 붙일 때 쓰는 공식 패키지가 Socialite다. 문제는 공식이 지원하는 곳이 제한적이라는 것이다.공식 지원 목록은 이렇다. Facebook, X(Twitter), LinkedIn, Google, GitHub, GitLab, Bitbucket, Slack. 국내 서비스에서 정작 필요한 카카오, 네이버는 없다.Socialite Providers이걸 해결해주는 커뮤니티 프로젝트가 있다.https://socialiteproviders.com/about/카카오, 네이버를 포함해 수백 개의 프로바이더가 등록돼 있다. 사용법은 전부 동일한 패턴이라 하나만 익히면 나머지는 문서만 보고 붙일 수 있다.설치와 설정 (카카오 예시)1. 패키지 설치composer require sociali..
개인 저장용 종립님의 깃 단축어를 참고하여 내게 맞게 수정한 것 (출처 : https://johngrib.github.io/wiki/git-alias/) 코드 gits ( https://gist.github.com/yousung/515eeec8268544056c1a5664885e754e ) [alias] alias-basic = "!#----------------------------------------------------------;\n\ git alias | head -7" ci = commit co = checkout sw = switch re = restore s = status -s assume = update-index --assume-unchanged assumed = "!git ls-f..
NESTJS 만들기 프로젝트 1 TODO 프로젝트 생성 ( 아래 명령으로 nest project 생성) nest new todo todo 리소스 생성 ( resource 명령을 사용하면 entity, controller, module, dto가 생성된다) nest g res todo or nest generate resource todo filter + validate 모듈 설치 npm i --save class-validator class-transformer filter + validate 적용 // main.ts async function bootstrap() { const app = await NestFactory.create(AppModule); app.useGlobalPipes( // todo..
테스트 코드를 작성하다 보면 기존 convention과 다른 방법으로 코드를 작성하게 될 때가 있다. 그중 메서드명을 한글로 작성하는 것과 snake_case로 작성하는 것이 대표적이다.이렇게 작성했을 경우 JetBrains 툴에서는 잘못된 코드라고 지적질을 하게 된다. 여기서는 적어도 테스트 코드에서는 이러한 convention을 무시하게 하는 방법을 알아본다.왜 테스트 메서드명을 한글로 쓰나먼저 왜 이런 요구가 생기는지 짚고 가자.// 영문 camelCasepublic function testUserCannotWithdrawWhenBalanceIsInsufficient()// 한글public function 잔액이_부족하면_출금할_수_없다()테스트 코드는 실행되는 문서에 가깝다. 나중에 테스트가 실패..
12 Factor APP을 하는 이유 최근 소프트웨어 서비스가 클라우드 서비스로 많이 바뀌게 되면서, 12 Factor는 확장성 좋은 SaaS 앱을 만들기 위한 방법론이다. 설정을 자동화 할수 있다. OS 따라 달라지는 부분이 명확하고, 이식성이 좋다. 클라우드 환경에 적합하다 CI / DI 에 용이하다. 툴, 아키텍쳐, 개발방식을 바꾸지 않아도 Scale up이 용이하다. 12 Factor 1. 코드 베이스 (Code Base) 애플리케이션(이하 앱)은 한 개의 코드 베이스 (Git, SVN)를 통해 관리하며, 동일한 코드로 운영/개발에 배포하여야 한다. - 앱은 1개의 코드 베이스로 1:1 관계다. - 앱은 1개의 코드 베이스로 운영/개발 등등에 배포된다. - 코드베이스 전략은 다른 11가지 전략의 ..
