コネヒト開発者ブログ

コネヒト開発者ブログ

ECS×Fargateのオートスケールをチューニングしてサービス運営費を削減した話

こんにちは。インフラエンジニアの永井(shnagai)です。 今回は、ECS×Fargateで運用しているサービスの「ターゲット追跡ServiceAutoScalling」をチューニングをしたことで、費用が約半分になるという大きな成果を残すことが出来たのでその内容を経緯と共にま…

コネヒトはPHPerKaigi 2022にゴールドスポンサーとして協賛します!

こんにちは!@otukutun です。今回は弊社が協賛し、弊社社員が登壇するイベントを紹介します。 PHPerKaigi 2022に協賛いたします コネヒトではメインプロダクトである「ママリ」を始めとして開発のメイン言語としてPHPを活用しており、フレームワークとして…

【永久保存版!】プロジェクトリーダー必見!!チームふりかえりを最高に楽しいものにするたった一つの方法【リモートワーク対応】【2022最新版】

こんにちは ohayoukenchan です! 4月と言えば新生活。コネヒト株式会社も4月から、経営体制を一新し新たなスタートを切りました。 今期も心機一転して頑張っていきたいと思います。 この記事では先月末に開催した下期(6ヶ月)のチームふりかえりで行ってと…

コネヒトの文化が生み出すスキルアップを支える社内LTイベント

こんにちは。2017年11月にAndroidエンジニアとしてjoinした@katsutomuです。 前回のエントリーで、髪の毛のアップデート予定について触れましたが、重い腰を上げて予定を決めました。4/3を予定しています。 さて今回は、先日社内で実施したLTイベントの技術…

SwiftUIでUIを宣言的にかけるようになりコードを書くのが楽しいぞい

こんにちは、ohayoukenchanです。 今回はSwiftUIについてです。 ママリではiOS13をサポートしているので、一部iOS13をサポートする内容が含まれます。 システムを長持ちさせる力 突然ですが、コネヒトのエンジニアリング組織はTech Visionというものを掲げて…

SageMakerとStep Functionsを用いた機械学習パイプラインで構築した検閲システム(後編)

皆さん,こんにちは!機械学習エンジニアの柏木(@asteriam)です. 今回は前回のエントリーに続いてその後編になります. tech.connehito.com はじめに 後編は前編でも紹介した通り以下の内容になります. 後編:SageMakerのリソースを用いてモデルのデプロ…

Jest + react-testing-library でフロントエンドテストをコツコツ積み上げている話

こんにちは。コネヒト歴7ヶ月目のWebエンジニアの古市です。 私の所属するチームではReactで構築されたCMSを開発しています。 Atomic Designに則り、コンポーネントを Atoms/Molecules/Organisms/Pagesの区分で作成しています。このうち、Atoms,Molecules,Or…

Win Sessionで元気に目標を達成するチームづくり

こんにちは、コネヒトでエンジニアをやっているあぼ(aboy)です ԅ( ˘ω˘ԅ) 今回は私の所属するテクノロジー推進部というチームで実施しているWeekly Win Session(ウィンセッション)について紹介したいと思います。始めてから5ヶ月ほど経ち、チームのイベントと…

既存プロダクトのCakePHPのアップグレード戦略

既存プロダクトのCakePHPのアップグレード戦略 こんにちは。サーバーサイドエンジニアをやっている西中です。 花粉症に悩まされているので最近空気清浄機を購入しました。こころなしか症状が緩和している気がしています。 前回はCakePHP4.3にアップグレード…

SageMakerとStep Functionsを用いた機械学習パイプラインで構築した検閲システム(前編)

皆さん,こんにちは!機械学習エンジニアの柏木(@asteriam)です. 今回はタイトルにもあるようにモデルの学習からデプロイまで一気通貫した機械学習パイプラインをSageMakerとStep Functionsで構築し,新しく検閲システムを開発したお話になります. こち…

コネヒトの機械学習プロジェクトにおける構想フェーズ・PoCフェーズの進め方

ML

みなさんこんにちは。機械学習チームのたかぱい(@takapy0210)です。 最近はワールドトリガーというアニメにハマっておりまして、2022年から第3期の放映が始まっております。 内容はよくあるバトルアニメですが、チームで戦略を練って戦うところがユニーク…

PHPStanを0.11から1.4へメジャーアップデートした際の知見

こんにちは!webエンジニアの高谷です。 弊社ではCakePHPなどの社内のプロジェクトで使われているフレームワークやライブラリのアップデートを定期的に行っています。 その一環でママリのアプリ内で使用されているwebviewのCakePHPを3.8から4.0にアップデー…

Android版ママリアプリのリファクタ事情 ~時刻テスト編~

こんにちは。2017年11月にAndroidエンジニアとしてjoinした@katsutomuです。 前回のエントリーから、髪の毛はアップデートされておりません。そろそろ予定を立てないとな〜と思いつつ、重い腰が上がりません。 さて今回は、時刻テストに関するリファクタリン…

Sass から styled-components に移行している話

こんにちは!エンジニアの富田です。 今回はママリのアプリ内で使われている WebView の Sass を一部 styled-components へ移行しましたので、その事例を紹介します。 特に真新しい情報はありませんが、1つの事例として読んでいただければ幸いです。 はじめ…

Canvas を使って画像をリサイズする

はじめに こんにちは! フロントエンドエンジニアの もりや です。 今回はママリのアプリ内で使われている WebView で、画像をリサイズする処理を Canvas で実装した事例を紹介します。 画像のリサイズが必要な理由 昨今のスマホのカメラで撮った画像は数MB…

