ブックマーク / dev.classmethod.jp (24)

  • [新機能]Webサーバでの実装不要!ALBだけでリダイレクト出来るようになりました! | DevelopersIO

    今回は ELB の新機能のご紹介です。 Elastic Load Balancing で Application Load Balancer のリダイレクトおよび固定レスポンスのサポートを発表 これまでリダイレクトは、Web サーバー側で実装する必要がありました。代表的な例としては、昨今、Web サイトのセキュアな通信、検索ランキングの向上を目的とした、HTTP → HTTPS のリダイレクトは多くのWebサーバーで実装されていると思います。ALB を経由した場合、リダイレクトループを回避するために X-Forwarded-Proto ヘッダー を利用したリダイレクトループ回避の実装など、ちょっとした工夫が必要でした。 今回のアップデートによって、これらのリダイレクトを ALB 側で実装できるようになったということです!これは嬉しいですね! なお、同時に発表された固定レスポンスの新機能につ

    [新機能]Webサーバでの実装不要!ALBだけでリダイレクト出来るようになりました! | DevelopersIO
    kent-where-the-light-is
    kent-where-the-light-is 2019/04/10
    “リダイレクトは、必要に応じて一時的(HTTP 302)または永続的(HTTP 301)のいずれかを設定できます。”
  • 書評「入門 監視」雰囲気で監視をやっているすべての人にオススメ | DevelopersIO

    監視という一種マニアックな領域を真正面から解説した貴重なです。監視で悩む人のみならずシステム開発に携わるすべての人にオススメ。 「全然わからない。俺たちは雰囲気で監視をやっている」 自分はAWS事業コンサルティング部所属ということもあって、いろんなお客様にAWSインフラのコンサルティングしてます。最初のインフラ構成設計時に監視の話をすることも非常に多いんですが、 「どうしましょう。CloudWatchでいけますかね?」 「MackerelとかDatadogとかもありますが、どうしましょ。マネージドとの違いは〜」 「とりあえず、ディスク使用率80%でしきい値設定しておきましょうか。みんなそうしてますよ」 とか言っていた昔の自分に見せつけたい、それが今回紹介する「入門 監視」。 監視設計の原則がよくわかんない メトリクスのしきい値決めるところから監視を考えてしまいがち よく考えずに、い

    書評「入門 監視」雰囲気で監視をやっているすべての人にオススメ | DevelopersIO
    kent-where-the-light-is
    kent-where-the-light-is 2019/01/21
    “自分がもっとも大事だと思うのがこの章で、そういった「アラート疲れ」「オオカミ少年アラート」に対して、「良いアラート」を設計するための具体的な手法が解説されています。”
  • 「Immutable Infrastructure」 by 伊藤 直也氏 #jawsdays – JAWS DAYS 2014 参加レポート Vol.02 | DevelopersIO

    JAWS DAYS 2014 参加レポート、始まりますよ!Immutable Infrastructureトラックの一発目、伊藤 直也氏のセッション「Immutable Infrastructure」のレポートです! 「Immutable Infrastructure」 by 伊藤 直也氏 Track2会場でのセッションだったのですが、人気があり過ぎて入りきらず、急遽中央のビッグセッション会場を使うことに。セッションに限らず、今回はImmutable Infrastructure関連のセッションはどれも満員御礼で立ち見が出る状態でした。それだけ注目度の高いムーブメントだということでしょう。 当日お話頂いたスライドはこちらです。 Immutable Infrastructureとは そもそも何故Immutable Infrastructureという考え方が出てきたのか?という所からセッショ

    「Immutable Infrastructure」 by 伊藤 直也氏 #jawsdays – JAWS DAYS 2014 参加レポート Vol.02 | DevelopersIO
    kent-where-the-light-is
    kent-where-the-light-is 2018/10/01
    “サーバは様々なメンテナンスやチューニング、または障害対応などで日々状態が変わりますが、それを管理するのは用意ではありません。管理手法として手順書を整備したり、自動化したり、Chefなどの構成管理ツールを
  • Elasticsearch 6 を利用する前に把握しておいた方がよさそうなこと | DevelopersIO

    ども、藤です。 現地時間 8/31 に Elastic Stack の次期メジャーバージョンの 6.0.0 Beta 2 がリリースされました。 Elastic Stack 6.0.0-beta2リリース 過去の Elasticsearch はメジャーバージョンバージョンアップ時に機能が変更となったり、非推奨になったり、廃止になったり、大きな変化を行ってきました。今回の 5系 → 6系に際しても大きな変化があるはずです。ということで Elasticsearch 6系の Breaking Changes に目を通してみました。今回は私が気になった項目をご紹介します。利用方法によって影響する項目は異なるので 6系をご利用される方は一通り目を通すことを推奨します。 Breaking Changes Breaking Changes バージョン 2系以前に作成されたインデックスは読み取れない E

    Elasticsearch 6 を利用する前に把握しておいた方がよさそうなこと | DevelopersIO
    kent-where-the-light-is
    kent-where-the-light-is 2018/08/14
    “Elasticsearch のロードマップではタイプ自体を削除する方向で進んでいます。イ”
  • Goオフィシャルチーム作成の依存関係管理ツール dep を試してみた | DevelopersIO

    dep とは Goでは依存関係管理ツールとして、glideなどが有名ですが、depはGoオフィシャルチームによって作成中の依存関係管理ツールです。将来的に go dep のように go コマンドのサブコマンドとして取り込まれる可能性も期待できるツールです。 長い間 Pre-alpha となっていましたが、いつの間にか dep is safe for production useとなってましたので試してみたいと思います。 インストール # go get でインストール go get -u github.com/golang/dep/cmd/dep # Macの場合brewも用意されています brew install dep 使い方 # 最初の一回のみ行います。現在の構成を解析し`Gopkg.toml`、`Gopkg.lock`が生成されます。 dep init # パッケージをvendorデ

    Goオフィシャルチーム作成の依存関係管理ツール dep を試してみた | DevelopersIO
  • Spark SQLとDataFrame API入門 | Hadoop Advent Calendar 2016 #16 | DevelopersIO

    こんにちは、小澤です。 この記事はHadoop Advent Calendar 16日目のものとなります。 1人でHadoopの話をする Advent Calendar 2016 - Qiita Hadoop Advent Calendar 2016 | シリーズ | Developers.IO 前回はSparkでWord Countの実装して動かす方法を紹介しました。 今回はSpark SQLとDataFrame APIについて書かせていただきます。 Spark SQLとDataFrame API SparkはRDDに対して何かしらの処理を行った新しいRDDの生成を繰り返していくことで全体の処理フローを定義するものでした。 これに対してDataFrameというものはデータをテーブル構造で定義して、それに対する操作を記述していくものになります。 これはRやPythonなどデータ分析によく使

    Spark SQLとDataFrame API入門 | Hadoop Advent Calendar 2016 #16 | DevelopersIO
    kent-where-the-light-is
    kent-where-the-light-is 2018/04/28
    “SparkはRDDに対して何かしらの処理を行った新しいRDDの生成を繰り返していくことで全体の処理フローを定義するものでした。 これに対してDataFrameというものはデータをテーブル構造で定義して、それに対する操作を記述し
  • Amazon Linuxの特徴とCentOSとの違い まとめ | DevelopersIO

    はじめに Amazon EC2でLinuxサーバを新規構築する場合は弊社ではAmazon Linuxをお勧めすることが多いです。その理由としてはAWSのツールが最初から入っていてAmazonのサポートも受けやすいからです。Amazon Linuxを使ったことがない方はどんなディストリビューションなのか特徴を知りたいのではないかと思いますので、CentOSとの違いも含めまとめてみました。以下はAWS公式サイトのページになります。 Amazon Linux AMI Amazon Linuxの特徴 Amazon LinuxはRedHat系のディストリビューションになります。CentOSやRHELを使ったことがある方なら同じように使えるのではないかと思います。CentOSとの比較をしながらAmazon Linuxの特徴を見ていきたいと思います。CentOSはAWS MarketPlaceにあるCe

    Amazon Linuxの特徴とCentOSとの違い まとめ | DevelopersIO
    kent-where-the-light-is
    kent-where-the-light-is 2017/02/14
    “Amazon LinuxはCentOS6と近い構成になっておりCentOS7のsystemd、firewalldのパッケージはAmazon Linuxのyumリポジトリにはありません。これらのパッケージが使いたい場合はCentOSを使うことになります。firewalldは公式のAMIから起動した場
  • elasticsearch-rails gemを使ってみた | DevelopersIO

    丹内です。 掲題のとおり、railsで簡単にelasticsearchを使えるelasticsearch-railsを使ってみました。 ディレクトリ構成 $ tree -L 1 . ├── docker-compose.yml ├── rails │   ├── Dockerfile │   ├── Gemfile │   ├── Gemfile.lock │   ├── Procfile │   ├── Rakefile │   ├── app │   ├── assets │   ├── bin │   ├── config │   ├── config.ru │   ├── db │   ├── lib │   ├── log │   ├── public │   ├── tmp │   └── vendor └── elasticsearch └── Dockerfile 環境情報

    elasticsearch-rails gemを使ってみた | DevelopersIO
    kent-where-the-light-is
    kent-where-the-light-is 2016/12/14
    “elasticsearch-rails gemはActiveRecordを拡張する形で動きます。 要約すると、Elasticsearch::ModelをincludeしたActiveRecord::Base継承モデルにはimportメソッドが使えるようになり、それを使うことでElasticsearchにドキュメントを作成すること
  • 第5回 Elasticsearch 入門 Elasticsearch の使いどころ | DevelopersIO

    今回は少し、思考を変えてシステムを開発する際にどんなところで Elasticsearch を使えるのか?という視点で説明したいと思います。 最近のシステムの特徴 最近のシステムは、ビッグデータの重要性の認知、ソーシャルデータの活用など、1つのシステムでも様々な種類のデータを管理し活用するようになってきました。また、クラウドサービスやオープンソースが当たり前に使われるようになり、データを管理し活用するためのシステムやサービスも様々な選択肢があります。 そのため、最近のシステムではデータの利用目的によってデータストアを使い分けることが多くあります。 例えば、商品情報など構造化されたデータは、ビジネス要件を満たすためにデータを矛盾なく永続化する必要があるため、MySQL などのリレーショナル・データベースに保存されます。 また、更新や参照トラフィックが多くデータ数も多いゲームやモバイルアプリケー

    第5回 Elasticsearch 入門 Elasticsearch の使いどころ | DevelopersIO
    kent-where-the-light-is
    kent-where-the-light-is 2016/12/12
    “例えば、商品情報など構造化されたデータは、ビジネス要件を満たすためにデータを矛盾なく永続化する必要があるため、MySQL などのリレーショナル・データベースに保存されます。 また、更新や参照トラフィックが多
  • [レポート]NoSQLの必要性と主要プロダクト比較 #dbts2015 #be_crazy_about_db_tech | DevelopersIO

    超おはようございます。最近めっきり暑くなってきましたね。城内です。 今回は、db tech showcase Tokyo 2015に参加してきましたので、セッションレポートを書きたいと思います。 セッション情報 セッション名:NoSQLの必要性と主要プロダクト比較 スピーカー:株式会社野村総合研究所 OpenStandiaチーム 渡部 徹太郎氏 スライド オープンソース サポート 保守 サービス(OSS サポート 保守 サービス)| OpenStandia™(オープンスタンディア) セッション内容 データを取り巻く環境の変化 データのボリュームが肥大化 →GoogleやFacebookの保持データがペタバイト級に データ処理の応答スピードが重要に →Webサイトのアクセス数が秒間10万アクセス データの多様性 →非構造データが増えてきているため、RDBMSでは格納が困難 RDBMSの現状

    [レポート]NoSQLの必要性と主要プロダクト比較 #dbts2015 #be_crazy_about_db_tech | DevelopersIO
  • Elasticsearch Service と CloudSearch どっちを選べば良いの? | DevelopersIO

    こんにちは、木戸です。 AWS の検索エンジンをベースとしたサービスには、Amazon Elasticsearch Service と Amazon CloudSearch の2つがあります。今回はこの二つのサービスについての用途の違いについてまとめたいと思います(機能比較ではないです)。サービスを選定する際の参考になれば幸いです。 ※ Elasticsearch Service は Kibaba も含め分析用途もありますが、今回は検索にフォーカスしてます。 それではさっそく、 CloudSearch も Elasticsearch も Lucene ベース CloudSearch は現在 Solr ベースとなっており、その検索エンジンのコアには Lucene を使用している。また、Elasticsearch も Lucene をバックエンドに使用しているため、ベースのテクノロジーとしては

    Elasticsearch Service と CloudSearch どっちを選べば良いの? | DevelopersIO
    kent-where-the-light-is
    kent-where-the-light-is 2016/11/18
    “CloudSearch も Elasticsearch も Lucene ベース CloudSearch は現在 Solr ベースとなっており、その検索エンジンのコアには Lucene を使用している。また、Elasticsearch も Lucene をバックエンドに使用しているため、ベースのテクノロジーと
  • [改訂版]Google Cloud Messaging (GCM) でプッシュ配信する[Android] | DevelopersIO

    Google Cloud Messagingの使い方が少々変わっていたらしい 以前弊社の記事で、 Google Cloud Messaging(以下GCM)のセットアップから使い方について紹介しました。 ※GCMとは、AndroidでPush通知を利用するための仕組みです 最近仕事でGCMを使う機会があり、記事を参考にセットアップしようとしたのですが、 どうやら最近はセットアップ方法が前と少し変わっているみたいだったので、ここにあるサンプルと以前の記事を参考にして、 最近のGCMセットアップ&実装をあらためてやってみます。 環境構築方法 今回使用した動作環境は以下のとおりです。 OS : MacOS X 10.9 Eclipse : 4.2 ADT Pluginはインストール済み、GCMを実装するサンプルのAndroidプロジェクトは作成済みとします。 サンプルプログラムの作成 1.API

    [改訂版]Google Cloud Messaging (GCM) でプッシュ配信する[Android] | DevelopersIO
    kent-where-the-light-is
    kent-where-the-light-is 2016/11/04
    “※GCMとは、AndroidでPush通知を利用するための仕組みです 最近仕事でGCMを使う機会があり、記事を参考にセットアップしようとしたのですが、 どうやら最近はセットアップ方法が前と少し変わっているみたいだったので、
  • [Ruby on Rails] Sidekiq で非同期処理を実装する | DevelopersIO

    Sidekiq とは Sidekiq とは Rails アプリで非同期処理を行うためのライブラリです。複数のジョブを同時に実行することができ、メモリを節約することができます。 ということで今回は Sidekiq の基と使いかたをざっくりと学んでいきたいと思います。 Sidekiq を使ってみる インストール まず前提条件として Redis が必要なのでインストールしましょう。Redis はジョブの管理に使われています。 brew install redis インストールは Gemfile に追加して bundle install するだけです! vim Gemfile # gem 'sidekiq' を追加 bundle install Worker を実装する 非同期処理を行うクラスは Sidekiq::Worker を include してつくります。あとは perform メソッド

    [Ruby on Rails] Sidekiq で非同期処理を実装する | DevelopersIO
    kent-where-the-light-is
    kent-where-the-light-is 2016/10/21
    “以下のようにスケジュールしたタイミングで Worker を実行させることもできます。 1HardWorker.perform_in(3.hours, 'Classmethod', 1) これは3時間後に実行する設定です。perform_in メソッドで使っていた引数は第二引数以降に設定します
  • EC2 (Amazon Linux) に Ruby on Rails + Passenger + Apache 環境を構築する | DevelopersIO

    はじめに EC2 (Amazon Linux AMI) に Rails アプリを Passenger + Apache で公開する、というお仕事をしたので環境構築方法をメモしておきたいと思います。Rails アプリを Apache を使って公開したいときの参考にしていただければと思います! Ruby のインストール はじめに Ruby をインストールします。まず Ruby の実行環境に必要なパッケージをインストールします。 sudo yum install \ git make gcc-c++ patch \ libyaml-devel libffi-devel libicu-devel \ zlib-devel readline-devel \ mysql mysql-devel sqlite sqlite-devel 次に rbenv を使って Ruby をインストールします。まずは

    EC2 (Amazon Linux) に Ruby on Rails + Passenger + Apache 環境を構築する | DevelopersIO
  • Amazon LinuxにRubyの実行環境を構築してみる | DevelopersIO

    はじめまして やま と申します。日からブログを書いていきますのでみなさまよろしくお願いします。 さて、今日は Amazon Linux(ami-be1c848e)にRubyの実行環境を構築する手順をご紹介します。 Amazon Linux(ami-be1c848e)では、デフォルトで以下のバージョンのRubyの実行環境が用意されています。 $ ruby -v ruby 1.8.7 (2013-06-27 patchlevel 374) [x86_64-linux] しかし、バージョンがやや古く、以下のとおりRubyGemsの環境がありません $ gem -v -bash: gem: command not found そこで今回は、このAmazon Linuxの環境に複数バージョンのRubyを管理・実行するためのツール "rvenv" をインストールしてRubyが実行できるように環境構築

    Amazon LinuxにRubyの実行環境を構築してみる | DevelopersIO
  • Facebook APIを使って、コマンドラインから JSON形式のデータを取得してみる | DevelopersIO

    よく訓練されたアップル信者、都元です。前回は認証の要らない公開APIからJSON形式のデータを取得してみました。今日は、Facebook APIからデータを取り出してみましょう。 Facebookにおける認証(OAuth 2.0) Facebook APIでは、データを取り出すにあたり認証が必要です。APIに対する認証は、OAuth 2.0という仕組みが一般的で、Facebook APIもこの仕組を採用しています。 通常「認証」と言うと、ユーザ名とパスワードを使ったもの(パスワード認証)を思い浮かべますね。OAuth 2.0においても、この認証を「ユーザ認証(ユーザは誰なのかを確認する作業)」のために用います。さらにOAuth 2.0では、これに加えて「クライアント認証(クライアントは何なのかを確認する作業)」が必要で、そのためにいくつか準備が必要になります。 クライアントというのは、ユー

    Facebook APIを使って、コマンドラインから JSON形式のデータを取得してみる | DevelopersIO
  • [Ruby on Rails]sorceryによる認証 – (5)APIでの認証 #1 実装の概要 | DevelopersIO

    はじめに sorceryを使用してAPIでの認証を試してみました。メールアドレス、パスワードでユーザを認証する点については公式チュートリアルや以前の記事と同様ですが、Webアプリとは異なる点も幾つかあります。何回かに分けて、その辺りを中心に書いて行きたいと思います。 今回の設計思想 通常のWebアプリとは異なり、以下のような設計思想でAPIを実装しました。 サーバはJSONを返却するものとする。合わせてリクエストURLは「〜.json」とする。 ログイン時にAccessTokenを生成し、クライアントに返却する。またAccessTokenの有効期限も設定する。 ログイン後、クライアントはリクエスト時にAccessTokenをヘッダーに付ける。サーバはAccessTokenよりユーザ情報の各チェックを行う(ログイン済みか、有効期限内か)。 ログアウトはAccessTokenを無効にすることで

    [Ruby on Rails]sorceryによる認証 – (5)APIでの認証 #1 実装の概要 | DevelopersIO
  • [Rails]既存DBを操作するAPIを作成する | DevelopersIO

    はじめに Railsの勉強もかねてRESTfulなAPIを作ろうとしてみました。 そういった際に、0からテーブル構造を考えて、 モデルを作って・・・と言った教科書通りのやり方をやっていくといった方法があります。 今回は、Railsを用いてRESTfulなAPIを作る事を目標の為、 WordPressを立ち上げて、テーブルの設計やテーブルに対する操作はそれを参考にする事にしました。 そのため、今回の記事の内容は以下の通りになります。 WordPressの環境を構築する。 上記で構築したテーブルをRailsから接続し、APIを作成していく。 WordPressの環境を構築する 今回はWordPressが利用するテーブルを作成する事が目標のため、 Webサーバーも適当に立ててしまいます。 PHP 5.4.0からビルドインサーバーがあるため、 それを用いる事で容易にPHPが動くWebサーバーが立ち

    [Rails]既存DBを操作するAPIを作成する | DevelopersIO
  • [Rails] STI(Single Table Inheritance)でコントローラも一つに纏める | DevelopersIO

    Rails で STI(Single Table Inheritance)を使った時の、コントローラの実装をどうするか?という事について書いてみたいと思います。 STI(単一テーブル継承)とは オブジェクト指向の基概念として、あるクラスを元にサブクラスを定義する継承があります。 この継承は、プログラミング言語ですとと予め機能が提供されていることが多いですが、 RDB ですとテーブル構成によって表現する場合があります。 *1 今回使う STI は、一つのテーブル内に継承関係にあるクラスのカラムを全て持ってしまう方法です。 例として Player クラスを継承した Footballer クラスと Cricketer クラスがあるとします。 親クラスに共通のプロパティ、子クラスがそれぞれのプロパティを持っていますが、これを STI で表現すると以下になります。 テーブルのレコードがどちらの型に

    [Rails] STI(Single Table Inheritance)でコントローラも一つに纏める | DevelopersIO
  • respond_to について調べてみた | DevelopersIO

    こんにちは。クラスメソッドの稲毛です。 respond_to は、Ruby on Rails のアクションメソッド内でリクエストフォーマット(html, json, etc...)に応じた処理の記述で見かけます。 respond_to do |format| format.html { ... } format.json { ... } end どのような仕組みで動作しているのか気になっていたので少し調べてみました。 処理の流れ おおまかな処理の流れは下記のようになっていました。 respond_to メソッドの呼び出し Collector オブジェクトの生成 respond_to 引数ブロックの評価 Mime タイプ毎の処理を収集 Collector から response の取得 response の実行 respond_to メソッドの呼び出し 省略されている丸括弧を付与し簡略化する

    respond_to について調べてみた | DevelopersIO