Posted
Filed under 프로그래밍
오리지널 우분투는 뭔가 정리가 안된느낌이었다.
무리해서 MATE로 재설치를 했는데 한글사용이 좀 이상하다.
둘다 같은 벼루로 세팅했지만 뭔가 또 미묘하게 틀리다.

파일질라가 먹통이 된다. (몇몇 프로그램이 먹통이 된다) 
  -> 파일질라를 한국어에서 영문으로 바꾸니까 작동 잘한다. 다만 한글은 사용하지 못하게 된다.
이것도 못잡겠다. 대안으로 쓸만한것들이 없다.
우분투 소프트웨어 센터 검색에서 한글이 안쳐진다.
한글 입력이 안되는 부분들이 있는데 이거 참 불편하다. (Xpad도 안된다)
한글을 빠르게 입력하면 영타가쳐지거나 글자 순서가 바뀌거나 씹어먹거나 두번씩 입력되는 현상이 있다. 
(이게 제일 심각...)

아...이거 다시 오리지널로 가야하나...고민이다.


2월16일....한글처리때문에.....우분투로 다시 돌아왔다.


사용자 삽입 이미지
2016/01/26 17:30 2016/01/26 17:30
Posted
Filed under 프로그래밍
ubuntu 15 : OS
phpstorm : JetBrains PHP IDE
virtualbox + windows10 : 국내 쇼핑,MS오피스,공인인증서 
kakaoTalk (wine+PlayOnLinux) : 메신저
                     sudo apt-get install playonlinux wine
                     Install non-listed program 선택
                     gdiplus, riched20, wmp9 설치
Chrome : 브라우저
TeamViewer : 원격제어
CloudStation : 시놀로지 나스 동기화용
FileZilla : 파일전송
PuTTY SSH Client : SSH 접속용
Xpad : 메모장
Pinta Image Editor : 이미지 편집용
gThumb (지썸 그림 보기) : 이미지 뷰어 
SMPlayer : 동영상 재생
Handbrake : 동영상 변환툴
Audacious : 음악 재생
Plank : Dock
우분투 제한된 부가 기능 : 각종 코덱,플래쉬 등을 설치해준다.
uim 벼루 : 기본으로 제공하는 한글자판이 있는데 왜 이걸 별도로 설치할까?
              써보면 안다. 뭔가 되게 이상하다. (sudo apt-get install uim uim-byeoru)

한가지 팁을 주자면 kakaTalk 알람을 키면 프로그램이 죽어버린다.
알람은 포기하자.

결론적으로 쓸만한것만 모아놨다라고 하는 배포본은 우분투 마테(ubuntu mate) 이다.
다음에 재설치 한다고 하면 마테로 하겠다.
-> 한글처리 때문에 마테에서 다시 넘어오다...

프린터 : Canon iR C2880/C3380 우분투용 드라이버는
        http://software.canon-europe.com/software/0046710.asp 여기에서 받는다.


사용자 삽입 이미지
2016/01/18 09:54 2016/01/18 09:54
Posted
Filed under 프로그래밍/PHP
  • Log Levels

    Monolog supports the logging levels described by RFC 5424.

    • DEBUG (100): Detailed debug information.

    • INFO (200): Interesting events. Examples: User logs in, SQL logs.

    • NOTICE (250): Normal but significant events.

    • WARNING (300): Exceptional occurrences that are not errors. Examples: Use of deprecated APIs, poor use of an API, undesirable things that are not necessarily wrong.

    • ERROR (400): Runtime errors that do not require immediate action but should typically be logged and monitored.

    • CRITICAL (500): Critical conditions. Example: Application component unavailable, unexpected exception.

    • ALERT (550): Action must be taken immediately. Example: Entire website down, database unavailable, etc. This should trigger the SMS alerts and wake you up.

    • EMERGENCY (600): Emergency: system is unusable.




