Mobile Factory Tech Blog

技術好きな方へ!モバイルファクトリーのエンジニアたちが楽しい技術話をお届けします!

TypeScript

mapbox-gl-js で複雑な表示のアイコンを作る場合や描画順序を変更する場合の工夫

はじめに 駅メモ!チームでエンジニアをしている id:wgg00sh です。 この記事では、駅メモ!内で地図クライアントとして使用している mapbox-gl-js を使うにあたって工夫した点などを紹介していきます。 【✨新機能リリース✨】6/1 12時頃より、アプリ版駅メモ…

駅メモ!フロントエンドの型チェックを強化してCI(GitHub Actions)を導入した話

こんにちは、駅メモ!開発チームエンジニアの id:hayayanai です! 私が開発に関わる駅メモ!は、今年で 10 周年を迎えたゲームです。フロントエンドは Vue.js で開発されていて、現在もコード量が増加しています。 今回は、そんな駅メモ!のフロントエンド…

毎秒現在地を使った最近傍探索をしたい

こんにちは。駅メモエンジニアの id:dorapon2000 です。 約半年前の 6 月 1 日にステーションメモリーズ!(駅メモ!)10 周年を記念してタイムラインと地図の切替機能をリリースしました。大変好評を頂いておりとても嬉しいです。 今回は、その機能の中で毎…

NFTコントラクトにメタトランザクションを導入する

こんにちは、ブロックチェーンチームの id:charines です。 今回は ERC-721 コントラクト(NFT コントラクト)にメタトランザクションを導入した開発事例について紹介します。 主にブロックチェーンに関する開発者の方を対象とした内容になります。 メタトラ…

Ethereumにおけるアップグレード可能なコントラクトの開発

こんにちは、ブロックチェーンチームの id:charines です。 今回はアップグレード可能なスマートコントラクトの開発事例について紹介します。 コントラクト開発者のみなさんの参考になればと思います。 アップグレード機能の必要性 アップグレード可能なコン…

TypeORMのData Mapperパターンにおけるリレーションの型安全性を担保する

こんにちは!BC チームでエンジニアをしている id:d-kimuson です。 今回は外部リレーションに関して型安全性の乏しい TypeORM の Data Mapper パターンを独自のユーティリティ型を使ってちょっとマシにする方法を紹介します。 前提: TypeORM の外部リレーシ…

NestJS Way より TS Way を意識したバックエンド設計事例と Tips

こんにちは!BC チームでエンジニアをしている id:d-kimuson です。 最近、弊チームで構築した社内向け Web API のバックエンド設計をしたので事例として紹介しようと思います。 フレームワークとして NestJS を採用していますが、NestJS Way よりも TS Way …

TS 4.9 satisfies operator を使って React Router のナビゲーションを型安全にしてみる

BC チームでエンジニアをしている id:d-kimuson です 11月にリリースされた TypeScript 4.9 から satisfies operator が追加されました。satisfies operator が追加されたことで 「React Router でのナビゲーションを型安全にする」がやりやすくなったのでや…

VSCode の Multi-root Workspaces を使用して TypeScript のインポートの書式を使い分ける

こんにちは、ブロックチェーンチームのソフトウェアエンジニアの id:odan3240 です。 ブロックチェーンチームでは、 NFT を販売するためのUniqysマーケットプレイス(以下、ユニマ)と、NFT サービス構築支援プラットフォームのユニキス ガレージ(以下、ガレー…

YAPC::Japan::Online 2022でモバイルファクトリーのエンジニアが「TypeScript へ型安全性を高めながらリプレースする」という題で登壇します

こんにちは。id:kfly8です。 2022年3月4日(金), 3月5日(土)に開催されるYAPC::Japan::Online 2022にて、モバイルファクトリーのエンジニアのkimusonが「TypeScript へ型安全性を高めながらリプレースする」と題して登壇します。 登壇は3月4日(金) 20:00から…

「メリハリのある TypeScript」で運用しながら型安全性を高めやすい TypeScript リプレースを行う

こんにちは、21 卒エンジニアの id:d-kimuson です。 モバイルファクトリーでは、最近のプロダクトではフロントエンドに TypeScript を採用していますが、僕がアサインされているプロダクトは歴史が長く JavaScript で書かれていて、今回 TypeScript へのリ…

社内勉強会を通じて DefinitelyTyped に新しいパッケージを追加した話

こんにちは、ブロックチェーンチームでソフトウェアエンジニアをしている id:odan3240 です。 モバファクには毎日1時間社内勉強会の制度があります。 tech.mobilefactory.jp 様々な目的の社内勉強会が開催されていますが、その中に一つOSSへの貢献が目的の勉…

Vue.observable でエラーの状態管理を行う

こんにちは、ブロックチェーンチームでソフトウェアエンジニアをしている id:odan3240 です。 ページをまたぐエラーを制御したい場合、グローバルな状態管理を行えるVuex が選択肢に上がるかと思います。しかし、Vue.js 2系に対応する 3系の Vuex は公式の T…

Vue.js + TypeScript で IndexedDB にCSVデータを入れる

こんにちは、フロントエンド寄りのエンジニアの @1derful です。 2018年モバイルファクトリーアドベントカレンダー 15日目の記事です。 前日は mattak さんの「フリーランスになって変化したこと」でした。 はじめに フロントエンド分野の技術は移り変わりが…