Tech Sketch Bucket of Technical Chips by TIS Inc.

node.js+express+PassportでOAuth認証

Pocket

軽めの話題を

毎回割と「濃い目」の記事が多いこのTech-Sketchですが、今回は軽めの内容として、nodejsとそのモジュールであるPassportを利用した他サービスとの認証連携を説明しようと思います。

PassportはConnectやExpressベースのWebアプリケーションに認証の仕組みを組み込むことができるモジュールです。単純なローカルでのユーザ名・パスワードによる認証から、OpenIDやOAuthを利用した認証もカバーしています。それぞれの認証の方式はstrategyとして選択することが可能で、簡単に認証に関する実装を追加することができます。OpenID/OAuthで認証を行う場合のstrategyは、メジャーなサービスに対してのものはnpmでインストールできる形ですでに多数用意されています。

メールの送信ドメインを詐称してSPFの動作確認

Pocket

はじめに

前回 私が書いたエントリでSender Policy Framework(SPF)の紹介をしました。
そこで、今回は実際の動作を確認をする意味で送信ドメインを詐称したメールを送信したときに、受信側のメールサーバで正しく送信ドメイン認証が実施されているか確認してみます。

SPF(Sender Policy Framework)とは

Pocket

Sender Policy FrameWorkとは。

電子メールの送信ドメインを認証する仕組みのひとつとしてSender Policy FrameWorkと呼ばれるものがあります。
この仕組みは、送信者のメール送信ポリシーを受信者側に公開することによって、メール受信者側でのなりすましの検出や迷惑メール対策に役立てようというものです。
また、メールの送受信を一切しないドメインの管理者にもメリットがあるものです。

今回の記事ではこの仕組みのご紹介と実際に設定されている例をみてみようと思います。

Hadoop MapReduce、1ジョブで全体ソートする方法を考えた

Pocket

Hadoop MapReduceは、プログラマが何もしなくても処理結果をkey順にソートしてくれます。
ところが!処理結果全体はkey順になりません。

と、訳が分からないことを言いました。がんばって説明します。

Hadoop MapReduceは並列分散処理フレームワークなので、処理はふつう複数のタスクとして実行されます。処理結果はタスクごとに出力され、それぞれの中はkey順なのですが、タスクに割り当てられるkeyがマチマチなので全タスクの出力をつなぐとkeyが前後してしまいます。このように:

map-reduce.JPG

Hadoop MapReduceではタスクごとのソートを「部分ソート」、処理結果全体のソートを「全体ソート」といいますが、全体ソートの実現には一手間かかります。どんなやり方がいいか考えてみました。