AAA 패턴 AAA:Arrange-Act-Assert 패턴은 TDD:Test-Driven Development 에서 주로 사용되는 테스트 케이스 작성 방법론입니다. 이 패턴은 테스트를 구성하는 세 가지 주요 단계를 명확하게 구분하여 작성합니다. Arrange (준비): 테스트를 실행하기 전에 초기 상태를 설정합니다.필요한 객체를 생성하거나 초기화하고, 테스트에 필요한 모든 사전 조건을 설정합니다.예시 : 객체 인스턴스 생성, 입력 매개변수 설정, 초기화 작업 수행 등Act (실행) : 실제로 테스트하려는 동작이나 기능을 실행합니다.Arrange 단계에서 설정한 상태나 객체를 사용하여 특정 메서드를 호출하거나 동작을 수행합니다.예시 : Method 호출, 이벤트 발생, 기능 실행 등Assert (단언)..
사용하던 Oracle 11g에서 업그레이드 되어 시퀀스로만 관리되었던 PK를 12c 이상부터 지원되는 Identity Column 속성을 사용할 수 있어 해당 Sequence와 비교해보았다.시퀀스(Sequence):시퀀스는 데이터베이스 객체로, 정수 값 시퀀스를 생성하는 데 사용됩니다.보통 특정 테이블의 열과 연결되지 않고, 데이터베이스 레벨에서 관리됩니다.시퀀스는 다양한 테이블에서 동일한 시퀀스를 사용할 수 있습니다.시퀀스는 순차적으로 증가하거나 감소하는 정수 값을 생성하며, 다음 값을 미리 예측할 수 있습니다.주로 기본 키( primary key )를 생성하기 위해 사용됩니다.CREATE SEQUENCE employee_id_seqSTART WITH 1INCREMENT BY 1NOMAXVALUE;ID..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bkRxzF/btsGpnHiovm/M09jfdvR5fKa1Iuppw0Shk/img.png)
Carbon으로 Date 변경시 잘못된 날짜 값으로 노출됨. 기준 날짜에 Month, Date를 추가하여 날짜를 변경하여 호출시 원하는 날짜 값이 노출되지 않음. $date = carbon::parse('2024-01-31'); // 참고 2024년 2월 마지막 날은 29일 // 기준 날짜에 한달하고 2일 추가하여 날짜 출력하기 // 예상하는 값은 2024-03-02 echo $date->addMonth(1)->addDay(2)->format('Y-m-d'); // 2024-03-04 ? 1월에 한달을 더하면 예상되는 날짜는 2월 마지막 날인 02-29일이 값이 나와야하나 03-02일이 출력된다. 이는 Carbon에서 월단위 이상 값을 더할 때 기준일에 무조건 월 단위 값을 더하고, 달력에 날짜 형식에 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/0dSYX/btsAiDPvGBf/RsErlDvomvyUUbNGvKez61/img.png)
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..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/eLIGLF/btst0ymO20L/5nkWeYeAlA5JtwaokgoHZ1/img.png)
PHP + LARAVEL + Passport 둘 이상의 Guard를 설정하는 것은 라라벨 공식 문서를 통해서 쉽게 확인이 가능하다. 세션과 Passport를 이용한 토큰 인증을 적용하여 router 마다 middleware에 적용하면 쉽게 사용할 수 있다. 기존에 무의식적으로 사용했던 client_credentials은 사용자에 대한 인증이라기 보다 머신(서버)에 대한 인증이라고 보는게 맞다. grant_type:Authorization_code를 이용하여 사용하려 했으나, 인증에 대한 middleware 를 동시에 사용하고자 하지만 기본적으로 하나의 인증이 실패할 경우 다음을 진행하지 않는다. 예를 들어 //route.php Route::get('user', function() {})->middlewa..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/dQVN6E/btsnohM0MNG/ns00Tzyk8Z3kFgdhxDXjck/img.png)
##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..
- Total
- Today
- Yesterday
- django
- 테스트_다중트랜잭션
- composer-self-update
- graphql
- exception-test
- VIM-COMMAND
- addMonth
- 메일
- php-laravel
- graphql-php
- 정규식
- vim
- 자바스크립트
- 둘이상인증한번에사용하기
- addMonthWithoutOverflow
- composer-install
- php
- session+token authorize
- laravel-test
- aaa패턴
- Laravel
- php-composer
- 나는욕심쟁이
- redis
- 라라벨
- MySQL
- composite-primarykey
- POP3
- 정의
- Python