2023振り返り

箇条書きで振り返る2023

本業 | メルペイ

  • Client Enabling Team に所属し、チームの開発効率を上げるための基盤構築や改善作業などを担当
  • 既存機能のUIKit→SwiftUIへの移植と移植作業横展開のための基盤作り
  • 認証基盤の刷新に向けた改修
  • ログ設計レビューチームへの参加
  • 社内ハッカソン入賞
  • 社外向け登壇
  • 社外向け記事執筆

個人事業 | kenmaz.net

  • AnimeMaker
    • ユーザ数推移
        • 5万 MAU といったところか
        • インドが謎にちょっと伸びてて謎
        • 中国語対応したけど特に効果なし
    •  iOS
      • TikTok風の縦スクロール型UI (For Youタブ) の導入
      • 問い合わせ画面の改善
      • キャンバスサイズの変更
      • ランドスケープモード対応
      • 中国語サポート
      • 描画内容の移動ツール追加
      • SwiftUI / Swift Concurrency への移行
    • Android
      • アルファチャンネル対応
      • Androidダークテーマ / Material You 対応
      • ズーム機能の性能向上
      • 描画内容の移動ツール追加
      • メモリリークバグの改善
      • Jetpack Compose への移行
    • Web / BE
      • TwitterEarlybird論文を元に推薦機能を再設計
      • Rails5.1移行
      • Rails5.0移行
      • 認証・セキュリティ周り改善
      • ジョブキューのSidekiqへの全面移行完了
      • M2 mac ローカル開発対応
  • S3XY KeyFob
  • その他

プライベート

 旅行

部活動(会社のバンド部)

  • 1/16 スタジオ@代々木
  • 1/18 社内TGIFイベントでのバンド演奏
  • 7/2 スタジオ@アキバ
  • 7/22 スタジオ@代々木
  • 11/25 スタジオ@渋谷
  • 12/11 ジャムセッション@代々木

マンション理事会長

  • EV充電器設置に向けた調査と提案
    • 業者打ち合わせ
      • テラモーターズ
      • エネチェンジ
      • We Charge
      • YourStand
      • DMM
    • 住人ヒアリング会
    • 初期費用・利用料金・手数料など最適解が見出せず保留、引き続き検討
  • 総会・任期終了

テスラ走行実績

  • 走行距離 3,989km
  • 使用電力 630kWh
  • 充電料金 ¥23,430
    • スーパーチャージャー無料期間も終了し、いろいろな充電方法を試してみた
    • 今の所の最適解はこんな感じ
      • 基礎充電:近所のコインパーキングに24H放置+無料普通充電
      • 経路充電:スーパーチャージャー
      • 目的地充電:イオン普通+急速 などなど
    • e-mobilityのゲスト充電は高いので緊急用
  • 無事故無違反で何より

推しごと(ライブ・コンサート)

映画館で見た映画

オーディオブック (Audible)

散歩中 / ドライブ中 / 家事 / 寝ながら Audibleが捗ります.

情報源: GitHubのコミットログ / Googleカレンダー / 社内の自己評価フォーム / Teslafi / Audible履歴

 

この辺で面倒になったので終了。2024年も頑張ろう

 

 

全国テスラスーパーチャージャーめぐり

これまでに訪問したテスラスーパーチャージャーの記録。聖地巡礼的な感じで。初回充電時のみを記録。充電せずにただ訪問したのはカウントしない。

#15. 六本木ヒルズ (2024-03-29)

 

#14. みなとみらい (2024-03-23)

 

#13. 調布 (2023-10-14)

 

#12. 与野 (2023-08-31)

 

#11. 有明 (2023-07-17)

 

#10. 板橋前野 (2023-05-26)

 

#9. 千葉稲毛 (2023-04-22)

 

#8. 六本木 (2022-11-29)

 

#7. 東雲 (2022-12-28)

 

#6. 金沢 (2022-05-01)

 

#5. 長野 (2022-04-30)

 

#4. つくば (2022-04-23)

 

#3. 代官山 (2022-01-11)

 

#2. 木更津 (2021-09-26)

 

