« 2008年10月 | トップページ | 2008年12月 »

2008年11月

2008年11月27日 (木)

SICP本を読み進めています(現在1.3.1章)

前回の勉強会の時から、続けてSICP本を読み進めています。

1.2.5章 最大公約数
「ユークリッドのアルゴリズムを使って2数の最大公約数を求めてみる事を考える。」
ということです。
これは、r = (a mod b)とした場合に、aとbの公約数はbとrの公約数と同じになるという
性質を利用したものです。(modは割った余り)
で、これをプログラムにしてみると、実行ステップ数が対数的に増加しますよ。と
言うことが言いたいみたいです。

1.2.6章 素数性のテスト
「素数を調べるアルゴリズムで、オーダがO(√n)で増加するケースとO(log N)で増加するケースの
2パターンで考えてみる」と言うことです。
まず1つ目は、力任せに2から順番に割ってみて、割り切れるかどうかをテストする。
もう1つは、Fermatテストというnが素数かつ、a < n が成立する時にa ^ nを計算し、
a ^ nをnで割った余りがaになるとnは素数の「可能性が高い」という性質で算出する」方法を
使っています。

確かにa = 2 n = 3の場合、2^3=8 % 3 = 2になりますね。

| | コメント (2) | トラックバック (0)

カリー化について調べてみました。

前回の勉強会で、「カリー化」についての話を聞きました。
で、調べておくように言われたので(言われたからするわけではないですが、
知っておかないと話に付いていけない可能性が非常に高いので)
調べてみました。

Wikipediaで調べてみると、、、

複数の引数をとる関数を、引数が「もとの関数の最初の引数」で戻り値が「もとの関数の残りの引数を取り結果を返す関数」であるような関数にすること。

だそうですが、最初にこの文章を読んでみると???な状態になりましたが、
他のサイトでわかりやすい例がありました。

確かにカリー化を行うことで、引数を減らした(処理によっては分割した)記述ができるため
楽になると思いました。

が、この引数を束縛するという考え方が使えそうな時が思い付きません。。。

| | コメント (0) | トラックバック (0)

SICP本読書会に行ってきました。

月曜日(24日)の事ですが。。。
SICP本の読書会(途中から参加)に参加してきました。

やはりガウディ本と同様に(日本語訳が失敗しているのか)読んでても理解しにくいです。。。

が、今回の場合は最初はアルゴリズムの話から入ってきているようなので
個人的には妙な「懐かしさ」と少しの理解(したかな?)がありました。

だんだんとコツをつかんでくると少しは読み進められるように思います。

ちなみに、Gauche 0.8.9をAcer Aspire Oneにインストールしました。
最新は0.8.14なのですが、make時にエラーがでてコンパイルができませんでした。
なので、Vine Linuxにインストール実績があるバージョンを採用しました。


| | コメント (0) | トラックバック (0)

2008年11月20日 (木)

開発環境がMac?

http://slashdot.jp/developers/08/11/19/0946217.shtml

Macを開発環境にする人が増えているそうです。

仕事場でも「Objective-Cどうですか?」と言われましたし、
i-Phoneなどで需要が上がってるんでしょうか。

私もMacには興味がありますが、まずはLinuxからかなと思ってます。
(意外とWindowsベースの生活から抜け出せない。)

| | コメント (0) | トラックバック (0)

2008年11月17日 (月)

SQLServerのログを参照する方法

少し仕事でSQLServerのエラーに悩まされる事があったので
SQLServer自体が出力するログが無いのかどうかを調べてみました。

すると、(当然ですが)ありました。
詳細は調べていませんが、以下のSQL文をメモとして残しておきます。

-- エラーログを参照
EXEC sp_readErrorlog 5

-- トレース情報を出力(最新のトレースファイルの絶対パスなどが出力されていました)
select * from fn_trace_getinfo(default);

-- トレースファイルの中身を参照。(クエリなのにファイルを直撃のようです。)
select * from fn_trace_gettable(
N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG\log_424.trc',
default);
go

