タグ

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

  • WebAPIに一回だけアクセスして、2回目以降はローカルモックで開発する方法 | DevelopersIO

    1 はじめに WebAPIにアクセスするアプリを作成する場合、番用サーバだけで開発を行うのは、条件的に難しい場合があります。また、デバッグ用に、受信データを自由に変更したい場合もあります。 今回は、天気予報データをWebAPIで取得するアプリを例にとって、1度だけサーバにアクセスしてデータを取得し、2回目以降はローカルのモックサーバで開発を進める手順を紹介します。 天気予報のデータは、無料でも利用可能なOpenWeatherMapを使用しました。 こちらのサービスは、APIキーを取得することで無料でも利用が可能ですが、無料枠では、 「1つのデバイスからのリクエストは10分に1回に抑える」「リクエスに失敗したら10分間は再リクエストを控える」などの制限が設けられています。 http://openweathermap.org/appid#get このような場合、サーバへのアクセスを頻繁に行っ

    WebAPIに一回だけアクセスして、2回目以降はローカルモックで開発する方法 | DevelopersIO
  • AWSとGCPの対応表(2016年7月版) | DevelopersIO

    あえて元の表には手を加えないようにしています。 注意点 幾つかのサービスが表から抜けています。 目立ったところでは AWS Lambda とその対応物であるGCP Cloud Functions でしょうか。Cloud Functions はまだ Alpha のため、あえて外しているのかもしれません。 また AWS IAM/GCP IAM も表にありません。GCP IAM は今年3月の GCP NEXT 2016で発表されたばかりで、AWS IAM と比べると機能的に大きく見劣り、単純にサービスの有無だけで表にのせるのはフェアではないとの判断からかもしれません。 基礎サービスと高レベルサービスの関係 AWS/GCPともに基礎となるサービス(Compute/storage/Networking/Databases)の上に高レベルサービス(Application services/Big da

    AWSとGCPの対応表(2016年7月版) | DevelopersIO
  • 【新機能】Amazon Elastic File System (Amazon EFS)がついにGA (一般利用可能)に! | DevelopersIO

    CloudWatchには[BurstCreditBalance]という項目がありますので、こちらをチェックしてみるとどれくらいの容量が必要か見積が出せると思います。 非同期書き込み EFSは共有ストレージ、ということで非同期による書き込みが出来るようにマウント時に非同期オプション(async)をつけることができます。その場合バッファはEC2内にキャッシュされます。 またパフォーマンスを確保するためにはEC2そのもののメモリやCPU処理能力も関係します。パフォーマンスが出ないと感じた時はインスタンスタイプを上げてみるのも手です。尚EBS最適化されたインスタンスでもEFSにはその影響はないので注意しましょう。 制限事項 その他制限事項を羅列します。 最大ファイルシステム数: 10 AZ毎の最大ターゲットマウント数: 1 ターゲット毎の最大セキュリティグループ数: 5 ファイルシステム毎の最大タ

    【新機能】Amazon Elastic File System (Amazon EFS)がついにGA (一般利用可能)に! | DevelopersIO
  • SQLインジェクション脆弱性を持つサイトを作ってみた | DevelopersIO

    はじめに こんにちは。 くコ:彡がトレードマークの阿部です。 先日、セキュリティ製品の評価にあたり脆弱性を持つWEBサイトを用意する必要がありました。 SQLインジェクション脆弱性を持つ簡易的なWEBサイトを作ってみたので、手順をご紹介します。 Amazon EC2でAmazon Linuxを使用しました。 作ってみたWEBサイト 正しい動き その1 早速ですが、作ってみたサイトのご紹介をします。 ユーザIDとパスワードを指定の上、送信ボタンを選択すると、指定したユーザのメールアドレスが表示されます。 正しい動き その2 存在しないユーザや誤ったパスワードを指定した場合、エラーメッセージを表示します。 SQLインジェクション時の動き SQLインジェクション攻撃を試してみます。 パスワード欄に'OR 'A' = 'Aを指定すると、全てのユーザのメールアドレスが表示されます。 ユーザ情報が漏れ

    SQLインジェクション脆弱性を持つサイトを作ってみた | DevelopersIO
    michael26
    michael26 2016/06/20
  • JMeterの実行結果CSVデータをローカルMacにたてたElasticsearchとKibanaで可視化する | DevelopersIO

    「JMeterの結果CSV、216万行か〜。これくらいだったらJMeterの「グラフ表示」で読み込んで見られるかな〜」 CPU「ブオオオオオオオオン!」 はじめに システムの負荷試験において、Apache JMeterのようなツールを使って試験を実施・結果を出力するケースもあると思います。結果ファイルのサイズがそれほど大きくない場合は、全データを計算する(JMeterでいう「統計レポート」)で問題ありませんが、例えば、長時間負荷をかけたので時系列でデータをグラフ化したい、といったことになると事情が変わってきます。JMeterの結果CSVは手元にあるので、なんとかこれを活用したいところではありますが、数百万行レベルのデータになると、とたんにExcelなどでは辛くなります(というか最大行数的に無理な気がします)。 そこで、ちょうど、弊社木戸がElasticsearchシリーズを連載しているとこ

    JMeterの実行結果CSVデータをローカルMacにたてたElasticsearchとKibanaで可視化する | DevelopersIO
    michael26
    michael26 2016/06/09
  • ngrokトンネルのリージョンを選択する | DevelopersIO

    ども、大瀧です。 ローカルホストのサービスを手軽にインターネットに公開できるngrokが複数のリージョンでホストされるようになったので、試してみた様子をレポートします。 ngrokとは ngrokは、ファイヤーウォールやNATによってインターネットから直接アクセスできないホストで実行するWebアプリケーションを、トンネルサーバー経由でインターネットに公開することができます。 具体的には、ローカルホストで実行するCLIツールとXXXX.ngrok.comでアクセスできるHTTP/TCPトンネルをホストするトンネルサーバーで構成されるサービスです。開発環境やデモ用途として、とても便利な仕組みですね。 従来はトンネルサーバーが北米のみで提供されていたため、日で実行するとトラフィックは毎回太平洋を往復していました。先月末にグローバルリージョンがアナウンスされ、ヨーロッパ、アジア、オーストラリアリ

    ngrokトンネルのリージョンを選択する | DevelopersIO
    michael26
    michael26 2016/06/06
  • s3fsよりも高速なgoofysが待望のContent-Type自動設定をサポート | DevelopersIO

    西澤です。S3バケットを直接マウントして高速に使えるgoofysが待望のContent-Typeの自動設定をサポートしたとの情報を見つけたので、早速試してみることにしました。 kahing/goofys: a Filey System for Amazon S3 written in Go Use /etc/mime.types to set Content-Type accordingly · Issue #54 · kahing/goofys Content-Typeとは S3にオブジェクトを配置する際には、システムメタデータを設定することができます。S3のウェブホスティング機能を使ってWEB公開する場合、ブラウザは配置されたオブジェクトのContent−Typeを参照して挙動を変える為、WEB公開するオブジェクトには適切なContent−Typeを仕込んであげる必要があります。 AW

    s3fsよりも高速なgoofysが待望のContent-Type自動設定をサポート | DevelopersIO
  • Web API サーバ負荷試験のすすめ方 – 観点を整理、負荷を試算、対象を選定 | DevelopersIO

    負荷試験対策ミーティング ここでは、チームメンバーを集めて、システム要件の再確認と、バックエンドのアーキテクチャを再確認をまず行います。すなわち、「求められているもの=要件」と、「提供できるもの=アーキテクチャ」の確認です。ここの認識が揃っていないと、的はずれな負荷試験を実施してしまうことになりかねません。立場や役割にかかわらず、サービス全体として考えるべきです。 負荷試験の目的 負荷試験を行うことによって、何を示したいのか決めます。今回は、以下の目的を定めます。 サービスリリース後、想定されるピーク時のリクエストを受けた場合でも、問題なく稼働を続けられることを確認する システムのスループット限界値を確認する 負荷試験の観点 たいていのWebシステムの場合、昼夜を問わず稼働し続けるものとなるでしょう。今回例にとったシステムも24時間365日、リクエストを受け付けるものとします。この場合、観

    Web API サーバ負荷試験のすすめ方 – 観点を整理、負荷を試算、対象を選定 | DevelopersIO
  • 【新機能】Amazon RDSのMySQLとMariaDBで監査ログに対応。ついでにrdsadminの動作も確認してみた。 | DevelopersIO

    MariaDB Audit Plugin 1.2.0からはserver_audit_eventsに設定できる値としてQUERY_DDLとQUERY_DMLが追加されていますが、RDSでは使用できないようです。 RDS for MySQLの起動 ここでは、DBエンジンのバージョンで5.7.11を選択します。 なお、2016年5月2日現在では、コンソールのデフォルト値が「5.6.27」なのでMariaDB Audit Pluginが使用できないバージョンです。ご注意下さい。 オプショングループで、先ほど作成した物を設定します。 監査ログを試す MySQLにログインして内容を確認します。 まずPluginを確認しましょう。server_audit.soがインストールされていることが確認できます。 mysql> show plugins; +----------------------------

    【新機能】Amazon RDSのMySQLとMariaDBで監査ログに対応。ついでにrdsadminの動作も確認してみた。 | DevelopersIO
    michael26
    michael26 2016/05/03
  • サーバレスアーキテクチャな動画変換 〜 “Easy Video Transcoding in AWS”を読んでみた&やってみた | DevelopersIO

    サーバレスアーキテクチャな動画変換 〜 “Easy Video Transcoding in AWS”を読んでみた&やってみた はじめに 清水です。久しぶりに動画ネタです。 海外のブログでAWSでのサーバレスな動画トランスコードを題材にしたエントリを見つけましたのでご紹介、かつ実際にやってみました。 A Cloud Guruでのサーバレスな動画トランスコードの紹介 今回読んでみたページはこちらです。 Easy video Transcoding in AWS ブログの元となっているA Cloud Guruというサイトはクラウド(AWS)についての学習サイトというようで、動画を見ながら学習できることをアピールポイントとしています。 そして動画配信という観点からみた特徴として、世界中から生徒がくること、その生徒のインターネット接続環境はスピード、デバイスなどバラバラであることを挙げています。ま

    サーバレスアーキテクチャな動画変換 〜 “Easy Video Transcoding in AWS”を読んでみた&やってみた | DevelopersIO
  • [Ansible]DockerコンテナとEC2混在環境をインベントリで管理する | DevelopersIO

    コンニチーハ、千葉です。 今日はDockerコンテナとEC2が混在している環境をインベントリで管理してみます。 といってもそんなに難しくありません。 まずは、ansible.cnfでssh_configを設定するを参考にEC2環境ホストのセットアップをします。 EC2向けの設定 ssh_config Host ec2-1 User ec2-user HostName xxx.xxx.xxx.xxx IdentityFile xxx.pem Host ec2-2 User ec2-user HostName xxx.xxx.xxx.xxx IdentityFile xxx.pem Host ec2-3 User ec2-user HostName xxx.xxx.xxx.xxx IdentityFile xxx.pem ansible.cfg [ssh_connection] ssh_arg

    [Ansible]DockerコンテナとEC2混在環境をインベントリで管理する | DevelopersIO
  • 【乗るしかない】AWS LambdaとLINE BOT APIでRSSを通知する【このビッグウェーry】 | DevelopersIO

    こんにちは、せーのです。今日は何かと話題のチャットBOTを使ってこのDevelopers.ioのお知らせBOTを作ってみたいと思います。新しもの好きなので。 チャットBOTの時代はくるのか? さてここのところLINEより「LINE BOT API」が発表され、更にFacebookからもチャットツールである「Messenger」に対してプログラムで制御するためのプラットフォーム「Bots for Messenger」が発表されました。これにより巷では「チャットBOTの時代が来る」「ゴールドラッシュならぬ"ボットラッシュ"だ」なんて言われております。 ChatOps 開発者の間では数年前から開発に普段エンジニア同士の情報伝達のために使うチャットツール(Slack, Chatwork等)に一定のコマンドを打ち込むことによってコンパイル、ビルド、コミットやPush、CI等を行う「ChatOps」と

    【乗るしかない】AWS LambdaとLINE BOT APIでRSSを通知する【このビッグウェーry】 | DevelopersIO
  • tmuxを使いこなす / プラグイン開発で機能を拡張 | DevelopersIO

    はじめに こんにちは、中山です。 唐突ですがみなさんtmuxは使われていますか。そう、有名なターミナルの機能を拡張するツールですね。 この種のツールを使っていない方の中には、職場の先輩などに「ちょwターミナル開きすぎwブラクラかよw」などとドヤ顔で言われたことがある方もいらっしゃるのではないでしょうか。かく言う私もドヤ顔でこの種の発言を繰り返していました。 tmuxはデフォルトの機能がかなり豊富なのですが、tpmというプラグインマネージャを使うとさらに機能を拡張することができます。聞いたことがある方も多いのではないでしょうか。ググると検索結果に結構表示されますね。GitHubのtmux-pluginsというorganizationにはさまざまなプラグインがあります。便利なプラグインを紹介しているブログエントリも結構あります。 私はこのプラグインを今まで結構作ってきました。少しシェルスクリプ

    tmuxを使いこなす / プラグイン開発で機能を拡張 | DevelopersIO
  • Xamarin Studio for Macで.NETプログラム(C#)を書いてみた。 | DevelopersIO

    1 はじめに 昨夜、無料になったという事で、朝から慌ててインストールしたXamarin Studio ですが、今、眺めていると、プロジェクトの一覧に.NETASP.NETがある事に気がつきました。 これ、前からあったのですか??? [Developers.IO] 遂にXamarin無料! Xamarin Studio for MacでiOS/Androidを書いてみた。 2 ソリューションの作成 メニューから「ファイル」ー「新規」ー「ソリューション」と辿り、「その他」の「.NET」を選択し、「コンソール プログラム」をクリックします。 プロジェクトの名前を指定します。(ここでは、ConsoleAppとしました) ソリューション名は、自動的に同じものが入ります。 ”Hello World!”をコンソールに出力するだけの雛形が生成されます。 3 System.Net.NetworkInfor

    Xamarin Studio for Macで.NETプログラム(C#)を書いてみた。 | DevelopersIO
  • 初めてのLambda | DevelopersIO

    言語はnode.jsを使います。 今回の目標 EC2を1台用意し、webサーバーとして起動する Lambdaでhttpポートを監視する(5分に1回チェック) 監視で異常があった場合SNSへ通知する SNSは携帯電話へメールを送信する では早速構築していきます。 webサーバーを用意する AmazonLinuxのインスタンスを作成する インスタンスタイプはt2.nano、EBSはマグネティックというケチケチ構成で 開けるポートはsshとhttpの二つのみ。 起動したらsshでログインしてapacheをインストールする sudo yum install httpd24 viで監視用のファイルを作ります。内容は「OK」だけでOK sudo vi /var/www/html/check.html apacheを起動してブラウザで確認する sudo service httpd start

    初めてのLambda | DevelopersIO
  • EC2 t2.micro でメモリーが不足した場合の挙動について調べてみた | DevelopersIO

    はじめに こんにちは植木和樹です。前回のブログでstressツールを使ってサーバーを高負荷にする方法をご紹介しました。 EC2でサーバーに負荷を発生させる stress ツールを使ってみる | Developers.IO 今回はstressツールを使って、メモリー搭載量の少ないt2.microインスタンスでメモリーを消費し続けた場合にどういう挙動になるのか調べてみました。 実験準備 t2.microはメモリー1GBですが、単純にメモリーを1GB(-m でワーカー4つ)割り当てようとするとメモリーが不足してstressツールが失敗してしまいます。 $ stress -m 4 stress: info: [22591] dispatching hogs: 0 cpu, 0 io, 4 vm, 0 hdd stress: FAIL: [22595] (494) hogvm malloc fail

    EC2 t2.micro でメモリーが不足した場合の挙動について調べてみた | DevelopersIO
    michael26
    michael26 2016/03/26
  • Amazon API GatewayでAWS Service Proxyを使ってKinesis Firehoseにアクセスする | DevelopersIO

    AWS API Gatewayを使用してAWS サービスプロキシ経由でKinesis Firehoseに接続する方法について説明します。これにより、AWS Lambda 関数を介してではなく直接、AWS サービスを呼び出すことができます。 Lambda関数とAWSサービスプロキシの違い API Gatewayを使用てKinesis Firehoseと連携する場合、Integration type には Lambda関数 AWSサービスプロキシ の2方式が考えられます。 Lambda関数方式 Kinesis FirehoseへのリクエストはLambda関数が行います。 リクエストデータの加工はAPI GatewayのBody Mapping TemplatesやLambda関数が行います。 AWSサービスプロキシ方式 今回はこの方式を採用します。 Kinesis Firehoseへのリクエス

    Amazon API GatewayでAWS Service Proxyを使ってKinesis Firehoseにアクセスする | DevelopersIO
  • ちょっと待って!Auroraを使う時にMulti-AZが本当に必要ですか?

    ウィスキー、シガー、パイプをこよなく愛する大栗です。 Auroraへ移行するお話を頂くことが増えてきました。そこでAuroraへの移行時における冗長化のポイントを考えてみました。 RDSのSLA定義はMulti-AZが前提である旨を追記しました。 そもそもMulti-AZって? ここではMySQLの場合のMulti-AZについて述べます。 Single-AZでは、以下の問題があります。 耐久性: ストレージボリュームで障害が発生した時には、「最新の復元可能な時刻」以降のデータ更新が失われる。 可用性: ハードウェア障害が発生した時に、インスタンスを再作成するため再接続までの時間が必要になる Auroraを除くRDSではストレージボリュームにEBSと同等のものが使用されているようなので通常のディスクに比べて高い可用性と信頼性を備えています。 補足すると、EBSについての具体的な数字としては「

    ちょっと待って!Auroraを使う時にMulti-AZが本当に必要ですか?
  • 第1回 Elastisearch 入門 インデックスを設計する際に知っておくべき事 | DevelopersIO

    今回、第1回目の Elasticsearch 入門という事で、今回は「インデックスを設計する際に知っておくべき事」というテーマにしてみました。ここでのインデックスの設計とは RDB のデータベースとかテーブル、ビューの設計に当たるところです。 Elasticsearch は RDB など他のデータベスに比べ、その設計方法も結構独特です。(と言うか同じ事を実現するにしても色々な方法が用意されていて、さらにアプリケーション要件〜システムアーキテクチャ、運用面など広い範囲が関わってくる)RDB との比較も交え解説していきます。 Index で分けるか? Type で分けるか? 例えば、商品情報を保存するインデックスの設計を考えてみましょう。いわゆるRDBの設計で言うところのテーブル設計ですね。おそらくRDBではアプリケーション要件のみが、その設計の中心になるはずです。例えば、商品名や説明、価格情

    第1回 Elastisearch 入門 インデックスを設計する際に知っておくべき事 | DevelopersIO
  • アジャイル・クラウド・DevOpsとエンジニアの採用と評価についてRyuzeeさんに聞いてみた(14,000文字インタビュー!) | DevelopersIO

    アジャイル・クラウド・DevOpsとエンジニアの採用と評価についてRyuzeeさんに聞いてみた(14,000文字インタビュー!) はじめに 2月某日、Ryuzee.com の Ryuzee さんこと吉羽龍太郎さんに、アジャイル・クラウド・DevOps についてのお話を伺う機会がありました。エントリーは、その時の様子を文章化したものです。 アジャイル・クラウド・DevOps は実際のところどんなものなのか? 上手くいく/上手くいかない取り組みの違いはどこなのか? そもそもそれは当にやるべきか? 組織とエンジニアの関係、評価はどのようにすれば良いのか? といった幅広いテーマについて語っていただきました。 このインタビュー記事は、 アジャイル・クラウド・DevOps などをやりたいけど、どこから手を付けていいのかわからない方 手を付けたけど、なんだか上手くいっていないことにお悩みの方 もしく

    アジャイル・クラウド・DevOpsとエンジニアの採用と評価についてRyuzeeさんに聞いてみた(14,000文字インタビュー!) | DevelopersIO