윈도우 cmd 명령어 보다 강력한 TCC와 console 조합.

윈도우 cmd 명령어 보다 강력한 TCC/LE와 console 조합.

TCC-'윈도우 cmd 명령어 보다 강력한 TCC/LE와 console 조합.'
cmd 명령어에서 기본적인 명령어를 실행하기는 무리 없지만,
리눅스처럼 강력한 명령어들을 제공하지는 않습니다.
cmd 명렁어는 체험판, 리눅스에선 풀버젼을 제공한다고 봐야 할까요.
윈도우에서 보다 강력한 명령어를 사용하고 싶다면 이 조합이 괜찮습니다.

우선 콘솔을 아름답게 띄워 주는 Console을 받아 설치합니다.

console을 이용하면 다양한 쉘을 쓸 수 있어요.
cygwin을 설치해서 bash 쉘도 쓸 수 있죠.

저는 콘솔 포터블 버젼을 받아 압축을 풀었어요.

그리고 TCC/LE를 받아 설치합니다.

아래의 비교표를 보면, TCC/LE가 윈도우 cmd 명령어 보다 훨씬 다양하고 강력한 명령어를 사용할 수 있게 해주는 것을 확인 할 수 있습니다.

TCC/LE와 윈도우 cmd 명령어 비교

console을 실행시켜 shell에 tcc/le 실행파일 경로를 넣어주면 보다 아름다운 커맨드라인에서 강력한 명령어를 사용하실 수 있습니다.

console과 TCC/LE설정 관련 팁
만약 console 설정에서 사용자 디렉토리에 설정 저장을 했는데,
잘못된 설정으로 저장을 했다면?
%HOMEPATH%\Application Data\Console 디렉토리에서 설정파일을 지우면 됩니다.

TCC/LE설정은 명령어 창에서 option을 치시면 됩니다.
명령어를 실행할 때 오류가 자꾸 난다면,
UNIX/Linux-style Paths에 체크해주세요.


폴더에서 쉬프트(Shift)+우클릭으로 cmd창을 띄우는 명령을 변경하고 싶다면,
레지스트리를 아래처럼 바꾸시면 됩니다.
[HKEY_CLASSES_ROOT\Directory\shell\cmd\command]
default 값을 변경해 주세요.
[Console2 설치한 경로]\console.exe -d %V\


TCC/LE와 console을 통해 보다 강력한 윈도우 명령어를 써 보세요.:D
by 月風



by


Tags : , , , , , ,

  • 재미있게 읽으셨나요?
    광고를 클릭해주시면,
    블로그 운영에 큰 도움이 됩니다!

윈도우 cmd 명령어 이용 팁입니다.

윈도우 cmd 명령어 팁

한참 동안 윈도우 cmd를 써왔지만 cmd에서 이용하는 단축키는 세 개 뿐이었습니다.
해당 경로를 자동으로 완성해주는 Tab키
이전에 실행한 명령어들을 검색해 주는 ↑↓키.
얼마 전에 펑션키를 잘못 누르게 되면서,
다른 단축키가 있다는 걸 알았습니다.
꽤 편리한 기능들을 넣어 두었더라고요.
F1 - 직전에 실행한 명령어를 한 자씩 타이핑
F3 - 직전에 실행한 명령어를 그대로 타이핑
F7 - 이전에 실행한 명령어 보기
F9 - 이전에 실행한 명령어 실행 (명령어 번호 입력)

유용한 명령어
color [색 번호] - 윈도우 cmd의 글자색을 바꿉니다.
   0 = Black       8 = Gray
   1 = Blue        9 = Light Blue
   2 = Green       A = Light Green
   3 = Aqua        B = Light Aqua
   4 = Red         C = Light Red
   5 = Purple      D = Light Purple
   6 = Yellow      E = Light Yellow
   7 = White       F = Bright White

chcp 65001 - 깨지지 않은 유니코드 확인 가능

알고 보니 윈도우 cmd 명령어가 꽤 쓸만하네요.:D

cmd 명령어에 대한 도움말은 아래 링크에서 보실 수 있어요.

Microsoft cmd 명령어 도움말 
by 月風



by


Tags : , , , , , ,

  • 재미있게 읽으셨나요?
    광고를 클릭해주시면,
    블로그 운영에 큰 도움이 됩니다!

Perl Script로 CSV다루는 방법입니다.

Perl Script로 CSV다루기

Perl Dev Kit-'Perl Script로 CSV다루기'

펄 스크립트용 CSV 모듈로 Text-CSV가 있습니다.

