mof-brown

ずっとモフモフしてたい

2019年を振り返る

今年も振り返り記事しか書いてないけど、1年を振り返ります。

昨年は↓のようなことを書いていました。

mof-brown.hatenablog.com

hacomono というフィットネス向け予約サービスをローンチしました

去年の記事でも触れてますが、これまでクライアントワークで開発していたフィットネス向け予約システムを、汎用的なクラウド予約サービスとして再構築してローンチしました。サービス名は「hacomono」と言います。

www.hacomono.jp

今年はこのサービスを会社の注力事業として、メンバー全員で一丸となって取り組んでいました。

セールスチームの発足、展示会への参加、カスタマーサクセスフローの構築、サポート運用、サービスのアップデート運用、・・・などなど、会社として初めて取り組むことばかりで、メンバーの負荷もかなりのものだったと思いますが、前向きに取り組んでもらって本当に感謝しかありません。おかげさまで業界からの反応も良く、念願の自社サービス中心の事業への転換が進み始めています。

開発に関しては、基本はほぼ自分一人で開発していた状況でしたが、10月頃から他のメンバーも開発に参加してもらえるようになってきて、ようやくチーム開発の体制が整ってきました。来年も hacomono を中心とした開発を進めていくことになります。

軽減税率対応やってました

多分5個くらいのシステムを改修しました。改修の量 + お金を扱うプレッシャーからか、この時期はストレス MAX だった記憶があります。

特に不具合も無く、終わった後は一人で飲みに行きました。

身につけた技術

サーバーサイド

相変わらず自社サービスでは Rails を使ってますが、今年の前半にお手伝いしたプロジェクトでは Go を採用しました。

Go を採用するにあたって選定したライブラリに関する記事が結構ブクマされたので嬉しかったです。

note.com

フロントエンド

  • Nuxt.js (SSR)
  • Sass
  • TypeScript
  • PWA
  • CSS Variables

新規に作る時は Nuxt.js + TypeScript + Sass 構成としています。hacomono ではお客様毎に見た目のテーマを切り替えられるようにする必要があるため、SSR + CSS Variables を採用しています。

インフラ

  • ALB + ECS + ECR 構成
  • Terraform module

Go を採用したプロジェクトにて、ようやく ECS を採用することができました。Go だとコンテナ運用も楽ですね。ECS は他の AWS サービスの連携がしやすく個人的には扱いやすかったです。

来年は本番で GAE を使ってみようかと思ってます。

チームビルディング

OKR と 1on1 は継続的に行ってきましたが、チームビルディングについてはあまり変わらず。開発メンバーが増えてきたのと、自分個人の開発負荷を下げさせてもらうためにも、来年はここを強化したいと思ってます。

子供のこと

来年は小学校。環境が変わってどうなるか少し心配。

2018年を振り返る

今年振り返り記事しか書いてないけど、今年も1年を振り返ります。

昨年は↓のようなことを書いていました。

mof-brown.hatenablog.com

marchily という自社サービスをリリースしました

今年は marchily という自社サービスを8月に発表しました。可愛らしいデザインもあってか、そこそこ反響があり正直驚きました。

www.marchily.jp

リリースにあたって記事も書きました。

note.mu

marchily は元々自分がジョインした3年前に企画したもので、ようやく今年開発に着手してリリースができた、という感じです。元々構想していた仕様の半分ほどしか実装できていないのですが、これからも時間を作って粛々と開発していきます。

技術スタックは

  • サーバーサイドは ruby 2.5 + Rails 5.2
  • フロントエンドは Nuxt.js SPA モードで実装
  • DB は MySQL 5.7
  • apartment gem でチーム毎に DB を分割

といった感じで、apartment gem を使って初めてマルチテナントに挑戦してみています。

テナント毎に DB を分割するという手法は、データ漏洩バグが出にくく安心感があるのですが、チーム数が増えることによって DB マイグレーションの時間が増えたり、そもそも MySQL 側で DB * テーブル数に限界がある、といった問題があります。

