동글동글 라이프
보호되어 있는 글입니다.
간만에 시간이 남아서 Mp3player을 만드는 작업을 하였다 Keedi님의 조언대로 File::Find를 넣어서 작성 CPAN의 SYSNOPSYS의 코드를 이해 못해 고생을 했다. use File::Find; find(\&wanted, @directories_to_search); sub wanted { ... } 부족한 느낌이 들어 적절한 예제가 있는 코드로 탐색을 시작했다. http://www.perlmonks.org/index.pl?node_id=217378 http://world.std.com/~swmcd/steven/perl/pm/find.html 영어의 압박이 있었지만 위의 두 예제를 보면 File::Find에 대한 적절한 예제를 확인 할 수 있다. 수정된 모듈 버전이 0.2로 올랐다는... ..
아직 블로그를 개설한지 열흘정도밖에 되지 않았지만 운영하면서 느꼈던 몇가지 생각들을 정리해 보려 한다. 전문성있는 블로그를 만들고 싶다 라는 생각으로 블로그를 시작하였으나 최근 올린 글들은 나만의 일기장이 되어간다는 생각이 들었다. 내가 처음 만들고자 했던 블로그는 어떤 블로그였는가를 다시한번 생각해 보았다. " 내가 생각하는 블로그란 다른 분들에게 도움이 되는 글이 적혀야 한다고 생각한다. 누구나 격었을만한 어려움들을 직접 연구하여 조금 더 쉽게 설명하여 기술하고 모르는 내용을 적지 않으며 정확하고 권위있는 지식만 전달하는 블로그를 만들고 싶다. " 좋은 내용의 글을 쓰는것은 쉽지 않다는 것을 알고있고, 시간과 공을 들여 글을 써야 좋은 글이 나온다는 것도 알고 있다. 특히 최근에 썼던 몇몇 글들은 영..
초안을 한번 잡아 보려고 한다. GTK2를 사용해서 이것저것 만들다보니 전체 틀이 나왔다. 각각의 객체를 접근하는 부분이 까다로워 고민이 들지만... 한시간만에 이렇게 만들었다는 것이 나조차도 믿기지는 않지만;; GTK2의 위대함을 엿볼 수 있는 단편적인 부분이기도 하다. 사실.. 슥삭슥삭 그려넣는... MFC와 비베가 훨신 더 편하기도... ㅡ.ㅠ 구간반복을 빼먹었...
Usage : pack Template, list unpack Template , EXPR pack 함수는 값들로 구성된 리스트를 받아서 이진구조로 변환시킨 뒤에 변환시킨 문자열을 반환하는 함수이다. 템플릿의 종류를 알아보기에 앞서 하나의 예제를 먼저 실행 하여보자. 1 2 3 4 use strict; my @list = (65..69); my $out = pack "C*",@_; print $out list에는 65부터 69까지의 숫자가 들어있다. 눈치를 채신분들은 알겠지만 저 숫자들은 아스키코드값의 10진수이고 A~E까지의 값을 차례대로 배열에 저장하였다. 이제 pack 함수를 살펴 보자. C는 unsigned 문자를 나타내고 있으며 아스키 코드값을 문자로 변환하여 반환해준다 그래서 출력되는 값은 "..
첫번째로 mp3list.pm 모듈을 만들어 보자. 이것은 해당 폴더 안에 있는 mp3파일을 모두 찾아주며 경로까지 붙여 저장 시켜주는 모듈이다. - mp3list.pm 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 package mp3list; use Exporter; use strict; use vars qw( @ISA @EXPORT_OK $VERSION ); use Cwd; @ISA = qw( Exporter ); @EXPORT_OK = qw(folder_name); $VERSION = '0.1'; sub folder_name { my $folder = shift; my @list; my $cwd = fastcwd()."/$folder"; ..
갓 프로그래밍에 입문한 친구 중에 한명이 MFC로 음악을 재생해주는 프로그램을 만드는 것을 보았다. 괜찮게 만들었길레 어떤점이 제일 어려웠냐고 물어봤더니 모르는 라이브러리를 사용하며 부딛치는 난관들을 극복하기가 어려웠다고 한다. 심심한데 perl로 한번 해볼까? 생각이 들어... 일단 음악파일을 재생해주는 모듈부터 검색을 하였다. cpan에서 막연하게 MP3만 검색을 했더니 찾고자 하는 모듈이 검색되지 않았는데 10분정도 붙잡고 있었더니 드디어 발견!! http://search.cpan.org/~kenwu/Win32-MediaPlayer-0.2/lib/Win32/MediaPlayer.pm Windows에서 음악파일을 재생 시켜주는 모듈을 발견! Author을 확인해보니 중국 사람이 만들었는데... 귀..
지금부터 GTK2-perl을 소개를 시작하겠다. 단순한 프로그램을 실행해보도록 하자. 이 프로그램은 종료버튼을 제외하고 아무런 기능이 없는 200 x 200 픽셀의 윈도우창 하나를 만든다. 1 2 3 4 5 6 7 8 9 10 use Gtk2; Gtk2->init; $window = Gtk2::Window->new('toplevel'); $window->show; Gtk2->main; 0; 위의 프로그램을 실행할 수 있을 것이다. 모든 프로그램은 당연하게 GTK2 모듈을 사용한다. Gtk2->init 모든 GTK 어플리케이션을 부른 뒤 init 메서드를 호출 할 것이다. 이 설정은 기본적인 비주얼과 색상등을 우리에게 제공한다. 이 메서드는 라이브러리를 사용하기 위해 기본적인 핸들을 초기화를 해주며 커맨드..
Chapter 1. Tutorial Availability 이 문서는 온라인에 있는 http://gtk2-perl.sourceforge.net/tutorial 를 참조하고 있다. 튜토리얼의 초기버전은 C interface 와 함께 작성되었다. 이 입문서는 SGML과 HTML로 GTK+ Release에 관한 소스 코드가 각각 분류되었다. 두개의 배포판중 당신에게 맞는 것 중 하나를 선택하여 쓰길 바란다. 이 튜토리얼의 패키지로 다운 받으려면 ftp://ftp.gtk.org/pub/gtk/tutorial 여기는 여러가지 형식의 튜토리얼이 포함되어 있다. 이 패키지는 오프라인에서나 프린트 출력을 하는데 유용하게 사용될 것이다. Chapter 2. Introduction GTK ( GIMP ToolKit) 은 ..
얼마전 해커쏜에 참여하여 간단한 프로그램을 하나 만들었다. 그 당시 a3r0님께 많은 도움을 받아서 그것을 바로 흡수!! 타자 및 투수의 정보까지 처리하는 루틴까지 만들었던 기억이 난다. 소개하자면 일명 Baseball::KBO 한국야구위원회(http://www.koreabaseball.com/ )를 참고하여 만들어 졌으며 이 사이트의 정보들을 LWP::Simple 모듈을 이용하여 웹에서 해당 정보들을 얻어온 뒤 정규식을 이용해서 원하는 정보들을 찾아 저장하는 형식으로 코드를 작성하였다. 그 뒤 GTK문서를 보고 적당한 예제가 하나 있어 그 예제를 참고하여 GUI모드로 구현을 해보았다. 소스는 허접하지만... 누군가 더 나은 코드를 코멘트로 적어 줄까 싶어 공개한다. 블로그를 시작한지 글을 8건이나 썼는..