ソフトウェア開発」カテゴリーアーカイブ

実家にiPadをおいてきた

先週末の話ですが、父の三回忌のために帰郷。
その折に母へ買ってあったiPadをプレゼントしました。
iPadは私が。実家の無線LAN環境を構築するために必要となる無線LANルーターは弟が購入。

とりあえず、簡単な操作を教えて最初のステップとして

  • インターネットに接続してあちこちネットサーフィンする
  • 地図アプリとかインストールされているアプリを使ってみる
  • FaceTimeでテレビ電話を楽しむ

の3点のみにまずは慣れなさいと言うことにした。
「困った時はホームボタンを押せばもとの場所に戻るから」って感じで。

ただ、回線の手続きが進んでおらず今回の帰郷ではインターネット環境が無い状態での説明になってしまった。
そのせいもあって、何を説明するにも少し中途半端な感じになってしまったことは否めない。
多少怖い気もするけど、「ちょっとやそっとじゃ壊れないから気にせずに触って見なさい」としてある。

どこまで使いこなせるか。
あるいは、放置されるかはわからないが、とりあえず触れるところにおいておくことが大事なんだろうな。

私「で、なんで回線開通してないの。。。?」
母「メールアドレスってどうすればいい??申し込み用紙にあってわからない」
私「え、何でもいいと思うけど。ていうか、携帯のメールアドレス決めるのと同じようなもんだよ」
母「携帯は全部○○(弟)がやってくれた」

「そこからかよ~」

先は長そうだ・・・

iPad 2スタートブック (SOFTBANK MOOK)
ソフトバンククリエイティブ (2011-05-13)
売り上げランキング: 512

iPad2が届いて1週間。

体調を崩していたせいで更新が滞っていましたが、iPad2が先週末に無事手元に到着しました。

6月の頭には父の法事で実家に帰るので、それまでの2週間。
iPadとはどんなモノぞや?という感じで触っています。

iPadを購入した目的は、実家にいるパソコンを持たないお袋との連絡手段だとか子供の写真/動画を送りやすくするためです。
これまでは実家に帰る旅にデジタルフォトフレームのメモリカードに追加していました。
それはそれで楽しみになると言えば楽しみだとは思うのですが、動画とかは難しいですしね。

FaceTime

ただ、何よりも面白いのでは?と思っているのは先日購入したiMacとiPadによるFaceTimeです。

FaceTime
http://www.apple.com/jp/ipad/built-in-apps/

簡単に言うとテレビ電話。
いや、っていうかテレビ電話か。

3G回戦では無理でWifi環境が必要になるようですが、これがあれば愛知と千葉という距離をかなり縮めることが出来るのではないか?と期待しています。
ただ実際のところ、どういうタイミングで使うのか?というのはやってみないとわかりませんね。

四六時中実家とつながっているというのは、それはそれでお互いに疲れてしまいそうなものですし、つなげる時にわざわざ電話ってのも・・・。
とはいえ、いきなりFaceTimeで呼び出しを行うというのも少し気が引けるものです。

この辺りはお袋と相談・・・ですかね。

写真/動画共有

今ひとつ答えを見つけられていないのは、画像や動画の共有です。

離れたところでものを共有するという方法を考えると、簡単に思いつくのはストレージの共有。DropBoxの様なものですね。
ただ、お袋にDropboxが最適か?と考えるとちょっと迷ってしまいます。

そうなるとオンラインの画像共有。
しかも公開ではなくプライベートな共有が出来るものでなければいけません。

現状、自宅での写真は主にNASへおいてiMacからはiPhotoを使用して閲覧。Windows機(ノートPC)からはPicasaを使って閲覧しています。
という訳で、PicasaのWebアルバムを利用できないか?というのが現時点での案です。

Web Albums for iPad – A Picasa Photo Viewer, Uploader, and Manager App

カテゴリ: 写真

価格: ¥350

もう少しこれに関しては考えてみる。