AWS OpenSearchでの技術検証をスムーズにしたTIPS

こんにちは。インフラエンジニアの永井(shnagai)です 今回は3ヶ月ほど行っていたAWS OpenSearchの技術検証をしている中で、技術検証のスピードアップに貢献してくれたTIPSを2つご紹介出来ればと思います。 内容はざっくり下記2項目です。 ユーザ辞書やシノニ…

iOS/Android と WebView でデータを連携する仕組みを作りました

はじめに こんにちは! フロントエンドエンジニアの もりや です。 今回は、ママリアプリ内で iOS/Android と WebView 間でデータを連携する仕組みを作った事例を紹介します。 2021年6月頃に実装してリリースし、現在(2022年3月)も問題なく使えています。 …

1年間プロダクトゴールを運用していく中で行った3つの工夫

こんにちは。バックエンドエンジニアのTOCです。 弊社ではミッションごとにいくつかチームに分かれており、それぞれのチームでスクラム開発を行なっています。 (弊社開発体制についてはこちらの記事に詳しく記載があります) 今回は僕が所属しているチームで…

Android版ママリアプリのリファクタ事情 ~パッケージ構成編~

こんにちは。2017年11月にAndroidエンジニアとしてjoinした@katsutomuです。 前回のエントリーから、髪の毛はアップデートされておりません。そろそろ髪の毛切りに行ってさっぱりと4月を迎えたいと思っています! さて今回は、パッケージ構成のリファクタリ…

Google オプティマイズのリダイレクトテストを使ってABテストを実施する

こんにちは。 @otukutunです。 今回とあるキャンペーンサイトでGoogle オプティマイズのリダイレクトテストとCakePHPを連携して、すばやくABテストできる仕組みを構築したのでその方法について説明します。 Google オプティマイズとは Google オプティマイズ…

HimotokiからSwift.Decodableに徐々に移行させる

iOS

こんにちは!コネヒトでiOSエンジニアをやっていますyanamuraです。 コネヒトではAPIで取得したJSONをDecodeするのにHimotokiを使ってきましたが、Swift4でSwift.Decodableが追加されてからは新しいコードはSwift.Decodableを使っています。共存状態はのぞま…

Android版ママリアプリのリファクタ事情 ~ Google Play Billing Library 4導入編 ~

こんにちは。2017年11月にAndroidエンジニアとしてjoinした@katsutomuです。前回のエントリーから、髪の毛はアップデートされておりません。 さて今回は、Android版ママリアプリの課金機能にまつわるお話をお伝えできればと思います。 はじめに 2021 年 11 …

「こんなところも?」 CakePHP4・phpunitのアップグレードに伴う変更箇所

こんにちは! Webエンジニアをやっている西中と言います。 弊社では開発組織として運用しているサービスのフレームワークのアップグレード対応を定期的に行っています。 今回は私がCakePHP4.3対応をしていった中で躓いたポイントをいくつかピックアップして…

Webpack5 にバージョンアップしました。

こんにちは! フロントエンドエンジニアの もりや です。 今回はママリのアプリ内で使われている WebView の Webpack を v4 から v5 にアップデートしたので、その事例を紹介します。 Webpack5 は2020年10月にリリースされたので、特に目新しい情報はありま…

APIクライアントをAPIKit+RxSwiftからURLSession+Combineにしました(後編)

コネヒト株式会社でiOSエンジニアをやっています ohayoukenchan です。 APIクライアントをAPIKit+RxSwiftからURLSession+Combineにしたお話の後編にあたります。 前回までのお話はこちらをご参照ください。 APIクライアントをAPIKit+RxSwiftからURLSession+C…

Android版ママリアプリのリファクタ事情 ~ ViewState編 ~

こんにちは。2017年11月にAndroidエンジニアとしてjoinした@katsutomuです。 昨年のエントリーで緑髪 -> 赤髪 -> 金髪と定期的なアップデートをご報告いたしましたが、今は髪が伸びて、3分の2が黒髪になってきています。 さて今回は、Android版ママリアプ…

リモートワーク下でのデイリースクラム運営tips

リモートワークに移行したことで発生するコミュニケーションロスを、スクラムを採用することで減らしてプロダクト開発が円滑になればよいと思っています。その上で、今回はデイリースクラムに関する工夫をお届けしようかな!と思い立って、筆をとった次第で…

Tableauのパラメーターを横並びのラジオボタンにする拡張機能をつくった

こんにちは!コネヒトのエンジニアあぼです。この記事はコネヒト Advent Calendar 2021の24日目です。 今回は、コネヒトでデータ分析や新規プロダクトに使われているTableauの拡張機能をつくったので紹介します。 つくったもの github.com この拡張機能は、…

Facebook広告で広告費用対効果(ROAS)向上を目指す

こんにちは! @otukutun です。 今回、Facebookで広告費用対効果(ROAS)向上の取り組みをしたのでここで紹介します。 はじめに インターネット広告では、ユーザーの興味を推定し広告配信しますが、その際に費用対効果などは考慮されていません。例えば、ECシ…

APIクライアントをAPIKit+RxSwiftからURLSession+Combineにしました(中編)

こんにちわ。 iOSエンジニアの ohayoukenchan です。 前編 でURLRequestを作成するところまでお伝えできたので、今回は実際にURLSessionを前回の変更方針にあった非同期処理を適切に処理したいを解決する内容となっています。 URLSessionとは? URLSessionは…