#1. 川口 (2021-03-12)

 

2022振り返り

あけましておめでとうございます。明日から2023年の仕事が始まります。雑に2022を振り返ってみます。

本業 / メルペイ

2022/01-2022/03

2021の秋から2022年の3月ころにかけて、これに集中してました。メルペイiOSチームとしては旧アプリで動作しているメルペイ側のコードを維持しつつ、新アプリ上でもそのまま動作するようにBridgingのレイヤーを頑張って作ってました

engineering.mercari.com

2022/04-2022/08

4月から8月ごろにかけてはこちらに注力してました。フルSwiftUIでメルペイのDashboard画面を移植&リニューアルしたり、ほかのメルペイのコードの移植がスムーズに行くような基盤などを整えてました。

【デザインリニューアル】「支払い」画面を順次公開します! | メルカリびより【公式サイト】

Dashboardは5回目のリニューアルで、前回のDashboard4.0の開発に引き続き担当させてもらいました。

2022/09-2022/12

秋から年末にかけてはメルペイの既存コードをGroundUP App側のリポジトリに統合してモノレポ化する作業を行なっていました。Bazelベースのビルドシステムに載せることでビルド速度が向上し、複数レポジトリの管理も不要になり、開発効率化を向上させることができました。その他ロギング周りの移行なども行いました。

 

2022年は機能開発、基盤部分の両方に携われてとてもやりがいがあった年となりました。

副業 / AnimeMaker

2009年から個人で運営しているWebサービスAnime Makerは14年目に突入しました。ちなみにももクロは今年で15周年だそうです。

子供の科学」という子供向けの雑誌でアプリが取り上げられたのは嬉しかったです

 

年間157万ユーザということで昨年と比べて順調に衰退しています。とはいえ秋頃のアップデートでAnalytics周りのコードがミスって数値集計がうまく行ってないので本当のところはよくわかりません。

Rails appのほうは頻繁にメンテしてましたがiOS/Androidアプリの更新は滞り気味でした。しかし秋頃からなぜかやる気に火がついて頻繁に機能追加してました。バージョン番号を付けるのが面倒になったのでYYYYMMDD形式のバージョン番号で運用するようにしたら管理が非常に楽になりました。

Rails appのほうは細かい機能をいろいろ開発した他、Rails4->5移行したり、今更ながらCapistranoでワンコマンドデプロイできるようにしました。

機能を追加するたびに運営アカウントで告知のアニメを作成して投稿してるんですが、お客さんからいろいろな反応があって楽しいです。

https://anime.kenmaz.net/anime/comments/6352680 

広告+IAP+サブスクで家計を支えています。脱サラはまだまだできません。

iOSの購読者数は193->181、Androidは80->50って感じで全然積み上がってねぇ〜

アプリ運営は難しい。

その他 

テスラ

引き続きテスラ生活エンジョイしています。GWに実家の金沢に行ったのが楽しかったな



Audible

Audibleをはじめて散歩中、ドライブ中、就寝前、歯磨き中など、耳が空いてるときは常に何か聞いてる感じです。気に入ってます。

 

旅行

家族旅行であちこちへ

推しごと

充実してんな!

パッと思いつくところで佐野市にクルマで早めに到着してホールの喫茶店で仕事しながら会場を待ち、ラジオの公開収録に参加したのち本編を観て、終演後に佐野ラーメン食ったあと筑波スーパーチャージャーに寄って帰宅、という旅が一番印象的だった。

 

以上

 

 

 

 

 

 

 

 

 

 

 



2021振り返り

あけましておめでとうございます。@kenmazの2021年を振り返ってみます

本業 / メルペイ

  • 2021年も基本自宅からリモートワークだった
  • やってたことをSelf Assesmentを見ながら4半期毎にボヤッとまとめてみる(便利だ)
    • 1-3: メルペイタブリニューアル🎉とかClientオンコール体制の準備とか
    • 4-6: 新機能開発(色々あってリリース中止😭)
    • 7-9: BNPL💰のお手伝いをしたり技術負債解消したり♻️
    • 9-12: SwiftUI🐥を弄ったりDependencyをInjectionしまくる仕事(謎)
  • 英語の社内スコア(CEFR相当)がB1 lowからB1 highに向上