その他

基本的に本来の目的としてはこの二つで用が足りてしまう。
ただ、それだけのためにiPadというのはもったいないと思うので、この際だからあれこれとアプリを入れておいてみようと考えている。
しかし、ちょっと愕然としてしまうのはいかにお袋の趣味を知らないかだ。

例えばゲームを入れておこうと思っても、お袋がどういうゲームを好きなのか?ってことに関して私はあまり知らない。
せいぜい思い出されるのは新聞の日曜版についているクロスワードを欠かさず解いていることぐらいだ。

でも、渡して「どんなことして遊びたい?」って聞くことによってこれまでと違ったコミュニケーションがとれる。
そんなこんなで、新たな発見があるかもしれないな、、、と期待しています。

MacでのScala環境を構築

とりあえず勉強中のScalaを試す環境を作ってみようと思い、iMacに構築してみた。
以下備忘録を含めて。

開発環境をどこに作るべきか

開発の環境を作る上で、どういう形で構築するのか?ということを少し悩んでいました。
あまりにもローカルに依存すると移行時に手間がかかったり、ローカルがゴミだらけになってしまうからです。
会社のWindows機はあれこれとアプリを試したおかげでそれはもうひどい状態になってしまいました。。。

少なくとも自宅のPCに関してはそうはすまい!と思いつつもノートPCは一部ゴミが残ってしまっています。

これらの解決には、やはり仮想環境を構築して、仮想上での開発を行っていくのが効率的に感じています。仮想環境の構築にはWindows上ではサーバー機に関してはHyper-V。クライアント上ではVMWare Serverを利用していました。

Macに関してはHyper-Vは無理なので真っ先に思いついたのはVMWare。ところが、VMWareはMac版に関しては無料の環境を提供していませんでした。
MacでVMWareを利用するにはFusionを購入する必要があるみたいです。

VMWare Fusion
http://www.vmware.com/jp/products/fusion/overview.html

値段としては8000円ほどなので買えなくはない値段ではあるのですが、選択肢としてはその他にもあるようなのでもう少し吟味したい。
吟味したいからといって、このまま何も出来ないのももったいないのでとりあえず最低限の環境だけでもインストールしてみることにした。

MacPortsのインストール

環境の構築にはMacPortというものを利用するのが比較的容易だと紹介されていたのでおとなしくそれに従ってみる。
ちなみに以前Windows環境でScala環境を構築した際には公式ページからダウンロードしたものを利用した

MacPorts
http://www.macports.org/

ちょっと気になるのは

Please note that in order to install and run MacPorts on Mac OS X, your system must have installations of the following components:

  1. Apple’s Xcode Developer Tools (version 3.2.1 or later for Snow Leopard, 3.1.4 or later for Leopard, or 2.5 for Tiger), found at the Apple Developer Connection site or on your Mac OS X installation CDs/DVD. Ensure that the optional components for command line development are installed (“Unix Development” in the Xcode 3.x installer).
  2. The X11 windowing environment (A.K.A. “X11 User”) for ports that depend on the functionality it provides to run.
    • The “X11 User” package is an optional installation on your system CDs/DVD for Tiger, enabled through the “Customize” button of the installer, whereas it is included by default on Leopard and Snow Leopard.
    • You can use the xorg-server port instead of Apple’s X11.app if you wish.

という注意書きがあることだ。

Scala環境の構築に参考にさせていただいたサイトにはMacPortsインストール時にXCodeが必要なんていう話は見当たらなかったんだけど・・・。
まぁ、本当に必要かどうかはわからないけど、XCodeはそのうち遊んでみたいと思っていたものなのでインストールだけしておくことにした。

XCode
http://developer.apple.com/technologies/tools/whats-new.html

Appleに開発者登録を行ってダウンロード&インストール。
XCode以外にもツールはあるようだけど、とりあえず今回の趣旨からは外れるのでそれはまたの機会ということに。