2016/01/06 17:19 2016/01/06 17:19
Posted
Filed under 프로그래밍/PHP
Slim문서좀 보려고 들어갔더니 12월7일 Slim Framework 3.0.0 안정버전이 발표됐다.
쩝...이게 참 파이썬2에서 3넘어가듯이 2에서 개발한거 못쓴다.
아...이번 프로젝트 3으로 개발할까 말까..아 고민....

업그레이드 가이드



2015/12/29 11:58 2015/12/29 11:58
Posted
Filed under 프로그래밍
2005년에 출판된 조엘 온 소프트웨어에 나온건데 지금이 2015년인데도 안되고 있다.

아니...도대체...왜....?.


The Joel Test

  1. Source Control(소스 컨트롤)을 사용하십니까?
  2. 한번에 빌드를 만들어낼 수 있습니까?
  3. daily build(일별 빌드)를 만드십니까?
  4. 버그 데이타베이스를 가지고 있습니까?
  5. 새로운 코드를 작성하기 전에 버그들을 잡습니까?
  6. up-to-date(최신) 스케줄을 가지고 있습니까?
  7. spec(설계서)를 가지고 있습니까?
  8. 프로그래머들이 조용한 작업환경을 가지고 있습니까?
  9. 돈이 허락하는 한도내의 최고의 툴들을 사용하고 있습니까?
  10. 테스터들을 고용하고 있습니까?
  11. 신입사원들은 면접때 코드를 직접 짜는 실기시험을 봅니까?
  12. hallway usability testing(무작위 사용성 테스팅)을 하십니까?


The Joel Test: 12 Steps to Better Code

The Joel Test: 12 Steps to Better Code (한글)


2015/12/29 11:42 2015/12/29 11:42
Posted
Filed under 프로그래밍
오호라...이런 컬렉션을 구성할수 있다니..

size의 단위는 바이트다.
max는 최대 등록 도큐먼트의 수이다.

db.createCollection( "log", { capped: true, size: 100000 } )

또는

db.createCollection("log", { capped : true, size : 5242880, max : 5000 } )

용량이 size에 정한것을 넘거나 도큐먼트의 수가 max에 도달하면
가장 옛날 도큐먼트를 삭제하고 기록하게 되기때문에
정해진 사이즈 정해진 도큐먼수 수량으로 유지된다.


단점:
  샤딩 컬렉션으로 지정할수 없다.
  도큐먼트단위로 삭제할수 없다. (drop으로 전체를 날리고 다시 생성해야 한다)
  파이프라인에 $out 사용할수 없다.



https://docs.mongodb.org/manual/core/capped-collections/



2015/12/17 15:41 2015/12/17 15:41
Posted
Filed under 프로그래밍/PHP

 if(!preg_match('/^[0-9a-zA-Z]([\-.\w]*[0-9a-zA-Z\-_+])*@([0-9a-zA-Z][\-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9}$/', $email))
 {
     // 통과못했을경우
 }


2015/11/19 18:45 2015/11/19 18:45
Posted
Filed under 프로그래밍
mysql의 기본설정은 대소문자를 구분하지 않는다.
쿠폰코드같은 대소문자를 구분해야하는 서비스의 경우 당황스러울수 있다.

데이터정렬방식을 utf8_bin 으로 설정해주면 해당 컬럼만 대소문자를 구분하게 할수 있다.

`coupon_num` varchar(16) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '쿠폰 번호',


2015/11/18 10:33 2015/11/18 10:33
Posted
Filed under 프로그래밍/PHP
Nibbleblog는 별도의 DB를 사용하지 않는다.
그래서 백업도 폴더를 그대로 복사하면된다.
가벼워서 라즈베리파이B 에서도 상당히 빠르게 돌아간다.

기본적으로 한글팩이 포함되어있지 않다.
cd languages
wget http://nblang.nibbleblog.com/download/thebe/language/ko_KR.bit

이 한글팩은 나온지 좀 됐지만 사용하기에 무리는 없다.
관리자 설정에사ㅓ 언어를 한국어로 변경해준다.

