あざらし備忘録。

音ゲー好きなウェッブエンジニアがいろいろ思った事やった事を書いていくブログです

2022年さんお疲れさまでした。激動の年だったので2019年ぶりにダイジェストを添えて振り返ってみる

年次のまとめくらいはしておくかと割と毎年書いていたのを2020年書きそびれてからすっかり放置していたけど、2022年は色々と激動と節目の年だった感もあるのでざっと書いておきます。

お久しぶりですあざらし備忘録さん。

まずは2020〜2021をざっと振り返ろう

やってきたことを忘れないように。

お仕事編

社内システムの実装

画像管理システムの実装

2019年、年末が近づいてきたあたりで当時ガッツリ依存していた商品画像を管理するためのサービスが突如「年始ちょっとくらいでクローズするんでよろ」と通知を出してきてヤッッッベ運用死ぬぞということで急遽最低限の機能を持った形での内製を決意w(運用内容に上手くフィットするものが他サービスではなかった)

それのリリースを年始に行うなどしたのが2020年のはじまり。今も日々大量に画像がアップロードされています。(本当に思ってたより大量w)

商品管理システムの実装

ヘーシャは現状ECがおしごとの主軸としてありますが、これまでスプレッドシート主体で頑張って管理していました。

どうしても「がんばる」部分が多かったりフォーマットが自由すぎる故管理するものが増えれば増えるほど「スプレッドシートが死ぬほど重い」「入力漏れや間違いによって事故」みたいな課題が大きくなっていってしまいました。

そこで自社に合った形で運用フローの構築して効率化・ミスの抑制を狙って社内商品管理システムを作ろうという話になり2020年はこの開発をメインに進めていた気がします。

色々と削った部分やリソースの都合上荒い実装もありますが今も頑張って全社運用の軸として機能してくれている気がします!

フルリモート体制に移行しつつのプロジェクト開始だったのでどうなるかという感じでしたがなんとか無事形になってめでたしめでたし。

このあたりのシステムはメンバーの慣れも加味してRails+Nuxtでできています。

フルリモートモード開始

当時3人のエンジニアチームでしたがコロナということもあり基本的にフルリモートでの体制に移行。

  • 「日刊どうでしょう」と称して毎日もくもく会形式でボイチャつなぐ時間を設けた
  • 「木曜どうでしょう」と称して週次でさくっと振り返る会を設けた

大きいチームでもないのでこれくらいでも十分ワークしたかなという体感でした。(チームといいつつも分担的には各々別々のことをやっていたこともあり)

アプリの実装

一度ある程度作っていたアプリが事業集中の為泣く泣くお蔵入りとなってしまった過去がありますが、それのリベンジ戦とも言えるアプリ第二弾のプロジェクトが2020年末から始動、もちろん2020年に作った既存のシステムの改修もやりつつ、2021年はこのアプリ開発をメインでやっていきしてました。

  • 2021年3月末最低限の機能でベータリリース
  • 2021年7/7(七夕)に本リリース

といったスケジュール感。技術的にはフルSwiftUI。

私生活編

家から出なくなったw

引きこもりがコロナによって圧倒的に加速wそれに伴って色々と自宅環境を整えたり自宅で出来る趣味をやっていったりしていくか〜という気持ちに。

初めての海外旅行が目前に控えて予約等も済んでいたけどやむなくキャンセル。あの頃の混乱っぷりはすごかったなと改めて。まだまだ終わりとは言えないけど人類各方面だいぶこなれてきてすごいなというお気持ち。

DTM活動をちょっとしっかりやった

今までうすーーくかじり続けていて作曲できるんだかできないんだかわからない状態をしばらく続けていて、もうちょっとちゃんと「できる」と言える状態にしたいなと思って専用のアカウントを作って意識的に活動したりしてました。ジャンルはクラブミュージック系です。

15曲くらい作ったかな。ほそぼそながらSoundCloudにアップロードを続けて単曲3000再生達成とかもできたので割と充実したDTMライフを送れて満足。

ただ最近はその満足感(と多忙)もあってガクッと活動頻度が落ちてるのでうまくモチベーション維持して2023年はもうちょっとがんばりたい...

スピーカーを買った

DTM活動に関連してちょっと良いスピーカーがほしいなと思って奮発してFocal Shape 65を購入。

https://www.soundhouse.co.jp/products/detail/item/240319/

もう手放せないくらい大満足!!!!!!1普段聴く音ももちろん良くなるし曲作るときとかの聴こえ方もぜんぜん違うので本当に買ってよかった。大事に使います。

結婚した

2021年11月に優勝しました。お祝いしてくださったみなさま本当にありがとうございました!!

6年ほど同棲していたので正直新鮮味とかは特に無いんですが変わらず仲良くやっていけてて何より!

ということで2020-2021

  • バックエンドもフロントエンドもiOSアプリもインフラ周りも色々作ったね
  • 趣味もそれなりにアクティブにやれました
  • 結婚もしました

