Sansan Tech Blog

Sansanのものづくりを支えるメンバーの技術やデザイン、プロダクトマネジメントの情報を発信

AWS re:Invent 2019 にいってみた。(最終回)

こんにちは。
DSOC Infrastructure Groupの水谷です。

re:Invent 2019っていつだったっけ・・・・・
AWS re:Invent 2019 にいってみた。(2日目) - Sansan Builders Box が前回ですが、いきなり最終回です!
今回は re:Invent に行かれる方が参考になるような準備のことも書いていきます。
最後が一番大事なので最後にすっとんでくれても構いません。

話は変わりますが、私アフロヘアーなんです。
ただ、新型コロナウイルスの流行ででパーマネントがあてられず、ピース又吉さんが汚くなったみたいな髪型になってます。

で、髭剃りすると痛いじゃないですか。
朝から痛い思いをするのが凄くいやなので、なるべく髭そらない派です。
夜剃ればいいじゃん。と思うでしょうけど寝る前に痛いのも嫌。
なんで、髭って生えるんでしょうね。
脱毛すればいいじゃん。と、思うでしょうけどレーザーバチバチやられると聞いて痛そうなので嫌。
あと、髭の生え方が敬愛するのレミー・キルミスター*1と同じ生え方*2なので、そもそも嫌。

で、結果、すごい汚いです。

現在*3、弊社は在宅可能な状態で業務を行っているのですが、緊急事態宣言もあけたのでオフィスにいくこともあります。
ソーシャルディスタンスってあるじゃないですか、僕もそれなりに気をつけようと思って電車のったんです。
神奈川の山奥に住んでるので朝の電車は空いてるんですけど、車窓からの風景が変わるにつれて社内が混み合ってくるんですね。
座ってても隣に人がこないなぁ。みんな気をつけてるんだなぁって思ってたんですが、僕以外の人は隣に人が座ってるんですよ。

髭はそったほうがいいですよ。

*1:imotorhead.com

*2:ここまで濃くないけど

*3:2020/6/26 blog執筆時

続きを読む

「Go言語でつくるインタプリタ」をRustで実装しました。

はじめに

こんにちは。DSOC 研究開発部 Architect Group Data Direction Teamの有山です。
気温が上がってきて夏っぽくなってきましたね。毎年夏用にTシャツを集めるのが趣味なのですが、今年は個人的にブームが再燃してるGOODENOUGH*1を古着で集めようかなと考えています。

ところで皆さんは普段何の言語を書いていますか? Data Direction Groupでは主にPythonを使用していますが、ある時から四則演算の計算順序やif文の条件分岐はどうして正しく動くのだろうと疑問に思うようになり、実際に正しく動かしているシステムを理解してみたくなりました。色々検討した結果、「Go言語で作るインタプリタ」という本が内容的にも分量的にもちょうどよく、これを読み進めることにしました。

初めは読みながらコードを写経していましたが、複雑なロジックについては理解した気になってしまっていたので、いい機会と思いGo以外の言語でちょうど気になっていたRustで移植してみました。今回はインタプリタの実装や、Rustで実装する上でのポイントついて紹介していこうと思います。

*1:日本のストリートブランドで藤原氏がデザイナーを務めた。2017年で活動終了している。

続きを読む

GCP の Error Reporting に飛ぶエラーを Slack に通知したい

DSOC サービス開発部のエンジニアの小山です。

私のチームでは GCP を使っており、GCP の Error Reporting というエラーを収集してくれるサービスでアプリケーションで発生したエラーを確認しています。

Error Reporting

ですが、この Error Reporting は現時点では Slack に直接通知する方法はなく、メールでの通知か mobile アプリへの通知しかありません。(Notifications, Cloud Console Mobile App)

メールを Slack に通知する方法もありますが、それだと Slack に通知されるまで数分のラグがあり、エラー通知としては微妙です。 メール通知や mobile アプリへの通知自体もそれはそれで便利なのですが、 業務中はやはり Slack に通知が飛んでくるのが一番気づきやすいですし、そのままチームメンバーとのやり取りもできるので便利です。

そこで、いくつかの案を検討し Slack へのエラー通知を実装しました。

続きを読む

日本のエンジニアリングを世界へ - Builders Box

CTO の 藤倉 です。

このたび、「日本のエンジニアリングが世界中で活躍できる未来をつくる」というコンセプトのもと、Builders Box というプロジェクトを立ち上げました。

buildersbox-online.com

いまや、ソフトウェアサービスは世界中いたる所で開発され、日常の生活や仕事の場面で広く使われています。Google や Facebook、Amazon、Uber Eats など、海外で開発された多くのものが、日本国内で使われています。一方で、世界中の人々に使われている日本のサービスというのは、まだそう多くはありません。

