タグ

2014年1月15日のブックマーク (10件)

  • MVCの流れを簡単にまとめてみる - Qiita [キータ]

    理解しやすいように適当に遮ったり、言い切ってしまったところもあるがご容赦いただきたい。 MVCの登場 MVCは、SmalltalkのGUIライブラリのモデルとして登場した。 これはGUIアプリケーションを記述する際に、適切なモデル化を進めるのにとてもいい考え方だと思われていたし、実際にそうだった。 これはアーキテクチャパターンとして、それぞれがどのように依存するべきか、どこにコードを書くべきかということを端的に表している。 安定依存の原則というものがある。これは、要件が安定しているモジュールに依存し、要件が変動しやすいモジュールには依存しないようにするという原則だ。MVCアーキテクチャでは、GUIアプリケーションの安定関係をModel > View > Controllerの順でとらえている。データ処理や業務要件というのは安定しており、UIパーツもまた比較的安定している。それらを統合してア

    MVCの流れを簡単にまとめてみる - Qiita [キータ]
  • RestfuseによるREST API自動試験まとめ(その1) - Taste of Tech Topics

    こんにちは、Web系エンジニアのナカガワです。 皆さん、REST APIのテストはどのようなツールを使っていますか? 私はJUnitでテストが書ける「Restfuse」を使っています。 今回、実プロジェクトでRestfuse + Jenkinsで定期的にREST APIをテストする仕組みを構築したため、このあたりのノウハウをまとめて書きたいと思います。 REST APIテスト自動化のゴール ゴールは以下の二つです。 (1) APサーバ上で動作しているWebアプリケーションに対し、自動でREST APIテストを実施する。 (2) Jenkinsを用いてCIを実施可能にする。 まず今回は、前者のREST APIテストを実施するところまで紹介します。 Restfuseを使って、REST APIをJUnit上でテスト可能に! 先にも書きましたが、私が使ったのはRestfuseというツールです。 R

    RestfuseによるREST API自動試験まとめ(その1) - Taste of Tech Topics
  • PostgreSQL: Linux downloads (Ubuntu)

    PostgreSQL is available in all Ubuntu versions by default. However, Ubuntu "snapshots" a specific version of PostgreSQL that is then supported throughout the lifetime of that Ubuntu version. The PostgreSQL project maintains an Apt repository with all supported of PostgreSQL available. Included in Distribution Ubuntu includes PostgreSQL by default. To install PostgreSQL on Ubuntu, use the apt (or o

  • ジェネレータの解説と非同期への適用 - Block Rockin’ Codes

    update 2014-01-16 ご指摘頂いたので修正しました。ありがとうございます! @Jxck_ 動画すごくわかりやすかった!一個、重箱の隅っこなんだけど、convert関数のapplyしてるところ、fn.apply(fn, args) になってるけど fn.apply(this, args) が正しい気がしました!— Kazuhito Hokamura (@hokaccha) 2014, 1月 13 https://gist.github.com/Jxck/8380852 は修正済みです。動画の取り直しは勘弁して下さい(汗 - fn.apply(fn, args); + fn.apply(this, args); intro あけましておめでとうございます。 今年からはてなブログへ移行しました。 去年末くらいから流行っている Express の後継 Koa では JS の新機能ジェ

    ジェネレータの解説と非同期への適用 - Block Rockin’ Codes
  • [その1] HTTP/2の留意点とトレードオフ - ワザノバ | wazanova

    https://insouciant.org/tech/http-slash-2-considerations-and-tradeoffs/1 comment | 0 pointsChromiumの開発チームのWilliam Changが、HTTP/2の要検討事項とそのトレードオフについてまとめています。HTTP/2.0とSPDYの概要については、Akamaiのこの10分のビデオを参照ください。 1) Network Performance HTTP/1.xは、ネットワークの利用が非効率。HTTP Pipelining(それはそれで固有の問題がある。)を除いて、HTTP/1.xは、接続あたり一つのトランザクションしかできないことが、HOL (Head of line) blockingの原因となる。HOL blockingはラウンドトリップのコストが高く、ページ読込みのパフォーマンスを悪化

  • Stack Overflowのアーキテクチャ - ワザノバ | wazanova

    http://www.youtube.com/watch?v=OGi8FT2j8hE1 comment | 0 pointsドイツのハンブルグで開催されたDeveloper Conference 2013で、Stack Overflowのアーキテクチャが紹介されてます。 Stack Overflowのネットワークは、110 Q&Aサイト、430万ユーザ、質問760万件、回答1360万件、月間5億6千万ページビュー サーバ25台: ウェブサーバ11台(内9台でほぼトラフィックさばく)、ロードバランサ1台 (+ 予備1台)、DBノード4台、アプリサーバ3台、検索サーバ3台(Elasticsearch)、Redisサーバ2台(キャッシュ、メッセージング) 毎秒質問が投稿されているので、トップページには都度最新の質問を掲載するように更新はできないが、ユーザの回答パターン、質問閲覧パターン、好みのタ

  • OTN Japan マニュアル

    DACとFGACの併用: 図2は、LOCATIONS表の問合せをおこなう場合の流れを示しています。 図2. DACとFGACによるフロー まず、データベースにおいて、ユーザーがDACに基づく十分な権限を保有しているかどうかを判断します。 HR.LOCATIONSからのデータ選択が許可されている場合、そのユーザーがポリシーを省略する権限を持っているかどうかの確認がデータベースによって実行されます。 ユーザーに特別な権限がない場合、アクセスはポリシーに基づいて仲介されます。 ユーザーが特別な権限を保有している場合、その権限に基づいて仲介が省略されたうえで問合せが実行されます。 サンプル・アプリケーションには、複数のユーザーがログインして同一の問合せをおこなう場合のフローを示すテスト・スクリプト(SQL*Plusで実行)が含まれています。 SQL*Plusを開いて次のように入力し、複数のユーザー

    OTN Japan マニュアル
  • 適当なスクリプトをデーモン化するのにSupervisorが便利 - id:anatooのブログ

    適当なスクリプトをデーモン化しようと思った時の典型的な要件が以下であるが、この記事でも紹介したpython製のプロセス管理ツールであるSupervisorを使うことによって解決できる。 プロセスの生死の監視する プロセスが死んだら勝手に再起動する 標準出力やエラー出力のログを取る 場合によっては複数プロセスを起動したい プロセスのステータスを簡単に確認したい この記事では、プロセス管理ツールSupervisorの導入を簡単に紹介する。 インストール easy_installからインストールできる。そもそもeasy_installが入ってない場合は以下みたいにインストール。 $ curl -O http://peak.telecommunity.com/dist/ez_setup.py $ python ez_setup.pySupervisorをeasy_installからインストールしま

    適当なスクリプトをデーモン化するのにSupervisorが便利 - id:anatooのブログ
  • coolcoder.in

    This domain may be for sale!

    coolcoder.in
  • List<T>よりArrayList<T>のほうが速いって本当? - Islands in the byte stream

    結論:どちらも同じなので意味的に適切だと思う方を使ってよい 発端は以下のツイートだ。 たしかに、公式ドキュメントには以下のように書いてある。 On devices without a JIT, it is true that invoking methods via a variable with an exact type rather than an interface is slightly more efficient. (So, for example, it was cheaper to invoke methods on a HashMap map than a Map map, even though in both cases the map was a HashMap.) It was not the case that this was 2x slower; the

    List<T>よりArrayList<T>のほうが速いって本当? - Islands in the byte stream