2013년 1월 23일 수요일

인터넷 서점 링크 모음

오늘은 인터넷 서점 링크를 정리해 보려고 한다.


즐겨찾기에 등록을 시켜놓긴 했지만 내 컴퓨터가 아닌 곳에서 쇼핑을 할 때 포털 사이트에서 검색하는 것이 귀찮기 때문이다.


아래 정리된 인터넷 서점의 배너나 주소를 클릭하면 바로 이동이 가능하다.





























반디앤루니스 바로가기
도서 11번가 바로가기
인터넷 영풍문고 바로가기
삼성출판사 바로가기
  
  

2013년 1월 22일 화요일

Enterprise 버전 다운로드(30일 제한)

MySQL은 Community 버전과 Enterprise 버전으로 나뉘어져 있다.


오늘은 Enterprise 버전을 다운로드 받는 방법에 대해 설명하겠다.


[Community 버전 다운로드]


[Enterprise 버전 다운로드]


MySQL Enterprise는 누구나 다운로드 받아서 30일간 무료로 사용 가능하다.


라이선스를 구입하는 것이 아니라 서브스크립션을 구입해서 사용을 하는 제품이기 때문에 설치 시에 Key를 넣을 필요가 없다.


때문에 30일이 지나도 패키지가 잠겨 버리거나 하는 제약이 없어서 계속 사용할 수 있다.


하지만 서브스크립션을 구입하지 않고 계속해서 운영하다가 Oracle에 발각될 경우 법적인 책임을 물어야 한다.


일단 다운로드를 받기 위해서는 Oracle.com에 가입이 되어 있어야 한다. 가입은 제약이 없으므로 Register 버튼을 클릭하여 가입하도록 한다.


가입 및 다운로드 페이지는 [Enterprise 버전 다운로드]에 접속하면 된다.


다운로드 절차는 아래와 같다.




1. Oracle E-delivery 사이트 접속


ora1


 


 2. Oracle.com에 가입된 정보로 로그인


ora2


 


 


3. Country를 선택하고 약관에 동의


ora3


 


 


4. 다운로드 받은 패키지(MySQL Database)와 Platform 선택


(5.5버전 이후로 IBM AIX platform은 지원하지 않음) [지원 platform 확인]


ora4


 


 


5. 원하는 패키지의 알맞은 OS 선택 후 다운로드


* 모든 config가 compile되어 압축형태로 배포되는 Binary 패키지(TAR)를 권고


ora5

강민경 면도기 CF


강민경 면도기 CF란다..


처음엔 뭔가 했다...


야하긴 야하다...


저걸 무슨 생각으로 찍은거지..

MySQL Query Cache 사용법

MySQL에서는 반복되는 쿼리를 효율적으로 처리하기 위한 캐쉬가 존재한다.


바로 query cache인데 이는 까다로운 조건에 의해 동작하고 pruning 과정에서 meta 정보의 lock이 발생할 수 있어서 조심해서 사용해야 한다.


일단 동작하는 조건은 아래와 같다.









query cache에는 SQL문과 result set이 저장된다. 바로 이 cache에 저장되어 있는 SQL 문완전 동일(띄어쓰기까지..)하고 result set이 같은 쿼리가 수행될 때 query cache가 동작하고 result set을 바로 반환한다.



보통 개발자들은 위와 같은 조건을 간과하고 무작정 같은 쿼리를 수행하면 query cache를 쓰는 것으로 알고 사용한다.


그렇게 아무렇게나 쓰면 waiting query cache lock이라는 상태를 가진 프로세스로 인해 MySQL 서버가 hang이 걸릴 것이다...(오랜시간 고쳐지지 않고 있는 버그..)


이러한 상태에 빠지는 것을 방지하기 위해서는 꼭 query cache를 사용해야 하는 쿼리에만 사용하도록 옵션을 주어 사용할 수 있다.


 


query cache는 query_cache_type이라는 옵션을 통해 세 가지 타입을 제공한다.









OFF (0) - Query cache를 사용하지 않는다.


ON (1) - Query cache를 사용한다. (SQL_NO_CACHE 힌트를 사용하는 쿼리는 query cache를 사용하지 않는다.)


