Fight the Future

Java言語とJVM、そしてJavaエコシステム全般にまつわること

2011-01-01から1年間の記事一覧

DotCloudを利用する

今までPaaSはHerokuを使ってたけど、 RDBMSが使いやすいこともあって、 DotCloudを使ってみた。 ドメインも取って、 個人的に作ったアプリを運用しだした。 まず、DotCloudの公式サイトでサインアップする。 DotCloudのコマンドをインストールする。 Python…

惰性による判断が横行しているのが、SI業界における最大の敵だ

唐突ですが、僕はこの言葉にすごく勇気づけられました。 「優秀なソフトウェア・エンジニアである」ということは、それほどまでに貴重な存在だ、ということを強く意識した上で、自分を鍛え続け、良い物を作る・ユーザーに価値を提供する・会社の価値を高める…

Java SE 8に導入されるのは、ほんとにクロージャ!?

Javaプログラマが悩むラムダとクロージャと匿名関数と - Fight the Future じゅくのblog http://d.hatena.ne.jp/jyukutyo/20111117/1321587651 の続き。 セットアップ ラムダ式の使えるJava SE 8のアーリービルドは、ここからダウンロードできます。 Java Pl…

プログラマに子どもが生まれて考えたことまとめ

私事ですが、3ヶ月前、子どもが生まれました。 100日を過ぎ、お食い初めを終えました。 親になったという実感みたいなものはないのですが、 自分の子どものことは、かわいいと思います。 きっと、全国の親御さんはみんなそう思ってるんでしょうね! 名前 子…

Javaプログラマが悩むラムダとクロージャと匿名関数と

僕は、Javaでプログラミングを始めて8年以上になります。 ここ数年、RubyやScalaを少しずつ学んでいます。 やっと、さっとWebアプリケーションを作るのに、 Ruby(Sinatra)で作れるようになってきました。 Ruby、Scalaと進んでいくと、 Javaになかった概念が…

大事なことだから2回言うけど、ソースコードのコメントは書けばいいものじゃない

