食塩が出現する日記

面白いコンテンツの制作が大好きです。Web開発にも興味があります。よろしくお願いします!

概要
こんにちは。@solt9029です。

東京オリンピック2020の開会式では、ピクトグラム50個パフォーマンスというものが行われました。実際にピクトグラムのポーズをどんどんとっていく様子が凄まじく、ネット上でも大きく話題になっていました。



ピクトグラム役の人がすごい!!とたくさん言われている一方で、私はカメラマンの方も本当にすごいなと思っていました。こんなにいろんな角度にカメラを傾けなければならないの、私だったら絶対脳がバグりそう。

そこで、オリンピック開会式ピクトグラムのカメラマン気分になれるゲームを作りました。

ツイートはこちら: https://twitter.com/solt9029/status/1420522535293128705



またツイートの反響も良く、ITmedia NEWS様の記事に取り上げていただきました。
ありがとうございました。


経緯
概要にも書いた通りですが、カメラマンすごい!と思ったのがアイデアの発端でした。

私は音ゲーが好きなので、リズムに合わせてカメラを傾けるゲームとかどうだろう。。。!?と最初考えていました。しかし、傾ける、という動作を考えてみると、音ゲーとはそこまで相性が良くありませんでした。太鼓の達人の「ドン」を想像すると、傾け始めたタイミングが「ドン」なのか、傾け終わったタイミングが「ドン」なのか、感覚が結構曖昧になってしまいそうです。「ドン」のような単発音以外にも、レールをなぞるような動作を含む音ゲーもありますが、そのような動作だけの音ゲーは正直面白くないだろうなと思いました。やっぱり単発音があってこそだと思います。

音ゲーにするのも決して悪くないとは思いましたが、上記の理由からあまり気が乗りませんでした。音ゲーじゃなかったら、なんだろう。。。と考えていた時に、ふと「単純にタイムアタックでいいじゃん!」ということに気づきました。オリンピック開会式ピクトグラムのカメラマンがすごいと思ったのは、素早くあのカメラの傾けを実現していたからだった、と思い出しました。タイトな時間に厳密にカメラを傾けるゲーム、でも良かったですが、ゲーム性をより強くするならタイムアタックかな、ということで、今回のようなコンテンツを制作するに至りました。


どうやって作った?
本作品は合計8時間くらいで作りました。

Node.jsによってWebSocketサーバを立てて、スマートフォンの傾きのイベントデータを送受信して実現しています。

普段の開発ではReactやTypeScriptなどを使っているわけですが、こういうコンテンツを作るときはとにかく速さが命です。フロントエンドに関しては、HTMLファイルにjQueryを直書きしてWebSocketサーバと通信するようにしました。

セキュリティの条件により、スマートフォンの傾きを取得するためにはHTTPSにする必要があり、またHTTPSからWebSocketサーバに接続するためにはWSSである必要があるため、ローカルで開発する際に若干面倒でした。よくあるやつですが、http-serverにて、手元で生成した証明書をもとにHTTPSでlocalhostに接続するようにしました。

ProcessingとかUnityとか使っても良かったんだろうな〜と思うのですが、Webが一番慣れているので上記のように開発しました。


最後に
今までに、他にもたくさんのコンテンツを制作しています。もし良かったら見てください!
Twitterモーメントはこちら: https://twitter.com/i/events/1083986972148789249

最後まで読んでいただきありがとうございました。

実は転職エントリを書いていなかったので、今更書きます。
ヤフーには2019年4月に新卒入社していましたが、2020年6月で退職し、2020年7月からクックパッドに入社しました。

結果から書くと、転職をして本当に良かったと思っています。
ここでは前職・現職の詳細な業務内容などには一切触れませんが、転職の経緯などをご紹介します。

あらかじめ書いておきますが、ヤフーは本当に良い会社でしたし、ヤフーで一緒にプロダクトを開発していたチームの方々と、一緒にそのプロダクト開発をすることができないのだと思うと、当時は寂しいという気持ちでいっぱいでした。

ただ、何かを得るためには何かを失う必要があるのだなと思いました。そしてそれを踏まえた上で、僕は転職をして良かったと思います。子どもの頃は何を得るかしか考えていなかったのに、歳をとると段々、何を失って何を得るか、ということをちゃんと考えなければならないようになったのだなあと感じてます。