副業 / AnimeMaker

AnimeMakerというサービスを個人で開発運営しているので、その運用レポートっぽく振り返ってみる。

ユーザ利用状況

年間ユーザ数165万人 / 昨年とほぼ同水準を維持

f:id:kenmaz:20220101113751p:plain

作品投稿・閲覧数

閲覧はなんとかキープしつつも、投稿数自体は下がってきている。人気投稿者に閲覧が集中し、新規投稿者がうまく露出できておらず、タコツボ化しているのかもしれない。要改善。

ちなみに下3段はsidekiq導入以前に動いていた、なんちゃってjobキューシステムの稼働状況。普通のdbのレコードとしてjobをinsertして、rubyのお手製workerがconsumeし処理完了したらdeleteするだけの代物だが、たまにworkerが死んでメンテが大変だった。10月ごろに気づいたら130万jobが滞留していたことに気づき、あれこれして解消しつつ、railsの機能を使ってちゃんとしたMQを導入移行して解決。詰まったjobを2〜3ヶ月かけて消化するのが大変だった。

f:id:kenmaz:20220101113920p:plain

 

システム稼働状況(datadogより)

引き続きさくらVPSx3 + S3 + CloudFront って感じ。5月ごろに重いencode処理をwebからbackendに集約、さらに10月ごろにMQを導入しバッチ処理を排除したことで、負荷をいい感じに分散できた気がする。 

f:id:kenmaz:20220101113857p:plain

収益

広告は昨年の水準をほぼ維持

f:id:kenmaz:20220101115703p:plain

iOSサブスクリプションはアクティブ購読数100→190程度。地味にありがたい。

f:id:kenmaz:20220101115747p:plain

Androidサブスクリプション。75~100アクティブ購読くらいか。

f:id:kenmaz:20220101115839p:plain

規模が小さいにせよ着実に積み重なってくれるサブスクリプションは心強い。

テスラ

あちこちに書いているが、テスラを購入した

基本は週末しか運転しないが、たまにぶらっとドライブに行ったり、家族でいろんなところへ行った。先日は長瀞へグランピングをしに行ったりと、ちょっと休日の過ごし方が変わった気がする。

f:id:kenmaz:20220101171422p:plain

関連して、テスラ用のアプリを開発したり

iOSDCで登壇したりした。

www.youtube.com

その他

  • ドラムを買ったり、アンプを買ったりした

  • いつかドラムに本格的に挑戦したいと思っていたが、手軽な値段で買えるようになってよかった。楽譜を買っていろいろ練習してる。
  • 一曲通せるようになった曲は、macMIDIで繋げて、ギターとベースと多重録音したりして、1人バンドとしてレコーディング遊びなどをしている。
  • あとは耳コピで雰囲気で叩いたりして、たのしい。

 

以上

 

 

 

 

 

 

iOSDC2021に登壇しました

昨年に引き続きiOSDC2021にオンライン登壇しました。

fortee.jp

私の発表資料は以下にアップしてあります。

speakerdeck.com

タイトルどおり、テスラを買って感じたことや調べたことをiOSエンジニア界隈に紹介する、というだけのトークです。このトークでひとりでもテスラについて興味を持ってくれる人が増えるといいなと思っていましたが、目的は達成できたかなと思います。Ask the speakerでも数多くの質問をいただき、ありがたかったです。

f:id:kenmaz:20210923001020p:plain

iOSDCとしては今回で4回目の登壇になります

前回、前々回はメルペイでの業務を通じて得た経験が元ネタになっていたので、ある意味会社を代表しているような部分もあり結構気を使いながらトークやQ&Aに望んでいましたが、今回は完全に趣味の延長の話なので比較的リラックスして参加できました。たまにはこういうのもいいですね。

気になったトーク

家庭の事情で、自分の出番とオープニング、クロージング以外はほぼリアルタイム参加できなかったのですが、いま絶賛ニコ生のアーカイブでキャッチアップ中です。

まだ途中なのですが、特に以下のトークが大変興味深かったです。

 

