ジモティー Tech Blog
https://jmty-tech.hatenablog.com/
ジモティー Tech Blog
フィード
ジモティーにおけるエンジニアへの問い合わせの継続的な取り組み
ジモティー Tech Blog
ジモティーでバックエンドとインフラを担当している吉田です。 およそ10年ぶりに登山用のバックパックを新調したので、さっそく神奈川県の丹沢に行ってきました。鍋割山から塔ノ岳、三ノ塔と縦走して、いったんヤビツ峠に降りたあと、大山まで行くのがお気に入りのコースです。丹沢には何年も通っていますが、今年始めてヒルに吸血されました(一度に両足全3箇所)。 丹沢大山の山頂付近にて さて、今回は、社内のエンジニアが継続的に行っている、エンジニアへの問い合わせの取り組みについて紹介します。 エンジニアへの問い合わせとは? ⛰️1合目: 特定エンジニアへの集中 ⛰️3合目: 問い合わせ対応のオープン化 ⛰️5合目…
2ヶ月前
Flutter 製アプリで Android ・ iOS のライブラリを使用する
ジモティー Tech Blog
こんにちは、iOS チームの池沢と申します。 最近「鎌倉殿の 13 人」を見返していますが、やはり最高の大河ドラマだと思います。 上総広常の最後のシーンは、今後も何度も見返すんだろうなと思います。 大河ドラマの話はさておき、今回は私が先日まで行っていた Flutter での機能開発の話を書こうと思います。 他のエンジニアからも時々聞かれる話ですので、イメージしやすい話になっていれば幸いです。 背景 ジモティーではゴミの削減やリユースの促進を目的に、自治体と連携しながらリアル店舗(ジモティースポット)の運営を行っております。 先日この取り組みをさらに加速させていくため、初の大型店舗を神奈川県川崎…
4ヶ月前
ジモティーAdsフロントエンド構成
ジモティー Tech Blog
はじめに フロントエンドとバックエンドを担当している川崎です。 今回は前回に引き続き、ジモティーAdsについてお話しします。 広告主様向けの広告出稿や効果レポートの確認が行える管理画面のフロントエンド構成についてご紹介します。 ジモティーAdsとは ジモティーに直接出稿できる運用型の広告配信プラットフォームです。 「ジモティーAds」で出稿された広告をジモティーのスマートフォン向けアプリ・webブラウザのフィード面に配信することができます。 ジモティーに登録されたユーザー情報や過去の行動履歴から、ユーザーにとって最適な広告を配信できることが特徴です。 ジモティー本体の構成と比較 前提として、ど…
5ヶ月前
Andrioidアプリ広告におけるメディエーション機能について
ジモティー Tech Blog
はじめに ジモティーでAndroidとiOSの開発をしている3年目の坂本です。 最近はマユリカというお笑いコンビのマユリカのうなげろりん!!というラジオを聴くのにハマっています。 特に#36の回、めちゃくちゃ笑いました。ポッドキャストで聴けるので気になった方はぜひ! さて、今回はジモティーAdsについて書きたいと思います。 ジモティーAdsについて 2023年11月にジモティーAdsをリリースしました🎉 ジモティー独自のデータを活用することで、より高い広告効果の提供を目指しています。 ジモティーアプリで今まで表示していたAdMob広告とジモティーAdsを共存させるために、AdMobのメディエー…
7ヶ月前
挑戦するデザイナーの舞台:ジモティーでの働き方と魅力
ジモティー Tech Blog
地域のあらゆる情報を可視化し、マッチングすることで必要なモノや情報を融通しあい、持続可能で豊かな社会作りを目指しているジモティー。プロダクトだけでなく、デザイナーも枠にとらわれない挑戦を絶えず行っています。 ジモティーのデザイナーはどんな働き方をしているのか、どんな経験を得られるのか。今回は人事がインタビューし、株式会社ジモティー、ユーザーグロース部の部長としてプロダクト開発の責任者(デザイナー組織の責任者も兼任)を務めている梅田さんと、デザイナーとして活躍されている鈴木さんに、UIUXの視点でジモティーでデザイナーとして働く魅力について語ってもらいました。 梅田晃啓 ユーザーグロース部 部長…
7ヶ月前
ジモティーエンジニアのビジネスとの関わり
ジモティー Tech Blog
お久しぶりです。 バックエンドのチームで活動している阿部和貴と申します。 前回投稿からおよそ2年、前回の時にはAndroidエンジニアとして活動していましたが、1年ほど前にバックエンドのチームへコンバートし現在ではRuby on Rails を中心としてバックエンドの領域で活動しています。 思えば、iOSエンジニアとして入社してさまざまな領域での経験をさせてもらえていますね。 今回は、少し毛色を変えてジモティーエンジニアの現在のビジネスとの関わりについてお話ししていきたいと思います。 こちらの記事でビジネスと近い距離で要件や仕様に関われるというお話をしていました。 現在ではエンジニアもビジネス…
8ヶ月前
Terraformプロジェクトの構造を考える
ジモティー Tech Blog
こんにちは! ジモティーにてインフラ開発・運用を担当している斎藤です。 ジモティーでは主にAWSを活用してシステムを作っているのですが、分析基盤としてBigQueryを利用するなど、一部の用途でGoogle Cloudも活用してきました。 今回、BigQueryにリアルタイムでログを蓄積していく必要があり、APIサーバなどのコンピューティングリソースもGoogle Cloudに構築する必要性が出てきました。 Google Cloudでインフラを管理するなら将来的な拡張も見据えてやはりTerraformか、、、? という考えに至り、実際にTerraformプロジェクトを1から立ち上げてみましたの…
1年前
Androidアプリのマルチモジュール化
ジモティー Tech Blog
はじめに 初めまして、ジモティーで Android アプリを担当している谷です。 最近マイクラにハマってしまい、やることが無限すぎて困っています。 今回は弊社の Android アプリをマルチモジュール化したのでそのお話をしたいと思います。 導入の背景 まずは弊社の Android アプリの現状の構成について説明します。 弊社の Android アプリは MVVM + CleanArchitecture を取り入れ、3層のレイヤードアーキテクチャで構成しています。 Presentation 層 Domain 層 Data 層 (Infra層) 上記を1つのモジュール内で管理しており、各層はパッ…
1年前
【iOS】広告の事前読み込みチャレンジ
ジモティー Tech Blog
はじめに どうも。 ジモティーでiOSアプリ開発チームのマネージャーをやらせてもらっている、ていです。 前回の記事で弊社のiOSアプリにアーキテクチャを導入した過程の計画編をお届けしたので順番的には導入編をお届けするのが筋かと思いますが、気分が乗らないので少し前に広告の取得表示改善に取り組んだ話をしようと思います。 広告の課題 弊社の広告は所謂アドネットワークから配信される広告をSDKを通じてアプリに表示させるよくある手法を取ってるのですが、課題はたくさんあります。 私自身ジモティーに入社して7年目を迎えておりますが、この7年は広告(SDK)との戦いの歴史だと言っても過言ではないと自分では思っ…
2年前
CodeBuild始めました
ジモティー Tech Blog
ジモティーでインフラとバックエンドを担当している鈴木です。最近は貝出汁ラーメンをよく食べてます。美味しい。 ジモティーにCodeBuildを導入しましたので、背景や工夫した点などを紹介します。 CodeBuildとは AWS CodeBuildは、AWSが提供するフルマネージド型のビルドサービスです。このサービスを利用することで、ソースコードのビルド、テストの実行など、ビルドプロセスを自動化することができます。 サーバーレスなサービスであり、ビルド実行の度に新たな環境が自動的に作成されるため、ユーザーは事前にビルドサーバーを準備しておく必要がありません。 背景 ジモティーでは、Rails、Ne…
2年前
openapi.ymlのコンフリクト解消術
ジモティー Tech Blog
ジモティーでサーバサイドとインフラを担当している熊谷です。 今回はエンジニアグループ内で問題視されていた、openapi.ymlファイル競合(コンフリクト)問題を解決した事例についてご紹介します。 ジモティーのAPI開発 ジモティーのAPI開発では、仕様の共通化を目的としてOpenAPI を導入しています。 OpenAPI は公式ドキュメントでREST APIのためのAPI記述形式として説明されており、定義ファイルをYAMLやJSONで記述することができるものです。 定義ファイル編集時はOpenAPI の GUI 定義エディタとして提供されているStoplight Studio ( バージョン…
2年前
Google Search Consoleでsitemap.xmlの検出URL件数が0件になる問題を解決した話
ジモティー Tech Blog
こんにちは、ジモティーエンジニアチームの山口です。 主にフロントエンド面を担当しております。 現在はジモティーWeb版のフロントをNext.jsに移行する開発を日々進めています。 今回は、フロントエンドとは直接関係ない話ですが、SEO対策の一環として行なっていた作業の中で遭遇した問題についてご紹介します。 問題の概要 ジモティーではGoogle Search Consoleから、Railsで生成したsitemap.xmlファイルとそのindexファイルをいくつか登録しています。 sitemap_index.xml ├── sitemap_1.xml ├── sitemap_2.xml └── …
2年前
Danger のコマンドインジェクション問題を発見して修正した
ジモティー Tech Blog
ジモティーでサーバサイドとインフラを担当している吉田です。 この前、初めて献血に行ってきました。直前の検査で手汗に気づいたスタッフから「初めてで緊張されていますか?今ならまだ止められますよ。」と声をかけられたのが、今年一番緊張した出来事です。2023年はいろんな新しい事にチャレンジする年にしたいと思います。 さて、今回は Danger の問題を発見し、報告および修正した事例を紹介します。Danger には JavaScript 版や Swift 版もあるのですが、ここでは Ruby 版について記載します。また、Danger のメンテナである Orta Therox 氏には、公開の許可を頂いてい…
2年前
iOSアプリのスクロールヒッチとハングに関して
ジモティー Tech Blog
こんにちは、ジモティーでiOSエンジニアをしている加藤です。 今回はジモティーiOSアプリのスクロールヒッチとハングに関して書きたいと思います。 目次 前提 背景 お手軽おすすめ調査方法 調査結果と改善案 まとめ 前提 スクロールヒッチとは アプリをスクロールする際に、なめらかなアニメーションにならず飛び飛びになってしまう現象のこと ハングとは ユーザーが何かしらの挙動(ボタンをタップなど)をした後、Viewの更新に250ミリ秒程度以上の遅れが生じること。その遅れの間ユーザーはUIを操作できない。 背景 ジモティーのiOSアプリを触ってみると少しばかりアニメーションがカクツいてしまうということ…
2年前
ジモティーのエンジニア組織の特徴
ジモティー Tech Blog
こんにちは。 ジモティーのエンジニア部の執行役員をしている鈴木です。 今回の記事ではジモティーのエンジニア組織の特徴を紹介したいと思います。 下記に記載しているのは採用の面談のときにもよくお伝えしている内容で、我々がどういう考えで何を大切にしたいと思っているか、その結果生まれた今の組織の特徴です。 これをお伝えするのが弊社への入社を検討していただくうえで一番重要と考えています。 実際、弊社への入社を考えていただく過程でこのテックブログをお読みになっていただくこともあると思いましたので、この場にてアウトプットさせていただく運びになりました。 それでは行きましょう。 前提 -バリュー いきなり各論…
2年前
社内アプリを Flutter で開発して感じたこと
ジモティー Tech Blog
iOS チームの池沢と申します。 ちなみに鯉党です。来季から新井監督が指揮を執る事になりましたね!どんな野球をするのか、今から楽しみです! 野球の話はさておき、つい先日まで私は Flutter を用いた業務効率改善のタスクを行っていましたので、その時のお話を書こうと思います。 アプリエンジニアにとって Flutter はホットワードだと思いますので、実際の業務として扱った所感として皆様のお役に立てたらと思います。 背景 社内であるプロジェクトが立ち上がり、その時「簡単な入力だけでジモティーに投稿できるような、簡易投稿機能が欲しい」という話が出ました。 またお話を聞いていくと、その投稿ごとに出品…
2年前
Androidでテスト駆動開発
ジモティー Tech Blog
自己紹介 Androidエンジニアの坂本です。 Android未経験で3月末に入社して約半年になります。 入社前は、完全未経験の状態からiOSの勉強を独学で1年ほどやった程度。 そこから初めてジモティーのインターンでAndriodをすることになり今に至るといった感じです。 課題 ジモティーでは既存のテストコードはあるものの、工数だったりスピード感の兼ね合いでテストコードが書けていないこともあります。 今回はテストコードのメリットを確認しながら、簡単な機能をテスト駆動開発してみます。 テストコードのメリット 仕様書になる テストコードを見ると何をしているのか分かる 無駄な開発時間を短縮出来る コ…
2年前
Railsバージョンアップに学ぶフレームワークアップデートの進め方
ジモティー Tech Blog
自己紹介 お久しぶりです。ジモティーで2020年4月からサーバサイドエンジニアをしている水上と申します。 早いもので入社3年目となり、日々案件開発と格闘する日々を送っております。 まえがき 入社3年目となり、大きめの案件開発に携わることも増えてきたので、少し前に実施したRailsのバージョンアップについて記載致します。 Rails バージョンアップ 今回のバージョンアップ前の弊社のRailsは5.2.6でした。 最近Rails 7が発表され5.2系のサポートが今年6月までで切れてしまうとのことで今回のアップデートを実施した運びとなります。 作業内容 バージョンアップ先選定&バージョンアップ ア…
3年前
ANR調査とその対策のお話
ジモティー Tech Blog
はじめに お久しぶりです。 Androidチームで活動している阿部です。 前回投稿からおよそ1年、iOSでビルド速度の改善など様々な経験を積んで、Androidへコンバートしています! 今回は、Androidアプリのパフォーマンス指標としてしばしば話題に上がるANR(Application Not Responding) についてお話しできればと思っています。 弊社でもこのANRをAndroidチームが追うべきKPIの一つに設定しているのですが、昨年の10月あたりに上昇トレンドになっており問題になっていました。 調査方法と調査結果からの仮説 調査 Androidのdeveploper向けのドキ…
3年前
ジモティー Android チームの課題について
ジモティー Tech Blog
はじめに Androidエンジニアの林です。 ジモティーのサービスも10年を超え、昔のコードがまだまだ存在しており、定期的にリファクタを行なっています。 そこで現在チームが抱えている課題をいくつか紹介したいと思います。 まだまだJavaのコードがある 新規画面はKotlinで書くことがルール化されているのですが、昔からあるような主要画面は全てJavaで書かれていました。 2021年はその主要画面を全てリファクタするという目標を掲げほぼKotlin化することができました。 ただあまり改修が入らない画面や、色々な画面から使われている大規模なModelクラスなどは、なかなかKotlin化できずまだ手…
3年前
バッチ処理をEC2からFargateへ移行した
ジモティー Tech Blog
インフラエンジニアの佐藤です。 今回はEC2上で実行していたバッチ処理をコンテナ上で実行させるようにしたのでその話を書いていきます。 コンテナ化するにあたりマネージドサービスを活用してサーバレスに運用していきます。 利用したサービスや移行にあたっての問題、活用事例を紹介していきます。 背景 用途を分けて2台のバッチサーバで運用していましたが、Rubyのアップデートを始め各種ミドルウェアの更新をする度に、新しいAMIを作成してバッチサーバの入れ替え作業を実施していました。 AMIを作成する時間が長かったり、入れ替えに伴う工程が多かったりといくつかの負債がありコンテナを導入することで運用コストを下…
3年前
データ設計と向き合う
ジモティー Tech Blog
サーバサイドエンジニアの坂根です。 最近某企業から販売されるウイスキーの価格改定が発表されましたね。 国産ウイスキーが転売されることなく、安定供給されることを切に願います。 さて、今回はデータ設計で気をつけていることについて話していきます。 何を大事にしているか ヒトコトで言ってしまうと、現実に忠実であることです。 システムのデータと現実は、しばしば対になります。 そしてシステムの関心事が増えると、現実に沿ってデータを増やします。 現実に反するマジカルな設計になっていると、データを増やす際に歪な形で積み上げていくことしかできず、最終的にはジェンガのように崩れてしまうのです。 現実に反するマジカ…
3年前
ジモティーのフロントエンドをNext.jsに移行していくという話
ジモティー Tech Blog
どうも鈴木です。好きなプレインズウォーカーは初代ガラクです。 最近スタンダードでは緑単が強かったみたいですが、新弾出てどうなるんでしょう。 それはさておき、今回はジモティーのフロントエンドをNext.jsに移行していくという話を書きます。 背景 ジモティーは今年でリリース後10年を迎え、その間、Webブラウザ版のジモティーはモノリシックなRailsアプリケーションとして開発を継続してきました。 当然ながら技術負債の蓄積はさけられず、特にフロントエンドの生産性の低下が顕著でした。 まず、以下の理由でフロントエンド単体で見た時に生産性が悪くなっていました。 デザインガイドライン整備前の無秩序なCS…
3年前
リリース作業をかんたんに! git-pr-release + Google Apps Script + Ruby スクリプト + GitHub Actions によるリリース作業改善の取り組み
ジモティー Tech Blog
ジモティーでサーバサイドとインフラを担当している吉田です。 前回は ISUCON10 に参加した話を投稿しました。今年もちょうど ISUCON11 を終えたばかりですが、残念ながら予選敗退となりました。ISUCON への参加はウェブエンジニアとしてのキャリアを見つめ直すとてもよい機会で、来年こそは決勝に進みたいと思っています。 さて、今回はジモティーのサーバサイドで1年ほど運用している、リリース作業の一部自動化の取り組みについて、背景から実施までをご紹介します。 従来のリリースフローとその課題 改善 事前準備 KPT での提案 変更後 git-pr-release Google Apps Sc…
3年前
ジモティーのフロントエンド事情
ジモティー Tech Blog
初めまして。 2020年末からジモティーでフロントエンドエンジニアとして開発している山口です。 今回はジモティーのフロントエンド事情について紹介します。 ジモティーフロントエンドの現状 現在のジモティーのフロントエンドはRailsのAction Viewを用いて jQuery で Javascript 周り(一部のページの一部の DOM に対して jQuery 代替として Vueも利用) Rails の decorator でフォーマットして Haml でマークアップ Sass でスタイル付け といった構成になっています。 しかしサービスの規模が大きくなってきたこともあり、どのidやclass…
3年前
ジモティーのUI/UXに関する取り組みについて🧸
ジモティー Tech Blog
ジモティーエンジニア紅一点のnaruです🧸iOSチームで開発を行っています。 最近は自粛で気軽に外に行けないこともあり、自分の所有する車を擬人化したりなどしておうち時間を過ごしたりしてます🧸 前回は↓こんな記事を書いております。 jmty-tech.hatenablog.com 今回もデザイン関連についての話をしたく、UI/UXに関して自社で行っている取り組みの一部を紹介しようと思います。 まず、UI/UXに関するコミュニケーションは今年に入ってからより活性化するようになりました。 というのも、 会社全体のチーム編成や考え方の見直しや、 ジモティーの根幹のDesignSystemの見直しについ…
4年前
AndroidのローカルDBをSQLiteからRoomに置き換えてみた
ジモティー Tech Blog
はじめに はじめまして。ジモティーに2021年1月からAndroidアプリエンジニアとしてい働いている谷です。 今回はAndroidアプリエンジニアとしてローカルDBをSQLiteからRoomに置き換えた話をさせていただければと思います。 Roomとは 置き換えの話に入る前にさらっとRoomについて説明したいと思います。 RoomとはGoogleが推奨しているSQLiteのORMです。 SQLiteHelperの作成やCursorの操作などめんどくさい処理を一手に引き受けてくれます。 実装も非常にわかりやすく、3つのコンポーネントを作成するだけでローカルDBの構築が可能です。 Entity D…
4年前
弊社iOSアプリにアーキテクチャを導入してみた ~計画編~
ジモティー Tech Blog
はじめに サーバサイドチームに所属している丁(てい)です。 前回の記事で弊社のiOSアプリにアーキテクチャを導入する前の状況とアーキテクチャを導入してどう変わったのか?をスーパーざっくりご紹介させていただき、その記事を皮切りにアーキテクチャ導入過程の紆余曲折記事を順番に書いていくことを予定していたのですが、その後全く気が向かず長いこと放置していました。 4月に入り気候も少し暖かくなってきたこともあり気が向いてきたので、本日はアーキテクチャ導入当初のお話をもう少し詳しくお話しできればと思いますので、気が向いた方は暫しの時間お付き合いいただけますと幸いです。 導入計画の策定 アーキテクチャを導入し…
4年前
学生プログラマと社会人エンジニアの違いについて
ジモティー Tech Blog
自己紹介 はじめまして。ジモティーで2020年4月からエンジニアをしている水上と申します。 前項を担当した阿部と同じく新卒での入社をいたしました。 学生時は情報システムを専攻しており、ジモティーには一月ほど実務インターンを経て入社いたしました。 いくつかインターンを経験したのですが、その中でも、人間関係が非常によく、意見の言いやすい環境が非常に魅力的でした。会社説明会時に現弊社取締役が述べた 「うちに嫌なやつはいない」 そんな言葉を体現している労働環境に惹かれ入社する運びとなりました。 まえがき 実際に入社してから1年が経とうとしていますが、いろいろなことを経験させていただきました。 私の担当…
4年前
新卒エンジニアでも貢献できることはある
ジモティー Tech Blog
ジモティーとの出会い 初めまして。iOSチームで開発を行っている阿部と申します。 本日は「新卒のエンジニアでも課題を克服することで、会社の成長に貢献できる」ということを体験談を元にお話しできればと思っています。 (連続して未経験者から・・・という記事が続いてることは目を瞑っていただきたいです🙇♂️) 自分は元々、北海道のとある工業大学で「情報技術を使って地元の観光を盛り上げよう」という研究を行っていました。この時点でお気づきの方もいるかもしれませんが、自分は地元が大好きです! 就職活動ではその地元に貢献できるようになるために、自分のスキルを高める会社を探していました。 そんな時に所属していた…
4年前