Select ... Limit 2000, 1000; 과 같은 페이지 나누는 쿼리 튜닝을 조사하다가커버링 인덱스 (http://gywn.net/2012/04/mysql-covering-index/) 에 대해 알게 되었고운영중인 mysql DB 서버에 쿼리를 날려보았다. 일반적 limit 쿼리일 경우 53.8ms ~ 63.1 ms 의 조회 시간이 소요되던것이커버링 인덱스 쿼리일 경우 23.6 ms 로 1/2 속도 향상이 있음을 알 수 있었다. 아래와 같은 커버링 인덱스 쿼리를select a.* from ( select ID from ARTICLE order by UID limit 50000, 10000) b JOIN ARTICLE a ON b.ID = a.ID;Laravel 의 쿼리 빌더로는 어떻게 표현해야..
IDC에 웹 CMS용 서버 1대 운용중이었는데 어느날 D state process 장애로 6시간동안 정상적 서비스를 하지 못하였고 이후를 장애를 대비하기 위해 서버 이중화 구성을 검토하게 됨. 제일 좋은 구성은 앞단에 로드밸런서를 놓고 Global 세션 서버도 추가하고 CMS 서버를 하나 더 추가하는것이겠으나 이렇게 하려면 총 3대의 서버가 필요. 허나, 가용 가능한 서버는 1 대 뿐. 구글링을 통하여 총 2대에서 가능한 failover 스택 찾음.HeartbeatPacemaker + corosync (위 Heartbeat 의 다음세대 스택)KeepalivedHeartbeat 는 legacy 한 스택이라 패스하고 pacemaker 는 복잡복잡열매가 열려서 패스하니 keepalived 만이 남음. Vagr..
composer 확장 설치LNB -> App Services -> 앱 선택 -> 검색 입력란에 '확장' -> 패널(블레이드라 칭함) 상단 버트콘 '추가' -> composer 입력하여 검색 -> 설치 composer.json 사용은사이트 루트에 composer.json 작성하여 git 배포하면 의존성 설정등이 앱 서비스에서 실행됨 Git 배포시 아래같은 composer.phar 오류 발생! 버그인가?...$ git push azure masterCounting objects: 3, done.Delta compression using up to 8 threads.Compressing objects: 100% (3/3), done.Writing objects: 100% (3/3), 324 bytes | 0 ..
FTP 접속 아이디, 암호 설정은좌측 LNB -> App Services -> 앱 선택 -> 앱 배포 -> 배포 자격 증명 FTP 클라이언트에서 아이디 입력은{사이트명}\{아이디} 형식으로 입력 해야 함예) myapp1\user1 웹페이지 루트 경로는\site\wwwroot 참고http://stackoverflow.com/a/22273837https://docs.microsoft.com/ko-kr/azure/app-service-web/web-sites-php-mysql-deploy-use-ftp
macOS 에서 디렉토리 내 재귀적으로 파일들 인코딩 변환 bash script #!/bin/bash # 사용법: convert-euckr2utf8.sh . txt # 첫번째 인자는 변환을 적용할 디렉토리 경로 # 두번째 인자는 확장자명 # 결과는 파일명.utf8.확장자 dest=$1 ext=$2 if [[ -z "$1" ]]; then echo "Need first argument: destnation folder" exit 1 fi if [[ -z "$2" ]]; then echo "Need second argument: file extension" exit 1 fi find "$dest" -name "*.${ext}" -type f | \ (while read file; do iconv -f euc..
원격 리눅스 서버에 암호 입력 없이 로그인 할 수 있습니다.간단한 3단계 절차를 진행하면 되는데ssky-keygen 사용과 이 글에서 설명하고 있는 ssh-copy-id 입니다. ssh-keygen 은 공용과 개인 키들을 생성합니다. ssh-copy-id 는 로컬호스트의 공용 키를 원격 호스트의 authorized_keys 파일에 복사합니다. ssh-copy-id 또한 알맞은 권한을 원격 호스트의 홈, ~/.ssh, ~/.ssh/authorized_keys에 부여합니다.이 글은 또한 ssh-copy-id 사용과 ssh-copy-id와 ssh-agent를 함께 사용하는 방법의 3가지 소소한 귀찮음을 설명합니다. 단계 1: localhost 에서 ssh-key-gen 사용하여 public 과 private ..
https://material.io/devices/ 에서 대개 많이 사용되는 갤럭시S6 dp 해상도를 확인해보면360 x 640포토샵에서 캔버스 크기는 위 사이즈 * 2로 잡고photoshop generator 로 50%, 100% 이미지를 생성 각각 1x , @2x 이미지로Density 가 4 로 되어 있음을 확인 할 수 있는데 360 (dp) x 4 (density) = 1440 (px)즉, 1440 px 넓이의 이미지를 360 넓이로 1/4로 고농축 압착하여 보여줌반대로 설명하자면 360 px 넓이 이미지를 기기에서는 4배인 1440 px 넓이로 늘려 보여줌여튼, 귀찮거나 모르겠다 싶으면 일단 포토샵 캔버스 크기를 360 x 640 px 로 작업하고 브라우저 렌더링 확인해보기.웹브라우저로 인한 이미..
laradock 은 laravel 용 homestead 대체 docker레퍼런스 https://github.com/laradock/laradock/blob/master/README.md컨테이너 환경변경은docker-compose.yml 수정타임존 설정 workspace: build: context: ./workspace args: - TZ=Asia/Seoul ...설정 적용은docker-compose build {컨테이너명} docker-compose up -d nginx mysqlSSH 접속은docker-compose exec {컨테이너명} bashdocker-compose.yml 환경설정 부분 설명applications: // 소스들이 담긴 볼륨용 컨테이너 == HDDphp-fpm: build: ar..
- Total
- Today
- Yesterday
- Debug
- macos
- JSON
- classic asp
- Mac
- IOS
- API
- Prototype
- nginx
- nodejs
- javascript
- CSS
- git
- sencha touch
- Wordpress
- iis
- Android
- 안드로이드
- iphone
- IE
- 한글
- laravel
- ASP
- PHP
- mssql
- 워드프레스
- centos
- JQuery
- Linux
- Docker
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |