「ジョブズ=ゲイツ対談」がビデオポッドキャストで登場
ITmedia News:「ジョブズ=ゲイツ対談」がビデオポッドキャストで登場
なかなか感慨深いものが。しかしビデオポッドキャストで600MBとかガリガリダウンロードさせるのはいかがなものかと思います(するけど)。
« 2007年05月 | メイン | 2007年07月 »
ITmedia News:「ジョブズ=ゲイツ対談」がビデオポッドキャストで登場
なかなか感慨深いものが。しかしビデオポッドキャストで600MBとかガリガリダウンロードさせるのはいかがなものかと思います(するけど)。
どうしてプログラマに・・・プログラムが書けないのか?で登場するFizz-Buzz問題を解いてみました。さあ雇え!(汗
public class FizzBuzz {
public static void main(String[] args) {
for (int i = 1; i <= 100; i++) {
System.out.print(i + " ");
if (i % 3 == 0) {
System.out.print("Fizz");
}
if (i % 5 == 0) {
System.out.print("Buzz");
}
System.out.println();
}
}
}
以下出力。
1 2 3 Fizz 4 5 Buzz 6 Fizz 7 8 9 Fizz 10 Buzz 11 12 Fizz 13 14 15 FizzBuzz 16 17 18 Fizz 19 20 Buzz 21 Fizz 22 23 24 Fizz 25 Buzz 26 27 Fizz 28 29 30 FizzBuzz 31 32 33 Fizz 34 35 Buzz 36 Fizz 37 38 39 Fizz 40 Buzz 41 42 Fizz 43 44 45 FizzBuzz 46 47 48 Fizz 49 50 Buzz 51 Fizz 52 53 54 Fizz 55 Buzz 56 57 Fizz 58 59 60 FizzBuzz 61 62 63 Fizz 64 65 Buzz 66 Fizz 67 68 69 Fizz 70 Buzz 71 72 Fizz 73 74 75 FizzBuzz 76 77 78 Fizz 79 80 Buzz 81 Fizz 82 83 84 Fizz 85 Buzz 86 87 Fizz 88 89 90 FizzBuzz 91 92 93 Fizz 94 95 Buzz 96 Fizz 97 98 99 Fizz 100 Buzz
今さらながらモンスターハンターポータブル2を始めました。実は前作のモンスターハンターポータブルをちまちまやっていたのですが、村クエスト天と地の怒りで限界を感じて2に移行しました。2では自分の限界を突破したいです。目指せジャックバウワー(汗
とりあえず一日目の成果ですが、村クエレベル1を全制覇。レベル2の密林の大怪鳥までクリアしました。 武器は鉄刀(太刀)。防具はイーオスヘルム・ゲネポスメイル・ボーンアーム・ゲネポスフォールド・ハイメタグリーブ。
2から追加された太刀結構気分爽快でいいんですが、今まで初心者の友片手剣ばっかりつかっていたので 若干違和感ありです。でもクック先生はクリアできたのでとりあえずこのままです。

ありえないくらい面白いです!
こんなにハマるゲームが!
弱体化は当然の処置
結構難しいです
おは、よろ、ういお、w、うい。すっかりお馴染み。
戦友になれます無印W-ZERO3がもっさりしてきました。いろいろ調べてみるとApplication Data\Volatileフォルダに不要ファイルがぎっしりできているのが怪しい。さっそく削除してみました。ツールを使って再起同時に自動削除することもできそうです。
WindowsMobileの仕様なのか分かりませんが、使っているうちに¥Application Data¥Volatile内にいろいろファイルが残ってしまうことがあります。DelVolatileはそのファイルを削除するためのアプリです。
今仕事でClickを使ってます。Seasar2+S2Dao+Clickの構成で開発中なのですが、結構カスタマイズして使っているので各種フレームワークをバージョンアップしようとするとはまりそうで怖いです。1.3.1は大きな変更点がなさそうなのですんなりいくといいのですが…(;゚Д゚)
複数のATOK辞書を同期するためのツール ATOK Sync を愛用しています。辞書をマージしてくれるのでこっちのPCでは学習したのにこっちでは学習してなかったといういらいらを解消することができます。それだけじゃなく、学習結果のバックアップにもなるのがナイスです。インストールしなおすごとに なくしがちな?ユーザー辞書もしっかりバックアップしてくれます。
一見インターネットディスクというオンラインストレージサービスに契約しないと使えなさそうですが、自前でWebDAVサーバーを用意すれば使うことができます。うちでも自宅のLinuxサーバーにWebDAVサーバーをセットアップしATOK Syncで使っていたのですが、なぜか今日やってみると失敗しました。ログを見ると lockデータベースがオープンできてない模様。
[Sun Jun 17 22:25:50 2007] [error] [client 192.168.0.32] Could not open the lock database. [500, #400] [Sun Jun 17 22:25:50 2007] [error] [client 192.168.0.32] (13)Permission denied: Could not open property database. [500, #1] [Sun Jun 17 22:26:04 2007] [error] [client 192.168.0.32] The locks could not be queried for verification against a possible "If:"\ header. [500, #0]
ググってみると、WebDAVのロックディレクトリのパーミッションが原因らしいので変更してみました。
#chown -R www-data.www-data /var/lock/apache2
Apacheを再起動し、再度Syncしてみると今度は成功。いやーしかしエラーメッセージ不親切ですね(;´Д`) ロックディレクトリがどこかわからなかったので/etc/apache2の下をgrepしまくってしまいました。 原因はDebianをdist-upgradeした関係のような気がします。
村クエ★★★までクリアしました。 経験があるのでこのあたりなら楽勝かもと思ってプレーしていたのですが、意外にも? ガノトトスでやられました。太刀のゲージがたまる前に逃げられてしまうし、体当たり食らいまくりだし、ガードできない太刀じゃ無理かもと弱気になったのが一番の山場でした。「体当たりを食らわないぐらい離れて縦切り&逃げたらカエルで釣りあげる」戦法でなんとかなったのですが、逃げる敵に苦手意識が…。
武器は鬼斬破、防具はブランゴシリーズ。鬼斬破作るのに必要になる雷光エキスは交換で入手しました。 武器が結構強いので力押しでしばらくいけそうです。防具は見た目がいまいち&スキルがいまいちなので ゲリョスDの気絶をねらっていきたいと思います。
Clickでも使われているVelocityですが、変数に設定されている文字列を簡単に連結する方法を発見しました。っていうか知らないほうがおかしいのか(゚Д゚≡゚Д゚)(ドキュメントにはっきりかいてありました…。
"$foo$bar"
これで$fooと$barを結合した結果を得ることができます。#setを使うより簡単です。マクロにも渡せます
#mymacro("$foo$bar")
Perl風に変数を展開してくれるということでしょうか。
こういう考え方っていったい(汗…。
前々から気になっていたFreshReaderの新しいバージョンをインストールしました。
バージョンアップ方法はsffr20unix_ja.tar.gzをダウンロードして、以前インストールしたディレクトリに上書きするだけです。dbディレクトリを削除しないようにとの記述がありましたが、FTPを使うわけではないので問題ありませんでした。
バージョンアップ後は、[システム設定]→[システム実行環境の表示]を選択し、バージョン番号が2.0.07041100になっていれば成功です。
入り直すと見た目もちょっとバージョンアップした感じでGJでした。
購読サイトを追加する際のブックマークレットは、左側メニューの[新機購読]→[ワンクリック購読]で 追加できました(今までつかっていなかった)。
MovableTypeの投稿時刻表示をカスタマイズしようと思い調べてると、テンプレートファイルの$MTEntryDate$をいじればいいことがわかりました。たとえばメインページの時刻表示を変更するには、環境設定のテンプレートでメインページを選び、<$MTEntryDate format="%x %X"$>となっている部分を変更します。
<MTElse>
日時: <$MTEntryDate format="%x %X"$>
</MTElse>
%xが日付表示、%Xが時間表示に該当するので、次のように変更すると 日付だけが表示されます。
<MTElse>
日時: <$MTEntryDate format="%x"$>
</MTElse>
ただしこのままだとメインページの投稿時刻表示しか変更されません。個別ページの投稿時刻表示もカスタマイズしたい場合はそれぞれのテンプレートを変更する必要がありそうです。全体一括設定みたいなのは見つかりませんでした。
mvn packageで生成するjarファイルにバージョン番号がつかないので、てっきりMaven2のバグ か仕様変更のせいだろう思っていたら自分のpom.xmlファイルの書き間違いでした( ´ー`)フゥー...
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>junit.extensions.converter</groupId>
<artifactId>string-converter</artifactId>
<packaging>jar</packaging>
<version>1.2.2</version>
<name>Maven Quick Start Archetype</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<finalName>string-converter</finalName>
<sourceDirectory>src/main/java</sourceDirectory>
<testSourceDirectory>src/test/java</testSourceDirectory>
<plugins>
<plugin>
<inherited>true</inherited>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
このpom.xmlファイルを使ってmvn packageを実行すると、string-converter.jarとstring-converter-sources.jarが targetディレクトリの下に作られます。なぜかバージョン番号である1.2.2がファイル名に含まれません。理由は finalNameを指定していたせいでした。
<finalName>string-converter</finalName>
いつのまに(゚Д゚≡゚Д゚)。これを削除してmvn packageを実行すると、めでたくstring-converter-1.2.2.jarとstring-converter-1.2.2-sources.jarができました。ありがたや。
噂の絶対強者ティガレックスを突破しました。村ですが。噂のずっと俺攻撃をくらって二死したのですが、最後の神風アタックでなんとかやっつけました( ´ー`)フゥー...。武器はずっとつかってる鬼斬破でした。ただやみくもに振り回しているだけだったのでこつもなにもないですが、薬と閃光弾山盛りでいどんだのが良かったかと。戦争の鍵は兵站にありですよ。ローマ軍もそういってました。
さぁ村レベル5もがんばろう。
せっかくの土曜日だし?LifeHackの一貫して部屋を片付けることにしました。服をどうやって片付けようか考えていたところ「Tシャツのきれいなたたみ方」を発見しました。
まねできそうもないです(;゚Д゚)。
しかたないので、暇つぶしに「ガルルガ装備」集めに突入しました。
なんかがつく優れもの。防音珠をつければ、耳栓→高級耳栓にすることもできます。
ひたすらイャンガルルガを倒すしかないらしいです。最初は真面目に太刀でやってましたが、 めんどくさくなってきたので、高台からヘヴィボウガン連射システムに切り替えました。 慣れれば15分くらいでかたがつくので楽勝でした。完全な作業になるのでいやな人はいやだと 思いますが。
土日にひたすら駆りまくってやっとこ作ったのですが、いまいち効果がわからないような(;´∀`) まだキリンにはいってないです。さあ今夜もがんばろう。
| モンスターハンターポータブル 2nd | |
![]() | カプコン 2007-02-22 売り上げランキング : 57 おすすめ平均 ![]() …好きずき 買ってよかった ありえないくらい面白いです!Amazonで詳しく見る by G-Tools |
CentOS4.4で運用するTomcat5のための自動起動スクリプトを作りました。 Tomcat の起動 | 自宅サーバー Fedoraを参考にさせていただき サクっと動くだろうと考えていたら割とめんどうでした。
これだと何度起動してもTomcatの起動部分で止まってしまいます。しかたないので 起動ログをファイルに落としてみたところ、何やら見慣れない文字が含まれていました。
/etc/init.d/tomcat
/bin/su -s /bin/bash - $TOMCAT_USER -c "$TOMCAT_SCRIPT start" >/tmp/tomcat.log 2>&1
/tmp/tomcat.log
Do you want to choose a different one? [n] Using CATALINA_BASE: /usr/local/tomcat Using CATALINA_HOME: /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME: /usr/java/jdk1.5.0_11 Your default context is user_u:system_r:unconfined_t.
"Do you want to choose a different one"と表示されるのは SE Linuxの機能が 働いているのが原因みたいです。解決策は、"su" -> "runuser"に変更すること。って 工工工エエエエエエェェェェェェ(゚Д゚)ェェェェェェエエエエエエ工工工。
最終的にこんな感じになりました。
File Edit Options Buffers Tools Insert Help
# chkconfig: 2345 85 15
# description: Apache Tomcat Java Servlets and JSP server
# processname: tomcat
# pidfile: /var/run/tomcat.pid
# config: /usr/local/tomcat/conf/server.xml
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
###### added by src #####
export JAVA_HOME=/usr/java/jdk1.5.0_11
export PATH=$JAVA_HOME/bin:$PATH
export TOMCAT_HOME=/usr/local/tomcat
export CATALINA_HOME=$TOMCAT_HOME
###### added by src #####
TOMCAT_SCRIPT=$CATALINA_HOME/bin/catalina.sh
TOMCAT_USER=tomcat
[ -f $TOMCAT_SCRIPT ] || exit 0
# See how we were called.
case "$1" in
start)
# Start daemons.
if [ -f /var/lock/subsys/tomcat ] ; then
echo "Tomcat already started!"
exit 1
fi
echo -n "Starting Tomcat: " #/bin/su -s /bin/bash - $TOMCAT_USER -c "$TOMCAT_SCRIPT start" >/tmp/tomcat.log 2>&1
###### su->runuser by src #####
/sbin/runuser -s /bin/bash - $TOMCAT_USER -c "$TOMCAT_SCRIPT start"
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch /var/lock/subsys/tomcat
;;
stop)
# Stop daemons.
if [ ! -f /var/lock/subsys/tomcat ] ; then
echo "Tomcat already stopped!"
exit 1
fi
echo -n "Shutting down Tomcat: "
$TOMCAT_SCRIPT stop
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/tomcat
;;
status)
status tomcat
exit $?
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: $TOMCAT_PROG {start|stop|status|restart}"
exit 1
esac
exit 0
絶対強者ティガレックスをやっとこクリアーしたかと思ったら次は轟竜ティガレックス。しばらくガルルガ相手に ぬるい戦いばかりだったので、無限ローラー地獄にはまってあっけなく二死してリタイヤしましたよ。
再挑戦は鬼神薬グレート、硬化薬グレート、閃光弾などたんまりもってチャレンジしたおかげでぴよらない程度にバリバリ攻撃をくらいながらもなんとかやっつけましたが、イヤな相手ですな。やる気なくなる…。 まあでもガルルガ装備のおかげで咆吼でひるまないので結構楽になったような気もします。努力の甲斐が あったと(゚Д゚≡゚Д゚)
レックス装備作ると自動マーキングスキルがつきそうなんだけど、そのために刈りまくるのは大変な悪寒。 ファミ通によるとランスで防御スキルつけていくのが楽らしいんだけど、ランスあんまり使ったことないしなあ。
さぁ今夜も頑張ろう。
CentOSのデフォルト設定だとupdatedbが自動実行されないようです。毎日実行するためには、 /etc/updatedb.confのDAILY_UPDATEを"yes"に変更します。
# To enable the updatedb in cron, set DAILY_UPDATE to yes DAILY_UPDATE=yes PRUNEFS="sysfs selinuxfs usbdevfs devpts NFS nfs nfs4 afs sfs proc smbfs cifs autofs auto iso9660 udf" PRUNEPATHS="/tmp /usr/tmp /var/tmp /afs /net /sfs /selinux /udev /mnt/floppy /media" export PRUNEFS export PRUNEPATHS
cronの設定ファイルは/etc/cron.daily/slocale.cronに存在していて、DAILY_UPDATEの値を見て実行するかどうするか 決定していたという事らしいです。
#!/bin/sh . /etc/updatedb.conf [ "$DAILY_UPDATE" != "yes" ] && exit 0 renice +19 -p $$ >/dev/null 2>&1 /usr/bin/updatedb
従って、updatedb.confを変更すれば次回からupdatedbが毎日実行されるようになります。
以下のサイトを参考にさせていただき、MovableTypeのタグクラウドを表示するように 設定してみました。カテゴリーで分類すると限界を突破するのでタグで管理していきたいと思います。
CentOSはyumを使って簡単にアップグレードする事ができます。 4.3から4.5に更新しました。
/etc/redhat-releaseを見ると現在のバージョンが確認できます。
[root@dev workspace]# more /etc/redhat-release CentOS release 4.3 (Final)
yum updateを実行します。
[root@dev workspace]# yum update ...以下延々と続く... Complate!
再度/etc/redhat-releaseを確認します。
[root@dev workspace]# more /etc/redhat-release CentOS release 4.5 (Final)
成功しますた。
Linux上のDB2(V8)にFixPakを適用しようとしてはまったのでメモ。
db2levelコマンドで確認します。「FixPak "14" です。」と表示されたらFixPak14が適用されています。
V8の場合以下のリンクからたどっていきます。しかしIBMのURLはころころ変わるので すぐリンク切れると思われ。
Select Oneとなっているところを変更します。CentOS4.5の場合、Kernel2.6を使っているので x86(32bit)の2.6 kernelを選択し、"GO"を押します。
ページが変わったら、Regular FixPak for V8 FixPak 14を選択し(現在の最新)、ダウンロード します。たいていサイズがでかいので注意。
tar ballなので適当に展開します。
# tar xvf FP14_MI00176.tar
installFixPakを実行します。"-y"オプションをつけると全ての質問にyesで答えます。
# /installFixPak -y
db2iupdtを実行します。"-e"オプションをつけると全てのインスタンスをアップデートします。 これを実行しないと start database managerが失敗します。SQLSTATE=58004予期せぬ エラーが発生します。ここで何回もはまった私。
#/opt/IBM/db2/V8.1/instance/db2iupdt -e
db2levelで確認します。
| OS | CentOS4.5 |
| アプリケーションサーバー | Tomcat 5.5.23 |
| データベース | DB2 v8.1.2.128 FixPak 14 |
この状態で、db2java.zipをdb2java.jarにリネームし(Tomcatはzipを認識してくれないらしいので)、 TOMCAT_HOME/common/libに置いて起動。すんなりいくかと思いきやエラーが発生しました。
UnsatisfiedLinkErrorが発生します。
java.sql.SQLException: java.lang.UnsatisfiedLinkError: no db2jdbc in java.library.pathエラーの意味はdb2jdbcがリンクできないとかそんな意味だと思います。linuxの場合、 libdb2jdbc.soがリンクできないのが原因のようです。LD_LIBRARY_PATHに/opt/IBM/db2/V8.1/libを 追加すればいいだろうと、ld.so.confや/etc/init.d/tomcatを編集して試行錯誤してみましたがうまくいきませんでした。
結局、TOMCAT_HOME/bin/catalina.shの先頭付近でdb2profileを読み込むようにしたらうまく いきました。
. /home/db2inst1/sqllib/db2profile
db2profileをちらっとのぞいてみると、この中でLD_LIBRARY_PATHもよろしく設定 してくれている雰囲気です。これって基本なんですかね?まぁ結果オーライという事で(汗
WEB+DB PRESSを参考にしつつCargo Maven2 Pluginを使った自動デプロイに挑戦してみました。
Cargo Maven2 PluginはTomcatの起動・終了などの操作をMaven2から行えるようにするプラグインらしいです。 リモートのTomcatに対してデプロイ・アンデプロイする機能を持つので、こんなに簡単だと。
まずpom.xmlを編集します。pluginRepositoriesを追加します。
<pluginRepositories>
<pluginRepository>
<id>codehaus snapshot repository</id>
<url>http://snapshots.repository.codehaus.org/</url>
<releases>
<enabled>true</enabled>
</releases>
</pluginRepository>
</pluginRepositories>
pluginを追加します。
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<configuration>
<container>
<containerId>tomcat5x</containerId>
<type>remote</type>
</container>
<configuration>
<type>runtime</type>
<properties>
<cargo.tomcat.manager.url>http://dev:8080/manager</cargo.tomcat.manager.url>
<cargo.remote.username>tomcat</cargo.remote.username><!--変更-->
<cargo.remote.password>tomcat</cargo.remote.password><!--変更-->
</properties>
</configuration>
<deployer>
<type>remote</type>
<deployables>
<deployable>
<groupId>com.examples</groupId><!--変更-->
<artifactId>exweb</artifactId><!--変更-->
<type>war</type>
</deployable>
</deployables>
</deployer>
</configuration>
</plugin>
mvn clean package cargo:undeploy cargo:deploy
成功すると、http://dev:8080/で動作するTomcatに成果物がデプロイされます。
Tomcat managerでtomcatというユーザーが設定されていないとうまく動きません。 あらかじめ設定しておいて下さい。tomcat/tomactを追加する場合、TOMCAT_HOME/conf/tomcat-users.xml を変更します。
File Edit Options Buffers Tools Minibuf Help <?xml version='1.0' encoding='utf-8'?> <tomcat-users> <role rolename="tomcat"/> <role rolename="role1"/> <role rolename="manager"/> <role rolename="admin"/> <user username="tomcat" password="tomcat" roles="tomcat,manager,admin"/> <user username="both" password="tomcat" roles="tomcat,role1"/> <user username="role1" password="tomcat" roles="role1"/> </tomcat-users>
一対の巨影をあっさりクリアし、村クエ★6に突入したところで集会所をすることにしました。 集会所はめんどくさいのでキークエストだけに絞り、武器は太刀にあきたのでハンマーでチャレンジ。 ハンマーなんて使ったことなかったので、いたずら好きの桃毛獣にさえボコられるという情けなさでしたが、物量作戦でなんとかカバーして★3をクリアしHR2に突入しました。室伏の使い方をいまいち習得できませんが使ってるうちになんとかなるかなぁ?確かに攻撃力は高いです。
今は、村クエ★5の『皇妃座すは炎の宮殿』でポッケポイントを荒稼ぎしてます。 エリア6にある火山岩を運搬して納品すれば一個3000Pももらえるので、まじめにやるのが あほらしくなります(;゚Д゚)。注意点は
ということでしょうか。
FixPakを当てたらDB2が自動起動しなくなりました。
db2iauto on db2inst1
とかすれば自動起動するはずらしいけどしない(゚Д゚≡゚Д゚)。 これがIBMクオリティ。いや俺クオリティ。