日々精進

aikoと旅行とプログラミング

COLOPL INTERNSHIP 2018 BUILD UP 参加記

IMG_6860.JPG (1.6 MB)

COLOPL INTERNSHIP 2018とは

今回、株式会社コロプラ(以下コロプラ)で開催された COLOPL INTERNSHIP 2018 に参加してきた。これはインターンシップの総称で、その中にエンジニア向けのMASH UP, HACKATHON, BUILD UP, プランナー向けのTHE PLANNING GAME, デザイナー向けのSTEP UP, 総合職向けのTHE STRATEGが存在する。今回参加したのは、エンジニア向け&&サーバーサイドエンジニア向けの BUILD UP に参加させていただいた。

株式会社コロプラとは

コロプラを知らない人、そんなにいないのではと思いつつも一応書いておくと、社長の馬場さんが作成した「コロニーな生活」というゲームがきっかけで2008年に法人化。その後も、「クイズRPG 魔法使いと黒猫のウィズ」や「白猫プロジェクト」他にも「ツムツムランド」などのゲームを世に送り出している。最近はゲームだけでなく、VR事業 などにも注力している(ことをインターンシップに行ってから知った)

会社は恵比寿にある。あの(?)恵比寿ガーデンプレイスタワーにある。恵比寿駅東口からずっと屋根があるので、雨がある日でも安心である。にしても恵比寿は何度来ても若干場違いな感じがある。何なんだろうあの感じ。ビール飲みたい。

サーバーサイドエンジニア向けインターンシップ BUILD UPとは

エンジニア向けのインターンシップの中で、サーバーサイドエンジニアを志望する学生に向けたインターンシップがこのBUILD UPである。BUILD UPの説明を公式HPから引用すると、

