タグ

2013年11月26日のブックマーク (21件)

  • これであなたもテスト駆動開発マスター!?和田卓人さんがテスト駆動開発問題を解答コード使いながら解説します~現在時刻が関わるテストから、テスト容易性設計を学ぶ #tdd|CodeIQ MAGAZINE

    和田卓人さんによるテスト駆動開発問題解説の寄稿です! バグのないよいコードを書くには、よいテスト設計が重要です。今回は現在時刻に関する問題と、その問題で提出された実際の解答コードを紹介しながら、どのようにテスト設計し開発していくのかを解説していきます。 ゲスト解答による解答コードも公開中! by CodeIQ運営事務局 はじめに こんにちは、和田(@t_wada)です。今日は先日出題させていただいたTDDに関する問題の総評を行いつつ、テスト容易性設計について考えてみたいと思います。 問題文 私が出した問題は、以下のようなものでした。 問1. 下記の仕様をテスティングフレームワークを使ってテストコードを書きながら実装してください。 【仕様1】 「現在時刻」に応じて、挨拶の内容を下記のようにそれぞれ返す機能を作成したい。 (タイムゾーンはAsia/Tokyoとする) 朝(05:00:00以上

    これであなたもテスト駆動開発マスター!?和田卓人さんがテスト駆動開発問題を解答コード使いながら解説します~現在時刻が関わるテストから、テスト容易性設計を学ぶ #tdd|CodeIQ MAGAZINE
    ryshinoz
    ryshinoz 2013/11/26
  • 監視ソフトをNagiosからSensuに切り替えて2ヶ月経ったのでまとめた - Glide Note

    新規サービス用の監視をNagiosからsensuに切り替えて2ヶ月経ったので、 導入時の調査で社内で公開してたissueと、投入して2ヶ月間運用した記録を公開しておこうと思う。 というか以前Sensuの事を書くと公言していたのに、すっかりサボっていて 昨日@ma0eさんのブログを見て下記のやり取りを思い出して急いで書いた… @ma0e We started using it. @glidenote will report the detail soon, I think. — kentaro (@kentaro) 2013, 10月 30 @kentaro @glidenote that would be nice — Mitsutoshi Aoe/maoe (@ma0e) 2013, 10月 30 導入環境はCentOS 6.4で、利用しているsensuのバージョンは0.12.1-1にな

    ryshinoz
    ryshinoz 2013/11/26
  • 新・ももんが流NeoBundle管理術(あたらしい) - かなりすごいブログ

    Vim Advent Calendar 2012、361日目の記事になります。 全世界3000億人の美少女Vimmerのみなさん、こんにちは。 さて、今回は、おなじみのプラグインマネージャNeoBundleに最近追加されたneobundle#tap・neobundle#untapや、丁度日追加されたautoloadのon_sourceオプションを活用した、新・ももんが流NeoBundle管理術をお伝えしていきたいと思います。 最近追加されたneobundle#tap・neobundle#untapについてこれは、私の以前の記事「ももんが流NeoBundle管理術」にてご紹介したs:bundle_tap関数やs:bundle_untap関数などを、NeoBundle作者であるShougoさんがオフィシャルな機能として実装してくださったものです。 NeoBundle付属の関数となったことで若

    新・ももんが流NeoBundle管理術(あたらしい) - かなりすごいブログ
    ryshinoz
    ryshinoz 2013/11/26
  • 今さら聞けない Immutable Infrastructure - 昼メシ物語

    Immutable (不変な) Infrastructure は、サーバを一度セットアップしたら二度と変更を加えないという運用スタイルのことを指します。 クラウド環境では、必要に応じてすぐにサーバを用意し、不要になったら簡単に破棄することができます。Immutable Infrastructure は、このようなクラウドの特性を活かす運用スタイルとして、注目されつつあります。 背景 Immutable Infrastructure が提唱された背景にある技術として、 Auto Scaling や Blue-Green Deployment*1 などがあります。 Auto Scaling Auto Scaling は、負荷に応じて自動的にサーバ台数を増減させる技術で、 AWS では標準で提供されています。常に必要な台数だけ起動していればいいので、コスト削減になるというものです。 Auto S

    今さら聞けない Immutable Infrastructure - 昼メシ物語
    ryshinoz
    ryshinoz 2013/11/26
  • Web Application の validation はどのレイヤーでかけるべきか - tokuhirom's blog

    数年前にも同じことかいた気がするけど、最近の状況にあわせてかいてみる。 途中で面倒になってきて説明が雑になっている点をご容赦ください。 言いたいことは「結局、昔はサーバサイドで懇切丁寧なエラーメッセージを出すためにModelではなくControllerでバリデーションに関する知識が必要だったけど 今はJavaScriptでやるから不要だよね111」ってことです。 この表題は、よく話題にあがるところなのだが、理想論としては Model, Controller, Client side のいずれにおいてもきっちりと validation を行うことがのぞましい。 しかし、実際にはなかなか面倒である。ということで、どこをはぶくかというと Controller における Validation であろう。 ユーザーに対する親切なメッセージは JS の側でだすのが理想的。model の validat

    ryshinoz
    ryshinoz 2013/11/26
  • 和田卓人さん出題のテスト駆動開発問題『現在時刻とロケールに依存するテスト』をPHPを使ってオブジェクト指向で解答してみました #php #object_oriented|CodeIQ MAGAZINE

    テスト駆動開発の巨匠・和田卓人さんからの『現在時刻とロケールに依存するテスト』問題をPHPメンターズの後藤秀宣さんが解答してくださいました! この記事は、その後藤さんによる解答コードの公開と解説記事になります!! by CodeIQ運営事務局 PHPメンターズの後藤です。 和田卓人さん出題の『現在時刻とロケールに依存するテスト』問題をPHPを使ってオブジェクト指向のアプローチで解答してみました。 ※問題文については、和田卓人さんの解説記事を参照にしてください。 https://codeiq.jp/magazine/2013/11/1475/ 解答例は次の環境で作成しています。 PHP 5.5.4 PHPUnit 3.7 Composer サンプルコードのリポジトリをGitHubにて公開しています。コミットログなど合わせてご参照ください。(解説中にも各コミットへのリンクを貼ってあります) g

    和田卓人さん出題のテスト駆動開発問題『現在時刻とロケールに依存するテスト』をPHPを使ってオブジェクト指向で解答してみました #php #object_oriented|CodeIQ MAGAZINE
    ryshinoz
    ryshinoz 2013/11/26
  • FINDJOB!終了のお知らせ | FINDJOB!

    FINDJOB! 終了のお知らせ 2023年9月29日にFINDJOB!を終了いたしました。 これまでFINDJOB!をご利用いただいた企業様、求職者様、様々なご関係者様。 大変長らくFINDJOB!をご愛顧いただき、誠にありがとうございました。 IT/Web系の仕事や求人がまだ広く普及していない頃にFind Job!をリリースしてから 約26年間、多くの方々に支えていただき、運営を続けてまいりました。 転職成功のお声、採用成功のお声など、嬉しい言葉もたくさんいただきました。 またFINDJOB!経由で入社された方が人事担当になり、 FINDJOB!を通じて、新たな人材に出会うことができたなど、 たくさんのご縁をつくることができたのではないかと思っております。 2023年9月29日をもって、FINDJOB!はその歴史の幕を下ろすこととなりましたが、 今後も、IT/Web業界やクリエイティブ

    FINDJOB!終了のお知らせ | FINDJOB!
    ryshinoz
    ryshinoz 2013/11/26
  • OS X Hardening: Securing a Large Global Mac Fleet | USENIX

    OS X security is evolving: defenses are improving with each OS release but the days of “Macs don’t get malware” are gone. Recent attacks against the Java Web plugin have kindled a lot of interest in hardening and managing Macs. So how does Google go about defending a large global Mac fleet? Greg will discuss various hardening tweaks and a range of OS X defensive technologies including XProtect, Ga

    OS X Hardening: Securing a Large Global Mac Fleet | USENIX
    ryshinoz
    ryshinoz 2013/11/26
  • オバマケアのサイト不具合はなぜ起こった? 現場の泥沼:Behind the HealthCare.gov Disaster

    オバマケアのサイト不具合はなぜ起こった? 現場の泥沼:Behind the HealthCare.gov Disaster When we spend $630 million, this is what happens. 6億3000万ドル(630億円)を投じた国家プロジェクトは、なぜ見切り発車したのか? 米医療保険改革(オバマケア)の柱のオンライン保険購入システム「HealthCare.gov」が10月1日オープンするなり盛大にクラッシュした件で、NYタイムズが舞台裏の話を書いた。 関係者は政府も企業も全員、守秘義務があるので、これまでこういう話はなかなか出てこなかったけど、たぶんCGIはこれで切られるのかな…企業側の話もかなり入ってるよ。要点を拾っておこう。 壮大な構想を語る政府 vs. 目の前の現実を語る請負業者 システム開発を請け負ったCGIフェデラルはじめ各社は8月の段階で、「

    ryshinoz
    ryshinoz 2013/11/26
  • DevOpsからクラウドまで情報満載! 開催間近「Exciting Coding! 2013」セミナーの聞きどころ | gihyo.jp

    DevOpsからクラウドまで情報満載! 開催間近「Exciting Coding! 2013」セミナーの聞きどころ 11月29日に開催される「Exciting Coding! 2013」は、ITスペシャリストの講演を聞くことができるセミナーだ。今回のテーマはクラウドアプリ開発やクラウドサービス。「⁠DevOps」「⁠クラウドアプリ/サービス」「⁠ビッグデータ」「⁠Webアプリ開発」などのキーワードが満載! まさに今、時代の先端を走っているアグレッシブな5名が講演する。この機会を見逃す手はない! ここではその内容を、ちょっとだけ先取りしてご紹介しよう。 伊藤 直也 氏「Webサービス開発のいま」 伊藤氏は、ニフティ時代に「ココログ」の開発に関わり、はてな時代は「はてなブックマーク」を生み出した。それらを利用している人も多いのではないだろうか。また、はてな時代にはCTO、グリー時代は技術統括部

    DevOpsからクラウドまで情報満載! 開催間近「Exciting Coding! 2013」セミナーの聞きどころ | gihyo.jp
    ryshinoz
    ryshinoz 2013/11/26
  • Pragmatic Bookshelfの書籍等が全て半額セール中 | JSer.info

    Rubyを中心にOreillyと並んで技術書のebookに強いThe Pragmatic Bookshelfが全ての書籍や動画等を半額で購入できるクーポンを出しています。 The Pragmatic Bookshelf | Happy Thanksgiving: 50% off ebooks, All Week. Shopping Cartのページで turkey2013 とクーポンコードを入力すれば、半額で購入できるようになっています。 (発売済みのものだけが対象のようです)  期限は、Monday, December 2, 2013, PST. (That’s 8 hours behind GMT.) 来週の月曜日までとのことです。 The Pragmatic Bookshelf | Node.js the Right Way The Pragmatic Bookshelf | Bac

    Pragmatic Bookshelfの書籍等が全て半額セール中 | JSer.info
    ryshinoz
    ryshinoz 2013/11/26
  • Naked Security – Sophos News

    Products & ServicesSecurity OperationsThreat ResearchAI ResearchNaked SecuritySophos Life

    Naked Security – Sophos News
    ryshinoz
    ryshinoz 2013/11/26
  • Hatena Engineer Seminar #2 - laiso

    http://developer.hatenastaff.com/entry/2013/11/15/120723 これに行った 定員を超えた時に抽選があるとのこと。 でも、ちゃんと抽選するとは思えないなぁ。 恐らくある程度ふるいにかけることでしょう。 そのふるいというのはその人の発信内容であったり発信力を見るんだと思います。 Hatena Engineer Seminar #2 に申し込んだ - 下唇小五郎の上唇日記2 というわけもなくTwitter上の反応を見てるとガチ抽選らしく有名ブロガーの人も落選してた。たぶんどの程度集客できるか今回でわかったら次からはもっと大きなハコ借りて人数増やしてくんじゃないかなー(というかそうして欲しい)。開会の時にも「一年ぶりになったけど、これからは積極的にセミナーは開催していきたい」って言っておられた。 勉強会やセミナーの類はikebukuro.js以来

    Hatena Engineer Seminar #2 - laiso
    ryshinoz
    ryshinoz 2013/11/26
  • Starlet + Server::Stater で UNIX domain socketに対応しました - Hateburo: kazeburo hatenablog

    Starlet-0.21がリリースされました。 Starlet-0.21 - a simple, high-performance PSGI/Plack HTTP server - metacpan.org - Perl programming language このバージョンからServer::Staterとの組み合わせでUNIX domain socketをListenすることができるようになりました。 $ start_server --path /tmp/app.sock -- plackup -s Starlet app.psgiServer::Stater は以前からUNIX domain socketをサポートしていたのですが、Starlet側でうまくハンドリングできていなかったのを修正したのが今回のリリースです。 ベンチマーク #plackconでの発表にもある通り、UNIX

    Starlet + Server::Stater で UNIX domain socketに対応しました - Hateburo: kazeburo hatenablog
    ryshinoz
    ryshinoz 2013/11/26
  • Serf用のinitスクリプトを書いてみた | Pocketstudio.jp log3

    Serf 用の systemd 向けスクリプトは先日の投稿で公開しました。systemd だけでなく、実際の所は SysV init のスクリプトを使っても、自動起動設定や、service コマンドを使った制御が可能です。 RHEL 環境でテストした serf 用の init スクリプトを公開しました。必要があればどうぞ。 serf 用スクリプト 設置方法 先のスクリプトを /etc/init.d/serf に転記します。その後、パーミッション等を設定します。 # /sbin/chkconfig --add serf # chmod 755 /etc/init.d/serf # /sbin/chkconfig --add serf 設定ファイルのパスは /etc/serf.conf です。このファイルがあれば、serf start 時 ( agent として起動)にこのファイルを読み込みま

    ryshinoz
    ryshinoz 2013/11/26
  • Sensuについて - maoeのブログ

    最近Sensuというモニタリングフレームワークを試している。見ての通り公式はオサレで今時な感じで、Nagiosのような古くささやZabbixのようなエンタープライズ臭はない。 Sensuの特徴は何かと考えると、こんな感じのことが浮かぶ。 監視とメトリクス収集を一つの仕組みで行える。 ただし収集したデータの可視化はしない。 設定がlightweight 所定のディレクトリにJSONファイルをつっこんでおくと勝手にdeep mergeされるのでinclude指定とかいらないし、ポチポチやってデータベースに設定値を入れる必要もない。 キーがかぶったときにどうなるかとかは知らないので、設定がシンプルとは言わない。 JSONなのでコメントは書けない。コメントはChefのレシピ側に書こうという発想。 クライアント一覧は自動的に作られるので自分で能動的に登録する必要もない。 Chefで設定するためのco

    Sensuについて - maoeのブログ
    ryshinoz
    ryshinoz 2013/11/26
  • RubyWorld Conference 2013で発表してきた - miyohide's blog

    RubyWorld Conference 2013で発表してきた 11月21日〜22日で開催されたRubyWorld Conference 2013で発表してきました。 きっかけ 昨年辺りから何か発表できないかなと思い、チャンジしてみようと思ったのが今年の6月。その後、悪戦苦闘しながら募集要項を書いて、8月の結果発表を待っていると、採択キタ━━━━(゚∀゚)━━━━!! 発表内容など 発表内容とかはUStreamで録画されているので、よろしければ。資料は後ほど公式サイトで公開されます。 25分って長いなぁと思っていたのですが、資料を作って実際に喋ってみると結構時間がないことがわかりました。人に説明するのって難しいですね。 今回は、聞き手のことを考えて、JRubyの名前だけは知っているっていう人に対して説明を行いました。結構、JRubyを簡単に考えている人が私の周りには多くて、「JavaのA

    RubyWorld Conference 2013で発表してきた - miyohide's blog
    ryshinoz
    ryshinoz 2013/11/26
  • 自営業している開発者の事例

    ![itnomikainagoya](https://www.tokyodev.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6OTQ5MywicHVyIjoiYmxvYl9pZCJ9fQ==--3515cbbae31da5d28a629134a0e8581b80e1b343/itnomikainagoya.jpg) [IT飲み会名古屋](http://www.it-nomikai.jp/nagoya/before-info/131122)で初めての招待講演をしました。発表は「Developer /Entrepreneur」と言いまして、社員の開発者から、スタートアップの創業者への話でした。 欧米では、たくさん開発者は自営業についてブログしますが、日ではそんなにいなさそうですね。会社設立できた理由の一つは他の

    自営業している開発者の事例
    ryshinoz
    ryshinoz 2013/11/26
  • Git チームワークフロー: マージ (merge)、それともリベース (rebase) ? | Atlassian Japan 公式ブログ | アトラシアン株式会社

    質問は簡単です。git と フィーチャーブランチ を利用しているソフトウェアチームにとって、完了済みの作業を開発のメインラインに取り込む最良の方法は何でしょうか?これは、確固たる意見を持つ両陣営によって繰り返し展開されている議論の一つですが、やはり議論には最低限の配慮を持って対応したいものです。 (その他の激しい議論の例としてはこれがあります: The Internet)。 リベースを行って、リポジトリの履歴をフラットかつクリーンに保つべきでしょうか?それとも、可読性と明晰さを犠牲にする事でトレーサビリティを得られる、マージを行うべきでしょうか?( ファストフォワード マージを禁止するなど。) 議論 このトピックは、vimEmacs や Linux と BSD ほどまでには有名な論争の的とはなっていないものの、双方共に遠慮なく意見を述べ合っています。 all-things-git

    Git チームワークフロー: マージ (merge)、それともリベース (rebase) ? | Atlassian Japan 公式ブログ | アトラシアン株式会社
    ryshinoz
    ryshinoz 2013/11/26
  • モバイルゲームの歴史を年代別にご紹介します。モバイルゲームの成長と今後について詳しく解説していきます。

    モバイルゲーム 物凄い勢いで勃興したモバイルゲーム業界は、いろいろな課題や問題に直面しながらも巨大化し、今日の時点でのスマートフォン向けゲームの市場へと継承されていきます。 モバイルゲーム歴史 2001 Javaアプリと3Dゲームの登場 Javaが利用できるようになったことにより、ダウンロード型のゲームが供給できるようになりました。 2002 携帯電話端末の大容量化・3D化競争 Java搭載携帯電話端末が登場してからごく僅か1年の間に、アプリのサイズに関しては10倍に広大化し、表現方法も2Dから3Dにシフトし始めました。J-PHONEは『ゼビウス』や『スペースハリアー』などといった昔のアーケードゲームを、ドコモはSIMCITYなどパソコンで世界的規模のヒットを飛ばしたゲームを主力商品としていました。 2003 モバイルゲームの一般化 メモリの制限が厳しいJava仮想マシン上ではなく、OS

    ryshinoz
    ryshinoz 2013/11/26
  • configspec という Immutable Infrastructure 用 Configuration Management Tool をつくってみた - Gosuke Miyashita

    Immutable Infrastructure の有用性 - Togetter の流れの勢いで、インフラ系技術の流れ とか Rebuild: 25: Immutable Infrastructure (Naoya Ito, Gosuke Miyashita) とかで言ってたような、冪等性とか依存関係とかを考慮しないシンプルな Configuratin Management Tool である configspec をつくってみました。rubygems.org にもアップしてます。 この手のツールに自分が望む要件は以下の様な感じ。 冪等性とかどうでもいい まっさらな状態からのセットアップでしか使わない 依存関係とかどうでもいい ファイル名順、上から書いた順で実行してく 対象サーバに余分なものをインストールしたくない 対象サーバに SSH さえできれば OK シェルスクリプトよりは抽象度を高め

    ryshinoz
    ryshinoz 2013/11/26