기본 콘텐츠로 건너뛰기

2월, 2013의 게시물 표시

memcached 상태 정보(stats)

Memcached 설치  Memcached clinet  (spy.memecachedclient) * memcached stats 정보 memecached 상태를 보기위해 stats 명령어를 사용하는데, option (settings, slabs, items) 별로 입력했을 때 나오는 결과값에 대한 설명. https://github.com/memcached/memcached/blob/master/doc/protocol.txt > stats |-----------------------+---------+-------------------------------------------| | Name | Type | Meaning | |-----------------------+---------+-------------------------------------------| | pid | 32u | Process id of this server process | | uptime | 32u | Number of secs since the server started | | time | 32u | current UNIX time according to the server | | version | string | Version string of this server | | pointer_size | 32 | Default size of pointers on the host OS | | | | (generally 32 or 64) | | rusag

memcached 클라이언트 - spy.memcacehdclient

Memcached 설치  Memcached  stats 상태 Memcached Client memcached 설치 하면 클라이언트가 필요할텐데, memcached가 꽤나 많이 쓰나 보다. c/c++,java,php,python,ruby,perl 등등. 언어별로 몇가지씩 다 있다.  http://code.google.com/p/memcached/wiki/Clients 그중  java에서는 크게  danga하고 spy가 유명한듯 하고, 둘다 사용하기는 편한것 같다.  어차피 memacehd의 목적이  db처럼 select, insert, update 등 데이타 넣고 빼고 하는거라, 멤캐쉬에서도 get/set/delete 정도만 쓰기 때문에, 굳이 클라이언트 라이브러리가  복잡할만한 이유도 없는듯 하다.   * Memcached client  - java 우선 아래 두개 import 해주시고  import net.spy.memcached.MemcachedClient ; import net.spy.memcached.internal.OperationFuture ; http://code.google.com/p/spymemcached/   * pom.xml  maven에서 dependency는 아래처럼 추가해주면 된다. < dependency > < groupId > com . google . code . simple - spring - memcached < / groupId > < artifactId > spymemcached < / artifactId > < version > 2.8 .1 < / version > < / dependency > * memcachedclient.java - delete (in spr

memcached 설치 & 실행

Memcached clinet  (spy.memecachedclient) Memcached 상태(stats) Memcached 설치  일단 memcached 설치 자체는 별거없다.  이놈을 이중화를 어떻게 시키느냐, 클러스터링을 어떻게 하느냐가 문제다.  우선 libevent 설치부터 하고 memecached 설치하면 바로 실행시켜서 테스트 해볼 수 있다.  *Libevent (라이브러리 이벤트) memcached를 설치하려면 우선 livevent가 필요하다. 이놈부터 설치 > wget --no-check-certificate https://github.com/downloads/libevent/libevent/libevent-2.0.20-stable.tar.gz > tar xvfz libevent-2.0.20-stable.tar.gz > ./configure CFLAGS= "-I/usr/local/ssl/include" CPPFLAGS= "-I/usr/local/ssl/include" > make > make install  * Memcached 설치  > wget http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz > tar xvfz memcached-1.4.15.tar.gz > ./configure --enable-dtrace --enable-thread > make > make install  * Memcached 실행 > ./memcached -vv -d -p 11211 * 옵션 > ./memcached -h -l < addr > 바인드할 주소 -p < num > TCP 포트 번호 (기본값: 11211) -U < num > UDP 포트 번호

메일서버가 스팸으로 취급받을때

