요즘 내가 만들고 싶은 프로그램이 뭔지를 생각하다보니 내가 쓰고싶은 프로그램이 뭔지부터 알아야겠다는 생각이 든다.
간단하게 뭔가를 할 수 있는 프로그램. 요샌 그런게 있으면 좋겠다는 생각이 든다.
가계부를 만들어 볼까하고 이런저런 언어나 프레임웍들을 둘러보고있는데 나중을 생각해서 쓰기좋고 확장하기 좋은 구조로 디비등을 설계하고 싶다.
이쪽엔 아는게 ERD뿐. 그것도 들어보기만 했지 써본적은 없다. 그외엔 메모지정도? 이건 간단하기는 한데 보관이 힘들다.
이럴때마다 생각한다. 뭐 간단하게 설계하기 좋은 프로그램은 없을까?
아니다. 속직히 요즘세상에 간단하면 그냥 웹에 올리면 되니까 프로그램보다는 사이트를 찾는게 편할 듯 싶다. 그런데 요즘같이 프로그램들이 넘쳐나는 세상에선 '쓸만한' 프로그램 찾는게 쉽지 않다.
그러다 또 생각해보니 내가 개발자 지망생 아닌가. 내가 만들면 되지 않을까. 그런데 괜찬은 프로그램보다 간단하면서 쓸만한 프로그램을 만드는게 더 어렵지 싶기도 하다. 간단하다는건 내생각엔 UX를 충분히 고려해야된다는 말인데 개발하는 입장에선 이말인즉슨 '노가다가 빡세다'와 비슷하게 느껴지기도 한다.
내 경험에 비추어볼때 이상적인 모습은 예전(지금도 있으려나) 야후 파이프 같은 느낌으로 디비설계를 할 수 있었으면 좋겠는데 막상 구현할 생각을 하니 이건뭐 머리에 떠오르는게 쥐뿔도 모르는 플래시뿐이다. 게다가 싫어하기도 하고.
이왕 하는거 요즘 괜찮은 라이브러리도 많은데 자바스크립트로 해볼까 생각도 들고 이래저래 복잡하다.

iPhone 에서 작성된 글입니다.


License
달리 정하지 않는 한, 이 저작물 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
Except where otherwise noted, this content is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.0 Korea License
언제 발표한건진 모르겠지만 오늘 알게되었다.
Go
간단히 살펴보니 상당히 재밌는 언어인듯.
만든 소스를 독립적인 바이너리로 만들어준다는것도 같고.
간단하게 함수를 비동기로 실행하고 등등.

주말에 한번 써봐야겠다.
요즘 자주 반복되는 노가다들이 있는데
그거나 대신해주는 프로그램을 만들어봐야겠다.

p.s.
리눅스와 맥을 재원하니 간만에 우분투를 다시 깔아야하나..
아... 데 그렇게되면 회사에서 못써먹잖아? 시그윈으로 해봐야하나...


License
달리 정하지 않는 한, 이 저작물 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
Except where otherwise noted, this content is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.0 Korea License
몇주간 프로젝트에서 jQuery를 써오면서 셀렉터를 쓰는데 아래처럼 작성했었다.
jQuery('td.depth2').each(function(){
    jQuery(this).removeClass('set_menuON').removeClass('set_menuOFF');
});

쓰면서도 난 이코드가 당연하다고 생각했다.
셀렉터의 결과물이 여러개일 경우 array로 리턴되는게 당연하다고 생각했기 때문이다.

하. 지. 만!

오늘 jQuery api를 둘러보면서 충격에 휩싸였다.
위의 코드를
jQuery('td.depth2').removeClass('set_menuON').removeClass('set_menuOFF');
이렇게 수정해도 동작되는 것이었다!

헐 -_- jQuery 좀 짱인듯.
(근데 이거 다른 라이브러리에서도 다 지원하는건 아니겠지?)
아무튼 결론은.

머리가 나쁘면 손발이 고생이다 -_-a;;;;;


License
달리 정하지 않는 한, 이 저작물 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
Except where otherwise noted, this content is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.0 Korea License
iBatis로 프로젝트를 하고있는데 resultMap 을 정의하는 노가다가 참 안습이었다.
그중에 제일 귀찮은건

name    NAME
id    ID
... (이런게 몇십줄)


<result property="name" column="NAME" />
<result property="id" column="ID" />
...
로 만드는거다

저런 줄이 몇십줄이 되니 c-c c-v로는 하기가 싫어지길래 잠시 생각해보니 떠오른 것.

마법의 정규식!

그래서 일단 위쪽 형식으로 된걸 이클립스에 걍 우겨넣고 바꾸기를 열고 정규식에 체크한 뒤

찾을 문자열: ^([a-z0-9_]*)\t([A-Z0-9_]*)$
바꿀 문자열: <result property="$1" column="$2" />

그리고는 Replace All을 클릭!
우왕~ 왕킹굳짱ㅋ

아~ 정규식은 역시 멋지구나~


