전체 글 (138) 썸네일형 리스트형 Laravel 8 사용자 라이브러리 추가 Laravel 8버전 기준으로 사용자 라이브러리 추가에 대해 작성한다. 1. /app/Library 폴더 생성 2. 해당 폴더에 사용할 클래스 형태의 라이브러리 추가 3. 해당 라이브러리 파일에 namespace App\Library 추가 Laravel Socialite와 SocialiteProvider를 활용한 다중인증 소셜로그인 및 동적 URL 처리 0. 환경 - laravel/socialite v5.1.3 - socialiteproviders/manager v4.0.1 - socialiteproviders/kakao v4.2.2 1. Laravel Socialite & Provider 설치 composer require laravel/socialite composer require socialiteproviders/{$provider} 2. config/services.php 에서 provider 설정 'kakao' => [ 'client_id' => env('KAKAO_CLIENT_ID'), 'client_secret' => env('KAKAO_CLIENT_SECRET'), 'redirect' => env('KAKAO_URL'), ], 3. ro.. JMeter 을 활용한 웹 부하 테스트 JMeter 을 통한 웹 서버 부하 테스트에 대해 작성한다. JMeter은 Java로 개발되어 JRE 또는 JDK 가 필요하다. https://jmeter.apache.org/ JMeter 공식 페이지 다운로드 후 내부의 bin 폴더 내의 jmeter 을 실행한다. JMeter 은 여러 유형의 테스트를 진행할 수 있으며, 간단한 웹 요청 부하 테스트에 대해 작성한다. 1. 테스트 가상사용자(Thread) 설정 Test Plan 우클릭 > Add > Threads (Users) > Thread Group 을 클릭하여 생성 더보기 Number of Threads (users) : 가상사용자 ( Thread )의 수 Loop Count : 테스트를 반복하는 횟수 2. 요청(Request) 설정 Thread G.. MySQL sysbench 부하테스트 sysbench 를 사용하여 MySQL 부하테스트를 진행한다. 오픈소스로 H/W(CPU, Memory, I/O), MySQL/MariaDB 등 다양한 성능 테스트를 할 수 있다. github : github.com/akopytov/sysbench 1. 설치 ## Linux ## ## Debian/Ubuntu curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.deb.sh | sudo bash sudo apt -y install sysbench ## RHEL/CentOS curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.rpm.sh.. Laravel Mix Webpack은 브라우저 용 JavaScript및 자산을 준비하는 매우 강력한 모듈 번들러입니다. 이해할 수 있는 유일한 단점은 약간의 학습 곡선이 필요하다는 것입니다. 웹팩 구성을 동적으로 구성하기위한 간단하고 유창한 API를 제공합니다. - laravel mix 설치 npm install laravel-mix --save-dev - webpack.mix.js 설정 touch webpack.mix.js // webpack.mix.js 생성 // webpack.mix.js 내 코드 추가 let mix = require('laravel-mix'); mix.js('src/app.js', 'dist').setPublicPath('dist'); - laravel mix 컴파일 실행 npx mix // larav.. Secure Coding - SQL Injection PHP SQL Injection 방지 방법에 대해 작성한다. OWASP 에서 1위로 선정된 위협으로 SQL Injection 이 있다. $sql="SELECT * FROM users WHERE userid='$userid' and password='$password'"; 위처럼 id와 암호를 받아서 로그인하는 부분에서 클라이언트가 $password input에 ' or '1' = '1 이라는 문자열을 넣으면 or 뒤의 조건문이 참이되어 관리자로 로그인이 가능하다. 해당 공격을 막기 위해서는 동적 쿼리가 아닌 Prepared Statement와 Bound Parameter 을 사용해야 한다. // PDO 사용 $stmt = $pdo->prepare('SELECT * FROM employees WHERE n.. Linux 작업 예약 스케줄러 (Cron) 특정한 시간 혹은 일정 시간 간격으로 반복적인 작업을 수행해야 할때 리눅스에서 사용할 수 있는 작업 스케줄러로 Crontab 이 있다. Cron 작업을 설정하는 파일을 Crontab 이라고 하며, 설정할 수 있는 방법으로는 두가지가 있다. 1. crontab -e 명령어를 사용하여 등록 2. /etc/crontab에 직접 등록하는 방법 // 등록형식 * * * * * 수행할 명령어 ┬ ┬ ┬ ┬ ┬ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └───────── 요일 (0 - 6) (0:일요일, 1:월요일, 2:화요일, …, 6:토요일) │ │ │ └───────── 월 (1 - 12) │ │ └───────── 일 (1 - 31) │ └───────── 시 (0 - 23) └───────── 분 .. gitignore.io github 저장소에 소스코드를 올릴 때 충돌 가능성이 있거나 각 로컬 설정을 관리하는 파일은 제외하고 커밋해야 한다. 개발 환경에 따라 어떤 파일을 .gitignore 에 추가해야 하는지 도움을 주는 사이트가 있다. https://www.gitignore.io/ gitignore.io Create useful .gitignore files for your project www.toptal.com laravel 을 입력 시 아래와 같은 .gitignore 내용이 나온다. # Created by https://www.toptal.com/developers/gitignore/api/laravel # Edit at https://www.toptal.com/developers/gitignore?templates.. 이전 1 2 3 4 5 6 7 ··· 18 다음