<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
   <channel>
      <title>プログラミングの小石・大石</title>
      <link>http://www.kanadas.com/program/</link>
      <description><![CDATA[ちょっとしたプログラムの断片からプログラミング技法，モジュールなど，いろいろとりあげます． 
公開したくないコメントは yasusi&nbsp;@&nbsp;kanadas.com におくってください．
もし内容にあやまりがあれば，あとからでも訂正しますので，連絡してください．]]></description>
      <language>ja</language>
      <copyright>Copyright 2008</copyright>
      <lastBuildDate>Mon, 22 Sep 2008 19:47:13 +0900</lastBuildDate>
      <generator>http://www.sixapart.com/movabletype/</generator>
      <docs>http://blogs.law.harvard.edu/tech/rss</docs> 

            <item>
         <title>JavaScript によるタイマー</title>
         <description><![CDATA[<p>
ちょっとした必要があって <a href="/javascript/timer.html" target="_blank">JavaScript をつかったタイマー</a>をつくった． 
プログラムをみるには<a href="/javascript/timer.html" target="_blank">このページ</a>をひらいて，Web ブラウザのメニューバーから 「表示 &gt; ページのソース」 を選択して，みてもらう必要がある． 
</p>
]]></description>
         <link>http://www.kanadas.com/program/2008/09/javascript_1.html</link>
         <guid>http://www.kanadas.com/program/2008/09/javascript_1.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">未整理</category>
        
        
         <pubDate>Mon, 22 Sep 2008 19:47:13 +0900</pubDate>
      </item>
            <item>
         <title>単純な Perl 版メイル・プロキシ</title>
         <description><![CDATA[<p>
メイルの誤送信防止などの目的のため，メイル・プロキシ (SMTP プロキシ) が重要になっている． 
Perl によって書かれたメイル・プロキシとしては <a href="http://smtpd.develooper.com/" target="_blank">Qsmtpd</a> 
があるが，自分で単純なプロキシをつくりたいとおもったときには，このプログラムは複雑すぎて，あまり参考にはならない． 
そこで，できるだけ単純なプロキシのプログラムを書いてみた．
</p>
]]></description>
         <link>http://www.kanadas.com/program/2008/03/_perl_1.html</link>
         <guid>http://www.kanadas.com/program/2008/03/_perl_1.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">ネットワーク・通信</category>
        
        
         <pubDate>Sat, 29 Mar 2008 14:25:03 +0900</pubDate>
      </item>
            <item>
         <title>Perl におけるデータ構造の線形化 (serialization)</title>
         <description><![CDATA[<p>
Perl には tie() というくみこみのサブルーティンがあって，ハッシュに設定した値を自動的に外部ファイルにかきこむことができる． 
ただし，このハッシュにはどんな値でもかきこめるというわけではなく，構造データをいれることができない． 
したがって，Perl の内部であつかう複雑なデータ構造をファイルにかきこむには，他のおおくの言語におけるのと同様に，データ構造を線形化 (serialize，シリアライズ) してやる必要がある． 
ここでは線形化 (serialization，シリアライゼーション) と逆線形化 (deserialization，デシリアライゼーション) の方法について書く．
</p>
]]></description>
         <link>http://www.kanadas.com/program/2007/11/perl_serialization_1.html</link>
         <guid>http://www.kanadas.com/program/2007/11/perl_serialization_1.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">データ構造</category>
        
        
         <pubDate>Sat, 17 Nov 2007 21:00:00 +0900</pubDate>
      </item>
            <item>
         <title>Java による簡易 SIP 風プロトコルとチャット・プログラム</title>
         <description><![CDATA[<p>
SSIP コミュニケータは GUI ベースでチャットができる，みじかい Java のプログラムである． プロトコルと通信プログラムの学習のためにつかうことを意図している． まずプログラムをうごかしてみてください． そして興味があれば，なかをのぞいてみてください． ここでは SSIP というプロトコルと SSIP コミュニケータの 使用法，構造などについて説明する． また，SSIP の問題点とその可能な解決策などについてもふれる．
</p>
]]></description>
         <link>http://www.kanadas.com/program/2007/11/java_sip.html</link>
         <guid>http://www.kanadas.com/program/2007/11/java_sip.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">ネットワーク・通信</category>
        
        
         <pubDate>Sat, 17 Nov 2007 17:00:00 +0900</pubDate>
      </item>
            <item>
         <title>JavaScript による単純な電卓</title>
         <description><![CDATA[<p>
私がもっともふるくから公開しているプログラムとして，<a href="/javascript/calculator.html" target="_blank">JavaScript をつかって書いた単純な電卓</a>がある． 
プログラムをみるには<a href="/javascript/calculator.html" target="_blank">このページ</a>をひらいて，Web ブラウザのメニューバーから 「表示 &gt; ページのソース」 を選択して，みてもらう必要がある． 
</p>
]]></description>
         <link>http://www.kanadas.com/program/2007/11/javascript.html</link>
         <guid>http://www.kanadas.com/program/2007/11/javascript.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">未整理</category>
        
        
         <pubDate>Sat, 17 Nov 2007 16:47:19 +0900</pubDate>
      </item>
            <item>
         <title>Java によるランダム化された計算をつかった単純な問題解決の例</title>
         <description><![CDATA[<p>
1994 年前後に私は，局所的な情報だけをつかってランダムさをふくんだやりかた (計算順序などをきめるのに乱数をつかう方法) で記号処理などを計算する方法 <a href="/research-themes-j/0000/01/ccm_chemical_casting_model.html" target="_blank">CCM</a> (Chemical Computation Method / Chemical Casting Model) の研究をしていた． 
CCM による計算は Macintosh Common Lisp をつかって実行していたが，それでは Web 上で計算の様子をみせることができないので，1996 年に Java で書いたプログラムを公開した． 
</p>
]]></description>
         <link>http://www.kanadas.com/program/2007/11/ccm.html</link>
         <guid>http://www.kanadas.com/program/2007/11/ccm.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">記号処理</category>
        
        
         <pubDate>Sat, 17 Nov 2007 16:45:14 +0900</pubDate>
      </item>
            <item>
         <title>Perl による音声 (VoIP) 受信と再生</title>
         <description><![CDATA[<p>
RTP (Real-time Transport Protocol) による 2 チャンネル (ステレオ) の音声 (VoIP, Voice over IP) を受信してオーディオ再生するプログラムをしめす． 
音声は 16 bit 線形を基本とするが，u-Law (G.711) などもあつかえるようにしてある． 
受信のためのポート番号はこのプログラムのなかで指定されている ($IN_PORT_RTP)． 
とりあえず，こまかい説明ははぶくが，あとで必要に応じて説明をくわえることにしたい．
</p>
]]></description>
         <link>http://www.kanadas.com/program/2007/11/perl_voip_1.html</link>
         <guid>http://www.kanadas.com/program/2007/11/perl_voip_1.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">ネットワーク・通信</category>
                  <category domain="http://www.sixapart.com/ns/types#category">マルチメディア</category>
        
        
         <pubDate>Thu, 15 Nov 2007 23:11:28 +0900</pubDate>
      </item>
            <item>
         <title>Perl によるファイルからの音声 (VoIP) 送信</title>
         <description><![CDATA[<p>
ファイルにふくまれる音声 (VoIP, Voice over IP) を RTP (Real-time Transport Protocol) によって送信する Perl プログラムをしめす． 
音声は線形 16 bit を基本とするが，u-Law (G.711) などもあつかえるようにしてある． 
送信・受信のためのポート番号と受信者の IP アドレスはこのプログラムのなかで指定されている ($REMOTE_PORT_RTP, $LOCAL_PORT_RTP, $ip など)．  
RTCP (Real-Time Control Protocol) もあつかっているが，RTCP によって特別の制御をしようとしているわけではない． 
</p>
]]></description>
         <link>http://www.kanadas.com/program/2007/11/perl_voip.html</link>
         <guid>http://www.kanadas.com/program/2007/11/perl_voip.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">ネットワーク・通信</category>
                  <category domain="http://www.sixapart.com/ns/types#category">マルチメディア</category>
        
        
         <pubDate>Thu, 15 Nov 2007 22:39:48 +0900</pubDate>
      </item>
            <item>
         <title>リアルタイム用途にもつかえた Perl による疑似リングバッファ</title>
         <description><![CDATA[<p>
つぎつぎと入力されてくるデータを固定長の配列をつかってバッファリングするとき，たとえば VoIP (Voice over IP) の音声を入力するプログラムにおいて，リングバッファというデータ構造がよくつかわれる． 
リングバッファをきちんとつくるのがめんどうだったので，Perl をつかって，常にあたらしい要素を配列の末尾に追加する “疑似リングバッファ” による VoIP のプログラムをつくった． 
これでリアルタイムにちゃんと動作するのかどうか不安だったが，「<a href="/weblog/2007/10/voiscape_spatializer.html" target="_blank">Perl によるリアルタイム音声処理 ― voiscape 3D 化プログラムの奇跡</a>」 にも書いたようにうまく動作したので，ここではこの “疑似リングバッファ” について書いてみる．
</p>
]]></description>
         <link>http://www.kanadas.com/program/2007/11/perl_2.html</link>
         <guid>http://www.kanadas.com/program/2007/11/perl_2.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">データ構造</category>
        
        
         <pubDate>Thu, 15 Nov 2007 22:14:51 +0900</pubDate>
      </item>
            <item>
         <title>ブログの目的</title>
         <description><![CDATA[<p>
この “ブログ” の目的は，私がもっているプログラミングに関するちょっとした知識を紹介することです． 
</p>
]]></description>
         <link>http://www.kanadas.com/program/2007/11/post_2.html</link>
         <guid>http://www.kanadas.com/program/2007/11/post_2.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">未整理</category>
        
        
         <pubDate>Thu, 15 Nov 2007 20:44:18 +0900</pubDate>
      </item>
            <item>
         <title>Linux のためのイーサネット・ハブもどきのプログラム</title>
         <description><![CDATA[<p>
Linux 上でイーサネットのハブのようなふるまいをするプログラムをつくろうとすると，ソケットを promiscuous mode (プロミスキャス・モード) で動作させる必要がある． 
きちんとハブとして動作させようとするとやや複雑なプログラムを書く必要があるが，ここではもっとさぼって，ハブにちかいがもうすこしいいかげんに動作するプログラムをしめす．
</p>
]]></description>
         <link>http://www.kanadas.com/program/2007/11/linux.html</link>
         <guid>http://www.kanadas.com/program/2007/11/linux.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">ネットワーク・通信</category>
        
        
         <pubDate>Thu, 15 Nov 2007 20:31:41 +0900</pubDate>
      </item>
            <item>
         <title>Perl による G.711 の処理</title>
         <description><![CDATA[<p>
音声にしろ動画にしろ，おおくのコーデックの処理は複雑で，ライブラリのお世話にならなければならない． 
しかし，電話などでつかわれる G.711 という ITU-T 標準のコーデックは非常にかんたんであり，ほとんどテーブル引きだけで実現することができる． 
ここでは Perl による G.711 の変換・逆変換のプログラムをしめす． 
もちろん，Perl の特殊機能はつかっていないので，他の言語に容易にかきかえることができる．
</p>
]]></description>
         <link>http://www.kanadas.com/program/2007/11/perl_g711.html</link>
         <guid>http://www.kanadas.com/program/2007/11/perl_g711.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">マルチメディア</category>
        
        
         <pubDate>Wed, 14 Nov 2007 23:31:06 +0900</pubDate>
      </item>
            <item>
         <title>Perl によって UDP ポートを “たたく” プログラム</title>
         <description><![CDATA[<p>
複数のコンピュータをネットワークを介してつなぎ，それらにのせられたアプリケーションのあいだで相互に通信させる実験をするとき，実験を起動するのに，最初に通信をおこなうアプリケーションのポートをたたくようにするのが便利である． 
この目的で内容のない UDP (User Datagram Protocol) メッセージをおくるプログラムを書いてみた 
(UDP を TCP にかえるのは容易であるが，受信プログラムはやや複雑になる)． 
</p>
]]></description>
         <link>http://www.kanadas.com/program/2007/11/perl_udp.html</link>
         <guid>http://www.kanadas.com/program/2007/11/perl_udp.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">ネットワーク・通信</category>
        
        
         <pubDate>Wed, 14 Nov 2007 21:44:34 +0900</pubDate>
      </item>
            <item>
         <title>Perl による簡易 XML インタフェース ― テーブル型データ表現のハッシュと XML 間の変換</title>
         <description><![CDATA[<p>
ただしい XML インタフェースをつくるには XML の API をつかう必要があるが，かんたんに XML (もどき) のインタフェースをつくるには，Perl のパターンマッチ機能をつかうのが便利である． 
本来の XML は 1 行にいくつタグがあってもよいし，タグでかこまれる内容が複数行にまたがってもかまわないが，それに制限をくわえればかんたんに処理することができる． 
こんなインチキな XML 処理は奨励されないかもしれないが，ちょっとしたプロトタイプをつくるには便利である．
</p>
]]></description>
         <link>http://www.kanadas.com/program/2007/11/perl_xml.html</link>
         <guid>http://www.kanadas.com/program/2007/11/perl_xml.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">Web</category>
                  <category domain="http://www.sixapart.com/ns/types#category">ネットワーク・通信</category>
                  <category domain="http://www.sixapart.com/ns/types#category">文字列</category>
        
        
         <pubDate>Wed, 14 Nov 2007 21:15:26 +0900</pubDate>
      </item>
            <item>
         <title>テキストからの Perl データベース (tie) 生成</title>
         <description><![CDATA[<p>
関係データベースのような本格的なデータベースのかわりに Perl の tie() をつかうと，簡易データベースを容易にあつかうことができる． 
つまり，tie() をつかうことによって Perl のハッシュを外部ファイルとむすびつけて，恒久的 (permanent) なものにすることができる． 
ただし，本格的なデータベースとはちがって並列にかきこんだりすることはできないし，性能もひくいとかんがえられる． 
したがって，プロトタイプには適するが実用には適さない． 
</p>
<p>
一方，かんたんなデータベースのようなデータ群あるいはデータベースに登録するべきデータ群をつくるとき，Excel がよくつかわれる． 
そこで，Excel などでつくったデータを，たとえばタブくぎりのテキストとして出力して，それを Perl のデータベースにとりこみたくなる． 
そういうプログラムの例をしめす． 
</p>
]]></description>
         <link>http://www.kanadas.com/program/2007/11/_perl_tie.html</link>
         <guid>http://www.kanadas.com/program/2007/11/_perl_tie.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">データベース</category>
        
        
         <pubDate>Wed, 14 Nov 2007 20:51:51 +0900</pubDate>
      </item>
      
   </channel>
</rss>
