Posted
Filed under 프로그래밍
Zend eclipse PDT를 쓰는경우
Check for Updates 실행해서 Mylyn 최신으로 업데이트

http://download.eclipse.org/mylyn/releases/latest

Mylyn Integrations -> Mylyn Builds Connector: Hudson/Jenkins 설치

Window -> Show view -> other -> Mylyn -> Builds 선택

jenkins 서버 설정해서 사용


사용자 삽입 이미지
2013/10/10 14:21 2013/10/10 14:21
Posted
Filed under 분류없음
Round-Robin
 리얼서버별로 순차적 선택
 
Least-connection
 최소의 Connection을 가진 리얼 서버를 선택
 
Weighted
 리얼 서버의 가중치를 기준, 연산하여 리얼 서버를 선택
 
Enhanced-weighted
 Weighted와 방식은 같으나, 연산 방식에서 보다 정밀 분배
 
Response-time
 Response-Time이 가장 빠른 리얼 서버 선택
 
Least-local-connection
 최소 Local Connection 리얼 서버 선택
 
Least-local-session
 최소 Local Session 리얼 서버 선택
 
Persistent Hash
 클라이언트 IP주소를 기준 해쉬 값을 생성하여 항상 동일 리얼 서버 선택
2013/10/08 16:11 2013/10/08 16:11
Posted
Filed under 프로그래밍
ab 를 테스트 하다가 too many open files 오류가 떨어졌다.

이거슨....

동시에 파일을 열수 있는 제한이 있는데
ulimit -a 명령으로 볼수 있다.
항목중 open files 가 그것인데 기본이 1024이다

ulimit -n 4096

으로 일시적으로 open files를 변경하여 하용할수 있다.

영구적으로 적용하려면

vi /etc/security/limits.conf

*               soft    nofile          65536
*               hard    nofile          65536
*               soft    nproc           16384
*               hard    nproc           16384

추가해 주고 재부팅 한다.
2013/10/08 15:57 2013/10/08 15:57
Posted
Filed under 프로그래밍/PHP

PHP 5.5에서부터는 Zend Opcache가 내장되어있다.
설정도 기본으로 사용이다.

이 판넬은 opcache의 상태를 보여준다.

https://gist.github.com/ck-on/4959032


간단하게 opcache 성능을 비교해봤는데

non opcache
- Requests per second:    98.23 [#/sec]

use opcache
- Requests per second:    190.80 [#/sec]

확실히 차이 난다.




사용자 삽입 이미지

2013/10/07 17:58 2013/10/07 17:58
Posted
Filed under 프로그래밍

Site Up Since Server Platform Programming Language

  • Google.com – Linux C, Java, C++, PHP & MySQL, Python for search
  • Facebook.com – Linux, PHP, MySQL and C++
  • YouTube.com – Linux, C, Java and MySQL
  • Yahoo.com – Linux, C++, C, Java, PHP & MySQL
  • MSN.com – Windows, ASP.net
  • Live.com Windows, ASP.net
  • stackoverflow.com Windows, ASP.net
  • MySpace.com Windows, ASP.net (one of few giants who converted their core technology, from ColdFusion to ASP.NET. I dont remember where was that post, but i remember that MySpace gain about 50% of server resources reduction with ASP.NET)
  • Wikipedia Linux, PHP & MySQL
  • Amazon.com – Linux, Solaris, C++, Java, J2EE
  • WordPress.com – Linux, PHP & MySQL
  • Twitter - JAVA,RUBY,Scala
  • Flickr - PHP
  • Amazon - C++, Perl and Java
  • eBay - Java,Python
2013/10/07 17:11 2013/10/07 17:11
Posted
Filed under 프로그래밍
msvcr71.dll 파일 없다고 나올때 이 파일 복사해 넣으면 된다.
어디로?

난 윈도우8이니까 c:\Windows\SysWOW64 에~

2013/09/26 10:11 2013/09/26 10:11
Posted
Filed under 프로그래밍/PHP
프로젝트도 거의 끝나가고 있다.

Slim은 사용방법이 너무 쉬워서 뭐라 설명할것이 없지만 한가지만 소개해본다.

Slim의 최대 강점은 손쉬운 Routing method 처리다


<?php
$app = new \Slim\Slim();
$app->get('/books/:id', function ($id) {
    //Show book identified by $id
});


여기서 $app->get, $app->post, $app->put, $app->delete 처럼 바꿔주는것만으로 method 지원이 해결된다.

동시에 여러가지 method를 지원하게 할수도 있다.

<?php
$app = new \Slim\Slim();
$app->map('/foo/bar', function() {
    echo "I respond to multiple HTTP methods!";
})->via('GET', 'POST');
$app->run();



물론 나만의 커스텀 method도 지원한다.

<?php
$app = new \Slim\Slim();
$app->map('/hello', function() {
    echo "Hello";
})->via('FOO');
$app->run();


2013/09/18 08:49 2013/09/18 08:49
Posted
Filed under 프로그래밍/PHP

요즘 API개발이 한창이다
많이들 사용하는 방식이 헤더에 Authorization 항목을 넣어서 인증하는 방법이다.

사용자는 해더에 아래와 같이 전송한다.

Authorization: Basic 인증코드

인증코드는 아이디와 패스워드를 :로 구분하여 base64로 인코딩후 넣는다.

Authorization: Basic bWl5dTpkbHN3bGR 이런식?

base64_encode("id:pass") 이렇게 인코딩하면 된다.

그럼 서버쪽에서는?

_SERVER["HTTP_AUTHORIZATION"] : Basic bWl5dTpkbHN3bGR
_SERVER["PHP_AUTH_USER"] : id  (자동으로 디코딩 된다)
_SERVER["PHP_AUTH_PW"] : pass (자동으로 디코딩 된다)

이렇게 사용할수 있다.

한차원 높은 보안을 원한다면
base64인코딩 하기전에 token을 사용하여 openssl으로 한번 감싸서 보내도록하자

특정키로 암호화 (AES-256)
base64_encode(openssl_encrypt("id:pass", "aes-256-cbc", $key, true, str_repeat(chr(0), 16)));

복호화 
openssl_decrypt(base64_decode("isZXs9diEm43k6uRBtJJRQ=="), "aes-256-cbc", $key, true, str_repeat(chr(0), 16));

2013/08/31 16:06 2013/08/31 16:06