2개 이상의 데이터베이스를 사용할 경우 DatabaseTrasaction 미들웨어를 사용해도 default 값의 DB에 한해 트랜잭션이 처리된다. // config/databases.php return [ 'default' => env('DB_CONNECTION', 'default'), ... 사용하는 테스트마다 트랜잭션을 지정해도 되긴하나 테스트파일이 추가될 떄 마다 지정해줘야하는 번거로움이 있다. class SomeTest extends TestCase { protected $db; public function setUp(): void { $this->db = \DB::connection('somedatabase1'); $this->db->be..
PHP + LARAVEL + Passport 둘 이상의 Guard를 설정하는 것은 라라벨 공식 문서를 통해서 쉽게 확인이 가능하다. 세션과 Passport를 이용한 토큰 인증을 적용하여 router 마다 middleware에 적용하면 쉽게 사용할 수 있다. 기존에 무의식적으로 사용했던 client_credentials은 사용자에 대한 인증이라기 보다 머신(서버)에 대한 인증이라고 보는게 맞다. grant_type:Authorization_code를 이용하여 사용하려 했으나, 인증에 대한 middleware 를 동시에 사용하고자 하지만 기본적으로 하나의 인증이 실패할 경우 다음을 진행하지 않는다. 예를 들어 //route.php Route::get('user', function() {})->middlewa..
##composer 설치 curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin/ //curl이 없을 경우 php cli로 실행 php -r "readfile('https://getcomposer.org/installer');" | php -- --install-dir=/usr/local/bin/ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php -r "if (hash_file('sha384', 'composer-setup.php') === 'e21205b207c3ff031906575712edab6f13eb0b361f2..
편집 i: 현재 위치에 삽입 모드로 전환합니다. a: 현재 위치의 다음 문자 뒤에 삽입 모드로 전환합니다. o: 현재 줄 다음에 새로운 줄을 추가하고 삽입 모드로 전환합니다. dd: 현재 줄을 삭제합니다. yy: 현재 줄을 복사합니다. p: 클립보드에 복사한 줄을 붙여넣습니다. u: 마지막 동작을 취소합니다. Ctrl + r: 취소한 동작을 다시 실행합니다. :w: 현재 파일을 저장합니다. :q: Vim을 종료합니다.이동 h: 왼쪽으로 한 칸 이동합니다. j: 아래로 한 줄 이동합니다. k: 위로 한 줄 이동합니다. l: 오른쪽으로 한 칸 이동합니다. gg: 파일의 첫 번째 줄로 이동합니다. G: 파일의 마지막 줄로 이동합니다. Ctrl + b: 한 화면 위로 스크롤합니다. Ctrl + f: 한 화면 아..
L5-Swagger BookController Get all books URL: /api/books Method: GET Description: Get all books /** * @OA\Get( * path="/api/books", * tags={"Books"}, * summary="Get all books", * @OA\Response( * response=200, * description="Returns all books", * @OA\JsonContent( * type="array", * @OA\Items(ref="#/components/schemas/Book") * ), * ), * ) */ public function index() { return Book::all(); } Create a n..
go get github.com/go-redis/redis/v8 package main import ( "context" "fmt" "github.com/go-redis/redis/v8" ) func main() { // Redis 연결 rdb := redis.NewClient(&redis.Options{ Addr: "{host}", Password: "{password}", DB: "{dababase}", }) ctx := context.Background() pubsub := rdb.Subscribe(ctx, "mychannel") defer pubsub.Close() // 고루틴으로 수신된 메시지를 처리 go func() { for { msg, err := pubsub.ReceiveMessage(c..
- Total
- Today
- Yesterday
- MySQL
- 테스트_다중트랜잭션
- addMonth
- php-laravel
- django
- 메일
- graphql
- Laravel
- laravel-kafka
- graphql-php
- eloquent-observer
- laravel-test
- password-manager
- 자바스크립트
- exception-test
- session+token authorize
- addMonthWithoutOverflow
- redis
- bitwarden-cli
- 정의
- vim
- 정규식
- POP3
- 라라벨
- Python
- aaa패턴
- l5-swagger
- php
- l5-swagger-response
- observer 매개변수 전달하기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |