Latest Posts

[Python] utf-8 문자열을 MariaDB(Mysql)에 insert하기

Posted on 2017-03-02 18:54:06

Python에서 MySQLdb 라이브러리를 사용하여 MariaDB(Mysql)에 문자열을 insert할 때, 일본어가 깨지는 문제가 발생하였다. DB의 캐릭터셋은 utf-8으로 설정되어 있었다. MariaDB [(none)]> show variables like 'c%';+--------------------------+---------------------------------------------------------+| Variable_name | Value |+--------------------------+---------------------------------------------------------+| character_set_client | utf8 || character_set_connection | utf8...

[Linux] logrotate로 사용자 로그를 rotation하는 방법

Posted on 2017-02-27 22:43:55

Logrotate는 리눅스에서 로그를 rotation하고 백업하는 데 사용하는 유틸리티이다. 여기서는 logrotate로 사용자 로그(custom log)를 rotation하는 방법에 대해 간략히 설명한다.   • logrotate로 사용자 로그를 rotation하는 방법 1. /etc/logrotate.d에 config file를 추가한다. 여기서는 mywebapp이라는 이름의 config file을 추가한다.   2. /etc/logrotate.d/mywebapp 파일에 다음과 같은 내용을 추가한다. /var/www/example.com/logs/*.log { weekly rotate 4 missingok notifempty create 644 root root postrotate /bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true ends...

[Laravel5] log rotation 설정

Posted on 2017-02-26 21:45:15

Laravel은 기본적으로 하나의 파일에 로그를 기록한다. 로그파일은 storage/logs 디렉토리에 있고 파일명은 laravel.log이다. 개발시에는 하나의 파일에 로그를 계속 기록해도 큰 문제는 없겠지만, 실서비스에서는 로그파일이 매우 커져서 디스크 공간이 부족해질 가능성이 있다. 그래서 log rotation을 해 주어야 하는데, Laravel framework는 이 기능을 지원하므로 logrotate와 같은 유틸리티를 사용하지 않아도 된다. config/app.php를 보면 log option이 'single'로 설정되어 있는데, 이 경우 하나의 파일에 로그를 계속 기록한다. log option을 'daily'로 변경하면 매일 log rotation이 된다. 그리고 log option이 'daily'인 경우, Lara...

[Linux] find utility 사용법

Posted on 2017-02-24 20:49:49

find utility 사용예제를 기록해둔다. • 이름으로 파일 찾기 find . -name “*.class” -exec rm {} \; • 수정된 날짜로 파일 찾기 find . -mtime +7 -exec rm {} \; (수정된 지 7일이 지난 파일을 찾아서 삭제)find . -mtime 7 -exec rm {} \; (수정된 지 7일이 된 파일을 찾아서 삭제)find . -mtime -7 -exec rm {} \; (7일 이내에 수정된 파일을 찾아서 삭제) • find all of the distinct file extensions in a folder hierarchy find . -type f -name "*.*" | awk -F. '{print $NF}' | sort -u    

[Bash] parameter를 처리하는 방법

Posted on 2017-02-22 21:29:18

Bash는 parameter 처리에 독특한 문자들을 사용한다. 잊어버리기 쉬운 내용이여서 기록으로 남긴다. • parameter 설명 Parameter Description $# the number of arguments, not counting $0 $@ all positional parameters except $0 $* all positional parameters except $0 $0 the first positional parameter, equivalent to argv[0] in C $1 ... $9 the argument list elements from 1 to 9   • check the number of arguments if [ $# -ne 2 ]; then echo "Usage: $0 param1 param2" exit -1else echo "ok" fi   • iterate command line arguments for ar...

Refused to display in a frame because it set 'X-Frame-Options' to 'DENY'. 에러의 원인과 해결방법

Posted on 2017-02-22 17:25:23

laravel-filemanager가 제대로 동작하지 않는 문제를 발견했다. 서버쪽 로그에는 별다른 메시지가 없었고, 크롬 개발자도구를 이용하여 원인을 분석하다가 아래와 같은 에러메시지를 발견하였다. Refused to display 'https://slobell.com/...' in a frame because it set 'X-Frame-Options' to 'DENY'.  구글에서 검색을 좀 해보니, X-FRAME-Options는 Clickjacking 공격을 방어하기 위해 사용된다고 한다. X-FRAME-Options는 브라우저가 <frame>, <iframe>, <object> 내의 페이지를 렌더링할지 여부를 지정하는 데 사용된다. 타사이트에 자신의 컨텐츠가 포함(embed)되는 것을 막아서, clickjacking 공격을 회피하는...

[Bash] bash script에서 파일의 내용을 읽는 방법

Posted on 2017-02-19 20:37:44

• 파일 내용을 변수에 저장하기 value=$(<file.txt)echo "$value"   • 파일 내용을 한 줄씩 읽기 while read line; do echo $line done < file.txt

[Laravel5.4] migration시에 "Specified key was too long" 에러가 발생하는 문제의 해결방법

Posted on 2017-02-18 23:45:28

Laravel5.4에서 migration 실행시에 다음과 같은 에러가 발생하였다. $ php artisan migrateMigration table created successfully.[Illuminate\Database\QueryException] SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table `u sers` add unique `users_email_unique`(`email`)) [PDOException] SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes   이 문제에 대한 원인과 해결방법을 Laravel 공식문서에서 찾을 수 있었다. https://laravel.com/docs/5.4/migrations#creating-in...

[Laravel5] blade template에서 변수를 선언하는 방법

Posted on 2017-02-17 20:32:52

Laravel 5.2부터 blade template에서 다음과 같은 방법으로 변수를 선언하는 것이 가능해졌다. 1. single statement @php ($count = 0) 2. block statement @php    $count = 0@endphp  

[Linux] crontab 사용법

Posted on 2017-02-15 21:13:57

주요 옵션 crontab -l : crontab에 등록된 작업목록 보기crontab -e : crontab 편집crontab -r : crontab에 등록된 작업목록을 모두 삭제   등록 형식 매 줄마다 아래와 같은 포맷으로(6개 필드) crontab에 등록할 작업을 기술한다. * * * * * command   field allowed values 1 minute 0-59 2 hour 0-23 3 day of month 1-31 4 month 1-12(or names, see below) 5 day of week 0-7(0 or 7 is Sun, or use names) 6 command  실행할 명령어   예제 * * * * * /home/user/test.sh-> 1분마다 test.sh를 실행(한 시간에 60번 실행)*/10 * * * * /home/use...