タグ

ブックマーク / qiita.com (561)

  • AWS Lambdaのデプロイフロー管理 - Qiita

    2016年版書きました → http://qiita.com/kinzal/items/7a09659399d9be40d674 この投稿は 今年もやるよ!AWS Lambda縛り Advent Calendar 2015 - Qiita の 9日目の記事です。 皆さんAWS Lambdaを使っていますか? SNS対応や、VPC対応、スケジューラの対応でLambdaの適用できる範囲が増えたり、API Gatewayと組み合わせることでサーバーレスアーキテクチャを実現したりと、今年はLambdaがどんどん出来る子になっていく1年でした。 私自身もLambda趣味だけではなく、仕事で使う機会も増えてきて実用性が増してきたなという印象があります。 今日はそんなLambdaのデプロイフローの話をします。 Lambdaのデプロイフロー構築の難しさ かれこれ1年近くLambdaを行ってわかったことの

    AWS Lambdaのデプロイフロー管理 - Qiita
  • HTTP Workshop 2016参加報告 - Qiita

    これは第9回HTTP/2勉強会の資料です。 スウェーデンの首都、ストックホルムで開催された第二回HTTP Workshopへの出張報告である。 このイベントはワークショップ形式であり、HTTPについての議論をする場 非常にラフなアジェンダのみ用意されており、スケジュールは頻繁に変更される Twitter公式アカウントでも情報が発信されている レポートがすでに公開されており、参加者も記載されている 場所、日時 2016/7/25から7/27の3日間 スウェーデンのストックホルム シェラトンホテル会議室 日程、議題 Welcome Drink 0日目レポート: https://daniel.haxx.se/blog/2016/07/24/http-workshop-2016-day-1/ Gamla StanのThe Bishop's ArmsでCloudFlare主催の を飲む会。 1日目

    HTTP Workshop 2016参加報告 - Qiita
  • 通信系のデバッグには Charles が便利 - Qiita

    はじめに Charles を使うと PC 上に HTTP プロキシを立てて端末の通信をキャプチャし、リクエストやレスポンスの内容を覗いたり書き換えることが出来る。類似のソフトウェアとして Wireshark や Fiddler, Paros がある。 アプリの開発をしていてよくあるのは、APIがスタブで固定値しか返してくれない、異常系エラーのデバッグがやりづらい、という場面だが、Charles なら通信を好きに値を書き換えられるのでこれらに簡単に対処することができる。 Charles は Java アプリなので OS X だけでなく WindowsLinux でも利用する事が出来る。稿では OS X + iOS での利用を前提として Charles の導入から簡単な使い方までを説明するが、環境依存の箇所は適宜読み替えてほしい。 導入 来は有料ライセンスだが、無料でも数分間だけ使用

    通信系のデバッグには Charles が便利 - Qiita
  • DBマイグレーションツール活用のすすめ〜Flyway〜 - Qiita

    概要 巷にはDBマイグレーションツールなるものがあります。この、マイグレーションというのは移行を意味しますが、いわゆる旧環境から新環境への移行といったデータ移行を意味するものではないのです。DB環境(DBスキーマ+データ)を移行して、同一状態のDB環境を手軽に構築できるようするツールなのです。 ここではFlywayというDBマイグレーションツールを試してみます。DB環境をバージョン管理して、DB移行を簡単にしてくれるツールです。 開発時、複数の開発者がそれぞれのDBを使うことがあります。それらのDB環境を一致させることが簡単になるので、古いDB環境を使って間違った実装・テストをするといった事態を未然に防止できるようになります。 ソースコードのバージョン管理が開発を支えるように、DB環境のバージョン管理も開発を支えてくれるはず。今後、システム開発の現場でDBマイグレーションツールの利用を検討

    DBマイグレーションツール活用のすすめ〜Flyway〜 - Qiita
  • 例外、エラー、異常、そして - Qiita

    「例外」「エラー」「異常」あたりの言葉が、言語仕様や設計の中で人によって微妙にずれた使い方されてるから、 「Expected だが Accept されないケース」を表す別の言葉が欲しい。 — Jxck (@Jxck_) 2016年8月31日 @Jxck_ 来こう分類されて、 1. Expected/Accepted 2. Expected/UnAccepted 3. UnExpected 2, 3 をどう呼ぶかあたりで、例外, エラー, 異常などの言葉が入り乱れてて、それが広義の例外処理が誤解される原因だと思ってる — Jxck (@Jxck_) 2016年8月31日 Expected and Accepted Expected but Unaccepted Unexpected

    例外、エラー、異常、そして - Qiita
    gologo13
    gologo13 2016/09/01
  • RDSでロックなしのALTER TABLE(pt-online-schema-change使用) - Qiita

    データ件数が大量に(レコード数100万以上とか)ある場合、ALTER TABLE時にテーブルの書き込みロックが無視できないレベル(時間)で発生します。 テーブルの書き込みロックについて MySQL5.5以前: ALTER TABLE時に発生 MySQL5.6以降: ALTER TABLEでカラムのデータ型変更、全文検索用インデックスの追加、プライマリキーの削除、文字コードの変換/指定 を行った時に発生 参考: http://takatoshiono.hatenablog.com/entry/2015/03/11/013316 pt-online-schema-changeを使用することで、テーブルロックなしでのALTER TABLEができます。 pt-online-schema-changeのインストール方法(Mac homebrew) $ brew install percona-too

    RDSでロックなしのALTER TABLE(pt-online-schema-change使用) - Qiita
  • エンジニアが海外転職する際にプラスになるコーディング面接の対策サイト - Qiita

    英語を使って海外エンジニア職に転職しようとする際に避けては通れないのが技術面談。もし海外エンジニア職への挑戦をお考えの方でそれが初めての場合、この技術面談の対策は十分にとっておいた方がいい。 きっと思っているよりも実際にやるとその難しさを実感するパターンがこの技術面談。たまにYouTubeに技術面談をシミュレーションしている様子のビデオが上がっているが、なんか嘘くさいし、そんなビデオを横から見ても一体ナニをどうすればいいのか対策の立てようがない。 だいたいこの技術面談でその応募者の相手をするのは現役バリバリのエンジニアだ。日のように転職面接に人事の人が出てくることはまずない。エンジニア技術レベルを測れるのはエンジニアだけ、という当たり前な理由なんだけど。とにかく現役のエンジニアがこれでもか、というぐらいにあなたの真の実力を読み取ろうとしてくる。 技術面談で出される問題は大きく分けて

    エンジニアが海外転職する際にプラスになるコーディング面接の対策サイト - Qiita
  • Rails + MySQL(InnoDB)で絵文字を使う - Qiita

    なぜ絵文字をデフォルトで使えないか utf8は3バイト文字までしか対応していない 絵文字は4バイトなので不正な文字として扱われる 絵文字Mysqlで扱うには 文字コードをutf8mb4にする 参考(MySQLのutf8mb4 文字セットについて):https://dev.mysql.com/doc/refman/5.6/ja/charset-unicode-utf8mb4.html Rails + MySQLでのutf8mb4の設定フローは下記のとおり。 1. my.cnfを設定 innodb_large_prefix のちに ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes とエラーが出ることがある。 これは767byte問題ともいわれる。InnoDBテーブルのキープリフィックスは最高

    Rails + MySQL(InnoDB)で絵文字を使う - Qiita
    gologo13
    gologo13 2016/08/29
    utf8mb4, innodb_large_prefix=ON, innodb_file_format=Barracuda
  • 「なぜDI(依存性注入)が必要なのか?」についてGoogleが解説しているページを翻訳した  - Qiita

    イマイチ理解しきれていなかったDIに関して調べていところ、Google Guiceの解説がすごく分かりやすかったので、和訳してみました。 (ところどころ意訳気味です。明らかに解釈の誤った訳がありましたら、ご指摘ください) ちなみにGoogle Guiceというのは、Googleが開発したDIライブラリです。この例ではJavaが使用されていますが、Scalaでも使用可能です。最近Play Frameworkでも採用されたので話題になっているようです。 用語の定義 文を読む前に目を通すことで、内容をスムーズに理解できます。 用語 意味 文中の例

    「なぜDI(依存性注入)が必要なのか?」についてGoogleが解説しているページを翻訳した  - Qiita
  • 海外でソフトウェアエンジニアとして働く利点と欠点 - Qiita

    誰が書いているの? この記事は、イギリスのロンドンで4年間ソフトウェアエンジニアとして働いてきたYoh Okunoが書いています。現在の所属はMicrosoftの英国法人で、その前はMicrosoftが買収したSwiftKeyという会社で働いていました。詳しくは以下の記事を参照してください。 MicrosoftAIで入力予測をするキーボードアプリ「SwiftKey」を2億5000万ドルで買収 海外で働く利点 ここでは主に英語圏の現地企業でソフトウェアエンジニアとして働く場合を想定します。日企業の駐在員の場合は事情が違うかもしれません。 給料が高い 海外エンジニアの給料についてはいろいろな記事がすでにあるので、例えばこの記事を参考にしてください。 ITエンジニアの地位とは?国別、職種別の年収比較から見えるもの やはりアメリカのソフトウェアエンジニアは給料が高いです。アメリカにはグーグル

    海外でソフトウェアエンジニアとして働く利点と欠点 - Qiita
  • サーバからクライアントに送信する技術 - WebSocketを中心に - Qiita

    Webでのプッシュ技術 HTTPはクライアント(ブラウザ)からリクエストしてサーバからレスポンスが返る一問一答型のプロトコルなので、基的にはサーバ側からブラウザに新着情報をリアルタイムで通知(プッシュ)できるようにはできていません。 しかしそれでもプッシュをしたいという場合にどうするかという話が出てきます。やり方には以下のようなものがあります。 ポーリング クライアントからサーバに定期的に新着を問い合わせるようにします。 最も原始的かつ確実なやり方。欠点は、最大でポーリング間隔の分だけ通知が遅延しうることです。 ロングポーリング(“COMET”) ポーリングなのですが、問い合わせを受けたサーバは新着情報がなければレスポンスを返すのをしばらく保留します。 そのあいだに新着情報が発生すれば即座にレスポンスを返しますし、一定時間経過したら何もなかったとレスポンスを返しましょう。 飛び交う通信内

    サーバからクライアントに送信する技術 - WebSocketを中心に - Qiita
  • CloudWatchのELB監視項目 - Qiita

    指定されたAvailabilityZoneでのロードバランサーに登録されたhelthyなEC2インスタンスの数。 unhealthyな閾値を超えてヘルスチェックに失敗していないホストはhealthyだとみなされる。 このmetricを評価する場合、dimensionはLoadBalancerNameとAvailabilityZoneで規定されるはずである。 このmetricは指定されたAvailability Zoneでのhealthyなインスタンスの数を表している。 200でない応答(HTTPやHTTPSでのヘルスチェックの場合)が返ったり、ヘルスチェックを行っている場合にタイムアウトするような接続の問題でインスタンスはunhealthyになることがある。 全てのhealthyなホスト数の合計を得るために、このmetricは各登録されたAvailabilityZoneを取得し、全てのme

    CloudWatchのELB監視項目 - Qiita
  • 突然SAML認証と仲良くしなきゃいけなくなった人へ - Qiita

    あわわ、なんかSSO関連の案件でなんとかやってたら 急に手ごわそうなSAMLとか言うのがでてきやがったぜって方向け。(初心者向け) ひとまずSAML認証の概要のキャッチアップ http://xmlconsortium.org/websv/kaisetsu/C10/content.html ここ見れば登場人物やそれぞれの役割、関わり方がざっくりわかるので 一旦目を通しておく。 重要なワードたち SOAP:Simple Object Access Protocol SOAPはメッセージングのエンベロープの仕様を定めているものであるが、 Webサービスのプロトコルとして、要求/応答をRPCとする手順も規定している。 SAMLの提供するサービス 認証情報伝達サービス(Authentication Assertion) 属性情報の伝達(Authorization Assertion) アクセス制御情

    突然SAML認証と仲良くしなきゃいけなくなった人へ - Qiita
  • eslint-config-airbnbを守りたかった - Qiita

    ESLint のルールに eslint-config-airbnb v5.0 を採用してみたけど、一部のルールが厳しかったという話です。 eslint-config-airbnb の設定 おそらく、一番デフォルトの全部入りの設定 Our default export contains all of our ESLint rules, including EcmaScript 6+ and React. It requires eslint and eslint-plugin-react. npm install --save-dev eslint-config-airbnb eslint-plugin-react eslint add "extends": "airbnb" to your .eslintrc no-param-reassign http://eslint.org/docs

    eslint-config-airbnbを守りたかった - Qiita
    gologo13
    gologo13 2016/08/21
    厳しいらしい
  • https://qiita.com/Dronetube/items/ac02a23eafe7d09f3b57

  • 【ELB】AWS ELBの負荷テストをJMeterServer群でやる【負荷テスト】 - Qiita

    更新履歴 2014/2/17 コメント頂いた内容を反映、誤字を修正 なぜELBの負荷テストはJMeterクライアント(GUI)1台からではだめか。 当初、ELB配下に、AZ-Aに2台、AZ-Cに2台の合計4インスタンスがある構成で、自分の開発マシンでJMeter(GUI)を動かして負荷テストをしていたのですが、なぜか、AZ-Aの2台にしか負荷が入っていない。 ググっていたら、AWS Japanの公式スライドを発見 http://www.slideshare.net/AmazonWebServicesJapan/20130612-aws-meisterregenerateelbpublic ↑のp49に、 「都度DNS解決を行うツールが望ましい」 とあります。 なるほど確かに、JMeterはDNSキャッシュしてしまっているようです。↓ https://twitter.com/just_do_

    【ELB】AWS ELBの負荷テストをJMeterServer群でやる【負荷テスト】 - Qiita
  • Webアプリケーションの負荷試験の進め方 ケーススタディー - Qiita

    はじめに 負荷試験ってとっても重要ですが、リリーススケジュール優先でどうしても後回しにされたり、省略される事がありませんでしょうか。 特に近年はクラウドでの動作が前提となっているため、リリース後のスケールアップやスケールアウトが容易であるというということも、事前の負荷試験が軽視されてしまう要因となっているかもしれません。 しかしながら、ある案件で負荷試験を行ってやっぱり重要だなということがわかったので自戒を込めて負荷試験実施からパフォーマンス・チューニングの流れを記載します。 各ツールの詳細な紹介などは自分が参考にしたリンクを随時追記したいと思います。 ※以下、数字は例であり、適当に丸めてあります。 負荷試験を軽視することにより発生しうるケース 簡単に思いつくこと サービスの継続に必要なサーバリソースが予算またはサービスの収入を上回った。(ワーストケース) サービスの継続に必要なサーバリソ

    Webアプリケーションの負荷試験の進め方 ケーススタディー - Qiita
    gologo13
    gologo13 2016/08/18
    負荷をかけた後のボトルネック検出のケーススタディがあるので有用
  • 負荷テスト - Qiita

    負荷テストとは 大量のデータを投入し、高い負荷をかけて 「ソフトウェアが正常に機能しているか」 確認するテストです。 ※長時間、高負荷が継続すると不具合 が起きてしまう可能性があるためです。 「単体テスト」や「結合テスト」だけでは見つけられない不具合がある。 また、想定のユーザー数でも耐えることができることを確認するためのテストでもあります。 負荷テストツール どんな負荷テスト想定しているかで変わります。 「大規模負荷テスト」「サーバ負荷テスト」「処理単位の応答時間」 高価なものから無償のものまでです。負荷テストツールの選定も大事な負荷テスト計画となりますね。 1.Apache Jmeter JMeterはJakartaプロジェクトが開発している無償負荷テストツールです。 GUIインターフェースを使ってかなり細かく負荷テストのシナリオを設定する事ができます。 レスポンスタイムが3秒以内を目

    負荷テスト - Qiita
  • Lambda + API Gateway で処理の実行がむちゃくちゃ遅くなるケースを調べた - Qiita

    Lambda + API Gateway の実行に 10秒以上かかることがある この記事のコード、VPC 内で RDS に1行挿入してるだけなのに curl で実行してレスポンス返ってくるまでに 10秒以上かかることがザラにあります。 どこに時間がかかってそうか 怪しいポイントを抑える 怪しいポイント1: コンテナ起動のタイミング Lambda はコンテナ上で実行される コールされた時にコンテナがなかったらコンテナ作成から始める 1回コンテナが死んだ後の初期化のタイミングが怪しい → コンテナは 1回立ち上がったら 15〜20分生きているっていう話なので、15〜25分間隔でコールする 怪しいポイント2: RDS 接続 RDS に接続する際に時間がかかっている可能性もある → RDS に接続するファンクションと接続しないファンクションそれぞれで計測 怪しいポイント3: VPC 絡み Lamb

    Lambda + API Gateway で処理の実行がむちゃくちゃ遅くなるケースを調べた - Qiita
  • AWS LambdaのVPCアクセスに関して少しだけ解説 - Qiita

    AWS LambdaVPC内リソースへのアクセスが可能になるアップデートが行われました。これは昨年のre:Inventで発表のみされていたものの、その時点ではまだ使えず非常に多くの人がそのリリースを待ち望んでいた機能です。基的な内容はこちらのブログ記事を参照頂くとして、ここではいくつかキーとなるポイントを簡単に紹介したいと思います。 概要 ブログを読んでもらえばわかるのですが簡単に説明すると、これまでAWS LambdaのファンクションはVirtual Private Cloud(VPC)内にあってパブリックなIPを持っていないAWSリソースにはアクセスできませんでした。従ってAWS Lambdaからデータベースにアクセスしようとした場合にはデータベースサーバのIPアドレスやポートをパブリックにした上でアクセスを許可する必要がありました。一方でAmazon ElastiCacheのよう

    AWS LambdaのVPCアクセスに関して少しだけ解説 - Qiita