Nibbleblog 에서 짧은 주소(Friendly URLs)를 nginx에서 사용하려면
아래 설정을 추가하면 된다.

 location / {
  # First attempt to serve request as file, then
  # as directory, then fall back to displaying a 404.
  #try_files $uri $uri/ =404;
  try_files $uri $uri/ @rewrites;
 }

 location @rewrites {
  rewrite ^/category/([^/]+)page-([0-9+])$ /index.php?controller=blog&action=view&category=$1&number=$2 last;
  rewrite ^/category/([^/]+)/$ /index.php?controller=blog&action=view&category=$1&number=0 last;
  rewrite ^/tag/([^/]+)/page-([0-9]+)$ /index.php?controller=blog&action=view&tag=$1&number=$2 last;
  rewrite ^/tag/([^/]+)/$ /index.php?controller=blog&action=view&tag=$1&number=0 last;
  rewrite ^/page-([0-9]+)$ /index.php?controller=blog&action=view&number=$1 last;
  rewrite ^/post/([^/]+)/$ /index.php?controller=post&action=view&post=$1 last;
  rewrite ^/post-([0-9]+)/(.*)$ /index.php?controller=post&action=view&id_post=$1 last;
  rewrite ^/page/([^/]+)/$ /index.php?controller=page&action=view&page=$1 last;
  rewrite ^/feed/$ /feed.php last;
  rewrite ^/([^/]+)/$ /index.php?controller=page&action=$1 last;
 }


2015/11/06 12:34 2015/11/06 12:34
Posted
Filed under 프로그래밍/PHP
Guzzle은 HTTP형태의 API등을 호출하기 쉽게 하는 모듈이다.
사용법도 무쟈게 간단하고...특히 동기,비동기를 구분해서 보낼수가 있는게 젤 맘에 든다.ㅋㅋ
curl 쓰지 말고 이거 쓰자

https://github.com/guzzle/guzzle
http://docs.guzzlephp.org

2015/11/03 15:28 2015/11/03 15:28
Posted
Filed under 프로그래밍/PHP
요즘 해외에서는 Phalcon과 Laravel이 핫하다.
Pahlcon은 C로 컴파일하여 메모리점유율이 낮고 속도가 무쟈게 빠르다고 하다.
Laravel은 CI와 Slim을 짬뽕해놓은것 같은 느낌인데 국내에는 정보가 그닥 많지 않다.
속도가 생각만큼은 안나오네...

Phalcon사이트에 있는 이미지를 한장 올리겠다.
Slim은 micro framework 이긴하지만 Phalcon 다음으로 처리속도가 빠른것으로 나와있다.
Phalcon은 full stack framework 이다.

다음에는 Phalcon을 사용해 볼까?

사용자 삽입 이미지

일본사람이 벤치마크한 부분에는 속도는 여전히 Phalcon이 넘사벽이지만 메모리 사용에서는
ci,slim하고 같은것으로 표시되고 있다.

http://blog.a-way-out.net/blog/2015/03/27/php-framework-benchmark/


2015/11/03 15:18 2015/11/03 15:18
Posted
Filed under 프로그래밍
PUB,SUB 와는 틀리게 특정 클라이언트에 메세지를 전송할수 있다.
RabbitMQ처럼 사용할수 있는게 특징이다.

* 넣은 순서대로 가지고 온다
* 한번에 하나씩 가지고 온다.
* 가져가면 소멸한다.

ch_test에 메세지가 올때까지 대기한다.
(brpop의 두번째 인자가 timeout초 0은 메세지가 올때까지 대기)
<?php
ini_set('default_socket_timeout', -1);
$redis = new Redis();
$redis->connect('localhost',6379);

$test=$redis->brpop('ch_test',0);

print_r($test);
?>


ch_test에 test라는 메세지를 보낸다.
<?php
$redis = new Redis();
$redis->connect('localhost',6379);

$redis->lpush('ch_test','test');
?>
2015/10/02 18:31 2015/10/02 18:31