라라벨 모던하게 DTO 사용하기 (feat: Laravel Spring) 필요패키지 : # laravel-data $ composer require spatie/laravel-data $ php artisan vendor:publish --provider="Spatie\LaravelData\LaravelDataServiceProvider" --tag="data-config" # laravel-route-attributes $ composer require spatie/laravel-route-attributes $ php artisan vendor:publish --provider="Spatie\RouteAttributes\RouteAttributesServiceProvider" --tag="config..
Laravel Swagger 쉽게 적용하기 (feat. vyuldashev/laravel-openapi 패키지 ) PHP에서 Swagger를 적용하면 코드보다 더 길은 주석을 보게 될 것이다. 물론 Phpstorm에 플러그인을 달면 좀 편하게 쓸 수는 있지만, 이러한 단순 노가다를 하면서, 우리는 한 번쯤 이런 생각을 한다. ( 뭐 자동화나 클래스로 하는 방법은 없을까? ) PHP 쪽에도 이러한 움직임이 아예 없지는 않다. 그중 필자가 추천하는 패키지는 아래와 같다. https://vyuldashev.github.io/laravel-openapi/ 필자가 해당 패키지를 선택한 이유 1. 문서 작성을 주석에 의존하지 않고 재활용이 가능했으면 좋겠다. 2. 커스텀이 자유로웠으면 좋겠다 위에 2가지가 모두 부..
신입일 때 오름차순, 내림차순 혹은 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층. 내려간다의 내림차순.노하우 (영어)오름차..
frontend aws 배포하기 (feat: s3, CloudeFront, Certificate, Route53) 내용 정리중 s3 생성 퍼블릭 액세스 차단 : CoudeFront 에만 허용 s3 직접 허용 막기 codepipe line 생성 buildspec.yaml 하단 참조 cloudefront 연결 원본 원본도메인 : 생성한 s3 연결 이름 자동완성을 쓰거나 자기만의 유니크 이름 생성 S3 버킷 액서스 사용 : 만들거나 기존 것 사용 설정 가격 분류 : 서비스 지역 사용, 최고 성능 따라가다가는 돈 많이 나감. SSL 인승서 생성 ( 그리 어렵지 않음, 다만 주의점은 버지니아 북부로 만들어야지 표시 됨, 22.03.04 기준 ) 나머지는 자기 환경에 맞게 작성 Route53 자기도메인 선택 -> ..
Laravel에서 소셜 로그인을 붙일 때 쓰는 공식 패키지가 Socialite다. 문제는 공식이 지원하는 곳이 제한적이라는 것이다.공식 지원 목록은 이렇다. Facebook, X(Twitter), LinkedIn, Google, GitHub, GitLab, Bitbucket, Slack. 국내 서비스에서 정작 필요한 카카오, 네이버는 없다.Socialite Providers이걸 해결해주는 커뮤니티 프로젝트가 있다.https://socialiteproviders.com/about/카카오, 네이버를 포함해 수백 개의 프로바이더가 등록돼 있다. 사용법은 전부 동일한 패턴이라 하나만 익히면 나머지는 문서만 보고 붙일 수 있다.설치와 설정 (카카오 예시)1. 패키지 설치composer require sociali..
CodePipeline과 Slack Bot으로 스마트하게 배포하는 구조를 정리한다. 핵심은 배포 직전에 Slack에서 사람이 승인하도록 만드는 것이다.만들고 싶었던 흐름GitHub push 하면 Docker 자동 빌드 및 테스트빌드가 완료되면 배포 직전에 confirm을 Slack Bot으로 받기Slack에서 최종 컨펌을 하면 배포 시작배포가 완료 및 실패가 되면 Slack으로 알림 받기트리거는 GitHub Actions vs CodePipeline빌드 트리거는 GitHub Actions와 CodePipeline으로 하는 방법 2가지가 있다.트리거 종류로는 비용이 바뀌지 않으니 CodePipeline에서 처리하는 것이 관리적 측면에서 좋다고 판단했다. AWS 리소스 접근 권한을 IAM 역할로 처리할 수 ..