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(しんよーく)と申します. 最近引っ越した新オフィスの近くにあるビャンビャン麺がマイブームです. 前回のエントリーでもご紹介させてもらいましたが, 先日…

Nuxt.js + FastAPIを使ったデータエンジニアリングなデモ作り - 社内勉強会でデブサミのデモをしました

(今更ですが)新年あけましておめでとうございます! JX通信社でシニア・エンジニアをしています, @shinyorke(しんよーく)と申します. 最近は週に2, 3回, ジムで10kmちょい走っています.*1 JX通信社のエンジニアチームでは, 月に一度みんなが集まる月次勉…

闇の Slack 魔術に対抗する Python 防衛術

この記事は、Slack Advent Calendar&JX 通信社 Advent Calendarの最終日です。 メリークリスマス! 素敵なクリスマスをお過ごしでしょうか。取締役の小笠原(@yamitzky)です。 突然ですが、みなさん、ダークモードは好きですか? ダークモードは昨今のソフト…

K8sデビューしてから4日で小さな本番プロダクトをリリースした話

「JX通信社Advent Calendar 2019」24日目の記事です. 昨日は@kimihiro_nさんによる, 「Immutable Python ~ NamedTuple で書く副作用のないプログラム」の話でした. こんにちは. JX通信社でシニア・エンジニア&データ基盤エンジニアおよび野球*1をしています,…

Immutable Python ~ NamedTuple で書く副作用のないプログラム

この記事はJX通信社 Advent Calendar 2019 の23日めの記事です。 昨日は Yosk さんの 名刺作成をデザイナーの業務から外して、効率化させた話 でした。 こんにちは、サーバーサイドエンジニアの @kimihiro_n です。 今回は Python の Immutable を最大限活用…

情報共有を効率化 - Slackの分報チャンネルにあるリンクを拾うSlack Botを作ってみた

こちらはJX通信社 Advent Calendar 2019 の21日目の記事です。どうも、何でも屋のkainです。 きっかけ 昨日の朝、弊社メンバーからこんな投稿がありました。 弊社の分報チャンネルでは、今やってることや困ってることなど以外に、それぞれが読んだリンクを雑…

Python Clickユニットテスト・レシピ集 - CLIではじめるテスト駆動開発(その1)

「JX通信社Advent Calendar 2019」20日目の記事です。 こんにちは。2019年9月からJX通信社のエンジニアとなった鈴木(泰)です。好きな食べ物はオムライスです。 本日は、Python Clickユニットテスト・レシピ集 - CLIではじめるテスト駆動開発(その1)と題…

DartでCLIツールを作ろう

この記事はJX通信社アドベントカレンダーの19日目です。 sakebookです。最近はServer Side Kotlinをやってますが、Flutterも少し触ってます。 去年はKotlin で CLI のネタを書いたので今年はそれのDart版を書こうと思います。 tech.jxpress.net 全体の流れ D…

Istio VirtualServiceのHost衝突を検知するAdmission Webhookをつくってみる

「JX通信社Advent Calendar 2019」15日目の記事です。昨日はペイさんによるNuxt.js + firebaseで「積ん読防止」アプリを作ってみたでした。 こんにちは、SREのたっち(TatchNicolas)です。 はじめに 引き続き、KubernetesのAdmission Webhooksについて書きま…

ライフログを可視化してみたら偏食のようすがわかった - 飯田橋ランチマップ

「JX通信社Advent Calendar 2019」11日目の記事です. 昨日は, @shinyoke さんの「PySparkはじめました - 分散処理デビューする前にやったこと」でした。 こんにちは. 同じくJX通信社でデータ基盤エンジニアをしています, @maplerと申します。 はじめに 今回…

PySparkはじめました - 分散処理デビューする前にやったこと

JX通信社では, データ駆動での意思決定および施策実施をより円滑に進めるため, データ基盤の構築・運用を進めながらトライアル的に様々なFrameworkやツールの検証を行っています. このエントリーでは, 私がシュッとPySparkで分散処理をする...前に, 手元で試…

管理画面向けのVue.jsのUIフレームワーク、iViewについて

「JX通信社Advent Calendar 2019」7 日目の記事です。昨日は、鈴木(泰)さんの「CodePipelineを用いたLambdaのデプロイについての所感」でした。 フロントエンドエンジニアの渡辺です。今回は社内の管理画面のUIの話です。 はじめに 管理画面、特に社内向け…

CodePipelineを用いたLambdaのデプロイについての所感

「JX通信社Advent Calendar 2019」7 日目の記事です。 こんにちは。2019年9月からJX通信社のエンジニアとなった鈴木(泰)です。趣味は映画観賞です。 はじめに JX通信社では AWS の Lambda Layer、Lambda 関数を使った Serverless なアプリケーションの開発…

FlutterとFirebaseとFacebookと、クロスプラットフォームログインのはなし

この記事はJX通信社 Advent Calendar 2019 6日目の記事です。 Flutter に Firebase Authentication と Facebook認証を組み合わせる話 こんにちは、Flutter(Andorid)エンジニアのぬまっちです。(@nuMatch) 先月は登壇してきましたブログ tech.jxpress.net を…

Auth0を使ってSPA(Vue.js, Python)の認証機能を作ってみた

はじめに インターンでお世話になっている、コウゲと申します。現在担当させていただいている仕事は業務で使用している管理画面のマイクロサービス化です。 マイクロサービス間をつなぐ認証機能が必要だったので、認証プラットフォームとして使いやすそうな …