ドワンゴに入社して3ヶ月が経った

※この記事は自由意志に基づいて執筆され、報酬は発生していない。

6月末に退職者のブログ記事が立て続けに発表されたので、それに対抗して新入社員の僕も書く。とは言っても、退職エントリに対して入社エントリは不利だ。まだ知らないことが多いし、迂闊なことを書くと怒られる。他の職場を知らないので説得力もない。いいことないね。

先に断っておくが、全てはいち社員である僕の主観にすぎない。

お前誰?

私はエンジニア職だ。研修を終えて6月中旬から今の部署に配属された。どこまで言っていいのかわからないので所属は言わないことにするが、既に僕がやった仕事は世に出ている。

仕事

チームのメンバーは腕も人柄も良く、疑問に思ったことは聞けば丁寧に教えてもらえる。心理的安全性は強固だ。新卒の僕は特に配慮してもらっており、わからないところはじっくりと勉強に時間を使うことができている。触っているプロダクトは多くの人に使われているうえに歴史的経緯もあって複雑で、コードの質を保ちながら新規機能を追加していくのはチャレンジングな仕事だ。成長できる環境だと思う。

だが、今の僕はやるべき仕事をこなしていくだけで精一杯だ。自分たちの会社が誰にどういうサービスを提供していくかという大局的な視点を持つような余裕はまだない。サービスが巨大すぎて自分の会社が何をやっているのか把握しきれないという面もある。

環境・待遇

時間的拘束は緩く、仕事中にフラッと体を動かしに離席しても特に何も言われない(何か思われている可能性はある)。今の僕はコアタイム付きフレックス制で平均して1日8時間になりさえすれば自分で調整できる。そのうち裁量労働制になるかもしれない。

オフィスには給茶機もお菓子売り場もある。昼は弁当を売りに来るので社内で昼食を取れる。銀座のランチは混むのでこれはありがたい。Slackでは雑談も仕事の話も盛んだ。インターネットやniconicoが好きな人間が多いので文字コミュニケーションはやりやすい。

給料はネットに書いてあるとおりの額で、日本の初任給としては高いと思う(エンジニアならこんなもんか?)。ちなみにネットに書いてないものはない。

今の社内の雰囲気

6月末で社内で名の知れた人が何人か辞めたが、それほど浮ついた雰囲気はない(僕は浮ついていた)。もともと転職が多い業界で、転職は当たり前という認識がある。大部分の社員にとっては目の前の仕事に全力で取り組むことに変わりはないのだと思う。

退職しないの?

今のところそのような予定はない。成長や待遇ももちろん重要だが、僕はドワンゴのやっているサービスや考え方が好きだ。全盛期の勢いは失ったとしても、必要とされなくなることはないと思っている。早く成長して価値を生み出せるようになりたい。

BSのCM

なんとなく食べて帰りたい気分だったので職場の周りをウロウロしてたら、家系ラーメンが1日だからと500円サービスをやっていたので300円のネギチャーシュー丼を付けて食べてきた。丼の味がとても濃くてラーメンの味が消えた。味のインフレ。

僕はテレビはアニメしか見ないので、必然的に目に入るCMもオタク系のものばかりだ。しかし今日はBSでブレイドアンドソウルの再放送があり、珍しくBSにチャンネルを合わせた。するといかにも売れなさそうな映画のCMが流れていて、違う土地に来たときのような驚きがあった。

明日投稿するためのちょっと重めの記事を書いていたので今日の分はパッとしない。そもそも毎日新しい出来事が起きるような生活ではないので日記も必然的にマンネリ化する。センコロール見てえ。

いろいろあって『君の名は。』を見た

今日は色々あったんだけど色々あってここには書けない。

『君の名は。』を見て『天気の子』が楽しみになって、明日から始まる7月期のアニメと戦う決意をした。

お酒は飲んでません。僕は自分の身体の損壊に対して非常に敏感なので脳を少しずつ殺す飲料だと考えると飲みたくなくなってしまった。飲みたい。右の親知らず結局どうにかしなきゃいけないと言われてしんどい。嫌だね。物理身体。ヒト。尊厳。

散髪ガチャ

近所に安い床屋があることに気づいたのでそこで散髪をした。随分大胆に切られた気がする。1050円。順番待ちエリアにマンガがたくさん置いてあって、高校の帰りに古本屋でマンガを立ち読みしていたことを思い出した。そしてこち亀は圧倒的に面白い。

