コネヒト開発者ブログ

コネヒト開発者ブログ

shnagai の検索結果:

2023年のコネヒト開発組織を振り返る

…ちは。CTOの永井(shnagai)です。 早いもので今年も残すところ数日ですね。 アドベントカレンダー最終日ということで、技術的なトピックやチームでの工夫はこれまでの記事でみんなが思う存分書いてくれたので、今回は2023年のコネヒト開発組織の1年を自分の視点で振り返っていこうと思います。 この記事は、コネヒトAdvent Calendar2023の25日目の記事です。 adventar.org 開発組織のアップデートと特に目立った技術的なトピックという構成で書いてます。 開…

日本語サジェスト機能の実装にあたり試行錯誤した話

…。エンジニアの永井(shnagai)です。 今回は、現在進めている検索システム内製化プロジェクトの中で、日本語サジェストを実装するために試行錯誤した話を書こうと思います。 内容は、ざっくり下記の構成になっています。 日本語サジェストの難しいところ よりよい日本語サジェストのために試行錯誤した点 この記事はコネヒトアドベントカレンダー2022の16日目の記事です。 日本語サジェストの難しいところ 日本語のサジェストをOpenSearch(Elasticsearch)で実装するに…

コネヒトでNotion導入活動を始めて1年以上経過した

…フラエンジニアは @shnagai と私の二人体制で裁量も高く、新しいツールを業務にガンガンねじ込むのが比較的容易な立場にあり、むしろ適任であったようにも思えます。 ざっくりとした導入の流れ 大まかな導入の流れは以下の通りです。 自分の所属チームでトライアル(2021年11月~) エンジニア組織全体でのトライアル(2021年12月~) 全社員でトライアル(エンジニア以外はゲストアカウント)(2022年2月~) 経営会議に議題持ち込み(2022年2月~3月) 正式導入、全社員を…

検索システムで再現率向上に取り組んだ話

…。エンジニアの永井(shnagai)です。 今回は、現在進めている検索システム内製化プロジェクトの中で、検索エンジニアとしてはほぼ未経験に近い自分が半年ほど試行錯誤した内容の一部を書き記していこうと思います。 ※筆者の経験としては、Elasticsearch✕kibanaのログ基盤は複数構築経験はありで、Elasticsearch周りの設定への知識は0ではないレベル この記事を見て、検索に詳しい方や自分もやってみたいという方がいたら是非お声がけいただけるとうれしいです。 内容…

AWS Distributed Load Testingを使うと手軽にAWS内での負荷試験が出来るという話

AWS

…ラエンジニアの永井(shnagai)です。 今回は、現在進めているプロジェクトでの負荷試験で、AWS Distributed Load Testing を使って比較的手軽にAWS内での負荷試験を行うことが出来たのでその内容を紹介しようと思います。 内容はざっくり下記3点です。 これまで使ってきた負荷試験ツールとその悩み AWS Distributed Load Testingとは 実際の負荷試験の様子 これまで使ってきた負荷試験ツールの悩み 新規システムを開発し、サービスに導…

Firebase AnalyticsからBigQueryへの日次データ同期が突如不規則になった事象に対応した話

…ラエンジニアの永井(shnagai)です。 今回は、Firebase AnalyticsからBigQueryへの日次データ同期処理の時間が大幅にずれた際に取った対策について書こうと思います。 内容はざっくり下記3点です。 背景説明 Firebase AnalyticsからBigQueryへのデータ同期 解決策 背景説明 コネヒトでは、家族ノートという「ママリ」内の検索データとQ&Aデータを可視化したデータ分析サービスを運営しています。 info-kazokunote.mama…

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

…ラエンジニアの永井(shnagai)です。 今回は、ECS×Fargateで運用しているサービスの「ターゲット追跡ServiceAutoScalling」をチューニングをしたことで、費用が約半分になるという大きな成果を残すことが出来たのでその内容を経緯と共にまとめています。 内容はざっくり下記3点です。 なぜオートスケールのチューニングをしたのか? 「ターゲット追跡ServiceAutoScalling」のチューニング方法 どんな結果になったか? なぜオートスケールのチューニ…

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