MacPortsそのものは先にあげたサイトからダウンロードしてインストールするだけ。
ターミナルを起動し直さないと認識してくれなかったけど、いってしまえばその程度だった。

Scalaのインストール

MacPortsを使ってScalaインストールするには、コマンドで

$ sudo port install scala

ってうてばいいという話だったが、

—> Fetching scala
—> Verifying checksum(s) for scala
—> Extracting scala
—> Configuring scala
Error: Please use one of the numbered scala* ports instead.
Error: Target org.macports.configure returned: obsolete port
Log for scala is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_scala/main.log
Error: Status 1 encountered during processing.

エラーになってしまった。どうやら今はバージョン番号まで指定する必要があるみたい。

MacPorts経由でどんなバージョンがあるのかを調べるには
port search scala
ってやれば出てくる。

scala-devel @2.8.0.Beta1-prerelease (lang, java) The Scala Programming Language
scala-migrations @1.0.1 (java) Database migrations written in Scala
scala27 @2.7.7 (lang, java) The Scala Programming Language
scala28 @2.8.1 (lang, java) The Scala Programming Language
scala29 @2.9.0 (lang, java) The Scala Programming Language
scala_select @0.1 (sysutils) Switch the default scala compiler

みたいな感じで出てきた。
とりあえず、何も考えずに最新っぽい29を選択してみる

$ sudo port install scala29

これでインストールが完了。

次に、インストールされた場所に対してパスを通してあげる必要があるとのこと。
Windowsでは環境変数に入れるだけなんだけど、MacはどうやらHome配下にある「.profile」というファイルに書き込む形をとるようだ。
このファイルに対してアクセスするには、GUIではなくターミナルなどを利用する必要がある。
という訳で、ターミナルを起動して直下をみてみる。「.」で始まるファイルを検索するにはオプションが必要

$ ls -a

確かに「.profile」があったのでこれを編集する。
編集に使うのは「vim」や「emacs」のようなエディタを利用する。

会社に入って、最初についた上司がMeadow使いだったのもあって、わずかばかりだけどMeadowなら使ったことがある。という訳でEmacsを選択

$ emacs .profile

パスを確認する。

http://d.hatena.ne.jp/AWAWA/20080503/1209825789
をみる限りでは、追加しなければいけないのは2行。

export PATH=/opt/local/bin:/opt/local/sbin:$PATH
export MANPATH=/opt/local/man:$MANPATH

ただ、最初の一行は既にあったので二行目のみ追記して保存する。
準備は整ったはずなので早速Scalaを実行してみる。

$ scala

  • bash: scala: command not found

あれ?起動しないぞ?パス通すの失敗したのかな?

って訳で、実際にそこのパスに移動して確認してみることにした。
そうすると、フォルダ名が「scala-2.9」ってなっていた。ということは。。。

$ scala-2.9
Welcome to Scala version 2.9.0.final (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_24).
Type in expressions to have them evaluated.
Type :help for more information.

scala>

おお、きどうしたきどうした。
ただ、起動にバージョン番号付きっていうのがちょっと微妙だな~。単純にScalaで呼び出せないのかな。フォルダ名変えればいいだけかな?もうちょっと調べてみる必要がありそうだ。
最終的にはEclipseなりNetBeansなりをインストールして開発するのがいいように感じるけど、それはまたの機会。
とりあえず試すことの出来る環境が作れれば今は事足りるのでここまでにした。

CUI

Windowsでしか開発を行ったことがなかった私にとって、これまでCUIを使う必然性はなかったためにEmacsやターミナルを始めとしたCUIはなれるのに少し時間がかかりそうだ。
親切かどうかは別として、慣れてしまえばこの先の開発生産性や開発生活に大きく貢献してくれる分野であるのでしっかり習熟していきたいですね。

まだまだです。

iMac2日目 iPhoto

これまで撮りためていた写真がNASにおいてあったので、せっかくなのでMacからもアクセスができるようにした。
NASはLinkStationを使っている。

