k4200’s notes and thoughts

Programmer side of k4200

「早稲田大学の理工系におけるコピペ文化について」について

Twitterにこんなのが流れてきた。

早稲田大学の理工系におけるコピペ文化について

自分の周りの状況を「早稲田大学の理工系」って一般化するなよ。とまず言いたい。

これで終了ってのもなんなので、以下、少し細かい話を。読みたい方だけどうぞ。

続きを読む

Chromeのブラウザ拡張(Extension)を作る

最近仕事関連でChrome Extensionを作ったので、ポイントとかを簡単にまとめてみる。

前提

環境とか
  • 古いChromeには対応しない(ChromeのバージョンによってAPIが変わってたりする)
  • manifestのバージョンはv2
作るもの

Extensionにはいくつかのタイプがあるが、今回は以下の様なものを作る。

  1. ブラウザに表示されている内容を取得
  2. 1で取得した内容をExtensionのJavaScriptがパース
  3. Extensionのポップアップを表示し、2の内容を表示
  4. ポップアップ上のボタンを押すと、内容がサーバーに送信される

イメージとしては、はてブとかEvernoteのブラウザ拡張を思い浮かべてもらえれば良いかと。

後述する専門用語で言うと、browser action (あるいは page action) + content script という構成。

続きを読む

昔書いてたblogを復活させた

以前、レンサバで自分のblog持ってたんだけど、しばらく放置してたらスパムコメントが大量についてデータファイルが肥大化して動かなくなってしまった(懐かしのMovableType)。

何かこのまま捨てちゃうのも勿体無いので、復活させることにした。でも自分でやるのも面倒なので、クラウドソーシングを活用。あっという間にデータファイルが復旧した。この後、WordPressに移行する予定。

いやー、もうクラウドソーシングが無いと生きていけない体になってしまった。

昔のblogはこちら

Squerylでカスタム集計関数(custom aggregate function)を作る

Squerylでsum, avgとか以外の集計関数を使いたい

集計関数とはavgとかsumみたいに、複数の値を受け取って1つの値を返す関数のこと。Squerylではここに載っているものがサポートされてる。

でも、今回は、medianを使いたい。中央値。中央値と平均値の違いがわからない方は検索してね。

環境は Squeryl 0.9.5-6 っす。

続きを読む

退職エントリーを書いてみたい

退職エントリー書ける人が羨ましい(皮肉とかでなくて)

年度末、期末とかになると退職エントリー花盛りじゃない。正直羨ましいなー。何か名の知れた会社でバリバリ活躍してたエンジニアが、同じく名の知れた違う会社に転職して、前の会社で勉強になったこととか次の会社での抱負とかを前向きに語って、スゴい眩しい。

最近TwitterとかFacebookとかあまりチェックしてなかったけど、比較的付き合いのある知り合いのエンジニアの方も最近転職したみたいで、その彼が退職エントリーを書いたかどうかは知らないけど、転職先は技術的に面白そうな会社。羨ましい。

続きを読む

Play! 2.1のroutesでOption型のパラメータを・・・

やりたいこと

あー、タイトル分かりにくくてすみません。

今作ってるサイトで、要はこういうことをやりたいんです。

GET     /$areaId<[0-9]+>                    controllers.Foo.bar(areaId: Int, subAreaId: Option[Int] = None)
GET     /$areaId<[0-9]+>/$subAreaId<[0-9]+> controllers.Foo.bar(areaId: Int, subAreaId: Option[Int])

でも、エラーが出る。

No URL path binder found for type Option[Int]. Try to implement an implicit PathBindable for this type.

ググったらStackOverflowに同じ質問があった。

Play 2.0にはあった機能が2.1で無くなったらしい。言われてみると、2.0時代に使った記憶もあるし・・・バージョンアップして機能が削られるって珍しいね。

続きを読む

EC2上のMySQLをRDSに移行する際のポイントとか

Amazon RDSとは、Amazonが提供するマネージドのMySQLサービス(OracleMicrosoft SQL Serverもあるけど)。

最近、いくつかのプロジェクトでEC2上のMySQLからRDSに移行したので、その際に気をつけるポイントとかを書いてみる。

続きを読む