株式会社モバイルファクトリー の技術ブログ
全192件
業務で登場したDBロック待ちの3つの改善方法
2022/12/16
ブックマーク
こんにちは。駅奪取チームエンジニアの id:dorapon2000 です。 私達のチームでは、4月〜7月にプロダクトの負荷対策に注力しました。その結果、通信量の削減やDB負荷の低減、それに伴うインフラコストの削減などに繋がりました。負荷対策の方法は手探りながら多くのことをしたのですが、その中で今回は不要なDBのロック待ちを改善した部分に注目して、どのような方法で
Android位置情報ライブラリでインターフェースによるテスタビリティ向上を確かめる
2022/12/15
ブックマーク
エンジニアの id:toricor です。今年の初めまではサーバサイド(Perl)のタスクを中心に仕事をしていましたが、その後Android & iOS開発を担当するようになりもうすぐ1年になります。 今日はAndroidの位置情報ライブラリを題材に、インターフェースを活用してテスト用に位置情報のデータソースを差し替えやすくするAndroidのテスト例を紹介します。 play-services-location の21系では
GCPでシンプルなCI/CDパイプラインを構築する
2022/12/14
ブックマーク
はじめに サービスをデプロイするときはビルドしてテストしてから行うという手順はよくあります。 その時に、Google Cloud Platform (GCP) 上で CI/CD パイプラインを構築し、コードの変更をトリガーにしてビルド・テスト・デプロイが手軽にできる手法を紹介します。 使用するツール GCP Cloud Build App Engine GitHub 作成するもの Vue.js のプロジェクトで GitHub 上の main ブランチに push/
ShellCheckを使おう!の話
2022/12/13
ブックマーク
駅メモ!チームエンジニアの id:Eadaeda です。 みなさんシェルスクリプト書いてますか?私は時々書いています。12/2 の記事ではシェルスクリプトのテストを書いてみませんかという話を書きました。 tech.mobilefactory.jp 今回はテストではなく、linter の話です。 シェルの文法はなかなか難しいです。例えばダブルクォートで括るかどうかなどです。 # スクリプト a.sh があると
JavaScript 実行エンジンの違いによる URL Interface の挙動の違いについて
2022/12/12
ブックマーク
こんにちは、エンジニアの id:yunagi_n です。 みなさんは JavaScript において、 URL をパースするとき、どの API を使用していますか? もっとも簡単なのは、 URL Interface を使用することだと思います。 今回は、その URL Interface が、 JavaScript の実行エンジンによって挙動が異なることについて書こうと思います。 事前情報 この記事の内容は、以下のバージョンにて確認を行って
元スクラムマスターが初めてプロダクトオーナーをやってみた
2022/12/11
ブックマーク
こんにちは。モバイルファクトリーでエンジニアをしているまえけんです。 自分の居るチームではスクラムで開発をしていて、自分はスクラムマスターとしてチーム運用をしていました。 が、プロダクトオーナーの退職と組織編成によるチーム人数の増加などにより、スクラムマスターからプロダクトオーナーへ帽子を被り直すことになりました。 そこで、初めてプロ
新卒で入社した時の心構え
2022/12/10
ブックマーク
🎄モバイルファクトリー Advent Calendar 2022!毎週土曜日は「良いモノ」を作る技術というテーマで、モバファクの非エンジニアが知見やTipsをお届けします! こんにちは。駅メモ!シリーズでデザイナーをしている19卒入社の @watagisan です。 アドベントカレンダー初投稿ということで、新卒デザイナーとして、「どのように行動すると入社して早い時期からいい感じに会社
巨大なプルリクエストのコードレビューを乗り越える
2022/12/09
ブックマーク
こんにちは。駅奪取エンジニアの id:dorapon2000 です。 コード差分の大きなプルリクエスト(以下、プルリク)をコードレビューした経験は多くの方があると思います。 プルリクは小さく・単位ごとに、とは頭でわかっていても、実装している内に想定よりも大きくなってしまったり、1つのプルリクにまとめなければコンテキストが伝わらなかったり、どうしてもというこ
push 忘れのあるブランチで Jenkins を走らせない工夫
2022/12/08
ブックマーク
こんにちは、駅奪取チームエンジニアの id:kebhr です。 駅奪取チームでは Pull-Request を本番環境に反映する前に Jenkins を用いてフルテストを実行しています。 手順としては Jenkins をキックするシェルスクリプトを使い、開発環境で次のようなコマンドを実行します。 cd $PROJECT_ROOT # カレントブランチのテストを実行する ./jenkins # or # 特定のブランチのテストを実行する ./jenk
駅メモ!エンジニアの勉強会の紹介
2022/12/07
ブックマーク
id:nesh です。 今回の記事では駅メモ!エンジニアで定期的に開催している社内勉強会「Denco Tech Night」について紹介したいです。 Denco Tech Night について この勉強会は 2017 年から始めました。 社内勉強会が促進されている環境であるため、その社内勉強会の 1 つとして駅メモ!エンジニアチームによる勉強会です。 開催概要 参加者は駅メモ!エンジニアが参加必須です。
>/dev/null 2>&1 しなくても黙ってくれるコマンドオプション3選
2022/12/06
ブックマーク
こんにちは。駅奪取チームエンジニアの id:dorapon2000 です。 よくシェルスクリプトのIF文に >/dev/null 2>&1 を書いて条件文とすることはありませんか。実行結果の成否をIF条件として利用したいのであって実際に出力したいわけではないケースです。 実は身近なコマンドでもオプションで出力を抑制できます。3つ紹介します。 検証環境 grep --quiet git diff --quiet apt list -qq
JavaScript: unhandledrejectionの発生条件クイズ!
2022/12/05
ブックマーク
こんにちは、ブロックチェーンチームのエンジニア id:charines です。 この記事ではJavaScriptにおける unhandledrejection がどのような条件で発生するのかをクイズ形式でまとめています。 unhandledrejection とは unhandledrejection はエラーハンドリングされていない Promise が拒否されたときにグローバルスコープに送られるイベントです。 developer.mozilla.org unhandledrejection が発生したとき
転送量を減らすためにCloudFrontのgzip圧縮を有効にしたら、リクエスト数も減ったのはなぜ?
2022/12/04
ブックマーク
こんにちは、エンジニアの id:kaoru-k_0106 です。 CloudFront で gzip 圧縮を有効にしたところ転送量が減ったのはもちろんですが、予想外にリクエスト数も減ったため、理由が気になって調査して記事にしてみました。 背景 駅奪取シリーズは、2022 年現在もフィーチャーフォン(ガラケー)をサポートしており、非常に機能が限られたブラウザへの対応が必要となります。 その
「カジュアル面談」に関わることになったら考えること
2022/12/03
ブックマーク
こんにちは! モバファクで採用担当として働く @overallfactory です。 毎週土曜日は「良いモノ」を作る技術というテーマで、モバファクの非エンジニアが知見やTipsをお届けします。今回の記事では、「良いモノ」=「良い組織」と捉えてエンジニア採用について紹介します。 具体的に紹介していくのはカジュアル面談について。 私が面談時にどのような準備を行い、どのよ
シェルスクリプトのテストを書こう!
2022/12/02
ブックマーク
駅メモチームでエンジニアをしている id:Eadaeda です。シバンは #!/usr/bin/env を使う派です。 皆さんはシェルスクリプト書いてますか? 環境構築、開発、テスト、ビルド、デプロイなどなど、一連の作業を自動化するための手段として時々出番があるんじゃないでしょうか。 ところでそのシェルスクリプト、テスト書いてますか? シェルスクリプトのテスト 「シェルスク