私のトイレの小便器選択のアルゴリズム

普段なんとなくしていることだが、注意してみたら自分の行動に法則があったので書いておく。時が経つと変わるかも知れない。
以下の優先順位で小便器を決定する。

  1. 使われた直後ではなく、水が流れていない
  2. 端っこではない
  3. 隣に人がいない

時が経つと変わるかも知れないと書いたのは、昔は自分は端っこが好きだったから。
歳をとるにつれて段々と真ん中寄りがよいと感じるようになった。

これは完全に満員電車の影響。座れたとしても端っこだと、大体電車が揺れた際に人が当たってきたりして一番被害を受ける。
とか言いつつ、端っこの小便器の下ってやたら濡れてる確率が高いことも関係しているかも。

大体の人は端っこが好き→故によく使われる→床を濡らす回数が増え他よりも濡れる、とかいう理由かしら。
こういうくだらない統計を取っている人っていないのかね。

JJUG CCC 2015 Fallに行ってきた #jjug_ccc

かろうじて行ってきた。

jjug.doorkeeper.jp

起きたのは8時くらいだったのだが、前日にPostgreSQLカンファレンス2015に行っていたこともあり、布団でごろごろした結果、昼になる。
そこから洗濯をしてスプラトゥーンしてたら夕方になってしまい、不幸にも黒塗りの高級車に追突してしまう結局懇親会から参加。
前回は夕方から、今回は懇親会から、と段々参加が遅くなってきている。。次回は二次会からか?
CfPに応募して登壇者になれれば当事者意識が芽生えてもっと早く来ることが出来るようになるのかしら。。?

懇親会だけの参加とは言っても、JJUG参加者が回を重ねるにつれ増えてきているのは感じることが出来た。Java勢いある。
学生の登壇者の方もいたようで、若い人が増えてくるのは活気があって良い。
盛り上がってきたところで懇親会が終わってしまったのだが、二次会まで行ってしまうと完全に日曜日が潰れるので懇親会のみで帰宅。歳をとってきたのでこのあたりのバランスが取れるようになってきたぞ。

最後に、参加、運営でイベントに関わった皆さんありがとうございました!

#Scala を始める前の感想を書いてみる

Scalaの勉強を始めるにあたって、自分用のメモとしてつらつらと印象や感想、疑問を書いておく。
そこそこやったあとで見返して、やってみてどうだったか書くのも面白かろう。尚、現状はHello, Worldレベル。

静的言語

静的言語であり、型の恩恵を受けながら、簡潔なコードでロジックを組むことが出来る。
JavaではボイラープレートコードをIDEで生成するか、Lombokのアノテーションを付けることにより生成していたがそれも不要。

DI、AOP

あまり使わない印象を受ける。
自分はJavaSpring Framework、Spring Bootをよく使っていたので、このあたりはどのようにして解決していくのかは興味がある。AOPで特定クラスのメソッドに自動的にトランザクションを貼る派なのだが、トランザクションブロックは宣言的に書くのだろうか?

sbt

sbtというむつかしいツールにてビルドする。
Mavenでもomit祭りやいろいろハマリどころはあるのだが、それに比べてどのくらいハマリポイントがあるのか怖いながらも興味津々。GradleでScalaビルドしたい気もする。余談だが、なぜGradleはdependencyのprovided scopeやるだけで一苦労するんだろう??

Play! Framework

昔はLiftとかを良く聞いていたのだが、すっかり聞かなくなり、これがデファクトと思って間違いなさそう。DTOとかエンティティとかもJavaと同じような感じで使うのだろうか?DTOの詰め替え地味に面倒だけどScalaだと楽に出来るのかしら?

変化

Javaに比べて言語、ライブラリの変化が激しい印象。故に常にウォッチしてキャッチアップしていく必要があると思っている。
自分は変化自体は嫌いではないので、変化を楽しみながらやっていこうと思う。

#ISUCON 5予選惨敗記

せっかく参加したので死亡診断書として書いておく。

まとめ

準備不足。 爆死するにしても死に方が悪過ぎた。
MySQLもっと触る。アンケートにはPostgreSQLもよろしくとは書いておいた。

経緯

最初はエンジニアの人と出ようとして人探しをしていた。しかし、応募締め切り間際に身内の不幸があり、出られなくなったら迷惑をかけるので、非エンジニアの弟を数合わせで調達。
作業は自分1人ですることにして、来年のための布石として参加。

経験

メンバー

  • 弟(非エンジニア)

事前準備