BUFFALO 76MB/s 高速転送 ネットワーク対応HDD(NAS) 2.0TB LS-V2.0TL
バッファロー (2010-09-15)
売り上げランキング: 876

こんな感じのやつ。といっても、買ったのは少し前で私が持っているのは1TBの容量。
Pingはちゃんと飛ぶのになぜかターミナル経由では見つからないという不思議な状態だったけど、とりあえず公式からツールをダウンロードしてインストールしてみたら無事に接続ができた。

写真の枚数としては約6000枚。
読み込むだけでもずいぶんと時間がかかった。

次に、何やら人物の名前を設定しろときたものだ。

どうやらiPhotoでは、顔認識を行って単純に写真を見せるだけではなく、フェイスブックのようにタグをつけることができるようだ。
一つの写真に複数の人にまつわるタグをつけることができ、人物視点での写真検索を行えるようにしているんだな。きっと。

ただ、この作業がとてもだるい。
写真は6000枚もあるし、顔認識機能は大人であればそこそこの確率で認識を成功するんだけど乳幼児になるとさすがにその精度は落ちる。そして、私の撮りためている写真のほとんどが乳幼児だ。
これらの整理にはかなりの時間がかかりそうだ。

悲しいのは、生まれたばかりだと我が子ながらどちらかが判断がつきづらいこと。
間違えたら間違えたでかわいそうだし、選ばなかったらそれはそれでかわいそうだし。。。
嫁を呼び出していくつか仕分けの手伝いをしてもらったくらい難しかった。

それでもまだ漏れはかなりあるようで、完全にこれらを整理するのにはかなりの時間と今期が必要そうに思える。

機能としては面白いとは思うんだけど、地道~なものの積み重ねを要求されている気がする。
それに、一生懸命こればかりやってしまって他のことが遅々として進まない。

まぁ、面白いといえば面白いんだけどね。
明日はもう少し違うところをいじってみたいな。

iMac一日目 開封

注文していたiMacが届いた

f:id:krote:20110510230308j:image

でーん。
さすがに大きい。
ヨドバシカメラでWeb上から購入したら、なーんにも書いていない段ボール箱が送られてきたのだ。

f:id:krote:20110510231954j:image

中をあけると、全く同じサイズの箱が段ボール箱から出てきた。
この構成は実はかなり取り出しづらかったりする。みてくれにこだわるAppleらしいといえばらしいのだろうか。

今回私が買ったのはつい先日出たばかりのiMac27インチの2.7GHz。
Apple Care Protection PlanはMacは初めてなので少し考えはしたのだが、デスクトップであることを考えてパス。特に付属品も何も買わずにとりあえずiMacだけ手に入れた格好だ。

f:id:krote:20110511213536j:image

ちょっと写真がみづらいけど、27インチはでかい。
マウスで端っこから端っこまで移動するのが結構面倒だったりもする大きさだ。
これまで利用したことがあるディスプレイはたいていが17インチくらいだったので一気に広がったことになる。
もちろん液晶もきれいなものなので、とても新鮮だ。

長年Windowsばっかり触ってきたようなものなので、かなり使い勝手には戸惑うところがあるんだけど、徐々に適用していきたい。
また、Mac使いの方々にはあれこれと教えてもらわないといけないので、まずは自分がどういう設定を行って何に不安や問題を抱えているのかを整理して報告を行っていきたい。

ただ、当面の問題は置き場の確保だ。

ある程度場所は確保していたのだが、実際においてみると机の上のバランスがかなり悪い。配置をいろいろと動かすという物理的な面を整理しつつ。。。といったところか。

Scala勉強メモ

4月の頭に書いたけど、ようやくScalaの勉強を始めた。
と言うわけで、参考にしているモノをメモ。

参考書

まずは参考になる本をと言うことで、通称「コップ本」と言われる本を購入した