ps.

울트라에디트님... 도움말엔 ^1 ^2 이렇게 쓰면 된다고 해놓고 이러기임?
이제 정규식 쓸일생기면 님 안쓸꺼임. 나 삐져뜸.


License
달리 정하지 않는 한, 이 저작물 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
Except where otherwise noted, this content is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.0 Korea License
윈도의 경우
시작-실행-cmd
vol 입력하면 나오는 볼륨 일련번호에서 '-' 뺀 나머지를 입력

리눅스
쉘모드에서 hostid 명령어를 치면 나온다고함


License
달리 정하지 않는 한, 이 저작물 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
Except where otherwise noted, this content is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.0 Korea License
얼마전부터 로사콥 인트라넷을 만들어달라는 요청이 있어서 서버에 깔려있는 제로보드XE를 끄적이고 있는 중이다.
볼수록 개발자의 엄청난 노고가 엿보이는 시스템(나는 이걸 시스템이라 부르고 싶다)이다.
웹 개발자의 욕심이 거의 모두 들어가 있다.
모든것은 모듈로 되있고, 넣고 빼기 쉽고, 언어별 세팅 되고 등등..
하지만 그래서일까.
나는 볼수록 조잡하다는 느낌을 지울 수가 없다.
사이트를 하나 만드는데 이것저것 할게 많은건 당연하겠지만 죄다 여기저기 흩어져있다.
루트로 접근했을때 자동으로 뜨는 모듈 설정하는것 찾는데만 하루가 걸렸다.
제로보드는 어렵다.
내가 웹사이트를 직접 만들어야겠다고 때려치고싶은 생각을 수십번 했다.
다만 내가 이 게임을 언젠가 그만둘때, 누군가가 사이트를 수정하게 된다면 내가 직접 만든것보다는 관리가 쉬울거라는 생각에 이걸 쓰고 있을 뿐이다.
난 제로보드나 티스토리같이 관리툴까지 만들 의지는 없으므로.
게시판 추가까진 쉬웠다.
그런데 메인화면을 페이지로 구성하는게 있는데 기본 위젯들 스킨이 영 아니다.
나라면 XE공식페이지에 사용된 스킨 정도는 넣어줬을거다.
유저들의 스킨 게시판이 있지만 공개되어있는만큼 확실하게 믿을만한 스킨들을 찾기가 힘들다.
간단히 게시판들만 있는 사이트를 만들기가 이리도 힘들었나.

개인 사이트정도는 만들 능력이 되는 내 능력이 고마워진다.
그런 능력이 없었다면 나도 이런 툴들을 가지고 삽질을 마구 했을테니.

XE가 못났다는건 아니다. 다만 초보들에겐 너무 어려운 툴이라고 생각한다.
내가 하나 건의하는건 빠른 시작같은 위자드랄까? 그런 기능이 있었으면 한다.
네이버에서 카페 만들듯, 클릭 몇번이면 간단한 사이트정도 만들어주는 그런 툴이 되었으면 한다.
솔직히 게시판 몇개에 메인화면에선 게시판별로 최근글들 보여주고 하면 더이상 필요 없다.
이 이상 특별한 기능들을 원한다면 그때 삽질해도 좋다고 생각한다.

솔직히 내가 그런걸 만들 자신은 없다.
apm이라는 편한 환경이 있지만 난 php를 못만진다.
java로 만들면 되긴 하지만 아직 필요성을 못느낀다.

일단 초보용 제작툴이라면 몇몇 기능들은 필수이다.
첫째 스킨, 일반 유저가 전문가처럼 태그를 뚝딱뚝딱 할 수는 없다. 클릭 몇번에 디자인이 바뀌어야 한다.
스킨 제작은 티스토리처럼 조금 어려워도 괜찮다. 어차피 초보들은 여기저기서 잘 가져다 쓰면 된다.
둘째 빠른 제작, 진짜 클릭 몇번에 사이트 하나정도는 나와야한다.
대부분의 웹쪽 잘 모르는 유저들이 홈페이지같은거 만든다면 이유가 몇가지 없다.
개인 홈이나 마음 맞는 사람들이 커뮤니티급 사이트를 만드는데 개인 서버에서 하고 싶은거다.
그렇다면 템플릿은 몇가지만 있으면 된다.
그런데 일반적인 개인홈 템플릿은 이미 많다.
블로그가 필요하면 워드프레스나 텍스트큐브 쓰면 된다.
포럼이 필요하면 phpbb인가 이런것도 있다.
위키도 무지 많다.

제로보드로 보통 만들어지는건 카페같은 방식.
게시판 몇개 있고, 권한설정 가능하며, 메인화면엔 게시판별로 최근글들 표시해주면 기본은 끝이다.
지금 내가 해메는 부분은 이 최근글 표시.
딱히 이거다 하는 레이아웃이 없어서 삽질중.
인터넷을 뒤지다보면 언젠가는 나오겠다.
솔직히 멋진사이트 필요없고 XE사이트 정도만 되면 딱일거같은데