액티브 펄을 사용 중이라면 PPM(Perl Package Manager)를 이용해 다음과 같은 방법으로 모듈을 추가할 수 있죠.

PPM install Text-CSV_XS

그런데 저는 Text-CSV_XS 패키지 설치가 안 되더군요.

그래서 좀 지난 버전을 설치해보니 잘 깔립니다.

PPM install Text-CSV

그런데 자꾸만 TEXT-CSV_PP 파일을 찾을 수 없다는 오류가 나네요.

인터넷에서 검색을 해보니 환경변수에 다음을 추가해 주면 잘 작동한다고 합니다.

PERL5LIB=C:\Perl\site\lib;C:\Perl\lib;

하지만 안되는군요.

개발시간의 태반은 설계가 잡아먹고,
모듈 설치다 뭐다 환경 설정이 20%를 가져가면,
코딩하는 시간은 10% 정도밖에 안 되는 것 같습니다.

아래 링크에서 Text-CSV_XS 소스를 직접 받아서 펄 라이브러리 폴더(C:\Perl\site\lib)에 넣었어요.

CPAN CSV_XS.PM

사용 방법도 잘 설명되어 있죠.

CSV_XS ERROR: 2023 - EIQ - QUO character not allowed

혹시 위와 같은 에러가 난다면 new 할 때 아래의 속성을 추가해 보세요.

allowloosequotes => 1
escape_char => undef

아래코드는 간단하게 작성해 본 예제에요.


!/usr/bin/perl

use Text::CSV_XS;

if ( @ARGV > 1 ){   
    my $input = @ARGV[0];
    my $output = @ARGV[1];
   
    my $csv = Text::CSVXS->new ({ binary => 1, allowloosequotes => 1,escapechar => undef }) or
     die "Cannot use CSV: ".Text::CSVXS->errordiag ();
    open my $fh, "<:encoding(utf8)", $input or die $input.": $!";
    my $columnname = $csv->columnnames ($csv->getline ($fh));
   
    while (my $row = $csv->getline ($fh)) {
    print("size = $columnname\n");
     
    for $n (0 .. $column
name) {
      $column = $row -> [$n];
      $row -> [$n] = $column;
    }

     push @rows, $row;
     }
 $csv->eof or $csv->error_diag ();
 close $fh;

 $csv->eol ("\n");
 open $fh, ">:encoding(utf8)", $output or die $output.": $!";
 $csv->print ($fh, $_) for @rows;
 close $fh or die $output.": $!";
}else {
  print "No Arguments!\n";  
}


by 月風



by


Tags : , , , ,

  • 재미있게 읽으셨나요?
    광고를 클릭해주시면,
    블로그 운영에 큰 도움이 됩니다!

윈도우에서 Perl 스크립트(*.pl)를 실행 파일(executable)로 변환하는 법입니다.

윈도우에서 Perl 스크립트(*.pl)를 실행 파일(executable)로 변환하기

Perl Dev Kit-'윈도우에서 Perl 스크립트(*.pl)를 실행 파일(executable)로 변환하기'

저는 요즘 펄의 오묘한 세계에 잠시 발을 담그고 있습니다.
참 매력적인 언어인 것 같아요.
하지만 계속 개발하고 싶은 언어는 아닙니다.
머리가 아프거든요.^^;
펄의 스크립트 소스인 pl파일을 exe파일로 컴파일하고 싶습니다.
구글께선 아래와 같은 답을 주셨습니다.
Perl Dev Kit을 이용하면 아주 간단합니다.

펄 소스(*.pl)파일을 exe파일로 컴파일하기

  1. 액티브펄을 내려받아 설치합니다.
  2. Perl Dev Kit 평가판을 내려받아 설치합니다.
  3. Perl Dev Kit가 설치된 폴더로 가서 perlapp-gui.exe를 실행시킵니다.
  4. Open Script(CTRL+O)를 이용해 펄 스크립트 소스를 엽니다.
  5. Make Executable 버튼을 눌러 실행 파일()을 생성합니다.

Perl Dev Kit 덕분에 편하게 컴파일했네요.:D
혹시 펄 스크립트를 exe로 컴파일하실 분은 Perl Dev Kit를 이용해 보세요.
by 月風



by


Tags : , , , ,

  • 재미있게 읽으셨나요?
    광고를 클릭해주시면,
    블로그 운영에 큰 도움이 됩니다!

요한 볼프강 폰 괴테의 경험 속에서 우러나온 소설. 젊은 베르테르의 슬픔.

젊은 베르테르의 슬픔

