サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Pixel 9
hack.nikkei.com
セキュリティチームでリーダーを務めている藤田です。普段はプロダクトセキュリティの施策を中心に担当しています。 この投稿は、現在進行中の案件に関するものですが、世間で DMARC への対応が話題になっているにも関わらず、業務分担が進んでいる組織や複数のサービスで会社共通のドメインを用いてメールを送信しているような場合になぜ対応が進まないのか、それに対し私たちがどのようにアプローチしているかを示すものです。まだ完璧とはいえる状況ではありませんが、ある程度目処が見えてきたため、ノウハウを共有します。 タイトルの通り技術的なトピックも取り扱いますが、社内での調整や進め方を中心に解説しています。 ステークホルダーが多く、調整に苦労している方や、DMARC 対応を始めたもののレポートの分析に着手できていない方が一歩を踏み出すための助力となれば幸いです。 結論 外部の分析サービスに頼ることなく、AWS
この記事はNikkei Advent Calendar 2023の 20 日目の記事です. こんにちは. 林仁(Shinyaigeek)と申します. 2022 年に日本経済新聞社に新卒入社して, 今ですと日経電子版 Web 開発チーム全体の開発生産性などの向上のため, フロントエンド基盤の足回りの改善や電子版全体の信頼性向上のために CDN の改善などを担当しています. 本稿では処理系フレンドリーなコードとそのためのガードレールを敷くことによりコードベースを改善するアプローチと, 実際に日経電子版 Web の開発基盤である, k2 で行われた処理系フレンドリーなコードによってフロントエンドのコードベースを改善した事例についてご紹介します. フロントエンド開発における処理系 まずそもそも, ここで言う処理系とは何を指しているのでしょうか?本稿ではフロントエンド開発におけるコードの処理系をスコ
Nikkei Advent Calendar 2023の 14 日目は IDE がやっていきます。いま Web チーム内の基盤改善を専門とするチームで活動しています。自分が入社するより前に作られてメンテナンスがあまりされていなかったシステムを、現代でも戦えるようにするお仕事をしています。メンテナンスを放置することはセキュリティ的によくないので、メンテナンスを専業で行っています。最近の自分の仕事は、今日紹介する rnikkei と呼ばれるマイクロサービス群の Node.js バージョンを、v12 から v18(一部は v20) まで引き上げることです。この rnikkei は当初「爆速の日経」と呼ばれていた頃に設計・実装されたサービスです。今日はそのような過去に作られたサービスにもう一度スポットライトを当ててみようと思います。 see: https://marketing.itmedia.c
この記事は Nikkei Advent Calendar 2023 および Rust Advent Calendar 2023 の 10 日目の記事です. はじめに Wave チームの何でも屋さん 伊東 です. 社内に ito さんがたくさんいるので区別が大変です. 最近嬉しかったことは短期インターンシップ参加者に Haskell 使いが 2 人もいたことです. 弊社にも静的型付け関数型プログラミング言語を普及したいです. さて、弊チームのサービスのバックエンドには gRPC を利用しています. gRPC はクライアント・サーバー間でスキーマ駆動開発をするのに便利なツールですがエラーハンドリングに少し癖があります. gRPC のエラーモデルにはシンプルだが柔軟性に欠ける Standard error model と柔軟だが互換性に欠ける Richer error model があります.
この記事はNikkei Advent Calendar 2022の 11 日目の記事です。 目次 1. はじめに 2. 記者としての研修を受ける 2.1 記事は大事なことから書く 2.2 正確に書くことの大切さ 3. ビジュアルデータ制作 3.1 村上選手三冠王ビジュアルデータ 3.2 参議院選挙比例マップ 4. まとめ 1. はじめに こんにちは。編集データビジュアルセンター戦略コンテンツグループの千﨑です。戦略コンテンツグループはニュースをわかりやすくビジュアルに伝える日経ビジュアルデータの制作部署です。この部署に 2022 年 6 月に配属されました。入社時点で Web の知識は全くありませんでした。研修や研鑽を続け入社半年で「最年少三冠王 村上宗隆どれだけすごい?」の制作に関わることができました。 この記事では、フロントエンドの新人エンジニアが入社後に学んだことを振り返りながら業務
そのためストリーミング処理をしてニアリアルタイム処理するといったものはそもそも要件として存在しないため、バッチで安定的にデータの取り込みを行い、クエリ時の負荷を下げるためにデータの取り込み時に重複排除をする仕組みを構築しました。その概要が以下の図です。 ファイルからデータ連携されたデータを重複ありの状態で受付け、1 時間に 1 回重複排除したデータを行動ログテーブルにマージする、というのが大まかな手法の説明です。このコンポーネントは atlas-consumer-s3 と呼ばれます。 2. 旧来の仕組みの課題 上記の仕組みで大きな障害も発生せずに運用できていましたが、以下のような課題を抱えていました。 2-1. 原因不明の不具合によりデプロイ時に Kinesis からの 1 日分の読み直し作業が発生する 2-2. 新規カラム追加の実装/作業が煩雑 2-3. データの整合性の検証が不十分 2
こんにちは、Web チームの井手です。今日は私たち Web チームが作っている SSR フレームワーク(以下 FW)にについて紹介します。 記事を書くモチベーション 私たちのメインプロダクトである日経電子版においては k2 という自作 SSR 基盤を 2020 年から運用しています。SSR FW といえば多くの方が Next.js を想起すると思いますが、私たちは自作しています。一方で最近は Next.js の進化が凄まじく、自作 SSR 勢としても意識せざるを得なくなっています。もしかしたら「あぁ Next.js で作っておけばよかった」と思う時が来るかもしれません。特に k2 を保守する際には Next.js では実現できない機能を実現するために様々な手法や工夫を編み出していましたが、Next.js の進化に伴ってその必要性はだんだん減ってきているのを実感しています。そのためいつか N
日本経済新聞社でモバイルアプリ開発を担当している篠原です。 本記事では、2023 年 4 月 17 〜 21 日に実施したデジタル人材向け新卒研修について紹介します。 研修概要 「デジタル人材向け新卒研修」(以下、デジタル研修とする)とは、エンジニア職の方を対象にデジタル分野の講義を中心とした研修です。弊社では本研修を 2017 年度から行っており、今年で 7 回目の開催となりました。昨年行われたデジタル研修の模様も別記事に掲載されております。 本年度は次のような日程で新卒研修のプログラムが実施されました。 4 月 3 〜 14 日:全職種対象の新卒研修 4 月 17 〜 21 日:デジタル研修 4 月 24 日〜:各チームへの本配属 2020 年の新型コロナウイルス感染症の流行を契機に、このデジタル研修はオンライン参加を中心として実施されていました。新卒メンバーの参加形式として、昨年はオ
ダッシュボードを作ってみる それでは実際にダッシュボードを作ってから一般公開するところまでタイムアタックで挑戦してみようと思います。 データを探す ダッシュボード構築の第一歩として、まず可視化するデータを探すことから始まります。気候変動が自分の関心のあるテーマの一つなので、ここでは気候変動に関わるデータを調べてみます。サンプルのダッシュボードということで今回はオープンデータを対象にデータを探します。個人的にはデータを探す際に以下の 5 点に気を配ります。 データの情報源の信頼性 データの最終更新時期 データの更新間隔 データの機械判読性(PDF など処理がしにくいフォーマットを避ける) データのライセンス(二次利用が可能か、クレジット表記が必要かなど) 今回は、統計データのポータルサイト「Our World in Data(OWID)」を利用してデータを探します。一般に英語圏の方がオープン
研究開発部署「日経イノベーション・ラボ」の石原です。 Nikkei Advent Calendar 2022の 23 日目を担当します。 日本経済新聞社では、ユーザへより良いサービス利用体験を提供するため、広くデータの利活用を進めています。 本記事では特に「自然言語処理」と呼ばれる領域に焦点を当て、2022 年の主要な取り組みの一つとして、昨今の急速な進展の根幹を担う「事前学習済み言語モデル」の構築と活用に関する事例を紹介します。 最初に自然言語処理や事前学習済み言語モデルの概要を説明し、その後に日本経済新聞社での取り組みをまとめます。 日本経済新聞社では積極的な対外発表が推奨されており、本記事は技術ブログ・外部登壇・論文発表で公表済みの内容をもとに構成しています。 自然言語処理とは 自然言語処理とは、人間が日常的に使っている言語(自然言語)をコンピュータで処理するための一連の技術です。
この記事はNikkei Advent Calendar 2022の 16 日目の記事です。 情報サービスユニット(BtoB ビジネスを展開する部署です)にてデータサイエンティストをしています西川・増田です。 この記事では、弊部署で展開を始めたベイジアン A/B テストの利点と、その実験計画の一部について簡単に紹介します。 A/Bテストとは? ここでは A/B テストについて概観しますが、自社のプロダクトにおいて施策の効果を測定したいという課題を抱えている方であれば既にご存知の方も多いと思いますので、適宜読み飛ばしてください。 A/B テストとは、画面要素やテキストの文言などの UI や UX の変更によってどれくらいの効果が発生したかという測定を、なるべく偏りなく実行するための一連の実験のことを指します。ユーザを 2 群以上のグループにランダムに分け、一方の群にのみ実際の変更を適用し、他方
Hack The Nikkei アドベントカレンダー2022の 14 日目はセキュリティチームがお届けします。セキュリティエンジニアの藤田です。 普段はクラウドセキュリティやウェブセキュリティに関するチーム横断的な企画や、プラス・セキュリティ人材に関する施策を実践しています。 本日は、2022 年 4 月に公開された技術仕様RFC 9116 - A File Format to Aid in Security Vulnerability Disclosure(以下、RFC9116)に日経電子版が対応した話をご紹介します。 こちらの記事では日経電子版が RFC9116 に対応したきっかけや、実際に公開するにあたって考慮したことを取り上げています。 まだ実際に対応された事例が少ないと感じましたので、新たに対応を検討される方の参考になれば幸いです。 対象読者 RFC9116(security.t
この記事はNikkei Advent Calendar 2022の 13 日目の記事です。 こんにちは、Web チームの井手です。最近 Web チームで働く魅力について語ったので是非とも読んで欲しいです。 今日は非同期ランタイムについて書きます。 私は非同期ランタイムやサーバー進化論が好きで、たまにブログを書いたり、前職でもアドベントカレンダーに書いたりしていました。 本稿では効率的な非同期処理を実現するライブラリが中で何をしているのかを、低レイヤーの非同期処理そのものを解説しながら見ていきたいと思います。説明の都合上 Rust を使うので、Rust 特有の話もありますが、低レベルな API があればどの言語でも当てはまる話だと思います。この辺りは Rust, Scala(JVM), Erlang, Go などはお互いがお互いのアイデアを参考にしていて切磋琢磨しつつも似た仕組みをそれぞれが
この記事はNikkei Advent Calendar 2022の 12 日目の記事です。 こんにちは。林仁(Shinyaigeek) と申します。今年 2022 年に日本経済新聞社に新卒入社して、日経電子版 Web やその周辺事業を担当し Web をやっています。 昨今 Web な勉強会を見ると Edge Computing が盛り上がっていますね。今年開催された JSConf 2022 ででも、Edge Runtime について言及しているセッションがちらほら見かけられました。 Edge Computing という技術に対して皆さんの期待するところはさまざまだと思います。例えば一つのユースケースとしては、CDN Edge で認可やルーティングを行うのに今までは Fastly Varnish が一般的に使われていましたが、それを Fastly VCL でなくプログラミング言語でその処理を
はじめに こんにちは。日経 ID 認証認可基盤チームの奥田・淵脇です。この記事は Nikkei Advent Calendar 2022 の記念すべき 1 日目の記事です。 日経 ID チームで開発している認証認可基盤ではバックエンドの技術スタックとして Kotlin + SpringBoot を用いています。最近この基盤に対し Kotlin の関数型プログラミング用のライブラリである Arrow-kt を導入しました。関数型プログラミングには様々な要素がありますが、既存のコードに適用しやすいところから始めようということで、Either を用いた例外処理を中心に導入してみました。 そこで本記事ではサーバサイド Kotlin における関数型プログラミングの導入事例として、日経 ID チームにおける Either の使われ方や実際のプロダクションコードでの規約などを紹介いたします。 Eithe
こんにちは、Web チームの井手です。 この度 NIKKEI Professional Media(通称 Promedia) という新媒体をリリースしました。各トピックに特化したメディアで、現在は 日経モビリティ、日経GX、日経テックフォーサイトが展開されています。 これまで日経 Web チームでは特定のFWを利用せず、長年JSXをテンプレートエンジンとした独自FWを開発して、モノレポとして運用していました。これはチューニングの余地を自分で確保することや、自分たちのチームにあった規約を作りやすくするための選択です。しかし Promedia の開発は電子版本体のリリースサイクルと外れるためにモノレポの中に入れたくないことや、長年の開発の負債を引き継ぎたくないこと、なによりNextJSエコシステムの発達によって僕たちの要求をカバーできつつあることから、試験的にNextJSを採用して開発してみま
この記事はNikkei Advent Calendar 2021の24日目の記事です。 こんにちは。エンジニアの成田です。 API・バックエンドチームとして日本経済新聞LINE公式アカウントのバックエンドサーバやレコメンドAPIなどの開発などを担当しています。 今回はSentryのパフォーマンス監視機能について概要を紹介したあと、Pythonで使用する場合の便利な設定、そして 実際に社内でチューニングの際にどのような使用したかの簡単な例を紹介をします。 概要 Sentryといえばエラー監視ツールとしての印象が強い方が多いと思います。2020年7月からJavascriptとPython向けにパフォーマンス監視機能を提供し、その後も対応言語や機能を増やしています。 日経でも、バックエンド・フロント問わず多くのプロジェクトがSentry導入しており、主にエラーを検知してSlackにアラートを送る
コンペに参加したきっかけ 本コンペに参加した理由は2点あります。 1点目は、事前に今回のチームメンバーとコンペに取り組む約束をしていたためです。今回共にコンペに参加したチームメイトである増田や青田とは今年の5月にも別のコンペに参加しており、その際には銀メダルを取得しました(当時の体験記はこちら)。5月のコンペを通じ、同じ職場のメンバーで和気藹々とコンペに取り組む楽しさを覚え、「次はPPPMで」と約束を交わしていたのでした。 2点目は、ドメインが個人的に馴染み深く興味が湧いたためです。私は大学時代に産業財産権について学んでいたこともあり、特許領域には強い思い入れがありました。結果的には、ドメイン知識を何一つ活かしませんでしたが、最後まで興味を持ってコンペに取り組むことができたので結果オーライだと思っています。 Team Nの解法 前書きの通り、私たちは1,889チーム中8位という好成績を収め
情報サービスユニットの増田です。普段は自然言語処理やBtoBプロダクトのユーザログの分析などを担当するデータサイエンティストとして仕事をしています。 本記事では、世界最大級のデータサイエンスコミュニティプラットフォームである「Kaggle」にて2-5月に開催されていた自然言語処理コンペティション「NBME - Score Clinical Patient Notes」 に弊社のデータサイエンティスト3名(ほか、外部の機械学習エンジニアの方1名)でチームを組んで参加した体験談を紹介します。 コンペティション概要 このコンペティションのホストであるNBME(National Board of Medical Examiners)は、米国で医師免許試験を実施している機関です。受験者はその免許試験において、仮想的な患者が発言した内容に基づきカルテを記述します。そのカルテの採点は現状人手で行っている
日本経済新聞社でデータ分析やサービス開発を担当している石原です。 本記事では、2022年4月11〜15日に実施したデジタル人材向け新卒研修を紹介します。 研修の概要 日本経済新聞社では新卒採用を毎年実施しており、記者・エンジニア・ビジネスなどさまざまな職種の社員が入社しています。 今回紹介する「デジタル人材向け新卒研修」は、全職種対象の新卒研修の後に、エンジニア・ビジネスなど一部の方々を対象に行われる研修です。 本配属に先立って必要な最低限の知識を整理すると共に、チーム紹介などを通じて幅広く組織の雰囲気を理解してもらうことを目的としています。 2017年度から毎年、現場で働くソフトウェアエンジニアらが中心となって内製で設計しています。 本年度は次のような日程で実施しました。 4月1〜8日:全職種対象の新卒研修 4月11〜15日:デジタル人材向け新卒研修 4月18日〜:個別チームへの本配属
この記事はNikkei Advent Calendar 2021の10日目の記事です。 正規表現を使った文字列検索は検索対象の文書ファイルが大きく、正規表現のパターンが複雑であるほど実行時間がかかるというデメリットがあります。 その欠点を補う、文書に対してインデックスを作成する方法がありますが、データベースに保存されない文書に対してはあまり有効な解決方法とはいえません。 例えば、記事テキストから複数の企業名を取得して分析を行いたい場合はなるべくデータベースを使わず処理をしたいからです。 FlashTextは正規表現よりも高速に文字列を検索・置換可能なアルゴリズムです。 データベースやインデックスの準備が必要ないため、最小限の環境設定だけで簡単に使うことができます。 FlashTextはPython実装が GitHub で公開されており、pipでインストールして使うことができます。 ドキュメ
データサイエンティスト(?)の青田です。これは Nikkei Advent Calendar 2021 の25日目の記事です。 はじめに 本記事ではCythonを用いるときに発生しがちなつまずきポイントについて実用的な具体例を示す。つまずきポイントをほぼコピペで乗り越えられることを意識して執筆した。 すでに数多くのブログや公式ドキュメントがある中でこれを書いたモチベーションがある。 Cythonはコンパイルしようとするだけでも4種類のやり方が存在し、型宣言の仕方は3種類の作法があり、numpyとの連携方法は2種類存在する。 このように同じことをやろうとしたときの選択肢の多さが混乱を招いているように感じた。いろんな流派が存在するものの、ここでは自分の方法を目的別に示す。これにより、利用者の選択の時間を削減し、Cythonを道具として使いやすくなるだろう。 本記事は以下のトピックについての例を
この記事は Nikkei Advent Calendar 2021 の 19 日目の記事です。 こんにちは。エンジニアの田中です。 API・バックエンドチームとして主に開発だったり分析周りだったりを担当しています。 今回BigQueryを用いた分析例を一つ紹介しようと思います。 紹介するのは、ユーザーの会員状態を持ったDBのスナップショットしかデータがとれてない時の会員ごとの会員継続期間の計測方法です。 読者レベル的にはOVER句を使う、分析集計関数を使うようになったぐらいを想定しています。 意外とこのレベルのクエリの情報はあまりなさそうだったというのも書く理由になっています。 日経の分析環境について 日経での分析業務では詳細な分析をBigQuery+Redash、ユーザー単位のクイックな探索にElasticSearch+Kibanaを分析に用いることが多いです。 自分が日経に入社する以前
はじめまして、今年の 9 月に入社した井手です。 NIKKEI Advent Calendar 2021 17 日目を担当します。 今日は Web Bluetooth の仕様を Bluetooth の説明を交えながら解説し、Web Bluetooth を日経でどう使えそうかを考えてみます。 紙の新聞について 皆さんは紙の新聞を読みますか?私は読みます。日本経済新聞社の福利厚生の1つには日本経済新聞の購読費補助があり、私は日経 W プランを購読しています。 最近は紙の新聞に触れる度に、新聞が紙である意義を考えるようになりました。新聞には国民の知る権利を支える大切な役割がありますが、紙媒体にしか寄与できない側面があると思います。例えば紙媒体の新聞は朝刊・夕刊単体で購入でき、欲しい情報を安価に購入できます。また、スーパー銭湯や喫茶店といった場所に置いてある新聞を回し読むことで、購入せずとも情報に
この記事は Nikkei Advent Calendar 2021 8日目の記事です。 はじめまして。情報サービスユニットの又吉です。私は、2021年4月に日本経済新聞社に入社した新卒1年目です。今回は、配属された2021年5月から2021年11月までに行った業務内容について紹介したいと思います。なお、エンジニアに興味がある学生にも読んでもらえるように用語の解説や注釈を多めに記述しています。 情報サービスユニットとは 日本経済新聞社には多くのエンジニアが在籍しています。ほとんどのエンジニアは日経電子版を始めとするBtoCプロダクトのデジタル編成ユニットか日経テレコンなどのBtoBプロダクトの情報サービスユニットに所属しています。 私はBtoBの情報サービスユニットに配属し、その中でも、⽇経リスク&コンプライアンス、NIKKEI The KNOWLEDGE、日経テレコンのオープン化 などの開
この記事はNikkei Advent Calendar 2021の6日目の記事です。 こんにちは、長期インターン生の林(Shinyaigeek)です。 fastly の提供する Compute@Edge という Edge Computing 基盤があります。 まだベータという形でですが、このランタイムで JavaScript の対応が始まったことをうけ、 Compute@Edge で何ができるのか、そのために何が必要なのか、というのを実際に Compute@Edge で Apollo Server を用いて GraphQL Server を建てることを通して考察します。 Compute@Edge とは 本題に入る前に Compute@Edge とはどのような技術なのか、何ができるのか、という説明から入りたいと思います。 Compute@Edge とは fastly が提供している Edge
Introduction この記事は Nikkei Advent Calendar の 4 日目の記事です。 Web チームの伊藤です。 この記事では、電子版フロントエンドを実装する上でアクセシビリティに配慮した実装を行った箇所を具体例を挙げて紹介します。 Web アクセシビリティについて Web アクセシビリティは通常、「様々な利用者が Web サイトを使えるようにする」ものだと言われています。 具体的な手法としては、WCAG及びその達成方法集に則った実装を行うことが挙げられます。 独自にガイドラインを制定している会社もありますが、実際には、これらの基準をすべて満たすことは難しいでしょう。 比較的簡単に取り組めるところでは、Lighthouse のアクセシビリティスコアを上げることが考えられ、新規に実装する場合には、レビューなどで Lighthouse のスコアを上げる形になります。 本
研究開発部署「日経イノベーション・ラボ」の石原です。 このたび、今年6月の研究発表が2021年度人工知能学会全国大会の優秀賞を受賞しました。 そしてほぼ同時期に、この研究を発展させた論文が国際会議ワークショップ「The 5th IEEE Workshop on Human-in-the-Loop Methods and Future of Work in BigData (IEEE HMData 2021)」に採択されました。 本記事では、これらの研究について概要を紹介します。 研究の概要 日本経済新聞社では機械学習や自然言語処理と呼ばれる情報技術の領域を探求しつつ、積極的な事業活用に挑戦しています。 情報技術を活用できる場面は数多くありますが、分かりやすい応用例の一つに「ニュース記事の要約」が挙げられます。 たとえば、ニュース記事の本文を入力として与えた際に、出力として見出しを生成するシ
こんにちは。API・バックエンド/SREチームの清水です。 普段はAPIサービスの開発、インフラ監視や障害の調査などに関わっています。 今回のエントリでは、2020年12月に新しくAWSが発表したEBSボリュームタイプ gp3 について、IOのレイテンシやスループットの観点から性能調査を行ったので、gp2 との比較を行いながら紹介します。 gp3ボリュームとは gp3はAWSが提供するEBS(データを保存するためのブロックストレージサービス)の一種です [1]。 gp3は最新世代の汎用SSDボリュームでgp2 の次世代にあたり、コスト上も有利とされています。 AWSには以下のように書かれています [1]。 ストレージ容量に関係なくパフォーマンスをプロビジョニングできる一方、既存の gp2 ボリュームよりも GB あたり最大 20% 低い料金を実現しています。 gp3 では容量によらず 30
次のページ
このページを最初にブックマークしてみませんか?
『HACK The Nikkei』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く