KiotaでOpenAPIの定義からGoのクライアントを生成してみる

こんにちは。 kimihiro_nです。 Microsoftから「Kiota」というOpenAPIの定義からクライアントコードを生成するツールが公開されていたのでちょっと触ってみました。 learn.microsoft.com Kiota の特徴 JSON、YAMLで書かれたOpenAPIのAPI仕様から、APIを呼び…

APIクライアント「Insomnia」で始める、チーム開発効率化

JX通信社の CTO の小笠原(@yamitzky)です。本日は、最近社内で検証している API クライアントの「Insomnia」や、Insomnia を活用したチームでの API 開発の効率化についてご紹介します。 Insomnia とは Insomnia は、オープンソースの API クライアントです…

ダウンタイムを抑えてAWSからGoogle Cloudにデータベースを移行したはなし

こんにちは。kimihiro_nです。 今回はプロダクトで使用しているデータベース(MySQL 互換)を AWS から Google Cloud に引っ越ししたときのはなしを紹介します。 AWSから Google Cloud へ AWS では MySQL 5.7 互換の Aurora グローバルデータベースを利用して…

チーム規模が変動するチームでスクラムマスターとしてやってきたこと

お久しぶりです。シニアエンジニアの @sakebook です。今回私がスクラムマスター(以下SM)として所属するチームで、SMとして、およびチームで取り組んできたことなどを共有します。 背景 他社事例なども見聞きするなかで、今まで何をやってきたのかを共有する…

APIをダウンタイムなしでAWSからGCPに引越しました

こんにちは。JX通信社 サーバーサイドエンジニアの内山です。 私が所属するNewsDigestチームでは先日、モバイルアプリ用APIをAWSからGCPにお引越しする、というプロジェクトを行いました。 会社の方針としてGCP利用を推進していることや、GCP特有のマネージ…

Hydraで書かれたコードをVertex AI Pipelineで動作できるようにした

背景 ML Pipelineについて ML Pipelineとはなにか? Vertex AI pipelineとは? HydraとVertex AI Pipeline 問題点 解決法 実際に動かしてみた 各コンポーネントのコンテナイメージを作成 data prepare train 各コンポーネントの設定を行う 各コンポーネント…

Sentry で Go 製アプリケーションのエラーを楽に管理する

今回はSentryというエラー集約管理システムをGo言語で扱う場合の知見を共有したいと思います。## Sentry とは Sentryはエラーの集約管理を行うためのシステムで、作成したアプリケーション内で発生したエラーを一括で収集して見やすく管理することができます…

AI開発時に、あるClassのデータを集中的に追加する時のTipsと注意点

こんにちは!JX通信社シニアMLエンジニアのファンヨンテです。私は普段から、顧客にとって価値の高い(言い変えれば、顧客を幸せにできる)AIを開発することをモットーに仕事に励んでます。そのためには、AI開発の速度を高め、様々なAIやその見せ方を顧客に試…

AWS Lambdaの構成管理のためにterraformを導入してみた

FASTALERT開発チームバックエンドエンジニアの鈴木(泰)です。 本記事は、AWS Lambdaの構成管理のためにTerraformを導入してみたというお話です。 TL;DR FASTALERTチームの開発文化とTerraformの導入に至った背景 AWS Lambda関数をTerraformでどう管理して…

Hydraで書かれたコードをVertex AIでハイパーパラメータ調整できるようにした

背景 問題点 Vertex AIの公式ドキュメントに記載されている形式 Hydraの形式 解決方法 Hydra形式へ変換し、本来の学習コードを実行するスクリプトの作成 HydraのコードでVertex AIのハイパーパラメータ調整ができた まとめ 補足:チームでR&Dに取り組む工夫 …

リスク検知SaaSを支えるマルチモーダル・マルチタスクなExplainable AI

皆様こんにちは!JX通信社で機械学習エンジニアを担っているファンヨンテです。 弊社提供のビックデータ リスク情報サービスFASTALERTでは、Deep Learningを使ってSNSの投稿をリアルタイムに解析し、火事や事故などのリスク情報の検知を行っています。 SNSの…

slack-goとZapierで障害対応初動を自動化した話

サーバサイド開発やインフラ周りをいじっているたっち(TatchNicolas)です。今回はJX通信社における障害対応フローの改善について書きます。 はじめに TL;DR; slack-goとZapierを組み合わせて、障害対応時の提携作業を自動化するツールを作った 「自動化しよ…

AWS 上のシステムでリージョン切り替えの避難訓練を年末にやってみた

あけましておめでとうございます。 サーバーサイドエンジニアの @kimihiro_n です。 今日はAWSに載っているシステムの避難訓練を実施したことについて書いてみようと思います。 弊社が提供している FASTALERT というサービスでは、全国の災害や事件などを検…

爆速開発を目指して NewsDigest を Flutter にリプレイスします

爆速開発を目指して NewsDigest を Flutter にリプレイスします JX通信社 Engineering Manager の @jazzsasori です。 最近アークナイツというソシャゲに課金してしまいましたが妻には内緒にしています。 弊社は NewsDigest という無料ニュースアプリを運営…

ヘビーユーザーが解説するPyTorch Lightning

こんにちは!私はファンヨンテと申します!JX通信社で機械学習エンジニアを行っております! 私はPyTorch Lightningを初めて使ったときの便利さに感動した以来、PyTorch Lightningのヘビーユーザーです! この解説記事ベビーユーザーの私が皆様にPyTorch Lig…

JX通信社は Go Conference 2021 Autumn に協賛します!【11/13(土)開催】