젊은이-'젊은 베르테르의 슬픔'
이보게 빌헬름.
오랜만에 편지를 하는군.
지금은 창밖에 어둠만이 존재하는 밤이라네.
먹고 사느라 바빠서 자주 편지하지 못해서 미안하네만, 자네는 이해하겠지?
사랑에 빠졌던 많은 젊은이가, 젊은 베르테르의 슬픔을 읽고 자살했다고 하네.
아마도 그것이 그들이 선택할 수 있는 단 한 가지의 방법이었겠지.
그래서 사람은 나이를 먹어야 하네.
알고 보면 방법이 하나 뿐은 아니라는걸 깨닫기 위해서지.

실제로 이 소설을 읽고, 실연에 빠진 많은 젊은이가 목숨을 버렸다고 합니다.
이미 연인이 있는 로테와 사랑에 빠진 베르테르.
로테의 약혼자 알베르트는 베르테르가 봐도 멋진 녀석입니다.
둘은 성격이 다르지만 서로 존중하고 아낄 수 있는 친구가 되죠.
다만 베르테르와 알베르트는 로테를 사랑합니다.
그냥 사랑하는 것이 아니라 강렬히 원합니다.
로테라는 아가씨는 한 명인데 말이죠.
이 아가씨는 참으로 천사 같은 사람입니다.
아아.. 어떤 말로도 그 모습을 다 설명할 수는 없을 거에요.
참으로 아름답고 다정한 아가씨죠.
베르테르는 로테가 결혼을 한 뒤에도 잊지 못합니다.
이미 결혼한 여자인데 말이에요.
'남편이.. 알베르트가 죽어버렸으면!' 하고 생각하기도 합니다.
일을 통해서 사랑아픔을 잊어보려 하지만,
윗사람이 일 처리하는 게 영 마음에 들지 않습니다.
이것도 괴롭고 저것도 괴롭습니다.
아. 도대체 세상은 왜 이따위로 돌아가는 걸까요.
결국, 베르테르는 한 가지 방법을 찾습니다.
다음 세상을 기약하는 거죠.
그렇게 베르테르는 젊은 나이에 죽습니다.

베르테르가 겪었던 강렬한 사랑.
마치 극이 다른 자석이 서로에게 끌리듯,
온 신경이 한 사람에게 쏠리는 그런 사랑을 저 또한 해 보았습니다.
'단지 그녀만 내 곁에 있어 주었으면.'
함께 있을 땐 한없이 행복하지만,
연애가 끝난 뒤엔 그보다 커다란 고통을 안겨주는 사랑.
실연에 관한 노래 가사는 모두 나의 이야기며,
세상은 온통 그녀와 관련된 것뿐입니다.
'아아. 그녀와 이 길을 걸었었지.'
'이 음식을 정말 좋아했어.'
'이런 머리 모양이 마음에 든다고 했지?'
행복했던 추억과 쓸쓸한 현실.
그것을 똑바로 마주하기까진 정말 오랜 시간이 걸렸어요.
만약 정말 그토록 힘들 때 이 책을 읽었다면,
저 또한 심각하게 죽음을 고려해 봤을지도 모릅니다.
그 시절엔 지나치게 감상적인 면이 있었거든요.

저보다 이백 년도 전에 태어난 베르테르가 마치 동생 같습니다.
그는 젊은 나이에 생을 마감했고, 저는 아직 살아 있으니까요.
아주 행복합니다.
이렇게 여행을 하고, 글을 쓰는 즐거움.
생명이 다했다면 누릴 수 없었겠죠?
오늘이든, 십 년 후든 갑작스럽게 죽을지도 몰라요.
하지만 저는 그 때까지 행복할 겁니다.
불타오르는 사랑에 실패했어도, 세상이 끝난 건 아니에요.
숨을 쉬는 한.
행복의 불씨가 다시금 빛을 발하니까요.
by 月風



by


Tags : , , ,

  • 재미있게 읽으셨나요?
    광고를 클릭해주시면,
    블로그 운영에 큰 도움이 됩니다!

레일즈 3.1에서 헬퍼를 이용한 액티브 레코드 라벨 번역하는 방법입니다.

레일즈 3.1에서 액티브 레코드 라벨 번역하기

ror-'레일즈 3.1에서 액티브 레코드 라벨 번역하기'

루비 온 레일즈 국제화(i18n) 가이드의 액티브 레코드 모델 번역 부분을 보면,
다음과 같은 방식으로 액티브 레코드 번역을 할 수 있다고 합니다.

en.yml

en:
  activerecord:
    models:
      user: Dude
    attributes:
      user:
        login: "Handle"
      # will translate User attribute "login" as "Handle"

