タグ

2014年1月21日のブックマーク (22件)

  • Sinatraのススメ

    Sinatraのススメ 1. Sinatra for Yochiyochi.rb members Sinatra のススメ おだい TwitterID: @odailly_jp 2. 1 3. Sinatra がやること 4. どのHTTPメソッドを使って どのパスに対してリクエストが送られてきたときに どんな手続きを行って レスポンスを組み立てるか 5. # yochi_app.rb require 'sinatra' ! get '/yochiyochi' do "Hello, Ruby community." end 6. # yochi_app.rb require 'sinatra' ! get '/yochiyochi' do "Hello, Ruby community." end HTTP Method 7. # yochi_app.rb require 'sinatra'

    Sinatraのススメ
  • 大規模データについて第6回 ~Redshift編~ - Qiita

    大規模データについて最後にRedshiftについて書きます。 使い始めたばかりで実践的な話は少ないですが、現場視点の使用感をまとめました。 Redshiftとは AWSが提供するデータウェアハウスです。 いわゆるフルマネージドサービス(RDS、DynamoDBと同様)ですぐに使い始められます。 操作項目はRDSに近いです。 詳しくは、コチラをご覧下さい。 特徴をまとめると 使い勝手は、他のAWSサービス同様に必要に応じて簡単に拡張できます、 データ抽出のためのSQLは、Postgreペースのカスタム版です。 抽出のための機能は揃っているので問題なく使えます。 詳しくは、コチラ をご覧ください。 運用の手間は、バッチ処理の様な比較的時間の余裕がある処理で使う分には問題ないレベルだと思われます。 1時間/週のメンテナンス時間が必要なのでDBが止まっても問題ない(リカバリできる)処理でないと難し

    大規模データについて第6回 ~Redshift編~ - Qiita
  • Ruby on Rails の HTTP レスポンスのデフォルトヘッダー

    Ruby on Rails Security Guideによると、 Rails アプリケーションの HTTP レスポンスヘッダーには次のヘッダーが含まれているとのことである。actionpack/lib/action_dispatch/railtie.rb のコードを見ると確かにそうなっている。 config.action_dispatch.default_headers = { 'X-Frame-Options' => 'SAMEORIGIN', 'X-XSS-Protection' => '1; mode=block', 'X-Content-Type-Options' => 'nosniff' } X-Frame-Options ‘SAMEORIGIN’ は同じドメインにかぎり、フレーミングを許可することを意味する。X-XSS-Protection '1; mode=block’ は

    Ruby on Rails の HTTP レスポンスのデフォルトヘッダー
  • HTTP/2.0と今後のWebアプリケーションの開発・運用について (#cross2014) - ゆううきブログ

    追記 @jovi0608 さんに非常に丁寧にコメントをいただきました。 https://gist.github.com/shigeki/ba7941d114344ddd4b01 文 CROSS 2014の次世代Webセッションに参加した。 いろいろ刺激を受けたので、特に、Webアプリケーションを開発・運用する上で、今後どう影響してくるだろうみたいな視点で整理したことを書いてみた。 次世代Webセッションは去年もUSTで見てて、めっちゃ面白かったので、今年は生で聞きに来た。 去年のセッションの議論は、 naoyaさんの記事が雰囲気がわかりやすかった。 Webはインターネットになった - naoyaのはてなダイアリー 去年、SPDYの内容とか追ってて、HTTP/1.1と何が違うのかみたいなことを調べて書いたりしてた。 SPDYで複数のTCPコネクションをひとつにまとめるとはどういうことか -

    HTTP/2.0と今後のWebアプリケーションの開発・運用について (#cross2014) - ゆううきブログ
  • npmとbrowserifyを使ったクライアントサイドのウェブアプリ開発

    YoutubeとVimeoの検索結果のRSSをまとめてOPMLで取得できるサイトを作った | Web scratch で公開した Tech Video RSS Searcher はbrowserifyを使って作ったので、その辺の開発フローについての記事です。 browserify って何? browserify はNode.jsスタイルで書かれたモジュール(CommonJS)を ブラウザで利用できるように変換するコマンドラインツール(Nodeモジュール)となっています。 又、node.jsのCore Modulesのshimが用意されていて、 npmで公開されているnode.js向けのモジュールも一緒に変換してブラウザで動かすことが出来るようになっています。(普通に require で読みこめば勝手に変換されます) 原理的に無理だったり全てのモジュールが動くわけじゃないですが、 その辺の互

    npmとbrowserifyを使ったクライアントサイドのウェブアプリ開発
  • reduce関数は結構有用っていうお話 - あと味

    JavaScriptに限った話ではないのですが、reduce関数を持つプログラミング言語がいくつかあります。 JavaScriptに関しては、一応、ECMAScript5の仕様に登場するようで、将来的にはどのブラウザでも使えるようになりそうな気配はあります。 Standard ECMA-262 また、MDCではreduceのアルゴリズムが掲載されているので、これを利用すれば現時点でもどのブラウザでもreduce関数を利用することができます。 reduce関数とは? MDCに掲載されている文章を引用します。 配列の(左から右へ) 2 つの値に対して同時に関数を適用し、単一の値にします。 JavaScriptのreduceは、配列のメソッドです。左ら右へとありますが、右から左へ関数を適用するreduceRightという関数もあります。*1 どういう時に使えるか 元となる配列があって、それを累積

    reduce関数は結構有用っていうお話 - あと味
  • Elasticsearchチュートリアル - 不可視点

    目的 検索用サーバーとして最近注目されているElasticsearchですが、ついに1.0 RC1がリリースされたそうです。 Googleトレンドを見ても、この分野で先行するApache Solrに迫る勢いを感じます。 そういうわけで私もElasticsearchについて興味を持って調べてみましたが情報がちょっと少ないですね… 「調べたけど断片的な情報しかない」 「公式doc英語だし、専門用語が多すぎてわからん」 「え、できること多すぎ。よくわからん。どれが重要?」 と言った感じで、最初ちょっと大変… そこで調べ始める人が、概観をつかむためのチュートリアルをつくろうと思います。 コマンドを全部実行する必要ありません。用語をおさえることで調べものが捗ることがひとつのゴールです。 自分の理解の整理も兼ねています。間違ってる箇所あったら教えて下さい。 part 1:ESを使ってレストラン検索を作

    Elasticsearchチュートリアル - 不可視点
  • 日本人が開発したJavaScriptライブラリ、エンジニア別国内利用率ランキング - ふろしき Blog

    エンジニアGitHubにソースコードを上げると、転職で有利になる!」なんて言われている時代ですが、当にそうなのでしょうか?多大な時間を割いて、ソースコードを管理し、マニュアルを作り、特設ページを作り、公開することに意味はあるのでしょうか? 昨年の11月、ふろしき.jsでは1,300の優秀と評価されたWebサイトを調査し、利用率の高いJSライブラリをランキング化しました。実はこの調査、一筋縄ではいかず、実際には1,800弱とデータサンプルとしてはそこそこな母数を確保し解析しています。 その調査の中で、わかったことがあります。 フロントエンドは、日エンジニアが個人で開発したようなOSSのJSライブラリが多く含まれ、重要な部品として活用されているのです。個人でも入り込める隙がある、そう思うと、フロントエンド界隈でGitHub上にソースコードを公開するモチベーションは、比較的高いのではな

    日本人が開発したJavaScriptライブラリ、エンジニア別国内利用率ランキング - ふろしき Blog
  • awc-cli でアカウントを切り替えて使うのと --filter オプションを便利に使おう - ようへいの日々精進XP

    はじめに 個人のアカウントとそれ以外のアカウントをどうやって使い分けようかと悩んでいたら... こちら に掲載されていた方法で試してみた また、--filter オプションを利用して出力結果をおお手軽に絞り込んでみる 参考 AWSの新しいCLI(1.0.x)ならマルチアカウントが捗る 【AWS発表】 新しいAWS コマンドラインインターフェース (CLI) が正式リリース AWS CLI アカウントの切り替えをやってみよー! 準備 試した環境は OS X Mavericks を使った。 以下のようにホームディレクトリ以下に .aws ディレクトリを作成する。 mkdir ~/.aws .aws/config にアカウント設定(鍵設定)を行う。 [default] aws_access_key_id=AKxxxxxxxxxxxxxxxxxx aws_secret_access_key=xxx

    awc-cli でアカウントを切り替えて使うのと --filter オプションを便利に使おう - ようへいの日々精進XP
  • docker + puppet + sensu で構築するセンス香る監視環境(1) - ようへいの日々精進XP

    はじめに docker と puppet を使って sensu の環境を構築してみた sensu についてざっくり理解する 構築では chef ではなく puppet で試してみる ベタなタイトルですいません(記事の中身はセンスありません) 参考 Sensu Documentation Sensu Intro Sensuを使って自由度の高い監視システムの構築を行う方法 監視ソフトをNagiosからSensuに切り替えて2ヶ月経ったのでまとめた Sensu 監視システムを Chef で制御 Getting Started With Sensu Using Puppet. For Real. sensu について sensu の詳細についてはこちらやこちらがとても参考になったので割愛させて頂く。以下は sensu のダッシュボード。 以下は自分が使ってみてセンスを感じたポイントと「?」なポイン

    docker + puppet + sensu で構築するセンス香る監視環境(1) - ようへいの日々精進XP
  • よく使う aws-cli 「私的」コマンドチートシートとか jq の使い方とか - ようへいの日々精進XP

    はじめに とりあえずメモ 参考 jq Manual 軽量JSONパーサー『jq』のドキュメント:『jq Manual』をざっくり日語訳してみました AWS CLI aws-cli チートシート インスタンスの情報を取得(1) インスンタンスへ ssh でアクセスするのに必要な情報を取得する。 aws ec2 describe-instances --filters Name=tag-value,Values="hogehoge*" |jq '.Reservations[].Instances[]|{InstanceId,PublicIpAddress,PrivateIpAddress,Tags}' インスタンスの情報を取得(2) ${instance_ID} の IP アドレスとアクセスに必要な ssh キーの情報を取得する。 aws ec2 describe-instances --f

    よく使う aws-cli 「私的」コマンドチートシートとか jq の使い方とか - ようへいの日々精進XP
  • docker + puppet + sensu で構築するセンス香る監視環境(2) - ようへいの日々精進XP

    はじめに 前回はざくっと sensu を使ってみたのでも少し掘り下げてみる 検証に作った Dockerfile 達もちょっと修正してみる 参考 Sensuを使って自由度の高い監視システムの構築を行う方法 Overview of Sensu Sensu Intro sensu のおさらい sensu ってなんすか? 以下、個人的な認識。 軽量でシンプルな監視システム ruby で実装されていて EventMachine が使われている rabbitmq と redis が利用されている クライアント自身が自分を監視して結果をサーバーの rabbitmq に送りつける クライアントの監視結果(OK = 0 / WARNING = 1 / Critical = 2)は Redis に LIST 型で記録される(されていた) 設定やログは全て JSON 形式で書かれている 行う処理として監視の C

    docker + puppet + sensu で構築するセンス香る監視環境(2) - ようへいの日々精進XP
  • elasticsearch クラスタを EC2 上に構築する - ようへいの日々精進XP

    はじめに elasticsearch クラスタを EC2 上に構築してみてクラスタ構築の手順について整理する 既に稼働しているクラスタにノードを追加する手順についても整理する 参考 ElasticSearch入門 Cluster機能を使う – AWSで始めるElasticSearch(2) elasticsearch on ec2 クラスタ構築の手順 ノード間でクラスタ名をあわせる elasticsearch は基的にノード間でクラスタ名を同じ名前にしておくと勝手にクラスタ構成を組んでくれる。 cluster.name: mycluster-test どうやって仲間を見つけるか? クラスタ内の仲間を見つける場合、elasticsearch.yml に以下のように書かれておりデフォルトでは Multicast を使って仲間を見つける。 Discovery infrastructure en

  • EC2 インスタンス上に Cassandra クラスタを構成する(2)〜 AZ をまたいだり cqlsh を試したり 〜 - ようへいの日々精進XP

    はじめに EC2 インスタンス上に Cassandra クラスタを構成したのは前回 今回は VPC 内の異なる AZ をまたいでクラスタを構成して可用性を高める*1 cqlsh を使って構成したクラスタに対してクエリを投げてみる 参考 Configuring firewall port access 構成 ざっくりとした構成は下記の通り。3 台の Cassandra ノードのうち一台が seed ノードとなり OpsCenter も合わせて稼働する。 後述の cqlsh も seed ノードでクエリを流すので seed ノード自体が SPOF になるのでは?というのが Cassandra 初心者、私川原ヨウヘイの疑問。 設定のポイント 実際に試してみて上記のようなシンプルな構成であれば、注意するべきなのはセキュリティゾーンの設定。もちろんポートの制限をかけなければ何も考えずに通信が出来てし

  • Unicorn+RailsアプリをDockerコンテナで起動する - Qiita

    Unicorn+Rails入門にでUnicorn+Railsなアプリ(yss44/unicorn_sample)を作って、起動させてみましたが、今度はそれをDockerコンテナの中で動かしてみたいと思います。そのために、Railsを動かすためにカスタマイズしたDockerイメージとUnicorn+Railsアプリを動かすコンテナを作ってみました。 さてさて、Dockerコンテナのご紹介 docker_rails_base こちらは sshd supervisord rbenv ruby-2.0.0p-353 nvm node.js v0.10.24 の入っているDockerコンテナ。Railsを動かすための実行環境を整えてあげているイメージです。こちらのイメージを継承して、実際のアプリケーションの配置を行なうためのイメージを作る戦略を取りました。 docker_rails_unicorn

    Unicorn+RailsアプリをDockerコンテナで起動する - Qiita
  • 大規模データについて第5回~EMR開発_運用編~ - Qiita

    はじめに 今回は 「EMR開発/運用編」になります。 EMRバッチを継続的に安定運用するためのコツについてまとめました。 EMR編の最後になります。 EMR運用のコツは、特性である 「必要なときに必要なだけ使う」 を生かすことだと思います。 これを徹底することで我々のEMR費用は当初の 約半額程度まで、持っていくことができました! EMRインスタンス起動について 先ず最初に、以下が我々のEMR起動オプションになります。 export EMR_CREATE_OPTION="--create --hadoop-version 1.0.3 --ami-version 2.3.6 \ --subnet ${EMR2_SUBNET_ID} \ --region ${EMR_INSTANCE_REGION} \ --num-instances ${EMR_INSTANCE_NUM_INSTANCES}

    大規模データについて第5回~EMR開発_運用編~ - Qiita
  • 僕の記事を見て魔法少女(Presto使い)になってよ - Qiita

    いいねつけてくれるのはありがたいのですが... この投稿から1年ぐらいたった頃から、あまりPresto触らなくなったので、内容的にかなり古いですよ。 最新の情報は、公式ドキュメント見たほうがBetterです。 この記事の更新してないんで。 この記事は、マイナー言語 Advent Calendar 2013 - Qiita [キータ] の24日目です。 ところで、 (,,゚Д゚)∩先生質問です。SQLってマイナー言語何ですか? 良い質問ですね! SQLのcalendarがなかったんです。 それにPrestoがまだそんなにはやってないからいいんです!! ところで、Prestoって何? 公式サイトはこちら presto Prestoは、あのFacebookが作った分散SQLエンジンです。 Hadoop MapReduceとHiveでデータを集計してたもののMapReduceはバッチ指向なので、リ

    僕の記事を見て魔法少女(Presto使い)になってよ - Qiita
  • [Amazon VPC] ハードウェアVPN接続を設定する | DevelopersIO

    はじめに 前回、[Amazon VPC] ハードウェアVPN接続についてまとめてみた | Developers.IOという投稿にて、ハードウェアVPN接続の概要について記述しました。 今回は、実際にVPCでハードウェアVPN接続を設定する手順についてまとめました。設定手段としてはAWSマネージメントコンソールとCloudFormationの2つです。 設定のステップ VPCでのハードウェアVPN接続の設定は、以下の4ステップで行います。 Virtual Private Gatewayを作成する Customer Gatewayを作成する VPN Connectionを作成する Route TableにPropagationを設定する Virtual Private GatewayVPC側のVPNコンセントレータを、Customer Gatewayはユーザ側のVPN機器の定義を、VPN C

    [Amazon VPC] ハードウェアVPN接続を設定する | DevelopersIO
  • [CloudWatch]グラフの確認方法と確認できるグラフ一覧(EC2/ELB/RDS) | DevelopersIO

    はじめに システムを管理し健全性を維持するためには、機器やサービスなどの稼働状況を確認する死活監視と共に、CPUやメモリ、ディスクなどの各リソースの使用状況をモニタリングして負荷を把握したり適切な増強を行う、リソース監視が欠かせません。 高機能な監視ソフトウェアでは死活監視や性能監視などと共にリソース監視の機能を有していますが、簡易なものであればAWSのサービスであるCloudWatchを使って代用することが出来ます。 そこで、AWSの代表的なサービスであるEC2・ELB・RDSについて、CloudWatchでどのようなリソースをグラフとして確認出来るのか、まとめてみました。 なお、AWSにおいてリソースとはEC2やELB、RDSなどのAWSクラウドリソースを指し、CPUやメモリなどに関する各種データを「時間単位でのデータ集合」に加工したものをメトリクスと言います。なのでAWS用語で言うと

    [CloudWatch]グラフの確認方法と確認できるグラフ一覧(EC2/ELB/RDS) | DevelopersIO
  • 【AWS】AutoScalingを使う際の注意点についてまとめてみました | DevelopersIO

    はじめに こんにちは植木和樹です。既存システムのAWS移行の仕事などをやっていると、移行時にAutoScaling構成にすべきかどうか?という検討をする機会があります。AutoScalingにしておくと高負荷や障害にも強いシステムが構成できるのですが、システム移行となると色々と既存構成を変更しなければならないことが多いです。 そこで今回はこれまで関わった案件でAutoScaling化する上で検討しなければならなかった点を、頭の中の整理を兼ねてまとめてみました。 AutoScalingとはなにか? 「Auto Scaling (仮想サーバーAmazon EC2 の処理能力の自動拡張・縮小機能)| アマゾン ウェブ サービス(AWS語)」では3つのユースケースが紹介されています。 Amazon EC2 群を自動的に縮小・拡張 規模を固定して Amazon EC2 群を管理 Elastic

    【AWS】AutoScalingを使う際の注意点についてまとめてみました | DevelopersIO
  • [sbt]DropwizardフレームワークをScalaで動かしてみる | DevelopersIO

    Scala + sbtでDropwizard ここではDropWizardというフレームワークをJavaで動かしてみましたが、Scalaで実装し、sbtでビルドすることもできます。 DropWizard + Scalaのサンプルがここにありますので、これを参考に動かしてみましょう。 環境構築方法 今回使用した動作環境は以下のとおりです。 OS : MacOS X 10.9 Java : 1.7.0_45 まだインストールしていなければ、sbtとgiter8をHomebrewでインストールします。 % brew install sbt giter8 sbtプロジェクト作成 最近はgiter8テンプレートはここで探すようです。 今回はシンプルなプロジェクトでいいので、「basic-scala-project」を指定してsbtプロジェクトのひな形を作成します。 下記コマンドを実行すると、プロジェ

    [sbt]DropwizardフレームワークをScalaで動かしてみる | DevelopersIO
  • AngularJSをはじめる前に#AngularJS入門その1 | DevelopersIO

    AngularJSをはじめよう ここにあるように、最近はWebアプリを作成する際にJavaScriptのフレームワークを使用するのが当たり前といっていいくらい、 さまざまなフレームワークが存在します。 弊社ブログでもember.jsの記事等、JavaScriptのいろいろなライブラリ・フレームワークを紹介していますが、 私が近頃AngularJSを使用する機会があり、とても使いやすかったので、改めてここで紹介しようと思います。 AngularJSとは もう一度「AngularJSとはなにか」という部分を簡単におさらいを。 AngularJSはGoogleとコミュニティより開発しているオープンソース(MIT)のJavaScript用MVWフレームワークです。 テンプレート言語としてHTMLを使用できたり、双方向データバインディングやDI(依存注入)が使用できたりと、 近年複雑化するWebアプ

    AngularJSをはじめる前に#AngularJS入門その1 | DevelopersIO