<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
   <channel>
      <title>しゃいん☆のブログ</title>
      <link>http://shain.blog.conextivo.com/</link>
      <description></description>
      <language>ja</language>
      <copyright>Copyright 2010</copyright>
      <lastBuildDate>Mon, 02 Aug 2010 13:37:28 +0900</lastBuildDate>
      <generator>http://www.sixapart.com/movabletype/</generator>
      <docs>http://blogs.law.harvard.edu/tech/rss</docs> 

            <item>
         <title>空の軌跡　～レッドデータリストに分類される大空の雄～</title>
         <description><![CDATA[みなさん、こんにちは。
コネクティボで、一番の鳥マニアことhogeです。

タイトルにある「空の軌跡」と読んで、某作成を連想した方は、
若干ごめんなさい。


今日は、環境省のレッドデータリストにカテゴライズされている、
大空を事由に旋回する鳥さんについて少し書いてみます。


この写真を見てわかった方は、素晴らしいです！
<img alt="ootaka1.JPG" src="http://shain.blog.conextivo.com/ootaka1.JPG" width="640" height="480" />
(撮影：弥富野鳥園　剥製近影)]]></description>
         <link>http://shain.blog.conextivo.com/2010/08/post_79.html</link>
         <guid>http://shain.blog.conextivo.com/2010/08/post_79.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">99_たわいなき社内事情</category>
        
        
         <pubDate>Mon, 02 Aug 2010 13:37:28 +0900</pubDate>
      </item>
            <item>
         <title>Cisco Cius　～～～AndroidベースのCiscoモバイル～～～</title>
         <description>みなさんお久しぶりです。

コネクティボで鳥さん野郎一直線を突き進んでいます。
町中で鳥さんを見かけるだけで、顔がニヤニヤしているので、
もしかしたら怪しさ抜群かも知れません・・・

