ブログ移設しました。

bloggerから記事を移設しました。


HUGOで記事を書いてみると思いのほか書きやすかったので移動。

火曜日, 11月 26, 2013

eclipseじゃないaptanaで。

all in one eclipseなるものをwindowsに入れて使ってたけど、設定が多いから大変だー戸思っていた。
vimでプロジェクトごとに色々やっていた。

そこで、
http://tluna-tech-scrap.tumblr.com/post/67252208274/gosling-emacs-builder-by-zdnet

なるほど。そうか。そうか。(emacsはあれはエディタかどうかは分かりかねますが。)

railsやるとき、cakephpやるとき、IDE使えるとうれしいのかな?

分かんないけど手を出してみよう。 なんか、railsやるときにaptana入れるといいよ。的な記事を見て、aptanaを入れてみる。 えぇ。eclipseでも、pluginでできるけど、aptanaを入れてみる。

検索が、、、(Ctrl+fの図)

カムチャッカ

探しているとglancesよさげ。
でも、Eclipse marketみろよ。とかいわれる。
http://stackoverflow.com/questions/11213542/using-the-eclipse-marketplace-on-aptana-studio-3

なので、http://marketplace.eclipse.org/content/glance#.UpN1xWSGIUw
これを追加して、みると、、、、入る。
settingsからkeyで元々あるSuperKey+Jと入れ替え。 素敵はいった。 Ctrl+fと置き換えるのが私の中でよいのかはおいといて

いいもの見つけました。

月曜日, 11月 18, 2013

VMWare PlayerとVirtualBoxのディスク書き込み時の性能比較

今までVirutalBoxの方がネットワークの設定が自由だったので使っていましたが、どうもUSBから直接マウントしたディスクアクセスをしくっているケースが多いので、検証

いかに環境を記載します。
host machine:thinkpad edge mem:8G USB3のカードを取り付け。(色違うからもしかすると型番が違うかも。)http://www.kuroutoshikou.com/modules/display/?iid=1506
hostos: Windows 7 home
VMware Player:Ver6.0.1
VirtualBox: 4.2.18
guestos: centos6.4

上記環境においてVMWare player,Virtualbox共々、以下の試験を実施、
  • 直接マウントでの書き込み
  • NTFS上に仮想ディスクを作成、マウントした仮想ディスクに書き込み
  • NTFS上に共有ディレクトリ(vmが独自の機構)を作成の上、書き込み
書き込みは以下のコマンドを使用。
dd if=/dev/zero of=/mnt/target bs=1000 count=10000000

直接マウントでの書き込み

直接マウントでの書き込み時の計測結果を紛失してしまいましたが、VirtualBoxでテストを実施したときになぜか、途中でUSBドライブへのアクセスをやめてしまったので、試験完了ならず。
Playerは速度的には、NTFS上に仮想マシン用のファイルを作成したときと同じよう感じでした。(ってことは、USB3の認識ができているのですかね。)

まずは、VMware playerが一勝

んー。ext4に入れてるデータが消えてしまうかもしれない。 そう考えるとネイティブに移行するか、NTFS化した後にデータを分けるようにしましょう。ということで、いったん今あるデータをまとめてその後、データをNTFSドライブに移したあと次の試験を実施。

NTFS上に共有ディレクトリ(vmが独自の機構)を作成の上、書き込み

順番的には、こちらを後に実施しましたが、どちらにせよこちらの方が遅いに決まっているし、何よりあった方が後々楽なので、インストール。
なお。VirtualBoxで共有ディレクトリを作成するときには、ヘッダーファイルをバージョン指定のうえ実施してくださいね。

VMware Player: 40.4MB/s
VirtualBox:        12.9MB/s

んー。これではちとつらい。(VMware playerなら、windowsと共有する部分だけ切り出しならいいかもしれないけど)

NTFS上に仮想ディスクを作成、マウントした仮想ディスクに書き込み

システム的に保持したいファイルはこのやり方で落ち着くであろう方式。

結果は、
VMware Player: 171MB/s
VirtualBox:        165MB/s

こちらもVMware Player勝利。

ディスクアクセスの結果としては、VMware Playerが圧勝してしまいました。環境による差異もあるかもしれませんね。
もし開発用のサーバーとして利用しないなら、一度利用するマシンで両方ともインストールを行った上、上記の試験を実施して
  • 本当にディスクを離してしまわないか。
  • ディスクアクセスでの負荷をかけたときに止まってしまわないか。
その辺を検証してからの方がよさそうですねー。(検証を行う際のレイアウトはホストマシンがあった方が楽です。)

ただ、ネットワークの自由度としては、PlayerよりもVirtualboxの方が自由度は高いので悩みどころです。

-----チラ裏のチラ裏
今回のファイルを配置したりするサーバーにはVMware Playerを利用しますが、playerならext4にしてしまったほうがいいんじゃないか?とか考えています。(バージョンアップによる仮想ディスクの互換性が怖い)
でも、HDDを割当できるのは、一つのVMだけだし。(レイアウトの自由度低下)
んじゃ、今回はVMware Playerでファイルサーバー系は共有フォルダ、DB系は仮想ディスク作成の上書き込み。にするとしますか。