DEMAND (2) - 선택한 쿼리만 query cache를 사용한다. (SQL_CACHE 힌트를 사용하는 쿼리는 query cache를 사용한다.)



 


위와 같은 설정은 my.cnf에서 설정 가능하고 세션 상에서도 설정이 가능하다.









# 세션에서 dynamic하게 설정하는 방법


 mysql> set global query_cache_type = 1;


 


# my.cnf에 설정 (재시작 시 적용)


[mysqld]


query_cache_type = 1;



설정은 숫자로 설정을 하거나 alias를 통해 설정이 가능하다.


 


query cache를 OFF할 경우에도 query_cache_size만큼 메모리를 할당하므로 해당 설정값을 0으로 설정하는 것을 권고한다.


query cache를 사용할 경우에는 query_cache_size를 1024의 배수로 설정해야 한다. 다른 값으로 설정할 경우 반올림하여 적용된다.


구조상 최소한 40KB 이상으로 설정해야 하며 적은 값으로 설정할 경우 warning이 발생한다.


해당 값은 아래와 같이 설정한다.









# 세션에서 dynamic하게 설정하는 방법


mysql> set global query_cache_size = 16*1024*1024;


 


# my.cnf에 설정 (재시작 시 적용)


[mysqld]


query_cache_size = 16M;


2013년 1월 15일 화요일

Wordpress에 한글 웹폰트 나눔고딕 적용하기

Wordpress에서 웹폰트(나눔고딕) 적용 방법입니다.

