Ruby DSL 

Ruby DSL DSL은 Domain Specific Language 의 줄임말이다. 범용적으로 사용하는 언어가 아닌 특수한 (좁은)영역에 사용하는 언어를 통칭한다. 별로 사용하지 않는 언어라고 생각할 수 있겠는데, 이미 여러 영역에서 사용하고 있다. awk, 빌드 환경을 정의 하기 위한 make, ant, 스프레드쉬트에 내장된 매크로등이 DSL이다. 이...

Ruby 

Ruby어쩌다가 Ruby도 공부해야 하게 생겼다는.. 프로그래밍 언어에 대한 경험은 있으니 Tutorial 문서 읽은 다음, 클래스 쪽보고, 네트워크 프로그래밍 스레드 쪽으로 공부해야 겠다. 그다음 루비기반의 프레임워크.# sudo apt-get install python-software-properties# sudo apt-add-repository p...

예외처리 

예외처리예외는 프로그램 실행 중 프로그램의 작동을 방해할 때 발생하는 이벤트를 의미한다. 일반적으로 python 스크립트는 대처할 수 없는 문제를 만날 때, 예외(exception)을 발생한다.작성한 코드가 왠지 문제를 일으킬 수 있을 것 같다면, trytry, execption의 간단한 사용법이다.try You do your operations here...

Python List 자료구조 

Python List 자료구조Python의 가장 기본적인 자료구조다. 각각의 원소는 연속적인 색인(index)이 할당되는데, 이 색인을 이용해서 원소에 접근할 수 있다. 첫번째 색인 값은 0이, 두번째 색인 값은 1... 이런식으로 순차적으로 증가한다. Python은 순차적으로 원소가 저장되는 6가지 다른 종류의 자료구조를 가지고 있는데, 그 중 list...

Perl의 미래 

Perl의 미래...

BSD 소켓 프로그래밍 입문 

BSD 소켓 프로그래밍 입문현재 네트워크는 internet(인터넷)으로 대변된다. 때문에 네트워크 대신 인터넷이라는 용어를 사용하도록 하겠다. 인터넷 프로그램은 인터넷상에서 멀리 떨어진 프로그램 사이에서 통신을 수행하는 프로그램이다. 인터넷 프로그램을 이용해서 우리는 웹페이지를 서핑하고 온라인 게임을 하며 주식거래를 하고 물건을 구입한다. 이메일을 주고 ...

select를 이용한 다중연결 처리 서버 작성 

select를 이용한 다중연결 처리 서버 작성우리는 문서를 읽어 보기 바란다.select(2) 를 통해서 다중연결서버를 만들경우 fork(2)를 이용한 멀티 프로세스에 비해서 몇가지 장점이 있다. 프로세스 생성은 매우 많은 비용이든다. 입출력 다중화는 프로세스 생성비용을 줄일 수 있다. 멀티 프로세스 방식 프로그램의 경우 독립된 프로세스로 실행되므로 프로...

서버 클라언트 모델 기반의 계산기 프로그램 제작 

서버 클라언트 모델 기반의 계산기 프로그램 제작작성자본 강좌에서는 네트웍을 통해 접속한 클라이언트가 전송한 수식데이터를 받아서 서버에서 연산후 그 결과를 다시 클라이언트로 전송하는 C/S 프로그램 예제이다.지금까지 익한 자료구조와 네트워크 프로그래밍 기법, 계산기 알고리즘을 이용하여 직접해보도록 한다. #include #include

멀티 프로세스 기반 소켓 프로그램 개발 

멀티 프로세스 기반 소켓 프로그램 개발멀티 프로세스는 시스템 프로그래밍 영역으로 에서 자세히 다루고 있으니 참고하기 바란다. BSD 소켓은 네트워크 통신을 위한 기술만을 제공한다. 다수의 클라이언트를 처리하기 위한 기술등은 제공하지 않는다. 소켓 프로그래밍에서 데이터 통신 이외의 기술은 독립된 기술로 존재한다. 그러므로 (다수의 클라이언트를 처리하는 등의...

xinetd 프로그래밍 

xinetd 프로그래밍2002년에 만들어진 문서다. 당시에는 inetd를 사용했는데, (2014년)지금은 xinetd방식을 사용하고 있다. 지금 상황에 맞게 문서를 업데이트 한다. -- 2011/06/23 일반적으로 네트워크 프로그램을 만든다고 하면, 독립된 소켓 서버 프로그램을 생각할거다 함수로 연결 소켓을 가져온다음 멀티 스레드 혹은 멀티 프로세스방식...