설치한 메일서버를 통해 발송되는 메일이 스팸으로 들어가는 경우가 더러 있다. 이게 한번 들어가기는 쉬운데, 빠져나오기는 드럽게 힘든것 같다... 본인의 경우에는 우선 국내서비스에는 별 무리 없이 들어간다. (naver,daum 등) 그런데 해외메일 그중 Gmail, Hotmail 에는 에누리없이 스팸으로 간주되고 있었다. Gmail같은 경우에는 그래도 스팸함으로 발송은 제대로 되는반면에 Hotmail같은경우에는 아예 수신자체가 안되는 경우도 더러있다.. ㅡ,.ㅡ; 제일 좋은 방법은 Gmail,Hotmail에 전화걸어서 우리 메일서버 IP white Ip로 등록해달라!!! 하면 좋지만, 얘네들은 걸어봤자 자동응답기고, 문의채널은 구글 그룹스 게시판이 전부다.. 본론으로 들어가서. 해외 메일이 차단될 경우 내 매일서버ip가 스팸ip로 등록되 버린 경우일 수 있다. (본인처럼. ㅎ) 이것부터 조회 해보고 싶으면 RBL(real-time blocking List) 체크를 해야 하는데, RBL체크 해주는 사이트는 꽤 많이 있고, 그중 좀 깔끔해 보이는곳 하나 소개. http://www.anti-abuse.org/ 메일서버ip 입력하고 조회해보면 쭈루룩 리스트가 나온다. 그 중 빨간불이 들어온 부분이 메일 서버가 스팸서버가 된 각종 이유들이다.ㅋ 본인의 경우 CBL 때문에 걸렸는데, 내용은 아래와 같다. This IP address is HELO'ing as  "localhost.localdomain"  which violates the relevant standards (specifically: RFC5321). 메일서버 도메인에 별다른 작업을 안해놓아서 "localhost.localdomain" 으로 설정되어있었다. 만약 CBL만 바로 테스트 해보고 싶으면 http://cbl.abusea

Appspresso – com.android.sdklib.build.ApkCreationException: Debug Certificate expired

오늘 앱스프레소 빌드하다가 이런 오류가 났다. 어쩌구저쩌구 com.android.sdklib.build.ApkCreationException: Debug Certificate expired 해결방법 . debug.keystore 삭제. 후 재 빌드 끝.

Tinymce 설치

가장 많이 쓰는 에디터인듯. 여기 워드프레스도 Tinymce 이고, 저작권은 LGPL. 설치방법은 나름 쉬움. 웹공부 한지 얼마 안되고, 에디터도 처음 써봐서 헤멜뻔 했는데, 괜히 겁먹었음;;  1.  라이브러리 다운받아서 본인 웹 폴더에 넣어주시고,   2. 스크립트 위치만 설정한뒤에,   3. 설치 코드부분만 본인 입맛에 수정해주시면 끝. 우선 여기서 라이브러리 파일부터 다운받으시고 http://www.tinymce.com/download/download.php 적당한데 폴더 위치 넣어주시고, <script type=”text/javascript” src=”/common/tiny_mce/tiny_mce.js”></script> 이젠 tinymce의 init 함수만 작성하면 되는데, 친절하게도 메인 홈페이지에 코드가 게시되어 있음. *  mode -> tiny mce를 어느 class에 넣겠냐는 말임.  지금 ‘textarea’로 되어있는데, 이렇게 설정해놓으면 본인 페이지에 있는 모든 textarea에 다들어가게됨.   * editor_selector -> mode랑 같이 사용하는데, 이번엔  특정 textarea에만 넣고 싶다! 라고 할때 사용하는거임. mode : “specific_textareas”, editor_selector : “reqcontent”, ‘reqcontent’라는 textarea에만 tinymce가 삽입. *theme -> 스킨이랑은 다름. tinymce를 간단한 몇가지만 한줄짜리로 쓸것인가 온갖기능을 전부 쓸것인가 simple, advanced 두가지. *skin 02k7은 뭔지 잘 몰라두 됨. skin_variant가 스킨을 설정해주는 거임 . skin : “o2k7″, skin_variant : “silver”, black, silver, wp_theme 세

NicEdit 설치.

