IT/라라벨

· IT/라라벨
Laravel 10과 AWS SES를 이용하기 위한 설정 가이드1단계: AWS SDK for PHP 설치composer require aws/aws-sdk-php2단계: AWS SES 설정AWS SES를 사용하여 이메일을 보내려면 AWS SES 계정을 설정하고 이메일 주소나 도메인을 인증 필요.참고: 아직 완료하지 않은 경우, '샌드박스' 모드로 발송에 제한이 있음. 보낼 수 있는 메일의 용량과 속도가 크게 제한되며, 모든 수신자가 SES에서 인증을 받아야 함.3단계: Laravel에서 AWS SES 구성Laravel 프로젝트의 config/services.php 수정. AWS SES 인증 정보를 추가// config/services.phpreturn [ // 다른 서비스 구성... 'ses'..
· IT/라라벨
Laravel에서 미들웨어(Middleware)는 애플리케이션의 HTTP 요청 처리 과정에서 핵심적인 역할을 담당한다. 미들웨어는 요청(Request)과 응답(Response) 사이에서 동작하며 다양한 기능을 수행할 수 있다.1. 미들웨어의 기본 구조미들웨어는 handle 메서드를 구현하며, $request와 $next 매개변수를 받음.public function handle($request, Closure $next){ // 요청 전 처리 $response = $next($request); // 응답 후 처리 return $response;}요청 전 처리: $next($request) 호출 이전에 실행되며, 요청이 애플리케이션의 다른 부분에 도달하기 전에 동작.응답 후 처리: $n..
· IT/라라벨
Laravel 로 개발을 하다 보면 Facade, Singleton, Alias 라는 용어를 접할수 있게 되는데 Facade 를 공부하다보면 Alias 는 뭐지 궁금하기도하고 Singleton 을 공부하고나면 Facade 와 무슨 차이인지 궁금해질수도 있다. (Facade 도 하나의 request 생명주기 동안 static 하게 전역적으로 값을 관리할수 있기 때문) 오늘은 각 개념의 의미, 차이점, 그리고 언제 어떻게 사용하는 것이 좋은지 알아보려고 한다. Facade란?Facade는 복잡한 라이브러리의 기능을 간단한 인터페이스로 사용할 수 있게 해주는 디자인 패턴입니다. Laravel에서 Facade는 서비스 컨테이너에 바인딩된 객체에 대한 "정적" 인터페이스를 제공 Facade의 특징서비스 컨테이너..
· IT/라라벨
트랜잭션의 기본 개념트랜잭션은 데이터베이스의 상태를 변경시키는 하나의 논리적 작업 단위. 트랜잭션은 다음과 같은 특징이 있다. (ACID)원자성(Atomicity): 트랜잭션의 모든 연산이 완전히 수행되거나 전혀 수행되지 않아야 함.일관성(Consistency): 트랜잭션 전후로 데이터베이스는 일관된 상태를 유지해야 함.격리성(Isolation): 동시에 실행되는 트랜잭션들이 서로 영향을 미치지 않아야 함.지속성(Durability): 성공적으로 완료된 트랜잭션의 결과는 영구적으로 반영되어야 함. Nested TransactionsNested transactions 은 트랜잭션 내에서 또 다른 트랜잭션을 시작하는 개념. 이는 복잡한 작업을 더 작은 단위로 나누어 관리할 수 있게 해준다. 그러나 MySQL..
· IT/라라벨
https://github.com/junholee14/laravel-unicode-normalizer GitHub - junholee14/laravel-unicode-normalizerContribute to junholee14/laravel-unicode-normalizer development by creating an account on GitHub.github.com 한글을 처리하다보면 유니코드 정규화가 필요한데 라라벨에서 이를 간편하게 처리할수 있는 패키지를 만들어보았다. 유니코드 정규화가 필요한 이유 [유니코드 정규화] 같은 글자가 중복으로 저장되거나 검색에서 누락 된다면 유니코드를 의심해DB 스키마에 unique 키가 걸려있는 컬럼에 중복된 값이 저장되거나 검색 결과에 나와야 할 값이 누락된..
· IT/라라벨
종종 DB 테이블의 여러 row 에 대해 업데이트가 필요한 경우가 있는데 보통 다음과 같을 것이다. 1. 여러 post 의 value 를 하나의 값으로 업데이트 해야 하는 경우 2. 여러 post 의 value 를 각각의 값으로 업데이트 해야 하는 경우 업데이트시 row 의 갯수 만큼 n 번 트랜잭션을 발생시키지 않고 한번에 처리하는게 오버헤드도 줄일수 있고 성능상 유리하다. 1. 번 같은 경우, 아래와 같이 처리할수 있고 Eloquent 빌더, 쿼리빌더 모두 간편하게 구현가능하다. Post::where('code', 'A')->update([ 'category' => 'new category' ]); DB::table('posts')->where('code', 'A')->update([ 'categor..
· IT/라라벨
인증 실패 발생시 클라이언트의 device id 와 액세스 토큰을 로그로 남겨야 할 일이 있어 작업을 하던 도중 액세스 토큰이 보이질 않아 당황. 코드를 좀 살펴보니 passport 에서 Authoization header 를 날려버리길래 궁금해서 살펴보니 이러한 히스토리가 있었다. 누군가가 이걸 왜 날리냐고 이슈에 질문.. https://github.com/laravel/passport/issues/1309 Do not overwrite the authorization header · Issue #1309 · laravel/passport Hi, in the TokenGuard the authorization header will be overwritten when the authentication r..
· IT/라라벨
N - N 관계시 보통 중간에 pivot 테이블을 두어 구현하는데 이때 pivot 테이블에 관계 맵핑뿐만 아니라 추가적으로 컬럼을 추가하여 관리가 가능하다. 그리고 pivot 테이블의 컬럼 값들에 대한 crud 는 다음과 같은 메소드를 자주 활용한다. 문서 참조 attach detach sync syncWithoutDetaching 쿼리빌더 활용 updateOrCreate 와 같은 기능을 사용하고 싶은 경우 쿼리빌더를 반환 받아 활용하도록 하자.
_이준호_
'IT/라라벨' 카테고리의 글 목록