…ラエンジニアの永井(shnagai)です 今回は3ヶ月ほど行っていたAWS OpenSearchの技術検証をしている中で、技術検証のスピードアップに貢献してくれたTIPSを2つご紹介出来ればと思います。 内容はざっくり下記2項目です。 ユーザ辞書やシノニムOpenSearchのカスタムパッケージを使って管理する Reindex APIを使ったIndex変更内容の反映高速化 ユーザ辞書やシノニムOpenSearchのカスタムパッケージを使って管理する カスタム辞書と日本語全文検…

CakePHP の Authentication プラグインを使って、複数の Authenticator を有効にする

…です。 7日目は @shnagai による 異なるデータソース間の同期がしたくてAWS DMSについて調べたのでまとめてみた でした。 tech.connehito.com CakePHP の Authentication プラグインとは? CakePHP は CakePHP4 がリリースされるタイミングで、認可をする機能を cakephp/authorization プラグインに、認証をする機能を cakephp/authentication プラグインに分離しました*1。…

異なるデータソース間の同期がしたくてAWS DMSについて調べたのでまとめてみた

…ラエンジニアの永井(shnagai)です。 RDS(MySQL)にあるデータを検索エンジン(今回でいうとOpenSearch)に同期したいというプロジェクトがあり、AWS Database Migration Service(以下、DMS)について調べる機会があったので、これまでAWS SAの方に聞いたりwebで調べたことについてざっとまとめてみました。 この記事はコネヒト Advent Calendar 2021の7日目の記事です。 やりたいことのざっくり要件 最初に今回調…

AWS Dev Day Online Japan 2021に登壇してきました!

…エンジニアの永井(@shnagai)と私が登壇してきましたので、簡単に内容を補足しながら紹介しようと思います。 Step Functions × AWS SAMで実現する家族ノートの底運用コストETL基盤 永井からは、弊社の新サービスである「家族ノート」で運用しているETL基盤の構築・運用方法について話しました。 データが価値となる新サービスにおいてデータ基盤の意思決定から、属人化しないためのAWS SAMを使ったコード管理など、実際のコードなどを交えて紹介しています。 デー…

家族ノートを支えるBigQuery+StepFunctionsで作るデータレイク

…ラエンジニアの永井(shnagai)です。 最近、家族ノートという「ママリ」内の検索データとQ&Aデータ(現在開発中)を可視化したデータ分析サービスの立ち上げに携わっています。 info-kazokunote.mamari.jp 今回は、家族ノートで使っているデータ基盤の一部であるBigQuery+StepFunctionsで作ったデータレイクの仕組みについてご紹介します。 内容は、ざっくりとこんな話を書こうと思います。 データ基盤作りに至った経緯 AWS→BigQueryに…

コネヒトマルシェオンライン「機械学習・データ分析」を開催しました!

…hashi san shnagai san tada_infra san オンライン懇親会 良かった点 次回やるときに改善したい点 最後に LT内容 takapy hiroto0227 san usagisan2020 san Lt conehito 20210225_ota from 博三 太田 www.slideshare.net ground0state san kae_takahashi san shnagai san tada_infra san オンライン懇親会 …

Lambdaのコンテナサポートに関する考察

…ラエンジニアの永井(shnagai)です。 AWS re:Invent今年も大豊作ですごいですね。まだ全部は追えてないんですが、良さそうなものがあればサービスに取り入れていこうと思いわくわくしています。 この記事はコネヒト Advent Calendar 2020 - Qiita 3日目の記事です。 今回は、試してみてる方は結構いそうなので、ざっとLambdaのコンテナサポートを触ってみた感じの所感を中心に書いていきます。 うれしいポイント 今想像してる一番うれしいポイントは…

テクノロジー推進グループでプッシュ通知開封率予測モデリングコンペをしました

ML

…学習エンジニア) @shnagai(インフラエンジニア) @abo(アプリケーションエンジニア) の計3人(コンペ後にアプリケーションエンジニアが1人増えて今は計4人)です。 機械学習の実装をメインで担当するのは機械学習エンジニアですが、インフラエンジニアにも機械学習の実装経験があるため、相互に技術的な相談やPRのレビューなどを行っています。また、アプリケーションエンジニアをチーム内に置くことによって、前述した課題の解決をはかっています。このアプリケーションエンジニアが私で、…

ECS×Fargate ターゲット追跡ServiceAutoScallingを使ったスパイク対策と費用削減

…ラエンジニアの永井(shnagai)です。 今回は、ターゲット追跡ServiceAutoScallingを使い、ECS×fargateで運用しているサービスのスパイク対策と費用削減に取り組んだのでその内容をまとめています。 内容はざっくり下記4項目について書いています。 抱えていた課題 キャパシティプランニングに対する考え方 ECS ターゲット追跡ServiceAutoScallingとは何か? どんな結果になったか? 抱えていた課題 コネヒトでのWebのアーキテクチャはほと…

カテゴリ類推の機械学習モデルをプロダクションに導入した話

…実感を得ている。— shnagai (@shnagai) 2020年2月27日 ⑦本リリース 効果測定の結果、明らかな優位が見られたので簡単なレポートをまとめ関係者に共有し本リリースが決まりました。 ここでのレポーティングは事前にデータ分析する時に効果測定時のレポートを意識しながら可視化したのが役立ちサクッと作りました。 その後、A/Bテスト時は実現までのスピードを重視し手動作成したモデルを使っていたので、前処理とモデル作成のバッチ処理を作成し自動化しました。バッチはAWS上…

Amazon ECSで2019年に導入した新機能

…ラエンジニアの永井(shnagai)です。 re:invent真っ最中で、EKS for Fargateが発表されたりFargate Spotが発表されたり今年も激熱ですね!! 今回は、日々アップデートされているECSの新機能の中から今年導入したものと今後導入を検討していきたいと思っているものについて書こうと思います。 内容はざっくりと下記3項目です。 パラメータストアに保管した値の環境変数への注入方法変更 Container Insightsを使ったタスクの監視 今後導入し…

【実装メモ】Gatsbyを使ってよかった・注意すべき点まとめ

…mgixに関しては@shnagaiさんの下記の記事が参考になると思います。 tech.connehito.com おまけ Gatsbyの仕様を噛み砕いたり、実装する際に詰まった部分など残したりするために使っていたメモをScrapboxで公開していますので読んでみてください。本記事の社内レビューで「おまけの方が技術的には本編感ある」と言われたので多分こっちのほうがより具体的だと思います。 scrapbox.io PR コネヒトではエンジニアを募集しています!家族向けサービスをつ…

Connehito Marché vol.6 〜機械学習・データ分析市〜 を開催しました!

…を上げた話 by @shnagaiさん 概要 機械学習勉強しはじめて初めて自分でモデルを作った あとで分析結果などを見返したい時のために、メモを取るのが大切 ドメイン知識をフル活用して、スコアを向上させた(57位/1748) BigQueryいいよね!って話をしようと思ったらBigQueryより早いAzure Synapseが出た by @YASU11552288さん 概要 BigQuery良いよね、という話をしようと思っていたら、75倍速いAzure Synapseが出たの…

CodeBuildを使ったECSへのコンテナデプロイ

…ラエンジニアの永井(shnagai)です。 今回は、CodeBuildでのECSデプロイについて書いてみました。 普段、TravisCIを使ってメインサービスのECSのデプロイを行っているのですが、新規開発するにあたりCodeBuildを使ったECSのデプロイを組んでみたのでその内容をまとめています。 内容はざっくり下記4項目について書いてます。 CodeBuildのみで行うECSへのコンテナデプロイの構成図 他のCIサービスと比べた時のCodeBuildの良さ CodeBu…

imgix導入でコンテンツダウンロード量を85%削減した話

…エンジニアの永井(@shnagai)です。 今回は、imgixという画像変換に対応したCDNを導入して、コンテンツダウンロードの削減を実現した話について書こうと思います。 imgixとは はじめに、imgixって何と思われる方も多いかと思いますので簡単に特徴を紹介します。 クエリパラメータで、画像のリサイズや圧縮が出来るCDNサービス S3をバックエンドに指定出来るので、画像のコピー等が不要でそのまま使える バックエンドはFastlyが使われているので高速配信 国内だと、日経…

AmazonAurora カスタムエンドポイントのフェールオーバー時の挙動についての検証