帰りにスーパーで焼きそばの材料を買ってきた。『おいしい焼きそば』を自称する焼きそばをカゴに入れながら、この商品名によって売上はどのくらい上がるのだろうかと考えていた。『おいしくない焼きそば』よりは売れるだろうか、いや、物珍しさの効果で『おいしくない』方が売れるだろうか。あるいは、おいしくない商品なら『おいしい』の方が売れるというような交互作用が存在するのだろうか。

その後は『30日でできる! OS自作入門』を読み始めた。フランクな文章で読みやすいのだが、実践を重視しているくせにWindowsでフロッピーディスクに焼いて動かすという地獄のような実行方法で、Ubuntuでやるならそこを適宜読み替えていかねばならないのが手間だ。幸い先人は多くいる。

ゆく人くる人

※この記事はビールを2本飲んで書かれた。

という気分になっているのだなあ。

mesoさんには2017年のインターンのときに初めてお会いした。中間発表会に遅れてきたとき、席は用意してあったのに入り口の近くの床に座っていた。当時人事部長という立場にありながら偉ぶらず人を緊張させない振る舞いとしてとても印象に残った。フランクな人柄と組織の中核としての毅然とした態度の両方を尊敬している。

kmizuさんは新卒Scala研修の講師だった。Scalaのことなら何でも知っている。言語の第一人者から教わることで、細かな仕様にも妥当性や事情があることがわかった。動けばいいやのアマチュアではなく、隅々まで理解し尽くしたプロとしての仕事を求められることを実感した。

お二人とも新天地でのご活躍を祈っています。

くる人は誰かって?それは僕です。

houseTemperatureプロジェクトの大詰め

自分の家の天気(気温・湿度・気圧)をRaspberry Piから5分ごとにサーバに送り、それを使っていろいろ遊ぶプロジェクト(github)もそろそろ大詰めだ。使用技術はScala + Play Framework。開発環境にもデプロイにもDockerを利用している。サーバはこのブログと同じさくらのVPSで、nginx-proxyによってサブドメインgyokuroへのアクセスを振り分けている。

ドキュメント

ベースURLはhttps://gyokuro.chao.tokyoで、現状公開しているリソースは以下のとおりだ。

例:
{"status":"200","data":{"time":"00:25:00","temperature":27.7,"humidity":76.7,"pressure":1001.6}}
例:
{"status":"200","data":[{"time":"00:00:00","temperature":27.6,"humidity":76.8,"pressure":1001.7},{"time":"00:05:00","temperature":27.6,"humidity":77,"pressure":1002},{"time":"00:10:00","temperature":27.8,"humidity":76.3,"pressure":1001.9},{"time":"00:20:00","temperature":27.8,"humidity":76.5,"pressure":1001.7},{"time":"00:25:00","temperature":27.7,"humidity":76.7,"pressure":1001.6}]}

iframe化の苦労

WordPressは自由なhtmlをウィジェットに追加できるので、iframeを使って/temperature/nowを常に表示しようと思った。しかしPlay FrameworkはデフォルトでX-Frame-Options: denyが設定されているのでiframeに表示されない。これはクリックジャッキング防止のためだ。クリックジャッキングというのは僕のサイトを透明なiframeにして他のサイトの上に重ねて表示させることで、僕のサイトの任意の箇所を不正にクリックさせる手口だ。

MDNにしたがってX-Frame-Options: allow-from https://example.com/を登録しようと思ったのだが、なんとChromeは対応していない。ブチギレてる。対応してないということで無視されているのでとりあえず動いてはいる。ユーザーがクリックできる箇所はないのでたぶんオッケー(ホンマか?)。

iframeが表示されるようになったはいいが、黒背景に黒文字で表示されていて読めなかった。WordPress側からiframe内のstyleを操作するのは無理っぽかったので上記の通りクエリパラメータで白文字化できるようにして対応した。

頑張って作ったので適当にAPIで遊んでみてください。グラフ化するやつ作ってほしい。

ちなみに現在の状況は27.8 ℃、76.1 %、1001.4 hPa。肌がべたつきやや不快だ。今夜から明朝にかけてすごい降るらしい。通勤はできるかな?

ニコニコ動画のランキングが新しくなった

※私はドワンゴに雇用されているが、この記事は自由意志に基づいて執筆され、報酬は発生していない。

大きな変更なので告知ページが作られている。

僕はプレミアム会員なので5つのカラムを自由にカスタマイズできる。欲張りなのでどのジャンルも取りこぼさずに、かつ自由に使えるカラムも欲しかった。そのためにはデフォルトカラムを上手く使う必要がある。

カラムをカスタマイズするときはジャンルは3つまでしか設定できない。しかしデフォルト状態では各カラムのジャンル数は左から順に4, 2, 5, 3, 1だ。一見してわかるとおり、一番右のカラムのその他ジャンルを左から2番目のカラムに加えるだけで自由になるカラムが1つできる。僕はここに例のアレタグを入れた。