火曜日, 8月 27, 2013

オブジェクト脳のつくり方を読んでいます

最近必要なものとしてオブジェクト脳の作り方を読んでいます。



amazonアソシエイトこういう書籍紹介の時に便利ですなー。 画面が映えるそれだけでブログを書いている気持ちになるね。

目次がなかったっぽいので、翔泳社のHPから目次を拾ってきてよ。
オブジェクト脳のつくり方 http://www.seshop.com/product/detail/4115/

さて、購入した版が古いためか、それとも現行でそういう作り方が主流なのかわかりませんが結構古くから使われている技術について記載があって戸惑いつつも読み進めています。

余談ですが、


  • この記事を書いている時にこのPDFに目次つけていなかったな。。。目次つけるかと思い立つ。
    • しかし、PDFOutlinerがテキスト貼り付けからの編集をやっていないので断念。さくさくとPerfectViewerで流し読み。
  • 読み進めている時にipadが欲しくなった。 これはきっと画面サイズによるものだろうな。。。次はNexusが出たら10インチモデルが出たら店頭で触ってから購入しようと考える。(きっと前のNexusより値段が高いから買えても年末辺りかな。)


聞いたことがない用語とか出てきたらメモがてら読解して読み進めていこうかと。

この記事を書いている時は、すでに1部は読んでいてまだ実践していない状態。読んでいるところは、2部に入ってUMLを交えた設計の話が始まりましたの段階。

わからなかった単語:

5章:
  • EntityBean
  • CMP
  • DTO・・・DAOの親戚?
J2SEのライブラリを使ったものが上記に列挙されているのでしょうかね。わかんないので後回し。

GGRKSの結果:
Entity Beanとは - 意味/解説/説明/定義 : IT用語辞典 http://e-words.jp/w/Entity20Bean.html
JavaBeans - Wikipedia http://ja.wikipedia.org/wiki/JavaBeans
J2EE体験編 CMPを体験する http://www.geocities.jp/tune_up_linux/cmp1.html
Data Transfer Object - Wikipedia http://ja.wikipedia.org/wiki/Data_Transfer_Object
さっき出てきた単語をぐぐってみると。上記の結果、Beansでの違いを書いたのかしら。

6章:

  • DOA

オブジェクト脳のつくり方 http://www.seshop.com/product/detail/4115/


感想(ニコニコ動画のコメント的な):

6章が読み物として面白そうなので、読み進めたい。


6章はありそうな(今でも)話がいっぱい散りばめられてて「うけるーwww」ってくさを生やしたくなる話が満載で楽しいです。 現実は、作らないといけないドキュメントにも差異がある。 ある。 ある。 あるんだお。

6.1〜6.8までしか読んでいないですけど、これってエンジニアのレベルの差と環境が産んだ弊害物が大きいなぁと。
自身の考える技術者としてのレベルを考えたとき、エンジニアのレベルって言葉通り雲泥の差が激しいと感じています。(当然のことながら自分のレベルは低いので上の人のいう違いはモヤモヤして見えていないですが)
6.8からはドキュメントの扱いについてついて、6.9では今までの経験って無駄?(ウォーターフローのガッツリ設計=>さっさっさと開発=>ガッツリテスト)

そんな中、1部で書いてあったものがさっさと取り入れないといけないものではないか。とかそんなことを考えつつ。

7.1に書いてあるの今の職場のSEがやってくれていることだ。。。 ごめんなさい。
7.1.2うん。厳格です。 レベルたけぇと思う人は、プログラムに対して厳格ですよね。でも、いいエンジニアにするためには、必要なことだと思っています。
7.1.3これやってくれている。実際に俺もやんないとダメだ。
7.1.4最後の落とし方が面白い。けど、この気持は無いとだめだろうな。。。
7.4うわー。。。わかりすぎる。 うーん。
7.5タイプ別に分けてこのタイプにはこうっていうのを書いてあるけど、おもしろいな。
最後のパターンでないことを祈ろう

8章
実務でテストを書きながらやっている時の雰囲気をつかむのにいいかもな。(さんぷるこーどがないので見れないのが残念です)
3部に入った時に途中まで気軽に読んでいたのだけど、これEJBがわからないとおおよそ何をしているかわかってもそれ以上のことはわからないなぁー。と思って読み飛ばし(何をしているかは拾い読み程度)
んー。Javaで書かれたWebで使われているのかしら。

3割読み終わったー。付録か。 何が書いてあるのだろうか。と思ってぴろんとめくってみると、8章で出ていたコンポーネント周り、アプリケーションサーバについての解説が。。。。 なんでこっちを先に読めと言わなかったのだろうか。。。。(謎すぎる)

悪評もあるのはなんでか大体わかったところで、しみこませるのは2部までですな。 それ以降はまだまだ早いです。よってことで。寝る。適当に適当に。

金曜日, 6月 21, 2013