こんにちは! CDO(開発担当役員)の小笠原(@yamitzky)です。 Python のイメージが強い(?)JX 通信社ですが、実は Go に関してもかなり積極的に利用しています。Go のコミュニティ発展を目的として、Go Conference 2021 Autumn にブロンズプランでの協賛を行っ…

属人化しがちなR&Dをチーム開発するためのJX通信社での工夫

こんにちは!JX通信社でMLエンジニアのファンヨンテです。私は自分だけでなくMLチームの成果を最大化するために日々全力を尽くしています! JX通信社のMLチームでは人的リソースを最大限活用するため "力を使うべき所にのみ注力しよう!" をスローガンに徹底…

PyCon JP 2021 でのミニゲームをGoogle Cloud RunとFirebase Hostingで作った話

JX通信社はPyCon JP 2021のゴールドスポンサーとしてスポンサーさせていただきました。 今回弊社平瀬さんがLocastの内容で登壇されました!内容はこちらからご覧ください。 speakerdeck.com その際、会社のブースではPythonを使ったミニゲームを実施していま…

GCPをフル活用して東京五輪の2週間で約5000万ツイートをさばいた話

はじめまして。JX通信社でデータアナリストをしている @nrtaking です。 弊社では、7/23〜8/8に行われた東京オリンピック、8/25〜9/5に行われた東京パラリンピックにあわせて関連した日本語ツイートを全量収集し、Twitter Japanなど各社に提供していました。…

BERTの推論速度を最大10倍にしてデプロイした話とそのTips

背景 はじめまして、JX通信社でインターンをしている原田です。 近年深層学習ではモデルが肥大化する傾向にあります。2020年にopen aiが示したScaling Laws([2001.08361] Scaling Laws for Neural Language Models) の衝撃は記憶に新しく、MLP-Mixerが示し…

Reactのパフォーマンス改善を勉強会で開催しました

はじめまして、新卒フロントエンドエンジニアのぺいです。 JX通信社でフロントエンドの開発はReactが主流になっており、React Hooksを使った開発が欠かせません。hooksは便利な反面、適材適所使い所を理解していないと逆にパフォーマンスが悪くなってしまう…

Python multiprocessing vs threading vs asyncio

エンジニアの鈴木(泰)です。 今回は、multiprocessingとthreadingとasyncioの違いとはなんだろう?という問に挑戦してみたいと思います。 この問の答えをグーグル先生に聞いてみると、非常にたくさんの情報がヒットします。しかしながら、どの情報も断片的…

JX Press Tech Talk #python で「StreamlitとFlaskではじめる爆速プロトタイピングとTV砲対策」というトークをしました

JX通信社シニア・エンジニアかつ, 最近は自社のテックイベント「JX Press Tech Talk」の司会者をやってる@shinyorke(しんよーく)です. 6/23(水)に, 「JX Tech Talk #python Pythonista 達が語る速報サービス開発の舞台裏」というイベントを開催しました.…

Slackアプリ開発の社内勉強会を開催しました

サーバサイド開発やインフラ周りをいじっているたっち(TatchNicolas)です。 JX通信社の日々の運用では、Slack workflowやbotが大活躍しています。 かなり作り込まれた高機能なBotもあり欠かせないものになっていますが、開発者メンバーのなかには普段そのリ…

サーバーサイドで動的にOGP画像をシュッと作る方法 - FastAPIとCairoSVGで作る画像生成API

JX通信社シニア・エンジニアの@shinyorke(しんよーく)です. 最近は色んなエンジニアリングをしつつ, イベントの司会業をしています(詳細は最後の方を見てね). 開発しているサービス・プロダクトの要件で, TwitterやLINE, FacebookでシェアするOGP*1コン…

GitLabとKubernetesで作る、自動で起動・停止できるブランチ別環境

先日のJX Press Tech Talk #backend で、GitLabのenvironmentとHelmのreleaseを対応させることで動的な環境の作成・削除を実現した話をした発表の詳細の記事です

APIとフロントのテスト環境を気軽に作れるようにして、動作検証の渋滞を解消したはなし

こんにちは、サーバーサイドエンジニアの @kimihiro_n です。 今回はみんなが利用するテスト環境の渋滞を解消したはなしを。 テスト環境の渋滞 最近開発チームのメンバーが増えてきたりして、「テスト環境の渋滞」というのがよく発生するようになりました。 …

Utility First な CSS in JS フレームワークの導入と3ライブラリの比較

JX 通信社のフロントエンドでは React TypeScript や Emotion のような CSS in JS を技術選定することが多いです。弊社 SaaS の FASTALERT、新型コロナ関連情報などでも同様の技術選定で、過去にもエンジニアブログで紹介してきました。 tech.jxpress.net te…

Google App Engineではじめる, らくらくTV砲対策 - AIワクチン接種予測の舞台裏

JX通信社シニア・エンジニアの@shinyorke(しんよーく)です. ちょっと前のお話になりますが, JX通信社のニュース速報アプリ「NewsDigest」で, 「AIワクチン接種予測」という新機能の提供を開始しました. prtimes.jp 「自分がいつコロナワクチンを接種できる…

リモートでも 1on1 の効率を最大化したいのでGROW モデルを導入してみました

JX通信社 Engineering Manager の @jazzsasori です。 皆さん自身の成長にコミットしてますか? マネージャーの皆さんメンバーの成長にコミットしてますか? 私はゼルダ無双の体験版をダウンロードしてしまったために成長にコミットできなさそうです。 あと…