Swift5.5から導入されるSwift Concurrencyについて。どちらも非常にわかりやすく説明されています。アプリ開発のスタイルがまた大きく変わりそうな感じがしますね。

 

GraphQLについてはざっくりとは理解していましたが、apollo-iosAPIレスポンスキャッシュまで手厚くサポートしていることを初めて知りました。トークを聞く前は状態管理とGraphQLって何が関係あるの?と思ってましたが、全体を聞いて非常に納得できました。

 

マルチモジュール構成、Sandboxアプリ、Preview、ツールサポート、コード生成、依存性の解決、などなど、出てくるキーワードがメルカリ・メルペイで行っている取り組みとびっくりするぐらい一致していて、大規模アプリの行き着く先として一つの成熟点を目の当たりにしたような、そんな感想を抱きました。同時に、今後もSwiftUIやSwift Concurrencyなど大きな環境の変化が待ち受けているので、数年後にまた各社どんな姿になっているか、楽しみです。

まだチェックできてないトークがたくさんあるので引き続きキャッチアップしていきます。

イベント全体について

エヴァンゲリオン碇ゲンドウの声優であり、ももいろクローバーZの「Z伝説〜終わりなき革命〜」「Z伝説〜ファンファーレは止まらない〜」の曲中ナレーションやDVDのナレーションも担当してる(重要)、あの立木文彦さんが、各トークの前振りとして発表タイトルと発表者名を読み上げてくれるという大変素敵な演出がありました。

もちろん自分が登壇するタイミングでも発表タイトルと名前を読み上げてもらって、大変光栄でした。永久保存版です。

あとちょっとの時間でしたがDiscordでチャットできたのも楽しかったです。try! Swift New York繋がりの @freddi さんとも初めて話せて良かった。

また今年も豪華なノベルティグッズが送られてきて、さっそくTシャツは日常使いさせてもらっています。羊羹も美味しかったです。

運営の皆様、毎年ありがとうございます。

iOSDC振り返りイベント

メルペイ主催の以下の振り返りイベントにも参加することになったので、わいわい話せたら良いなと思います。ご興味のある方はご参加ください。

mercari.connpass.com

 

 

2020振り返り

あけましておめでとうございます。2020年を振り返ってみます

メルペイ

  • 前半は地図UIや「おくるもらう」などの新規機能の開発、後半は各種グロース施策をiOSのTLとして担当しました。またメルカリ・メルペイ横断PJやモバイルチーム横断のPJにも関わっています。
  • iOSDCMerpay Techtalkでのリモート登壇、技術ブログの執筆などを行いました。
  • 2月からずっとリモートで働いています。通勤がない分かなり効率的に働くことができ、メインのタスクだけでなく、改善系タスクにもじっくり取り組めた一年になった気がします。
  • MTGでの英語頻度がやや増えました。相変わらず大変ですが、字幕機能のおかげでなんとかなってる?感じです。

個人開発

  • AnimeMakerはサービス開始から12年目となりました。ユーザ数はこの一年でMAU13万→18万に成長しました。
  • 技術面では以下のようなことにチャレンジしました。
  • iOS:SwiftUIの導入、iOS14対応、iOS10サポート終了、Subscription課金の導入
  • Android:(ほぼ)Full-Kotlin化、ViewModelの導入、Subscription課金の導入
  • Backend:Elasticsearchの導入、memcachedの追加、動画エンコード専用サーバーの追加、Rails3→4へのアップデート(!)
  • 昨年から個人開発の収益はすべて投資に回すようにしました。もともと存在しない資金なので、$TSLAなど応援したい個別株を長期保有前提で毎月買ってる感じです

その他趣味活動

  • あちこち出歩いて、人が密集したライブに行ったりイベントに行ったりしてミーハーな感じでエンタメを消費するのが趣味なんですが、コロナで全滅です。在宅でできることをやってる感じですが不完全燃焼です。
  • クルマ(orEV)とか買って遊ぶと面白いかなーと考えていたりするんですが、マンションの駐車場は埋まってる、近隣の月極ってのもなぁ、そもそもこの年までそんなにクルマにハマってこなかったのですぐ飽きるんじゃないか、必要なときにカーシェアでよくない?、事故とか怖いしなー、別になくても生活できるしなー、などなど無駄に悩んでいる感じです。