こうすると左から2番目のカラムは(音楽・サウンド)・ダンス・その他の3ジャンルになるのだが、その他の再生数が多すぎて他の2ジャンルの動画が見えなくなった。そこでその他を左から4番目のカラムのラジオと入れ替えた。完成形はこんな感じだ。

最上段に広告が入る。ランキングの順位に広告ポイントが影響しなくなった代わりに、固定広告欄が設けられた。順位に広告ポイントが影響しないということは、ランキング自体の質は向上していることが期待される。

本日終了

※この記事は『麦とホップ』を飲んで書かれた

今日はお酒を飲んで同期の面白い話を聞いたのでもう終了です。昨夜は睡眠不足で今日はずっとイマイチだったし。

きのこの山/Scalaでアンパックもどき

きのこの山

きのこの山というお菓子を何かと比較する不遜な輩が多くいるようだ。

きのこの山はチョコレートとカリカリが分離している。万事において分離しているというのは大事なことだ。均質ではなく、高いエントロピーの中で異質なものが混じり合う中にこそグラデーションが生まれる。そしてグラデーションの中にこそ精妙な味わいが生まれてくる。

カレーをかき混ぜてはいけないし、丼料理をつゆだくにしてはいけないし、醤油にわさびを溶いてはいけない。それが俺の美意識。

Scalaでアンパックもどき

関数に複数の引数を渡すとき、コレクションをそのまま渡したいことがある。たとえばPythonであれば*を使ってアンパックできる。

Scalaでこれをやりたくで3分ググったところη-expansionを使った方法が見つかった。

(plus _)plusメソッドを関数に変換した後、さらにtupledメソッドによって1つのタプルを引数とする関数に変換している。

正確にはアンパックではないことに気づき、タイトルに「もどき」をつけた。

スマホを買い換えなかった

僕のAndroid端末のツイッターアプリは長いツイートが勝手に省略されてWeb版に飛ばないと続きが読めなかった。アンケートも表示されなかった。さらに最近はツイートをタップしてもリプライチェーンが表示されなくなった。

Androidのバージョンが6.0で古いからアプリが更新されていないと思っていたのだが、確認してみたらなぜかアプリの自動更新がツイッターには効いていなかっただけで、手動で更新したら5系から8系に一気に上がった。上記の問題も全部解決した。Androidのバージョン起因と思い込んで端末買い替えの情報収集をしていたが必要なくなってラッキー、ただしちょっと残念な気持ちもある。新しいスマホ使ってみたかったので。

歴代の携帯電話を紹介するか。

SoftBank 840P(2010.4〜2015.3)

高校入学時に購入。直接のきっかけは部活の連絡網がメーリングリストだったこと。家族や部活、クラスメイトとのメールに重宝した。一応web閲覧もでき、Yahoo地図やYahoo時刻表には助けられた。毎月の料金は端末代980円を含んで3000円前後だったと思う。

LINEが入らなかったせいで大学1年生のクラスや大学3年生の学科とのコミュニケーションに大きな支障を来した。

バッテリーが死に、その頃には古すぎてどこの店舗にも替えパーツが売ってなかったせいで起動すらできなくなった。が、電源ボタンを1時間くらい連打したら一瞬起動したのでその間に電話帳などはサルベージした。

iPhone6(2015.3〜2017.4)

先代の反省から広く流通しているモデルを、ということでiPhoneにした。スマホになったおかげでツイッターができるようになった。Ingressもやりはじめた。

月額料金は2GBプランで端末代含めて8000円程度。高えよ!!SoftBankへの怒りが蓄積した結果、2年縛り終了後即座に交代の憂き目に遭う。というのも買ったタイミングが絶妙に早すぎてSIMロック解除の対象にならなかったので、キャリアを変えるならこの端末は使えなかった。

FREETEL REI(2017.4〜)

安さを追求しMVNOへ。端末は一括購入で25000円くらい。AndroidはiOSに比べて痒いところに手が届く感じがあり気に入った。明るさの自動調整やアプリの自動更新など。端末自体は低スペックなのでGPSで発熱するとかカメラが不調で再起動しないと使えないなどの不具合はある。

SIMはFREETEL。毎月1〜2GBの使用で料金は1000円〜2000円程度。安いのだが安すぎたのか潰れて楽天モバイルに吸収された。ユーザーの僕には特に影響はない。今回は買い換えを見送ったがバッテリーがだいぶ怪しくなっているのでもう長くはないと思っている。