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 です。 皆さん自身の成長にコミットしてますか? マネージャーの皆さんメンバーの成長にコミットしてますか? 私はゼルダ無双の体験版をダウンロードしてしまったために成長にコミットできなさそうです。 あと…

データサイエンティストの飛び道具としてのStreamlit - プロトタイピングをいい感じにする技術

(ちょっと遅れましたが)新年あけましておめでとうございます JX通信社シニア・エンジニアで, データサイエンスからプロダクト開発までなんでもやるマンの@shinyorke(しんよーく)と申します. Stay Homeな最近は大河ドラマを観るのにハマってます&推しの作…

Pythonでいい感じにバッチを作ってみる - prefectをはじめよう

JX通信社シニア・エンジニアで, プロダクトチームのデータ活用とデータサイエンスのあれこれ頑張ってるマン, @shinyorke(しんよーく)です. 最近ハマってるかつ毎朝の日課は「リングフィットアドベンチャー*1で汗を流してからの朝食」です. 35日連続続いて…

AWS・GCPとKubernetesの権限まわりの用語を具体例から理解する

同じ単語が違う意味に使われていて混乱しがちなAWS・GCPのIAM周りの概念を整理しつつ、それぞれのマネージドKubernetes環境での使い方も含めて解説します。

PynamoDBで良い感じにTestableなモデルを定義して、DynamoDB Localを使ってテストする方法

アプリケーションコードをきれいに保ちつつ、PynamoDBのモデルをいい感じに定義してテスト用のコードを書く方法を紹介します。

データ分析者たちのコードレビュー #とは - 散らかったJupyter notebookを片付けるかどうするか問題を考える

JX通信社シニアエンジニアの@shinyorkeです. 最近はチームの朝会でよく着ているTシャツにツッコミを受けてます.*1 JX通信社では, いい感じにデータを整備・運用しているデータ基盤を駆使して, BI(Business Intelligence)文脈でのデータ分析・可視化. ダッ…

Jamstack とサーバーレスで提供する「大阪都構想」特設サイトの舞台裏

開発担当役員(CDO)の小笠原(@yamitzky)です。 11月1日に予定されている「大阪都構想」の住民投票*1についての特設サイトを、先日、ABCテレビと共同リリースしました。JX独自開発のオートコール電話情勢調査システムを活用し、週一ペースでの情勢調査を発表す…

GitHub Actionsで実現する、APIキー不要でGitOps-likeなインフラCI/CD

CIの仕組みとしてはSaaS(今回はGitHub Actions)を利用しつつも、実行場所はクラウド内にとどめることでGitOpsの考え方を一部取り入れたterraform運用のしくみを作ってみました

リモート下でチームのコミュニケーションを円滑にするための試み

こんにちは、サーバーサイドエンジニアの @kimihiro_n です。 新型コロナの影響で、オフィスに出社して働くというスタイルに大きな変化が生じてきています。 弊社でも原則リモートでの勤務が推奨となっており、従来通りのコミュニケーションを続けることが困…

IstioとAuth0でJWT認証付きAPIを5分でデプロイする

SREのたっち(@TatchNicolas)です。 JX通信社では、月に一度「WinSession」というリリースした機能や検証したリリースについて開発チーム全体へ発表する機会を設けています。今回は自分が前回社内に紹介した「パパッと便利APIを作って5分でお手軽&セキュアに…

PyCon JP 2020のTwitter実況システムをGKE上に作った話

k8s

SREのたっち(@TatchNicolas)です。 今年のPyCon JPはオンライン開催でした。JX通信社はSilverスポンサーとして協賛したほか、イベントをより盛り上げるために、参加者の反応をリアルタイムに配信に反映するシステムを開発・提供しました。 jxpress.net アプ…

アプリを利用しながらアプリの更新ができるin-app updates

