タグ

2015年12月16日のブックマーク (13件)

  • Navigation Timingだからできる、Webアプリを俯瞰したパフォーマンス計測(1/3)

    Navigation Timingだからできる、Webアプリを俯瞰したパフォーマンス計測(1/3) 川田寛(ピクシブ株式会社) こんにちは、html5jパフォーマンス部、スタッフの川田です。5月8日ですが、私たちのコミュニティ主催で勉強会を開催することになりました!! そして、残念なお知らせです。募集した直後に、席が埋まってしまいました!せっかく、これだけ多くの方にパフォーマンスへ興味を持っていただいたのに、このままじゃもったいない! なので記事では、この勉強会で語られない、別の切り口からパフォーマンスについて語ってみようかと思います。内容は、私が技術評論社「Software Design 2014年5〜7月号」にて連載しております、「Web標準技術で行う、Webアプリのパフォーマンス改善」で扱っているテーマの一部を、Web向けに書き直したものです。 Webアプリのパフォーマンス計測は簡

    Navigation Timingだからできる、Webアプリを俯瞰したパフォーマンス計測(1/3)
  • 『Webアプリの簡易なパフォーマンス測定』

    人生で初めて、Webアプリのパフォーマンスチューニングをちょっとやってます(照) パフォーマンスチューニングするためには、当然、指標をもたなければなりません。 ・チューニング前とチューニング後で、どう変化があったか? ・それは、いい効果か?? という、効果の評価をするためですね。 素人の自分は、ひとまず、レスポンス時間に着目して効果を見ることにしました。 レスポンス時間だけなら、ブラウザでも見れますしね。 1.chromeでレスポンス時間を取得する。 下記の画面のデベロッパーツールを起動します。 ショートカットキーは、Ctrl + Shift + I ですね。 起動したら、「Network」のタブを開いて、緑の再生マークが出ていればクリックして、赤丸のレコードマークにします。 その後、計測したいURLを表示すると測定されます。 chromeなら、Macでも行けちゃうのでブラウザから編集でき

    『Webアプリの簡易なパフォーマンス測定』
    gouei2001
    gouei2001 2015/12/16
  • 【技術解説】アプリケーションパフォーマンスを測る4つの手法

    監視手法の違いによる、APMツールの4タイプ 前回「【導入効果】仮想化・クラウド時代のシステム障害対策『アプリケーションパフォーマンス管理製品』」では、APM(Application Performance Management)ツールの導入効果を紹介した。ただ、APMツールは監視手法の違いによって4つのタイプに分けられる。 APMの関連コンテンツ 責任問題を終結に導く――プロアクティブなアプリケーションパフォーマンス管理の第一歩(ホワイトペーパー) 運用を始めてからでは遅い! 仮想化環境におけるアプリケーションパフォーマンス管理(ホワイトペーパー) クラウド時代におけるエンドユーザ目線によるWebサイトのパフォーマンス管理の必要性(ホワイトペーパー) Webアプリケーション開発におけるパフォーマンス・ボトルネック34の問題&回答(ホワイトペーパー) 今回は監視手法の違いとそれぞれのメリッ

    【技術解説】アプリケーションパフォーマンスを測る4つの手法
  • JMeterでWebアプリケーションのパフォーマンス測定を行う

    はじめに 筆者がこれまで見てきたWebシステムの中には、機能仕様を満たしているものの、パフォーマンスの点でユーザが大きな不満を抱えているケースが珍しくありませんでした。その理由として、負荷テスト(または、ストレステスト)がほとんど行われていない、または全く行われていないケースであることが多かったのです。不特定多数のユーザが利用するWebアプリケーションでは、どれほど便利な機能があったとしても、十分なパフォーマンスが出なければ、ユーザビリティを損なってしまいます。 そこで、稿では負荷テストツールであるJMeterを使い、Webアプリケーションに対して負荷テストを行う方法を解説します。 対象読者 Webアプリケーションの開発を行っていて、JMeterを使った基的な負荷テストの方法を学習したい方。開発言語は問いません。 環境 必須環境 稿では、JMeterとテスト対象Webアプリケーション

    JMeterでWebアプリケーションのパフォーマンス測定を行う
  • 数値で測るコード品質 - give IT a try

    プロフィールのところにも書いてあるのですが、おいらの目標は「美しく無駄のないシステムアーキテクチャを設計、構築すること」です。 なぜならシステムの保守性や拡張性って、アーキテクチャやコードの品質によって雲泥の差が出ることを、幾度となく痛感してきているからです。 しかし、どんなアーキテクチャやソースコードがキレイなのか、拡張性や保守性が高いのか、っていうのはなかなか客観的に判断しにくいのもたしか。 「俺のコードはあんたのより分かりやすい」 「そうですか??」 「絶対そうやろ!?なんでわからんのや???」 みたいな議論が始まったらたぶん平行線になっちゃいますよね。 そこでツールを使って、コードの品質を定量的に測ってみることにしました。 今回使ったツール 今回使ったツールはこちらです。 SourceMonitor V3.5 http://sourceforge.net/projects/dupl

    数値で測るコード品質 - give IT a try
  • 自動化テストで気をつけること - give IT a try

    先日、会社のメンバーからテストの自動化に苦労しているという話を聞きました。 そういえば、一言で「テストの自動化」といっても結構奥が深いので、自動化テスト初心者が注意すべき点や重要なポイントをちょっと考えてみました。 自動化テストの注意点 どのような処理でもプログラムとして自動化できるプログラミングスキルを実装者が持っていること。 結局、手作業でやっていることのほとんどをプログラムとして実装する必要があるからです。 いつでも、どこでも、誰が実行しても同じテスト結果が返ってくるようにテストを作成すること。 たとえば、テストの成功・失敗がシステム日時や外部ファイルやデータベース等に格納された不安定なデータに依存しているとテストがすぐに壊れます。 壊れたテストを放置しないこと。 少なくともソース管理システムにコミットしたファイルはすべてパスするようにしましょう。 壊れたテストを放置すると、誰も自動

    自動化テストで気をつけること - give IT a try
  • C#プログラマのための理解度チェックリスト - give IT a try

    前回のエントリでは「新しい言語を勉強したって、前に使ってた言語と同じような書き方をしてたら意味がない」という話をしました。 そこでC#を題材にして、C#を質からマスターできているかどうかを確認するためのチェックリストを作ってみました。 これらの質問に対してすべて自分の言葉で説明できるのであれば、あなたはきっとC#をC#らしく使えているはずです。 interfaceって何のためにある?どういうときに使う?それがあったら何が嬉しい? 抽象クラスや抽象メソッドって何のためにある?どういうときに使う?それがあったら何が嬉しい? virtualって何?なんでJavaにはvirtualがない? 名前空間って何?それがあったら何が嬉しい? クラスって何?自分で新しくクラスを作る場合の注意点は何?(オブジェクト指向設計的な観点から) クラスと構造体の違いって何?参照型と値型の違いって何? フィールドやメ

    C#プログラマのための理解度チェックリスト - give IT a try
  • レガシープログラマさんと一緒にリファクタリングをする、の巻 - give IT a try

    前回のエントリではレガシープログラマの判断項目について、書きました。 その日、仕事でレガシープログラマさんの一人が書いたプログラムを一緒にリファクタリングしました。 レガシープログラマさんと言っても、おいらより年下の女性エンジニアです。 今回のエントリではそのやりとりについて書いてみたいと思います。 元のプログラムはどんなプログラム? そのプログラムは以下の判断項目に該当していました。 複数のデータをまとめて扱う際は毎回配列を使う。配列の上限数はありえなさそうな数を指定する(1000とか)。 基データ型(stringやint)と配列だけでデータ構造を表現しようとする。 クラスのフィールド変数をグローバル変数のように利用する。 言語はC#2.0で、CSVを読み込んでメールを送信するプログラムです。 ただし、同じFromとToの組み合わせに対しては一通のメール内の複数のコンテンツを含めて送信

    レガシープログラマさんと一緒にリファクタリングをする、の巻 - give IT a try
  • 2011-02-18 - ITは芸術だ レガシープログラマかどうかを判断する10項目

    ※2011.3.30追記 11個目の判断項目を追加しました。 また、「昔はね...」の補足説明を各項目に追加しました。 レガシープログラマ = モダンな言語のおいしい機能をうまく使いこなせていないプログラマ おいらは時々社内システムのコードレビューなんかをやっているのですが、「なんかちょっと前時代的だな〜」とか「ちょっと修正したらC言語でもコンパイルできそうだな〜」って思うことがよくあります。 おいらがレビューする言語は主にC#です。C#やJavaのような比較的モダンな言語のおいしい機能をうまく使いこなせていないプログラマを、ここでは「レガシープログラマ」と呼ぶことにします*1。 そこで、おいらがこれまでに見てきたコードの中から「これはレガシープログラマっぽい」と思った典型的な症例を10個11個挙げてみます。 レガシープログラマの判断項目 使われるローカル変数をすべてメソッドの最初に宣言す

    2011-02-18 - ITは芸術だ レガシープログラマかどうかを判断する10項目
  • おかしなおかしな目標管理 - give IT a try

    組織のゴール うまく書けるかどうか分からないけど、前々からちょっと気になっていた話です。 うちの会社では半期ごとにゴールを設定します。 ゴールは通常、組織全体で定量化(数値化)できるものが設定されます。 ゴールを達成したかどうかで、特別ボーナスの額が変わることがあります。 この会社に入った時は前の会社のあいまいな(つまり基準がよく分からない)評価制度があまり好きではなかったので、「明確に評価できるのはいいね!」と感じていたのですが、最近その弊害をよく感じます。 一言でいうと、目的と手段が入れ替わってしまう時があるんです。 では具体例を・・・いや、ちょっとその前にコンテキストを説明します。 今から始まる話のコンテキスト おいらは社内SEである。 顧客はすべて社内の人間である。 開発も社内で行っている。外注はしていない。 社内開発なので当然、開発に関わる金銭のやりとりは発生しない。 期日につい

    おかしなおかしな目標管理 - give IT a try
  • 処理時間を正確に計測するには?[2.0のみ、C#、VB] - @IT

    あるコードの実行にかかる時間をプログラムで計測したい場合、.NET Framework 1.1ではDateTime構造体(System名前空間)で開始/終了の時刻を取得して算出したり、より正確に計測したい場合にはWin32APIのQueryPerformanceCounter関数*などを直接呼び出したりする必要があった。 * この関数を利用するには、ハードウェアが高分解能パフォーマンスカウンタをサポートしている必要がある。このため古いPCでは利用できない可能性もある。 .NET Framework 2.0のクラス・ライブラリには、このQueryPerformanceCounter関数をベースにしたStopwatchクラス(System.Diagnostics名前空間)が新しく追加されており、正確な経過時間を簡単に計測できるようになっている。 Stopwatchクラス Stopwatchクラ

  • C#のコード品質を上げるフリーツール8本 - give IT a try

    はじめに 読みにくいコードや複雑なコードをメンテナンスするのってイヤですよね。 コードの品質を上げる方法の一つにコードレビューがありますが、すべてのソースコードを人力でチェックしていくのは大変ですし、レビュアーのスキルや好みにも大きく依存してしまいます。 そういう場合はツールを使って自動化するのが有効です。 ツールを使えばあっという間に完了しますし、実施者のスキルや好みに左右されることもありません。 しかし、あまりお金がかかるツールだと、ちょっと気軽に導入しにくいです。 そこで今回はC#のコード品質向上に有効なフリーツールを紹介します。 実際のプロジェクトで使用したことがあるものばかりなので、どれも「使えるツール」だと思いますよ。 ところで、ツールを紹介する前にTipsと注意点を簡単に挙げておきましょう。 ツールを利用する際のTips 自分の書いたコードのみを対象とし、ツールが作成したコー

    C#のコード品質を上げるフリーツール8本 - give IT a try
  • CPU知識/ターボ・ブースト・テクノロジー/パソコン購入知識

    パソコン購入をアドバイス! パソコンの頭脳であるCPUを解説!スペックを知るには、ブランド、動作周波数、キャッシュメモリなどがあります。それらを分かりやすく解説。また、CPUの性能アップとなるテクノロジーについても解説。 【サイトマップ~DELLガイド】 デスクトップ・レビュー XPS 8500 Inspiron 660s Inspiron 660 XPS One 27 Inspiron One 2020 ノートパソコンレビュー Inspiron 15(3520) Inspiron 15R(5520) Inspiron 15R SE XPS 15 Inspiron 17R SE Inspiron 14z Ultrabook XPS 14 Ultrabook Inspiron 13z(5323) XPS 13 Ultrabook(L321X) Alienware M14x(M14xR2) I