まだまだ悩むほどの規模感では無いのですが、解決策としてリリース後から apartment gem の DB シャーディングを検証していたりします。テスト環境では問題なく動いてそうですが、本番リリースはまだできていません。本番に適用できたらまた記事を書きたいと思います。

フィットネス向けCRM・予約システムのパッケージ化

まだ HP も無い上に、特に広告宣伝もしていないのですが、ここ数年フィットネス向けの CRM・予約システムを受託で作っています。

ノウハウがそこそこ溜まってきたのと、HP にしれっと載せている事例から問い合わせいただくことも増えてきたので、今年からパッケージ化して事業の柱にしていく予定です。来年はこちらが開発のメインストリームとなりそうです。

身につけた技術

サーバーサイド

今年も引き続き Rails を触ってましたが、直近のプロジェクトで Golang を採用しようとしています。まだ身につけたと言えないけど。Golang は 1.4 だか 1.5 くらいの時に触っていらいですが、なかなか楽しいです。

gRPC、goa、go-swagger と調査して、今は go-swagger で REST API を書いてみています。

フロントエンド

  • Nuxt.js
  • PostCSS
  • TypeScript

こちらも引き続き Nuxt.js 推し。今年から HP/LP 程度であれば、Nuxt.js + Netlify + Headless CMS API といった構成で作ったりしてました。

TypeScript は次のプロジェクトから採用しようとしています。Nuxt.js + TypeScript はまだまだ辛い、というか恩恵が少なそうですが、それでも noImplicitAny があるので導入しても良いかなぁと思ってます。Vuex + TypeScript は本当に辛い。

CSS は長らく PostCSS を使っていたのですが、Sass でも良いじゃんという気になってきたので次から変えそうです。

インフラ

GCP 触りたいな...と思いつつ AWS オンリー。今年こそ本番 Docker 化したい。

チームビルディング

  • OKR
  • 1on1
  • 社内勉強会の運営

www.wantedly.com

今年から社内で OKR、1on1 をはじめたりと、チームビルディングのための活動をはじめました。1on1 は昔受ける側でしたが...やるとなるとなかなか難しいです。

子供の話

息子が5歳になりました。すっかり少年感がでてきました。最近はスマブラにハマってます。

2017年を振り返る

今年も1年を振り返る。

昨年は↓のようなことを書いていました。

mof-brown.hatenablog.com

自社サービスの開発をスタートさせた1年

今の会社にジョインして2年が経った。

当初から、早く受託を脱却するために自社サービスをローンチさせよう、と話をしていたのだけれど

  • 開発環境・フローの整備
  • チームビルディング、メンバーの育成
  • machi-lia という自社 CMS エンジンの開発
  • 取引先の事業拡大に伴う受託開発の工数増

といった要因で、これまでなかなか着手できていなかった。

が、今年は会社の中で色々と整理が起き、自分自身が1プレイヤーとしてサービス開発のみに集中するような体制になってきている。来年の春までには世に出したい。

身につけた技術

サーバーサイド

以前から Ruby/Padrino を採用していたのだけど、自社サービスでは Rails を採用することにした。 これは Padrino がほぼアップデートされていないのと、今後のエンジニア採用を考慮してのもの。 ActiveSupport/ActiveRecord は使っていたので、大きくは config/controller/namespace 周りが違うくらいだった。 Padrino 悪くないんだけどね。

フロントエンド

  • Vue.js 2.x
  • Nuxt.js

フロントエンドは相変わらず Vue.js 推し。特に Nuxt.js という最高のフレームワークが出てきたのが強い。

アプリ

iOS/Android 開発案件の調査の過程で学んだ Clean Architecture が自分の中でヒットしていて、最近はフロント・サーバー両方に適用してみている。

特に感じるメリットは

  • レイヤー分けの整理整頓 (どこに何が書いてあるか、どこに書けば良いかがわかりやすい)
  • 依存関係が一方通行になる
  • モジュール・クラスの命名ルールの統一化

あたり。

サーバーサイドのテストについては、ほぼ RSpec/Request spec で一気通貫のテストを流しているので、DI 使って UseCase の細かいテスト書くとかはこれからやってく。フロントエンドのテストは全く書いてなくてヤバイ。

