アイリッジ開発者ブログ

アイリッジに所属するエンジニアが技術情報を発信していきます。

PyCon JP 2022に出展しました

こんにちは。プロダクト開発グループの中野です。 10月14・15日に開催されたPyCon JP 2022に、弊社はGoldスポンサーとしてブースを出展しました。今回は弊社のPyConへの参加について簡単にご紹介します。 ブースの外観 弊社が提供するアプリマーケティングツ…

Google Play In-App Review API実装まとめ

https://developer.android.com/guide/playcore/in-app-review?hl=jaから引用 開発部第1グループの中島です。 担当した案件で、Google Play In-App Review APIの組み込みを行ったのでまとめを記載していこうと思います。 導入経緯 アプリの使い勝手を改善す…

XCTUnwrapを使ってテストコードをシンプルに

こんにちは、開発部第1グループの西岡です。 iOS開発で手軽に活用できるTipsについて紹介しています。 今回、私が紹介したいのはテストコードを書く時に便利なXCTestの関数です、 XCTestといえば iOS開発における一般的なユニットテストといえばXCTestフレ…

リトライ付きの並列処理をPythonで実装する

こんにちは。プロダクト開発グループの中野です。 先日、Pythonの標準モジュールを使用したリトライ付き並列処理でAirflowのTASK分割による並列処理を置き換え、大幅な性能向上とコストダウンを実現しました。平易な内容ではありますが、誰かのお役に立てば…

3年ぶりのリアル開催!iOSDC Japan 2022にブース出展します

こんにちは。エンジニア採用担当の佐藤です。 アイリッジでは、ファン育成に強みを持つアプリマーケティングツール「FANSHIP」のSDK提供およびマーケティング効果の高いO2O/OMOアプリの受託開発においてiOSでの開発を行っており、iOSDC Japanには2018年より…

App RunnerはECS for Fargateを置き換える存在になるか

こんにちは!開発部でインフラエンジニアを担当している斎藤です。 今回、AWS App Runnerに少し触れてみたので、その所感をまとめたいと思います。App Runnerの登場は 2021年5月19日でして、サービスとしては1周年が経過した状態になっています。そろそろ真…

gitlab runnerを実行ジョブ数に応じてオートスケールする

開発部の斎藤です。主にAWSに対する、クラウドインフラの構築・運用保守を担当しています。 この度は弊社内で横断的に利用されているGitLab Shared Runnerのオートスケールを実装した話をしたいと思います。弊社で、GitLab Shared Runner を導入している背景…

G.I.G. プログラムに参加して

初めまして、プロダクト開発グループの北崎です。 2021年に入社して、今回面白いプログラムに参加できたのでその話を書こうと思います。 参加した経緯 まずは参加した経緯ですが、8月ごろにプロダクト開発グループ内で特別招待の募集があり、以前から GCP の…

ログ調査に役立つシェルコマンドについて(優しい例文付き)

こんにちは!アイリッジプロダクト開発グループの森山です。 突然ですが、皆さんログの調査はされていますか?僕はしてました。 といっても、今まではAWS CloudWatchのログをぽけーっと眺めるくらいでした。(眺められるくらいの量のログしかなかった) アイ…

入社して1年間の振り返り

皆様、はじめまして。 2021年4月に新卒入社した、T.K.と申します。 留学生として日本に訪れた私は去年、日本の社会に足を踏み入れました。そして気づけば、それももう直ぐ一年になります。今回は入社してからのこの1年間について、感想を述べようと思います…

メーカー経営企画からエンジニアへ転職〜第二新卒の1年〜

開発部第2グループの丸子です。 私は昨年の4月に第二新卒として採用され、早1年が経とうとしています。 今回は、アイリッジ入社から現在までを振り返りながらお話しできればと思います。 入社までの経緯 私は第二新卒として入社しましたが、それまではメー…

新卒枠で入社しての振り返り

初めまして。2021年度に新卒枠で入社した柴谷です。入社してから約1年が経ちましたので、就活期間から現在までを振り返りたいと思います。 季節外れ+コロナ禍真っ只中の就活 iRidgeについて知ったのは、大学院を休学してエンジニアになるために就職サイトを…

VPC LambdaでEC2内のDockerコンテナを操作する

こんちには!アイリッジプロダクト開発グループの森山です。2021年10月に入社しました。 入社してからは日々成長といった形ですが、入社してすぐに携わったリカバリーシステムで 学んだことを書かせていただきます。 ずっとずっとアウトプットしたかったので…

このAd Hocアプリはインストール可能か?

1. 前置き 開発部第1グループの西岡です。みなさんこんなことありませんか? Ad Hocアプリをお客様に展開したがインストールできないと言われた IPAファイル(iOSアプリの配布ファイル形式)がインストールできない DeployGate や Firebase App Distribution…

リクエスト制限導入を導入しました (2年前)

プロダクト開発チームの将棋愛好家です。将棋愛好家のアイリッジへの入社を心よりお待ちしております。 2年ほど前に担当した、FANSHIPの管理者向けAPI (以下MAPIと書きます) のリクエスト制限について書きます。 当時、ちょうど入社1年経過した頃あたりで、…

Google Fitと連携して歩数を取得する

開発部第2グループの天野です。 AndroidアプリにGoogle Fitと連携して歩数取得する方法を調べたので実装方法をご紹介します。 はじめに 基本的に以下の手順で可能です。 Get started on Android | Google Fit | Google Developers ただ、その中で特に実装前…

Django2.2から3.2へのバージョンアップで発生するクエリ変更への対応

開発部第2グループの佐藤です。 Django 2.2.23から3.2.6へのバージョンアップしたところ、ORMが生成するクエリが一部変更されていました。調査した変更内容と対応方法を共有します。使用しているDBはMySQLです。 起こったこと booleanフィールドでfilterする…

Re: EC2の既存システムをECSにリプレイスした話

こんにちは、プロダクト開発グループの増田です。普段は自社サービスの FANSHIP の開発・運用を行っています。 今回は、FANSHIP のとあるシステムを EC2 から ECS へ載せ替えたので、その時の振り返りを兼ねて書いてみたいと思います。過去に実施した同様の…

AWS 認定プロフェッショナル 二冠達成しました

こんにちは。プロダクト開発グループの川口です。現在はサーバーサイドの業務から少し離れていますが、三年ほど自社サービスである FANSHIP のインフラ・運用業務を主に担当していました。 今年3月に DevOps エンジニア – プロフェッショナル (DOP) 、9月…

iOSDC Japan 2021にシルバースポンサー&Tシャツスポンサーとして協賛します

こんにちは。エンジニア採用担当の久保山です。 アイリッジでは、ファン育成に強みを持つアプリマーケティングツール「FANSHIP」のSDK提供およびマーケティング効果の高いO2O/OMOアプリの受託開発においてiOSでの開発を行っており、iOSDC Japanには2018年よ…

CDK で GitLab Shared Runner 作ってみた

開発部の佐藤です。 弊社では複数の受託開発プロジェクトをまわしており、それぞれのチーム同士のコミュニケーションが不足しがちでした。その結果として、社内の共用GitLabの運用にあたって以下の課題を抱えていました。 全社共有のGitLab Runner(以下Runne…

MySQLdb(mysqlclient)をasyncioでブロックされずに使う

アイリッジ プロダクト開発グループの朴です。pythonでmysqlを扱うための多様なライブラリがありますが、その中、 pymysql(PyMySQL) MySQLdb(mysqlclient) mysql.connector(mysql-connector-python) aiomysql(aiomysql) がよく使われているかと思います。 上…

GitLabでアサインされたissue,MRを日時でslack通知するようにしたお話

こんにちは、プロダクト開発Gの城山です。 今回は普段業務を行う上で自分なりに問題に感じていた点を、実際に改善した時のお話です。 概要 システム構成 GitLab API application ソースコード 使用している技術 cron slack 通知内容 まとめ 概要 自分が所属…

RDSやS3にある300億のレコードを加工してBigQueryに格納する

こんにちは。プロダクト開発グループの福角です。 大量データを加工してBQに格納する場合の設計方針についてまとめました。 前提 元データの性質や管理方法によって、最適なプログラムの実装方法は違うと思いますので、この記事では、プログラム設計について…

Android 位置情報の許諾設定について

はじめに こんにちは、プロダクト開発部の山田です。 FANSHIP を利用する際にアプリに組み込む Android SDK の開発を主に担当しております。 Android SDK はアプリに組み込んでいただくとプッシュ通知の受け取りがすぐに可能となりますが、位置情報を利用し…

Django + MySQL なシステムで、時間のかかっているクエリを調べる

はじめまして、プロダクト開発グループでサーバーサイドのエンジニアをしている増田です。 弊社のシステムではサーバーアプリケーションとして Django を、データベースエンジンとして MySQL を使用しているものがいくつかあります。時々、特定のAPI呼び出し…

Datadog を4年間使った運用ノウハウまとめ

こんにちは。プロダクト開発グループの川口です。自社サービスである FANSHIP のインフラ・運用業務を主に担当しています。 今回は FANSHIP の運用・監視で使用している Datadog の細かい機能について、活用方法や知見などを紹介させていただきます。 なお、…

43インチ4Kディスプレイによる開発のすゝめ

こんにちは。プロダクト開発グループの高山です。 日頃は自社サービスである FANSHIP を iPhone 上で利用するために必要な SDK の開発を主に担当しています。 ここ一年半ほど、開発効率を上げる目的で43インチディスプレイを(解像度 3840x2160 で)使用して…

Datadog Synthetic API Testを使って外形監視を設定する

OMOソリューション本部プロダクト開発部の髙田です。 最近新しくできたAPIサーバに外形監視を設定する機会があり、Datadog Syntheticの利用を検討しました。 Datadogは公式ドキュメントが充実しているので目を通すだけで概要を把握することは容易なのですが…

OpenAPI モックサーバ用テンプレート作ってみた

テクノロジーパートナー本部開発部サーバサイドエンジニアの佐藤です。 社内で新規プロジェクトを開始する際に以下のような問題が発生しがちです。 開発初期にAPIドキュメントが不足する アプリ開発者がサーバー間のAPI開発待ちとなって、自前でモックファイ…