결론은 XE는 확장성은 좋지만 초보에겐 불친절하다.
하지만 그 확장성이 엄청난 장점이므로 뭐 상관 없는 것 같다.

요즘 생각드는건 그냥 phpBB 돌려서 이걸로 커뮤니티 사이트 만들까 생각 하기도 하고..
사람들이 좀 어려워 할 수도 있겠지만 그래도 이브온라인 적응할 정도면 이정도에 떨어져 나가진 않을테니..


License
달리 정하지 않는 한, 이 저작물 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
Except where otherwise noted, this content is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.0 Korea License
한RSS에서 돌아가는 코드


License
달리 정하지 않는 한, 이 저작물 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
Except where otherwise noted, this content is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.0 Korea License
colinux + fedora 10 환경에 루비 1.9.1 수동으로 다운받아 컴파일해서 설치한 경우 gem 실행시 zlib 가 로드되지 않는 문제가 발생했다.
이짓저짓을 해도 안됬는데 zlib 패키지는 깔려있어도 zlib-devel 패키지가 있어야 해결된다.
레일스를 위해선 openssl-devel 패키지도 미리 깔아야 한다.

# yum install zlib-devel openssl-devel
명령으로 zlib,openssl 개발 패키지를 설치 한 다음에 루비를 다시 설치하니 잘 된다.

이제 레일즈나 다시 만져봐야지




License
달리 정하지 않는 한, 이 저작물 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
Except where otherwise noted, this content is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.0 Korea License
1. colinux 설치
http://sourceforge.net/projects/colinux/files 에서 colinux와 페도라 이미지를 다운로드

2. colinux를 설치한뒤 설치된 폴더에 페도라 이미지를 설치한다.
start-Fedora-10.bat 실행해서 fedora 구동

로그인 아이디는 root 암호는 없다

3. 네트워크 설정
fedora.conf를 생성

4. 업데이트
# yum -y update

5. 한글설정
# vi /etc/sysconfig/i18n
해서 파일 생성 후
LANG="ko_KR.UTF-8"
입력 후 저장

6. 계정생성
루트로 직접 로그인하는것은 보안상 좋지 않으므로 계정을 하나 만들어서 su명령으로 루트 작업을 하도록 한다
루트 암호지정
# passwd
새로운 아이디 생성
# adduser 아이디
생성한 아이디에 암호 설정
# passwd 아이디

ssh 텔넷 설정
# vi /etc/ssh/sshd_config
PermitRootLogin no (yes를 no로 바꾼뒤 주석 해제)
저장

# /etc/rc.d/init.d/sshd restart (재시작)

putty 등의 ssh가능한 텔넷 프로그램으로 접속
새로 생성한 아이디로 로그인
루트권한이 필요한 작업을 할 경우엔 su 명령을 이용해 루트로 로그인이 가능하다


참조:
http://forum.falinux.com/zbxe/?mid=lecture_tip&page=2&document_srl=505577&listStyle=&cpage=
http://pstory.tistory.com/tag/ssh


License
달리 정하지 않는 한, 이 저작물 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
Except where otherwise noted, this content is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.0 Korea License
출처: http://ruru.tistory.com/entry/HTTP-Cookie-Javascript

clear가 제대로 동작하지 않아 새로 작성했다.
    var Cookies = {};
    Cookies.set = function(name, value){
         var argv = arguments;
         var argc = arguments.length;
         var expires = (argc > 2) ? argv[2] : null;
         var path = (argc > 3) ? argv[3] : '/';
         var domain = (argc > 4) ? argv[4] : null;
         var secure = (argc > 5) ? argv[5] : false;
         document.cookie = name + "=" + escape (value) +
           ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
           ((path == null) ? "" : ("; path=" + path)) +
           ((domain == null) ? "" : ("; domain=" + domain)) +
           ((secure == true) ? "; secure" : "");
         
    };

    Cookies.get = function(name){
     var arg = name + "=";
     var alen = arg.length;
     var clen = document.cookie.length;
     var i = 0;
     var j = 0;
     while(i < clen){
      j = i + alen;
      if (document.cookie.substring(i, j) == arg)
       return Cookies.getCookieVal(j);
      i = document.cookie.indexOf(" ", i) + 1;
      if(i == 0)
       break;
     }
     return null;
    };

    Cookies.clear = function(name) {
      if(Cookies.get(name)){
      	var today = new Date();
      	today.setFullYear(today.getFullYear()-1);
        Cookies.set(name, "", today);
      }
    };

    Cookies.getCookieVal = function(offset){
       var endstr = document.cookie.indexOf(";", offset);
       if(endstr == -1){
           endstr = document.cookie.length;
       }
       return unescape(document.cookie.substring(offset, endstr));
    };


License
달리 정하지 않는 한, 이 저작물 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
Except where otherwise noted, this content is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.0 Korea License

+ Recent posts