상용으로 쓸건데, 저작권문제 안걸려있고, 설치가 쉬우면서 디자인 구리지 않고 기본기능은 그래도 있는 게다가 무겁지도 않은. NicEdit 이 에디터는 정말 간단하다. 심지어 js파일도 달랑 하나. 그리고 버튼 이미지 파일 하나. 설치과정은 tinymce처럼  자바스크립트 라이브러리 파일 받아서 위치 잡아주고  라이브러리에 있는 init 함수 호출하면 됨. 1. 우선 여기서 다운 받으시고 http://nicedit.com/download.php 2-1. 적당하게 자바스크립트 위치 잡아신다음에 <script type=”text/javascript” src=”/common/nicedit/nicEdit.js”></script> 2-2.  추가로 버튼 이미지의 위치도 잡아주셔야 됨. nicEdit.js를 열고 들어가보시면 한 참 아래 쪽에 ‘ iconsPath : ‘../nicEditorIcons.gif’,’ 이런 부분이 있음. 여기서 본인들 정하신 gif파일 위치 설정해주셔야 이미지 버튼을 볼 수 있음. 3. 에디터 호출 bkLib.onDomLoaded(function() { myNicEditor = new nicEditor(//); {fullPanel : true}) .panelInstance(‘reqcontent’); }); 해석하면 기본 판넬을 사용하겠으며 ‘reqcontent’라는 놈에다가 붙이겠다. 여기서 판넬은 에디터창 위에 있는 메뉴들임. 그리고 좋은점은 textarea가 굳이 아닌, span에다가도 붙일수 있음 설치 끝.

[Andorid] Export activity – 1. 안드로이드 라이브러리 프로젝트

내가 만든 activity를 다른 앱에 넣어야 할 경우가 있다. 가장 좋은 방법은  코드를 그냥 통째로 넘기면 된다.   그런데 문제는 코드를 순수하게 내준다는게 영 꺼림직하다. 코드를 감추기 위해서는 jar로 묶어 라이브러리처럼 쓰게끔 하는게 가장 좋을듯 싶었다. Android는 일반 자바 프로젝트하고 좀 다르다. 무작정 export를 했더니  xml, res  가 중복됬다고 어쩌고 난리다. 그래서 우선은 일단 라이브러리 시킬 수 있는지를 먼저 찾아봤다. 그래서 찾아보다가 발견한 Library project  내가만든 프로젝트를 라이브러리화 시켜 jar로 만든뒤 다른 프로젝트에서 사용할 수 있게끔 해주는 프로젝트 안드로이드 개발 홈페이지에 라이브러리 프로젝트 사용방법과 소개가 나와있다. http://developer.android.com/guide/developing/projects/index.html 라이브 프로젝트 생성 생성하는 법은 비교적 간단하다. 그냥 일반 안드로이드 프로젝트 생성한뒤에 프로젝트의  properties -> android -> is Library  선택. 끝. 참고로 is Library가 선택되면 이 프로젝트는 apk를 만들 수가 없게 되어 일시적으로 실행이 되지 않는다. 실행을 하려면 is Library의 선택을 풀어주면 된다. 라이브러리 프로젝트 추가하기 위에서 만든 라이브러리프로젝트를 새 프로젝트에서 추가 시키려면 위와 같은데로 들어가서     properties -> android  Add 를 누르면 라이브러리 선택하는 팝업이 나오고 밑에 GameLibrary가 선택되게끔 되어있다. 가볍게 선택해주고 ok 누르면 android Dependencies 밑에 GameLibrary.jar가 들어가 있음을 볼 수 있다. 마지막으로   androidmanifest.xml 에서 액티비티 추가할때처

[Andorid] Export activity – 2. R.java, main.xml 없이 코딩하기.

activity를 라이브러리로 만들어 사용하기 위해 무작정 jar로 export할 경우 생기는 에러다. androidmanifest.xml과  res 하위에 있는 폴더들이 중복된다고 난리다. 아직 정확하진 않은데, 여기저기 검색 결과 먼저 경험해본 사람들의 말로는 일반적으로 하나의 안드로이드 프로젝트에서 androidmanifest.xml는 무조건 하나이어야 한다. 그리고 res도 마찬가지로 중복은 당연히 안되고, 존재조차 안되는지는 다시 한번 확인해봐야겠다. 그래서 아무튼!! res를 없애기 위해 layout도 xml없이 코딩하고, stirng 따위나, id의 경우도 R.java가 아닌 직접 코딩을 해서 만든 프로젝트를 androidmanifest.xml과 res를 빼고 export 했더니 다른 앱에서 사용할 수 있었다. 결론 xml없이 하는게 과연 성능상의 이슈는 없는지에 대한 의문. 코드 감추는건 가능할듯. 그러나 꽤 귀찮을 듯.