Androidエンジニアの@sakebookです。 今まではストアに飛ばしたり、自前で用意したロジックやAPIで更新があるかを確認していました。しかしそんな時代はもう終わりました。Play Core Libraryを使えばアプリ内でアップデートが可能になります。 in-app update…

Firebase をフロントエンドから適切に隠蔽するための「Hooks Injection パターン」

取締役の小笠原(@yamitzky)です。 JX通信社では、React 製のフロントエンドでも Clean Architecture で設計するなど、なるべく特定のバックエンドに依存しない設計を心がけたりもするのですが、一方で Firebase をラップした react-firebase-hooks などの「…

データ基盤を支える技術 - ETLフレームワークの実践的な選び方・組み合わせ方

JX通信社シニア・エンジニア兼データ基盤担当大臣の@shinyorke(しんよーく)です. 最近やった「ちょっとした贅沢」は「休日, 自宅で片手に野球を見ながらUberEatsで注文したランチを楽しむ」です. ⚾と飲食を提供してくださる皆さまに心から感謝しております…

ReactのコードをHooksにリファクタリングしていく話

フロントエンジニアの渡辺(@pentla)です。 AI 緊急情報サービスの「FASTALERT」は、Reactをフロントエンドのスタックとして採用しており、3年ほどコードベースは大きく変えずに運用しています。その過程で、Flow → TypeScriptへのスタックの変更など、継続的…

FastAPI で独自に定義した API エラーも仕様書に自動反映したかった話

こんにちは、サーバーサイドエンジニアの @kimihiro_n です。 最近は FastAPI という Python の Web フレームワークが社内で密かなブームとなっています。 今回はその FastAPI を使ったエラー定義まわりの話をしたいと思います。 FastAPI とは FastAPI の概…

Flow/PostCSS の大規模プロジェクトを TypeScript/emotion に移行して数万行のプルリクを投げた話

JX通信社CDOの小笠原(@yamitzky)です。 AI 緊急情報サービスの「FASTALERT」は、報道機関や公共機関に導入いただいている(お堅めな) BtoB SaaS でありながら、 事業開始当初から React を使った Single Page Application(SPA) として作っています。 2017年に…

新型コロナダッシュボード爆速リリースの舞台裏 〜小さく始めて大胆に変えるフロントエンドプロジェクト〜

JX通信社CDOの小笠原(@yamitzky)です。 JX通信社は「今起きていることを明らかにする報道機関」というミッションの元に、新型コロナリアルタイムダッシュボードを 2月16日 から提供し続けています。今回は、「新型コロナプロジェクト」の発足から現在に至る…

コワクナイBigQuery - チームでデータを活用するための活動について

JX通信社でシニア・エンジニア&データ基盤エンジニアをしています, @shinyorke(しんよーく)です. 最近のStayHome生活は, 「YouTubeでUK Rock, お笑いの動画を見まくる」「地元のお取り寄せグルメを楽しむ」「野球データ分析に集中する」で楽しんでいます. …

Serverless Framework+mangum+FastAPIで、より快適なPython API開発環境を作る

はじめに 最近ハイボールにハマっているSREのたっち(@TatchNicolas)です。 昨日オンライン開催されたJAWS DAYS 2020にて、JX通信社もサーバレスをテーマとして発表をしました。(by 植本さん) 発表でもありましたように、上記プロジェクトにおいて開発当時…

Goの並行処理について

はじめに こんにちは。サーバーサイドエンジニアインターンでお世話になっている杉山と申します。 今回はオライリー・ジャパン社より出版されている『Go言語による並行処理』を読み勉強したことについて書いていきたいと思います。 Goにおける並行処理 GoはC…

JX通信社の取り組みとメンバーの優しさがデブサミの登壇を支えてくれたという話

先月に引き続きデブサミの話で失礼します. JX通信社でシニア・エンジニアをしています, @shinyorke(しんよーく)と申します. 最近引っ越した新オフィスの近くにあるビャンビャン麺がマイブームです. 前回のエントリーでもご紹介させてもらいましたが, 先日…