色々進めた感のある20代ラスト

そして2022年

一言でいうと「激動の2022年」w特に後半w

前半

基本的にはここしばらく作っていたものの機能拡張やカイゼンをしていくという形。

サポートできていなかった部分の運用もシステムに載せていくことでよりカバー範囲を広げていく作戦を粛々と遂行していくなどしてました。

アプリも進めつつも事業優先度的な部分で運用支援の方が多かったかなー

あと30歳にナリマシタ

6月、エンジニア退職に伴う引き継ぎ

2019年からECサイト周りをやっていきしてくれていたエンジニアが7月に退職する旨を聞いて、それに向けて業務引き継ぎを色々としてました。

ヘーシャのECサイトはShopify上で動いているので、LiquidやVue、Shopify scriptなどなどを色々とキャッチアップしてました。

以前すこーしだけ触っていたので懐かしい!!という気持ちになりつつw色々なEC施策を支えてくれて感謝🙏改めておつかれさまでした!

7月、ヘーシャ、完全子会社に

7/4、ヘーシャは株式会社ライスカレーの100%子会社となりました!

note.com

一つの明確なチェックポイントとなり、個人的にもここまでエンジニアとして縁の下を担当してきた甲斐があったかなという気持ちに。

本当経営メンバーはじめ、みなさまおつかれさまでした。ここからもやっていくぞ!

ちなみに先で書いた7月に退職したエンジニアはこの話は全く聞かない状態での決意だったとのことで、タイミングって重なるものだなと思うなどしましたw

8月、エンジニア退職に伴う引き継ぎ