当日

  • 1人で作業
  • 12時になんとかJavaでアプリを動かすことに成功する(スコア500台
    • ローカルで試すテストデータはtargetディレクトリにあったものを利用。しかしログイン出来ないデータだったため、実際のアプリをつついて挙動を試す羽目に
  • MySQLのスロークエリログを出そうとするが出ず。。
  • LIMIT絞ったらスコア改善したが800台。。
  • 発狂して終了

来年勝つためにやること

  • 出題者と飲む
  • 決勝出場者と飲む

ダイイングメッセージ

メモ

mysql> select * from users limit 1\G
*************************** 1. row ***************************
          id: 1
account_name: eliza_lindgren1
   nick_name: セイヤ
       email: eliza_lindgren1@isucon.net
    passhash: 37a6375e08f13093eb35fa17c49410f4e5766213a91c4364d49b1bbc1af65c34504148a6ed64c0d8ac5a34690bff67e96ad4618ce85f05cf91aecff9db7f40e2
1 row in set (0.00 sec)


+------------+------+
| table_name | size |
+------------+------+
| comments   |  589 |
| entries    | 2225 |
| footprints |   28 |
| profiles   |    0 |
| relations  |   52 |
| salts      |    0 |
| users      |    1 |
+------------+------+
7 rows in set (0.00 sec)


mysql> select table_schema, sum(data_length+index_length) /1024 /1024 as MB from information_schema.tables  group by table_schema order by sum(data_length+index_length) desc;
+--------------------+---------------+
| table_schema       | MB            |
+--------------------+---------------+
| isucon5q           | 2898.68750000 |
| mysql              |    0.84579945 |
| information_schema |    0.00976563 |
| performance_schema |    0.00000000 |
+--------------------+---------------+
4 rows in set (0.21 sec)



root@q:~# time mysql isucon5q_2 < dump.sql

real    2m12.185s
user    0m8.440s
sys 0m1.280s

調べたリンク

WebのUIのプロトタイプを作るのはJSFiddleが楽で良い

今更感満載だが、JSFiddle便利。サインアップしなくても使えるし。
html、JavaScriptCSSが1画面で書けてすぐ実行することが出来る。尚、CSSとしてSCSS、JavaScriptとしてCoffeeScript、Babelを指定することも出来る。
SAVEすれば一意のURLが発行され継続して編集出来る。

f:id:eiryu9:20150913161812p:plain

自分はjQueryを使いたかったので以下のように指定して開始。

f:id:eiryu9:20150913161032p:plain

作っていた物は以下。

jsfiddle.net

ただ画面をスクロールするだけでも、要素のslideが終わってからでないと位置がずれたりするのでDeferredを使うのを試していた。

最近流行のReact.jsとかもここらへんは同じようにDeferred的な物で頑張るしかないのだろうか?jQueryよりここらへん簡単に出来るならさっさと移行したい。個人的にはマイナー指向なのでMithrilが気になっているのだが。

#テルマー湯 に行ってきた

行ってきた。場所は歌舞伎町のゴールデン街の隣。現在は11月30日(月)までのキャンペーン中で入館料が少し安くなっていた。

土曜日の18時くらいに入ったのだが、それほど混んでおらず、浴室も広くて快適。種類も多かった。

  • 白湯
  • 炭酸湯
  • シルク湯
  • ジェット
  • 寝湯
  • 露天寝湯
  • 露天白湯
  • サウナ
  • スチームサウナ

館内には料理屋もあって、和食と中華があり、その他にカフェやバーもある。なかなか美味いが料金はそれなりに高めか。 支払いは退館時に払う仕組みで、それまでは腕に付けた端末をリーダーにタッチして課金していく。
館内では無料のWi-Fiも提供されている。SSIDをIPとか書いちゃってたけど。。

自分の行動としては、まず湯に入り、その後、リクライニングのある休憩エリアでリクライニング備え付けTVで男子バレーを少し見た後、カフェで電子書籍を読んだり、jQueryをいじったりしていた。jQueryおじさんなので。(https://jsfiddle.net/zjLtmx1n/8/
21時くらいになったら再度湯に入った後、和食屋で天ぷら御膳カスタムを食べてみた。カスタムしたのはご飯をプラス500円でいくらご飯に変えたこと。なんでもオープンしたてなのである程度柔軟に変更出来るとのこと。

1つだけ残念だったのは、初めてなので入館の際に受付のお姉ちゃんに色々質問した時に、お姉ちゃんが途中からめんどくさそうになっていたこと。俺は気分が顔に出やすい分、他人のそれも敏感に感じ取ることが出来るのだ!

とはいえ、総じて満足なので皆行った方が良い。

♨︎

天ぷら膳カスタム(いくらご飯

#Jenkins が死亡したので運用について考えてみた

ディスクFULLでJenkinsが死亡した。別の記事でJenkinsが死亡することがあるのは知っていたが、ディスクFULLでも死亡扱いになるらしい。

こういうのを防ぐにはまず監視するべきなんだろうが、Jenkinsが増えてくるとそれぞれ監視する必要が出てきてどんどんつらくなってくる。

なので、以下の方針でJenkinsを運用するべきなのではと思った。

  • 活発なプロジェクトについてはそれぞれJenkinsを用意して監視
  • あまり活発ではないプロジェクトについては、1つまたは処理的にまかなえる台数のJenkinsに集約。ビューを分けることによりジョブの閲覧性を確保

まあ単純に監視台数は最少にという方針。

CircleCIとか使うとこういうことそもそも考えなくて済むのだろうか。

参考