…ラエンジニアの永井(shnagai)です。 昨年11月にリリースされたAmazon Auroraのカスタムエンドポイントを運用していて、先日ある検証環境でフェールオーバーが起きた際に考慮していなかった事態が起きたので、仕様を確認するがてらカスタムエンドポイントのタイプ別にフェールオーバー時の挙動をまとめてみました。 カスタムエンドポイントについては下記をご参照ください。 自由にAuroraインスタンスを組み合わせて、用途別にAuroraのエンドポイントを管理出来る機能で、これ…

JapanContainerDays v18.12にスピーカーとして参加してきました

…ラエンジニアの永井(shnagai)です。 今回は、12/4,5で行われたJapanContainerDays v18.12にスピーカーとして参加させていただいたので、 登壇内容の振り返りと2日間通じて参加した感想を簡単に書こうと思います。 この記事はコネヒト Advent Calendar 2018の7日目の記事です。 qiita.com 発表内容 コンテナを本番導入することでチーム開発がどう変わっていくかというテーマの元お話してきました。 このイベント自体は、今最も勢いの…

社内LTを発起してから、開催30回を迎えました。

…omでの事例〜」 @shnagai LT02「CakePHP3-ORM, データベース, どんぶらこ(仮)」 @hkinjyo vol.3 LT01 「とりあえず登壇するのがゴール」 @kiyoe LT02 「RequestHandler is 何」 @supermanner LT03 「息をするように!! create memo するよ」 @dachi023 vol.4 LT01「エンゲージメントファネルをBigQueryとTableauで自動化した話」 @shingoco…

AWS Fargateを本番運用した所感

…ラエンジニアの永井(shnagai)です。 今回は、Fargateを本番投入し1ヶ月強が過ぎたので、運用する中で気付いた点について書こうと思います。 以前書いた、Fargateに関する調査のまとめ記事はこちら。 tech.connehito.com 内容はざっくり下記3項目です。 いきなりFargateはハードルが高め 良かった点 コンテナのリソースキャパシティを簡単に変更出来る オートスケーリングもシンプルに組める 安定運用 つらい点 タスクの起動速度がEC2バックエンドと…

ECSのバックエンドをEC2からFargateに変更するにあたり知っておくとよさそうな事

…ラエンジニアの永井(shnagai)です。 これまでEC2バックエンドでECSを運用してきたが、Fargateを採用するにあたり、EC2バックエンド時と比べた差分についてまとめてみました。 内容は、ざっくり下記5項目について。 NW(awsvpc) タスク定義 サービス AutoScalling メトリクス/ログ Fargateをやってみたというのは出たての頃にやったので、今回は本番運用を考えるにあたり知っておいたほうがよさそうな点についてまとめてます。 tech.conne…

RDS for MySQLからAuroraへの移行 〜Auroraリードレプリカを利用した低コスト移行方式〜

…ラエンジニアの永井(shnagai)です。 今回は、メインサービスで使っているDBを、RDS for MySQLからAmazon Auroraへ移行した話について書こうと思います。 Auroraの良さについては、一つ前のブログにまとめているので気になる方はこちらをご覧ください。 tech.connehito.com なぜAurora移行を行ったのか 可用性を担保しながら、コストメリットが享受できる RDS for MySQL時代は可用性を確保する為に、マスター、レプリカ全て …

Amazon Auroraの良さについてまとめてみた

…ラエンジニアの永井(shnagai)です。 サービスで使っているDBをRDS for MySQLからAuroraへ移行するプロジェクトを進めていて、 色々と知見が溜まってきたので、これまでAWS SAの方に聞いたりwebで調べたことについてざっとまとめてみました。 アーキテクチャ リーダエンドポイントによる負荷分散と共有ストレージモデルのメリットが大きい リードレプリカアクセスにLB機能がある リーダエンドポイントによって、ヘルスチェック&ラウンドロビンで読み取りアクセスに負…

0からAndroidチームとしてチームビルディングをやってみた

こんにちは こんにちは、Androidエンジニアの富田です。コネヒトのAndroid専任エンジニアは僕1人で心細い状況だったのですが、昨年11月にAndroidエンジニアの関根さんにジョインしていただき、晴れてAndroidエンジニア2名体制となりました。そこで今回はAndroidエンジニアが1名から2名になったことでチームとして始動しましたので、チームビルディングについて共有したいと思います。「我々はどこから来たのか」、「我々は何者なのか」、「我々はどこに行くのか」というゴ…