やあ (´・ω・`)

ようこそ、バーボンハウスへ。

このテキーラはサービスだから、まず飲んで落ち着いて欲しい。

うん、「また」なんだ。済まない。

...ということで、2018年から一人目エンジニアとしてジョインしてCTOとしてもやっていきしてくれていたエンジニアが10月に退職する旨を聞いて、オッッッッッとなったのをよく覚えていますw

これで3人いたエンジニアチームは急遽自分1人に、ということに。流石に動揺しなかったといえば嘘になりますし、「このタイミングか...!」ともなりました。「1人でやっていけるのか?」というプレッシャーも同時に強くのしかかってきたのもよく覚えています。この流れで自分も退職という線も正直チラつきました。

とはいえでこちらの退職に関しては「このタイミング故」というのももちろんあったと思いますし、しっかり送り出してその後のキャリアも応援していきたい気持ちが強かったです。

自分としてももっともっと今の会社をエンジニアとして支えていきたいし強くしていきたいという気持ちもまだまだ尽きていなかったのでちゃんと引き継いでやっていくぞ!という気持ちで残ることを決意しました。

当時の決意表明的な。やっていくぞ

と同時に、アプリももっとやっていくぞ!という事業プラン

子会社化の話が動いていたのもあり、新規軸となるアプリ開発はリリースはしたものの全体の優先度としては低めに設定されていました。(しゃーない)

それがひとまず子会社化の発表は無事終えることができ、「ついにここから新しいことも手をかけられそうだぞ!」という感じになってきた矢先の話でした。

そういう未来を自分はワクワクしていたので、「ひとりでもやったる!」という精神には満ちてました。ただどう考えてもこのままでは影分身が必要になってしまうwので、ひとりでもやっていける」体制に向けて策を講じていきます。

  • 直近で整えて手に隙間をつくる
  • アプリやっていきプランの初動を遂行していく
  • 落ち着いてきたら並行して採用に向けて動いていく

ざっくりこんな感じで認識を合わせて進めることに。

8月、9月で全力で省エネ化に

当初はすぐにアプリ開発が始まるスケジュール想定でしたが、エンジニアリソース事情が大きく変わったので待ったをかけて立て直す期間を作ることにしました。

「エンジニアが2人いるうちにガッと新規開発を推し進める」作戦もあり得ましたが1人になる未来が近く見えている現状で新しく抱えるものを増やすのは首が回らなくなる可能性があり怖いため、「エンジニアが2人いるうちにやれるだけ手がかかりそうな部分を潰す」方向で舵を切りました。今振り返ってもかなりナイス判断だったと思う...w

  • ちらほら上がってくるエンジニア対応の必要な運用の自動化
  • 7月から引き継ぎたばかりで理解度の低いECサイト周りのコード理解及びデッドコード等の整理
  • 点在していた運用頻度の低い(がなにか対応しようとすると面倒が多い)サブシステム系の整理

を協力しつつひたすら潰していく2ヶ月を経て、2ヶ月前と比べるとだいぶハンドリングしやすい体制に持っていけたので本当に良かった。この期間がなかったらgomachanさんは終わっていた可能性が高いw

10月、1人エンジニアチーム始動、アプリ開発

そんなこんなで無事送り出し、新生1人エンジニアチーム始動です。チームごまてゃん。

フルリライトというわけではないものの、アプリの方向性のピボットが含まれるのでなかなかに大きなアプデ計画に向けて動き始めました。

12月、ついにアプリメジャーアップデート

社内システム周りの日々の運用や改修は最低限やっていきつつ、10月から始めたアプリ開発がなんとか無事にスケジュール通りというか気持ち巻き目くらいでリリース完了できました。嬉しい。

取捨選択した部分は多々あるのでその辺りを取り返して行きつつですがまぁ初動をちゃんと撃ち出すことができたのでホッとしているのがこの年末、という感じです。

まだまだお披露目できていないですが社として色々と面白いことやっていけると思うので引き続きがんばるぞい!

緩やかなバズ

上記の通りな感じでどうにか色々終わって無事に忘年会できて、そのときにもらった湯呑みをツイートしたら緩やかにバズを経験しましたw

まぁなんというか本当この湯呑みからも滲み出てるけど優しい世界な良い会社だと思いますハイ。

2023年、これから

無事に年内で アプリやっていきプランの初動を遂行 できたので、2023年は

  • 落ち着いてきたら並行して採用に向けて動いていく

ところにやっと入っていけます。「激動」化した6月から早くも半年。本当に走り抜けた感じが過去一であって異常に早かったwけど充実感はとてもあって楽しかったなと振り返ってても思います!身体には気をつけてやっていきたい!

ということで採用強化中です!!!!!111

まだこれ!っていうページとかは準備中なんですがエンジニア含め色んなポジション採用強化中です!

もし「興味ある!」とか「ごまてゃんさんとやっていきしてみたい!」とかあればDMとかででもぜひぜひカジュアルにお声がけください!

2023年もやっていき!

2019年さんお疲れさまでした。2020年さんよろしくお願いします。

今年の年末年始は割とバタバタしていて気づけばこんな時間になってしまった😇

最早年単位の定点観測としてしかブログを書いていないけど今年も書いていこう...w去年のはこちら。

shiro-goma.hatenablog.com

GKEと仲良くなる

転職してから、一部GKEを利用している部分があるのでそのあたりを触めるなど。

デプロイ時にダウンタイムが出たり、オートスケーリングの設定が特段なかったり、podの構成がちぐはぐしてたりと、色々と噛み合ってなかった部分があったのでそのあたりを改善してもう少しいい感じに、そしてリソースを効率よく使えるように📝あとstern便利。

ワンコマンドデプロイ環境こしらえあたりまでとりあえず整えられたので良かった〜みたいになったのが年初

アプリ開発

2018年も少しだけ触っていたアプリ開発周りをもうちょっと本腰入れて。

  • Swift
  • SnapKit
  • RxSwift

あたりを使った開発はある程度慣れたかなというお気持ち!

RxSwiftはあんまりゴテゴテに使うとしんどそうな感じがしたので基本的にV-VMの繋ぎくらいにしか使わないスタイルでやっていってみていた🤔

StoryBoardはdiff周りの観点が主に肌に合わずSnapKitを以前からの惰性で使っていたけど、普通に素のNSLayoutAnchorでも書きたいな(リプレースまである)という感じもある

そんなにガッツリ作ってもという感じだったので手始めはView(VC), ViewModel, Model + Navigatorくらいをデフォルト構成として作ってみていた📝

Navigatorがあると画面遷移周りがごちゃごちゃせずスッキリした感覚があったので好印象!

最近はアプリ周り触れていないけど、今年はSwiftUI触ってなんか作りたいなというお気持ち

エンジニアjoin!!

7月にはヘイシャチームのエンジニアも増えました!やっていきの体制が強化されて最高! これまでだいたい一人開発みたいな状態でなんとかしていたのだけど、おかげでやれることの幅が色々と増えました。最高。

とてもがんばってくれてて日々助かってます。圧倒的感謝!!

引き続きやっていこう💪

spreadsheet力アップ

spreadsheetがやはり業務的には重宝する!けど、データの更新やら整合性やら速度やら色々とウッとなる部分が多いのもまた事実。

っていうところで重たいspreadsheetとなんとか付き合っていくやりくり術みたいなのが少し身についた年でもあったw

spreadsheet運用...ウッ...頭が...みたいにエンジニアとしてはなりがちではあるけど、こういったあたりを良くしていくのも個人的にはとても大事だと思っているのでいい経験だった:)

なんでもかんでも管理画面作りゃいいというものでもないし、spreadsheetのメリットもたくさんあるし、ニーズに合わせてうまく乗りこなしてこその技術だという感じある

Shopifyと仲良くなる

2019年後半戦くらいからはShopify上で動くliquidテンプレートを書いたり、合わせてjsも書いたり、「カート内の商品データをもとにほげほげする」みたいな処理を記述できるShopify Scriptsという大体Rubyのようなものを書いたりといろいろやりました👀

合わせてこのあたりもデプロイが割と至難の技だったのですがコマンドでさくさくデプロイできるように並行して整えるなど。

新しい領域を実装するのはやはり楽しい💪また、こういった全く新しいコマンドデプロイの整備などこれまでの経験値が生きる場面も色々とあるなと改めて。何かを経験したときに一つの学びで終わってしまうのはもったいないので、今後の人生や自分の哲学に反映させていくのじゃ

jsと仲良くなる

Shopify開発のときもちらっとはやったけど、長らくなんだかんだちゃんとやってこなかったフロント周りの実装をついにやる必要が出てきたのでゴリゴリとやっていっているのが最近👀

Nuxtを使って社内ツールを開発しています!

昔Reduxを趣味のサービスで使ってみたりはしていたのですが、なんというか昔と比べるとだいぶ全体的に混沌とした感じが減って落ち着いてきたなという感じがとてもしました。 だいぶこの数ヶ月でフロント周りの苦手意識というかとっつきづらさが消えたので2020年はもっと色々やっていくぞ!

Nextとかも今後触っていきたいなと思いつつ👀

Vueも割と初めて書いたけど割とスッと入ってきていい感じ。引き続き練度あげていこう。

Reactもまたやっていきしたい気持ちはあるのでこれまでよりもうちょっと踏み込んで見ていこう〜

2019年の抱負を振り返って

2019年の抱負

職場も変わり、心機一転の勝負をしていく一年になるかなと思います。

これまで以上にめちゃくちゃコードを書いて書いて、ユーザに良い思いをたくさんしてもらって、ガッツリ事業大きくしていくぞ!

やっていき!

昨年末書いたとおり、これまでと比べるとかなりコードを書いた気がします!!2019年は書いた! この調子で2020年もゴリゴリ書いていくぞ!

事業成長的な観点でも、会社的にも本当にどんどん層が厚くなって強くなっている実感があるので、自分ももっともっと成長していくぞ〜〜圧倒的成長〜〜〜〜

あと、なんだかこれまでよりもかなり集中力が研ぎ澄まされてきた気がします。ゾーンに入る頻度が増えた。これはとても良い傾向な気がするので引き続きいい感じにお仕事していきたい:)

これは日々目立ったストレスもなく働けている証拠だとも思うしやりたいことができてて楽しい感触もとてもあるのでありがたい限り。

2020年もやっていき!

2018年、ありがとうございました。退職エントリを添えて

2018年も早いものでもう残り数時間で終わってしまうので、ざっと今年の振り返りを。(もうブログ振り返りしか書いてない)

WEB+DB PRESSへの寄稿

年始は、初めてのWEB+DB PRESSへの寄稿をするということで、原稿の準備をせっせとしていました。もはや懐かしいw

限られた紙面の中で、伝えたいことを一意にちゃんと伝えることの難しさ、推敲の大切さなどなどを身をもって味わえてとても良い経験だったなと思います。

フィードバックもいくつかもらえて嬉しかった:)

はじめての異動

4月からは、2014年のVOYAGE GROUP新卒入社時からずっとお世話になっていた部署に異動の意志を伝え、toC向けの新規事業に携わることに。

xn--eckvb9a2gqb1a.com

(こちら非常によくまとまっていて素晴らしかったです、ありがとうございましたw)

ほとんど何も無いような状況から何を作っていくか、何を回せるようにしていくかを色々と話し合いながら考え、実行していくのはとても楽しかった:)

そしてガッツリtoC向けのサービスに携われたというのもとても面白くて、実際のユーザの声が聞こえてくるのは最the高の極みだなと自分のやりたいことにマッチしているなというのを改めて感じられる非常に良い経験でした!やっていた領域としては

  • APIサーバの開発
  • インフラ周りの権限委譲などの推進
  • iOSアプリの開発

と、割と広範囲に見ていました :eyes: と言っても、これは僕だけではなくチームメンバーそれぞれみんな守備範囲が広く、頼れるメンバーぞろいだったなと本当に思いますw

そして、クローズ

7/25にリリースした上記サービスは、10/31にクローズすることになりました。

僅か3ヶ月のサービス稼働ということで、まぁ色々ありましたが、もっと上手く立ち回れただろうという悔しい部分や悲しい部分ももちろんありつつ、この携われた半年間はとてもエキサイティングで中身が濃く楽しい良い時間を過ごせていたなと思います。改めてメンバー含め関係者の方々、本当にありがとうございましたmmmm

はじめての退職

まぁ上記サービスクローズもあり、4年半お世話になったVOYAGE GROUPを11/2に退職することに。

個人的な終わり方でいうと、もちろん寂しい最後だった感は無いと言ったらウソになりますwが、VOYAGE GROUPは本当に本当に良い会社でした!働く環境も良くしていこうという気がちゃんと社内に流れているし、間違いなくVGに来れたことで人生変わりました。誇張表現とかしないタイプなので本当にw新卒として入れて本当に良かった。何段もパワーアップさせてもらいましたmmありがとうございました、楽しかったです!また遊びに行きますw行かせてくださいw

6:41 AM - Nov 3, 2018

???

同期からもらったお花とお酒。季の美美味い。ありがたや!

はじめての転職

退職から間髪入れず、11/5から新しいところで働き始めました。

???

株式会社RiLiという会社でエンジニアとしてやっていっています!

RiLi[リリ]

RiLi Inc.

はじめての転職&人数も少ないガッツリスタートアップということでもちろん不安もありましたが、杞憂に終わり楽しくお仕事出来てます:)

開発周り一手に担うくらいの気持ちで、以前以上に広範囲な守備範囲を見せられるように片っ端からガツガツやっていってますw

メンバーそれぞれ強くて良さがあるので、ちゃんと力を合わせて頑張っていきましょう!背中は任せろ(?)

そしてねこがいてとても最高。極上の福利厚生

2019年の抱負

職場も変わり、心機一転の勝負をしていく一年になるかなと思います。

これまで以上にめちゃくちゃコードを書いて書いて、ユーザに良い思いをたくさんしてもらって、ガッツリ事業大きくしていくぞ!

やっていき!

今更2017年を振り返ってみる

もう2018年も1/6が終わろうとしていますが、2017年の振り返りを...w

一時的に異動してPHP7 + Symfony3 + Dockerでの開発

2017年の前半は一時的に社内異動をしてお掃除のプロに家の掃除をお願いできるカジタクの開発をしてました。PHP7 + Symfony3 + Docker

www.kajitaku.com

ES5→ES2015+への置き換えや基盤の整備をしたり久々にSymfonyでのアプリケーション開発したり。

デザイナーやプロデューサーとも一緒に話をして進めつつな感じで忙しさはありつつ楽しかった〜

色々と大変なところもあったけどこれも良い経験。良い経験

Treasure2017でWeb APIについて一日講義

弊社で行っている夏のエンジニア向けインターンシップTreasureでWeb APIについてゼロから学んでもらう講義をしました。

speakerdeck.com

全然馴染みが無いような学生でも理解が進むように意識して作ったけど本当に参加した学生さん達が優秀でペロッと平らげていった印象wもう少し奥行きのある構成に出来ると講義に幅を持たせられるなぁと実感。

自分がインターンを受けていた5年前よりもかなりWeb慣れした学生が増えていた印象で、時代もありつつなのか面白いなぁと思うなどしてました。

通常業務もかなり忙しい時期だったので準備含め死にかけたけど楽しかったwやってよかった!(まぁしばらくはこういうのは休憩かなw)

API Gateway + Lambdaでペライチアプリケーションの開発

異動やインターン講師が落ち着いた後は、ペライチだけど一部だけ動的に変わっていくWebアプリをAPI GatewayとLambdaで作ってみたりしてました。

API Gatewayではマッピングテンプレートを上手く使うと意外と色々とできてとても楽しかったw

Apache Velocity Template Language (VTL) を使えるようになっていて、これを使いつつLambdaから返ってくるレスポンスをAPI Gatewayから返すレスポンスに含めてあげる〜という感じ

サーバーレスは良いぞ〜wそんなにリソースはないけどサクッと作ってその後インスタンスのお守りとかもしたくないよね、みたいな時にまず考えてみると良いと思います。それで考えてみてやっぱり要件にあわなさそうとかなら使わず普通に作れば良いだけですしおすし。

合わせてLocalStackやSAM Localと言ったサーバーレス周辺のツールとかもかじれたので良かった。

引き続き新しめのものを積極的に検討しつつシュッと良い感じのものを作れるように色々模索していきたい〜

昨年同様Rails案件もやった

11月位からはもともとやっていたRails案件に戻ってきて、新しい取り組みなどを作ったりたり。

とはいえ最近あんまりRuby/Rails周りへのアンテナが昔ほど高くなってないので、また色々キャッチアップしていかないとな〜とmm頑張ろう。

WEB+DB PRESSへ寄稿

(これが書きたかったのもあって振り返りが今になったというのはあるw(言い訳)

ありがたいことにWEB+DB PRESSへの寄稿の話をいただけて、PHPについて書きました。2018年02月24日発売のVol.103への寄稿となります。

はじめての執筆だったので色々と手探りのところも多かったですが本当に書いてよかった!やはり実際に形として残るものを出せるのはうれしいですしね。

アウトプットの形としては発表よりは文章を書く方が個人的にはあっているなーと改めて実感(ブログ書けてないけどw

  1. ものをつくる
  2. 文章を書く
  3. 発表する

の順番で好きなのが実際にやってみた上で認識合わせられたので良かった。何事も選り好みせず一回はチャレンジしてみる気持ちでやってみた上でなので自分にあったスタイルというのが明確になってしっくり来たなぁという感じ。引き続き色々やっていき!

時間の使い方を変えた

2017年は過去一忙しい年でもあった(特に前半)ので、色々と時間の使い方も変えていって、専業のお仕事をこれまでにも増してメリハリを付けて上手くやるように意識したりもしました。おかげでほぼ定時で帰る癖がついてきて良い感じ。

なんだかんだ2時間とか会社に残ってしまった〜みたいなのをやめて24時間の配分比率みたいなのをちゃんとコントロールするようにしたのはかなり良い感じだなーと。

というのに大きく寄与してくれたのがスプラトゥーンwツライことも多いけど良いゲームだなと。

副業も始めた

時間を上手く使っていきたいなというところで、知り合いの会社で週8時間くらいを目標で開発のお手伝いもし始めました。以前より忙しさはもちろん増えたけど違うプロジェクトも経験しつつ本業も出来るのはすごく自分のためになるので良い感じ:)

ついつい自分だけの開発をしようとするとデスクに向かうのに失敗しがちなのをお仕事として自宅のデスクに向かうことが出来るので良い習慣がついてきてて捗ります。これの延長線で自宅での趣味プログラミングや技術的なキャッチアップの時間が増やせてきてるので継続していきたい!

を上手く回していくぞいw

2018年の抱負

2018年はこれまでよりも実際手を動かして作る所に振り切って頑張っていきたい所存。

もの作ってなんぼだと思うのでその手数をこれまでよりも増やしていきたいし、趣味の開発もまた始めて何かリリースしたいなぁと思っています。

これは2017年に講師をやったり執筆したりという経験を出来たからこそしっかり持てた抱負だと思うので、2018年の振り返りをした時に「例年よりも色々コード書いたな〜」という感触を持てているようにしたいです。

そしてまだ知らない領域もたくさんあるので積極的に踏み込んで行きたい気持ち。

やっていき!

2016年ふりかえり

今年は何をやったかな?というのを書いてみる。

マイチュウニズムネットリリース

チュウニズマーのチュウニズマーによるチュウニズマーのための(ry

ちょうど一年前の今頃に、正月休みで帰省しているときにガッと作った記憶。

今では10000人ほどのユーザさんが使っていてくれていて嬉しい限りです。作ってよかった!

これのおかげで僕だいぶレーティング伸ばせたしめでたしめでたし。

Rails案件へ

部署内プロダクト異動みたいなものがあって、2015年10月頃からRailsを書き始めるようになり、2016年になってからはほとんどRails(or Ruby)書いてました。

もともと主に書いていたのはPHPフレームワークはSymfony2だったのでかなり流れが違うなぁと感じました。

フレームワーク的なところだとモデルに寄せやすいかサービスに寄せやすいかっていうのが一番違って感じたところかも🤔

まぁあとはやっぱりDSL的なところのRubyの強さ(よくわからないものが出来上がると弱さ)はすごいなぁと感じましたね。

去年の10月にこんな発表をババーンとしておいて、その直後からめっきりSymfony2を書かなくなってて疎くなって行ってたのは内緒w

shiro-goma.hatenablog.com

Pure Rubyなプロジェクトも

Pure Rubyなプロジェクトもサクサクっと進めたりもしました。

部署を横断して取り進めるものでなかなかこれまでとは勝手の違うタイプのプロジェクトで苦労もありましたが無事に進められてめでたしめでたし。

「ニュース記事を蓄積し、配信する」というような機能をもつ社内gemを開発して、API Gatewayを使ってシステム構築する、といったようなこともしてました。

techlog.voyagegroup.com

これ実質一人での実装だったのでなかなか寂しい思いをしましたが部署内のチームメンバーに支えられて良い感じに進められましたwありがたやありがたや

賞をいただくなど

2016年10月に開かれた全社総会で、ベストエンジニア賞なるものをいただきました。

正直こういった賞とかはまったく意識したことがなかったのでとてもびっくりしましたが、会社でやってきたことが評価されたというのはとても励みになりますね。

割と常に楽しんでやれるタイプなのでそうした安定感の中でコツコツお仕事出来たのが功を奏したのかなーと思います。

と同時にそういった雰囲気を作れている社内に圧倒的感謝🙏

これからも精進していきます。改めてありがとうございますmm

面接業

エンジニア業を初めて3年目、ありがたいことに社内グレードの昇格もさせていただき、面接業にも携わることが増えてきました。

人を見る目、じゃないですけどどんなことをやってきた人が良いかな、とかどんなことを考えている、大事にしている人と働きたいかな、というようなことを前よりもずっと考えることが多くなった気がします。

採用側に触れるっていうのはすごく見え方が違って学びが多いなーとしみじみ感じながら参加させてもらってました。来年も引き続き関わっていきたい!

DTM

大学の頃からずっとやりたいとは思っていながら出来ていなかった趣味のDTMにもだいぶ時間を割けた年だったかなと思います。

友人とも協力しつつ継続してやれて楽しかったです!

これは来年も引き続き時間作って進めていきたい。

お仕事ももちろん大事だけど、趣味の時間もそれと同じくらい大事。

忙しさに負けて一辺倒にならず上手く立ち回っていくぞ!

2017年に向けて

2016年はお仕事と新しい趣味は上手く進められたかなと思うけど趣味での開発、みたいなところは今ひとつ進められなかったかな〜と。

2017年はぼちぼち勉強会とかもまた参加したいし新しいものづくりもしていきたいのでそのあたりの時間も再び意識的に時間を増やしていきたいです!

意識的にやめていた毎日草生やし活動も2017年はもう一度再開してものづくりの習慣を作り直していこうかな〜。

2017年も頑張るぞい!

といって12/30からウイルス性腸炎とのことで寝たきり生活になっております...つらい...

まずは身体を元気にしてから、2017年も頑張るぞい...w

あなたにおすすめするWebSocketを用いた全く新しいOAuthのご紹介

この記事は、 Advent Calendar 2016 - VOYAGE GROUP techlog の16日目のエントリです!

みなさんこんにちは!

VOYAGE MARKETINGにてエンジニアをしている なかにしごう (@gomachan46) | Twitter です。

2014年より社内非公式サークルとして 音ゲー部 を立ち上げ、お昼休みは会議室のプロジェクターで音ゲー鑑賞、定時後はゲームセンターで練習と、現在もなお元気に活動しています。

さて、今回はタイトルの通り WebSocketを用いた全く新しいOAuth をご紹介したいと思います。

ご存知の方も多いとは思いますが、さらっと簡単に用語の説明をしていこうと思います。

WebSocket

WebSocket(ウェブソケット)は、コンピュータ・ネットワーク用の通信規格の1つである。インターネットの標準化団体であるW3CIETFがウェブサーバーとウェブブラウザとの間の通信のために規定を予定している双方向通信用の技術規格であり、APIW3Cが、WebSocket プロトコルIETFが策定に関与している。プロトコルの仕様は RFC 6455。TCP上で動く。

参考: WebSocket - Wikipedia

特性上、チャットなどのリアルタイム性を求められるようなケースに利用されたりしています。

ActionCable

Rails5系からの新機能で、 RailsWebSocket をつなぐために用意されたものです。

これを用いることで Railsの良さはそのままに、リアルタイム通信を簡単に扱えるようになりました。

github.com

OAuth

OAuth とは、 Otoge Authorization の略です。

Otogeとは

簡単にいうとリズムに合せて作成された譜面の通りにボタンを押して遊ぶゲームです。音ゲーです。

以前よりもだんだんと認知度が上がってきているように感じますね!

OAuth は、この音ゲーで対戦を行い、相手よりも高いスコアを出すことでログインすることが出来るという全く新しい認証方式です!!*1

今回はこの OAuth を、 ActionCable を用いて実装してみました!

デモ

早速ですが百聞は一見に如かずということでデモをどうぞ!(動画埋め込みだと小さいかもしれないです)

OAuth を用いたログインの流れを、とくとご覧ください。

f:id:shiro_goma:20161216001120g:plain

上から落ちてくるログインボタンを...

f:id:shiro_goma:20161216001054g:plain

タイミングよくクリック!頼む〜!ログインさせてくれ〜🙏🙏🙏

f:id:shiro_goma:20161216001408p:plain

勝者には真のログインボタンが与えられ、ここからログインすることができます。

使っている技術

重複もありますがざっと触った技術も書いておきますmm

全て触ったことのない技術でなんじゃこりゃ、という感じのまま気づけばブログ投稿2日前を迎えましたがなんとか動かすところまで出来てよかったですw

コードは闇を抱えていますがこちら GitHub - gomachan46/action-cable-oauth: OAuth

WebSocket

以下のような情報を WebSocket を用いてpushしあっています。

  • 対戦相手のjoin情報
  • プレイ開始情報
  • 各プレイヤーのコンボ情報
  • 各プレイヤーのスコア情報
  • プレイ終了時の勝敗

Rails5

Rails5 系で ActionCable を用いています。

enchant.js

enchantjs.com

もうしばらく更新が止まっていそうですがとりあえず雑にゲームっぽいのが動きゃいいんだよ!ということで突っ込んでいます。

Rails 上に突っ込むのが必要だったので以下の記事やスライドあたりを主に参考にしました。

qiita.com

speakerdeck.com

音ゲー

音ゲーを雑にでも実装する必要があったので、以下の記事を参考にしながら実装しました。

blog.bokuweb.me

参考記事の皆さん、大変助かりましたmmありがとうございましたmm

スピード感、リアルタイム感

意外と(?)割と普通に音ゲー出来たなと言う感じでした!

動画の音声も2ウィンドウで同時に再生されているわけなのですが、ほぼズレを感じることなく聞こえているのではないかと思います🤔

処理する物量が増えたときなどどうなってくるかは要確認ですが、ちゃんと作ったらそれなりに面白いものが出来る可能性を感じるなどしましたw

おわりに

いかがでしたでしょうか?

これが未来の認証方式、 OAuth です。

みなさんも WebSocketを用いた全く新しいOAuth をぜひサービスに盛り込んで最高のログイン体験を!!

明日の更新もお楽しみに〜👀

関連

VOYAGE GROUP エンジニアブログ : あなたにおすすめするたった一つの最高のキーボード

shiro-goma.hatenablog.com

*1:これが言いたかっただけ。色々ツッコミどころはあるけどこまけぇこたぁいいんだよ!!←

どこかで埋めたフラッシュメッセージを特定のページに来たときに通知してあげる方法

f:id:shiro_goma:20161211150948p:plain

東京理科大学 Advent Calendar 2016 - Qiita の12日目のエントリです!

理科大野田キャンパスのOBです!

運河!なんもねーよな!神楽坂羨ましい!

今はVOYAGE GROUPというところでエンジニアやってます:) OB訪問的なのしたいみたいな理科大生さんいたらぜひぜひ!(番宣)

voyagegroup.com

さて、今回は、Rails小ネタみたいなのを書こうかなと思います。

どこかで埋めたフラッシュメッセージを特定のページに来たときに通知する

んーなるほどわからん感がありますね。

例えば、ログインボーナスのような機能を実装するとして、要件が

  • ログイン状態のユーザがどこかのページに訪れたらログインボーナスの条件を満たしたことにしたい
  • 訪れたページで通知するのではなく、TOPページへ行ったときに大々的に通知したい
  • 通知は一度だけにしたい
  • ログインボーナスの条件を満たした直後にTOPページに行ったときだけ通知するのではなく、関係ないページを回遊した後でも

という感じだったときに使えるtipsです!

やり方は色々と考えられますが、今回はおそらく一番手軽で簡単なRails標準のflashを利用した実装方法をご紹介します!

flash

flash - リファレンス - - Railsドキュメント

説明的にはこのあたりを見ていただければと思います。

flashのキーは noticealert だけではなく、任意の物を使うことができます。(中身はただのhashです)

実装

簡単3stepです。

  • 通知するところで普通にflashから情報を取り出し表示する
  • 条件を満たしたところで普通にflashに情報を入れる
  • flash内の情報を適宜保持して引き回す←ポイント

通知するところで普通にflashから情報を取り出し表示する

トップページのview(erb)
<p>top</p>
<% if flash[:login_bonus] %>
    <p><%= flash[:login_bonus]%> controllerでログインボーナス獲得したよ</p>
<% end %>

普通ですね! flash[:login_bonus] があればそれを出します。

条件を満たしたところで普通にflashに情報を入れる

class HogeController < ApplicationController
  def index
    flash[:login_bonus] = "hoge"
  end
end

普通ですね! flash[:login_bonus] に情報を入れてます。

これはリダイレクトしたいなーみたいなときでも同様で大丈夫です。

def index
  flash[:login_bonus] = "piyo"
  redirect_to fuga_path # リダイレクトでも
end

flash内の情報を適宜保持して引き回す←ポイント

今回のキモですね。

class ApplicationController < ActionController::Base
  protect_from_forgery with: :exception
  after_action :keep_flash_login_bonus

  # flashメッセージを各actionでは引き回して保持し続ける
  def keep_flash_login_bonus
    return if controller_name == 'top' # 例えばtop_controllerでは出したいから引き回さないとか
    flash.keep(:login_bonus) if flash[:login_bonus]
  end
end

flash.keep() の使い方がポイントで、 通知したいところでは情報を引き回さないので次のリクエスト時にはflashが削除され、それ以外では情報を引き回して次のリクエスト時にもflashが引き続き使えるようにする みたいなことをやっています。

この方法を用いているため、先程の 条件を満たしたところで普通にflashに情報を入れる 部分での flash[:login_bonus]flash.now[:login_bonus] でもどちらでも大丈夫です。

今回は簡単のためapplication_controllerに書いていますが必要に応じてmethod切り出しやmodule切り出しは行ったほうが見通しが良いですね。

実装としてはこれだけで良い感じに情報を引き回してくれます。

デモ

こんな感じです :)

f:id:shiro_goma:20161211144802g:plain

実装サンプル

今回用に作成したサンプルは以下から確認できます :)

github.com

おわりに

いかがでしたでしょうか?

ちょっとしたflashの活用法でした。ちょっとした一工夫でさらっと実装出来てなかなか良かったです :)

明日は stupid_student2 - Qiita さんが AtomでJavaの開発環境を整える エントリを出してくれるようです!

楽しみですね!Atomユーザもまだ使ってない人も必見!:)