Scalaスケーラブルプログラミング[コンセプト&コーディング] (Programming in Scala)
Martin Odersky Lex Spoon、Bill Venners
インプレスジャパン
売り上げランキング: 25413

た、高い・・・。(4600円)
専門書が高いのはわかっちゃいるけどやっぱり高い。
直近の仕事で利用する予定があるわけではないからこそ、自分から使う場面を作っていくなりしないと元が取れないな。

本書はScalaに関しての、一番優れた本としてよく紹介されている。
ただ、Javaに精通した人間であれば読めなくはないがいきなりScalaを学ぶにはハードルが高いと言う意見もある。
まだまだ読み始めたばかりなので何とも言えないが、躓くことは予想できなくない。

じっくりと取り組んでいくつもりではあるが、Scalaを学ぶ上で一番躓きそうなこととしては「関数型言語として考えることができているか?」と言うことだろう。
Scalaそのものはオブジェクト指向としても関数型としても使えるが、関数型へ傾倒しているのは間違いない。
言語の特性を生かすのであれば、関数型の考え方を身につけることが大事。

そして、それはプログラマとしての成長にもつながるかもしれない。

と言うわけで、躓いた時にはこの本を手に取ってみようかと考えている。

オブジェクト指向プログラマが次に読む本 -Scalaで学ぶ関数脳入門
株式会社テクノロジックアート
技術評論社
売り上げランキング: 5701

こちらは、Scalaを題材にはしているがScalaそのものを学ぶための本ではない。
関数型の考え方を学ぶ本のようだ。ううむ、こちらもいいお値段しますな。
実際に手に取ってみたわけではないが、こういう考え方をちゃんと身につけることができるか?は重要だろう。
オブジェクト指向で書くのであれば、JavaでもC++でも構わないわけだし。

Web教材

ご多分にもれず言語の勉強。特にスタート時の「触ってみよう」みたいなレベルは@ITやその他技術系のサイトで見つけることができる。
ただ、書いてあることはあくまで最低限で、深く理解を得ようとしたり、継続して取り組んだりするのには分量的に厳しいことが多い。

企画ものはちょっとおいておいて、コップ本に取り掛かる前にいくつか目星をつけたページがあるので、ここに紹介したい。

Welcome to Scala hack-a-thon ‘s documentation!
http://dl.dropbox.com/u/261418/scala-hackathon/index.html

日本語でかなりわかりやすく解説されている。
広告一杯の企画モノサイトを見るよりはよっぽどいいと思って、序盤かなり重宝していた。
ただ、困ったことに書きかけであって完全ではない。場所によってはチャプター丸ごと書いてなかったりする。
更新されているのだろうか。。。

Daily Scala
http://daily-scala.blogspot.com/

最近はもうすっかり更新されなくなってしまったが、Scalaに関してのサンプルやビギナー向けの解説が書かれている。過去分からのんびりとみていくと、時々「ハッ」とするような例も。

Programming Scala
http://programming-scala.labs.oreilly.com/

英語ではあるが、オライリーのScala本?ちょっとまだ読みきれてない

じっくりじっくり

本当にあちこちで言われているように、コップ本がJavaにある程度精通した人間じゃないと読めない代物であるならば、私の場合はかなり時間がかかるだろう。
焦らず、じっくりと読んでいく必要がありそうだ。