@font-face{ 라는 사이트에 웹에서 나눔고딕 적용하는 방법이 쉽게 설명되어 있습니다.

해당 사이트에서 나눔고딕을 선택해서 <head> 부분에 추가할 script를 확인합니다.

 






<script src="http://www.google.com/jsapi"></script>

<script>

google.load( "webfont", "1" );


google.setOnLoadCallback(function() {


WebFont.load({ custom: {


families: [ "NanumGothic" ],


urls: [ "http://fontface.kr/NanumGothic/css" ]


}});


});


</script>

 

 Appearance -> Editor로 이동해서 테마의 Header(header.php) 파일을 오픈합니다.

위 script를 복사해서 <head> 태그 사이에 넣고 Update File를 클릭합니다.

Google WebFont Loader를 사용하기 위한 등록이 완료된 것입니다.

 

다음은 블로그에서 해당 폰트를 사용해서 보여줄 곳에 적용을 시키는 작업이 필요합니다.

이 작업은 Appearance -> EditorStylesheet(style.css)를 오픈해서 작업합니다.






 body { font-size: 12px; font-family: 'NanumGothic', 'Tahoma', 'Arial', 'Verdana'; }

 

저는 모든 부분에 적용시킬 것이므로 이렇게 body 안에 명시했습니다.

이렇게 해서 적용 후 확인하면 됩니다 ^^

2013년 1월 14일 월요일

MySQL에서 Oracle의 rownum 사용하기

Oracle에서 MySQL로 migration할 때 SQL문에서 확인이 필요한 부분 중 하나인 rownum을 migration하는 방법이다.


Oracle에서는 해당 row의 번호를 가져올 수 있는 rownum이라는 SQL을 제공한다.









#Oracle rownum 사용법


SQL> SELECT ROWNUM, 1 FROM DUAL;



MySQL에서는 Oracle처럼 rownum을 제공하지 않기 때문에 아래와 같이 만들어서 사용할 수 있다.









# MySQL rownum 사용법


SELECT
     @ROWNUM := @ROWNUM + 1 AS ROWNUM,
    TEST_TABLE.*
FROM
    TEST_TABLE,
    (SELECT @ROWNUM := 0) R



조금은 불편하지만 언젠가는 MySQL에도 rownum이 생기지 않을까?ㅎㅎ

아이폰5 대란 ㄷㄷ

아이폰5


 


오늘 여자친구 폰을 바꿔주기 위해..


 


뽐뿌를 들락날락 거리다가 베가S5와 옵티머스 뷰가 할부원금 1,000원에 가무유무에 뜬것을 보았다..


 


하지만 무작정 바꿔주기엔 너무 아쉬운 폰들..베가R3나 갤3 싸게 나왔으면 바로 샀을텐데..


 


그런데 눈에 띈 것은 아무리 발품을 팔아도 62요금제에 13만원 할인 밖에 보이지 않던 아이폰5..


 


아이폰5 번호이동 가격이 47만원대로 떨어진 것이다...


 


맙소사..통신사의 영업정지 싸움이 아이폰 가격마저 떨어트리는 구나..싶었다..


 


하지만 기존 폰의 할부금이 50만원 가량 남아있는 상태에서는 너무 부담스러웠다..


 


그런데 이게 왠걸..


 


조금 지나니 32만 9천원에 아이폰이 다시 떴다..


 


이만한 가격에 살 기회는 이번 뿐일 것 같다는 생각이 들어서 추천을 해주었고..


 


워낙 아이폰을 좋아하는 여자친구는 당장에 질러버렸다..ㅋ


 


제발 양품이 오길...


 


SKT 영업정지에 들어가고 KT, LGU의 영업정지가 풀리는 2월엔 과연 어떤 핸드폰이 어떤 가격을 가지고 나올지 기대가 된다..ㅎㅎ


 

2013년 1월 13일 일요일

아이리버 울랄라폰..!

아이리버 울랄라폰


아이리버에서 자급제폰인 울랄라폰을 출시했다.


가격은 착하디 착한 14만8천원!


급 관심을 가지고 업무용 폰으로 써보고자 알아 보았다..


디자인..한손에 쏙 들어오는 화이트 색상!


아이리버 MP3를 사용할 때도 화이트 색상이 참 맘에 들었었는데..


관심이 간다!ㅠ


그런데..세컨폰임에도 불구하고..


성능에 대한 미련을 버릴 수가 없다..ㅠ


통신사 상관없이..국가 상관없이 사용가능하다는 장점이 있긴하지만..


LTE는 당연히 안되고..


카메라가 전면 30만 후면 300만 ㅠㅠ


1300만 화소 카메라가 달려나오는 시대에..ㅠ


게다가 안드로이드 버전이 진저브레드..ㅠ


아샌 정도는 되야 쓸만할 텐데..


여러모로 아쉬움이 많이 남는 폰이다..

2013년 1월 4일 금요일

팔굽혀펴기 카운터 릴리즈..

칼퇴할래, 우리애기어딧니(택배조회) 앱을 이어..


드디어 세번째 앱이 완성되었다..


팔굽혀펴기 카운터..


회사 동료의 요청으로 만들어봤는데..


역시 앱들은 디자인이 생명인 것 같다..


디자인 안입히니까 너무 허접해 ㅠ


암튼..유용하게 사용하시길..ㅋㅋ

DRS(DRC)

DRS(Disaster Recovery System)


DRC(Disaster Recovery)


재난 복구 시스템(센터)

2013년 1월 2일 수요일

MySQL Timeout 설정


MySQL에서의 timeout은 interactive_timeout과 wait_timeout 이렇게 두 가지가 존재한다.

interactive_timeout은 mysql> 과 같은 콘솔이나 터미널 모드(대화형 클라이언트)에서 mysqld와 client가 연결을 맺은 다음 요청을 기다리는 최대시간이다.
wait_timeout은 API를 이용한 client 프로그램(PHP, JDBC, ODBC...) 상에서 최대 연결시간을 말한다.
설정된 시간 동안 아무 요청이 없으면 연결은 취소되고 다시 요청이 들어오면 자동으로 연결이 맺어진다.
현재 설정된 값을 확인 하시려면 아래와 같은 명령으로 확인 가능하다.










1. Global 설정 확인
mysql> show global variables like ‘%timeout’;


2. Session 설정 확인
mysql> show variables like ‘%timeout’;




Time out 시간을 조절하시려면 아래와 같이 설정한다.










1. Global 설정
mysql> set global interactive_timeout=10;
mysql> set global wait_timeout=10;


2. Session 설정
mysql> set interactive_timeout=10;
mysql> set wait_timeout=10;




단, 위와 같은 방법은 MySQL 재시작 시 초기 값으로 돌아간다.
MySQL 시작 시 자동으로 설정할 경우 아래와 같이 my.cnf에 설정하면 된다.









[mysqld]
interactive_timeout=10
wait_timeout=10