2021の目標

  • なにかしらこの時代にあった新たな趣味を発見する

 

 

iOSDC2020に登壇しました&参加レポート

iOS関連技術のカンファレンスであるiOSDC Japan 2020で「Xcode Previews でUIKitベースのアプリ開発を効率化する」というタイトルで発表してきました。

fortee.jp

発表スライドはこちらです。

speakerdeck.com

今年はオンライン開催ということでニコニコ生放送での配信となりました。以下からタイムシフト配信が見れると思います。後日セッションごとにYouTube等にもアップされるかな?

live.nicovideo.jp

 

発表内容について

発表では、2019年秋ごろからメルペイで私が導入を進めてきたXcode Previewsについて、

といったことを紹介しました。 

同じような内容は2019年末に会社のブログに書いて既に公開しています。その時はまだ2画面程度にしかPreviewを使っていませんでしたが、それから9ヶ月ほどたち、およそ150画面ほどにまでPreviewの導入が進んできました。今回の発表ではこの9ヶ月で得られた知見を詰め込んだものとなりました。

engineering.mercari.com

また会社のブログではさらに今回の登壇にあたりインタビュー記事を作ってもらえたので、そちらもご覧ください。

mercan.mercari.com ちなみに今回の発表内容は、2020年3月に行われる予定であった「try! Swift Tokyo 2020」で「Effective UIKit-based app development with Xcode Preview」というタイトルで話そうと思っていた内容でした。ただしそれはコロナの影響でイベント自体が中止となってしまったため、それをさらにブラッシュアップしたものをiOSDCにて発表させていただきました。

www.tryswift.co

 

発表を終えて

ありがたいことに「ちょっと感動してる」「めちゃくちゃ便利だ」「明日から使いたいシリーズ」などなどポジティブなコメントをたくさんもらうことができました。

f:id:kenmaz:20200922013957p:plain

発表後の質疑応答コーナーでも多くの質問があり、ありがたかったです。

今回の発表内容は結構実務に役立つ方も多そうなので、発表者ノートと共に解説記事として後日別途アップする予定です。

 

他のスピーカーのセッション

今回は4連休中での開催ということもあり、子供たちの相手をしながらの参加になりました。大量の宿題を抱えた娘が「パパの部屋じゃないと集中できん」ということで、宿題を応援しながらセッションを聞いたりしてました。 

f:id:kenmaz:20200921115204j:plain

この後ろで娘が宿題をやっていた

てことで、どのセッションも100%集中して視聴はできなかったので、これから改めて1.75倍速でニコ生タイムシフトで各セッションを再度チェックしていきます。感想は随時下記のTwitterのスレに投稿していく予定です。フィードバックも送ろうと思います。 

 

全体の感想

やはりオンライン開催ということで、カンファレンスの醍醐味でもある、知り合いや、たまたま近くにいた人たちと技術や業界にカジュアルにお喋りする、といったことができなくて寂しい感じはありました。ただ、ウィンドウを5つ並べてセッションを同時に見ることができたり、タイムシフトで気になったセッションを見返したり、一時停止できたり、といった配信ならではのありがたい点も多々ありました。

登壇者としては、事前収録ということもあり負担はだいぶ小さくてよかったです。とはいえオンライン配信であっても登壇直前に緊張して心拍数が異常に高まる体験は相変わらずでした。

リアルの登壇だとお客さんからの笑いや反応に応じて臨機応変に話し方を変えたり、とかいったことも楽しいですが、ニコ生でもリアルタイムで反応をもらえるのでそれはそれで楽しかったです。

クロージングセッションを見ながら「あ〜これでイベントは終わりか」といつもと同じく充実感や寂しさみたいなものは体験できてよかったです。WWDC20では体験できなかった「イベントに参加している」感が、iOSDCではすごく感じることができました。

来年はどういう形式になるかはわかりませんが、また参加したいと思います。