あとは、この辺の議論ができるようなチーム体制を作っていきたい。

インフラ

  • Elasticsearch/kibana
  • AWS/Kinesis Firehose
  • fluentd

相変わらず AWS 触ってる。対して新しいことはできなかった。

子供のこと

息子が4歳になった。

春先くらいに

  • 4月から保育園が変わった
  • これまでは0歳〜2歳までの保育園だったので、園の中で大きい方だったけど、年少さんなので一番下の位置に変わった
  • なかなかトイレトレーニングが卒業できない
  • 喘息気味のせいか、口で息してよだれがたれることがある

といったことがあって、夏くらいまでは少し元気が無い日があり心配だった。保育園行きたくないとか言われる日もあって、その日はこちらも1日凹んでた。今はすっかり保育園にも慣れてホッとしてる。

トイレに行けるようになったのがとても大きくて、外出の際の荷物が減るし一緒に出かけるのが楽になった。

来年は習い事を経験させたい。プールとか運動系が良いかなぁと思ってる。

無線 LAN 中継器 BUFFALO 「WEX-1160DHP」を買ってみた

我が家は 2F のリビングに親機があるのだけど、1F の端の方まで無線が届かないのでちょっと困っていた。

ビックカメラで中継器を物色してみて、BUFFALO の WEX-1160DHP が良さそうだったので買ってみた。

親機ルーターWPS に対応してなかったので手動で接続。それでもとても簡単に設定できた。コンセントに指すだけなのもお手軽で良い。

おかげで 1F の通信も良好、1F のトイレでネットできるようになった。

都内近郊の電車・新幹線スポット

子どもが大好きな電車と新幹線。ウチの息子も例に漏れず大好きで、定期的にスポットに遊びに行ったりおもちゃやらなんやらを買ってるので、そのへんの情報をちょっとまとめてみる。

東京駅

新幹線を見に行きたい時はここ。入場料払うだけなのでお財布にも優しい。

はやぶさ・こまちの連結部分は人気スポット。 帰りに新幹線の箱に入ったお弁当買ったりしても良いと思う。

ただし誤って東京駅一番街の方に流れてしまうと、プラレールトミカポケモンやらのショップが押し寄せてくるので要注意。

日暮里駅トレインミュージアム (下御隠殿橋)

日暮里駅を降りて目の前にある陸橋から見えるスポット。電車も新幹線もガンガン通る。上から見下ろすことになるので、電車の屋根って汚いんだなぁ・・・というのも実感できるスポット。

新宿サザンテラス

新宿駅の新南口を出たところ。あまり人が多くないのと、カフェが近くにあるのでまったりできる。

プラたく (京成高砂)

https://tabelog.com/tokyo/A1324/A132403/13143563/

お店の中を走るプラレールを見ながら食事ができるカフェ。カフェとしての評価は普通だけど子どもは楽しめる。

鉄道博物館 (大宮)

www.railway-museum.jp

都内から行ける超有名な博物館。 特に0系新幹線が見れるのがポイント高い。0系の顔かわいい。

地下鉄博物館 (葛西)

www.chikahaku.jp

小さい博物館なのでさっと回って終わってしまうけどまぁ暇つぶしに。あと、うちの息子は地下鉄だと外の景色が見れないのであんまり好きじゃないっぽい。

東武博物館 (東向島)

www.tobu.co.jp

個人的に東武線は馴染みが無いのだけど、シミュレーションが充実しているので結構楽しめる。

都電荒川線荒川車庫 おもいで広場

この前イベントやってたので車庫の方まで見ることができたけど、普段は公開してないみたいなのでイマイチかも。

思い出したらまた書く。

2016年を振り返る

今年も1年を振り返ってみたいと思います。

昨年は↓のようなことを書いていました。 mof-brown.hatenablog.com

取締役CTO として動いた1年

昨年10月に株式会社まちいろにジョインして、今年は CTO という役職に向き合う1年でした。

これまで社長が技術・営業両面の中心を担っていたところを、技術部分を自分が巻取るため、開発環境を整備したりルール・フローを変えたりしました。

tech.machiiro.jp

