20130214
http://event.shoeisha.jp/detail/1/timetable#14
行ってきた
参加したセッションとその一言感想
* エンタープライズ/ソーシャル/スタートアップ ~インターネットの3つの世界~
ユーザー, 開発者が多様化したWebの世界では「何を作るか」に哲学を持って開発するが大事(伊藤直也氏)
* エフェクティブiOSプログラミング
アルゴリズム, リーダブルコードを書くための指南書
* HTML5で高速なWebアプリ
onloadないでイベントをbindするのではなく, <head></head>内でイベントをbindしてevent.target.idで処理を制御する
Androidのデフォルトブラウザは(笑)レベルのスペック
* RubyでiOS/Androidアプリを作るMobiRuby
Rubyは他の言語をラップしてRuby流に書き換えることに長けている
Rubyはすごいぜ!!
* 怖くない関数型言語
関数型言語とは・・・
プログラミングスタイルの1つ
言語に依存しない概念
Scalaが面白そう
明日も行きます
20130202
Javaの話
String str1 = new String("hoge");
String str2 = new String("hoge");
System.out.println(str1 == str2); //falseを返す
これはよく知られている話
"=="は変数に代入された値を比較するのだが, str1, str2にはそれぞれ
Stringクラスのインスタンス, つまりそれぞれ文字列"hoge"のメモリ上の位置が代入されている
メモリ上の位置がそれぞれ異なっているので上のprintlnは常にfalseを返す
そこで, 文字列の比較にはequals()という関数を使ってあげる
System.out.println(str1.equals(str2)); //true
equalsはメモリ上の位置ではなくオブジェクトの中身を比較する
"hoge" == "hoge"よりtrueが帰る
じゃあ定数と比べるときは次のどちらが良い書き方だろう
1. str1.equals("hoge")
2. "hoge".equals(str1)
なんとなく1で書いている人が多いのではないだろうか
1の場合, もしstr1がnullだった場合にはequalsというメソッドは
もちろん存在しないのでExceptionが発生する
一方2の場合は"hoge"というオブジェクトにはequalsメソッドがあるため
たとえstr1がnullでも"hoge"とnullの比較でExcptionは発生しない
1の書き方を使うとすると
if (str1 !== null && str1.equals("hoge")) { }
またはtry catchで囲むという方法はあるが, 無駄な処理をなくすために
2の書き方をしてみてはどうだろうか
基礎的な内容でした
20130201
以前作ったタブ固定の改良版
タブ固定が消えているのはChromeが閉じている時で, Chromeを起動した時私は新しいタブページがデフォルトで開かれる設定にしているのでちょっと改良した
https://www.dropbox.com/s/8nw8sh9ttboizab/pinned_tab.zip
MAMPとかは自分でよく使うので入れてます
tmuxがすごい
http://www.machu.jp/diary/20130112.html#p01
これまでターミナルのタブを開きまくってた私からすると感動的なほど便利
位置画面でコンパイル + scp + コーディング出来る
何よりもパソコン好きな人に見えるw
20130118
ちょっと作ってみた
https://www.dropbox.com/s/8nw8sh9ttboizab/pinned_tab.zip
特定のブックマークフォルダ内のすべてのURLを「固定状態で」開く
Chrome Extension
PCの電源を落とした時Chromeの固定されたタブも消えてしまい, それを復帰させるのが面倒なので作った
なんか久しぶりに不便を改善するために作った気がする
あ, iconとか見た目は一切気にしてないです
20130108
つまらないものですが, 作ってみました
https://github.com/takashihonda/array_to_object
配列を同じ階層の深さを持つObjectに変換します
用途もあまりありませんが, 再帰関数のサンプルにいいと思います
逆のことを行うと, Objectを連想配列に変換できます
20130107
最近のスマートフォンブームによって, 開発者に求められるスキルが変わって来ました
特にWeb系のエンジニアの皆様ならば, PCサイトと同様にしてスマートフォン用のサイトやWebアプリケーションを作成できるので, 自分の活躍の幅が広がっていると思います
しかし, 仕事をするとなると忘れては行けないのがFuture Phone(ガラケー)の存在です
ガラケーユーザーなんかもう無視しよう. と言いたいところですが未だにユーザー数が多いのも現状です
そして頭を悩ませるのがデバッグ
スマートフォンはUser Agentを書き換えればなんとでもなりますが, Future Phoneはそうは行きませんね
でもいちいちFuture Phoneを出すのも面倒
そんな時に便利なのがこのChrome Extension
https://chrome.google.com/webstore/detail/firemobilesimulator-for-g/mkihbloiacgiofaejgagokalpeflnmbe
これを使えばChrome上でFuture Phoneのデバッグができてしまいます
まあ, Future Phoneに絶滅して欲しいことには変わりないんですがねw
ちなみにFirefox版もあります(っていうかおそらくこっちが先祖)
https://addons.mozilla.org/ja/firefox/addon/firemobilesimulator/