일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- it
- ReactJS
- devops
- javascript
- 맛집
- Spring Boot
- php
- jenkins
- Git
- Oracle
- IntelliJ
- springboot
- JVM
- Web Server
- laravel
- elasticsearch
- java
- db
- Gradle
- 요리
- tool
- redis
- Spring Batch
- Design Patterns
- Spring
- MySQL
- jsp
- AWS
- ubuntu
- linux
- Today
- Total
목록laravel (16)
아무거나
[Elasticache(Redis) 도입 사례] 검색엔진으로 들어오는 부분에 대해서 캐시를 도입했어야했다. 데이터는 현재 천만건기준으로 후에 4천만건정도 또는 그 이상일 경우를 대비하여 설계를해야 했으며 해결책은 이러했다. 1. 키를 빨리 찾고, 빨리 값을 리턴해야 한다. 2. 데이터는 메모리에 저장되어야 하고, 이상적으로 EC2 high-memory types(68GB 보다는, 17GB나 34GB) 이내에 들어가야 한다. (역자 주: EC2에서 가격이 34GB는 17GB 의 2배, 68GB는 17GB의 4배 입니다.) 3. 기존 구조에 적합해야 한다. 4. 서버가 죽어도 다시 데이터를 새로 생성하지 않도록, persistent 해야 한다. (여기의 의미는, 다른 DB나 로그에서 데이터를 다시 재생성할 ..
[SyncTimes.php] use Illuminate\Database\Eloquent\Model; class SyncTimes extends Model { public $timestamps = false; protected $primaryKey = 'seq'; protected $connection = "auth"; protected $table = 'sync_times'; } // 조회할 빌더 내용 $syncTime = new SyncTimes(); $syncTimeResult = $syncTime->select('필드1', '필드2') ->where('조건1', {조건1}) ->where('조건2', {조건2}) ->orderBy('정렬1', 'desc') ->get(); [laravel 옐로퀀트..
# laravel 호스트 분기 - .env.dev .... env파일 기준 - bootstrap.php에 추가 [내용] //호스트체크 if(preg_match('/local\./', $_SERVER['HTTP_HOST'])){ $envFile= '.env.local'; } else if(preg_match('/dev\./', $_SERVER['HTTP_HOST'])){ $envFile= '.env.dev'; } else if(preg_match('/stage\./', $_SERVER['HTTP_HOST'])){ $envFile= '.env.stage'; } else { $envFile= '.env.live'; } $app->loadEnvironmentFrom($envFile); return $app;
# laravel where 배열로 조건 넣기 ex) $whereData = array(array('name','test') , array('id' ,'!=','5')); $users = DB::table('users')->where($whereData)->get();
# laravel 상수 관리 - config/constants.php 에 관리할 상수를 만든다 [ex] return [ 'EP' => array( 1000 => 'SUCCESS', 2001 => 'EMPTY TARGET' ) ]; - 사용할 부분에 Config 파사드 객체를 추가하여 사용한다 [ex] use Config // alias 잡혀있음 Config::get('constants.EP')
[laravel authentication] (https://laravel.kr/docs/5.3/authentication#introduction-database-considerations) 1. php artisan make:auth 명령어를 통하여 인증에서 필요한 모든 라우트와 뷰파일을 손쉽게 스캐폴딩한다. - 생성 # HomeController # resources/views/auth # resources/views/layouts # routes/web 2. 구글 시큐어 설정(gmail설정 test용) - https://www.google.com/settings/security/lesssecureapps 여기들어가서 허용을 한다. 3. 패스워드 리셋 - 메일 설정(/.env) MAIL_DRIVER=..
[laravel 이벤트 기능] 미들웨어는 컨트롤러를 감싸고 있는것 즉, 컨트롤러 전에 미리 실행된다. 미들웨어는 현재 리퀘스트에서 처리가되지만 이벤트는 다르게 처리될수도있다. 회원(event class) -> {웹 사이트 로그인} -> 웹 사이트(laravel) -> {이메일알림} -> 관리자(handler class) * php artisan make:event BeautyLogined 명령어로도 만들 수 있음 1. 이벤트 발생 - route에 추가 [소스] Route::get('event', function(Request $request) { Event::fire(new BeautyLogined($request->ip())); return redirect('/'); }); - app/Events/Be..
[laravel event & queue] 준비 - https://www.xpressengine.com/devlog/23038445 -> 5번관련자료 - /etc/hosts에 테스트에 필요한 도메인 설정 - homestead가 아닌경우, beanstalkd를 설치 # 리눅스의 경우, apt-get install beanstalkd # 맥의 경우, brew install beanstalkd - Ratchet(검색어: 구글에서 "ratchet php"), BrainSocket(검색어: 구글에서 "brainsocket php")찾아보기 * 사용용도 이벤트를 엄청나게 많이 보내야될 상황에서 큐를 사용한다. -> 백그라운드에서 대용량 파일을 처리한다던가 이메일을 보낸다던거 그런류의 오래걸리는 작업들을 전부 큐로 ..
file upload - 작성 - 컨트롤러에 소스 추가 [소스] // 만약 입력값중에 파일이 있으면 if(Input::hasFile('thumbnail')) { $thumbnail = Input::file('thumbnail'); $newFileName = time().'-'.$thumbnail->getClientOriginalName(); // 스토리지에 올려줌 ( storage_path 경로는 storage/files 라는 폴더 생성하여 경로 지정 ) // 만약 에러가나면 퍼미션문제일 가능성이 높음 $thumbnail->move(storage_path().'/files/', $newFileName); $lecture->thumbnail = $newFileName; }
pagination 라라벨에서는 Eloquent ORM을 사용할 때 paginate와 render 메소드를 사용하여 편리하게 page를 출력할 수 있다. - 컨트롤러(index메소드) [소스] public function index() { $lectures = Lecture::orderBy('created_at', 'desc')->paginate(5); return view('main', compact('lectures')); } - 뷰(index.blade.php) [소스] {!! $lectures->render() !!}