タグ

ブックマーク / tech-sketch.jp (15)

  • node.js+express+PassportでOAuth認証 | Tech-Sketch

    軽めの話題を 毎回割と「濃い目」の記事が多いこのTech-Sketchですが、今回は軽めの内容として、nodejsとそのモジュールであるPassportを利用した他サービスとの認証連携を説明しようと思います。 PassportはConnectやExpressベースのWebアプリケーションに認証の仕組みを組み込むことができるモジュールです。単純なローカルでのユーザ名・パスワードによる認証から、OpenIDやOAuthを利用した認証もカバーしています。それぞれの認証の方式はstrategyとして選択することが可能で、簡単に認証に関する実装を追加することができます。OpenID/OAuthで認証を行う場合のstrategyは、メジャーなサービスに対してのものはnpmでインストールできる形ですでに多数用意されています。 具体的にどのようなstrategyが用意されているかは、以下のリンク先を参照し

    node.js+express+PassportでOAuth認証 | Tech-Sketch
  • PostgreSQLクラスタの可用性確保~pgpool-II並列実行型クラスタを作ってみよう~ - Tech-Sketch

    PostgreSQLはVer9からストリーミング・レプリケーションの機能が実装され、複数台のサーバで分散して処理を行うクラスタシステムを構成することができるようになりました。ただ、実装するにあたっては幾つかのパターンが考えられます。また、PostgreSQLの負荷分散を行うpgpool-IIも単一障害点になってはいけませんので、これ自身も冗長化する必要があります。 今回は、執筆開始時点での正式バージョンであるpgpool-II Ver3.1.3、PostgreSQL Ver9.1.2を使って、以下のようにpgpool-II、 PostgreSQLを並列実行する形でのクラスタシステムを考えてみたいと思います。 並列実行型クラスタ構成のメリット 通常、クラスタシステムを構築する場合、大きく分けて、アクティブ/スタンバイ型、アクティブ/アクティブ型の2通りの構成があります。当然ながら、pgpo

  • Chainerを用いて音声からの感情識別を行ってみました | Tech-Sketch

    Chainerを用いて音声からの感情識別を実践 音声からの感情抽出 対話機能 我々は現在Pepperを用いた対話アプリケーションの開発を行っております。 対話において重要な要素は感情を理解することが挙げられます。感情を理解することでユーザーが怒っていれば余計なことを話さず、悲しんでいれば慰める。そんなアプリケーションの実現が可能となります。 しかし従来の対話アプリケーションにおいてユーザーの感情を理解する機能は実装されておらず、質問に答えるだけの単純な機能が主流でした。 感情理解 Pepperには標準機能で感情を理解する機能がありますが、中身がブラックボックス化されています。そのため我々は独自に感情を識別する機能の実装を行いました。 対話で得られる情報は表情、音声、言語情報などと多岐に渡ります。今回は音声に着目しました。理由として、海外の人より日人は感情が分かりづらいと言われて

    Chainerを用いて音声からの感情識別を行ってみました | Tech-Sketch
  • serverspecを使ってサーバの状態をテストしてみよう - Tech-Sketch

    仮想化やクラウド化が進み、インフラ環境をプログラマブルに構築できるようになってきました。この流れにより、サーバ構築をプログラムにより自動化することも多くなってきています。自動化が進むと、当に意図した通りに正しくサーバのインストールや設定が実施されているかの確認テストも自動化することが求められるようになってきています。 記事では、このような場面で有用なサーバ状態のテスト自動化フレームワークであるserverspecを紹介します。 serverspecとはなにか? 既に多くの技術系記事にて、serverspecの紹介がされているためご存知の方も多いかと思いますが、技術ブログでは初登場のテーマであるためserverspecとはなにか?から順を追って解説します。 serverspecは宮下剛輔氏によって開発されたサーバの状態をテストするためのフレームワークです (Serverspec公式

    serverspecを使ってサーバの状態をテストしてみよう - Tech-Sketch
  • RabbitMQを使ってみる〜インストール編〜 | Tech-Sketch

    eXcale開発チームの泉谷(@syguer)です。 今回はMessage QueuingのためのミドルウェアであるRabbitMQについて紹介します。 eXcaleでは、裏側の仕組みとして各コンポーネントがメッセージでやり取りをするようにしています。 それによってコンポーネント同士を疎結合にすることができます。また非同期処理により処理全体の効率化を実現しています。 RabbitMQはその中核となっています。 RabbitMQとは RabbitMQはメッセージキューイングのためのミドルウェアです。オープンソースで公開されています。 もともとはRabbit Technologies社が開発していたものですが、現在はPivotal Softwareのもとで開発されているようです。 RabbitMQ公式サイト http://www.rabbitmq.com/ RabbitMQでは

    RabbitMQを使ってみる〜インストール編〜 | Tech-Sketch
  • 話題のEdisonを使ってみよう2 Intel IoT PlatformのAnalytics Dashboardへデータ送信 | Tech-Sketch

    話題のEdisonを使ってみよう2 Intel IoT PlatformのAnalytics Dashboardへデータ送信 前回は使いはじめるための環境構築まで行いました。今回は実際にEdisonを利用してセンサーデータをクラウド上のサービスに連携してみようと思います。 今回やってみること 前回はセットアップとBluetoothで接続可能なセンサーデバイスであるSnesorTagとの接続までやってみました。今回はセンサーから取得できた値を、Edisonからクラウド上のサービスに送ってみたいと思います。 利用するのはIntelのIntel IoT Platformで提供されているIoT Analytics Dashboardです。IoT PlatformはIoTを構成するデバイスとソフトウェアを組み合わせIoT関連の新たなサービス開発を容易に進められるようにすることを目的とした基盤で、In

    話題のEdisonを使ってみよう2 Intel IoT PlatformのAnalytics Dashboardへデータ送信 | Tech-Sketch
  • JavaScriptを使った簡易ツール作成のススメ | Tech-Sketch

    はじめに 技術的に「濃い」記事が多いTech-sketchですが、逆にあっさり系の記事が不足しているため、気軽に読める記事を書いてみようと思います。 JavaScriptを使ってブラウザ上で動く簡易ツールを作ってみませんか? 簡易ツールを作りたい! 同じツールを実現する場合でも、幾つかの方法があります。 1. C#などでクライアントアプリを作成 メリット: 自由度が高く、ファイルの読み書きやネットワーク通信も可能 ツールの見た目をOS標準に合わせるなど、リッチに出来る 高速動作 デメリット: 各ユーザ毎にダウンロード、インストール(or 解凍)してもらわないといけない ClickOnceで対応可能だがあまり知られていない・・・ ネットワーク通信などを実装しようとするとそれなりに手間がかかる 開発環境が無い場合、インストールの手間が発生する 2. Webサーバ上で動作するアプリを作成 メリ

    JavaScriptを使った簡易ツール作成のススメ | Tech-Sketch
  • AWS OpsWorksを使ってみた (技術編) - Tech-Sketch

    AWS OpsWorksを使ってみた(概要編) では、AWS OpsWorksの概要について紹介しました。今回の記事ではそれに補足して、前回触れられなかったOpsWorksの機能の詳細や、OpsWorksの初期構築処理の仕組みに関して把握できた範囲で紹介します。 OpsWorksの各種機能 前回の記事 でも特徴の所で簡単に触れましたが、OpsWorksにはChefによる自動構築以外にも様々な機能が用意されています。まずは前回掘り下げられなかったこれらの機能について、簡単に紹介していきます。 Auto Healing (障害自動復旧) Auto Healingは、インスタンスの障害を検知した際に代替となる新しいインスタンスを自動的に立ち上げる機能です。OpsWorksの各インスタンスではOpsWorks Agentと呼ばれるサービスが稼動しており、定期的にKeepaliveパケットを送信して

  • OpenStackのオーケストレーションサービス「Heat」を使ってみる - Tech-Sketch

    前回の記事 ではOpenStack IcehouseのAll-In-One環境を構築しました。今回は、OpenStackのオーケストレーションサービスである「Heat」を使って、OpenStack上にWordPressを構築してみます。 クラウドオーケストレーションとは クラウド上のシステムを効率的に運用管理する方法として、クラウドオーケストレーションが注目されています。クラウドオーケストレーションとは、クラウド上のリソース配置やシステム構成を定義し、システムの構築・運用を自動化する仕組みです。AWSでは CloudFormation 、OpenStackでは Heat といったオーケストレーションサービスが提供されており、国内でもSCSKの PrimeCloud Controller や弊社(TIS)の CloudConductor といったオーケストレーションソフトウェアがOSSとして

    OpenStackのオーケストレーションサービス「Heat」を使ってみる - Tech-Sketch
  • AWS OpsWorksを使ってみた (概要編) - Tech-Sketch

    今回は2013年2月にβ版が公開されたAWSの新たなアプリケーション管理サービスであるAWS OpsWorksについて、その概要を紹介します。 AWS OpsWorksとは AWS OpsWorks(以下OpsWorks)とは、環境構築とアプリケーションのデプロイの自動化・統合管理を実現するサービスです。OpsWorksを用いることで、柔軟に構成変更が可能な環境一式をAWS内に自動構築することができ、アプリケーションのデプロイもコンソールから指示するだけで自動的に行うことが出来ます。 AWSは以前からアプリケーション管理サービスに分類しているサービスをいくつか提供しています。AWS Elastic Beanstalkでは、アプリケーションを動かす環境一式を選択肢から選ぶだけで環境が自動構築され、アプリケーションコードだけを用意すればすぐにWebサービスを稼動させることができます。AWS C

  • RabbitMQを使ってみる〜クラスタリング編〜 | Tech-Sketch

    eXcale開発チームの泉谷(@syguer)です。 今回は前回に続き、Message QueuingのためのミドルウェアであるRabbitMQでクラスタリングする方法について紹介します。 ※記事ではバージョン3.x以降のクラスタ設定について紹介しています。2.x系とはコマンドや設定方法が異なる場合があります。 RabbitMQのクラスタリング RabbitMQではすべてのノードが起動しているactive/active構成でクラスタリングを行います。 クラスタリングは以下の2つの要素で実現されています。 1.クラスタ 複数のRabbitMQノードに互いを認識させてクラスタを構成します。 クラスタのノード同士は、5672(TCP)ポートをつかってお互いに死活を監視します。 監視の間隔はデフォルトで60秒となっています。 また、クラスタを構成するとノード間でキューを共有します。

    RabbitMQを使ってみる〜クラスタリング編〜 | Tech-Sketch
  • OpenCVによる画像認識アプリケーション with Google Glass(2) | Tech-Sketch

    前回はOpenCVを利用したGlassでのカメラプレビューの表示に関して説明しました。第二回はORBアルゴリズムによる画像認識の実装について記します。ORB(Oriented FAST and Rotated BRIEF)はパテントフリーで高速な特徴量記述のアルゴリズムとして知られています。FAST(Features from Accelerated Segment Test)とBRIEF(Binary Robust Independent Elementary Features) というコーナー検出と特徴量記述のアルゴリズムを基礎に開発されたものです。 画像認識の基礎 実装に入る前に画像認識について説明したいと思います。画像処理では「特徴」という言葉は特別な意味を持ちます。特徴とは、画像データの中の特徴的な部分(コーナー、物体の境界線、矩形の領域、動画のフレーム間の差異など)のことで、ア

    OpenCVによる画像認識アプリケーション with Google Glass(2) | Tech-Sketch
  • Terraformを使う!「Terraformからherokuアプリを操作する際のハマりどころ」 - Tech-Sketch

    前回はTerraformからのherokuアプリ操作をお知らせしました。 第四回はTerraformを利用してherokuアプリを操作する際にハマった所について書いて行きたいと思います。 Terraformの基的な操作は 第一回の記事 を Terraformからherokuアプリの操作は 第三回の記事 を ご参照ください。 ハマりどころ①「Herokuアプリの作成とHerokuドメインの作成を同時に行うとエラーになる」 Terraformの設定ファイル(.tf)にHerokuアプリとHerokuドメインを同時に記載する場合、 Terraformに順守した書き方をしないとエラーが発生し、「Herokuアプリは作成されるがドメインが割り当てられていない」状態が発生してしまいます。 このエラーはTerraformの計画時には検出することが困難です。 実際にどのような状況になるか試して

    Terraformを使う!「Terraformからherokuアプリを操作する際のハマりどころ」 - Tech-Sketch
  • PostgreSQLのログをFluentdで収集する - Tech-Sketch

    PostgreSQLの運用管理にログの情報は不可欠ですが、PostgreSQLが出力するログは直接取り扱うのに適した形式とは言えません。ここではFluentdを使って運用管理に活用しやすい形にPostgreSQLのログを加工する方法を紹介します。 PostgreSQLの運用管理とログ データベースの運用管理には 死活監視、リソース監視 性能分析、チューニング バックアップ、リストア といったものが考えられますが、現状を把握しなければ何も対策できないので、まずは必要な監視を正しく行うことが重要です。PostgreSQLで監視に使える機能には稼働統計情報とログがありますが、今回はログに注目してみます。 PostgreSQLのログからわかること PostgreSQLが出力するログからは以下の様なことがわかります。 何らかの異常(エラー)が発生したこと 処理されたSQL チェックポイント、自動VA

    PostgreSQLのログをFluentdで収集する - Tech-Sketch
  • マルチコア時代のプログラマは関数脳になろう〜Java8のススメ〜 - Tech-Sketch

    CPUのクロックアップに限界が訪れ、マルチコア化することで処理性能向上を目指す時代になりました。これからのプログラマには、マルチコアで処理性能が向上するプログラム=マルチスレッドで並列処理が可能なプログラムを書く能力が必要になります。今回は「関数型」でプログラムを書くことによって、いとも簡単に並列化ができることを実例を元に解説します。 関数型プログラミングと並列処理 「関数型でプログラムを書くことで簡単に並列化できる」と書きましたが、そもそもここで言う「関数」とは何なのでしょうか? 関数型プログラミングの特徴 関数型プログラミングの「関数」を理解するためには、数学における「関数」を想像するとわかりやすいでしょう。 例えば三角関数を用いた y=cos(x) という式を考えてみます。この式に入力値 x=0 を与えた場合、いつでも必ず結果は y=1 になります。x= π/3 の場合は y =

  • 1