Linux resource limit

현재 OS상의 제한이 걸려 있는 목록을 볼 수 있는 명령어 ulimit -a 위의 리스트 중에서 File open의 제약(Socket connect)을 걸고 있는 것이 바로 open files ulimit -n 50000 혹은 /etc/security/limits.conf 파일에* soft nofile 16384 * hard nofile 16384을 추가후 껏다 키면 적용된다. (sysctl -p로도 적용될수도..?) python에선 resourece 패키지를 통해 해당 스크립트가 실행되는 동안 변경할 수 …

Laravel 5.8 PHPunit test setUp, tearDown error

갑작스레 Laravel을 5.8로 업데이트 하고나서 잘만 동작하던 test가PHP Fatal error: Declaration of Tests\Feature\Test::setUp() must be compatible with이런 에러를 벹으며 동작하지 않았다. github, laracast등에 올라온지 꾀 된 내용인데 laravel upgrade 가이드엔 test 관련 표기가 없어 당황하던 도중 github에서 방법을 찾게 되었다. (작성일 기준으론 upgrade 가이드에 표시되지 않았을뿐 현재는 표시되어있다.) 해결 방법은 setUp과 tearDown 메소드에 반환형을 :void로 …

Laravel FormRequest Class without Redirect (response json)

Laravel에서 FormRequset 클레스를 만들어 Validate를 할때 유효하지 않은 경우 무조껀 이전 페이지로 Redirect를 시키게 된다. 물론 헤더에 X-Requested-With : XMLHttpRequest 등을 넣어 json으로 응답 받을 수 있지만, 테스트 과정에도 그렇고 아무 제약없이 api를 제공하고 싶을 때 리다이렉트 응답은 꽤나 신경 거슬리게된다. 과거의 Laravel에선 public function response() 를 사용하여 응답을 정해줄 수 있지만 왜인지 5.5 이후로 해당 기능은 …

Laravel phpunit Filestyem fake disk 설정

Laravel의 phpunit에서 fileupload를 테스트하기위한 공식 문서의 예제를 보면 Storage::fake(‘avatars’); 부분을 설정해 해당 disk를 사용하려고 해도$request->file(‘test’)->store(‘test_files’);이렇게 작성된 Controller를 통해 저장하게되면 storage/app/test_files에 저장되며, Storage::disk(‘avatars’)->assertExists($file->hashName()); 가 계속 파일이 없다고 표시된다. phpunit.xml 수정 <env name=”FILESYSTEM_DRIVER” value=”fake-local”/> 을 추가하고Storage::fake(‘fake-local’);, Storage::disk(‘fake-local’)로 변경해주면,storage/framework/testing/disks/fake-local/test_files/에 저장되며 test가 정상적으로 진행된다.

Laravel factory state

Laravel 팩토리[doc] 라라벨에서는 Factory를 통해 Model의 데이터에 가짜(Fake)데이터를 생성해 주는 기능이 존재한다. 이를 통해서 PHPUnit과 같은 Test를 진행할 때 원하는 Type의 데이터가 들어가지는지 테스트 하는 등의 기능을 제공하며,Database Seeding을 통해 Fake 데이터를 넣어 개발 및 테스트를 조금 더 용이하게 해준다. UserFactory Laravel에서 기본적으로 설정해 주는 UserFactory를 사용하면factory(User::class)->create()만으로 Fake 유저를 자동으로 생성해 준다. 만약, factory를 자동으로 …

[ubuntu 18.04] install cockpit latest version

Cockpit Project?[link] Cockpit은 .. 웹 브라우저 상에서 서버를 제어 할 수 있는 도구임과 동시에 단순한 서버 제어뿐만 아니라 다른 서버와 연결을 통해 여러대의 서버를 하나의 웹페이지에서 관리할 수 있게 해주는 프로젝트이다. 또한 다양한 플러그인을 제공해 확장성 또한 준수하다. Install Cockpit on Ubuntu 18.04 Ubuntu에는 이미 cockpit이 패키지에 포함되어 있기때문에 apt명령어로 설치 할 수 있다. sudo apt-get …

[Linux] Power management

우분투 서버 18.04에서 노트북 모니터를 닫아도 잠금 모드로 전환 되지 않는 설정 $ vi /etc/systemd/logind.conf edit #HandleLidSwitch=suspend To HandleLidSwitch=ignore sudo service systemd-logind restart 만약 화면을 닫았을 경우 자동으로 잠기길 원한다면 HandleLidSwitch=lock으로 변경하면 된다.

[Laravel] Laravel Best Practices

해당 글은 임영록(cherrypick) 님이 번역하신 Laravel Best Practices를 정리겸 옮겨 적은 것입니다. [ver. 2018-11-19] 번역: 한국어 (by 임영록(cherrypick)) Русский(by alexeymezenin) Português (by jonaselan) Tiếng Việt (by Chung Nguyễn) 이 문서가 도움이 되셨다면 현재 레퍼지토리뿐만 아니라, 원본 레퍼지토리도 한 번씩 star를 눌러주시면 감사하겠습니다. 😀  원본 레퍼지토리: https://github.com/alexeymezenin/laravel-best-practices 이 문서는 라라벨 프레임워크에서 객체지향 디자인의 5원칙(SOLID), 패턴 등을 적용한 내용이 아닙니다. 라라벨 프레임워크로 프로젝트를 진행하면서 놓칠 수 있는 Best …