さすがにSQLServerの方でエラーが発生しているのにプログラミング言語レベルで
対応するのは難しいものがありますよね。(タイムアウトとか…。ただ、テーブル構成を
見直すとか、データベース自体のチューニングなどができれば良いんですが…)

| | コメント (0) | トラックバック (0)

2008年11月12日 (水)

Vine 4.2にFirefox3をインストールしました。

Vine Linux 4.2にFirefox3がインストールされていなかったので、
Firefox3をインストールしようとがんばってみましたが、意外に苦戦してしまいました。

Mozilla公式サイトからのダウンロード→gtk+とその他諸々のモジュールが古くてNG

ソースからのコンパイル→すでにインストールされているソフトが絡み合ってて
削除することができず、コンパイル、インストールを断念

apt-getの設定ファイルを書き換えてVine Plusのモジュールをダウンロード

#
# apt for RPM source.list sample
#


##
## Vine Linux 4.2
##
# (master)
rpm [vine] http://updates.vinelinux.org/apt 4.2/$(ARCH) main plus updates no nfree
rpm-src [vine] http://updates.vinelinux.org/apt 4.2/$(ARCH) main plus updates no nfree
#
# (ring mirror)
rpm [vine] http://www.t.ring.gr.jp/pub/linux/Vine/apt 4.2/$(ARCH) main plus updates nonfree
rpm-src [vine] http://www.t.ring.gr.jp/pub/linux/Vine/apt 4.2/$(ARCH) main plus updates nonfree
#
# (jaist mirror)
#rpm [vine] http://ftp.jaist.ac.jp/pub/Linux/Vine/apt 4.2/$(ARCH) main plus updates nonfree
#rpm-src [vine] http://ftp.jaist.ac.jp/pub/Linux/Vine/apt 4.2/$(ARCH) main plus updates nonfree
#
# (kddlabs mirror)
#rpm [vine] http://ftp.kddlabs.co.jp/pub/Linux/distributions/Vine/apt 4.2/$( ARCH) main plus updates nonfree
#rpm-src [vine] http://ftp.kddlabs.co.jp/pub/Linux/distributions/Vine/apt 4.2/$( ARCH) main plus updates nonfree
# ↓↓ここから以下を追加
rpm [vine] http://ftp.kddlabs.co.jp/pub/Linux/packages/Vine/apt 4.2/$(ARCH) extras main nonfree orphaned plus updates
rpm-src [vine] http://ftp.kddlabs.co.jp/pub/Linux/packages/Vine/apt 4.2/$(ARCH) extras main nonfree orphaned plus updates

どうやらplusにはモジュールが含まれているようなのでそれを使用。
(もしかするとこれでソースのコンパイルもできるようになるかも?)

で、apt-get install firefox3でインストール。
無事完了。

気分的に動作が軽くなったような気がしました。

| | コメント (0) | トラックバック (0)

2008年11月 4日 (火)

今日は新幹線の中でEmacs-Lispの勉強をしました。

せっかく、ASUS Aspire Oneを購入したので移動しながらPCを
いじらないとダメだと思って、持ち運んでみました。
今日の帰りに、「こだま」に乗って触ってみましたが、
こだまって結構揺れるのでちょっと気になりました。

でも、Emacs-Lispの触り(ただのLispかもしれませんが)だけ
やってみて私のEmacsの世界が広がったような気がしました。

ただ、気がついたのがEmacs上でCtrl+\を押すと、漢字入力エンジンが
起動するはずなのにエラーになってしまいました。
(なんでだろう…。ネットワークに接続しないとだめとか?)

ということで、今はgeditで投稿する内容を書いていますが、
意外にWindowsで動くテキストエディタとキーバインドが合わせてある(のか?)ので
使いやすいかもしれません。

| | コメント (0) | トラックバック (0)

2008年11月 3日 (月)

久しぶりにスポーツクラブに行ってきました。