コロプラで実際に運用されているゲームで、現場の業務を想定した課題に取り組みます。先輩エンジニアのサポートのもとで開発をし、なかなか経験できない高トラフィック下の実務に近いコーディングを学べるため、ゲームの裏側を実践さながらに経験でき、確実な実装力アップに繋がります。また、コロプラの水準を満たすアウトプットをしていただけた場合は、実際のプロダクトに反映しユーザーさまにお届けします。(引用元:https://be-ars.colopl.co.jp/internship2018/engineer/buildup/

とある。つまり、普段体験することのないリクエストやトラフィックを処理するためのアーキテクチャアルゴリズムなどを考え実装するというものである。この 実際に運用されているゲームで現場の業務を想定した課題 というのが今回選考を受けたモチベーションの一つで、普段そこまでパフォーマンスを意識して書いていたことがなかったこと、とりわけパフォーマンスを要求されるゲーム業界での経験値を積みたいという思いから応募した。

あと地方の方あるあるだが、「交通費全額支給・宿泊費全額支給」というのが大変うれしい。むしろこれがインターンシップを選ぶ基準になっている気もする。あと、日給2万円 です。最高。

選考フロー

選考フローとしては,

  1. エントリーシート提出
  2. 書類選考
  3. 技術テスト
  4. 面接
  5. 合否通知

という流れであった(ごく一般的なインターンシップの選考フローだと思う). 面接では人事の方と気さくに、でも様々なことをお話することができた。質問も結構したようなイメージが有る。あくまで持論だが、この業界面接がフランクだし、肩の力を抜いて自分の思っていることやお気持ちを伝えるのが大事だなと思う。想定しているよりも合否通知に時間がかかったので、落ちたのでは…と思っていたところに合格のメールが来たので嬉しかった。

合格してから

格通知がきてしばらくすると、家に課題書籍が送られてきた。正確には課題というわけではなくて、これを使うので勉強しておいてねというもの。自分はやったことがないものだったので、とりあえず行くまでに一通りやろうとして前日に1冊終わった。計画性の無さがよく分かる。その他にも、サーバーサイドなので軽くMySQLのパフォーマンス周りの部分を復習したり、そもそも使う言語の方を復習したりしていた。その間にも他のイベントやISUCONの準備等でバタバタしていたらいつの間にかインターンシップ当日という感じだった。

インターン中の日記

インターン中に書いていた個人的な日報のようなものを乗せる。最終日になればなるほど何も書いていないのは察して。雰囲気だけでも伝わると良いなということでのせます。途中出てくるいろんなものは最後に社の雰囲気みたいなところにのっているかもしれない。

1日目

  • 絶好のインターンシップ日和(台風が来ています)
  • Twitterでしかつながってない人と駅で待ち合わせする
  • そして遅れる(電車が)
  • aikoきいて気合を入れる
  • 無事に合流するもコミュ障を発揮する
    • ????「くまさんじゃん」
  • 入り口にくまがいます(くまさんほんとかわいい) IMG_6928.JPG (1.8 MB)

    • 私のアイコンは別のくまなので謎の親近感を覚える
    • 親戚ではない
  • 初日のガイダンスを受ける
  • 一人一台MacBook Pro(13inch, RAM 16GB)を貸与される
    • 最近メモリ16GBぐらいないとしんどくなってきている
  • なんとディスプレイも一人一枚あってうれしい
  • 環境構築バトルをする
  • いつもと違ってかなり順調に行くので焦る
    • これは社員さんの準備のおかげ
  • 昼飯がステーキ

    • 実質夕飯という感じだった IMG_6862.JPG (2.0 MB)
  • 眠気

  • Code City というものを知る
  • 基本的な構成に関する講義を受ける
  • 台風がいい感じに接近する
  • 課題に取り組み始める
  • 無限コーヒーが得られる
  • 台風の影響でまさかの早退になる
  • 17時には帰宅になる
    • まあね、初日だからね
  • 懺悔

2日目

  • インターンシップに行くといつもそうだが、当たり前のように寝不足
    • 部屋の中のあるランプの切り方がわからずめっちゃ明るかった
  • 9:30ぐらいに出社する
    • 普段の大学よりもかなり早く出社しているため, 実質早朝出勤
  • 朝から二人ぐらいオフィスまで連れて行く
    • みんな迷い過ぎでは?
  • コロデリにふるーつがわらわらしているのを眺める
    • コロプラでは朝フルーツとかシリアルを無料で得ることができます
    • 無限のバナナがある(いいえ加算有限)
  • コーヒーを無限に飲む(いいえコーヒーも有限)
  • 今日も講義パートがあってDBに関するものをいろいろ知る
  • お昼はなんかオシャレなところで熊を見ながら食べる
    • というか社内に無限に熊が存在している
  • サーバーサイドなので, Mackerelを食べる IMG_6895.jpg (2.3 MB)

  • オタクこわ…ってなる

  • 意外とPCゲームが好きな人が入るという話を聞く
  • 本来昨日行われるはずだったオフィスツアーが開催される
    • 社内の写真は後ほど
  • 午後もコーヒーを無限に飲む
  • 相変わらずのGit力の弱さを感じる
  • トイレに10290492039029320回ぐらい行くなどする
    • 2日目, 実質トイレと席を往復していたら終わっていた
  • 自頭の悪さで爆発しそうになる
  • 夕飯は牛タンシチュー IMG_6904.JPG (1.6 MB)

3日目

  • なんか朝起きたら北海道が大変なことになっていてビビる
  • 大坂なおみ錦織圭が4強でめでたい
  • 今日もやっぱり早めに出社
  • 朝食みながら見る景色がエモい
    • オフィスからの景色が大変良い
  • 今日は一日作業日なので, 講義パートは無し
  • お昼ご飯、人生で一番オシャレな中華だった(これは酢豚) IMG_6913.JPG (1.7 MB)
  • 社員さんにaikoジャンキーを発見する(!!)
  • やっぱり眠くなってる
  • ごはんたべながらGCPのお話をする
    • やはり企業だと個人ではできない規模の実験とかもできていいなあとなる
  • 支離滅裂な思考・発言 Screen_Shot_2018-10-05_at_1_00_50.png (18.5 kB)

  • コーヒー無限にのんでる

  • 机の上に福井要素をおいてアピールする IMG_6914.JPG (1.5 MB, orientation fixed)

  • あ〜〜〜〜マジで実装難しいな!!!!!しか言えずに1日終わる

  • Instagramのストーリー見てないで帰りなさい!!!って言われる(それはそう)
  • お魚食べて優勝 IMG_6918.JPG (1.8 MB)

4日目

  • あの、早めに出社です
  • 朝早めにきてバナナとサンドイッチとコーヒーを食べるのが日課になりつつある
  • 今日は発表日なので、あまり時間がないと焦りつつ最後の課題に取り組む
  • お弁当食べながらもくもく IMG_6934.JPG (1.5 MB)

  • めっちゃ頑張ってるときに、推しアーティストのMVが最優秀賞とっていて喜ぶ

  • 色々あってスライドを作るのがめちゃくちゃギリギリになって、終わらね〜〜〜〜〜っていいながらスライドを書く
  • 成果発表会開始
  • スライドに某くまを載せることに成功した!!
  • 各チーム、それぞれインターンシップ修了証を貰う
  • 動く方のくま(きぐるみ)がおるやんけ
  • 片付けして懇親会
  • 片付け中、ナチュラルにノートPCを自分の鞄に入れる人が続出する
  • 懇親会スタート
  • 恵比寿のうまいお酒情報を聞く(あれ?)
  • 人事の人、実質店員
    • 完全に我々の注文を受け取って店員さんにリレーする人になっていた
    • 店員さんより店員さんをしている
    • 鶏肉フェスティバルだった
  • 役員の方も到着してワイワイ!
  • いい話をきいて締め
  • 解散!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

社内の様子

入り口

エレベーターがくまさんでかわいい。1台だけ目をつぶっている。 IMG_6927.JPG (1.7 MB) 入り口にいるくまさんは思ったより大きくて威圧感がすごい IMG_6928.JPG (1.8 MB) すっごいきれいな待合。ソファーふかふか。ぬいぐるみとにらめっこしていた IMG_7360.png (4.9 MB)

オフィス

我々が作業していたオフィス。この画像でいうと左側の椅子が集まっている部分で作業していた。 IMG_6891.png (2.1 MB) 顔を横にふるとたくさんぬいぐるみがいる。めっちゃかわいい。あと当たり前のようにくまもいる。かわいい。 IMG_6893.JPG (1.9 MB) 基本的にこのスペースで講義が行われた。窓からの景色がエモ IMG_6888.JPG (1.6 MB) 会社の窓際にはソファとか椅子, テーブルが置かれている。基本ここで朝ごはんを食べていた。この横にフルーツが盛られていた。 IMG_6909.png (1.9 MB) コーヒーなどを無限に得られる IMG_6896.JPG (1.4 MB, orientation fixed) 別のフロアにはこんなスペースも。右手のテレビがあるスペースは、ゲームがめちゃくちゃおいてあります。休憩時間とか就業後にあそんでるみたい。 IMG_6921.JPG (1.9 MB) これ完全に持論ですが、イケてる会社は壁に草が生えている気がする。穴があいてるところは、中で作業できます。もくもく。 IMG_6920.JPG (2.1 MB) そしてこれがコロパーク。ここでお弁当食べたり、成果発表を行った。めっちゃかわいい。 IMG_6924.JPG (1.6 MB) さわれるタイプのくまさんがいる。かわいい。このくまにもたれかかってる社員さん多数存在した。 IMG_6925.JPG (1.9 MB) こたつも生えている IMG_6926.JPG (1.6 MB) 部活動もけっこうあるみたいだった IMG_6922.JPG (1.6 MB)

他にもマッサージルームがあったり色んな所にテーブルがあって立ちながら会議ができそうだったりとオフィス環境はとっても良さげだった。詳しくは以下のページにたくさん載っているので見てほしい。

be-ars.colopl.co.jp

感想

IMG_6886.JPG (2.5 MB)

インターンシップの内容について

今回は、コロプラで実際に運用されている某ゲームを題材にサーバーサイドのコードを書いた。最初はコードを書くだけなのかと思っていたが、なんと実際のゲームの画面で確認しながら進められるという点に感動した。仮想環境ではあるけれども、実際に自分が書いたコードが動いてアプリ上で表示されている様子を見たときによくわからない嬉しい気持ちになった(表現が難しい) これ本当に良かったなあと思う。

また、コードを書くだけではなく、コードを書いていく上で必要な知識を講義という形で教えていただいた。現在コロプラが運用しているゲームのサーバーサイド構成や、新規で取り組んだ新しいアーキテクチャの説明、DBMSの仕組みやロック、インデックスの大切さなどサーバーサイドエンジニアとしてやっていくために必要な知識を教えていただいた。自分の中では、DBのロックの話をしっかり勉強したことがなかったので大変役に立った。

会社への印象

今回このインターンシップに応募したモチベーションは、上にも書いたがゲーム業界で仕事するとはどういうことかを感じたいというものだった。4日感という短い期間ではあったが、課題をこなしたりその課題に対しての質問等を通して少しはイメージができたと思う。特に、途中でメンターの方がおっしゃっていた、サーバーサイドエンジニアは存在感を感じさせてはいけないという旨のメッセージ(があったとおもうが)はそうだよなあと思うなどしていた。ゲームを運営していく上で、クライアントサイドはユーザー数を増やすために重要である。が、しかしサーバーサイドがあまりにも不安定だとそれは結果的にユーザーの減少につながってしまう。いかに安定した運営ができるか、レスポンスを短くできるかという大変ではあるがやりがいのある仕事であると思った。

コロプラの特徴に、メンテナンスタイムが無いというものがある。メンテナンスタイムがあれば、運営としては余裕を持ってメンテナンスや移行に取り掛かることができるが、その時間だけユーザーはゲームをプレイすることができない。メンテナンスタイム無しでずっと維持できる様々な工夫も見ることができてよかった。

あとは、社長の馬場さんがSpanner好きという話を聞いて、会社を引っ張っていく存在の人が技術に理解があるというのは良いなと思った。実際自分でゲームを開発したから今があるわけで、かつてはエンジニアだった馬場さん。エンジニアの気持ちもよく分かっているだろうし、自分も積極的に企画等に参加しているという話も聞いた。

新しいアーキテクチャへの挑戦

勝手なイメージだったが、ゲームのアーキテクチャはわりとシンプルな構成だったりするのだと思っていた。あとは泥臭く手動でやったりするのかな、とか。今回コロプラで聞いた話に、とあるタイトルをモダンなアーキテクチャで作ろうという取り組みがあった。

ほう、Kubernetes+Spanner+Spinakerという構成だった。まさかこの手の話を聞けるとは思っておらず、導入している企業もあるのだなあと思っていた(他社で導入してるとか、そういうのも全く知らないので先行事例があったら無知すいませんという感じ)他にもSREであったり新しいことに挑戦していく風土のある企業であると感じた。

まとめ

4日間という限られた時間の中で、課題に全力で取り組めたと思う。インターンシップに行く前、二人でペアになって作業するというのを聞いて、若干の不安を感じていた。結果、そんな心配は不要でとてもいい方だった。自分は突然見たことのないソースコードに当たったときに読むのが遅いなあと思っていて、その部分をいい具合に補ってくれたと思う。また、限られた時間しかないのでいかにメンター陣とうまくやっていくかが重要で、いつもよりもたくさん質問することができたと思う。

そういうものを通して感じたことは、コロプラ社員の人の良さである。自分のメンターだった方も、どんな質問も嫌な顔ひとつせずに真摯に向き合ってくださった。普段なかなか人に聞くというものをしない(なんとなく自分だけで解決したくなってしまう)ところがあったが、今回はガンガン聞くことができたと思う。もちろん自分で全く調べずに最初から人に委ねてしまうのはよくないが、ある程度努力した上で識者に助言を求める行為というのは大変大事だし時間を有効に使う手段だと感じた。毎日夕会をするのだが、そのときもその日に気になったどんな些細なことでも適切なアドバイスをしていただき、その日の夜に技術調査をしたり翌日の実装を行う上での重要なヒントを得ることができた。あのような環境に身をおいて仕事をできれば幸せだと思う。

というわけで、コロプラに興味がある人、ゲーム業界に興味がある人はぜひ行ってみてほしい。サーバーサイドエンジニアとしてやっていきたい人でちょっとゲーム業界興味がある、という人にもおすすめです。4日間本当にありがとうございました。

余談

コロプラの人々とGoogle Cloud Inside Games & Apps @ Next '18 で再会しました IMG_7130.JPG (1.9 MB) この写真はコロプラじゃないですけどね。会場はここでした。スライドは上にはってあるやつです。インターンシップのときの穏やかな社員さんとはまた別の、真面目な社員さんを見ることができた。これからどんどん対外発表も増やしていくようなので楽しみですね。

git challenge #9 参加記 #mixi_git

Git使ってる?

おいみんな!Git使ってるか!!!!!!!!俺は使ってるぞ!!!!ということであの有名な git challenge に参加してきました. ブログを書くまでが git challenge ということで久しぶりにブログを書いています. 自身にとってはじめての株式会社ミクシィ訪問は git challenge になりました.

git challengeとは

株式会社ミクシィが主催する, バージョン管理システムである「Git」に関する競技会です. 引用した文章ですが,

各種サービスやアプリの開発でgitを大規模に活用しています。高品質なプログラムやコンテンツを大人数で速やかに手がけていく現場では、gitの使いこなしも一段と本格的。時には、込み入ったバージョン分岐や後戻り、マージを解決しなければならないこともあります。そんな、今の現場ならではの解決スキルをうまくチャレンジ課題としてイベントし、みなさんに体験して学んでいただき、そしていつか一緒に課題解決できる仲間として出会いたい。 git challengeは、そんな1 dayの技術体験イベントです。(引用元:http://alpha.mixi.co.jp/entry/2015/10/16/114203

とのこと. つまり, Git でやっていき💪という感じです. 交通費がある程度補助されるので, 地方民にも優しい大会になっています.

参加記

ここからは思い出せる範囲で箇条書きで書いていきます.

午前

  • 前日までの疲れで朝起きれない
  • 強い気持ちで渋谷駅に行く
  • 会社に行くまでに渋谷駅で無限に迷う
    • 東口ってどこだよってキレながら歩いてた
  • 無事に会社につくが, ビル1階に人がいっぱいいたので「git challenge人気だなあ」とか思う
    • なんか別のイベントの参加者ぽかったけどよくわからなかった
  • 会場に着けたので実質優勝
  • Twitterたくさんしていいよ!って言われて人権を得る
    • ツイートは呼吸
  • LTをきく. 楽しい
  • チュートリアルをやる
    • ここで基本的な流れを知る. わからなければチューターさんにきこう
  • 昼飯が2種類(正確には3だけど. アレルギーに配慮されたものだった)から選べて最高 IMG_6941.JPG (2.0 MB)
  • 実は毎度昼食にテーマがあって, 今回は「東京オリンピックが決まった日」とのことで和がテーマだったらしい
  • 無限に珈琲がある. 氷も大量にあってすごく良い. スープもある. 液体の品揃えが異常に良い IMG_6942.JPG (1.9 MB)

  • 自作キーボードの話を聞いて自分もやってみたくなる

  • いつかセパレートキーボードをさわってみたい
  • 社員さんがPerlの話をしてくれる
    • mixiはなぜかPerlという印象がある

午後

  • いよいよ競技が始まる
  • おやつの時間に和菓子がデプロイされた(らしい. 自分はたべてない)
  • 問題のWriteUpのようなものは書いてはいけないので問題はかけません🙅‍♂️
  • が楽しかったです.
  • 簡単に言うと, ☆1の簡単なものから☆6の激ヤバ問題まであります
  • 我チームは適度に分業して, ほどほど(中間ぐらい)という感じでした
  • ☆1は全部, ☆2は一つだけダメ, ☆3はひとつとけたかなぐらい
  • 相方が優秀で割と迷惑かけたかも感があった
  • あともうちょっと時間が欲しかった…

解説&懇親会

  • 解説してほしい問題を投票するやつ, 良いと思った(流石に最初の方はわかるのでという気持ち)
  • 最初の方は「なるほどね」ってなる
  • 最後の方は🤔🤔🤔🤔🤔🤔ってなってる
  • とけそうなのもあったので, 1つの問題に固執し続けるのは(この大会に限った話ではないが)いけない
  • 懇親会の料理がめちゃくちゃオシャレ && 美味しい IMG_6943.png (5.2 MB)
  • 前日まで一緒にインターンしていた人々に3人も会う
    • あまりお話できなかったので, なぜかgit challengeの懇親会で懇親会する感じになっていた
  • 懇親会中にお願いして先程解けなかった問題をマンツーマンで教えていただく
    • 優しすぎでしょ
  • 無事に解ける. ヤッター!
  • そんなこんなで懇親会終了
  • 19時ごろ解散

もらったもの

  • Octcatステッカーとか(上, 左, 下の3枚をもらいました) IMG_6949.JPG (1.4 MB, orientation fixed)

  • グラスももらいました IMG_6990.JPG (1.3 MB)

成績

12チーム参加していて6位ぐらい, 中位ですね. 難しい方の問題があまり解けなかったのが悔やまれます… 調べていたワードは近かったけど, 解説を聞いたら「これわからなくない?」ってなりました. もっと Git 力を鍛えないと. 解いた内訳は

  • ☆1: 3問正解(全3問)
  • ☆2: 4問正解(全5問)
  • ☆3: 1問正解(全4問)

となりました. 他にも☆4とか☆5の問題もありましたが全然わからず…

方針としては簡単な問題は各々で説いて, 最後の方は二人で解こうかという感じでした. 僕も相方も最初の方は割と順調に解いていったものの, 最後の方はどん詰まりという感じでした. 基本どのチームもこの方針になりそう.

最初の方に時間をかけずに勧めて, 後半に時間を残すかがこの大会の肝になってくる気がします. そのためにも, お互い基本的な Git のコマンドは普通に使えるようになってからきましょう. 複雑な感じのものは SourceTree とか使っても全然大丈夫だと思います.

感想

正直 Git は得意ではないし常識の範囲内でしか使えないので, このイベントに参加する前までは正直不安な気持ちのほうが大きかったです. 実際にやってみると初級編は自分でも解けるし, それなりに現実でも遭遇するような状況を修正することができる良い機会だと思いました. これが競技会になることで他人との競争意識も芽生え, より楽しいと感じる要因になっていると思います. リアルタイムで結果が反映されて, 緑色のステータス(正解)が見えたときの興奮は癖になりました.

自分の周りにはバリバリ Git 使ってますって人は少ないし, 使ったことがないという人が圧倒的大多数です.(この主張は, Git を知らないことが悪いという意図は含んでいません) そんな人たちも, git challenge のようなイベントで使っていければ, 楽しみながら Git に関する知識が身についていくのではないかと思いました. 確かに上位の問題はなかなか使わないかもしれないけど, それは脳の片隅に置いておいて, 「あっこれ git challenge でやったやつだ!」ってなるだけでも今後につながっていくと思います.

別に git challenge に限った話ではないんですが, もしちょっとでも興味があって行けそうなら申し込んでみるといいと思います. それはこういうイベントだけじゃなくてインターンシップも当てはまると思いますが. 色んな人と出会えるし, 様々な知識を吸収して帰ることができると思います. 今回参加できなかった人, ちょっとでも興味があるよという人は次回開催時はぜひ申し込んでみてください.

pixiv SPRING BOOT CAMP 2018 参加記

DW9qEu-W4AEO0nz.jpg (176.5 kB)

tl;dr

pixiv SPRING BOOT CAMP 2018とは

今回ピクシブ株式会社(以下、ピクシブ)で行われた春のインターンシップPIXIV SPRING BOOT CAMP 2018」に参加してきた. 今回は2/26〜3/2の5日間開催された. 交通費全額支給, なんと遠方から参加の場合は期間中の宿泊費も負担してくれる(ホテルを押さえておいてくれる)東京以外の人にも優しいインターンシップである.

ピクシブ

  • イラストコミュニケーションサービス 「pixiv」
  • ショップ作成サービス「BOOTH」
  • 絵の書き方を学ぶサービス「sensei」
  • Mastodonインスタンス「Pawoo」
  • 画像配信システム「ImageFlux」

などのサービスを展開している. 先日pixiv(イラストコミュニケーションサービス)の登録者数が3000万人を突破したことでも話題になった1. このインターンには副題がついていて, 「この春, ピクシブ"""""圧倒的猛者"""""になる」というものである. 5日間のインターンを終えた学生たちは圧倒的猛者になっている…はずである. 本記事では, ピクシブとはどんな会社なのか, 果たして参加した自分は猛者になったのか, どんな5日間を過ごしたのかについて書いていく.

選考フロー

今回の春インターンには, 2つの応募方法が存在した.

  1. 通常選考 「通常選考」の場合, エントリーシートでの選考が1次選考, 面接が2次選考となる. 遠方から参加の場合, ビデオ面接となった.

  2. GitHub選考 GitHub選考の場合, 自身のリポジトリが通常選考の1次選考に相当する. その後通常選考と同様に面接が存在し, それを突破した人がインターンに参加となる.

今回, 自分は通常選考を利用した. 面接の手応えがあまり無かったため, 落ちたのでは…と思っていたら参加連絡が来たためびっくりした. 面接はとりあえずなんでもいいので, 自分の思ってることをしっかりと伝えておくのが良いのではないかと個人的に思う. 自分の面接を担当してくださった方はとても優しかったので, 是非面接に望む方はリラックスして欲しい.

受かったのは「技術基盤コース」で

pixivでは毎日30回以上のデプロイを行っています。 そんなpixivを支えている技術基盤チームでは日々、pixivを開発しやすくするための改善やテスト、 サービスを横断したアーキテクチャ変更、セキュリティの問題を起こしにくい仕組み作りなどに取り組んでいます。 このコースで技術基盤チームとともに一見地味だが単純ではないpixivの改善に携わってみませんか? (引用:https://recruit.pixiv.net/intern/tech/ )

とのこと. つまり, pixivに使用されている基盤技術に関われるコースである. 不安だったのはPHPを使うという点であったが, 行く前にメンターさんに教えていただいたサイトをのぞいたり自分なりに調べるなりして当日を迎えた. PHP経験は高校でちょっとCakePHPさわったり, 大学で観光サイト作った程度だったので心配になりつつも, スキマ時間を見つけて勉強していった.

ピクシブ社内の様子

社内, めちゃくちゃカラフルで良い. このエリアでエンジニア同士会議したりプレゼンが行われたりする. インターンの最初の自己紹介や, 成果発表もここで行われた. IMG_5811.JPG (1.6 MB) 技術書や漫画がたくさん置かれている. というか, この棚に関して言うとほぼ漫画が陳列されている. IMG_5810.png (2.3 MB) 詳しくはここを見ると良い

www.pixiv.co.jp

社内の机は1つの大きな木の机になっていて, 仕切りもなく色んな所にフラフラと行きやすいのも良かった. 会議室もガラス張りだったりして, オープンな職場だなと思うなどした.

スタンディングデスクもあったりして, 疲れると立って仕事をしたりすることも出来る. スタンディングデスクとても良くて, 自宅や研究室にも導入したさが高まった.

写真は撮っていないのだけど, フリードリンク制なので, お茶やらリアルゴールドやらが飲み放題である. 他にも味噌汁サーバ(味噌汁がかかったサーバではない)や, コーヒーも無料で得られる. インターン生も飲み放題です.

インターン日記

毎日メモ書きのようにしていたので, 箇条書きになっている. どんなことを思いながらインターンをしていたのか, どんなスケジュールで5日間過ごしたのか雰囲気だけでもわかるといいなと. ちょこちょこ出てくるツイートは同じインターン生のものです(掲載許可取得済み)

1日目

  • 朝出発し, 9:30頃に千駄ヶ谷駅につく
  • ホテルに荷物を預けに行く(会社から徒歩20分ぐらいあったので疲れた)
  • 入り口に絵馬が沢山(かつてはもう少し沢山飾ってあったっぽい) IMG_5815 2.JPG (2.6 MB)
  • ついた頃にはそれなりに人が集まっていた
    • なんか長時間遮断器がおりている箇所があるらしく, 罠なので気をつけて欲しい.
      • 千駄ヶ谷駅から来るのならこの罠には引っかからなさそう.
  • 自己紹介フェーズが始まる
    • アニメ視聴率がすごい高い. 「好きなアニメはなんですか」という問いが何回か飛んだ
    • ちょろめ(インターン生)「とにかく光るものが好き」←これすき
    • lyakaap(インターン生)「趣味はKaggleで…」←これほんとつよい
  • スケジュール等の説明を受け, メンター陣とインターン生でお昼ごはんもぐもぐ IMG_5781.JPG (1.9 MB)
  • インターン生もフリードリンクの権利を得ているので, 無限に綾鷹を得られる
    • 朝の健康果実もある(nonsakoはインターン生です)
  • 環境構築をする
    • GithubやらPhpStormの設定をする. 環境設定は難しい
    • 変更されたら自動で転送が走る機能を初めて知る
  • Calmery(インターン生)のターミナルが可愛い
    • 自己紹介の時にも写っていたのだけど, プロジェクターの都合でうまく見えていなかった
  • 実際のコードを参考にしつつ課題をこなしていく
    • メンターさんは本当に優しくて, いろんな質問にも本当に丁寧に答えてくれる
    • わからないときは一人で考えずにどんどん質問したほうが良いです
  • ADD(綾鷹駆動開発)をする
  • 別の場所でやっているインターン生の成果発表がめっちゃ盛り上がってて気になった
  • いつのまにか19時(勤務終了)
  • 交流会(歓迎会?)が始まる
  • 🍣と🍕を食べた. 🍻もあった(飲まなかったけど) IMG_5786.jpg (1.5 MB)
  • 話をしてみると, 他のインターン生レベルが高くてつらくなる. 精進しようという気持ちになる.
    • コレは得意だ!といえるものが1つ欲しいなって思った
  • 研究の話, うまく伝えられなくて理解不足と説明力のなさを痛感した
    • 初心者の方に分かりやすく伝えられないのは大問題なので, しっかりと勉強しましょう
  • 食事後席に戻ると, 近くにいたmipsparcがウエハーのオブジェを見せてくれた.
  • ピクシブの人々は, それぞれ思い思いのオブジェクトを机の上に配置しています IMG_5789.jpg (1.7 MB, orientation fixed)
  • ホテルのインターネット接続が不安定
  • 毎日KPT(Keep, Problem, Try)というのを記述する(思ったことを毎日終わりに書く)
  • 1日目のKPTはこんな感じ Screen Shot 2018-03-03 at 17.06.22.png (111.1 kB)
    • esaにわからない単語メモってたのはあとで役に立ったのでよかった
  • ピクシブではesa使っていて良い感じ
    • esaはいいぞ

2日目

  • ホテルのインターネット接続完全に絶たれてしまい辛くなる
  • 出勤即からだ巡茶
    • フリードリンクは最高
    • フリー味噌汁も存在している
    • フリーコーヒーもある
    • オフィスグリコもある(これはフリーではない)
    • オフィスファミマもある(もちろんフリーではない)
  • お昼ごはんは隣のメンターさんのグループに混ぜてもらう. チキン南蛮食べた(写真撮り忘れ)
  • ピクシブは10時出勤だからか, お昼休憩は13:00頃からが多いっぽい(これは人によるので, その前後で自由に取ればいいとのことだった)
    • 混雑を避けれる気がするので良いなぁと思った
  • あまりにもgitを扱えなくてメンターさんに迷惑をかける
    • ちゃんと学ぼうという気持ちが生える
  • KDD(からだ巡茶駆動開発)をする
  • スプライトがあることを終業後に知る
    • 知らないって言ったらCalmeryとnonsakoに煽られた(かなしいね)
  • お腹めっちゃ空いていたので夕飯食べれるところを探すも, 会社すぐ近くにはあまりないことに気づいてしまう
    • 代々木の方まで行くと沢山の選択肢があります
  • 結局ラーメンを食べる DXCp7KKUMAMEI30.jpg (198.0 kB)
  • nonsakoは毎日食べ物に関するツイートを載せて欲しい
  • ラーメン屋での話のレベルが高すぎてついていけず辛くなる
  • nonsakoがnpm公式サイトの左上が面白いと教えてくれる
  • nonsakoに大岡山キャンパスにある面白建造物について教えてもらう
  • さわやかはいいぞ
  • 本日のKPT Screen Shot 2018-03-03 at 17.08.33.png (111.2 kB)

    • こいついつも飲み物の話題書いてんな
    • gitを何も理解していないことが分かる
  • 質問を積極的にするのは本当に大切

3日目

  • 水曜日, ピクシブでは全体会議が開かれる
  • 会議の前にラジオ体操がある. メチャクチャ久しぶりにラジオ体操をした
  • 会議が始まる
    • 様々なデータが映し出され, これが会社というものかみたいな気持ちになる
  • 全員の前で自己紹介フェーズが始まる
    • 「えー、ニックネームは"かみ”なので, "かみ"と呼んでください
    • アニメの話での盛り上がりがすごい
  • この日は弁当が会社から支給されて, ランチ会のようなものが開催される IMG_5805.JPG (1.6 MB)
  • となりでtokei(インターン生)がケーキを不正受給(大嘘)していた2
  • 誕生日おめでとうございます
  • ピクシブでは誕生日の人をお祝いするイベントがあるっぽい
  • プリキュアruby実装(????)であるRubycureを知る
  • 社内でイチゴが栽培されている事を知る
    • 草いじりが得意なエンジニアは是非ピクシブ
  • 午後からは課題に取り組む
  • 午後は色々やらかしてしまい凹む
    • 変更する箇所はしっかりと見定めましょう
  • 今日もやっぱりKDD(からだ巡茶駆動開発)をする
  • 夜Calmeryと美味しい蕎麦と油揚げを食べることで多少気力を回復した IMG_5807.JPG (1.8 MB) IMG_5808.JPG (1.5 MB)
  • 「天然たいやき!鳴門鯛焼本舗」というお店を帰り道で見つけた
    • 天然たい焼きとは…
    • 我々が普段食べているたい焼きは養殖っぽい
  • 今日もまたインターネットを得られなかった. いつの日かインターネットを得たい
  • 本日のKPT Screen Shot 2018-03-03 at 17.09.54.png (94.2 kB)
    • この日は落ち込んでいたのでなんだか少なめ
    • pushを細かく行なうのではなくて, commitだと思う. どんだけ疲れていたんだ

4日目

  • 午前中はいつもどおり作業をする
  • お昼ごはんをインターン勢5人で食べに行く

    • コロッケと唐揚げ IMG_5809.JPG (1.7 MB)
  • 今日のnonsako

  • この辺からtraP1yakudoがクセになってくる
  • nonsakoが「この牛肉コロッケ, めっちゃじゃがいもの味がする」発言🤔
  • じゃがいもと牛肉をマージしたら牛肉消滅していて悲しいねという話になった
    • コロッケで学ぶgit
  • KDD(からだ巡茶駆動開発)を(ry
  • 夕飯は全国展開超高級イタリアンレストランにtadsan, nonsako, Calmery, mipsparcと行く
  • 全力で間違い探しをする
  • 今日のnonsako2
  • 課題が大体できた気がする
  • 本日のKPT Screen Shot 2018-03-03 at 17.11.15.png (104.9 kB)
    • いい感じになってきたのでKが増えてきていいですね
    • この日はchocomelonさんとの面談があって, 「インターンどうよ?」って話をした. 自信持って頑張ろうって気持ちになった

5日目

  • インターン最終日ということで, 成果発表があります
  • 前日の夜にスライドを書こうと思ったら, 寝ていた(かなしいね)
  • 最終日にインターン勢でのランチイベントが生える
  • 正午集合なのに, 11時過ぎからスライドを書き始めたため終わるはずもなく, 途中の状態でランチに行く
  • 正午というのはやばくて, 任意のお店のリソース(席)が枯渇していて大変だった
  • ので国立能楽堂に行きます(は?)
  • アジフライは大体どこでも美味しい. 実質実家(これは罠で, 実家はさわやか) IMG_5813.JPG (1.7 MB)
  • していません
  • National Noh Theatreって書くのか
  • 帰ってきてスライドを一生懸命書く
  • 絶対に5分では終わらない感じになる
  • 横でElmでスライドを書いている人がいて怖かった
  • とりあえず完成させ, メンターの方と相談する. だいたい良さそう
  • 発表が始まる
  • 皆クオリティが高くて無駄に緊張する
  • 発表本番はほどほどにうけたっぽくてよかった. 卒論感が強かったっぽい. 福井県のアピールをした

トップバッターで緊張するところを, 堂々と発表していてすごいと思った. 直前のカラースキーム変更も頑張って対応していた.

秋山殿〜

Calmery「このスライドもElmで作ってます」←これつよい

  • pixivに実写画像をアップしてはいけないという知見を得られた
  • スライドにげんこつハンバーグの画像を載せるミッションをクリアした
  • 発表後, オフィスのあまり見ていない箇所をtadsan, yudemanjuさん案内でCalmeryとどいちゃんと見て回った
    • 2階と6階にオフィスがあるが, 自分がいたのは2階の中央付近なので他を全く見ていなかった
  • ピクシブ特製クリアファイルというのがあって, めっちゃ可愛い絵ばっかりで全種類ほしいなあという気持ちになった
    • インターン生は全員1枚おみやげでもらいました. ありがとうございます.
  • 6階に行き, pixiv PAYやBOOTHあたりを見て回った
    • 6階は木のいい匂いがします
  • 本棚に「インプレス標準教科書シリーズ H.265/HEVC教科書」があってテンションが上った
  • 6階はお菓子が充実している
  • 18:30から懇親会があった
    • あまり話していないメンターの方ともお話できてハッピー
    • 関数型言語の話をするのって大変なんだなって気持ちになった
    • ビールの泡だけきれいに残るピッチャーが面白かった
    • BOOTHって結構色々売っているので, 今度使ってみようかなと言う気持ちになった.
  • 5日間も一緒に居るとそれなりに仲良くなるもので, 帰るのはちょっと寂しいなと言う感じであった
  • 期間中インターホン貫いてたちょろめくん
  • 帰りの新幹線, みなTwitterしまくりという感じで面白かった.

感想

IMG_5814.jpg (1.6 MB) 写真は頂いたお土産の袋です. ステッカーとクリアファイルと水をいただきました. ありがとうございます🙏

ピクシブ社の印象

オフィスもオープンな感じでよかったし, 特に社員同士をニックネームで呼び合う文化が印象的だった. これはインターン生やアルバイトも例外ではなくて, 最初の自己紹介でニックネームを発表し, メンターさんからもその名前で呼ばれることになる. そのくらいニックネームって重要なので, ちゃんと考えて付けましょう.

日記の方にも書いてあるが, フリードリンク制度が実施されていて大変良かった. 他にも希望のPCを購入できる制度もあったり, 会社の近くに住んでいると5万円の家賃補助があったりと福利厚生的な面でも良いなと思った.

希望のPCを購入できる制度があるのだが, 結構な確率で社員さんはmacを使っていたような気がする(全員を見ていないので何とも言えないが) インターン生でmacではない人が数人いたのだが, いずれも環境構築が辛くなっていた.

あとesa大好きマンなので, esa使ってるのを知って「おっ」てなった.

得られた知見

前述のとおり, 参加前はそれなりに不安もあった. いざインターンになってみると, 周りにいる人々はとても優しく接してくれ, なんなら社内のシステムがどのように動いているかまで詳細に教えてくださった. 良かった点として,

  • 本当にpixivで動いているコードも触ったり読むことが出来る.
    コードの量がすごいので追うのになかなか時間がかかった, がそこはIDEパワーを使った. これが大規模サービスなのか…という気持ちになった.
  • テストの書き方
    今までもテストを書くことはあったものの, 割りとオレオレな書き方だったしテストケースの考え方も雑だった気がするので, 教えていただけたのは本当に嬉しかった.
  • コードレビューをしていただける喜び
    個人的なコードであれば, 最悪自分がわかればよいし他人にレビューをしてもらうということもないと思う. インターン期間中は, 社員の方が自分のコードをレビューしてくださるので, よろしくない書き方についてバンバン指摘していただける. 単語の誤用やインデント, 空行など自分に足りていない部分を認識することができる. プログラムは自分しか読まないコードでも, 汚ければ数日後の自分は忘れて読めないということもありえるので, 常にリーダブルなコードを書くよう意識しなければならないと思った.
  • PHPUnit, Composer, gitの使い方等々
    PHPUnitPHP向けのユニットテストツール, ComposerはPHPのパッケージ管理ツール, gitは分散型のバージョン管理ツール. PHPUnitとComposerは完全に初心者, gitはmasterブランチのみでcommit, pushを行なうタイプの使い方をしている人間なので, ほぼ全てのことが自分にとっては新鮮であった. 最後に書いたコードをパッケージ化するところまで持っていけたのは良かったな, と.

が挙げられる. 他にも色々とあるんだけども. いい機会なので, もしこの先インターンに行く人は気になるところを遠慮なく聞いたり頼ってみるといいんじゃないかと思う.

インターン生たち

あと同じインターン生がなかなか個性的で面白かった. 最初は緊張で無言だったけど, 日に日に仲良くなれてよかったと思う. 初日からほぼずっと一緒だったElm大好きMelcary, 空リプエバンジェリストのtokei, もうなんでも面白いMastdon大好きnonsakoなど本当に楽しかった. ちょろめくんの研究は普通に面白そうで気になります.

日記を見れば分かる通り, 夜ご飯とかはなんだかんだ誰かと食べて帰るという感じの日々が続いた. 5日間とはいえそれなりに一緒にいるので, 積極的に誘ってご飯とか行くと早く仲良くなれるかもしれない. お店は社員さんにお店をリコメンドしてもらうのもアリ.

あまり喋れなかった人もいたので, いつかお話できたらいいなと思う. 能楽堂の食堂でRictyの話をし, ラーメン屋でnpmの話をし, 居酒屋でgitの話をし, 打ち上げではインターネット老人会と関数型言語の話をするなど普段の何倍も刺激的な日々を過ごす事ができたのではないかと思う. またどこかで会えるといいですね.

インターン生みなすごくて, 同世代でコレだけの人がいるのだから自分ももっと頑張らないといけないという気持ちになった. こうやって刺激をもらえる経験はなかなか大学にいるとできなくて, いつもの何倍も刺激的な5日間を過ごすことができた.

まとめ

5日間あっという間だった. 知らないことばかりだったので, 猛者にはなれなかったような気がするが少しは近づけたのでは無いかと思う. 本番環境にコードをデプロイできたのも良かった. 毎日が楽しかったわけではなくて辛かったときもあったが, 終わってみればそれもいい経験だったなと思えた.

5日間しかいなかったので会社の全てをわかったわけではないが, 以前よりピクシブ社に何倍も興味が湧いてきたので良かったと思う. 大規模なサービスにアサインする体験, 会社としての風土や魅力などを知ることができた濃い5日間だった. 全員参加の会議に出られたのも良かったなと思う.

ピクシブが展開するサービスに少しでも興味がある, プログラミングが好き, インターンシップに行ってみたいと思っている人は, 是非応募して欲しい. あんまり技術力が…と思っているそこのあなたも, 落ちたからと言って人生が終わるわけではないのでとりあえず応募してみるのをおすすめします.

5日間お世話になったメンターのtadsanを始めピクシブ社員の方々, インターン生に最大限の感謝を. また戻ってこれるといいな.

ごはん

夕飯や昼飯で行った店のリスト. 意外と探すのに苦労したので, 早めに社員さんに聞いておくのがベター

他の参加者のブログ


  1. ピクシブ株式会社 プレスリリース, “pixivのユーザー登録数が3,000万人を突破”, https://www.pixiv.co.jp/news/press-release/article/6050/

  2. 偶然社員さんの分が1つ余ったのでもらってました. 不正受給じゃないよ(詳しくは彼のブログ記事を読んでね)

HININE NOTEで自分だけのノートを作ってきた

東京都は渋谷区にあるHININE NOTEでノートを作ってきた.

f:id:bath_poo:20171211235852j:plain

というのも, 今月のBabyPeenats(aikoファンクラブ)の会報でaikoさんがノートを作っていたのである. ちょうど東京へ用事があったので, ついでに寄ってノートを作ってみることにした.

店内の様子

f:id:bath_poo:20171212000448j:plain まずはノートのサイズを選ぶ. 基本はB5かB6で, 必要に応じてカットも可能. あとは長辺とじか短辺とじを選択可能 f:id:bath_poo:20171212001900j:plain 実際に製本されているものがあるので, サイズ感や紙, 色の組み合わせなどを確認できる. すでにデザインされた表紙などもあるようだ. f:id:bath_poo:20171212000924j:plain サイズを選んだら, 中に入れる紙やリングの色などを選ぶ. これらは全て上の用にサンプルが置かれているので, 作る際の参考にされたい.
店員さんに「aikoさんの会報を見て〜」という話をしたところ, あのあと何人か店に来ていたみたいだった.

リングの選択

f:id:bath_poo:20171212001013j:plain リングだけでもコレだけの種類が存在する. 今回は金色のリングを選択.

表紙, 裏表紙の選択

f:id:bath_poo:20171212001055j:plain 続いて表紙, 裏表紙を選択. 色は勿論, 様々な素材を選択可能. レザーは1枚900円ぐらいだった気がする(要確認)

紙の選択

f:id:bath_poo:20171212001235j:plain 紙は6種類から選択可能で, それぞれを3〜4パック組み合わせて作成する. 紙は無地, 罫線, 方眼の3つから選択可能. f:id:bath_poo:20171212001404j:plain カレンダーもあったので, 2018年ダイアリーを作成することも可能. カレンダーが終わったあと, 店舗に持ち込むことでカレンダーを取り外してメモだけで使うことも可能. f:id:bath_poo:20171212001612j:plain 試し書きも可能なので, 普段使いのペンを持っていくことをおすすめする. ①②③は滑りやすく, ④⑤⑥は割りと引っ掛かりがある紙だった.

オプションを選択

f:id:bath_poo:20171212001504j:plain ゴムバンドや丸タック, 封筒などをお好みで選択. 今回は赤と青のゴムバンド, 封筒, ポケットを選択した. ゴムバンドは留め具の色を金・銀から選択可能.

実際に作成

f:id:bath_poo:20171212002033j:plain 大量の素材が所狭しと並べられている. f:id:bath_poo:20171212002057j:plain 実際に作っている様子を見ることが出来る. なかなか手帳を作っているところを見ることができないので楽しかった.

完成

f:id:bath_poo:20171212002223j:plain f:id:bath_poo:20171212002229j:plain 表はオリーブ, 裏はカーマインにした. 裏はマットな素材. 表には名前を箔押ししてもらった. 箔押しは5文字いない500円, 6文字〜15文字で800円となる(2017/12/11現在)

自分だけのノート, プレゼントにも最適だろう. ぜひ作ってみては

hininenote.jp

aikoのタイトルは何文字が多いのか調べてみた

昨日に続いてaikoネタ. タイトルの通り, aikoの曲のタイトルを集めて何文字が多いか見てみた.

背景

昨日はFM802のROCK KIDS 802 -OCHIKEN Goes ON!!–にaikoさんが出演された.

22時から1時間まるまるaikoが出演. 「予告」は勿論, 「月が溶ける」がめちゃくちゃ良かった. 番組途中「aikoの曲は2文字とか3文字のタイトル」が多いよねって話に. 言われてみればたしかに多いなとは思っていて. じゃあいったいいくらあるのかと言うのを調べてみることにした.

前提条件

  • 私のiTunesライブラリに含まれているaikoの楽曲(メジャーデビュー以降に販売されたシングル、アルバム曲)
    • 【アルバム】 「小さな丸い好日」から「May Dream」まで
    • 【シングル】 「あした」から「恋をしたのは」

だけでカウントすることとする.

  • 判定条件
    lengthで判定するので, mlikは4, KissHugは7と数えます.

  • 言語
    Ruby, AppleScript

集計

以前使ったものを大いに活用する.

muttan1203.hatenablog.com

とりあえずAppleScriptをかく

tell application "iTunes"
    set lst to {}
    
    repeat with t in (file tracks whose artist contains "aiko")
        copy (album of t as string) to the end of lst
    end repeat
    
    return lst
end tell

なにもわからない. 雰囲気でAppleScriptを書いている. これをRubyに投げる.

require 'gnuplot'

# scriptの実行
songs = `osascript itunes.scpt`.chomp.split(",").map{ |item| item.strip }

# 曲名ごとにカウント
songs = songs.select{|item| !(item.index('instrumental') || item.index('Instrumental'))}.uniq.sort_by { |item| -item.size }

title_histgram = Array.new(songs[0].length + 1){Array.new}
counter = Array.new(songs[0].length + 1, 0)

labels = []
times = []
counter.each_with_index do |item, idx|
  labels << "#{idx}"
  times << item
end

# 描画
Gnuplot.open do |gp|
  Gnuplot::Plot.new(gp) do |plot|
    plot.terminal "aqua font 'ヒラギノ角ゴ Pro W3,10'"
    plot.title  "タイトルの長さ"
    plot.yrange "[0:#{counter.max+4}]"
    plot.xrange "[0:22]"
    plot.ylabel "曲数"
    plot.xlabel "タイトル長"
    plot.bmargin "8"
    plot.style "fill solid border -1"
    plot.xtics "rotate by -90"
    plot.unset "key"

    plot.data << Gnuplot::DataSet.new([labels, times]) do |ds|
      ds.using = "2:xtic(1)"
      ds.with = 'boxes lc rgb "orange"'
      ds.title = ""
    end
  end
end

結果

f:id:bath_poo:20171116232813p:plain 長さが2とか3のものが多い. やっぱりね.

長さ1のタイトル

長さ2のタイトル

  • 距離
  • 初恋
  • 運命
  • 桃色
  • 傷跡
  • 信号
  • 二人
  • 花風
  • 脱出
  • 微熱
  • ボブ
  • 悪口
  • 歌姫
  • お薬
  • 恋人
  • 4秒
  • 合図
  • 半袖
  • 約束
  • 指先
  • 恋道
  • 木星
  • 秘密
  • 瞬き
  • 横顔
  • 花火
  • 恋愛
  • 学校

長さ3のタイトル

  • あした
  • マント
  • 天の川
  • 風招き
  • リップ
  • 朝の鳥
  • 寒いね
  • 二時頃
  • 青い光
  • ずっと
  • かばん
  • 私生活
  • 赤い靴
  • 陽と陰
  • 雨の日
  • Aka
  • 白い道
  • スター
  • あられ
  • ドレミ
  • 自転車
  • 飛行機
  • ライン
  • 心日和
  • 洗面所
  • 相合傘
  • ココア
  • 星電話
  • 卒業式
  • リズム
  • ヒカリ
  • ラジオ
  • 三国駅
  • 君の隣
  • 冷凍便
  • もっと
  • 恋の涙
  • 遊園地
  • 蒼い日
  • 問題集
  • 舌打ち
  • より道
  • まつげ
  • ホーム
  • 星物語
  • 夏バテ
  • 愛の病
  • 桜の時

長さ4のタイトル

  • 恋人同士
  • それだけ
  • アスパラ
  • そんな話
  • 甘い絨毯
  • 小鳥公園
  • ハチミツ
  • 朝寝ぼう
  • 17の月
  • キラキラ
  • 愛だけは
  • エナジー
  • 明日の歌
  • れんげ畑
  • バスタブ
  • トンネル
  • サイダー
  • 大切な人
  • シアワセ
  • キスの息
  • どろぼう
  • 心に乙女
  • 二人の形
  • あの子へ
  • 寒いね…
  • プラマイ
  • 夏が帰る
  • milk
  • beat
  • くちびる
  • ぬけがら
  • 愛の世界
  • 冷たい嘘
  • 何時何分
  • ジェット
  • 雨は止む
  • 線香花火
  • 大切な今
  • 染まる夢
  • えりあし
  • ロージー
  • 4月の雨
  • 好き嫌い
  • 蝶々結び

長さ5のタイトル

  • かけらの心
  • シャッター
  • 深海冷蔵庫
  • 愛のしぐさ
  • 恋ひ明かす
  • 海の終わり
  • カブトムシ
  • 赤いランプ
  • あなたの唄
  • 蝶の羽飾り
  • 恋堕ちる時
  • ナキ・ムシ
  • すべての夜
  • 夢のダンス
  • ハルとアキ
  • ウミウサギ
  • 嘆きのキス
  • あの子の夢
  • 前ならえ。
  • 彼の落書き
  • なんて一日
  • 夢見る隙間
  • キスが巡る
  • ドライヤー
  • 水玉シャツ

長さ6のタイトル

  • さよなランド
  • テレビゲーム
  • 透明ドロップ
  • 未来を拾いに
  • 恋をしたのは
  • ずっと近くに
  • シーソーの海
  • カケラを残す
  • 戻れない明日
  • Yellow
  • アンドロメダ
  • 星のない世界
  • 最後の夏休み
  • キョウモハレ
  • ふたつの頬花
  • ふれていたい
  • ビードロの夜
  • 鳩になりたい
  • 親指の使い方
  • キスする前に
  • ハレーション
  • ポニーテール
  • クローゼット
  • ひとりよがり
  • クラスメイト
  • 向かいあわせ
  • あなたと握手
  • 夏にマフラー
  • 今度までには
  • 白い服黒い服
  • こんぺいとう

長さ7のタイトル

  • 終わらない日々
  • おやすみなさい
  • あたしの向こう
  • ゴーゴーマシン
  • あなたを連れて
  • その目に映して
  • KissHug
  • 水とシャンパ
  • いつもあたしは
  • 恋愛ジャンキー
  • オレンジな満月
  • ボーイフレンド
  • Smooch!
  • 何処へでも行く
  • キスでおこして

長さ8のタイトル

長さ9のタイトル

  • 帽子と水着と水平線
  • September
  • ひまわりになったら
  • 恋のスーパーボール
  • 明日もいつも通りに
  • mix juice
  • 気付かれないように

長さ10のタイトル

  • Loveletter
  • 雨踏むオーバーオール
  • 密かなさよならの仕方

長さ11のタイトル

  • more & more

長さ12のタイトル

  • アイツを振り向かせる方法
  • 相合傘 (汗かきMix)

長さ13のタイトル

  • Power of Love
  • You & Me both

長さ15のタイトル

  • イジワルな天使よ 世界を笑え!

長さ16のタイトル

  • I'm feeling blue

長さ17のタイトル

  • be master of life

長さ22のタイトル

  • Do you think about me?

感覚的にmilkは3文字だろって感じなので, 3文字タイトルはもうちょっと多いかもしれない. Akaなんて2文字だし, Smooch!とかスムーチで4文字にしてもいい気がする. ここの処理面倒だったのでやらずじまい. こういうのうまく変換するアルゴリズムみたいなのあるんですかね?

まとめ

2文字と3文字のタイトルは多い. あとaikoはいいぞ.

予告

予告が11/29発売!11/28フラ毛だからみんな買ってね.

aikoラジオ・TV出演情報まとめ【2017年11月】

11/29に37枚目となるシングル「予告」を発売するaiko

MVも公開になりました.

いろんなFM局で流れてますよねー. (´,,•з•,,`)とぅっとぅるとぅっとぅる🎵🎵🎵という歌い出しが耳から離れません. そんなaikoさんは今週からいろんなラジオ番組に出演するみたいです. 自分でもよくわからなくなってきたのでまとめます. 新規情報が入り次第追記します.

11/15(Wed) FM802 ROCK KIDS 802 -OCHIKEN Goes ON!!–

【放送時間】21:00〜23:48

funky802.com 22時台はまるまるaikoみたい. 楽しみですね.

http://radiko.jp/#!/ts/802/20171115220000

11/16(Thu) FM802 FLiPLiPS

【放送時間】11:00〜15:00 funky802.com aikoの登場は13時台みたいです.

radiko.jp

11/16(Thu) FM OH! Music Bit

【放送時間】16:00〜17:00

www.fmosaka.net

もしかしてパーソナリティは高木雄也さんですかね?

radiko.jp

11/16(Thu) FM OH! OTO-BAKA

【放送時間】18:00〜19:30

www.fmosaka.net

FM OH!の番組にメッセージ送るとaikoのサイン入りグッズがあるみたい.

http://www.fmosaka.net/_ct/17131187www.fmosaka.net

11/17(Fri) FM802 Ciao! MUSICA

【放送時間】12:00-18:00

funky802.com

aikoは14時台の登場です.

radiko.jp

11/22(Wed) あじがとレディオ

【放送時間】24:00配信開始(以後隔週水曜日24時配信予定)

sp.aiko.pcan.us

ついにTeam aikoで会員専用ラジオが! 聴くためには有料会員登録が必須なので、まだの方はお早めに。

11/23(Thu) ニッポン放送 ナインティナイン岡村隆史オールナイトニッポン

【放送時間】25:00〜27:00

aikoが出たのは岡村歌謡祭出演決定の時以来になるのかな?

radiko.jp

11/28(Tue) 日本テレビ系 ベストアーティスト2017

【放送時間】19:00〜22:54

www.ntv.co.jp

去年に引き続き今年も出演決定

11/29(Wed) NHK-FM 赤い公園津野米咲のゆうがたパラダイス

【放送時間】16:40~18:00

www.nhk.or.jp NHK-FMなら、らじる★らじるで聞けそうですね.

まとめ

日付だけ書き出すと,

となります.

余談

新しいアー写, いいと思います.

来月はTOKYO FMのMonthly Artist File -THE VOICE-の担当になりました.

www.tfm.co.jp

定期的なラジオ出演はとってもうれしいですね.

出演ツイートまとめ

ROCK KIDS
FLiPLiPS
Music Bit
OTO-BAKA

www.fmosaka.net

Ciao! MUSICA
FM-OH!での写真

更新履歴

  • 2017/11/17 岡村隆史のANN情報, ツイート等追記
  • 2017/11/22 あじがとレディオ、ゆうがたパラダイス追記

ハンバーグは中身が少し赤い程度が美味しい(ISUCON7予選参加記)

f:id:bath_poo:20171023215708j:plain

ISUCON7の予選に参加してきた.

isucon.net

ISUCONとは

お題となるWebサービスを決められたレギュレーションの中で限界まで高速化を図るチューニングバトル、それがISUCONです。

というコンテスト. レギュレーションの中ならなんでもOKなコンテストである. 今回はそのISUCON7に参加した記録を残しておきたいと思う.

メンバー

チーム名は「中身が少し赤い程度王国(学生)」とした. 言うまでもないと思うが, 「炭焼きレストランさわやか」に行くと聞かれる「中身が少し赤い程度が一番美味しく召し上がれますがいかがですか?」の一文から引用した. メンバーは次の三人.

  • パイセン
    寿司屋では茶碗蒸しを食べる.ローヤルさわやかが好き. げんこつハンバーグは食べたことがない.
  • かみ(このブログを書いている人)
    ISUCON参加言い出しっぺ. aikoとサッカーとげんこつハンバーグが好き.
  • ちゃんきた
    デグーを飼っている. げんこつハンバーグが好き.

ちなみにデグーはこれ. 残念ながら予選にはいなかった. f:id:bath_poo:20171023220410j:plain

開始前

全員車で拾ってもらい, とりあえずお昼ごはんを買って会場に向かう. 会場に向かう途中で開始時間が13時に延期される(台数多いし仕方ない、運営がんばれという気持ちでいっぱいだった)

会場に到着. 今回借りたのはここ→ コワーキングスペース - 福井県産業情報センター
f:id:bath_poo:20171023221055j:plain 会場のセッティングをする. f:id:bath_poo:20171023221237j:plain 無線LAN完備, 壁一面のホワイトボード, スクリーン, プロジェクター, 液晶, AM9:00~PM9:00まで利用可能で無料という学生には優しい会場だった. 来年もここでやりたい. f:id:bath_poo:20171023221256j:plain 開始までご飯を食べたり, d(^_^o)を書いたりして時間を過ごした. このときにもまだセッティングは続いていて, 先輩がひたすらプリンター接続チャレンジをするも失敗していた. 結果あまりなくても困らなかった. その後は始まるまでDiscordのランダムチャンネルをひたすら眺めていたら, お酒やピザをデプロイした人で溢れていた. こっちもピザを頼みたい. ノリが完全にTwitterで面白かった.

やったこと

メンバー3人があまりにも初心者 and 学会や中間発表でなかなか練習の時間が取れないという中だったので, とりあえず今年は雰囲気をつかむ, 来年へつなげるような気持ちで頑張った. 強い気持ちでRuby実装をチューニングすることに決めた. 以下に書いてあることは間違っている可能性も大なので, 優しく見守っていてほしい.

諸々のインストール

  • emacs, vim
  • alp
  • rack-lineprof
  • pt-query-digest
  • netdata
  • htop このあたりを事前に用意していたスクリプトで一括インストール.

githubにえいっ

githubにえいってやりました. (やってもらいました)

静的ファイルをnginxから返す

よくあるやつ. cssやjsなどはnginxで高速に返してしまおうという試み.

location ~ ^/(css|js|favicon.ico) {
  root /home/isucon/isubata/webapp/public;
}

しかしコレが有効になってたりならなかったりしていたような…

nginxのログをLTSVにする.

alpでアクセスログ見るために, nginxのログをltsv形式に変更する.

  log_format ltsv "time:$time_local"
    "\thost:$remote_addr"
    "\tforwardedfor:$http_x_forwarded_for"
    "\treq:$request"
    "\tstatus:$status"
    "\tmethod:$request_method"
    "\turi:$request_uri"
    "\tsize:$body_bytes_sent"
    "\treferer:$http_referer"
    "\tua:$http_user_agent"
    "\treqtime:$request_time"
    "\tcache:$upstream_http_x_cache"
    "\truntime:$upstream_http_x_runtime"
    "\tapptime:$upstream_response_time"
    "\tvhost:$host";

こいつをhttpディレクティブに追加して, serverディレクティブに次の文を追加した.

access_log /var/log/nginx/access.log ltsv;

redis導入

 ログを見てるとやたらと/icons/xxxxxx.pngが遅いことがわかる. なるほど画像ファイルをDBにツッコんでるんだな, コレなんとかしないとダメだなとなり作戦会議.
 何となくredisにツッコんでみたら良いんじゃない?ということになりredisをISUCON本番で触りだす. 何もわからない. 俺達は雰囲気でredisを使っている.
 get '/icons/:file_name'のところで, キャッシュされてたらそれを使うしされてないならdb.xquery()で呼び出してキャッシュするみたいな処理を書く. 正直こんなので動くのか?という不安のほうが大きかった.

redis.hset(file_name, 'img', row['data'])

mysqlの設定

スロークエリを出してクエリを見てみたり, innodb_buffer_pool_size書いてみたりした.

クエリの改善

貼られてないところにインデックスを貼ってもらうなどする. SQL絡みで言えばN+1もまともに予習せずにいったため, 少なくとも自分は全然気づかなかった. 他のメンバーは気づいていたかもしれない.

max_connectionを増やしたかった

増やしたかった. 途中からやけにToo many connections.が頻発してベンチマークが通らなくなったので, とりあえず(ソースをしっかり読まずに)connectionを増やすことを考えた. /etc/my.cnfにconnection数を書いたら良さそうみたいな感じになり書くも, 214から増えなくてしんどかった. 何が悪かったのか今でもよくわかっていない.

反省会

寿司を食べる. 寿司を食べてる最中に結果が出る.

結果

f:id:bath_poo:20171023224337p:plain 最終スコアが33373点. マジか. そんなに行くとは思っていなかった. 全体の121位みたい. 健闘したほうだと思う. 学生だと20番目ぐらいかな? isucon.net

よかったこと

  • 楽しい!
  • 知識を無限に吸収できる気がする(チャット見てるだけでもわからない単語が飛び交っている)
  • 点数上がると楽しい(今回はベンチが全然つまってなかったみたい。快適動作でした。運営がプロ)

反省点

  • 分担壊れる
  • 圧倒的な知識の無さ(Chache-Controlってなんだってレベル)
  • お菓子はもうちょっとしょっぱめも買っとくべき

過去問見た感じruby実装だとunicornだったが, 今回はpumaだった. pumaって何かと若干慌てた. 開始時間が遅れるというトラブルもあったけど, このレベルのコンテストに無料で参加できてしまうのは本当に有り難いし, なによりやっていて本当に楽しかった. 来年はちゃんと準備をして予選に出たい. そして本選へ. 1年精進します. 櫛井さんを始めとする運営に関わった皆さん, 本当に楽しかったです. ありがとうございました.

isucon.net

余談

福井にもさわやかはあります. f:id:bath_poo:20171023225450j:plain