僕は他人のソースコードを批評するほど、すごいプログラマでも何でもない、 ただの初級プログラマだけど、これだけは言える。 ソースコードに、こういうコメントは一切必要ない。絶対必要ない。 public void connectToAndQueryDatabase(String username, Str…

Emacsでファイル名指定して実行しても、Symbol's value as variable is void: dirと表示されてファイルを開けない

ずっと困っていたんです。 本当にありがとうございます。 emacs hoge.txtとすると、いつの間にかファイルを開けない。 なぜscratchバッファ…そして目に付く「Symbol's value as variable is void: dir」というメッセージ。こちらで、原因と解決策を教えてい…

え!まだマウスなんて使ってるの?

キーボードは非常にパワフルな入力機器であり、 マウスはすべての入力機器の中で最も遅いものであるため、 あらゆる操作をマウスで行わせようとするのではなく、 キーボードを賢く利用するようにしよう (Guido van Rossum:Python作者) まあ一般的な話。 僕は…

若手に覚えてほしい質問の仕方

これの逆バージョンだね。 若手に覚えてほしい質問への答え方 - Fight the Future じゅくのblog http://d.hatena.ne.jp/jyukutyo/20081028/1225185025 僕は「何でも質問してきていいよ」というようにしている。 それは、何時間もそれで悩んでしまって、工数…

テキストファイルでエンコーディングをUTF-8に変換して文字数の降順に行をソートするワンライナー

$ nkf -w original.txt | ruby -e 'puts $stdin.readlines.sort_by{|x|x.length}.reverse' > result.txt

WindowsでGitを使うには

とても面倒。ほんと面倒。 できるだけこのOSは使いたくない。ほんと使いたくない。 GNU/Linuxディストリビューションのどれかでいい。 仕事であんまりMacである必要ないしね。 とは言うものの、.NETだったりしたらしょうがない。ほんとしょうがない。 Window…

Ubuntuは.bash_profileを読み込まない。.profileが正解

タイトルまま。

BitBucketで公開鍵ファイルをアップロードすると、Invalid file typeになる

試したのはこんな公開鍵ファイル。BitBucket.org.pub ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAtd/Q6aDv6115V98z/g1WX/fs7L8MNKJMkX/9C022upqdX05FVZCFhHJloWaoScYZC53YzTlWxr25mO5E9TSllY5Znbu6UCsNW9S8v7YeDv/mdgc5WOIV0x+3DzpDhqBNtH3qz8/nh5zk38dAGVfI9fSv1…

Oracle MySQL Developer Day大阪に行ってきた

Oracle MySQL Developer Day – Osaka http://www.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=141276&src=7328803&src=7328803&Act=69大阪で、MySQLのイベントなんて珍しいな、と思って行ってきた。 勉強会で見かけるメンバーは、誰もいなかっ…

Ubuntuでデフォルトエディタを設定する。

update-alternativesコマンドって意外に便利だ。 $ sudo update-alternatives --config editor

VirtualBoxでホストとゲストで共有ディレクトリを作り、自動マウントする

共有フォルダ「share」(ホストOS)を「/mnt/share」(ゲストOS)にマウントします.「/etc/rc.local」に以下を追加しますが,「exit 0」より前に書きます. mount -t vboxsf share /mnt/share書式: mount -t vboxsf マウント対象 マウントポイント mount -…

Linuxでpbpaste、pbcopyを使う。

$ sudo ap-get install xclipalias pbcopy='xclip -selection clipboard' alias pbpaste='xclip -selection clipboard -o' ちなみに、Ubuntuの端末でカーソルを使ってコピペするには。 Ubuntuの端末(コマンドライン)でコピー&ペースト(貼り付け)する方法端…

Ubuntu 11.10でデフォルトで作成されるディレクトリを日本語から英語にする

今までのUbuntuにあったコマンドは、使えないらしい。 ホームフォルダに、Desktop、Downloads、Templates、Public、Documents、Music、Pictures、Videos、という名前のフォルダを作成する。mkdir Desktop Downloads Templates Public Documents Music Pictur…

VirtualBoxでAlt-TabをホストOSに渡す

ファイル -> 環境設定 -> 入力 キーボードの自動キャプチャのチェックを外すただ、ゲストOSでショートカットキーを押しても、ホストOSに行っちゃうのでイマイチ不便だ。

SubversionのリポジトリをGitリポジトリに変換し、BitBucketに登録する。

今回はSVNのダンプからリポジトリを復元した。 $ mkdir ~/svn $ svnadmin create ~/svn/test $ svnadmin load ~/svn/test/ < svndumpfile $ sudo apt-get install aptitude $ sudo aptitude -y install apache2 $ sudo aptitude libapache2-svn $ cd /etc/ap…

SQL Azureで管理ポータルにログインできないとき

こんなエラーが出てる人。 Server name cannot be determined. It must appear as the first segment of the server's dns name (servername.database.windows.net). Some libraries do not send the server name, in which case the server name must be in…

RVMのインストール

Ubuntu 11.10。Macではまったく困ったことがなかったが、 UbuntuではreadlineがLoadErrorになってハマった。 結局、rvmをimplodeして再インストールしたらいけた。 原因不明。ソフトウェアエンジニアとしては、一番情けない答えだね。 $ sudo apt-get instal…

Rubyであるディレクトリ以下の全ファイルの半角カタカナを全角カタカナにする

ファイルエンコーディングはUTF-8とする。 コマンドライン引数で、ディレクトリを指定する。 require 'nkf' path = ARGV[0] Dir.glob("#{path}/**/*.html").each { |file| contents = "" open(file) { |stream| contents = stream.read } open(file, "w") { …

ソフトウェアエンジニアは技術力だけでもいい、技術力以外の何かでもいい

技術しか学んでいないプログラマはダメだ、みたいな話が流行のように、周期を伴って叫ばれる。僕個人は、そんなことどうだっていいんだ、って考えてる。 技術があるかないかとか、ビジネスに転換できるかどうかとか、業務知識があるかどうかとか、ほんとどう…

メンバーからの提案に「No」を言わない

メンバーからの提案に「No」を言わないってのは、とても大事なことだ。もし実現できないことでも、「No」とは言わず、「Yes, but...」形式にして、はじめに「Yes」と言う。「あとでいいんちゃう?」みたいにはぐらかしてしまうのも、いい結果とならない。 プ…

新型(ノーマル)Kindleを購入し、電車でオライリーの電子書籍を読む

オライリーの震災の被災者支援キャンペーンで、電子書籍を6冊購入したものの、iPad2がクックパッド端末と化し、持ち運べる電子書籍端末をずっと調査していました。 Kindle3は古いし、Sony Readerは高いし、でKindle4をずっと待っていました。 先日、ついに発…

eclipseのEmacs+に追加する設定

Delete Previous Ctrl + H Editing Text Open Search Dialog をUnbind Commandする。 Ctrl + H, *系のコマンドをすべてUnbind Commandする。 Maximize Active View or EditorをCtrl + MからCtrl + Shift + Mに変更する(Ctrl + Mの改行が効くようになる)

CAP定理、証明されています

http://lpd.epfl.ch/sgilbert/pubs/BrewersConjecture-SigAct.pdf未証明のままだと思っていました。CAP定理に興味のある方は、こちらもどうぞ!クラウドでの新しいACID、そしてBASEトランザクションとCAP定理 http://d.hatena.ne.jp/jyukutyo/20090430/12411…

eclipseのWTPでPublishingせずにHot Reloadingさせる

参考にさせていただいたサイト WTPで毎回ワーキングフォルダをPublishingしにいってほしくない設定 - yummy-yummy http://d.hatena.ne.jp/uriyuri/20080328/1206694040 Serversに設定してあるTomcatの設定を変更 Over viewタブ設定 Server OptionsのServer m…

MyBatis Generatorで出力するクラスをカスタマイズする

Generator - mybatis - An introduction to the code generation tool for MyBatis - SQL Mapping Framework for Java - Google Project Hosting http://code.google.com/p/mybatis/wiki/Generator MyBatis(旧iBatis)には、ジェネレータがあって、DBのスキー…