User.humanattributename("login") 를 사용하면 Handle이 출력된다고 설명되어 있군요.

f.label :login 을 이용해 값을 출력하면?

Login

이라고 출력되네요.

그렇다면 label이 자동으로 번역되도록 하려면 어떻게 해야 할까요?

en.yml에 다음과 같이 추가해주면 아주 잘 동작합니다.

en:
   helpers:
    label:   
      user:
        name: "Handle"

label 헬퍼에 라벨값을 넣어 주는거에요.

이제 아래 코드를 레일즈 뷰에 입력해 보죠.

<% formfor @users do |f| %>
  <%= f.label :name %>
  <%= f.text
field :name %>
  <%= f.submit %>
<% end %>

Handle

이 출력됩니다.

레일즈 3.1에서 다국어 어플리케이션 개발 편하게 하세요.:D
by 月風



by


Tags : , , , ,

  • 재미있게 읽으셨나요?
    광고를 클릭해주시면,
    블로그 운영에 큰 도움이 됩니다!

windows 7 x64환경의 ruby 1.9.2에 mysql2 gem 설치하는 방법입니다.

windows 7환경의 ruby 1.9.2에 mysql2 gem 설치하기

ROR-'windows 7 x64환경의 ruby 1.9.2에 mysql2 gem 설치하기'

gem을 설치하는 방법은 간단합니다.

gem install mysql2

하지만 안타깝게도 저의 64비트 윈도우 환경에서는 mysql2 gem이 제대로 설치 되지 않는군요.

열심히 구글링 끝에 겨우 설치에 성공했습니다.

혹시 저와 같은 환경에서 머리카락을 뜯고 계신 분께는 이 글이 도움이 될 거에요.

Devkit 설치하기

  1. devkit을 내려 받습니다.
  2. devkit의 압축을 풉니다.
  3. cmd를 실행합니다.
  4. devkit 폴더로 갑니다.
  5. ruby dk.rb init를 실행합니다.
  6. 생성된 devkit의 config.yml 파일의 루비 경로를 수정해 줍니다.
  7. (선택사항) ruby dk.rb review 를 실행하여 경로가 올바른지 확인합니다.
  8. ruby dk.rb install을 실행합니다.

자 이제 ruby 1.9.2에서 mysql2 gem을 설치하기 위한 준비과정을 마쳤습니다.
본격적으로 설치를 해보죠.

mysql2 gem 설치 하기

  1. libmysql.dll 32비트를 내려받습니다.
  2. ruby192\bin 폴더에 내려받은 libmysql.dll을 복사합니다.
  3. mysql/lib 폴더에 내려받은 libmysql.dll를 복사합니다.(원본은 백업해 두세요.)
  4. subst X: "C:\mysql5.5.x" 로 mysql 폴더를 가상 드라이브로 설정해 줍니다.
  5. gem install mysql2 --platform=ruby -- --with-mysql-dir=X: --with-mysql-lib=X:\lib 로 gem을 설치합니다.
  6. subst X: /D 명령어로 가상 드라이버를 해제합니다.

드디어 길었던 windows 7 x64환경의 ruby 1.9.2에 mysql2 gem 설치하기 과정이 끝났습니다.

32비트 환경에서는 libmysql.dll파일을 내려받을 필요가 없어요.:D

참고 자료

Installing mysql2 gem on ruby 192

Development-Kit
by 月風



by


Tags : , , , , , ,

  • 재미있게 읽으셨나요?
    광고를 클릭해주시면,
    블로그 운영에 큰 도움이 됩니다!

Perl에서 Jquery를 이용해 email 중복을 검사하는 방법입니다.

Perl에서 Jquery를 이용해 email 중복 검사 하기

-'Perl에서  Jquery를 이용한 email 중복체크 하기'

저는 이번에 Perl을 처음 건드려 봅니다.
'펄 세계엔, 한줄의 코드로 컴퓨터를 주므르는 고수들이 살고 있다!'
한참 전에 이런 소리를 들어 봤던거 같군요.
그때 든 생각은.
'한줄? 아! 디버깅하기 힘들겠구나.' 였어요.
인간 친화적이라기보다 기계 친화적인 언어라고 생각했었죠.
펄로 만들어진 PHP는 친숙하지만 Perl이라면 왠지 거리감이 느껴지는 언어였어요.
그런데 Perl에서도 요즘 흔히 쓰는 Jquery를 이용한 Ajax 구현이 가능합니다.
덕분에 조금 가까워 졌네요.:D


duplicate_test.html
<html><head/><body>
<INPUT maxLength=12 name="email" id="email" size="20"><br/>

