<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>されどLAMPな日々</title>
	<atom:link href="http://blog.lamp-introduction.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.lamp-introduction.com</link>
	<description></description>
	<lastBuildDate>Mon, 15 Feb 2010 03:59:23 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.lamp-introduction.com/feed/" />
		<item>
		<title>古典的名著に触れてみる</title>
		<link>http://blog.lamp-introduction.com/2010/02/15/%e5%8f%a4%e5%85%b8%e7%9a%84%e5%90%8d%e8%91%97%e3%81%ab%e8%a7%a6%e3%82%8c%e3%81%a6%e3%81%bf%e3%82%8b/</link>
		<comments>http://blog.lamp-introduction.com/2010/02/15/%e5%8f%a4%e5%85%b8%e7%9a%84%e5%90%8d%e8%91%97%e3%81%ab%e8%a7%a6%e3%82%8c%e3%81%a6%e3%81%bf%e3%82%8b/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 03:59:23 +0000</pubDate>
		<dc:creator>taro</dc:creator>
				<category><![CDATA[LAMP奮闘記]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[徒然なるままに…]]></category>

		<guid isPermaLink="false">http://blog.lamp-introduction.com/?p=1185</guid>
		<description><![CDATA[以前から、自分が尊敬している方のブログ等々で紹介されており、「いつか読みたいな～」と思っていた書籍を某巨大書店にて発見したので遂に購入しました。
発売は今から約10年前とコンピュータの世界では遥かなる昔にあたるのですが、 [...]]]></description>
			<content:encoded><![CDATA[<p>以前から、自分が尊敬している方のブログ等々で紹介されており、「いつか読みたいな～」と思っていた書籍を某巨大書店にて発見したので遂に購入しました。</p>
<p>発売は今から約10年前とコンピュータの世界では遥かなる昔にあたるのですが、書かれている内容は今でも全く色褪せず、様々な示唆に富んでいます。</p>
<p><a href="http://blog.lamp-introduction.com/wp-content/uploads/2010/02/book.jpg" rel="lightbox"><img class="aligncenter size-full wp-image-1186" title="UNIXという考え方" src="http://blog.lamp-introduction.com/wp-content/uploads/2010/02/book.jpg" alt="UNIXという考え方" width="240" height="240" /></a></p>
<p>曰く「Small is beautiful」。1つのプログラムには1つのことをうまくやらせる。小さなプログラムを上手く組み合わせて、梃子の効果で大きな機能を実現する。</p>
<p>自分が書くコードはそういう概念をしっかり実現出来ているかな??まだまだだなぁ…。道は険しく果てしないなぁ…。と、自分の無力さを痛感させられる一面も持ち合わせていますが、それでも先人の叡智の息吹がそこかしこに感じられる良書だと感じます。</p>
<p>最近、「特定の分野に特化したCMS」というものを友人と一緒に作り始めたのですが、その実装を考えるうえで非常に良いタイミングで読了したものだと思います。ページ数もそんなに多くないので、UNIX系のOS(つまりLinux)を触る方は是非是非一度手に取って、その思想・哲学に触れてみてはいかがでしょうか。</p>
<p>個人的に一番印象に残っている(記憶で書きますので実際の文章どおりではないですが!!)のは「普通は銃で足を打ち抜かない為に、いかに銃に触れさせないかを考える。ところがUNIXは、銃に弾を込めて尚且つ銃口を足元に向けて銃を渡す」という表現でした。これは、普段足を打ち抜きまくっている人ほど共感出来る表現ではないでしょうか^^</p>
<p>そのリスクと共に与えられる「完全な自由」。これこそUNIX(Linux)の最大の魅力ではなかろうか、と様々な思いを巡らせつつ、再びコードの海へと飛び込むのでした。</p>
<p>今日はここまで。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lamp-introduction.com/2010/02/15/%e5%8f%a4%e5%85%b8%e7%9a%84%e5%90%8d%e8%91%97%e3%81%ab%e8%a7%a6%e3%82%8c%e3%81%a6%e3%81%bf%e3%82%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.lamp-introduction.com/2010/02/15/%e5%8f%a4%e5%85%b8%e7%9a%84%e5%90%8d%e8%91%97%e3%81%ab%e8%a7%a6%e3%82%8c%e3%81%a6%e3%81%bf%e3%82%8b/" />
	</item>
		<item>
		<title>PHPのstrtotime()関数で日付を導出してみる</title>
		<link>http://blog.lamp-introduction.com/2010/02/03/php%e3%81%aestrtotime%e9%96%a2%e6%95%b0%e3%81%a7%e6%97%a5%e4%bb%98%e3%82%92%e5%b0%8e%e5%87%ba%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/</link>
		<comments>http://blog.lamp-introduction.com/2010/02/03/php%e3%81%aestrtotime%e9%96%a2%e6%95%b0%e3%81%a7%e6%97%a5%e4%bb%98%e3%82%92%e5%b0%8e%e5%87%ba%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 03:07:38 +0000</pubDate>
		<dc:creator>taro</dc:creator>
				<category><![CDATA[LAMP奮闘記]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[まぎれもなくただのメモ]]></category>

		<guid isPermaLink="false">http://blog.lamp-introduction.com/?p=1179</guid>
		<description><![CDATA[PHPはやはり便利だなぁ、と痛感したついでにメモ。
先日の郵便番号データですが、日本郵便さんのHPで毎月初めに差分データを公開してくださっています。
削除対象データと追加対象データがそれぞれ別CSVとしてDLできますが、 [...]]]></description>
			<content:encoded><![CDATA[<p>PHPはやはり便利だなぁ、と痛感したついでにメモ。</p>
<p>先日の郵便番号データですが、<a href="http://www.post.japanpost.jp/zipcode/download.html" target="_blank">日本郵便さんのHP</a>で毎月初めに差分データを公開してくださっています。</p>
<p>削除対象データと追加対象データがそれぞれ別CSVとしてDLできますが、そのファイル名は以下のような感じです。</p>
<ul>
<li>削除データファイル名・・・DEL_yymm.CSV</li>
<li>追加データファイル名・・・ADD_yymm.CSV</li>
</ul>
<p>この差分データをPHPスクリプトでSQLiteに反映させてしまおう、と考えてコードを書いてみたのですが、検証でいきなりつまづきました＞＜</p>
<p>上記のデータは「毎月月初」に「前月分」として公開されるので、例えば今月(2010/02)では、ファイル名は以下になります。</p>
<ul>
<li>削除データファイル名・・・DEL_1001.CSV</li>
<li>追加データファイル名・・・ADD_1001.CSV</li>
</ul>
<p>まずは、このファイルの存在チェックを行おうと書いたコードはコチラです。</p>
<pre class="brush: php">
$str = date(&#039;ym&#039;);
$addFile = sprintf(&#039;ADD_%s.CSV&#039;, $str);
$delFile = sprintf(&#039;DEL_%s.CSV&#039;, $str);</pre>
<p>で、この変数をvar_dump()などしてみると、2月なので当然こうなります。</p>
<pre class="brush: php">
var_dump($addFile, $delFile);
string(12) &quot;ADD_1002.CSV&quot;
string(12) &quot;DEL_1002.CSV&quot;</pre>
<p>う～ん、これでは希望するファイルの存在チェックは出来ないですね。date()関数の第2引数にはtimestampを渡せるので、自前で現在からn日前のtimestampを計算して渡してやらないとダメかな??などと考えたのですが、そこはPHP。さすがPHP。</p>
<p>strtotime()関数の引数として「予約キー」というのを指定してやれば、相当柔軟にtimestampが求められるみたいです。</p>
<p>今回のケースではこれでOK。</p>
<pre class="brush: php">$str = date(&#039;ym&#039;, strtotime(&#039;-1 month&#039;));</pre>
<p>ちなみに公式マニュアルの例によると、以下のような指定が可能みたいです。</p>
<pre class="brush: php">&lt;?php
echo strtotime(&quot;now&quot;), &quot;\n&quot;;
echo strtotime(&quot;10 September 2000&quot;), &quot;\n&quot;;
echo strtotime(&quot;+1 day&quot;), &quot;\n&quot;;
echo strtotime(&quot;+1 week&quot;), &quot;\n&quot;;
echo strtotime(&quot;+1 week 2 days 4 hours 2 seconds&quot;), &quot;\n&quot;;
echo strtotime(&quot;next Thursday&quot;), &quot;\n&quot;;
echo strtotime(&quot;last Monday&quot;), &quot;\n&quot;;
?&gt;</pre>
<p>相当柔軟で実に便利ですね!!</p>
<p>以下のエントリも参考にさせていただきました^^</p>
<p><a href="http://rockstock2008.blog17.fc2.com/blog-entry-8.html" target="_blank">【PHP】 date()で簡単に1ヵ月後や１ヶ月前の日付を簡単に出力する</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lamp-introduction.com/2010/02/03/php%e3%81%aestrtotime%e9%96%a2%e6%95%b0%e3%81%a7%e6%97%a5%e4%bb%98%e3%82%92%e5%b0%8e%e5%87%ba%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.lamp-introduction.com/2010/02/03/php%e3%81%aestrtotime%e9%96%a2%e6%95%b0%e3%81%a7%e6%97%a5%e4%bb%98%e3%82%92%e5%b0%8e%e5%87%ba%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/" />
	</item>
		<item>
		<title>SQLiteにCSVデータをインポートしてみる</title>
		<link>http://blog.lamp-introduction.com/2010/01/28/sqlite%e3%81%abcsv%e3%83%87%e3%83%bc%e3%82%bf%e3%82%92%e3%82%a4%e3%83%b3%e3%83%9d%e3%83%bc%e3%83%88%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/</link>
		<comments>http://blog.lamp-introduction.com/2010/01/28/sqlite%e3%81%abcsv%e3%83%87%e3%83%bc%e3%82%bf%e3%82%92%e3%82%a4%e3%83%b3%e3%83%9d%e3%83%bc%e3%83%88%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 09:07:03 +0000</pubDate>
		<dc:creator>taro</dc:creator>
				<category><![CDATA[LAMP奮闘記]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[まぎれもなくただのメモ]]></category>

		<guid isPermaLink="false">http://blog.lamp-introduction.com/?p=1175</guid>
		<description><![CDATA[年頭最初の月から「月に2桁エントリ」という目標が崩れてしまいそうですが…。
最近ちょこちょこ触り始めたSQLiteですが、想像以上にしっかりしたデータベースのようで、今のところ「こんな事は出来るのかな??」という希望は全 [...]]]></description>
			<content:encoded><![CDATA[<p>年頭最初の月から「月に2桁エントリ」という目標が崩れてしまいそうですが…。</p>
<p>最近ちょこちょこ触り始めたSQLiteですが、想像以上にしっかりしたデータベースのようで、今のところ「こんな事は出来るのかな??」という希望は全て実現出来ています。</p>
<p>アレコレ触ると当然やりたくなってくるのが「データのインポート」。という事で、以下CSVデータをインポートする際の手順です。</p>
<p>今回は郵便番号関連のデータが格納されたCSVデータ(カンマ区切り)を取り込みたかったので、zipcode.dbというファイルに以下のようなテーブルを作ってみました。</p>
<pre class="brush: sql">CREATE TABLE zipcode (

ZipCode TEXT NOT NULL,

Prefecture TEXT NOT NULL,

City TEXT NOT NULL,

Address TEXT NOT NULL);</pre>
<p>こんな構造のテーブルならDBを利用する意味はあるのか??というのは置いといて、sqlite3コマンドで以下のように実行します。</p>
<pre>;; SQLiteにはユーザーの概念が無いそうです
$ sqlite3 zipcode.db

;; 現在のステータスを確認します
sqlite&gt; .show
 echo: off
 explain: off
 headers: off
 mode: list
 nullvalue: ""
 output: stdout
 separator: "|"
 width:

;; インポート時の区切り文字を変更しておきます
sqlite&gt; .separator ,

;; インポートを実行します
sqlite&gt; .import /path/to/file TABLE_NAME
</pre>
<p>これだけでインポート完了です。楽チンです。</p>
<p>「.help」コマンドでヘルプが表示されますが、「.～」で色々な設定や表示が出来るようですね。</p>
<p>ちょっとしたアプリケーションのデータ管理方法として、役立つような気がします。</p>
<p>…と、ここまでやって「郵便番号はユニークなデータではない」という事を知った(異なる町名で同じ郵便番号が存在する)のですが、それはまた別のお話という事で。</p>
<p>今日はここまで。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lamp-introduction.com/2010/01/28/sqlite%e3%81%abcsv%e3%83%87%e3%83%bc%e3%82%bf%e3%82%92%e3%82%a4%e3%83%b3%e3%83%9d%e3%83%bc%e3%83%88%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.lamp-introduction.com/2010/01/28/sqlite%e3%81%abcsv%e3%83%87%e3%83%bc%e3%82%bf%e3%82%92%e3%82%a4%e3%83%b3%e3%83%9d%e3%83%bc%e3%83%88%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/" />
	</item>
		<item>
		<title>Firefox 3.6がリリースされました</title>
		<link>http://blog.lamp-introduction.com/2010/01/22/firefox-3-6%e3%81%8c%e3%83%aa%e3%83%aa%e3%83%bc%e3%82%b9%e3%81%95%e3%82%8c%e3%81%be%e3%81%97%e3%81%9f/</link>
		<comments>http://blog.lamp-introduction.com/2010/01/22/firefox-3-6%e3%81%8c%e3%83%aa%e3%83%aa%e3%83%bc%e3%82%b9%e3%81%95%e3%82%8c%e3%81%be%e3%81%97%e3%81%9f/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 02:52:28 +0000</pubDate>
		<dc:creator>taro</dc:creator>
				<category><![CDATA[徒然なるままに…]]></category>

		<guid isPermaLink="false">http://blog.lamp-introduction.com/?p=1171</guid>
		<description><![CDATA[久しぶりの更新なのに、単なるミーハーエントリです。
個人的に、OSSという文化のイコン(象徴)であると思っているWebブラウザ「Firefox」の最新バージョンが、本日未明にリリースされました!!
新しい機能としては、ワ [...]]]></description>
			<content:encoded><![CDATA[<p>久しぶりの更新なのに、単なるミーハーエントリです。</p>
<p>個人的に、OSSという文化のイコン(象徴)であると思っているWebブラウザ「Firefox」の最新バージョンが、本日未明にリリースされました!!</p>
<p>新しい機能としては、ワンクリックでテーマの変更が可能になったり、javascript(余談ですがjQueryはスゴイですね!!jQueryのお陰で、苦手だったjavascriptに取り組めそうです)の実行速度がさらに改善されていたり、と様々ありますが、詳細はこれからどんどん様々な記事やブログで言及されていくと思われますので割愛(逃避??)いたします。</p>
<p>OSSとFirefoxを愛するユーザーの皆様は、是非灯(ともしび)を灯しましょう!!</p>
<p style="padding-left: 30px;">Firefox 3.6をダウンロード・・・<a href="http://mozilla.jp/firefox/" target="_blank">http://mozilla.jp/firefox/</a></p>
<p style="padding-left: 30px;">Firefox3.6の灯・・・<a href="http://tomoshibi.mozilla.jp/">http://tomoshibi.mozilla.jp/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lamp-introduction.com/2010/01/22/firefox-3-6%e3%81%8c%e3%83%aa%e3%83%aa%e3%83%bc%e3%82%b9%e3%81%95%e3%82%8c%e3%81%be%e3%81%97%e3%81%9f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.lamp-introduction.com/2010/01/22/firefox-3-6%e3%81%8c%e3%83%aa%e3%83%aa%e3%83%bc%e3%82%b9%e3%81%95%e3%82%8c%e3%81%be%e3%81%97%e3%81%9f/" />
	</item>
		<item>
		<title>MySQLクライアントを使いやすくしてみる</title>
		<link>http://blog.lamp-introduction.com/2010/01/09/mysql%e3%82%af%e3%83%a9%e3%82%a4%e3%82%a2%e3%83%b3%e3%83%88%e3%82%92%e4%bd%bf%e3%81%84%e3%82%84%e3%81%99%e3%81%8f%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/</link>
		<comments>http://blog.lamp-introduction.com/2010/01/09/mysql%e3%82%af%e3%83%a9%e3%82%a4%e3%82%a2%e3%83%b3%e3%83%88%e3%82%92%e4%bd%bf%e3%81%84%e3%82%84%e3%81%99%e3%81%8f%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/#comments</comments>
		<pubDate>Sat, 09 Jan 2010 03:57:28 +0000</pubDate>
		<dc:creator>taro</dc:creator>
				<category><![CDATA[LAMP奮闘記]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[まぎれもなくただのメモ]]></category>

		<guid isPermaLink="false">http://blog.lamp-introduction.com/?p=1168</guid>
		<description><![CDATA[MySQLのMLにて知ったのですが、素敵なハックだったので勝手にご紹介。
mysqlクライアントを利用してデータベースに接続すると、通常は以下のようになります。
$ mysql -u root -p
Enter pass [...]]]></description>
			<content:encoded><![CDATA[<p>MySQLのMLにて知ったのですが、素敵なハックだったので勝手にご紹介。</p>
<p>mysqlクライアントを利用してデータベースに接続すると、通常は以下のようになります。</p>
<pre>$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 44
Server version: 5.1.37-1ubuntu5 (Ubuntu)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql&gt;</pre>
<p>気軽にrootでログインしてしまう事の是非は置きまして、このプロンプトの「mysql&gt;」の表示が、my.cnfに設定を記述する事でカスタマイズ可能だそうです。</p>
<p>/etc/mysql/my.cnf(Fedoraなら/etc/my.cnf)内の[mysql]セクションに以下を追記します。</p>
<pre>[mysql]
prompt=[\d]&gt; \</pre>
<p>これで、再度ログインしてみると以下のように「mysql」の代わりにDB名が表示されるようになります。</p>
<pre>$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 46
Server version: 5.1.37-1ubuntu5 (Ubuntu)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

[(none)]&gt; USE information_schema;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
[information_schema]&gt;</pre>
<p>これだとどのデータベースを操作中か一目瞭然なので、誤操作防止に役立ちそうですね。他にも色々と柔軟にカスタマイズ出来るようです^^</p>
<p>普段はphpMyAdminのSQLウインドウからSQLを発行する事が多いのですが、早速Ubuntu/Fedoraに設定してみようと思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lamp-introduction.com/2010/01/09/mysql%e3%82%af%e3%83%a9%e3%82%a4%e3%82%a2%e3%83%b3%e3%83%88%e3%82%92%e4%bd%bf%e3%81%84%e3%82%84%e3%81%99%e3%81%8f%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.lamp-introduction.com/2010/01/09/mysql%e3%82%af%e3%83%a9%e3%82%a4%e3%82%a2%e3%83%b3%e3%83%88%e3%82%92%e4%bd%bf%e3%81%84%e3%82%84%e3%81%99%e3%81%8f%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/" />
	</item>
		<item>
		<title>2010年の目標を立ててみる</title>
		<link>http://blog.lamp-introduction.com/2010/01/04/2010%e5%b9%b4%e3%81%ae%e7%9b%ae%e6%a8%99%e3%82%92%e7%ab%8b%e3%81%a6%e3%81%a6%e3%81%bf%e3%82%8b/</link>
		<comments>http://blog.lamp-introduction.com/2010/01/04/2010%e5%b9%b4%e3%81%ae%e7%9b%ae%e6%a8%99%e3%82%92%e7%ab%8b%e3%81%a6%e3%81%a6%e3%81%bf%e3%82%8b/#comments</comments>
		<pubDate>Mon, 04 Jan 2010 14:47:07 +0000</pubDate>
		<dc:creator>taro</dc:creator>
				<category><![CDATA[徒然なるままに…]]></category>

		<guid isPermaLink="false">http://blog.lamp-introduction.com/?p=1165</guid>
		<description><![CDATA[明けましておめでとうございます。
というにはちょっと時期をハズしてしまっている感もありますが、まぁ今年も相変わらずのマイペースでやっていこうかな、とそんな感じだったりします。
さて、昨年年末はWordPressを何も考え [...]]]></description>
			<content:encoded><![CDATA[<p>明けましておめでとうございます。</p>
<p>というにはちょっと時期をハズしてしまっている感もありますが、まぁ今年も相変わらずのマイペースでやっていこうかな、とそんな感じだったりします。</p>
<p>さて、昨年年末はWordPressを何も考えずにアップグレードしたら管理画面にログイン出来なくなってしまう、というウッカリ度合大爆発の事態に遭遇し、再インストールしてみたり、ついでにURLをサブドメインにしてみたり、とやっている内に終わってしまいました。</p>
<p>本来なら自分自身の1年を振り返る時間なんかも設けたかったのですが、人生なかなか上手くはいかないものです(^^;</p>
<p>過ぎた事はキレイサッパリ忘れて、2010年のテーマは「ヤルヤル詐欺撲滅!!」という事で、口に出したりエントリで言及した事についてはキチンと行動に移す1年にすべく精進したいと思います。</p>
<p>具体的な目標はカテゴリ別に分けて以下のようにしました。</p>
<p><span style="text-decoration: underline;"><strong>サーバ</strong></span></p>
<ul>
<li>LPIC(level1)を年内にチャレンジ&amp;取得</li>
<li>自宅サーバをイチから再構築</li>
<li>TCP/IPやネットワークといった低レイヤーの学習</li>
</ul>
<p><span style="text-decoration: underline;"><strong>プログラミング</strong></span></p>
<ul>
<li>PHP/CodeIgniterをもっと自在に使いこなす</li>
<li>PythonでGUIアプリを作れるようになる</li>
<li>C言語を理解する為に、Cで作られたOSSのソースを読む</li>
<li>jQuery(javascript)と正面から向き合う</li>
<li>書いたコードをどんどん公開する</li>
</ul>
<p><span style="text-decoration: underline;"><strong>その他</strong></span></p>
<ul>
<li>geditからemacsに完全移行する</li>
<li>ブログのエントリは毎月2桁を目指す</li>
<li>タイミングの合う勉強会には積極的に参加する</li>
<li>初心を忘れない</li>
</ul>
<p><a href="http://blog.lamp-introduction.com/2009/01/04/2009%E5%B9%B4%E3%81%8C%E5%A7%8B%E3%81%BE%E3%82%8A%E3%81%BE%E3%81%97%E3%81%9F/" target="_blank">昨年の目標</a>が結構曖昧模糊としていたので、今年はもう少し具体的にしてみました。毎年言い続けるのでしょうが、やはり今年も知識・技術を貪欲に吸収して自分の力に転化していく1年でありたいものですね。</p>
<p>未だ遠い遠い目標である「オープンソースコミュニティへの技術的貢献」にたどり着く為、日々是精進で歩んでいきますので、このブログを読んでいただいている物好き(?)な皆様、今年もよろしくお願いいたします。</p>
<p>さて、まずは年末年始で全く着手出来なかった(gitリポジトリは作りました)「家計簿アプリ」に挑戦です!!</p>
<p>今日はここまで。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lamp-introduction.com/2010/01/04/2010%e5%b9%b4%e3%81%ae%e7%9b%ae%e6%a8%99%e3%82%92%e7%ab%8b%e3%81%a6%e3%81%a6%e3%81%bf%e3%82%8b/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.lamp-introduction.com/2010/01/04/2010%e5%b9%b4%e3%81%ae%e7%9b%ae%e6%a8%99%e3%82%92%e7%ab%8b%e3%81%a6%e3%81%a6%e3%81%bf%e3%82%8b/" />
	</item>
		<item>
		<title>MySQLに少しでも恩返ししてみる</title>
		<link>http://blog.lamp-introduction.com/2009/12/15/mysql%e3%81%ab%e5%b0%91%e3%81%97%e3%81%a7%e3%82%82%e6%81%a9%e8%bf%94%e3%81%97%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/</link>
		<comments>http://blog.lamp-introduction.com/2009/12/15/mysql%e3%81%ab%e5%b0%91%e3%81%97%e3%81%a7%e3%82%82%e6%81%a9%e8%bf%94%e3%81%97%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 15:54:32 +0000</pubDate>
		<dc:creator>taro</dc:creator>
				<category><![CDATA[LAMP奮闘記]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://lamp-introduction.com/wordpress/?p=1160</guid>
		<description><![CDATA[というワケで、twitter経由で知りましたがMySQLの開発者であるMichael Widenius氏(愛称はMontyだそうです)が、MySQLユーザーに対して支援を要請するメッセージを公開されたそうです。
Mont [...]]]></description>
			<content:encoded><![CDATA[<p>というワケで、twitter経由で知りましたがMySQLの開発者であるMichael Widenius氏(愛称はMontyだそうです)が、MySQLユーザーに対して支援を要請するメッセージを公開されたそうです。</p>
<p style="padding-left: 30px;"><a href="http://d.hatena.ne.jp/sakaik/20091213/montys_request" target="_blank">MontyがMySQLユーザーに支援要請</a></p>
<p>原文はコチラ。</p>
<p style="padding-left: 30px;"><a href="http://monty-says.blogspot.com/2009/12/help-saving-mysql.html" target="_blank">Help savng MySQL</a></p>
<p>今年の前半(でしたっけ??)にOSS界隈を賑わせたOracleによるSunの買収騒動以来、MySQLの今後はどうなるのだろう??と気になっていましたが、なかなか微妙な状況なのでしょうか。</p>
<p>技術的な貢献が出来るでもなし、何の影響力も持たないちっぽけな存在ではありますが、OSSコミュニティの端っこでヒッソリとその恩恵を享受させていただいている人間として、何か少しでもお役に立てないか??という思いからのエントリです。</p>
<p>PHPとMySQLの組み合わせは、自分で何かを作ってみる時にはしょっちゅうお世話になっていますし、最近仕事で取っ組んでいるPostgreSQLと比較しても使いやすい(!= 使いこなしている)と個人的に思っています。まぁ「慣れ」もあるのでしょうが。</p>
<p>栄枯盛衰は世の常ですが、MySQLのようなOSSの代表格がクローズドソース化してしまうのは非常に寂しくありますので、何とか今後もオープンソースとして開発が継続されていく事を願って止みません。</p>
<p>オープンソースの世界にもっともっと貢献出来るようになるには、やはりC言語の学習&amp;実践を、忙しいからなどと言い訳せずに取り組んでいかなくてはイケナイなぁ、などと身の引き締まる思いなのでした(Pythonも忘れてはいませんよ!!)。</p>
<p>最後に、このエントリを書いている途中でこれまたtwitterのTLで知った以下の記事も紹介して今日はここまで。</p>
<p style="padding-left: 30px;"><a href="http://www.itmedia.co.jp/enterprise/articles/0912/14/news083.html" target="_blank">Oracle、MySQLに関する10の約束を発表</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lamp-introduction.com/2009/12/15/mysql%e3%81%ab%e5%b0%91%e3%81%97%e3%81%a7%e3%82%82%e6%81%a9%e8%bf%94%e3%81%97%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.lamp-introduction.com/2009/12/15/mysql%e3%81%ab%e5%b0%91%e3%81%97%e3%81%a7%e3%82%82%e6%81%a9%e8%bf%94%e3%81%97%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/" />
	</item>
		<item>
		<title>Fedora 12でcompizを動かしてみる</title>
		<link>http://blog.lamp-introduction.com/2009/12/14/fedora-12%e3%81%a7compiz%e3%82%92%e5%8b%95%e3%81%8b%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/</link>
		<comments>http://blog.lamp-introduction.com/2009/12/14/fedora-12%e3%81%a7compiz%e3%82%92%e5%8b%95%e3%81%8b%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/#comments</comments>
		<pubDate>Sun, 13 Dec 2009 18:23:18 +0000</pubDate>
		<dc:creator>taro</dc:creator>
				<category><![CDATA[LAMP奮闘記]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[当たって砕けろFedora]]></category>

		<guid isPermaLink="false">http://lamp-introduction.com/wordpress/?p=1154</guid>
		<description><![CDATA[相当悩んだ割に原因は単純な事でしたが、折角なので備忘録。
GNOMEとcompizの組み合わせは最高のGUIではないかと個人的に思っています。アレコレ作業する時は専らテキストエディタと端末ばかりなのですが、そんな中で素敵 [...]]]></description>
			<content:encoded><![CDATA[<p>相当悩んだ割に原因は単純な事でしたが、折角なので備忘録。</p>
<p>GNOMEとcompizの組み合わせは最高のGUIではないかと個人的に思っています。アレコレ作業する時は専らテキストエディタと端末ばかりなのですが、そんな中で素敵なアニメーションによる動きは一服の清涼剤になってくれますよね。</p>
<p>ところが、Fedora 12ではcompizが思うように動いてくれないという状況に先日からズッと悩んでおりました。取りあえずcompiz関連のパッケージをインストールして、以下のような状況で「システム」→「デスクトップ効果」から「compiz」を選択。</p>
<pre># rpm -qa | grep compiz
compiz-fusion-0.8.2-4.fc12.x86_64
compiz-devel-0.8.2-19.fc12.x86_64
libcompizconfig-0.8.2-7.fc12.x86_64
compiz-gnome-0.8.2-19.fc12.x86_64
compizconfig-python-0.8.2-2.fc12.x86_64
compiz-manager-0.6.0-10.fc12.noarch
compiz-fusion-extras-gnome-0.8.2-2.fc12.x86_64
compizconfig-backend-gconf-0.8.2-2.fc12.x86_64
compiz-fusion-extras-0.8.2-2.fc12.x86_64
compiz-fusion-extras-devel-0.8.2-2.fc12.x86_64
compiz-0.8.2-19.fc12.x86_64
compiz-fusion-gnome-0.8.2-4.fc12.x86_64
compiz-fusion-devel-0.8.2-4.fc12.x86_64</pre>
<p>で、設定ツールである「ccsm」もyumでインストールしてありましたので、そこで色々設定すればcompizの豊富なエフェクトが有効になるはず!!…なのですが、コレが全く有効にならない。ことごとく無視されてしまいます。</p>
<p>上記の「デスクトップ効果」でチェックを入れた「揺れるウインドウ」と「キューブの回転」だけは有効になっているのですが、その2つの設定値をイジってみてもやはり無視されます。</p>
<p>そもそも、このデスクトップ効果ってやつが邪魔なのかな??と考え、</p>
<pre># yum remove desktop-effects</pre>
<p>などとしてみると、全てのデスクトップ効果がかき消されてしまう始末。</p>
<p>何かがおかしいのは分かっているのですが、どこが原因か分からないので取り敢えず「find / -name compiz」などとしてみて、見つかったディレクトリにあるxmlファイルを眺めてみましたがどうもビンゴではなさそう…。</p>
<p>相当悩んだ挙げ句、問題なくブリブリ動いてくれているUbuntuのcompiz関連の設定ファイルと比較してみると遂に原因発見!!「$HOME/.config/compiz/compizconfig/config」の中を覗いてみると、</p>
<pre>[gnome-session]
backend = ini
profile =</pre>
<p>となっています。どうやらこの「ini」という記述があると、同階層の「Default.ini」を見に行くようです。で、検証はしておりませんが、この「Default.ini」が「デスクトップ効果」を選択した時に作成される(のでしょうかね??)。そこで、上記のファイルから「backend = ini」の行をスッパリ削除。ついでに「Default.ini」もリネームして再ログインしてみると…。</p>
<p>遂にcompizが設定どおりに動きました!!^^</p>
<p>結局は自分の無知ゆえの設定の甘さが原因だったワケですが、かれこれ1週間は悩んでいたと思いますので喜びも一入です。お陰でcompizにますます愛着が湧いてしまい、最初だけイジッて後はデフォルト放置していた3D効果をアレコレ設定してみて、新たな発見にワクワクしています。</p>
<p>上記のようなハマリ方をするFedoraユーザーはおられないでしょうが、備忘録を兼ねて恥さらしとしておきます。</p>
<p>次はemobileかDoCoMoのデータ通信をノートPCで利用したいなぁ、などと企んでいるのですが、またもや躓きそうな予感(^^;</p>
<p>それでもメゲる事なくLinux Lifeを楽しみたいと思います。</p>
<p>今日はここまで。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lamp-introduction.com/2009/12/14/fedora-12%e3%81%a7compiz%e3%82%92%e5%8b%95%e3%81%8b%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.lamp-introduction.com/2009/12/14/fedora-12%e3%81%a7compiz%e3%82%92%e5%8b%95%e3%81%8b%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/" />
	</item>
		<item>
		<title>Fedora 12にOpera10.10をインストールしてみる</title>
		<link>http://blog.lamp-introduction.com/2009/12/09/fedora-12%e3%81%abopera10-10%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/</link>
		<comments>http://blog.lamp-introduction.com/2009/12/09/fedora-12%e3%81%abopera10-10%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 15:55:49 +0000</pubDate>
		<dc:creator>taro</dc:creator>
				<category><![CDATA[LAMP奮闘記]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[当たって砕けろFedora]]></category>

		<guid isPermaLink="false">http://lamp-introduction.com/wordpress/?p=1150</guid>
		<description><![CDATA[最近ひたすらメモばかりなので、久々に真面目(?)にエントリ。
Chromiumの起動の速さとレンダリングの快適さが気に入ってセカンダリブラウザとして利用していたのですが、以下の記事を読んで感銘を受けたりなんかして、見事O [...]]]></description>
			<content:encoded><![CDATA[<p>最近ひたすらメモばかりなので、久々に真面目(?)にエントリ。</p>
<p>Chromiumの起動の速さとレンダリングの快適さが気に入ってセカンダリブラウザとして利用していたのですが、以下の記事を読んで感銘を受けたりなんかして、見事Operaがセカンダリブラウザにカムバック。文体を大人っぽく変えてみたところでやっぱり骨の髄までミーハーなのです(^^;</p>
<p style="padding-left: 30px;"><a href="http://www.atmarkit.co.jp/fwcr/design/benkyo/html5_03/01.html" target="_blank">HTML5はFlashやSilverlightを不要なものにする</a></p>
<p>さて、Operaはさすがにオープンソースと親和性の高いブラウザだけあって<a href="http://jp.opera.com/" target="_blank">公式サイト</a>でLinux用のパッケージファイルが用意されています。今回はFedora 12にインストールしたいので、RPMパッケージ(早くもFedora 12までサポートしてくれているようです)をダウンロード。</p>
<p>ソースからインストールするのも楽しいのですが、クリックするだけでインストール開始してくれるRPMパッケージの便利さも捨て難いです(rpmコマンドを使え、というツッコミは無しの方向で…)。</p>
<p>で、インストールが終わったら早速起動してみたくなるものですが、ここで想定外のエラー発生。アイコンをクリックしても何の反応も無いので、コマンドから起動しようと思ったらこんなメッセージが。</p>
<pre>$ /usr/bin/opera
/usr/lib/opera/opera:
error while loading shared libraries: libqt-mt.so.3:
cannot open shared object file: No such file or directory</pre>
<p>libqt-mt.so.3なるライブラリが無いとおっしゃられます。qtと書いてあるし、単純にQtのパッケージをインストールすれば良いのかな??と、「yum install qt」などとやってみても相変わらず起動せず…。</p>
<p>困ったなぁ、と思っているとRPMのファイル名が</p>
<pre>opera-10.10.gcc4.shared.qt3.x86_64.rpm</pre>
<p>となっているのに気づきました。アレ??yumで入れたQtは4.x.xとなっていたような…、と思い、今度は「yum install qt3」としてみました。これでもう一度Operaを起動してみると…</p>
<p>無事動いてくれました^^</p>
<p>qt3とqtがインストールされている状況はどうなのか??という疑問が残りますが、今のところ各アプリも問題なく動いてくれているので良しとしておきます。</p>
<p>後は、Compizが動いてくれたら万々歳なのですが…。我が家のノートPCではccsmで色々設定してみても全て無視されてしまいます。「デスクトップ効果」の設定がクサいのでは??と推測している(そこでチェックしたものだけは動くので)のですがどうなのでしょうね??折角全てが透明なOSを使っているので、時間がとれたらその辺を調べて自己解決に挑戦してみたいところです。</p>
<p>最近CやPythonの勉強が全く出来ていないのが寂しくもありますが、今日はここまで。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lamp-introduction.com/2009/12/09/fedora-12%e3%81%abopera10-10%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.lamp-introduction.com/2009/12/09/fedora-12%e3%81%abopera10-10%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/" />
	</item>
		<item>
		<title>PHPでファイルの拡張子を調べる</title>
		<link>http://blog.lamp-introduction.com/2009/12/07/php%e3%81%a7%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%81%ae%e6%8b%a1%e5%bc%b5%e5%ad%90%e3%82%92%e8%aa%bf%e3%81%b9%e3%82%8b/</link>
		<comments>http://blog.lamp-introduction.com/2009/12/07/php%e3%81%a7%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%81%ae%e6%8b%a1%e5%bc%b5%e5%ad%90%e3%82%92%e8%aa%bf%e3%81%b9%e3%82%8b/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 04:09:12 +0000</pubDate>
		<dc:creator>taro</dc:creator>
				<category><![CDATA[LAMP奮闘記]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[まぎれもなくただのメモ]]></category>

		<guid isPermaLink="false">http://lamp-introduction.com/wordpress/?p=1147</guid>
		<description><![CDATA[アップロードされたファイルや何らかの処理でファイルの拡張子を知りたい場合、.(ドット)で切り分けたり、正規表現を利用したりという方法もありそうですが、やはりそこはPHP。豊富に用意されている標準関数で何とかなりそうです。 [...]]]></description>
			<content:encoded><![CDATA[<p>アップロードされたファイルや何らかの処理でファイルの拡張子を知りたい場合、.(ドット)で切り分けたり、正規表現を利用したりという方法もありそうですが、やはりそこはPHP。豊富に用意されている標準関数で何とかなりそうです。</p>
<pre>;; 拡張子だけ知りたい場合は、第2引数を指定
$file = pathinfo(realpath('image_file.jpg'), PATHINFO_EXTENSION);
echo $file;
jpg</pre>
<p>引数以外の情報も知りたい場合は、第2引数を指定しなければ「ディレクトリ名」「ファイル名」「(存在すれば)拡張子」の配列が返ってきます(PHP5.2.0以降ではPATHINFO_FILENAMEというパラメータも追加されています)。やっぱりPHPは便利ですね^^</p>
<p>尚、アップロードされたファイルを拡張子のみで判別して処理を振り分ける、なんていうのはセキュリティ上好ましくないように思いますので、その辺りは別の対策を講じる必要がありそうですね。サーバ上でのバッチ処理なんかでは役に立ちそうです(シェルスクリプトで書けという話もある)。</p>
<p>う～ん、勉強勉強。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lamp-introduction.com/2009/12/07/php%e3%81%a7%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%81%ae%e6%8b%a1%e5%bc%b5%e5%ad%90%e3%82%92%e8%aa%bf%e3%81%b9%e3%82%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.lamp-introduction.com/2009/12/07/php%e3%81%a7%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%81%ae%e6%8b%a1%e5%bc%b5%e5%ad%90%e3%82%92%e8%aa%bf%e3%81%b9%e3%82%8b/" />
	</item>
	</channel>
</rss>