ひさしぶりにスポーツクラブに行ってきました。
先週、先々週と色々と用事があっていけなかったのですが、
意外と体力がついているように感じました。

ただ、昨日図に乗ってやりすぎたようで、筋肉痛になってしまいました。

これでプロテインとか飲んだら体が大きくなるんでしょうか。(縦にではなく横に。)


| | コメント (0) | トラックバック (0)

2008年11月 2日 (日)

Acer Aspire OneにVine Linux 4.2をインストールするには。

1.DVD-ROMからのboot
  (これが、DVD-ROMの認識が悪くてDVDからのインストールができなかった)

2.言語、キーボードの種類を選択
 (以降参考)http://vinelinux.org/install-guide/askmethod.html

3.TCP/IPの設定(うちはDHCPなので動的を選択)

4.インストール元の選択(ローカルハードディスク、CD-ROMドライブ、FDD、NFS、FTP、HTTP…他にも?)
  (今回はFTPを選択した)

5.FTPサーバ名、VineLinuxディレクトリを入力
 今回は、サーバ名:ftp.kddilabs.jp、ディレクトリ:pub/Linux/packages/Vine/Vine-4.2/i386/

6.すると、サイトからインストールイメージをダウンロードし始めて、
  ほっとくとそのうちインストーラが起動する。

7.パーティションを設定。(重要)この時、/dev/sda2を削除して使用する。(間違って/dev/sda1を削除すると
  リカバリが不可能になります。)
 /dev/sda2にWindows XPが入っているパーティションのようです。
/dev/sda1はリカバリ用のデータが入っているパーティションのようです。

8.めでたく成功。そしてリブート

9.このままだとディスプレイの表示に違和感が残るので、
  /etc/X11/xorg.confを書き換える。
  ・・・省略
Section "Screen"
Modes "1024x600" ←ここに1024x768とか800x600とか書いてあるので修正
End Section

意外とLinuxをインストールするのは敷居が低いようです。

| | コメント (1) | トラックバック (0)

Acer Aspire Oneを購入しました。

Acer Aspire Oneを購入しました。

OSにはVine Linux 4.2を選択。(もともとはWindows XP Home Edition SP3)
DVDのドライブがついていないので別でBUFFALOのやつを一緒に購入。

意外とサクサク動いていてその辺のパソコンと大差ないぐらいの
動きはしていました。

ちなみにVine Linux 4.2はデフォルトで1024×600なんていう解像度はないため
xorg.confを書き換える必要があります。
書き換えたら横長っぽい表示ではなくなります。きれいに映ります。

今回はネットワークインストールだったので少し時間がかかりましたが
簡単にできたので良かったです。
(インストールメモはまた明日、整理してから載せます)

| | コメント (0) | トラックバック (1)

セキュリティ&プログラミングキャンプ・キャラバン@岡山に行ってきました。

セキュリティ&プログラミングキャンプ・キャラバンに行ってきました。

ただ、前日に酒を飲みすぎて朝起きたら9時。。。
午前の部の2つが聞けずじまいでした。

しかし、内容はやっぱり学生向けの内容だったので社会人だったりそれなりに
調べている人には少し「物足りなさ」があったかもしれません。
(個人的には最後の天野仁史さんのセッションについては少しだけモチベーションを
上げるきっかけになったかもしれません。)

どの方もかなりすごい技術者なのでもう少し若ければキャンプに参加してみたかったかも
しれません。

先週のセミナーに来ていた方も来られてて行くのは私だけだろうなと
思っていたので驚きました。

で、思ったのが「IT学生の挙動がおかしい」こと。
いつの時代も「本当の優秀なIT学生は挙動がおかしい」のでしょうか…。
(私は挙動がおかしいとは思わない(言われた事は無い。思われているかもしれないが)ので
そんなに優秀ではないということでしょう。)

| | コメント (0) | トラックバック (0)

« 2008年10月 | トップページ | 2008年12月 »