Murayama blog.

プログラミング教育なブログ

Mapのputメソッドの戻り値

return map.put(key, value); // putが戻り値を返すなんて。 今まで気づいてませんでした。 追記: 誤解を招くコードだったので修正しました。 #キャッシュの用途としては間違っていました、すみません。 putメソッドの戻り値は以前の値なので注意しよう。 …

MacのEclipseがなんとなく使いにくい件

たとえば、Orverride/Implement Windowを開いてオーバーライドするメソッドを選択したいんだけど、 キーボードの何を押せばチェックを入れれるのでしょうか。 #マウス使ったら負けかなと思ってるので。。

EnumでStateパターン的なものの真似

Enumについて調べてたら面白い使い方が紹介されていたので真似してみました。 J2SE 5.0 Tiger 虎の穴 Typesafe Enum package en1; public enum Signal { BLUE { @Override public Signal next() { return YELLOW; } @Override public void doSomething() { S…

Enumでシングルトン

Enumはシングルトンとして使うことができる。by Effective Java package en1; public enum SampleEnum { SINGLETON("insance_name"); private SampleEnum(String name) { this.name = name; } final private String name; public void showName() { System.o…

WriteRoomがexpiredになってHTMLでそれっぽいのを書いてみた件

Web

MacにはWriteRoomという便利なアプリケーションがありまして、 集中して文章を書かないといけないときに重宝してました。 WriteRoom - Macの手書き説明書 土曜の昼下がり、ひさしぶりにブログでも書こうかなと思いWriteroomを起動してみたら、 お試し期間終…

ビルダー

GW最終日ということで、Effective Javaを読んでみました。 項目2 数多くのコンストラクタパラメータに直面した場合はビルダーを検討する というのを見て、試しに何かのビルダーを作ってみたくなったので、何か作ってみました。 お題:SQLを実行するクラス的…

ActiveRecordだけ使う。

RubyのORマッピングツールのActiveRecordを使う方法メモ。 #ActiveRecordのインストールは完了してるとして。 DB(Sqlite3)上にユーザテーブルを作ります。 create table users( id INTEGER PRIMARY KEY AUTOINCREMENT , name text , password text); データ…

Pastebotがホッチキスみたいで楽しい件

今更なんですが、最近iPhoneアプリにハマってます。 と言っても今のところ、もっぱら落とす専門で、開発に至ってないですが。。 ここんとこ、ストリートファイターやらファイナルファンタジーやらゲーム関連のアプリも充実してますね。 こっそり両方購入した…

ソートアルゴリズムの実装

一般的?なソートアルゴリズムのJava実装まとめ。 選択法(セレクションソート) 交換法(バブルソート) 挿入法(インサーションソート) シェルソート クイックソート 選択法(セレクションソート) import java.util.Arrays; public class SelectionSort …

RubyGemsでインストール済みのライブラリを確認する

gem serverでサーバが起動してくれる。知らなかった。 # gem server Server started at http://0.0.0.0:8808 ブラウザでhttp://localhost:8808/にアクセスするとこんな画面が表示されます。 インストール済みのライブラリ一覧が見れるので、たとえばtwitter4…

twitter4r

rubyで最近はやりのツイッターをいじってみようと思ってちょっと調べたのでメモ。 rubyでTwitter APIを呼び出すにはtwitter4rってのが便利らしい。 なのでまず、gemで調べてみます。 # gem search --remote twitter *** REMOTE GEMS *** atok-twitter (0.1.0…

コマンドプロンプトのプロンプトを変える方法。

コマンドプロンプト上で「prompt=xxx」と入力する。xxxのところは任意で。 C:\work>prompt=# こんなかんじのが表示されてるときに、 こんなかんじに入力。 すると、こんなかんじになります。 コマンドを実行するとこんなかんじ。 プレゼンするときやブログを…

TCPヘッダとコントロールビットのメモ

TCPヘッダ フィールド名 長さ(ビット) 送信元ポート番号 16 宛先ポート番号 16 シーケンス番号 32 ACK番号 32 データオフセット 4 未使用領域 6 コントロールビット 6 ウインドウ 16 チェックサム 16 緊急ポインタ 16 オプション 可変長 ヘッダサイズは20…

tcpdumpの使い方

tcpdumpはネットワークのトラフィックを監視するツールです。 tcpdump で監視がスタートします。 ただい、この場合、NICに流れるいろんなパケットが出力されちゃいます。 特に、sshでログインしてtcpdumpってするとびっくりします。 監視対象のパケットを絞…

VirtualBox上のCentOSにsshでログインする方法 in Mac

VirtualBox上のCentOSにsshでログインする方法のメモ。ホストOSはMacです。 VBoxManage setextradata "cen" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/Protocol" TCP VBoxManage setextradata "cen" "VBoxInternal/Devices/pcnet/0/LUN#0/Config…

Top 100s by YearとFREEの話

App Storeで1位になってるアプリ。 1948年から2009年までのトップ100曲がいつでも聴けちゃいます。*1 http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=292142331&mt=8 正直、これはかなり良いです。1位になるだけのことはあります。星…

ポートを開いているプロセスを調べる方法

netstatコマンドでポートとプロセスIDの関連がわかる。 netstat -tanpオプションの補足:-tはTCP、-aですべての情報、-nで数値表示、-pでプロセスIDの表示。 ポートからプロセスの詳細を調べるにはlsofコマンドを使う。 lsof -i:portNo 疑問 PID/Program nam…

iptablesの設定 入門編

Linux勉強中です。 今日はiptablesを試してみます。 参考書籍はこちら。 Ubuntuで作るLinuxサーバー (日経BPパソコンベストムック)作者: 日経Linux出版社/メーカー: 日経BP出版センター発売日: 2008/12/12メディア: 大型本購入: 6人 クリック: 369回この商品…

だから1週間休め。

Tumblrというのがあって、 使っている人にはメジャーなんだろうけど、 使ってない人には謎な世界があります。 僕の場合は、なんとなく暇なときにiPhonemでTumblrってたりするんですが、 最近自分のリブログを見直してみると、なかなか面白いネタが貯まってき…

Cacoo

Web

Web上で簡単なお絵描きができます。 正直、こういうのがほしかったです。 Cacoo - Create diagrams online Real time collaboration UIも凝りすぎてないし、無駄な機能も少ない。 なんていうか、 ちょうどいい。 なにより、どこでも描けてどこでも見れるって…

マルチメディアサーバを作るの巻 - DLNAクライアント編

前回のサーバ編の続き。 せっかくサーバをたてたのでクライアントから接続してみたい。 そんな当たり前のところをまとめます。 DLNAクライアント ちょろっと調べてみたところDLNAクライアントアプリはそんなに多くないようです。 僕はクライアント機にMacを…

マルチメディアサーバを作るの巻 - DLNAサーバ編

最近Linuxをいじってます。CentOS。 Linuxあまあまな僕ですがちょっと勉強がてらいろいろやってみます。 本日のテーマはこちら。 DLNAサーバ。 なにそれ、常識? Digital Living Network Allianceの略で、電子機器間のネットワーク接続を可能にするガイドラ…

javax.sql.DataSourceはスレッドセーフか

というのが気になりました。 Webアプリケーションの開発で、 JNDIでInitialContextからDataSourceを取得してキャッシュするようなコードをよく見ます。 例えばこんなの。 private static DataSource ds = null; public static Connection getConnection() th…

久しぶりに聴いてみたいBeatles

年末なので、たまにはゆるいブログを書いてみようと思いました。 えと、僕という男は王道(いわゆるベタ)が好きでして、 漫画ならワンピースとかスラムダンクとか、あと、ジョジョも。 服を買うならBEAMSとかSHIPSとか、 お酒を飲むなら最近はハイボールみ…

理想のプログラム

プログラムの話です。仕事でやるJavaとかの話。 プログラム書いてる人は、自分のプログラムにこだわりがあるもんだと思います。 例えば if (i > 100) { } と書く人がいれば、 if(i > 100){ } と書く人もいる。 何が違うのかというと、ifの後に半角スペースを…

SHIFT_JISとWindows-31Jと、から〜(WAVE DASH)

今までわかったふりをしてきた文字コードの復習。 間違ってたらつっこんで下さい。 Eclipse上で以下のファイルを作成して実行します。 package sample; import java.nio.charset.Charset; public class Sample { public static void main(String[] args) { S…

ほぼはじめてのMaven Eclipseとの連携その1

次にMavenで作ったプロジェクトをEclipseで利用できるようにします。 大体の手順は以下のとおり。 Eclipseにクラスパス変数M2_REPOを登録する Mavenでプロジェクトを作る MavenプロジェクトにEclipseの設定ファイルを作る Eclipseからプロジェクトをインポー…

ほぼはじめてのMaven

Javaを触る機会が増えてきて嬉しい今日このごろ。 思えばここ数年、お仕事では.NETの案件とか教育事業の案件とかで、 家に帰ってからはRubyやらActionScriptやらiPhoneやら流行ものに流され続け、 30歳にして再びJavaに帰ってきたかんじ。 ちょうど良いので…

IllegalArgumentException IllegalStateExceptionの使い方

IllegalArgumentException IllegalStateExceptionの使い方についてまとめます。 IllegalArgumentException パラメータ値が不適切 メソッドのパラメータ(引数)が不正だった場合にスローする例外クラスです。 例えば、 public void introdue(String address)…

Javaプログラマがとりあえず知っとくべき標準例外

Javaに用意されている標準例外の話。 Effective Javaの中にわかりやすくまとめられていたのでメモ。 例外クラス 意味 IllegalArgumentException パラメータ値が不適切 IllegalStateException メソッドの呼び出しに対してオブジェクト状態が不正 NullPointerE…