全人類の快適なブラウジングのために
Chrome ウェブストア - CustomBlocker
https://chrome.google.com/webstore/detail/customblocker/elnfhbjabfcepfnaeoehffgmifcfjlha
(^o^)< 今日も動画作るよ!
( ˘⊖˘) 。o(Youtubeにアップしてみんなに見てもらおう!)
|Youtube| ┗(☋` )┓三
( ◠‿◠ )☛ 貴様の動画は気に入らん。HTML上から消えてもらう
▂▅▇█▓▒░('ω')░▒▓█▇▅▂うわあああああああああああああああああああああああ
Youtubeは公式にNG機能を提供していないようなので、「おすすめ動画で表示された特定ユーザの動画だけ非表示」を実現するためのChrome拡張を探してきた。「Youtubeの中で特定ユーザを非表示」だと範囲が狭すぎるのか手頃な拡張が見つからなかったので、汎用的にHTMLの要素を非表示にできる拡張を使うのが良さそう。
開発用VM+VM構築自動化=プログラム可能な開発環境?
vagrant+VirtualBoxでできそう。VMwareでも類似のツールはあるかも。思想信条だか宗教的なアレでOSS版がある方が好ましかったのでひとまずこれを調べてみる予定。
開発環境の構築は無人化すべきである
プログラム可能な素材 → 思い通りの物になる魔法の砂、ナノマシン
プログラム可能な開発環境 → 開発環境用VM+VM内の環境構築自動化
VM内に構築することで、まっさらな環境に必要なツールやデータだけの環境ができる。構築自体を自動化しておけば下記のような状況で便利。
- コードとして構築の手順を残せる
- 仮に開発用PCを物理的に壊してもリポジトリから構築手順を取り出せる
- ゴミデータを一気に掃除したい場合の再構築
- 複数人での開発など複数の環境構築
- 他の開発をする時に構築用のコードを使いまわして別環境を作れる
主な同期はgoldbook/jpshp2db · GitHubの開発の続きをやりたくなったので。下記のような作業は自動化したい
酷い豆知識
Gemのインストールが妙に遅い時、ドキュメントを殺すとはかどる。
gem install gem_name --no-ri --no-rdoc
手元にドキュメントが入ってこないことになるのでよろしくないかも
notepad++を64bit環境で使う時の注意
バージョンの数字が違う以外に、VM名の部分が異なる。notepad++が32bitアプリケーションのために呼ばれるコマンドプロンプトも32bit版になっている?
- Windows7 64bit版で作業中
- notepad++からコマンドプロンプト起動
- java -versionでjavaのバージョン確認
- 直接コマンドプロンプトを起動
- 直接起動したコマンドプロンプトの場合と呼ばれるjavaのバージョンが違う
Notepad++から起動したコマンドプロンプト
java version "1.7.0_07" Java(TM) SE Runtime Environment (build 1.7.0_07-b11) Java HotSpot(TM) Client VM (build 23.3-b01, mixed mode, sharing)
直接起動したコマンドプロンプト
java version "1.7.0_09" Java(TM) SE Runtime Environment (build 1.7.0_09-b05) Java HotSpot(TM) 64-Bit Server VM (build 23.5-b02, mixed mode)
Javaの仕様を復讐する
- ローカルクラス
- メソッド内で定義されたクラス。アクセス修飾子を付けられないので
Enumの呼び出し方
- 例外処理
- RuntimeExceptionとそのサブクラス=実行時例外は実行するまで発生するか予見できないので、キャッチすることは必須でない。*1
- 拡張for文
- for文の条件文が若干異なる。「型 変数名 : 配列等」
- オブジェクト直列化と復元
- 直列化するオブジェクトのクラスがサブクラスの場合、継承元クラスがSerializableを継承していないと復元時に継承元クラスのコンストラクタが呼ばれる。
- Scannerクラス
- テキスト処理を行うクラス。デフォルトではスペース区切りで文字列を取り出す
*1:故意に「必ずRuntimeExceptionが発生するコード」も作れるが
RubyでGrowl for Windowsの通知を出す
ソースの更新を監視してテスト自動実行して結果を通知出すとクールらしいので。ひとまずRubyのスクリプトで通知を出すところまで。