タグ

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

  • AWSの費用見積でおさえておくべきポイント | DevelopersIO

    はじめに AWSの費用見積をする際におさえておいたほうがよいポイントについて説明します。 従量課金制である AWSのほとんどのリソースは1時間毎、もしくは利用量毎の課金です。 従量課金制の一番よいところは、ずっと使い続けなくてよいというところです(あたりまえですが)。 急なイベントの時にだけリソース増強 (弊社のこの事例はまさにそれです) 検証環境は必要な時に番環境から作成 という使い方をすることで費用削減が可能です。 実際の必要リソースがわからない部分については、リソース大目の環境を作って検証して、結果的に不必要であればその時点でインスタンスを小さく/大きくする等で対応できます。 最初の見積がずれていても、ずっとそのコストを払わなくてもよい点、頭の片隅のおいておいてください。 また、AWSならではの従量課金の項目もあります。 EBS(ネットワークストレージ)のI/O ネットワークの通信

    AWSの費用見積でおさえておくべきポイント | DevelopersIO
  • PHPアプリケーションのセッション管理にAWS ElastiCacheを使う | DevelopersIO

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

    PHPアプリケーションのセッション管理にAWS ElastiCacheを使う | DevelopersIO
  • CSS には vw, vh, vmin, vmax という単位がある | DevelopersIO

    例として以下の様な HTML 構造があったとします。 <body> <!-- 画像解像度: 100 x 100 (px)--> <img src="images/thumbnail.jpg" /> </body> img { display: inline-block; margin: auto; width: 10vw; } img の幅を 10vw と指定しています。基準となるビューポートの幅を vw で表すと 100vw となります。iPhone 5S のビューポート幅をピクセルで表すと 320px な訳ですが、10vw はその 1/10 ということで32px が img の幅となります。つまり 1vw は 1% と同じ長さになります。もちろんリキッドレイアウトにも対応した動きを持っています。 Demo - viewport lengthを開く(このサンプルはChromeブラウザでの

    CSS には vw, vh, vmin, vmax という単位がある | DevelopersIO
  • AWS Elastic BeanstalkでDockerコンテナをデプロイしてみた | DevelopersIO

    ども、大瀧です。 日、AWS Elastic BeanstalkでDockerコンテナがサポートされました(AWS公式ブログの記事)。 超簡単&高速でDocker on EC2+ELBの構成が組めるとんでもない機能です! ひとまず、試してみた様子をレポートします。 手順 AWS Management ConsoleでElastic Beanstalkの管理画面を表示します。既存のBeanstalk構成がなければ、新規アプリケーションの作成画面になるので、[Select a Platform]から「Docker」を選択し、[Launch Now]をクリックします。 早速Beanstalkのスタック構成として、ELB(ロードバランサ)とDockerインストール済みのEC2インスタンス1台が起動します。[Health]の表示が「Green」になるまで待ちましょう。 続いて、Dockerコンテナ

    AWS Elastic BeanstalkでDockerコンテナをデプロイしてみた | DevelopersIO
  • 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
  • Xamarin入門 – 特徴とインストール、サンプルアプリケーションについて | DevelopersIO

    t.hondaです。現在はスマホ関連の作業のお手伝いをしております。 スマホ関連のお話として、今回はXamarinについてと特徴、インストール手順 サンプルアプリケーションの実行と構成について書きたいと思います。 Xamarinについてと特徴 Xamarinとは、iOSとAndroid向けにクロスプラットフォームの ネイティブアプリを開発できる開発環境で、以下のような特徴を持ちます。 1.C#で記述。 2.UIやデバイス周り等はiOS、Androidでソースを分ける。 ビジネスロジックは共通。 3.ネイティブアプリを作成できる。 4.「Mono」という.Netランタイム上で動く。 このため、メモリ管理などが楽。 これらについて、少し説明していきます。 1.C#で記述。 C#については、興味ある方はMicrosoftのページなどを参考にしてください。 C#という言語の仕様と、後述する「Mon

    Xamarin入門 – 特徴とインストール、サンプルアプリケーションについて | DevelopersIO
  • AngularJSとRuby on Railsで作るCRUDアプリ – (1)環境構築 | DevelopersIO

    t.hondaです。AngularJSとRailsの勉強がてら、CRUD機能を持つサンプルプログラムを作ってみました。 ウィスキーの名前と価格を、登録して表示するアプリです。 先ずは開発するための環境を構築する手順を、メモ書き程度に書いておきます。 「開発するため」なので、AugularJS側、及びRails側でユニットテストも実行できる環境を整えたいと思います。 また、ViewにはTwitter Bootstrapを使用します。 では、手順です。 プロジェクト作成 0.(rails new などでRailsアプリケーションを作成) 1.Gemfileに以下を追加 gem 'therubyracer' gem 'execjs' gem "twitter-bootstrap-rails" gem "less-rails" group :development,:test do gem 'rs

    AngularJSとRuby on Railsで作るCRUDアプリ – (1)環境構築 | DevelopersIO
  • CloudFrontのSSL/TLS対応 まとめ | DevelopersIO

    それぞれ解説します。 1. 共用SSL証明書 最も手軽にSSLを利用する方法です。特に事前準備無く、手軽にCloudFrontでHTTPS通信ができるようになります。 2.独自SSL証明書(IPベースモード) こちらは昨年6月に追加された機能で、あらかじめユーザーでSSL証明書一式を準備しアップロードして利用するタイプです。具体的な手順は、以下のブログエントリーを参考にしてください。 CloudFrontの独自ドメインSSL証明書対応を試してみた | Developers.IO ここではちょっと横道に逸れて、なぜ追加料金がかかるのかを考察してみます。 Webサーバーでは1台のサーバーで複数ドメインをホストするバーチャルホスト構成として、以下の2つの方式を利用します。 ネームベース サーバーは、クライアントからのHTTPリクエストヘッダに含まれるHOSTヘッダでどのドメイン宛かを判断します。

    CloudFrontのSSL/TLS対応 まとめ | DevelopersIO
  • 【AWS】S3のマルチパートアップロードで簡易サスペンド/レジュームを実装してみた | DevelopersIO

    日の課題 こんにちは植木和樹です。日はS3に大きなサイズのファイルをアップロードする際の課題についての話題です。 S3へ大きなファイルをアップロードする時には次のような課題があります。 アップロード途中にネットワーク障害などで失敗しても最初からアップロードし直さず途中から再開したい。 サイズが大きなファイルは分割して並列アップロードしたい。 S3にはマルチパートアップロードという機能があります。これはアップロードするファイルをいくつかに分割し(断片ファイルと呼ぶことにします)、断片ファイルをそれぞれS3にアップロードした後に、S3側で再びひとつのファイルに結合する機能です。S3にマルチパートアップロードする手順は以下になります。 アップロードするファイルを断片ファイルに分割する。 マルチパートアップロードのセッションを開始する。(create-multipart-upload) 断片フ

    【AWS】S3のマルチパートアップロードで簡易サスペンド/レジュームを実装してみた | DevelopersIO
  • Amazon EC2(Linux)システム管理で知らないとハマる5つの環境設定 | DevelopersIO

    ども、大瀧です。みなさん、EC2をバリバリ使ってますか?使いたいときにすぐ使える仮想マシンとして、開発・検証から番まで幅広く活用されていると思います。 日頃EC2を業務で運用する中で、EC2インスタンスをコピーすると意図しない環境設定に変わってしまうというトラブルが度々あり、cloud-initというツールに拠ることがわかってきました。 「EC2インスタンスのコピーなんて、一旦インスタンスを作成したあとはあまりやらないのでは?」と思われがちですが、EC2独特の制限などもあり、実際の運用では思ったよりも頻繁にインスタンスのコピーが必要になります。インスタンスのバックアップ&リストアなどはイメージしやすいと思いますが、それ以外にも意外なケースとして以下があります *1。インスタンスのコピーは、AMI(Amazon Machine Image:インスタンスのバックアップ)を取得し、新規インスタ

    Amazon EC2(Linux)システム管理で知らないとハマる5つの環境設定 | DevelopersIO
  • 【AWS】非エンジニアのための初めてのAmazon Web Services 資料をまとめてみた | DevelopersIO

    はじめに こんにちは植木和樹です。2013年2月2日は私がAWSに初めて触れた日で、日が1周年となります。JAWS-UG北陸(金沢)の勉強会でアマゾンデータサービスジャパンの堀内さんによるハンズオン(実際に画面を操作しての体験会)が開かれ、そこでEC2やRDSを触れたのが初となります。 実際にはその3ヶ月ほど前から、ネットに流れてくるAWS関係のニュースをみたり、自分のクレジットカードを使ってアカウントを作ったりはしていたのですが、マネージメントコンソールを用いた操作をちゃんとしたのがこの日が初めてだったわけです。 さてAWSを始めた方の多くは、まずEC2にApache+PHPを起動しRDSでMySQLを用意して・・・というエンジニア向けなところから入ってくる場合が多いようです。上記の通り私もその口で、それまで10年程やっていたインフラ(サーバー)エンジニアの延長としてAWSと関わり始め

    【AWS】非エンジニアのための初めてのAmazon Web Services 資料をまとめてみた | DevelopersIO
  • Middleman で静的 Web サイトを超速プロトタイピング | シリーズ | Developers.IO

    Middleman で静的 Web サイトを超速プロトタイピング シリーズ Grunt + TypeScript + Middleman によるフロントエンド開発環境を作ってみる 記事 2014年04月30日 山田 直樹 270 5 Middleman を使うようになってしばらく経ちますが、2014年4月現在 TypeScript に対応していないというのがどうも気になります。Ruby on Rails や Sinatra といった他の Ruby 製 […]

  • Apacheによるバーチャルホスト構築レシピ mod_mruby編 | DevelopersIO

    ども、大瀧です。前回に続き、Apache httpd(以下Apache)によるバーチャルホストの構築例として、mod_mruby編をお送りします。 Apacheの再起動が不要なバーチャルホストの構築方法として、前回はmod_vhost_aliasモジュールの活用とmod_luaモジュールでLuaスクリプトによるApacheの動作のカスタマイズをご紹介しました。今回は、mod_luaモジュールと同様のアプローチで軽量版Ruby実装のmrubyを実行する、mod_mrubyモジュールでApacheの動作をカスタマイズ、バーチャルホスト構成として動かしてみようと思います。 [2014/03/04更新] ブログで執筆当時未実装と記した機能は実装済みと、作者のMATSUMOTO Ryosukeさんのツイートでありました。以下の説明はちょっと情報が古いことをご承知置きください。 ひとまずここで言及さ

    Apacheによるバーチャルホスト構築レシピ mod_mruby編 | DevelopersIO
  • New Relicでアプリケーションのパフォーマンス測定 | DevelopersIO

    New Relicとは New Relicとは、パフォーマンス監視サービスです。 サーバ側にnewrelic用モジュールをインストールし、サーバ/アプリケーションの レスポンスや実行にかかった時間などの統計情報をNew Relicのサイトで確認できます。 Java/Python/PHP/nodeなど、いろいろな言語に対応しており、 Heroku等のPaaS上で使用することもできます。 さらに最近は、モバイルの用アプリ(iOS/Android)のパフォーマンスをモニタリングできるようになったらしいです。 今回はEC2インスタンスにnewrelicサーバ用モジュールをインストールし、 EC2上で動作しているnodeアプリケーションのパフォーマンスを測定してみます。 使用した環境 今回使用した動作環境は以下のとおりです。 OS : Amazon Linux(EC2) New Relicを使ってみ

  • AngularJS コードの構造化 | DevelopersIO

    複数人で AngularJS を利用した Web アプリケーションを構築するときに必要なルールをまとめてみました。 ( あくまで策定中のルールであり、今後も改変する可能性があります。また、ベストプラクティスを謳うものではありません ) 使用 AngularJS のバージョン angular.js 1.2.5 angular-route.js 1.2.5 参考サイト Dan Wahlin's Blog | Structuring AngularJS Code http://weblogs.asp.net/dwahlin/archive/2013/12/01/structuring-angularjs-code.aspx GitHub | mgechev / angularjs-style-guide / README-ja-jp.md https://github.com/mgechev/a

    AngularJS コードの構造化 | DevelopersIO
  • 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
  • AWS EC2サーバに対するknife solo実行環境構築手順 on Mac OS Xを一から整理してみる | DevelopersIO

    師匠様方が走り回りまくる今日この頃、皆様いかがお過ごしでしょうか。しんやです。 弊社AWSコンサルチームでは、AWSでの環境構築を『AWS CloudFormation単独(パッケージのインストール等もCloudFormationで兼ねる)』、若しくは『AWS CloudFormation+Knife Solo』という組み合わせで行うのが主流となっています。当エントリでは後者の方、『AWS CloudFormation+Knife Solo』で環境構築を行う際の『knife solo』に於ける環境構築手順について、意外と初見では踏むべき手順が多く、躓く点も多かった(と個人的には思っている)ので備忘録も兼ねてエントリとしてまとめておこうと思います。 スタート地点 Gitインストール rbenvインストール ruby-buildインストール Rubyインストール by rbenv knife-

    AWS EC2サーバに対するknife solo実行環境構築手順 on Mac OS Xを一から整理してみる | DevelopersIO
  • Gradle入門 | DevelopersIO

    よく訓練されたアップル信者、都元です。Gradle(グレードル)つかってますか? 筆者は、プロダクトコードを書くのも好きなのですが、その周辺にある「プロジェクトのライフサイクル管理」の自動化にも非常に興味を持っています。つい半年前くらいまではMaven信者だったのですが、今は宗旨替えをし、Gradleにどっぷりハマっております。 Gradleは、進化系のビルド自動化ツールです。Gradleは、ソフトウェアパッケージもちろん、その他様々な形式のプロジェクト(例えば自動生成された静的Webサイトやドキュメント等)のビルド・テスト・(ライブラリ等の)公開・デプロイ・その他を自動化します。 プロジェクトライフサイクルマネジメントツール? このようなビルド自動化は、古くはGNU Makeやシェルスクリプトが利用されており、その後Javaの世界ではAnt, Mavenと進化を遂げて来ました。Gradl

    Gradle入門 | DevelopersIO
    supermomonga
    supermomonga 2013/10/26
    ふむふむっ
  • [iOSアプリ開発] いまさら聞けないモダンな書き方 | DevelopersIO

    Xcode 4.4 から Objective-C が書きやすくなりました、という今更のいまさらな話ですが、ネット上に転がっている少し前のサンプルソースなどは古い書き方のものもあるようなので、今回はよく使う NSArray と NSDictionary と NSNumber の書き方についてだけ備忘録として残しておこうと思います。 NSArray インスタンスの生成 // 古い書き方 NSArray *oldArr = [NSArray arrayWithObjects:@"value1", @"value2", @"value3", nil]; NSMutableArray *oldMutableArr = [NSMutableArray arrayWithObjects:@"value4", @"value5", @"value6", nil]; // 新しい書き方 NSArray *n

  • Amazon SNS – Twilioゲートウェイ Labrie(仮) | DevelopersIO

    よく訓練されたアップル信者、都元です。最近社内でTwilioが空前の大ブームになっております。一言で言ってしまえば、APIを叩くことによってどこかに電話を掛けられる、というシステムです。音声については、OSXに標準で入っているsayコマンドのような音声合成が可能ですので、音声ファイルは特に用意しなくても大丈夫です *1。 さて、このTwilioですが、色んな使い道が思いつきますね。テレク(検閲削除) Amazon SNS meets Twilio しかしまぁ、目下ガチでAWS屋をしている身としますと、やっぱりAWSとのインテグレーションを実現してみたい。そうすると、Amazon SNSとの相性が非常に良さそうです。SNS Topicにメッセージがpublishされると電話が鳴る。想像しやすいですね。 こんなインターフェイスがあれば良いのですが、残念ながら、まだありません。よし、無ければ作り