タグ

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

  • promiseによる非同期処理とbinding – Ember.js入門(21) | DevelopersIO

    渡辺です。 Ember.jsでは、サーバサイドからRESTful APIを利用してモデルの情報を取得する構成がスタンダードです。 カスタマイズすることで他の構成をとることも可能ですが、基的にはEmber.jsの作法に従った方がよいでしょう。 その方が開発効率も良く、はまりにくいですし、情報も多く集まります。 この辺りの空気感はRuby on Railsに通じるものがあると思います。 なお、「Ruby on Railsのクライアントサイド版」と言われることがありますが、それは大きな誤解です。 あくまでクライアントサイドのフレームワークであり、設計思想は全くことなります。 さて、今回はRESTful APIでモデルを取得した場合の挙動について解説します。 Routeで適切なモデルを取得するコードを定義すれば、テンプレート(View)で自然にレンダリングされるわけですが、サーバサイドプログラム

    promiseによる非同期処理とbinding – Ember.js入門(21) | DevelopersIO
  • 会社にAWSを導入する人は一読すべき「エンタープライズAWS導入ガイド」を読んでみた | DevelopersIO

    はじめに 4月にAPNパートナーの有志からエンタープライズAWS導入ガイド がリリースされました。日語です。 実は迂闊にもそのことを気づいたのが最近でした。というわけで今更ですが読んでみた感想を書いてゆきます。 結論から言いますと会社にAWSを導入したいと考えている方、AWSの提案書を書かないといけない方であれば「must read or die」です。読むべし、です。 書の最後に  「ユーザー企業によるエンタープライズシステムにおけるクラウドサービス導入の 一助となれば」とありますが、なります、なりすぎます。 エンタープライズAWS導入ガイド 以下、どんな点が参考になったか説明してゆきます。 まずは目次です。 1章 はじめに 2章 AWSサービス概要 3章 エンタープライズ構成例 4章 システム・運用要件 5章 移行 6章 調達 1から3章はわかりやすいのですが、この資料以

    会社にAWSを導入する人は一読すべき「エンタープライズAWS導入ガイド」を読んでみた | DevelopersIO
    you21979
    you21979 2014/07/02
    “予算管理や、契約的な部分でどういうところに気をつけるべきか?ということが記載されています。このような話は日本の会社特有です。書いてある内容実践的ですので是非読まれるとよいかとおもいます。”
  • node.jsのいろいろなモジュール18 – Domainでエラー処理をうまく扱う | DevelopersIO

    非同期処理中のエラー処理 node.js用の以下のコードは、ファイル読込中になんらかのエラーが発生した場合、期待したとおりに動くでしょうか? var fs = require('fs'); try { //ファイル読み込み処理 fs.readFile("something-file", "utf-8", function (err, data) { if (err) { //エラーがあったら例外をスロー throw err; } console.log(data); }); } catch (err) { //エラー処理を行う console.error(e); } catchブロックでreadFileのエラーをハンドリングしてほしいところですが、 非同期コールバック中のエラーを受け取れないので、期待した結果になりません。 では、非同期処理中に発生したエラーはどのようにハンドリングすればよ

    node.jsのいろいろなモジュール18 – Domainでエラー処理をうまく扱う | DevelopersIO
  • CoreOS on EC2でDockerコンテナをクラスタリングする | DevelopersIO

    はじめに ここ最近のDockerムーブメントの中で、キーワードとして良く取り上げられるようになったものの一つにCoreOSがあります。つい先日もGoogle Compute EngineがCoreOSを正式にサポートしたことが大きな話題となっていました。 CoreOSはLinuxディストリビューションの一つです。細かい説明については、外部サイトになりますがCoreOS 入門 - Qiitaという記事が非常に参考になりますのでご一読下さい。 ざっくり書くと、仮想化コンテナを大規模に運用することに特化したLinuxOSです。etcdという分散KVSとfleetという分散システムによるクラスタリング機能を標準的に持っています。 そこで今回は、Amazon EC2上でCoreOSを導入し、更にfleetを使ってDockerコンテナをクラスタリングして起動させる、ということをやってみました。 やった

    CoreOS on EC2でDockerコンテナをクラスタリングする | DevelopersIO
  • 新しいプログラミング言語 Swift | DevelopersIO

    Objective-Cに替わる新しいプログラミング言語Swiftの登場 WWDC2014で発表された新しいプログラミング言語Swiftでできることを紹介したいと思います。 今までとこれから Swift使うとこんなにコードが短くなるぜという例です。 今まで これから 確かにスマートですね。 言語ガイドをダウンロード iBookでガイドを読めますのでダウンロードしてみましょう。 変数の宣言 varは変数、letは定数 var myVar = 42 myVar = 50 let myConst = 42 コントロール if,switch,for-in,for,while,do-while let individualScores = [76, 43, 103, 87, 12] var teamScore = 0 for score in individualScores { if score >

    新しいプログラミング言語 Swift | DevelopersIO
    you21979
    you21979 2014/06/03
  • PHPアプリケーションのセッション管理にAWS ElastiCacheを使う | DevelopersIO

    こんにちは。望月です。 AWS上でシステムを構築する上で、「AWSのお作法に従う」のは印象以上に重要です。お作法に関しては色々とあるのですが、 *1その中でも一番大きいのは「サーバーは故障するものという前提で設計する」ことにあると思います。例えば、以下の様な点です。 WebサーバやAPサーバなどはロードバランサを介して冗長化し、単一障害点ではなくす 保管する必要のあるデータは全てS3に保管するか、EBSスナップショットを取得する等のバックアップを実施する DBはRDSをできるだけ利用することで、Multi-AZによる障害時自動フェイルオーバーによるサービス継続を実施する 上記1番目の「Web/APサーバの冗長化」ですが、オンプレミスからの移行の際にはこれへの対応が結構大変だったりします。例えば、アプリケーションからローカルのファイルを読み書きするような処理が入っている場合、そのファイルを両

    PHPアプリケーションのセッション管理にAWS ElastiCacheを使う | DevelopersIO
    you21979
    you21979 2014/05/16
  • CoffeeScript と TypeScript をそれぞれ実務案件で使ってみた感想 | DevelopersIO

    そんな訳で、CoffeeScript を触り始めて半年弱、TypeScript を触り始めて1ヶ月弱ほど経ちました。まだまだ日は浅いですが、いちおう両方とも実務案件にて使用したということで、ここらで双方に対する振り返りを簡単にしておくとします。 CoffeeScript について http://coffeescript.org/ 学習開始時期: 2014年1月頃 始めたきっかけ: Middleman や Ruby on Rails が標準サポートしているため、面倒な環境構築等をしなくて済んだから Ruby や Haml のようなテキスト量の少ない文法が好みだったから そんな訳でとっかかりとしての基礎学習期間はだいたい2〜3日くらいで、そこから既存のプロダクションコードを CoffeeScript に書き換えつつ実案件に取り入れていきました。 おおまかな特徴 要は JavaScript をよ

    CoffeeScript と TypeScript をそれぞれ実務案件で使ってみた感想 | DevelopersIO
    you21979
    you21979 2014/05/15
  • Amazon S3 の結果整合性と読み取り一貫性 | DevelopersIO

    2015/2/23、「書き込み後の読み込み」整合性について更新しました。 Amazon S3 の使いどころ 前回の記事では、Amazon S3 でホームページが作れるという記事を書きましたが、それならファイルのステータスを使ってトランザクション処理にも使えるのでは?と思う方が100人中2人ぐらいいらっしゃるのではないでしょうか。 答えから言いますと、Amazon S3 ではトランザクションの制御はできません。トランザクションを実現するためには、SimpleDBを使う必要があります。(正確には、SimpleDBであるモードに設定する) それでは、Amazon S3 はどのような考え方でインターネットストレージを実現しているのか解説します。 読み取り一貫性 Amazon S3 の特性を理解するために、読み取り一貫性についてご紹介します。読み取り一貫性は、データベースのトランザクション管理を行う

    Amazon S3 の結果整合性と読み取り一貫性 | DevelopersIO
    you21979
    you21979 2014/05/14
  • Dockerコンテナ管理ツールGearDを試してみた | DevelopersIO

    ども、大瀧です。 Dockerコンテナをデプロイするツールが欲しいという理由でAWS OpsWorksとの組み合わせを以前のエントリーで紹介しましたが、今回は別のアプローチでデプロイを行うGearDを試してみました。 GearDとは GearDは、Red Hat社が開発するDockerコンテナを管理するCLIツール兼エージェントです。 最近、ITニュースサイトのPublickeyで紹介された、Project Atomicのコンポーネントの1つです。Project Atomic自体はRHELベースの軽量Linuxディストリビューション(Atomic Host)を前提とするものですが、GearDは独立した造りになっており、Fedora 20およびRHEL 7-Beta(EPEL経由なのでサポートなし)で動作します。 ブログ記事 : GearD: The Intersection of PaaS

    Dockerコンテナ管理ツールGearDを試してみた | DevelopersIO
    you21979
    you21979 2014/04/21
  • ZabbixでAWS/CloudWatchの値を取得してみた | Developers.IO

    CloudWatchの値をZabbix側でも見られるようにしたので、その手順を共有します。 CloudWatchの値をZabbixで取りたい理由 Zabbixでは最初から非常に多くの項目を監視できるのですが、AWS等のクラウドを利用していると、必要だけど監視できない項目が出てきます。RDSやELB等のフルマネッジドサービスのリソース状況はもちろんのこと、EC2のCPU使用率といった一見Zabbixで監視できそうなリソースも、実は正確な値は取れていません。 一方、CloudWatchはEC2内部の情報、例えばロードアベレージやプロセスの監視はできません。また、データの保持期間が14日間なので古い情報は見られません。 そこで、CloudWatchの情報をZabbixに貯めるようにすれば、、両方を一元的に管理できるし、情報の保持期間も好きなように設定できるようになります。 Zabbixの外部チェ

    ZabbixでAWS/CloudWatchの値を取得してみた | Developers.IO
  • Amazon EC2でDoS/DDoS攻撃をブロックする – iptables – | DevelopersIO

    サーバーへの攻撃とは ファイアウォールで公開しているポートに対して攻撃を受けたかどうか、みなさんはどのように判断していますでしょうか?実際のところ、たまにログを目視チェックしていれば良い方だと思います。実際のところ、攻撃されたことにも気付かず。。。そこで、今回は、連続して攻撃を受け"そうに"なった場合に、アクセス自体をブロックする方法をご紹介します。 DoS/DDoS攻撃とは DoS(Denial of Service:サービス妨害)攻撃は、正常なサービスの運営を妨害する攻撃です。F5キーを押し続けて大量のリクエストをし続けてサーバーをパンクさせるとか、考えられる全てのパスワードをチャレンジする総当り攻撃などとても怖いです。また、単一のクライアントからの攻撃だけでなく、トロイの木馬で感染させられた大量の端末を用いて総攻撃を掛けるDDoS(Distributed Denial of Serv

    you21979
    you21979 2014/04/14
  • Node.js のログを Fluentd を使って MongoDB に集約する | DevelopersIO

    最近 Fluentd をプロジェクトで導入しようと考えています。 Fluentd は、あらゆるデータのログを json を使ってシンプルに転送、集約させることができるツールです。 クラウド環境やビッグデータを扱う上で、今後需要が高くなりそうです。 ソーシャルゲーム業界などではかなり実績があるみたいですね。 今回お試しとして、Node.js のエラーログを Fluentd を使って MongoDB に保存するサンプルを作ってみます。 こんな感じ。とてもシンプルです。。 Input Output +------------------------------------------------+ | | | Node.js --------> Fluentd --------> MongoDB | | | +-------------------------------------------

    Node.js のログを Fluentd を使って MongoDB に集約する | DevelopersIO
  • Amazon LinuxにFluentdをインストールしてS3とMongoDB連携する | Developers.IO

    あらゆるログを収集する 昨年あたりからfluentdという名前をよく耳にするようになりました。弊社での実際のプロジェクト活用が出てきています。そこで今回は備忘録としてセットアップからプラグインのインストール等の基的な手順を紹介したいと思います。 セットアップ Amazon Linuxにインストールするためにリポジトリを設定して簡単インストールします。 $ sudo vi /etc/yum.repos.d/td.repo [treasuredata] name=TreasureData baseurl=http://packages.treasure-data.com/redhat/$basearch gpgcheck=0 yumでインストールにて自動起動設定します。 $ sudo yum install td-agent -y $ sudo service td-agent start

    Amazon LinuxにFluentdをインストールしてS3とMongoDB連携する | Developers.IO
  • Norikra+FluentdでDoS攻撃をブロックする仕組みを作ってみた | Developers.IO

    Norikraとは Norikraとはリアルタイム集計プロダクトです。イベントストリームに対してSQLライクな言語で処理を書くことが出来ます。 例えば、ApacheのアクセスログをNorikraに流し込み、1分あたりのアクセス数やレスポンスタイムの最大値をリアルタイムに集計することが出来ます。 Norikraの利用例は作者であるtagomorisさんのブログで紹介があります。 今回は、Norikraを使ってDoS攻撃をブロックする仕組みを作ってみました。 DoS攻撃ブロックの仕組み アクセス元はApacheのアクセスログから取得し、ログの受け渡しにはFluentdを利用しました。 ブロックの手順は以下のようになります。 アクセスログをFluentdのin_tailプラグインで取得。 Fluentdのout_norikraプラグインで、アクセスログをNorikraに流し込み。 Norikra

    Norikra+FluentdでDoS攻撃をブロックする仕組みを作ってみた | Developers.IO
  • はじめてのDocker on EC2 | DevelopersIO

    はじめに JAWS DAYS2014でImmutable Infrastructureトラックが提供されたり、昨日Immutable Infrastructure Conference #1が開催されたり、ここ最近のテクノロジートレンドはImmutable Infrastructureに染まっている感じがあります。 僕自身も色々なBlogを読んだり自分で手を動かしてみたりと色々試行錯誤を繰り返しているのですが、僕がEC2上でDockerについてやってみたことを整理してみました。 Docker自体ここ数年でたくさんの人が試しているし、アウトプットも多いので、今更感は否めないのですが、これから試す人にとって少しでも参考になれば幸いです。 EC2上でのDockerのセットアップ 今回はCentOSをEC2にLaunchしました。使用したAMIは「CentOS 6 (x86_64) - with

    はじめてのDocker on EC2 | DevelopersIO
    you21979
    you21979 2014/03/27
  • Immutable Infrastructure Conference #1 に参加してきた #immutableinfra | DevelopersIO

    Immutable Infrastructure Conference #1 : ATND 2014/03/25 Immutable Infrastructure Conference #1 #immutableinfra - Togetterまとめ 最近は最早バズワード化した感も充分ある『Immutable Infrastructure』。この長〜いフレーズを発音する際に途中発音を噛む人が後を絶たない今日この頃、皆様いかがお過ごしでしょうか。(発音に悩んでいる、何とか噛まないようにしたい!という方は以下のエントリを参考にしてみる事をお勧めします) [小ネタ]噛まずにImmutable Infrastructureと言うために | Developers.IO さて、題です。こちらの『Immutable Infrastructure Conference #1』、発表と同時に参加応募者が殺

    Immutable Infrastructure Conference #1 に参加してきた #immutableinfra | DevelopersIO
  • [iOS]Google Analytics iOS #2 イベントを計測する / 無料版の制限 | DevelopersIO

    こうした要素の値は、GoogleAnalyticsのレポート画面に表示されます。 各要素を適切な値に設定することで、レポートの参照や分析が容易になります。 イベントを計測したい部分で「trackEventWithCategory:withAction:withLabel:withValue: 」メソッドを呼ぶことで、計測されたデータはGoogleAnalyticsに送信されます。 例えば下記のように、category:uiAction、Action:buttonPress、withLabel:buttonName Value:100と、それぞれの値を設定します。 [tracker trackEventWithCategory:@"uiAction" withAction:@"buttonPress" withLabel:buttonName withValue:[NSNumber numb

    [iOS]Google Analytics iOS #2 イベントを計測する / 無料版の制限 | DevelopersIO
  • AWS勉強会 in 北海道札幌! Developers.IO Meetup 03を開催します(懇親会有) | DevelopersIO

    Blog「Developers.IO」の出張勉強会「Develpers.IO Meetup」を北海道で開催致します! 第4回 クラスメソッド会社説明会 in 北海道札幌と同じ会場で、会社説明会後の開催となります。会社説明会に来られた方もそのまま参加して頂けますし、会社説明会に参加せずMeetupだけの参加ももちろん大歓迎です。懇親会も行いますので、我々クラスメソッドメンバーとゆっくり語らい合いませんか! イベント概要 開催日程

    AWS勉強会 in 北海道札幌! Developers.IO Meetup 03を開催します(懇親会有) | DevelopersIO
    you21979
    you21979 2014/03/06
  • S3のアクセスコントロールが多すぎて訳が解らないので整理してみる | DevelopersIO

    おまけ 今回調査に使ったシェルスクリプト載せておきます。 権限毎にバケット何個も作って、オブジェクトも作って、アクセスしてみて、終わったら削除してという感じのものです。 #!/bin/bash UNIQ=$(date +'%Y%m%d%I%M%S') alias aws='aws --region ap-northeast-1' BUCKET_PREFIX=akeri-acl-test-$UNIQ- TARGET_PRINCIPAL="arn:aws:iam::123456789012:user/s3acltest" TARGET_MAIL="example@example.com" # create Bucket Policy Document UPLOADFILE=akeridayo.txt IAM_USERNAME=s3acltest echo "akeridayo" > $UPLO

    S3のアクセスコントロールが多すぎて訳が解らないので整理してみる | DevelopersIO
    you21979
    you21979 2013/12/15
  • Genymotion で Android の超爆速エミュレータ環境を構築する | アドカレ2013 : SP #6 | DevelopersIO

    爆速を超える"超爆速"エミュレータ! 最近、巷で話題となっている"超爆速"なエミュレータ環境を構築できる Genymotion を使ってみました。 所感では以前話題となった Intel 製システムイメージを使う方法 (下記リンク参照) よりも速い印象を受けました。 【番外編】Androidの爆速エミュレータ環境を構築する | Developers.IO 起動までも非常に速いですし、動作もサックサクでまさに超爆速!です。 ということでインストール手順から便利な使いかたまでまとめてみました! 動作環境 今回 Genymotion を導入した環境は以下の通りです。 Mac OS X 10.9 VirtualBox 4.3.2 Genymotion 2.0.1 Genymotion を動作させるためには VirtualBox が必要になります。インストールされていないかたは以下のリンクからダウンロ

    Genymotion で Android の超爆速エミュレータ環境を構築する | アドカレ2013 : SP #6 | DevelopersIO
    you21979
    you21979 2013/12/06