家に帰った時にDHCP環境でどのマシンが上がっているかみたくなった。

題名のとおりです。
普通に考えると、nmapとかシェルスクリプトで解決ですよね。

ホストの発見

なんか、-PS netowrk/24(やっちゃだめ。。。。きっとListenしているポートまでかくにんするから)とかやるとネットワークがものすごい事になったので、ちゃんとオプションは知っておかないとまずいなとか。そんなことを思いつつ。

んで、

シェルスクリプトで、pingをforするだけで事は足りると思ったのですが、勢い余ってrubyで書き始めたので最後までやることに。

利用しているライブラリは、

parallel
benchmark
net/ping

forkするものは書いたことなかったので試しに書いてみた感じ。

gistはコードをブログに貼り付けられるということで、試しに使ってみる。(githubには上げて動かないものを公開する日々)

normalのところでエラー出たらごめんなさい。 実は動作させていると、だめぽかもしれない。


勢い余ってやった。 反省している。

閑話休題
なんかディスプレイを購入したいです。
40インチのディスプレイの話を聞いていて購入意欲が高まってきた所で、「本当にそれでいいの?デュアルじゃなくていいの?」

忘れていました。
会社も自宅もデュアルディスプレイになっているのでディスプレイの大きさがすべてを解決してくれるわけではないと。

よーく考えてみるとデュアルじゃないと困る。
というわけで、デュアルディスプレイでの構成で、チルトできるディスプレイかつ、ディスプレイアームを2つ。
もしかしたら、ディスプレイは2つ追加。

ディスプレイ縦にしてみるとすごいコードが読みやすいということで、試したいし。wkwk

追伸:コードおかしかったら、、、なんかして欲しいです。
githubでなにかされるとどうなるかまだ見たことがないので、それどんなのかみてみたいですし。

土曜日, 6月 01, 2013

やべーHDD飛ばしてもうた。

最近thinkpadさんがすごい暇をしているので、windows上でdebian on Virtualboxしていました。

USBマウントでext4なHDDを二台扱っていたのですが、どうにも途中でVMがハングアップしている(VirtualBox自体がハングアップ)ので、

「Knoppixでやればいいね。」
とコピーの作業を実施。

頭の中で
/big1->/dev/sdc1
/big2->/dev/sdb1
となっていたのが、
/big1->/dev/sdb1
/big2->/dev/sdc1
となっておりました。

よし、big1からbig2のデータのコピーに失敗していたからやり直しをしましょう。
といってrm -rf /big2/ディレクトリたちと指定してEnterをたたくと、

big1を確認するとあれ?データが少ない。。。。

本をわざわざ購入して電子書籍にしていた時のお金、TSUTAYAに行って借りて、旅の思いで(これはpicasaにあるからいいとしても)が一瞬にしてなくなりました。

反射的に mount -o remount,ro /mnt/big2としました。
「私はいっさいの書き込みを受け付けない。」

なんか無いかなーと思って調べていると、
Linuxでうっかりrm -rfしちゃったけど復活出来たよー\(^o^)/ - y-kawazの日記 http://d.hatena.ne.jp/y-kawaz/20110123/1295779916

ktkt

Knopix上で作業をおこなおうにもwifiアダプタを認識していないので、断念。 このままubuntu desktopにしてしまおうということで、thinkpadさんにubuntuディスクを投入。

現在結果待ちです。

ただ、みていると、
結構とれていないファイルも多いので、これはあまり期待できそうにないですね。

前のバックアップ(調子が悪いとあきらめてknopixを起動する前のもの)が結構取れていてほしいデータがあるので、残りを保管する役割としてつかえばいいか。。)

気をつけましょう。 rm

金曜日, 2月 15, 2013

egitで最初の更新は注意?

まだ検証していない状態ですが、下記のことがあったので覚書

eclipseでコード書いてて、コミットの瞬間に書いていコードが消える。

再現手順は以下の通り、
1.新規リポジトリ作成
2.リポジトリをクローン
3.そのディレクトリでどんどん作っていく。
4.コミットする
5.push (あれ?できないぞ。。。)
6.branchをマスターとして選択
7.push (push自体は無事成功)

6の段階でブランチが確定していない、コンソールでは、pushする元と先がわかんないよ?ということは聞かれてもいきなりブランチがブランクの状態で始まることはないはず。
でも、Egitでやった時に最初のブランチはブランクの状態でして、、、

pushした瞬間に消えているのかはわかりませんが最初のスタート時に気をつけないとかなりやばいですねえ。

って、サクサクとsuica関連のプログラムが書き上がってpushしたらファイルが消えたので、悔しくて寝れなかったので考えていて原因が見えてきたという話で。

大抵はコマンドでcloneかけてその後eclipseだったから問題がなかなか発覚しなかったけど、前にも同様のことはあってそのときは間違えて消したと思っていたのだけど、、、、あの時も一緒だったのね。。。。

残念、無念 明日以降もう一度かきなおしですな。

悔しさが少しだけ和らいだのでそのまま寝ちゃう。