タグ

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

  • Flywayで簡単DBマイグレーション | DevelopersIO

    Flywayとは FlywayとはDBマイグレーションフレームワークです。 複数人でのアプリケーション開発時のDBマイグレーション作業を素早く手軽に行うことができます。 MavenやAnt、APIやコマンドラインツール形式で提供されており、柔軟に対応することができます。 環境構築方法 今回使用した動作環境は以下のとおりです。 OS : MacOS X 10.7.4 MySQL : 5.5.15 flywayを使ってみよう 環境設定 flywayはMavenやAPIからも使用できますが、今回はCommand-line Toolを使ってみましょう。 ここからCommand-line Toolをダウンロードして解凍しておきましょう。 次にテストで使用するデータベースを用意します。今回はMySQLを使用しました。 mysqlを起動し、コンソールからデータベースを作成しておきましょう。 mysql>

    Flywayで簡単DBマイグレーション | DevelopersIO
    crayzic
    crayzic 2015/02/27
  • Amazon RedshiftとTableauによるビッグデータ分析 〜 Tableau Desktopを使ってみた 〜 | DevelopersIO

    お盆真っ盛り&暑さ最高潮&夏休みムード漂う今日この頃ですが皆様いかがお過ごしでしょうか。 最近はAmazon Redshiftに関して色々調査実践等を行なっているのですが、Amazon Redshiftで収集したビッグデータを扱う『分析ツール』もまた欠かせないものであると思います。今回、BI(ビジネス・インテリジェンス)ツールとして『Tableau』という企業の製品が良い感じですよ、という情報を得たのでトライアル版を導入し、動作確認やRedshiftとの連携等を試してみました。 目次 Tableau Softwareとは Tableau Softwareの製品一覧 Tableau Desktopを試しに使ってみる Tableau Desktop: オンライン無料入門トレーニング Tableau製品に関する各種ドキュメント Amazon Redshiftとの連携 まとめ Tableau So

    Amazon RedshiftとTableauによるビッグデータ分析 〜 Tableau Desktopを使ってみた 〜 | DevelopersIO
    crayzic
    crayzic 2015/01/18
  • Apache Libcloudでクラウドサービスへアクセスする | DevelopersIO

    クラウド・ロックイン ユーザーにとってクラウドベンダによるロックインは、クラウドを利用する際のリスクの1つとなっています。 例えば、現在のシステムではA社のクラウドストレージを使用しているが、将来B社のクラウドストレージにするといった場合、 依存するライブラリやAPIなどを簡単に変更できるでしょうか? ケント・ベック氏は以下のようにいっています。 「こう考えると、クラウドによるデータとアプリケーションのロックインは非常に強力なものがあります。 いちど特定のクラウドで大規模なデータの管理やアプリケーションの運用を始めたら、 ずっとそのクラウドを使うことを覚悟しなければなりません。」 (http://www.publickey1.jp/blog/09/post_27.htmlより引用) それを解消するための1つの策として、クラウドサービスを抽象化しようという取り組みがあります。 これが日ご紹

  • APIでつながるIoT(Internet of Things)の世界! API Meetup Tokyo!#4 参加レポート | DevelopersIO

    主催 CTC / Agree Japan iOS 8時代のAPIでつながるIoTの世界はどんなものかと勉強会に参加してきました。赤坂のNTTドコモ・ベンチャーズラウンジは大使館や都心ぽいマンションが並ぶ場所にありました。観光気分で向かいます。 1.ドコモオープンイノベーションの取り組みと提供APIのIoT展開について NTTドコモイノベーション統括部 加納出亜さん、森永康夫さん オープンイノベーションについて ドコモ生活圏を作る その一環で外部パートナー連携を強化 しゃべってコンシェル、翻訳 外部の技術を使ってる → オープンイノベーション 料金プランもIoTの下地を作った パケット利用を複数端末で分け合える ハッカソンがブーム オープンイノベーション スマホの次を求めてる IoTでしょ いろんなデバイスが登場 docomoの取り組み APIの提供、開発ツールの提供 docomo Deve

    APIでつながるIoT(Internet of Things)の世界! API Meetup Tokyo!#4 参加レポート | DevelopersIO
    crayzic
    crayzic 2014/11/30
  • AWS環境での監視について調べる CloudWatchとZabbixの比較 | DevelopersIO

    ○:標準で使えます ×:標準で使えません 補足 1.リソース監視の監視項目 CloudWatchはデフォルトでメモリー使用率やディスク使用量、ロードアベレージがないので必要であればカスタムメトリクスとして追加する必要があります。監視項目は以下のページをご覧ください。 [CloudWatch]グラフの確認方法と確認できるグラフ一覧(EC2/ELB/RDS) Zabbixエージェント - Zabbixオフィシャル日語サイト 2.Zabbixからフルマネージドサービスを監視 ZabbixではRDSやELBのリソースを監視する機能はありません。Zabbixでフルマネージドサービスを監視したい場合はCloudWatchから値を取得するスクリプトを実装する必要があります。 ZabbixでAWS/CloudWatchの値を取得してみた 3.カスタムメトリクスを使えば可能 カスタムメトリクスの追加方法は

    AWS環境での監視について調べる CloudWatchとZabbixの比較 | DevelopersIO
    crayzic
    crayzic 2014/11/30
  • [HTML5] WebSocketでMessagePackを使う | DevelopersIO

    MessagePackとは MessagePackとは、バイナリシリアライゼーションフォーマットです。 最近はクライアント/サーバ間でデータをやりとりする場合、JSONフォーマットが非常によく使用されていますが、 WebSocketでデータの送受信をする際にもJSON.stringifyを使用してJSON文字列を使っているのではないでしょうか。 MessagePackを使用した場合、JSONにくらべて高速に動作し、データサイズもコンパクトになるという特徴があります。 今回はnode + websocketにおいてMessagePackでデータの送受信をおこなってみましょう。 環境構築方法 今回使用した動作環境は以下のとおりです。 OS : MacOS X 10.9 node.js : v0.10.21 socket.io: 0.9.16 node.jsについては公式ページ等を参考にしてイン

    [HTML5] WebSocketでMessagePackを使う | DevelopersIO
    crayzic
    crayzic 2014/11/23
  • [セッションレポート]NetflixにおけるMicroservicesアーキテクチャ #reinvent | DevelopersIO

    この記事は AWS re:Invent 2014、PFC304-JT - Effective Interprocess Communications in the Cloud: The Pros and Cons of Micro Services Architectures - Japanese Trackのレポートです。 スピーカーはNetflixのSudhir Tonse。 レポート どうやってMicroservicesに変化していったのかを話したい。 これまで何度か番環境が停止し、そこからたくさんのことを学んだ。それを共有したい。 Netflixについて。映画のストリーミングサービス。 PCやPS4などで再生できる。 ネットワークの1/3のトラフィックをNetflixが占めることがある。 20億以上のエッヂAPIリクエストがあって、500以上のMicroservicesが動いてい

    [セッションレポート]NetflixにおけるMicroservicesアーキテクチャ #reinvent | DevelopersIO
  • AWSにおける可用性の考え方 | DevelopersIO

    よく訓練されたアップル信者、都元です。今回はコードや操作手順などなく。 オンプレミス環境等と比較すると、AWS上で稼働させるシステムには、サーバアーキテクチャはもちろん、アプリケーションのアーキテクチャにも色々考えるべきポイントが多々あります。AWS仕事をしていると当たり前過ぎてなかなか記事として言及する機会がないのですが、これらのアーキテクチャを組み上げる基礎知識となる、AWSにおける可用性の考え方をまとめてみました。 サーバは落ちるもの、データセンタは止まるもの AWSにおいては、単体のEC2インスタンスは「突如として落ちるかもしれない」という前提があります。さらに、何らかの障害や災害等で「AZ(availability-zone)も丸ごと落ちるかもしれない」という前提があります。突然落ちるというのは大げさ(でもないのですが…)にしても、時にEC2インスタンスはAWSから強制的に「再

    AWSにおける可用性の考え方 | DevelopersIO
    crayzic
    crayzic 2014/11/13
  • ElastiCacheにRDSへのクエリ結果をキャッシュさせる | DevelopersIO

    はじめに ElastiCacheの用途として、RDSと併用して、RDSへのクエリ結果をElastiCacheにキャッシュさせ、 キャッシュがある場合はElastiCacheのキャッシュを使う キャッシュが無い場合のみRDSにDBアクセス という使い方があります。これはアプリケーションエンジニアの皆さんには一般的なロジックなのでしょうが、実は僕にはいまいちピンと来ていないところがありました。 そこで、実際にRubyで実装して、その動きを確認してみたい!と思ったのが今回のスタート地点です。 準備 ElastiCacheはMemcachedエンジンで構築しました。またRDSはMySQLで構築しています。 RubyからMemcachedエンジンのElastiCacheを操作する方法として、Dalliを用いました。 $ gem install dalli 使い方はすごく簡単で、Dalli::Clie

    ElastiCacheにRDSへのクエリ結果をキャッシュさせる | DevelopersIO
    crayzic
    crayzic 2014/10/30
  • CloudFormation入門 | DevelopersIO

    よく訓練されたアップル信者、都元です。CloudFormationカコイイ…。ということでもう一いきます。 CloudFormationとは 要するに「S3バケット作って、VPC作って、サブネットはこんな感じでー、インスタンスここにつくってー、で、出来上がったらWebサーバのURL教えてくれる?」っていうような、AWSを利用したシステム全体のレシピを処理してくれるサービスです。無料です。(但し、生成したサーバ等の費用はお客様がご負担ください) このようなレシピのことを、CloudFormation用語で「テンプレート」と言います。そして、CloudFormationではEC2インスタンスやSecurityGroup、VPC、EIPをはじめ、LoadBalancer、AutoScalingGroup、IAMユーザに至るまで、様々なものを作成できます。これらの要素を「リソース」と呼びます。テ

    CloudFormation入門 | DevelopersIO
    crayzic
    crayzic 2014/10/21
  • HashiCorpの新オーケストレーションツールTerraformを試してみた | DevelopersIO

    ども、大瀧です。 VagrantやPacker、Serfを開発するHashiCorpが手がける新オーケストレーションツール、Terraformが発表されました。zembutsuさんが神速で日語チュートリアル記事を既に公開しているので、terraformコマンドの使い方はそちらを参照ください。 Terraformとは Terraformは、あらかじめインフラ構成をテンプレートファイルに記述し、terraformコマンドでクラウド環境に適用・管理するツールです。一見するとAWS CloudFormationと非常に良く似た作りですが、以下の特徴があります。 複数のクラウドサービスに対応し、高レイヤーのアプリケーション構成に特化 現時点でTerraformが対応するサービス/プロダクトは以下です。 AWS CloudFlare Consul DigitalOcean DNSimple Hero

    HashiCorpの新オーケストレーションツールTerraformを試してみた | DevelopersIO
    crayzic
    crayzic 2014/10/15
  • これからAmazon Redshiftを始める技術者が注意すべき11つのポイント | DevelopersIO

    更新版がこちらにありますので、こちらもぜひご覧ください。 これからAmazon Redshiftを始める技術者が注意すべき22つのポイント Amazon Redshiftを使った実案件を経験してこれは注意したほうがいいなというポイントをまとめました。自分が経験した範囲で書いているので多少偏っているかもしれませんが、参考になれば幸いです。データウェアハウスって何?という方は以前入門記事を書きましたのでこちらの記事をご覧ください。 気軽に始めてみよう!クラウド時代のデータウェアハウス超入門 注意事項一覧 PostgreSQLと違う点に注意! 1件ずつINSERTするととても遅いので注意! 主キー制約、一意制約、外部キー制約は違反してもエラーにならないので注意! COPYコマンドは全件INSERTなので注意! CSVでアップロードする場合の注意点! サポートしているデータ型に注意! エンコーディ

    これからAmazon Redshiftを始める技術者が注意すべき11つのポイント | DevelopersIO
    crayzic
    crayzic 2014/10/11
  • オートスケール時のデプロイを User Data と Capistrano を使って行う(BootStrap パターン) | DevelopersIO

    Auto Scaling を使った構成の場合、EC2 へのデプロイはどうやっているでしょうか? AWS を使ってる方はご存知の方も多いと思いますが、EC2 には User Data という仕組みがあります。 User Data は、インスタンス起動時にタスクやスクリプトを実行する仕組みです。 今回この User Data を使って、自分自身のインスタンスから最新のソースを GitHub から取得してデプロイする方法についてご紹介したいと思います。 図で表すと以下のイメージですかね。 ssh localhost? デプロイツールには Capistrano を使いますが、Capistrano は、デプロイ対象のサーバーに対してまず ssh で login を行います。 その後、サーバー上でデプロイ対象のコードの取得や、サービスの再起動をしたりしますが、 AutoScaling は自動でインスタ

    オートスケール時のデプロイを User Data と Capistrano を使って行う(BootStrap パターン) | DevelopersIO
    crayzic
    crayzic 2014/10/05
  • [Ruby on Rails]FactoryGirlによるテストデータの準備 | DevelopersIO

    はじめに RSpecを使ってテストを記述している際、テストの実行前にデータをテーブルに登録しておきたいケースが多々あるかと思います。RSpec内でActiveRecordを使ってデータを登録することもできますが、複数のテストケースで同じデータを使いたい場合、データの定義は一箇所で行いたいところです。 この様な場合、Factory Girlを使用すると、一箇所でテストデータを定義できます。今回はこのFactoryGirlの使い方について書きたいと思います。 使い方 使い方の大まかな流れとしては、 FactoryGirlが使用できるようにする 定義ファイルにデータを定義する 必要とするテストケースにてファイルを読み込み、データを適時加工して登録する という感じとなります。尚、この定義したデータを「Factory」とも言います。以下、手順です。 1.Gemfile Gemfileに以下を記述し、

    [Ruby on Rails]FactoryGirlによるテストデータの準備 | DevelopersIO
  • Amazon EC2から負荷テストを行うときの落とし穴と対策 | DevelopersIO

    ども、大瀧です。 ここのところ新機能を追いかける記事ばかりだったので、今回は少し毛色の異なるノウハウ系を書いてみます。 負荷テストの前置き(読み飛ばし可) 「Webサイトがテレビ番組で紹介されることになった!大幅なアクセス増がやってくる!」という場合に、ロードバランササービスのElastic Load Balancing(ELB)やCDNのCloudFrontなどスケールするサービスを組み合わせ乗り切るというのは、クラウドらしい柔軟性の高さを活かせる典型な例かと思います。実際、弊社の事例でも多くのお客様に提供し、ご好評をいただいています。 これらのサービスを構成するにあたり、実際のアクセス増に耐えられるか試すため負荷テストを実施することも多いと思いますが、大規模なケースになってくると難しいのが負荷テストを実施するマシンの確保です。これについてもAmazon EC2であれば、Auto Sca

    Amazon EC2から負荷テストを行うときの落とし穴と対策 | DevelopersIO
  • backbone.jsとcoffee scriptを組み合わせた小さいサンプル | DevelopersIO

    backbone + coffee scriptで快適に 最近は仕事でもJavaScriptの使用頻度が多くなっており、煩雑になりがちでした。 解決方法を探していたところ、backbone.jsというフレームワークが良いらしいという話が出てきたので試してみます。 また、coffee scriptを組み合わせ、シンプルなサンプルを作成してみます。 backbone.jsとは backbone.jsはDocumentCloud(underscore.jsも開発しているところ)が開発しているMVCフレームワークです。 これを使用すればモデルの操作、HTMLレンダリング、URLフラグメントに応じたルーティング処理を分割して綺麗に記述することができます。 公式サイト ※1やソースコード解説 ※2があるので、詳細はこちらを確認してみてください。 まずはこれだけを用いてサンプルプログラムを作成してみまし

  • 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
  • Spring Bootで高速アプリ開発 | DevelopersIO

    Spring Bootとは いまから10年以上前、Spring frameworkは巨大化したJ2EEへのアンチテーゼとして登場し、 DIやAOPといった、当時の最新技術をもってWebアプリ開発に必要な機能を提供してくれました。 ※Spring frameworkについてはこのへん参照 Webアプリ開発において革新をもたらしたSpringでしたが、時間が経つにつれSpring frameworkまわりの さまざまなプロダクトが登場し、J2EE以上に肥大化していきました。 そこで最近登場したのが、今回紹介するSpring Bootです。 Spring Bootは「コードを全く生成することなく、XML構成ファイルなしで番環境で利用できる Springベースのアプリを作成し、すぐに実行できるようにすること」とのことです。 開発者がSpring Bootを使用することで、「Springプラットフ

    Spring Bootで高速アプリ開発 | DevelopersIO
  • [Grunt]Yeomanで開発ワークフローを楽にしよう[bower] | DevelopersIO

    ※2013/5/14 Yoemanってスペルミスしまくってたのを修正 Yeoman(ヨーマン)とは LESS、Sass、compass、Coffeescript、TypeScript等々、クライアントサイドのWebアプリケーション技術は多様化しています。 Coffee ScriptやLESS等の拡張言語はコンパイルする必要がありますし、jsファイルはconcat/最適化/ミニファイすることも多いです。 ソースを修正するたびにいちいち手動でコンパイルしたり最適化するのは、来注力すべき事象ではありません。 Yeomanは開発者がアプリケーション開発に注力できるよう、アプリのひな形生成からテストやコンパイル、ファイル最適化といったワークフローを提供してくれます。 Yeomanについてはここでも少しふれていますが、開発を楽に楽しくするためのツールが満載のようですね。 まずはYoemonについての

    crayzic
    crayzic 2014/02/14
  • JasperReportsで帳票出力してみた | DevelopersIO

    渡辺です。 現在開発しているシステムで帳票出力を実装したいなと思いまして、Javaの帳票系ライブラリを調べてみました。ここ5-6年はエンプラ系のシステムからは比較的に遠い場所にいたのですが、フリーで使えるライブラリとなるとPOIでExcel帳票にするか、JasperReportsを使うかの2択であることは変わっていないようです。有償のツールを見ると、帳票自体の機能よりもデータ分析などに価値付けがシフトしているようですね。 現在担当しているシステムは有償のライブラリを使うほど帳票が重要なシステムではありません。JasperReportsは7-8年ほど前に業務で使ったことがあり、現在もメンテナンスされているようだったので、JasperReportsを試してみました。 JasperReportsとは? JasperReportsは、Jaspersoft社が開発している帳票用のライブラリです。正確

    JasperReportsで帳票出力してみた | DevelopersIO