<div id="duplicateResult"></div>
<script type="text/javascript" src="/rfo/jquery.js"></script>

<script type="text/javascript" src="/rfo/duplicate.js"></script>
</body></html>


duplicate.js
$(document).ready(function(){
  $("#email").keyup(function() {
    var email = $('#email').attr('value'); // get email
        if (email) { // values are not empty   
      $.ajax({
        type: "GET",
        url: "/cgi-bin/duplicate.pl", // URL of the Perl script
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        data: "email=" + email,       
        // script call was not successful
        error: function(XMLHttpRequest, textStatus, errorThrown) {
          $('div#duplicateResult').text("responseText: " + XMLHttpRequest.responseText
            + ", textStatus: " + textStatus
            + ", errorThrown: " + errorThrown);
          $('div#duplicateResult').addClass("error");
        }, // error
        // script call was successful
        // data contains the JSON values returned by the Perl script
        success: function(data){
          if (data.vacancy) { // script returned error
            $('div#duplicateResult').html("<span style='color:blue;font-size:14px;font-weight:bold;'>" + data.vacancy+"</span>");
            $('div#duplicateResult').addClass("vacancy");
          } // if
          else { // login was successful
            $('div#duplicateResult').html("<span style='color:red;font-size:14px;font-weight:bold;'>" + data.occupied+"</span>");
            $('div#duplicateResult').addClass("occupied");
          } //else
        } // success
      }); // ajax
    } // if
    else {
      $('div#duplicateResult').text("아이디를 입력해 주세요.");
      $('div#duplicateResult').addClass("error");
    } // else
    $('div#duplicateResult').fadeIn();
    return false;
  });
});


duplicate.pl

!/usr/bin/perl

use CGI;
use DBI;
use strict;
use warnings;
use rfoconfig;


read the CGI params

my $cgi = CGI->new;
my $email = $cgi->param("email");


connect to the database

my $dbh = DBI->connect("DBI:mysql:testDB:localhost","user","password");


check the username and password in the database

my $statement = qq{SELECT COUNT(*) FROM user WHERE email=?};
my $sth = $dbh->prepare($statement)  or die $dbh->errstr;
$sth->execute($email)  or die $sth->errstr;
my ($duplicatekey) = $sth->fetchrowarray;

my $json = ($duplicate_key) ?
  qq{{"occupied" : " $email는 이미 있는 아이디 입니다."}} :
  qq{{"vacancy" : "$email을 사용하실 수 있습니다."}};


return JSON string


"DBI:mysql:testDB:localhost","user","password"
우선 위 코드에서 testDB:localhost , user, password는 테스트 환경에 맞게 설정해 주세요.