Scalaに詳しい人でもっと参考になるものがあれば教えてくださいまし~。
本に関してはまずはコップ本に挑戦してから…になりますが(^^;

文字コード技術入門

ちょっと前から気になっていた本を読んだ

基礎、基礎、基礎

私のように、会社に入ってからプログラムを触り始めた人間は、基礎の積み上げがない。普通であれば、早期にそれらを積み上げて行くんだろうけど、私の適当な性格が災いして結局のところまともな基礎ができていない。
そのせいで、結構苦労していたりする。ただ、それはわかっていても基礎はめんどくさいものだ。

本書が題材としている「文字コード」に関してもやはりそういう基礎の一つだろう。以前どこかのブログか雑誌で紹介されており、プログラマなら必読だ!みたいなことが書いてあったのを覚えている。プログラマってひとくくりにして必読って言うのもなんだかなぁという気がしないではない。
ある程度のところまでは適当にかじった程度で通じるんだけど、それ以上になるとちょっと頭がこんがらがる。そんな内容だ。

前半の文字コードがこれまでどういう変遷をたどってきたのかということに関しては、興味がなければ飛ばしてしまうのが一番のように思える。
なんとなくの文字コードの現在の形。そして、各コード体系間の変換において何が問題となるのかを把握しておくのが大事なんだろう。
。。。
って、そうやって飛ばすと基礎にならないかな。。。?

偶然にも

偶然の産物であるが、本書を読んでいるうちにたまたま文字コードに起因するトラブルを2回ほど経験した。一つはShift_JISから中国の簡体字であるGB2312へのコード変換。
もう一つはありがちではあるがShift_JISとUnicodeとのコード変換時に発生する波ダッシュにまつわる問題。

本書を読んだからと言って直接的な解決に結びつくわけではないんだけど、何が起きているのか?と言うことの理解には間違いなく貢献してくれた。
そういう意味では個人的にはとてもタイムリーでよかったが、そういうことがなければ結局使う場面がなくて忘れてしまったかもしれない。。。

文字にまつわるプログラミングをする人にとっては結構大事な技術要素ではあるんだけど、そんなに複数の異なるコード体系を用いたプロジェクトに従事していなければ、あまり意識しなくてもなんとかなってしまうのもまた事実かと。
人それぞれってところなんでしょうね。

VSSからSubversionへの移行

社内でVSSによって管理されていたプロジェクトがいくつかあったんだけど、それを一気にSubversionで管理しましょうということになった。
理由としては、一部管理されているファイルをSJISではなくUTFにする必要性があったのだが、VSSの相違点比較ではUTFの比較が対応されてなかったのが一因。
また、チェックインからの環境への配置をできるだけ自動化したいという試みがあったためである。

VSSからSubversionへ移行するにはss2svn.exeを使う方法があるらしいが、Webで見ている限りではうまく言ってないようだ。
それに代わるものとして、ss2svn.plを利用した方法が紹介されていたが、これが思ったようにはいかずにずいぶんと手こずってしまったのでまとめたい。

参考サイト

前提

  • VSSのバージョン
    • VSSはちょっと古いVisualStudio6のもの。ただ、基本的にはVisualStudioの後継でもそんなに大きな変更はないのではないかと思っている。VisualStudio2008はUTFに対応しているらしい(未確認)ので、もしかしたら構造が違うのかもしれない。
  • Subversion
    • 面倒なのでTracLightningを利用している

インストールするもの

  • ss2svn.pl
  • ActivePerl
  • JCode(パールモジュール)
  • File-MMagic(パールモジュール)
    • JCodeとFile-MMagicはPPMを利用すると楽

C:\>ppm install Jcode
C:\>ppm install File-MMagic

準備

  • PATHにVSSのパスをセットする

SET PATH=%PATH%;C:\Program Files\Microsoft Visual Studio\COMMON\VSS\win32

  • SSDIRにVSSのレポジトリをセットする

SET SSDIR=\\SERVERNAME\REPO_PATH
※「\\SERVERNAME\REPO_PATH」はVSSのデータディレクトリへのパス

  • SSJP.DLLの退避(VSSフォルダのWin32内のSSJP.DLLをリネームする)

実行

  • 1.移行先のSubversionインストールサーバーにてレポジトリを生成する。
    • TracLightningを利用していると、通常はTracまで作られてしまうのでsvnadminコマンドでSubversionのレポジトリのみ作る。ここでTracまで作ってしまってもいいのだが、この場合はTrac上のタイムラインが、すべて移行実行日のコミット扱いになってしまう。

svnadmin create E:\TracLight\project\hoge

  • 2.pre-revprop-change.bat設定
    • 中身をexit 0のみにしたpre-revprop-change.batをsvnのhooksに入れる。怖いからsvnのレポジトリフォルダにも入れておいた
  • 3.Subversion側にユーザーを追加
    • 予め、VSS側に登録されていたユーザーを登録しておく。この時、例え実際には違ったとしてもユーザ名とパスワードを同一にしておくと楽
  • 4.ss2svn.plの認証部分を変更する
    • 1462行目付近でSvnへのログイン認証設定があるのでここを改変する。

$cmd = “$cmd –username \”$self->{user}\” “
. “–password \”$self->{password}\””;

$cmd = “$cmd –username \”$self->{user}\” “
. “–password \”$self->{user}\””;

に変更。認証を通すようにした

  • 5.ss2svn.plを実行する

vss2svn.pl –vssproject $/REPO/NAME –svnrepo http://REPO/URL –setdates –utf8 –vsslogin”admin;”
※「$/REPO/NAME」は移行対象のプロジェクトへのSSDIRからの相対パス
※「http://REPO/URL」は移行先Subversionのレポジトリへのパス

よくわからないが、–vsslogin設定がないと反応なしになった

  • 6.TRACの作成
    • create-project.batを一部改編してcreate-project2.batを作る。以下の2行を削除

if exist “%TL_PROJECT_HOME%\svn\%PROJNAME%” goto :EOF
svnadmin create “%TL_PROJECT_HOME%\svn\%PROJNAME%”

コマンドでプロジェクト作成

C:\>create-project.bat hoge

後処理

・SSJP.DLLを元に戻す

苦労した点

一番手こずったのはss2svn.plを実行時にFATAL ERRORが発生したこと。これが何度やっても同じバージョンで失敗する。
VSSのデータが破損しているのかと疑いをかけ、VSSのDataフォルダに対してAnalyzeコマンドを実行してみると「一貫性エラーが発生した」と出た。
AnalyzeでVオプションを追加しても意味なかったけど V4オプションを追加して実行してみると、問題となったファイルが発覚。どうやら、バージョンの途中でSJISからUTFに変換したファイルが、相違点をチェックしようとした際に問題を起こしていたみたい。
幸い、そういうファイルは少なかったのでこれは移行後に手動でコミットする形にして実行したら実行できた。

久々に

Oracle設定でつまづいてしまい、帰るのが遅くなってしまった。
いくつか納得のいくことと納得のいかないことがあるのでもう少し調べてみて、納得がいけば記事にしたいところだ。

最終的にはOracleのバグっぽい雰囲気になったのだが。。。
Oracleセットアップだけは相変わらず信じられねェ・・・

言語の比較

久しぶりにDBマガジンを読んでみた。

今月号の特集では同一のWebアプリを4言語で開発をしてみてその比較をすることでより言語別の特色を把握しながら勉強しようというもの。選ばれている言語は

  • Java(Struts2)
  • .net (.NET ASP)
  • PHP(CakePHP)
  • Ruby(Rails)

それぞれの言語を利用して開発をする…という発想自体は面白いもので、期待してみたのだがちょっと無理やり枠におしこめた感があって、中途半端になってしまっている気がした。
まぁ、そもそも雑誌の一特集でそれらすべてを網羅しようということ自体に無理があるのかもしれない。

個人的には今回紹介されている内容は、どれも中途半端な知識しかないので少しは押さえておきたいところ。仕事で今使わないからどうしても割ける時間は限られてしまう。
かといって、本を読んだだけで自分でコードが書けるようになれるほど自分は器用ではない。
必然的にどれかに絞って学んでいかなければ・・・って、そもそも自分自身今やっていることもあるし。うむむむ

器用貧乏になりそうだ。
とりあえず、今は自分の仕事をこなしつつ次なる目標やプロジェクトを温めていくことに徹するのがいいのかもしれません