僕が去年のタイミングでヤフーをやめて、クックパッドに入った理由は大きく3つあります。ミッション・自分の能力を鑑みたタイミング・料理です。(他にも理由はあって、クックパッドが料理人や生産者というクリエイタを支援できることや、ユーザ目線での開発をしていること、海外事業を展開していることなど、いろいろです。詳細を知りたい方はお話ししましょう。)



ミッション
正直に言うと、僕は学生時代に就職活動をしている時に、会社のミッションなんてあんまり見ていませんでした。その頃は、toBのサービスよりもtoCのサービスの方が自分に馴染みが多いし、toCのサービスの開発がしたいな、というぼんやりした気持ちしかありませんでした。

しかし、ヤフーに入社して仕事をしているうちに、「自分はこのサービスを使ってもらうユーザにどうなって欲しいんだろう?どうなって欲しいと思って、開発をすれば良いんだろう?」と考えるようになりました。当時、数値目標ばかりが目立っていて、ユーザにどうなって欲しいか、全然考えられずに開発を続けていました。ヤフーのミッションは、「UPDATE JAPAN」です。また、「便利」という言葉がミッションやビジョンに登場します。
僕にとって、このミッションはとてもぼんやりしたものでした。「UPDATE JAPAN」を意識して開発に携わる人は周りにいなかったと感じたし(個人の見解)、僕自身もそうでした。ミッションにワクワクできなくなっていました。

クックパッドのミッションは、僕の中で一番印象的でした。「毎日の料理を楽しみにする」というミッションです。料理を自動化することを目指す会社もあるし、冷凍弁当を宅配して料理の時間を減らすことを目指す会社もある中で、「毎日の料理を楽しみにする」というミッションです。
このミッションは、いわゆるほとんどの人が賛同するような当たり前のことを言っているわけではなくて、正しいかどうか人によって意見が分かれるようなミッションだと思います。僕自身、毎日の料理を楽しみにすることが本当に正しいのかなんて、大きな自信があるわけじゃありません。
そんな正しさを確信できないミッションでも、毎日の料理を楽しみにすることに全力になって、プロダクト開発ができるということに、僕はなんだかワクワクしました。
クックパッドの定款には「世界中のすべての家庭において、毎日の料理が楽しみになった時、当会社は解散する」とあります。ミッションが達成されたら解散する会社なんて聞いたことがなかったし、本当に面白いと感じました。それだけ、毎日の料理を楽しみにすることだけを意識して、プロダクト開発ができる環境に魅力を感じました。



自分の能力を鑑みたタイミング
僕は学生時代、就職活動を学部3年の11月ごろに終えました。平均的な就職活動に比べると、かなり早い方だったと思います。
学部3年の頃の僕は、それなりに開発はしてきたけど、まだまだ自分の力には全然自信がなかったし、こんな自分を受け入れてくれたヤフーには本当に感謝していました。

就職活動が終わってからの期間、僕はひたすら面白いものを制作してツイートしたり、研究をしたり、個人開発に打ち込んだりしていました。そうする中で、自分は大きく成長したし、能力を身につけることができました。単純な成果物や技術力だけではなくて、自分の考え方そのものも大きく成長しました。この期間の成長は、自分の中で飛躍的だと感じていました。

就職活動をしていた頃の自分の能力と、大学卒業時の自分の能力には大きな差分がありました。社会人になってから5年など長い期間が経過した後に転職活動をしてしまうと、「社会人で何をやってきたか」がより重視されるようになってしまうと予想しました。もちろん、社会人になってからも成長はしてきたと思ってますが、あの学生の頃の成長の価値が高い方がより有利に感じました。
僕は、もしも転職をするのであれば、もう少しヤフーで経験を積んでから、とは考えずに、就職活動が終わってから大学卒業するまでの期間の成長も大きく評価してもらえる期間に、転職を行うべきだと考えました。

もちろん、ヤフーに残り続けたらそれ以上の成長をする可能性はあっただろうし、このタイミングの選択が100%良かったとは思ってないですが、結果として良い環境に恵まれ、後悔はありません。