自分自身もプロジェクトに参画しながらこういった施策を動かしていたので、これまでで一番忙しい1年でしたが、 年末メンバーに「会社らしくなってきましたね」と言ってもらえたのが嬉しかったです。来年も頑張ります。

子供が3歳になった

生意気なことを言うようになってきました。小賢しくて可愛いです。 まだオムツ卒業できてなくてお父さん心配です。

勉強した技術

今年は Ruby 中心でした。来年は iOS/Android に手を付けます。

3歳児を連れて金沢へ行ってきた

10月に2泊3日で金沢へ行ってきたのでその記録を。

1日目

初日はあいにくの雨。

子供に新幹線に乗せてあげると約束していたので、今回の主目的は「かがやき」に乗ること。
かがやきを待っている間にこまち・はやぶさが入り乱れて、息子はテンションMAXだった。

お弁当に「極撰炭火焼き牛タン弁当」買ったらほとんど息子に食われた。。。

www.ekiben.or.jp

f:id:kosuke0620:20161104001011j:plain

f:id:kosuke0620:20161104001055j:plain

金沢駅に到着。かがやきデザインで統一されてて可愛い。

まずは21世紀美術館へ。

この美術館、展示物に近づく雰囲気を出すだけでも注意されたりするので、子供連れで行くのはオススメしません。
何度か注意されながら回ったので、落ち着いて見れなかった。

いくつかの展示ルームは写真撮影 OK だったので何枚か撮った。
有名なスイミング・プールは雨のため外から見学ができなかった。残念。

その後、ホテルにチェックインして休んでからひがし茶屋街へ。
この頃雨が強くなってきたので、軽くお土産を物色して早々にホテルに退散。

茶屋街は日が暮れてからの雰囲気がとても良かった。雨さえ降っていなければもっと楽しめたのだが。

夜はその辺の居酒屋に行けばうまいもん食えるだろ、と思って適当に入ったら失敗した。
確かに刺し身はうまかったけど、他の料理は安い居酒屋の料理って感じ。

というわけで、1日目は何だか散々な感じで終わった。

2日目

雨が止んで曇りまで回復。

f:id:kosuke0620:20161104001439j:plain

午前中は兼六園を散歩。結構広いので、子供と一緒に歩くと回るのに結構時間かかった。

f:id:kosuke0620:20161104001705j:plain

兼六園を出たら「サケマルシェ」というイベントやっていたので、お昼がてらご当地グルメを堪能。
牛すじ丼がめっちゃうまかった。今度家で作ろう。

f:id:kosuke0620:20161104002134j:plain

その後金沢駅で寿司を食ってから、特急で加賀温泉駅へ移動。今回の旅行はホントよく電車に乗る。

金沢の温泉というと和倉か加賀になるけど、今回は加賀にしてみた。(深い理由は無い)
でも最近は和倉が人気の模様。

f:id:kosuke0620:20161104002405j:plain

加賀温泉に到着。前回の沖縄とは違って、今回は周りが山だ。

f:id:kosuke0620:20161104002439j:plain

あとは温泉入って食うだけ。カニうめえノドグロうめえ。

3日目

この日は晴れ。

チェックアウトして加賀温泉駅に向かうと、駅の裏側に金色の加賀大観音が・・・!
来た時は気づかなかった。。

www.itamiwake.com

加賀温泉駅から金沢駅に戻ったら近江町市場へ移動。
タクシー乗り場に篠山紀信さんがいた。さすが芸術の街。

f:id:kosuke0620:20161104004351j:plain

近江町市場に着いたらおでん、串焼き、鰻、かき、コロッケなどなど食べ歩き。金沢でここが一番満足度が高い気がする。

f:id:kosuke0620:20161104003425j:plain

近江町市場からの帰りがけに、初日に撮れなかった金沢駅を撮影。オシャレ。

てな感じで今回の金沢旅行は終了。

反省点

  • 兼六園、茶屋街、近江町市場などは地味に距離があるので、晴れていれば自転車借りると良い
  • 近江町市場に行く時間が取れるなら、ここで金使った方が満足度高い
  • 幼児がいる場合、21世紀美術館は行かないほうが良い