1日の99%を鳥さんの為に費やして、残りの1%を仕事に捧げます！
今、ここで宣言します！(＾＾；

さて、本題です。
今回は、CiscoSystems社の新製品のお話です。

「Cisco Cius」というモバイル端末についてです！</description>
         <link>http://shain.blog.conextivo.com/2010/07/cisco_ciusandroidcisco.html</link>
         <guid>http://shain.blog.conextivo.com/2010/07/cisco_ciusandroidcisco.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">03_ど缶ネットワーク</category>
        
        
         <pubDate>Fri, 23 Jul 2010 01:19:02 +0900</pubDate>
      </item>
            <item>
         <title>ワールドカップとビジネス</title>
         <description><![CDATA[ワールドカップ真っ盛りな今日この頃いかがお過ごしでしょうか？
さーです。

<img alt="20100615%E3%82%AB%E3%83%A1%E3%83%AB%E3%83%BC%E3%83%B3.jpg" src="http://shain.blog.conextivo.com/20100615%E3%82%AB%E3%83%A1%E3%83%AB%E3%83%BC%E3%83%B3.jpg" width="150" height="149" />


さて、日本も一勝して良い雰囲気ですが、単純にワールドカップについてここで語っても面白くないので、
ビジネスを絡めたお話を少し。


]]></description>
         <link>http://shain.blog.conextivo.com/2010/06/post_78.html</link>
         <guid>http://shain.blog.conextivo.com/2010/06/post_78.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">99_たわいなき社内事情</category>
        
        
         <pubDate>Wed, 16 Jun 2010 13:27:08 +0900</pubDate>
      </item>
            <item>
         <title>iPhone4オンラインショップから学んだこと</title>
         <description><![CDATA[<p>まずは、朝から眠いです。睡眠時間3時間切ったのって、ここ最近はないですから。
</p>

<p>
昨日(6/15 17:00)から始まったiPhone4の予約。iPhone3GSを持っている私は、iOS4で満足しておけばよいものを、解像度が4倍になるから…とか、エンジニアなのに新しいものを持たないのはあり得ない！とか叫び、購入することにしました。<br />
17:00は会議中であったため、会議終了後に戦友(iPhone4を購入する人をこう定義する)に状況を聞くと、オンラインショップがダウンしてると言われ、言われてもアクセスし続けていました。</p>

<p>
アップルからのメールで、20時までに来店すれば当日お渡しできますよ♪というメールも来たので、今から行こうかとも思いましたが、暑い中外を歩くのもやだな…という情けない状況だったので、オンラインに頼っていました。</p>]]></description>
         <link>http://shain.blog.conextivo.com/2010/06/iphone4_1.html</link>
         <guid>http://shain.blog.conextivo.com/2010/06/iphone4_1.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">03_ど缶ネットワーク</category>
        
        
         <pubDate>Wed, 16 Jun 2010 09:45:43 +0900</pubDate>
      </item>
            <item>
         <title>【TCPDF】バージョンアップに伴うセキュリティ設定方法の変更(Ver.4系→Ver.5系)</title>
         <description><![CDATA[<a href="http://shain.blog.conextivo.com/2009/10/tcpdfpdf.html">以前にも紹介</a>したことがある<a href="http://www.tecnick.com/public/code/cp_dpage.php?aiocp_dp=tcpdf">TCPDF</a>ですが、先月にメジャーバージョンがあがったので早速試してみることにしました。

半年ほど前にVer.4.8で作成したプログラムが問題なく動作していたので、バージョンアップによる影響はないと思っていたのですが・・・思いがけない部分で仕様変更を発見しました。

Ver.4系からVer.5系へのバージョンアップ時に権限設定の仕様が真逆になっているようなので、注意が必要です。
対象になっているのは、PDFにセキュリティ設定を行う時に使用する関数で <b>SetProtection() </b>です。]]></description>
         <link>http://shain.blog.conextivo.com/2010/06/tcpdfver4ver5.html</link>
         <guid>http://shain.blog.conextivo.com/2010/06/tcpdfver4ver5.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">01_開発のお部屋</category>
        
        
         <pubDate>Thu, 10 Jun 2010 19:24:59 +0900</pubDate>
      </item>
            <item>
         <title>PHPExcelとExcel2007</title>
         <description><![CDATA[<p>業務効率化を図ろうと、Excel2007で作った書類のデータをうまく取り出し、加工して使うことを模索しております。<br />
弊社でWebシステム開発をするときのメイン言語であるPHPには、Excelファイルの読み込み・書き込みを行うことができる<a href="http://phpexcel.codeplex.com/">PHPExcel</a>というものが存在します。<br />
今回は、PHPExcelにまつわるお話です。</p>

<p>PHPExcelでは、Excel2007形式のファイルの読み書きができる優れものです。<br />
大昔、Excel2007が出たときには、xlsxファイルをzip展開してファイルの構造をひもとき、Web側で書き込んだデータをExcel2007形式のファイルで出力するようなシステムを作った物です。<br />
それが、近々リリースする<br /><a href="http://mitsumo-rich.jp/"><img src="/img/bn_logo.gif"></a><br />の原型だったりするのですが。</p>

<p>今回は、CentOS 5にRPMで導入したPHPを使った場合の想定で、遭遇する問題を書き留めておきます。<br />
なお、最新のPHP5.3系を使えばこの情報は不要です。だって、普通に動くから…。<br />
サーバ保守を考えたりすると、RPM版のパッケージを使う方がいろいろとよいと考えていますので（賛否両論でしょうが、私はそう考えます）。</p>]]></description>
         <link>http://shain.blog.conextivo.com/2010/06/phpexcelexcel2007.html</link>
         <guid>http://shain.blog.conextivo.com/2010/06/phpexcelexcel2007.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">01_開発のお部屋</category>
        
        
         <pubDate>Thu, 10 Jun 2010 17:30:00 +0900</pubDate>
      </item>
            <item>
         <title>年齢の計算</title>
         <description>さまざまなシステムで頻出する生年月日から年齢の計算。
計算が苦手な私にとっては結果があっているかの判断が難しく、特に閏年関連は厄介です。

今回も年齢計算が必要な機能があったので、閏年が正しく処理できるかテストしてみました。

[目標]
・1980/02/29(閏日)生まれの人の年齢計算が正しく行えること
・もちろん、閏日以外の人も。。。

[想定結果]
・閏年の場合は、2/29に年齢が増える
・閏年以外は、3/1に年齢が増える
</description>
         <link>http://shain.blog.conextivo.com/2010/06/post_77.html</link>
         <guid>http://shain.blog.conextivo.com/2010/06/post_77.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">01_開発のお部屋</category>
        
        
         <pubDate>Tue, 08 Jun 2010 10:52:07 +0900</pubDate>
      </item>
            <item>
         <title>工作！</title>
         <description><![CDATA[<p>
好奇心旺盛なコネクティボ社員。<br />
ある日の光景ですが良く見ると・・・
</p>
<p>
<a href="http://shain.blog.conextivo.com/2010/05/20/tape01.jpg">
<img src="http://shain.blog.conextivo.com/2010/05/20/tape01-thumb.jpg" alt="tape01.jpg" width="300" height="399" />
</a>
</p>
<a href="http://shain.blog.conextivo.com/2010/05/20/tape02.jpg">
<img src="http://shain.blog.conextivo.com/2010/05/20/tape02-thumb.jpg" alt="tape02.jpg" width="300" height="225" />
</a>
<p>
壁になんか張り付いてますっ？！
</p>
]]></description>
         <link>http://shain.blog.conextivo.com/2010/05/post_76.html</link>
         <guid>http://shain.blog.conextivo.com/2010/05/post_76.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">99_たわいなき社内事情</category>
        
        
         <pubDate>Thu, 20 May 2010 18:30:55 +0900</pubDate>
      </item>
            <item>
         <title>vim リストを代入</title>
         <description><![CDATA[<p>
またまたvimのお話です。<br />
vimでは他のいくつかの言語と同じように変数に値を代入するとき、左辺にリストを持ってくる事ができます。
</p>
<pre>
let [ foo , bar ] = [ 10 , 20 ]<br />
echo foo    &quot; 10<br />
echo bar    &quot; 20<br />
let [ foo , baz ] = [ 10 , [ 20 , 30 ] ]<br />
echo foo    &quot; 10<br />
echo baz    &quot; [ 20 , 30 ]
</pre>
<p>
これを使うとmatchlist関数を受け取るときに便利です。 matchlist関数は matchlist({expr}, {pat}[, {start}[, {count}]]) という書式で、評価するとマッチした結果を10個の要素を持つリストで返します。 ※マッチしないと空にリスト[]を返す
</p>
<pre>
let [ match , sub1 , sub2 , sub3 , sub4 , sub5 , sub6 , sub7 , sub8 , sub9 ] = matchlist( &#39;2010/05/17&#39; , &#39;\(\d\{4}\)\/\(\d\{2}\)\/\(\d\{2}\)&#39; )<br />
&quot; [&#39;2010/05/17&#39;, &#39;2010&#39;, &#39;05&#39;, &#39;17&#39;, &#39;&#39;, &#39;&#39;, &#39;&#39;, &#39;&#39;, &#39;&#39;, &#39;&#39;]
</pre>
<p>
上の文の問題は左辺と右辺の数が合わないとエラーになる為、matchlistが必ずマッチしないとダメと言うところですね。その辺は一旦別の変数を経由してマッチしたかどうか調べればよいと思いますが、面倒ですね。 代入が式ではない悲しさを感じます。
</p>
]]></description>
         <link>http://shain.blog.conextivo.com/2010/05/vim.html</link>
         <guid>http://shain.blog.conextivo.com/2010/05/vim.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">02_サーバ缶</category>
        
        
         <pubDate>Mon, 17 May 2010 18:33:38 +0900</pubDate>
      </item>
            <item>
         <title>ERMおぼえがき</title>
         <description>こんにちは。

ciscoのERMの設定について、簡単なものについて少しおぼえがきです。


</description>
         <link>http://shain.blog.conextivo.com/2010/05/erm.html</link>
         <guid>http://shain.blog.conextivo.com/2010/05/erm.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">03_ど缶ネットワーク</category>
        
        
         <pubDate>Mon, 17 May 2010 01:55:41 +0900</pubDate>
      </item>
            <item>
         <title>刺激を受けました</title>
         <description>AESです。


私事ですが、先日、以前私がアルバイトをしていたところへお邪魔してきました。

久しぶりに会うメンバーもいたので色々と話してきました！


詳しい内容は割愛しますが、メンバーと話す中で

人も職場も、私がいた頃よりも成長しているなぁ、と感じました。


今は一緒にではないですが、皆それぞれ頑張っているのだな、

と刺激を受けるとともに、

私も今後、成長できたと実感できるように

様々なことに取り組んでいこう、と感じた出来事でした。
</description>
         <link>http://shain.blog.conextivo.com/2010/05/post_75.html</link>
         <guid>http://shain.blog.conextivo.com/2010/05/post_75.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">99_たわいなき社内事情</category>
        
        
         <pubDate>Mon, 17 May 2010 00:44:03 +0900</pubDate>
      </item>
            <item>
         <title>スウィートバジルを植えました</title>
         <description>ということで、GW前に宣言した通り、
スウィートバジルの種を植えました↓。
</description>
         <link>http://shain.blog.conextivo.com/2010/05/post_74.html</link>
         <guid>http://shain.blog.conextivo.com/2010/05/post_74.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">99_たわいなき社内事情</category>
        
        
         <pubDate>Fri, 14 May 2010 22:25:57 +0900</pubDate>
      </item>
            <item>
         <title>LPIC 女性キャンペーン</title>
         <description><![CDATA[LPICがまた<a href="https://www.lpi.or.jp/woman_examinee/">女性限定のキャンペーン</a>を行っているようです。

以前にも女性限定でアンケートキャンペンを行っていましたが、
今回のキャンペーンはLPIC認定者または受験者限定です。


]]></description>
         <link>http://shain.blog.conextivo.com/2010/05/lpic.html</link>
         <guid>http://shain.blog.conextivo.com/2010/05/lpic.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">90_おすすめ商品</category>
        
        
         <pubDate>Thu, 13 May 2010 20:51:26 +0900</pubDate>
      </item>
            <item>
         <title>PostgreSQLのユーザー定義型</title>
         <description><![CDATA[PostgreSQLのユーザー定義型を利用して、
内部で暗号化されたカラムを作成したので、その過程でハマったことを
覚書も兼ねて投稿しておきます。

<h3>１． 可変長データのサイズ設定</h3>
<p>
可変長データは、内部的に

<em><strong>/************************/
typedef struct
{
int4 sz;         // 構造体の総サイズ
char val[1];    // データ格納位置(ダミー)
} EncryptedText
/************************/</strong></em>

のように表現されているのですが、

<em><strong>/************************/
EncryptedText a;
a.sz = 100;
/************************/</strong></em>

のように書くとNG。
この場合、専用のマクロを使って

<em><strong>/************************/
SET_VARSIZE(a, 100);
/************************/</strong></em>

としなければいけません。
また、ここで設定した値を取り出す場合も

<em><strong>/************************/
VARSIZE(a);
/************************/</strong></em>
とする必要があり、実際のデータ(val部分)にアクセスする場合も

<em><strong>/************************/
VARDATA(a);
/************************/</strong></em>

とします。全てマクロ経由でアクセスしないとダメということです。
</p>

<h3>２． 他で定義されている関数の呼び出し</h3>
<p>
今回は暗号化するということで、pg_cryptoモジュールで定義されている
pgp_sym_encrypt/decryptを使用しましたが、これらのプロトタイプ宣言は

<em><strong>/************************/
Datum pgp_sym_encrypt(PG_FUNCTION_ARGS)
/************************/</strong></em>

となっています。pgp_sym_encryptの内部では

<em><strong>/************************/
bytea* pgp_sym_encrypt(const char *str, const char *pass, const char *cipher_algo);
/************************/</strong></em>

と同等なのですが、この形式で呼び出すことはできません。
なんとかして暗号化対象文字列をPG_FUNCTION_ARGS形式に変換する必要があるのですが、、
仕方なく、PostgreSQLのソースコードに潜ると・・・
こんなものがありました。

<em><strong>/************************/
Datum DirectFunctionCall3(関数ポインタ, Datum, Datum, Datum);
/************************/</strong></em>

Call3の部分は、渡す引数の数に応じて1～5まであります。
これを使えば、引数がPG_FUNCTION_ARGSで定義されている関数を呼び出すことができます。
</p>

<h3>３．メモリリーク対策</h3>
<p>
PostgreSQLのメモリ確保は、pallocを使用します。
これを使うと、１回のクエリ(トランザクション)終了時に使用していたメモリを解放してくれるので
基本的にメモリリークはありません。
ただし、戻り値以外の変数領域確保にpallocを使った場合は、ちゃんとpfreeで解放する必要があり  ます。
</p>


次回は、作成したC言語関数を登録する際にハマったことを書く予定です。

]]></description>
         <link>http://shain.blog.conextivo.com/2010/05/postgresql.html</link>
         <guid>http://shain.blog.conextivo.com/2010/05/postgresql.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">01_開発のお部屋</category>
        
        
         <pubDate>Tue, 11 May 2010 09:42:53 +0900</pubDate>
      </item>
            <item>
         <title>Copa Mundial de la FIFA Sudáfrica2010</title>
         <description><![CDATA[UEFAチャンピオンズリーグの決勝の組み合わせも決まった今日この頃、仕事に関係ない話でも。

<img alt="%E3%82%A4%E3%83%B3%E3%83%86%E3%83%AB.jpg" src="http://shain.blog.conextivo.com/%E3%82%A4%E3%83%B3%E3%83%86%E3%83%AB.jpg" width="241" height="136" />


とうとうやってきましたね！！この時期が！
4年に一度の祭典！！

国と国との代理戦争！！

世界最大のスポーツ大会！！

<strong>それこそがFIFAワールドカップです。</strong>
注）スパイクではありませんよ。
ポルトガル語では、「コパ・ムンディアル」と言います。

日本でもサッカーに詳しい人は、こう言います。

なぜならワールド・カップを省略すると・・・・・、
WC

カッコ悪いです。(トイレか！！)

COPA　MUNDIAL
省略すると、
CM

カッコ良いです！！



ここから更に熱くいきます！！]]></description>
         <link>http://shain.blog.conextivo.com/2010/04/copa_mundial_de_la_fifa_sudafr.html</link>
         <guid>http://shain.blog.conextivo.com/2010/04/copa_mundial_de_la_fifa_sudafr.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">99_たわいなき社内事情</category>
        
        
         <pubDate>Fri, 30 Apr 2010 11:21:44 +0900</pubDate>
      </item>
      
   </channel>
</rss>