料理
学生時代、クックパッドは僕にとって輝かしい企業でした。優秀なエンジニアが集う企業というイメージでした。実際、学生時代に海外インターンの面接も受けていました(当時は落ちましたが)。
しかし、就職活動のとき、クックパッドは候補外でした。学生時代の僕は、とにかく料理が時間の無駄だと思っていたし、できることなら料理をしたくないと思っていたからです。(本当は、当時の自分の技術力が低くて、そもそも受からないだろうという理由も大きかったのですが。)
「ミッション」の章で、学生時代はミッションをそこまで見ずに会社を決めたと書きましたが、やっぱりどんなサービスを提供しているかは興味がありましたし、できることなら自分が使いたいと思えるサービスの開発に携わりたいと思っていました。

時は過ぎて2020年はじめ、僕は料理がそこまで嫌いではなくなっていました。大きなきっかけがあったわけではないのですが、なんでなんだろう?コロナの影響もあると思います。料理が大好きってわけでもなかったですが、そんなに料理に抵抗があるわけでもなくなって、クックパッドの事業に面白さを次第に感じるようになりました。



最後に
そんなこんなで、クックパッドに入社しました。上記以外にもいろいろと書ききれていない理由はありますが、転職して良かったです。

今はクックパッドマートというサービスを開発していて、刺激的な日々を送っています。是非使ってみてください!!僕のおすすめはバチマグロ頭肉みつぎファームのお野菜セット訳ありアボカド越路屋豆腐店さんの絹豆腐梅やさんの串4本セットなどです。

最後に強調して書きますが、ヤフーはものすごく良い企業でした。大きな規模の会社なのに、大胆なことをスピード感持ってやっていたし、社員を大切にした会社だと思いました。またヤフーの社食が食べたい!(ヤフーの社食は本当に美味しい)
大きな会社なので、僕の観測内に限りますが、ヤフーで働いている人たちはすごく優しくて良い人が多かったです。今も同じチームだった人とは時々エンジニアリングなどについて話したりしています。ホワイト企業に入りたい!と言っている方には一番に勧めるかもしれません。
ヤフーで僕と関わってくださった方々、もしこの記事を読んでくださっていたら、本当にありがとうございました。

最後まで読んでいただきありがとうございました。

概要
@solt9029
です。飲酒sudoを防止するシステムを作りました。
ツイートはこちら: https://twitter.com/solt9029/status/1368060841115840513

エンジニアではない方に超ざっくりな説明をすると、sudoというパソコンの中身を破壊するレベルで危険な操作ができるコマンドがあって、飲酒中にそれを防止するためのシステムです。




なんで作ったか?
飲酒sudoって言葉をたまにTwitterで見かけることがあって、パワーワードだなって思ってました。
自動車のエンジンをかける前にアルコール濃度を検知するような仕組みが開発されているという話を当時聞いていたので、その組み合わせでアイデアが思い浮かんで、作ってみました。


どうやって作ったか?
Twitterでもすごい!よく作ったな!と言っていただけて本当に嬉しいのですが、制作時間はほんの3時間程度です。
雑なソースコードはこちら: https://github.com/solt9029/drinking-sudo

まず、Arduinoとアルコールセンサを利用して、USBポートからアルコールの値を取得できるようにします。
そして、sudoコマンドを置き換えるようなコマンドの作成をします。私は最近クックパッド株式会社に転職してRubyをよく使うようになったので、RubyのThorというライブラリを利用してコマンドを作成しました。そのコマンドを実行すると、アルコールセンサに息を吹きかけるように促すような文言が提示されて、その間にUSBポートの値を読み取り、一定の値を超えていたら「飲酒sudoはダメ。ゼッタイ。」というような画面が出るような仕組みになってます。
最後に、zshrcなどの設定ファイルをいじって、sudoというaliasを貼れば完了です。


感想
ツイートに対する反応で「飲酒sudoで昔やらかしたわ」みたいなコメントが結構あって面白かったですw
みんな飲酒sudoやってるんですね。。。

実はこのアイデアを思いついたのは2年くらい前で、あんまりウケないかなあと思って放置してたんですが、思ったよりかなりツイートが伸びていてびっくりしました。
動画もどんな感じの構成にしようかなあってちょっと悩んでたんですが、さっと撮ってみたら良い感じになって良かったです。(撮影・編集含めて10分くらいで終わりました。)

他にも今までにいろんな制作をしてきたので、興味のある方はよかったら見てください。
今までの制作物はこちら: https://twitter.com/i/events/1083986972148789249

最後までお読みいただきありがとうございました。

↑このページのトップヘ