私は、自分が作ったプロダクトをもっともっと多くの方に使ってもらいたいと思います。

日本国内だけでなく、世界中で使われるサービスを開発することは、エンジニアにとってとても刺激的な仕事です。せっかくエンジニアになったからには、そういうものづくりがしたい。ひいては、日本でつくられたたくさんのサービスが世界中で使われる世の中になってほしい。Builders Box を立ち上げたのは、そんな想いからです。

アメリカでの体験

私は前職時代に、アメリカで数年間働いていたことがあります。アメリカの生活では、毎日のように車や家電など日本のハードウェア製品を見かけます。日本製のものはとても人気があるようで、日本人として少なからず誇らしい気持ちにもなりました。しかしながら、日本のソフトウェアプロダクトを見ることはほとんどありません。アメリカ発のソフトウェアサービスはすごいなぁと思う一方で、もう少し日本のサービスが使われるようになってもいいのではないかと感じていました。

その後、日本に帰国し、Sansan 株式会社に入社しました。

日本のエンジニアリングを強くしたい

Sansan では、世界の市場で成果を出すべく、エンジニアが一丸となって日々開発に向き合っています。その過程で得た知見を還元していこうと Sansan 社内のエンジニアが情報を発信する場を作ってきました。各種勉強会の主催や年次の技術カンファレンスの開催、このブログもその取り組みの一つです。この活動を通じて社内外の多くのエンジニアと接して、日本のエンジニアリング全体はもっと盛り上がれるし、そこでやれることもたくさんあると感じるようになりました。

それを形にしたのが Builders Box です。

国内外のエンジニアや有識者へのインタビュー、様々な技術情報から得られる世界で活躍するためのヒントを届けたり、イベント等を通じた学習機会の提供を継続的に行っていきます。

日本のソフトウェアエンジニアリング全体を応援し、一つでも多くの日本のサービスがグローバルで使われる未来。それに貢献できればと思っています。



buildersbox.corp-sansan.com
buildersbox.corp-sansan.com
buildersbox.corp-sansan.com

Eight フロントエンド、Prettier 入りました

こんにちは。Eight でフロントエンドエンジニアをしている鳥山(@pvcresin)です。
最近は、Beat Saber という VR リズムゲームにハマっています。 音楽に合わせて、手に持ったライトセーバー的なものでブロックを切っていくゲームで、いい運動になっています。
さて、今回は Eight の Web フロントエンドにコードの整形ツールである Prettier を導入した話をしたいと思います。

Prettier とは

Prettierは Node.js 上で動く、コードのフォーマッター、整形ツールです。 ルールを設定することで、リポジトリ内のコードのスタイルを統一することができます。
Prettier にはデフォルトの設定があるので、細かな設定をしなくてもいい感じに整形してくれるのが良いところです。
HTML や CSS、JavaScript、Markdown などの形式に対応しています。
また、プラグインを入れることで Java や PHP、Ruby なども整形することが可能です。
今回は JavaScript のファイルに Prettier を適用してみました。

続きを読む

2020年卒の DSOC 研究開発部 の新卒研修を実施しました!

DSOC 研究員の吉村です。在宅勤務が続いているので、今更ながらいくつか家具を追加しました。その結果、家の中がかなりスッキリして、生活しやすくなりました。

さて、本題ですが、2020 年卒で DSOC 研究開発部配属になった新卒社員に対して部内で研修を設計し、実施しましたのでこの話について書いておこうと思います。

はじめに

DSOC 研究開発部 の新卒研修の設計については、組織デザインに関する施策を考えるためのタスクフォースチーム*1で議論をして進めました。

当初は「そもそも新卒研修が本当に必要かどうか?*2」というレベルから考え始めました。しかし、本当に新卒研修をやるべきか否かでいくと、内容如何に依るという結論になったので、まずはやってみようということで、実施する方向で話を進めました*3。新卒研修を実施する方向で固まった次には、新卒研修を行う目的について議論しました。

*1:弊社研究員は様々なバックグラウンドを持っているので、シナジーを生むためにどういう組織にしていくかを考え施策を打つチーム。

*2:DSOC 研究開発部に配属になる新卒は19卒まで最大でも2人だったので、これまでは部署での新卒研修というものは行っておらず、メンターが実際の業務をする際に十分にフォローするという運用でした。ちなみに、全社での新卒研修は毎年実施されています。

*3:このあたりの意思決定の裏には、弊社の Values である 「変化を恐れず、挑戦していく」などがあります。

続きを読む

© Sansan, Inc.