print $cgi->header(-type => "application/json", -charset => "utf-8");
print $json;
아래 파일은 Document root/ 에 넣으세요.

  • Jquery.js (http://jquery.com 에서 다운로드 받으세요.)
  • duplicate.js
  • duplicate_test.html

아래 파일은 Document root/cgi-bin 에 넣으세요.

  • duplicate.pl


 

참고자료
Very simple login using Perl, jQuery, Ajax, JSON and MySQL

by 月風



by


Tags : , , , ,

  • 재미있게 읽으셨나요?
    광고를 클릭해주시면,
    블로그 운영에 큰 도움이 됩니다!

WAMP서버에 Perl과 CGI를 연동하는 방법입니다.

WAMP서버에 Perl, CGI 연동하기

텍스트 메이트-'WAMP서버에 Perl, CGI 연동하기'

우선 Active Perl을 다운받아 설치합니다.

아파치 서버의 httpd.conf Directory안에 있는 Options
 Includes ExecCGI를 추가해 줍니다.

DirectoryIndexindex.cgi index.pl를 추가해 줍니다.

cgi-bin 경로가 Default가 아니라면, 알맞은 경로로 변경해 줍니다.

ScriptAlias /cgi-bin/ "/cgi-bin"
<Directory "/cgi-bin">

다음을 추가해 주면 httpd.conf 설정이 완료 됩니다.
AddHandler cgi-script .cgi
AddHandler cgi-script .pl

펄 개발을 할 때, 스크립트 파일인 /cgi-bin/filename.pl 파일의 가장 위에
#!c:/Perl/bin/perl.exe (펄 경로) 를 추가해줍니다.

만약 경로를 알맞게 써주었는데도 제대로 작동하지 않으면,
httpd.conf 파일에 ScriptInterpreterSource registry 를 한 줄 추가해 줍니다.

이제 MySQL 인터페이스를 설치할 차례입니다.

cmd를 실행하고, 펄이 설치된 폴더로 가세요.

c:\perl\bin\> ppm repo add uwinnipeg

위 명령어로 저장소를 추가해 줍니다.

c:\perl\bin\> ppm install DBD-mysql

마지막으로 DBD-mysql을 인스톨 하면 완료!

액티브펄 설치시에 폴더를 임의로 변경했다면,
DBD가 엉뚱한 폴더에 인스톨 될 수 있습니다.
저는 64비트 OS용을 깔았더니, c:\Perl64에 설치되더라고요.
하지만 인스톨된 DBD-mysql을 설치된 펄 폴더로 옮겨주면 이상 없이 잘 동작합니다.
펄 개발 환경을 구축하실 분이 계실지 모르겠지만,
혹시 계시다면 이 글이 도움이 되면 좋겠네요.:D

참고 자료

Setting Up Perl and CGI For Wamp Server WAMP(P)

by 月風



by


Tags : , , , , ,

  • 재미있게 읽으셨나요?
    광고를 클릭해주시면,
    블로그 운영에 큰 도움이 됩니다!

오랜 전통을 자랑하는 부쉬밀 아이리시 싱글 몰트 위스키.


병-'부쉬밀 아이리시 위스키'

아일랜드에 와서는 와인과 멀어졌습니다.
와인 가격이 한국과 비슷하기 때문이죠.
비싸요.
반면에 위스키는 상대적으로 저렴한 편입니다.
와인 두 병값이면 위스키를 한 병 살 수 있을 정도니까요.
얼마 전 장을 보다가,
400년이란 오랜 역사를 지닌 부쉬밀 위스키를 한 병 집어왔습니다.
진한 향과 부드럽고 깔끔한 맛이 매력적이네요.
끝의 여운이 남지 않는 게 좀 아쉽지만, 마음에 드는 녀석입니다.
게다가 얼마 전 집에 사둔 베일리스와 섞어 마시니,
만족도가 200% 올라가는군요!
비율은 부쉬밀 아이리쉬 위스키와 베일리스를 2:1로 섞었습니다.
칵테일 이름은 뭐라고 할까요.
베일에 쌓인 아이리시?!
어쨌든 맛있어요!
이곳 아일랜드의 술이 제 입맛에 참 잘 맞습니다.:D



by


Tags : , , , , , ,

  • 재미있게 읽으셨나요?
    광고를 클릭해주시면,
    블로그 운영에 큰 도움이 됩니다!

19세기 아일랜드의 감옥. 코크 시티 자올에 다녀왔습니다.

코크 시티 자올

며칠 전 밤이었습니다.
집으로 오는 길에 분위기 잡는 이 건물을 마주쳤죠.
'음 뭔가 비밀이 있을법한 곳이군.'
언제 한번 들러봐야겠다 생각했어요.
일기예보를 보니 날씨가 맑음이네요?
화창한 일요일.
거리도 부담 없으니, 가벼운 발걸음으로 코크 시티 자올을 향해 떠났습니다.
제가 사는 집에서 십 분 정도 걸으면, 코크 시티 자올이에요.
카메라와 입장료만 달랑 들고,
슬리퍼 신고 동네 슈퍼 가듯 코크의 유명 관광지로 향했죠.

입구-'코크 시티 자올'

각지고 차가운 색상의 돌 건물.
건물 입구부터 딱 감옥 같은 분위기가 저를 압박합니다.
입장료를 내고 감옥 내부를 구경합니다.
곳곳에 마네킹을 세워놓고 눕혀놓고 앉혀놓았습니다.
'이 수감자는 옷을 훔쳐서 갇혔음.'
'이 수감자는 빵을 훔쳐서 갇혔음.'
'이 수감자는 술주정뱅이라 갇혔음.'
'이 수감자는..'
"으헉!!!"
마네킹이 움직입니다.
"오우 쏘리."
다른 관광객이군요.
심장이 약한 사람은 조심해야겠어요.
움직이는 마네킹(?)이 있던 그 방은 죄수 체험을 할 수 있는 방입니다.

죄수체험-'코크 시티 자올'

죄수용 침대에 누워볼 수도 있고, 감방문을 잠글 수도 있죠.
문을 닫고 들어가 침대에 누웠습니다.
'그래도 창문은 달려 있구나.'
'끼이이익.'
"으헉! 쏘리."
감방문을 연 관광객이 저를 보곤 소스라치게 놀라며 외치더군요.
'마네킹이 움직여?!'
라고 생각했겠죠.^^;

탈출이 쉽지 않아-'코크 시티 자올'

감방에서 바라본 복도는 예전에 재미있게 했던 메탈기어 솔리드의 한 장면을 생각나게 합니다.
'들키지 않고 탈출할 수 있을까?'

멋진 나무-'코크 시티 자올'

밖으로 나오니 뒤뜰에 멋진 나무가 자태를 뽐냅니다.
19세기에도 그 자리에 우뚝 서 있었을듯한 나무.
뒷마당에선 죄수들이 운동 삼아 산책을 했다고 하더군요.
단 죄수들끼리 말을 하지 못하게 하는 규칙이 있었답니다.
수도승 같은 생활을 해야 했다고 하더라고요.
그래서 죄수들이 여럿 미쳤답니다.
코크 시티 자올.
나름의 이야기가 있는 흥미로운 관광지였어요.

코크 시티 자올 주소
CORK CITY GAOL,
Convent Avenue, Sunday's Well, Cork City, Ireland.

코크 시티 자올 홈페이지

by 月風



by


Tags : , , , , ,

  • 재미있게 읽으셨나요?
    광고를 클릭해주시면,
    블로그 운영에 큰 도움이 됩니다!

깔끔한 인터페이스와 충실한 기본기능의 무료 가계부 Personal Finances 무설치판을 쓰기 시작했습니다.

무료 가계부 프로그램. Personal Finances 무설치판

지출 내역-'무료 가계부 프로그램. Personal Finances 무설치판'
그동안 메모장에 여행경비를 적어 왔습니다.
큰 불편함은 없었지만, 좀 더 편리한 가계부를 쓰고 싶었어요.
Personal Finances는 시험 삼아 사용해본 무료 가계부 프로그램 중,
가장 맘에 드는 가계부입니다.
수입과 지출을 카테고리별로 관리!
가장 돈이 많이 들어가는 곳은 어디인지 한눈에 보여서 좋네요.
메뉴는 영문이지만, 카테고리나 내용엔 한글 적용이 가능해요.
각국의 통화가 사용하니, 여행 여행경비 적기에도 딱 맞습니다.

Personal Finances 가계부는 무료 버전과 프로 버전으로 나뉘어요.

지출 내역-'무료 가계부 프로그램. Personal Finances 무설치판'

프로 버전에는 도표와 달력 기능 등이 추가되었지만,
무료 버전만으로도 충분히 만족스러운 가계부입니다.
저는 윈도우 7 64비트 OS를 사용중이에요.
윈도우 7 64비트에선 잘 동작하지 않는 프로그램이 많습니다.
그런데 Personal Finances 가계부는 안정적으로 잘 동작하네요.:D

무료 가계부 프로그램 Personal Finances 무설치판 내려받기

by 月風



by


Tags : , , , , ,

  • 재미있게 읽으셨나요?
    광고를 클릭해주시면,
    블로그 운영에 큰 도움이 됩니다!

아파치 웹 서버 환경을 손수 구축하려면 여간 귀찮은 일이 아닙니다. 하지만 WAMP를 이용하면!

윈도우에서 아파치 웹서버 환경을 한방에 구축해주는 WAMP!


아파치 설치하고, 데이터베이스 설치하고,
PHP 같은 서버 스크립트 언어도 설치한 다음에 연동해 주어야 하죠.
어휴.
이런 불편함을 해결해 주는 WAMP.
덕분에 아주 간편하게 웹 서버 환경을 구축할 수 있어요.
윈도우뿐 아니라 다양한 플랫폼을 지원합니다.
(W) Windows WAMP
(L) Linux LAMP
(M) Macintosh MAMP

AMP는 무엇의 약자일까요?
(A) Apache server
(M) MySQL
(P) PHP

입니다.

저는 WAMP와 MAMP를 설치해 보았는데,
MAMP는 아주 단순한 기능만 들어가 있고,
WAMP는 유용한 기능들을 함께 담아 놨더라고요.
예를 들자면 이래요.
서버와 맞는 로컬 환경 구축을 하기 위해 MySQL 버전을 맞추려면 WAMP는 MySQL만 따로 받을 수 있지만,
MAMP는 일체형이라 통째로 갈아야 해요.
마치 하드웨어와 소프트웨어를 통째로 구매해야 하는 Apple사의 상품과 같죠.^^;
아래 링크에서 각 플랫폼에 맞는 서버를 내려받으실 수 있습니다.

윈도우용 웹서버 환경 WAMP 다운로드

리눅스용 웹서버 환경 LAMP 설치법

맥용 웹서버 환경 MAMP 다운로드

by 月風



by


Tags : , , , , ,

  • 재미있게 읽으셨나요?
    광고를 클릭해주시면,
    블로그 운영에 큰 도움이 됩니다!

리눅스에서 OS 브랜드와 버전 정보를 보려면 어떻게 해야 할까요?

리눅스 OS 정보 보기

리눅스 터미널-'리눅스 OS 브랜드 버전 정보 보기'

자기 컴퓨터에 설치한 리눅스가 아니고, GUI 환경도 아닌 낯선 터미널을 만났을 때.
까만 건 화면이요.
하얀 건 글씨입니다.
'도대체 이 OS의 정체가 뭘까?'
우선 뭔지 알아야 안면을 트고 친해질 수 있죠.

uname -a

를 입력하면 기본적인 정보를 줍니다.
'나는 인텔 칩셋용 64비트 리눅스다!'
라고요.
하지만 리눅스의 브랜드와 버젼정보는 알 수 없어요.

cat /etc/*version
혹은
cat /etc/*release

를 터미널에 입력해 봅니다.
레드햇, 데비안, 수세, 슬렉웨어, 젠투 등은 이 방법으로 리눅스 브랜드와 버전을 알 수 있어요.
/etc/gentoo-release /etc/debian_version처럼 말이죠.
이 방법으로도 정보를 알아낼 수 없다?

cat /etc/issue*
명령을 날립니다.

/etc/issue 나 /etc/isssue.net 에 리눅스 브랜드와 버전이 적혀 있기도 하거든요.
저는 이 파일에서 서버의 정보를 알아냈어요.
만약 아직도 리눅스가 정체불명이다?!

그렇다면.
/var/log/var/adm 폴더의 로그를 살펴보세요.
부트메시지엔 보통 버전이 들어가 있으니까요.
mail을 처음 설치하면 환영 메일을 보내주는 OS도 있으니, /root/mbox에서 우연히 정보를 만날지도 몰라요.
이상, 모르는 리눅스를 만났을 때 이름 물어보는 법이었습니다..:D
by 月風



by


Tags : , , , ,

  • 재미있게 읽으셨나요?
    광고를 클릭해주시면,
    블로그 운영에 큰 도움이 됩니다!

행복한 사회를 만들기 위해선 정의가 필요 하다고 합니다. 그렇다면 '정의란 무엇인가?' 마이클 센델은 그에 대한 이야기를 독자와 함께 풀어 갑니다.

정의란 무엇인가?

'Justice'
세 달 전.
오랜만에 만난 친구가 물었습니다.
"달리는 기차 앞에 다섯 명의 인부가 작업을 하고 있어."
"브레이크는 고장 났지. 그대로 달리면 다섯 명이 죽고. 잽싸게 다른 철로로 방향을 튼다면 한 명의 인부만 죽어."
"너라면 어떤 선택을 하겠어?"
이런 질문을 던져놓는 흥미로운 책이라며, 이 책을 소개해줬죠.
"정이란 무엇인가를 한번 읽어봐."
"정이 뭔가?"
"져스티스!"
그로부터 한참 후에야 이 책을 읽게 되었습니다.
'정의란 무엇인가?' 강의 동영상은 나꼼수가 나오기 전까지만 해도 아이튠스 다운로드 일위였다죠?
이 책을 읽으며 깊이 생각한 것이 두 가지가 있어요.
하나는 '책이 참 미국적이다.'
그리고 다른 하나는 "마이클 센델은 바닷가재를 정말 좋아하는구나."
였습니다.
책의 제목과는 관계없는 내용이죠.
이 책에서 말하려고 하는 정의.
공리주의라던가,
선택의 자유.
공동선의 추구에 대해 다양한 사례를 들어 이야기하지만,
기본 원칙만 지킨다면, 굳이 정의라는 게 필요할까 싶습니다.
저는 '정의'라는 개념이 필요한 건,
자기의 이익만 추구하는 사람들 때문이라고 봅니다.
옆의 나라가 좋아 보인다고 말도 안 되는 구실로 침략하는 것.
남의 통장에 들어갈 돈을 가로채서 내 통장의 잔액를 늘리는 것.
나는 희생할 생각이 없으니, 남에게 희생을 강요하는 것.
이런 일들이 요즘엔 뉴스거리도 아닐 정도로 번번이 일어나고 있습니다.
남에게 해가 되지 않는 선에서, 행복을 추구한다면.
그리고 그 행복을 다른 이들과 나눈다면.
그것으로 충분하지 않을까요?
그렇다면.
굳이 정의에 대해 이야기할 필요가 없을 테니까요.
by 月風



by


Tags : , , , ,

  • 재미있게 읽으셨나요?
    광고를 클릭해주시면,
    블로그 운영에 큰 도움이 됩니다!