ブックマーク / tech.mobilefactory.jp (32)

  • バッファ傾向グラフを用いてプロジェクトのバッファ消費量を可視化してみた話 - Mobile Factory Tech Blog

    駅奪取チームでエンジニアをしている id:kebhr です。 今回は、駅奪取チームにおけるプロジェクト管理のツールとして、従来利用していたガントチャートに加え、新たにバッファ傾向グラフを導入してみた経験について書きます。 バッファ傾向グラフとは このプロジェクトでは、プロジェクト管理手法として CCPM (Critical Chain Project Management) を採用しました。 CCPM では、個別のタスクにはバッファを設けず、すべてのバッファをプロジェクトの終盤に設けます。このバッファをプロジェクトバッファと呼びます。 必然的に、プロジェクトが進行するにつれて、プロジェクトバッファを消費していきます。 プロジェクトバッファの消費量を可視化するツールがバッファ傾向グラフです。 下図のような、横軸に日付、縦軸にバッファ消費率を取るグラフです。 バッファ傾向グラフ バッファ消費率

    バッファ傾向グラフを用いてプロジェクトのバッファ消費量を可視化してみた話 - Mobile Factory Tech Blog
    yug1224
    yug1224 2024/05/09
  • 私が 1on1 でしていること - Mobile Factory Tech Blog

    言葉の定義 モバファクの 1on1 の目的 1on1 で自分が大事にしていること 1on1 はメンティーの時間である 1on1 はメンターの時間でもある 1on1 初回 今使っている 1on1 のフォーマット 体調 半期目標の進捗振り返り ネクストアクションの振り返り うまくいかなかったこと・もっとよくなりそうなところ・うまくいったこと・その他に話したいこと ネクストアクション 1on1 の中でのやりとり お休みの取り方がわからない 最近見積もりの精度が高くなっている 朝会の議事録をとるようにしたい 最近チームの動きがぎこちないと感じている 1on1 定期的な振り返り まとめ こんにちは。駅メモエンジニアの id:dorapon2000 です。 今回は自分自身がメンター側として実施している 1on1 について、どのように実施しているのかご紹介しようと思います。 1on1 のやり方はメンター

    私が 1on1 でしていること - Mobile Factory Tech Blog
    yug1224
    yug1224 2024/04/10
  • 緊急度が低く重要度が高く、そして重いプロジェクトを進める - Mobile Factory Tech Blog

    こんにちは!ブロックチェーンチームでエンジニアをしている id:dorapon2000 です。寒暖ある中でインフルも流行っているようで、私も咳がなかなか収まらず困っています。皆様におかれましても体調にはお気をつけください。 今回はタイトルの通り「緊急度が低く重要度が高く、そして重いプロジェクト」を私が担当した際に感じたことや学んだことをまとめた記事になります。前半で私の担当したプロジェクトの経過について感じたことをお話して、後半で学びをまとめます。 第二領域 重い第二領域の問題 私の場合 初期 中期 後期 重い第二領域プロジェクトを通しての学び まとめ 第二領域 「緊急度が低いが重要度が高いタスク」では記述にあたり少し長いので、ここでは第二領域1のタスクと呼ぶことにします。今すぐではないがいつかは必ずやらねばならないタスク。例えば OS やライブラリのアップデート、開発負債の解消などが第二

    緊急度が低く重要度が高く、そして重いプロジェクトを進める - Mobile Factory Tech Blog
    yug1224
    yug1224 2023/12/26
  • Git の Squash マージをやめた話 - Mobile Factory Tech Blog

    こんにちは!ブロックチェーンチームでエンジニアをしている id:dorapon2000 です。最近買ってよかったものは「潮の華 あおさといわしふりかけ」です。 今回は Git の Squash マージについての知見を共有したいと思います。端的に言うと、 チーム開発で Non Fast-Forward マージをやめて Squash マージを採用し、再び Non Fast-Forward マージに戻した経緯の説明です。Squash マージを運用に導入するか考えたことがある方の参考になればと思います。 Squash マージとは マージには 3 種類ありますね。みなさんはトピックブランチを main へマージする際にどのマージ方法を利用していますか? Fast-Forward マージ git merge --ff-only Non Fast-Forward マージ git merge --no-f

    Git の Squash マージをやめた話 - Mobile Factory Tech Blog
    yug1224
    yug1224 2023/11/30
  • 駅メモ!開発チームにおける Vue.js のマイグレーションプロセス - Mobile Factory Tech Blog

    こんにちは、駅メモ!でフロントエンドを良い感じにしたかったチームの id:yunagi_n です。 今回は、駅メモ!にて使用している Vue.js を 2 系から 3 系へあげて行くに当たって、採用した手法とマイグレーションプロセスについて紹介します。 今回、マイグレーションするに当たって、以下の要件がありました: 機能開発を止めてはいけない 駅メモ!では 6 月と 10 月に周年リリースがあり、それの開発を止めるわけにはいきませんでした もちろん、その間にあったイベントなどについても、開発は継続し続けています 多くのメンバーは割けない 基はわたしが中心に、追加で 1 人〜2 人に手伝ってもらうことはありました また、参考のため、駅メモ!のフロントエンドの規模感を紹介しておくと: Vue コンポーネント数は 1500 コンポーネント fd --type file --extension

    駅メモ!開発チームにおける Vue.js のマイグレーションプロセス - Mobile Factory Tech Blog
    yug1224
    yug1224 2023/10/13
  • エンジニア以外の職種も勉強会を開こう - Mobile Factory Tech Blog

    🎄モバイルファクトリー Advent Calendar 2022! 毎週土曜日は「良いモノ」を作る技術というテーマで、モバファクの非エンジニアが知見やTipsをお届けします! こんにちは。「駅メモ!」開発チームディレクターの id:Torch4083 です。 この記事では、エンジニア以外の職種による勉強会を増やすメリットについて改めて整理し、実際に開催する際に役立つ事例を添えてお伝えいたします。 まえおき:モバファクの社内制度 それって、エンジニアはなにがうれしいの どうやってるの 勉強会のケース 輪読会 LT会 ワークショップ プレゼン・講義形式(+ 質疑応答) 具体例 ゲームプランニング勉強会 『イシューからはじめよ』輪読会 おわりに まえおき:モバファクの社内制度 弊社には「1日の業務時間のうち1時間は勉強に充ててOK!」という制度があります。(「シェアナレ」と呼ばれています) 業

    エンジニア以外の職種も勉強会を開こう - Mobile Factory Tech Blog
    yug1224
    yug1224 2022/12/24
  • ShellCheckを使おう!の話 - Mobile Factory Tech Blog

    駅メモ!チームエンジニアの id:Eadaeda です。 みなさんシェルスクリプト書いてますか?私は時々書いています。12/2 の記事ではシェルスクリプトのテストを書いてみませんかという話を書きました。 tech.mobilefactory.jp 今回はテストではなく、linter の話です。 シェルの文法はなかなか難しいです。例えばダブルクォートで括るかどうかなどです。 # スクリプト a.sh があるとして $ cat ./a.sh #!/bin/bash echo "[$1]" "[$2]" "[$3]" "[$4]" "[$5]" "[$6]" # 例:引数のコマンド置換をダブルクォートで括るかどうかで動作が変わる $ ./a.bash $(date) [Wed] [Nov] [30] [17:06:59] [JST] [2022] $ ./a.bash "$(date)" [We

    ShellCheckを使おう!の話 - Mobile Factory Tech Blog
    yug1224
    yug1224 2022/12/13
  • JavaScript 実行エンジンの違いによる URL Interface の挙動の違いについて - Mobile Factory Tech Blog

    こんにちは、エンジニアの id:yunagi_n です。 みなさんは JavaScript において、 URL をパースするとき、どの API を使用していますか? もっとも簡単なのは、 URL Interface を使用することだと思います。 今回は、その URL Interface が、 JavaScript の実行エンジンによって挙動が異なることについて書こうと思います。 事前情報 この記事の内容は、以下のバージョンにて確認を行っています。 macOS 12.5.1 Google Chrome 107.0.5304.121 Safari 15.6.1 Firefox 107.0.1 題 URL Interface は、 各種ブラウザおよび Node.js 上で URL を扱うためのインターフェースです。適当な URL を渡すと、下のように各部分毎に分解してくれて、 URL を元に何

    JavaScript 実行エンジンの違いによる URL Interface の挙動の違いについて - Mobile Factory Tech Blog
    yug1224
    yug1224 2022/12/12
  • 元スクラムマスターが初めてプロダクトオーナーをやってみた - Mobile Factory Tech Blog

    こんにちは。モバイルファクトリーでエンジニアをしているまえけんです。 自分の居るチームではスクラムで開発をしていて、自分はスクラムマスターとしてチーム運用をしていました。 が、プロダクトオーナーの退職と組織編成によるチーム人数の増加などにより、スクラムマスターからプロダクトオーナーへ帽子を被り直すことになりました。 そこで、初めてプロダクトオーナーをやってみて何があったのか、気づいたこと、などをまとめようと思います。 突然の別れと新チーム 自分がスクラムマスターをしていた頃、チームは全部で5人居ました。しかし1ヶ月の間に、 新プロジェクトの立ち上げ プロダクトオーナーの退職 組織編成に伴いチームメンバーが5人から9人に増加 という怒涛の変化がありました。特に当時のプロダクトオーナーとは新プロジェクトについて立ち上げから協力して計画を建てていたので、その半ばでの退職ということで突然の別れとな

    元スクラムマスターが初めてプロダクトオーナーをやってみた - Mobile Factory Tech Blog
    yug1224
    yug1224 2022/12/11
  • 新卒で入社した時の心構え - Mobile Factory Tech Blog

    🎄モバイルファクトリー Advent Calendar 2022!毎週土曜日は「良いモノ」を作る技術というテーマで、モバファクの非エンジニアが知見やTipsをお届けします! こんにちは。駅メモ!シリーズでデザイナーをしている19卒入社の @watagisanです。 アドベントカレンダー初投稿ということで、新卒デザイナーとして、「どのように行動すると入社して早い時期からいい感じに会社に貢献できるか」について個人的に意識していた「心構え」のまとめを書きました。 こころとからだのためにたいせつなこと 睡眠はたいせつ IT関係の企業では、どちらかというと頭を使うお仕事が多いのでしっかり休まないと日常業務に支障をきたします 作業時間(残業時間)ではなく成果を自慢しよう 自分の扱いがおかしいなと感じたらすぐに誰かに相談する 上司もチームももちろん僕もあなたも、人間なのでチームメンバーとの相性が悪かっ

    新卒で入社した時の心構え - Mobile Factory Tech Blog
    yug1224
    yug1224 2022/12/10
  • 巨大なプルリクエストのコードレビューを乗り越える - Mobile Factory Tech Blog

    こんにちは。駅奪取エンジニアのid:dorapon2000です。 コード差分の大きなプルリクエスト(以下、プルリク)をコードレビューした経験は多くの方があると思います。 プルリクは小さく・単位ごとに、とは頭でわかっていても、実装している内に想定よりも大きくなってしまったり、1つのプルリクにまとめなければコンテキストが伝わらなかったり、どうしてもということはあります。当に申し訳ないと思いつつレビュー依頼を出したり、出されたり。 今回は、巨大なプルリクを前にして、自分がどうモチベーションを保つか、どう読み解いていくか、同じ状況を避けるためにレビューイと協力できることはなにか、について自分の場合を例に紹介していきます。 プルリクは小さく ここでは巨大なプルリクは避けるべきだという前提で記事を進めていきます。 つまり、プルリクは可能な範囲で小さい方がよいという前提です。 その理由は、コードレビュ

    巨大なプルリクエストのコードレビューを乗り越える - Mobile Factory Tech Blog
    yug1224
    yug1224 2022/12/09
  • push 忘れのあるブランチで Jenkins を走らせない工夫 - Mobile Factory Tech Blog

    こんにちは、駅奪取チームエンジニアの id:kebhr です。 駅奪取チームでは Pull-Request を番環境に反映する前に Jenkins を用いてフルテストを実行しています。 手順としては Jenkins をキックするシェルスクリプトを使い、開発環境で次のようなコマンドを実行します。 cd $PROJECT_ROOT # カレントブランチのテストを実行する ./jenkins # or # 特定のブランチのテストを実行する ./jenkins ${branch_name} しかし、このスクリプトは push 忘れのチェックを行っておらず、ブランチ・コミットを push し忘れた状態でフルテストを走らせてしまうという問題点がありました。 push 忘れに気付いたときに push し、フルテストを走らせれば問題ありませんが、フルテストを二度走らせることになるためリードタイムが長くな

    push 忘れのあるブランチで Jenkins を走らせない工夫 - Mobile Factory Tech Blog
    yug1224
    yug1224 2022/12/08
  • >/dev/null 2>&1 しなくても黙ってくれるコマンドオプション3選 - Mobile Factory Tech Blog

    こんにちは。駅奪取チームエンジニアのid:dorapon2000です。 よくシェルスクリプトのIF文に >/dev/null 2>&1 を書いて条件文とすることはありませんか。実行結果の成否をIF条件として利用したいのであって実際に出力したいわけではないケースです。 実は身近なコマンドでもオプションで出力を抑制できます。3つ紹介します。 検証環境 grep --quiet git diff --quiet apt list -qq aptの警告について 検証環境 Ubuntu 16.04 bash 4.3.48 grep --quiet 特定の文字列を含むときにだけif文を実行します。 まず、>/dev/null 2>&1 を使う書き方。grepに引っかかると0を返し(True)、grepに引っかからないと1を返します(False)。 if cat /var/log/syslog | gr

    >/dev/null 2>&1 しなくても黙ってくれるコマンドオプション3選 - Mobile Factory Tech Blog
    yug1224
    yug1224 2022/12/06
  • Terraform を管理するリポジトリのディレクトリ構成とその思想 - Mobile Factory Tech Blog

    こんにちは。ブロックチェーンチームのソフトウェアエンジニアの id:odan3240 です。 tech.mobilefactory.jp 上記の記事で紹介した通りユニマ/ガレージのインフラは Terraform で管理されています。 この記事では Terraform を管理するリポジトリのディレクトリ構成とその思想について紹介します。 前提 Terraform を管理するリポジトリは2020年の1月頃に開発されたものです。 当時の最新版の Terraform のバージョンは 0.12 でした。 当時の Terraform のバージョンでのディレクトリ構成の紹介であり、現在の最新版のベストプラクティスに沿わない可能性があります。 ディレクトリ構成 リポジトリルートのディレクトリ構造は次の通りです。以降で紹介するディレクトリ構造は説明のために一部簡略化しています。 $ tree -L 1 .

    Terraform を管理するリポジトリのディレクトリ構成とその思想 - Mobile Factory Tech Blog
    yug1224
    yug1224 2022/10/28
  • GitHub Actions で nodenv を扱う方法 - Mobile Factory Tech Blog

    こんにちは。ブロックチェーンチームのソフトウェアエンジニアの id:odan3240 です。 下記の記事で紹介した通り、ブロックチェーンチームではバックエンドでも Node.js を使用しています。 tech.mobilefactory.jp フロントエンドとバックエンドのソースコードは同一リポジトリで管理するモノレポを採用しています。 使用しているライブラリやプラットフォームの違いもあり、フロントエンドとバックエンドでは異なる Node.js のバージョンを使用しています。複数のバージョンを使い分けるために開発環境では nodenv を導入しています。 この記事ではチームで実践している GitHub Actions で nodenv を使用して複数の Node.js のバージョンを使い分ける方法を紹介します。 公式の Actions はあるが Node.js のインストールは行われない

    GitHub Actions で nodenv を扱う方法 - Mobile Factory Tech Blog
    yug1224
    yug1224 2022/09/14
  • チーム横断の技術研修とは別で「プロダクト技術研修」をする - Mobile Factory Tech Blog

    駅奪取チームエンジニアの id:dorapon2000 です。 弊社の今年の技術研修についての記事が何点か投稿されています。 tech.mobilefactory.jp tech.mobilefactory.jp プロダクトで利用されているプログラミング言語、ライブラリ、RDBMSなどの技術研修を行っても、プロダクト開発を円滑に行うことは難しいです。プロダクトの仕様の理解が浅く、各機能のコードがどこにあるか把握できていないことが一因です。他にも、口頭伝承になりがちで毎年のコストになっていたことや、新機能開発に取り組んでも、プロダクト理解が浅ければ出るべき提案も出てこない問題もあります。 私達のチームでは、こういった問題を解決するため、チーム横断の技術研修とは別に「プロダクト技術研修」を4年前から実施しています。記事では、そのプロダクト技術研修の紹介と実施にあたり大切にしていることを書きた

    チーム横断の技術研修とは別で「プロダクト技術研修」をする - Mobile Factory Tech Blog
    yug1224
    yug1224 2022/08/25
  • GitHub ActionsのワークフローをオートスケールするSelf-hosted runnerに移行した話 - Mobile Factory Tech Blog

    こんにちはエンジニアのEadaedaです。 皆さんのチームではGitHub Actionsを使っていますか?ブロックチェーンチームではテストやリンター、デプロイといったワークフローをGitHub Actionsで行っています。 今まで、デプロイ以外のワークフローはGitHub-hosted runnerで実行、デプロイはSelf-hosted runnerで実行していましたが、運用していくうちに特定の環境内にあるサーバーで実行されるように仕組みを見直す必要がでてきました。このため全てのワークフローをSelf-hosted runnerに移行する対応を行いました。この記事では移行の際に見つけた便利なものや困ったことを紹介します。 Self-hosted runner GitHub Actionsでは、基的にGitHubが用意したVMでワークフローが実行されます。このVMをGitHub-ho

    GitHub ActionsのワークフローをオートスケールするSelf-hosted runnerに移行した話 - Mobile Factory Tech Blog
    yug1224
    yug1224 2022/07/26
  • OSSのスポンサーを始めるときに、技術広報目線で考えたこと - Mobile Factory Tech Blog

    こんにちは。エンジニアのid:kfly8です。 今月から、NestJSとethers.jsのスポンサーをはじめました🎉 この記事ではOSSのスポンサーをするにあたり考えたことを書きます。 モバファクは、NestJSとethers.jsの2つのOSSのスポンサーになりました NestJSとethers.jsを選んだ理由 多くのOSSに支えられてプロダクトの開発ができているので、気持ちとしては全てのOSSに貢献したいところですが、そういうわけにはいかないので、次のような基準で絞り込みをしました。 プロダクトで重要かつ頻繁に利用している メンテナーが少ないこと スポンサーメニューが明確で、経理処理や稟議が円滑にしやすいこと 1番目の基準は素直だと思います。ここでは2番目、3番目について補足します。 メンテナーが少ないOSSにスポンサーをした NestJSもethers.jsもどちらも優れたOS

    OSSのスポンサーを始めるときに、技術広報目線で考えたこと - Mobile Factory Tech Blog
    yug1224
    yug1224 2022/07/22
  • TOKYO BLOCKCHAIN TECH MEETUP 2022 で登壇しました - Mobile Factory Tech Blog

    こんにちは。ブロックチェーンチームのソフトウェアエンジニアの id:odan3240 です。 先日開催された TOKYO BLOCKCHAIN TECH MEETUP 2022 に登壇してきました。 connpass.com 登壇内容 「クラウド KMS の活用」というタイトルで、自作の OSS の cloud-cryptographic-wallet の紹介をしました。 speakerdeck.com 当日の登壇の様子は動画でも閲覧ができます。 youtu.be Q&A Twitter や第二部の懇親会で寄せられた質問に回答します。 クラウドKMSはマルチシグ対応していますか クラウド KMS でもウォレットの種類は EOA なので、MetaMask などのウォレットと同じ機能しか持っていません。そのためマルチシグには対応していません。 クラウドKMSを使ったときのローカルでの開発環境は

    TOKYO BLOCKCHAIN TECH MEETUP 2022 で登壇しました - Mobile Factory Tech Blog
    yug1224
    yug1224 2022/07/14
  • 新卒エンジニアが技術研修で学んだこと・気付いたこと - Mobile Factory Tech Blog

    はじめまして。22卒エンジニアの id:kebhr です。 モバイルファクトリーでは、現場で使用されている技術を学ぶ技術研修がおよそ1ヶ月にわたって行われます。私は学生時代から趣味やアルバイト・業務委託の仕事でコードを書いてきましたが、技術研修を通して新たな学びや気付きを得ることができました。 ということで、この記事では、そんな学びや気付きを紹介していきます。 公式ドキュメントは大切 技術研修では、さまざまな言語やライブラリ・ツールの公式ドキュメントを網羅的に読みました。これらの中には、学生時代から既に使っているものもありました。 「ある程度使えているし読まなくても使えるじゃん」と考えがちですが、実際に読んでみると、どの公式ドキュメントにもかならず知らないことが書かれていました。 振り返ってみると学生の間は、公式ドキュメントとは「問題が起こったら、ググって見つけた部分を読んで、解決させる」

    新卒エンジニアが技術研修で学んだこと・気付いたこと - Mobile Factory Tech Blog
    yug1224
    yug1224 2022/07/12