はじめに RSpec 3が正式リリースされて2ヶ月ほど経過しました。(正式リリースは2014年6月) ネットの情報を見ていると、これまでは「既存のテストケースをRSpec 3にアップグレードさせる方法」や「RSpec 3で削除されたり、記法が変わったりした点」など、「守りの姿勢」に入った情報が多かったように思います。(僕自身もそういう情報をたくさんアップしていました) しかし、RSpec 3では以前のバージョンでは使えなかった新しい機能も数多く導入されています。 そこで本記事では「攻めの姿勢」で「RSpec 3から導入された新機能」をまとめてみました。 なお、ここでフォーカスするのはテストコードの書き方にダイレクトに関わってくるマッチャの新機能です。 2015.01.12:RSpec 3.1に関する情報を追記しました RSpec 3.1に関する情報も追記しました。 もともと紹介していた新機
rubocopはRubyの静的コード解析ツールです。このコード解析を通すことによって、一定のRubyの書き方に統一することができます。また、不要な変数やメソッド名が長すぎるなど、一般的にRubyとして読みやすいコードにするための警告もされます。 こういった警告はRuby coding style and best practicesとしてRuby coding style guideにまとめられおり、Rubyを書くのであれば基本的にはRuby coding style guideを一読しておくことをおすすめします。英語が苦手であれば、翻訳された日本語版も存在します。 なぜ静的コード解析をするのか?静的コード解析し一定の読みやすいコードに統一することによって、人間が誤読する確率を下げることにより、バグなどの混入させる確率を下げる効果があります。また昨今ではGitHubでコードレビューをするよ
IRKitはよく「iOSから操作できる赤外線リモコン」と説明されるけど、そのAPIはHTTPなのでiOS以外からももちろん使えます。 というわけでRubyから使いやすいようにした。 ソースコードはgithubにある。不具合等はissueかtwitterにお願いします。 irkitコマンドという便利ツールも入れておいた。 bonjourでLAN内のIRKitを発見する機能や、赤外線データのgetとpost(と保存)、家のLANの外からIRKitを操作するInternet API関連が実装されているので プログラムを書かなくてもirkit gemをインストールすればすぐIRKitが使える。 なんでこういうツールが付いているかというと、デバイス系はコマンド一発で全部実行できるテストコードが書きにくい部分がかなりあって、しょうがないから各機能をテストしやすい実行可能コマンドを作るぐらいしかない。
最近話題の Vagrant さんは「Linux の環境を作ったり壊したりして開発とか試験が楽になるよ」と紹介されることが多いけど、Windows の環境だって作ったり壊したりしたい! いろいろ調べつつ環境を作ってみたので、その手順を共有しておく。 完成イメージはこんな感じ。コマンドプロンプトから vagrant up をしたら VirtualBox 上に Windows Server 2012 R2 の環境が準備されて、そこにリモート デスクトップで接続している。 いろいろいじったあとに vagrant destroy したら環境は消え去って、vagrant up したら、また、まっさらな状態から使える。 ちょっと注目してほしいのは、ゲスト OS の C:\vagrant にホスト側の Vagrantfile がマウントされているところ。このあたりの処理は Vagrant-Windows
マイクロソフト、クラウドのシステム構成図に使えるアイコン集を公開。Windows Azure以外にも一般的なシステム構成図で使えそう マイクロソフトは、Windows Azure関連のシステム構成図を描くために使えるアイコン集「Windows Azure Symbol/Icon Set」を公開しました。こうしたアイコン集はすでにAmazonクラウドがすでに公開しており、多くの利用者に使われてます。 Windows Azure用に作られてはいますが、一般的なシステム構成図のためのアイコンも多く含んでいるため、さまざまな場面で利用できそうです。公開された多数のアイコンの中から、よく使われそうなアイコンを集めてみました。 データはPowerPoint形式、Visio形式、PNG形式で提供されています。GitHubやBitBucket、DropBoxなどのアイコンもあるので、デプロイ関連の図を描く
ファイル編集がコンフリクトした場合 下記はよくある(忌々しい)コンフリクト画面ですね。 皆さんはコンフリクトのmergeはどんな方法でやっていますでしょうか? vimやemacsで直接編集している方が多いイメージですが、実際開いてみると、下記のように差分が表示されていると思います。 この画面を見ただけではどのようにmergeすればよいのかわかりません。(Objective-CのARC/MRC双方の開発経験がある人は目をつぶってください・・) gitにはこのようなコンフリクトのmergeを支援するgit mergetoolコマンドが搭載されています。 このままEnterキーを押すと下記のような画面が立ち上がります。 画面幅の都合でフォントが小さいのですが、ここで「mergeしたい差分が作られる直前の状態」と「mergeしたい差分」に注目してみます。 この2つを見比べると、@propertyの
オレオレ LINQ Provider を実装している IQueryable とか IOrderedQueryable,IQueryProvider を実装すれば良い が,これがかなり大変.結局 ExpressionTree になった 何か(型T)への問合せの評価器を作る(全部作らなくて良い)わけで,うーむ 今回やりたいのは,外部APIへリクエストする条件を組み立てて,それをHTTPリクエストする.返ってきた結果をほげほげする,という感じで,データに対する評価は直接やらずに,条件だけまとめて外に投げたい ので,そんなに難しくないと思っていたが,参考になる実装や解説記事が少なくて苦労している 最初は以下のようなMSDNの記事(またはブログ)を参考に,実装を行ってきた.が,なかなか難しい 実際にクエリを組み立てて,REST APIへリクエストする点で LINQ to Twitter と類似するの
本エントリはC# Advent Calendar 2013 9日目のエントリです。 自己紹介ですが、デンソーアイティーラボラトリというところで研究開発をやっております。スコープは車とかITSとかそれにまつわるソフトウェア全般です。 研究のためのソフトウェア環境としては珍しくC#を使っておりますが、JavaやPythonよりもそういったリソースが少ないながら、質の高いライブラリが多いというのが実感です。今回はその中からQuickGraphという便利なライブラリの紹介です。かなり以前からCodePlexで公開されているので利用されている方も多いと思いますが、簡単に使えるように解説します。 QuickGraphを使おう QuickGraphとは、グラフ型のデータ構造や各種アルゴリズムを備えた、.NET用のライブラリです。CodePlexのプロジェクトとして、2003年12月から公開されていました
This page is likely outdated (last edited on 11 Nov 2010). Visit the new documentation for updated content. Mono DataConvert The DataConvert class is a replacement for System.BitConvert in the .NET class libraries that provides: Host types to native byte arrays, little endian byte arrays and big endian byte arrays. native, little endian, big endian to Host types. Helper routines for Stream I/O. Co
ThinkPad Bluetooth ワイヤレス・トラックポイント・キーボードを使い始め1か月以上経過しました。 昨日、トラックポイントとセンターボタンを使った縦・横スクロールが全く出来なくなり、調査した内容をメモ。 根本原因は分かりませんが、縦スクロールが出来なくなった理由と対処法は分かっています。 2013.12.09 更新 Lenovoのフォーラムでも同現象のスレッドがあります。VS2012/2013における現象で、VS2012の環境で確認できました。 早く修正していただきたい・・・ http://forums.lenovo.com/t5/T400-T500-and-newer-T-series/ThinkPad-Preferred-Scrolling-for-Bluetooth-Keyboard-Keeps/td-p/1209848 2014.07.07 更新 USB版ThinkP
The long-promised unicast-only VXLAN has finally shipped with the Nexus 1000V release 4.2(1)SV2(2.1) (there must be some logic behind those numbers, but they all look like madness to me). The new Nexus 1000V release brings two significant VXLAN enhancements: unicast-only mode and MAC distribution mode. The initial VXLAN design and implementation took the traditional doing-more-with-less approach:
October 26 - 28, 2011 · Clarion Congress Hotel · Prague, Czech Republic (Co-located with the Linux Kernel Summit) The Linux Foundation is pleased to announce the launch of LinuxCon Europe in 2011. LinuxCon is already the premiere Linux conference in North America, South America and Asia, providing an unmatched collaboration and education space for all matters Linux, and we are pleased to be able
並列に実行して最初に返ってきた結果を得るやつ - hitode909の日記 Ruby において Thread の終了を待つための方法について。 id:hitode909 さんの上記ブログ記事を読んで、「そういや複数スレッドに対する join 処理をするための簡単な方法って何かありそうなもんだけど知らないなー」 と思って調べてみました。 単体の Thread オブジェクトに対しては Thread#join メソッド を使うわけですが、複数 Thread オブジェクトに対してどれかひとつが終了するのを待つとか、全部が終了するのを待つとかしたい場合には、標準添付ライブラリの ThreadsWait が使えるみたいです。 このクラスのドキュメントは以下 *1。 class ThreadsWait (日本語) Class: ThreadsWait (Ruby 1.9.3) (英語) 私も全然知らなか
以前に作っておいた大きめなリリースをする際にチェックしておくべきことのリストが役に立ちそうなので公開しておきます。 僕の場合は普段はワンクリックデプロイが多いんだけど、かなり大掛かりな変更をするケースが年に数回あったりするので、その際にこういうリストを使ってリリース計画をチェックしています。(もちろん大掛かりなリリースでもワンクリックでできるのに越したことはないし、そもそもビッグバンリリースにならないようにできるだけ小さい単位で頻繁にリリースできるに越したこともない) 体制当日の体制は決まっているか夜間立会いの場合、日中の営業時間の対応体制は決まっているか翌営業日以降の体制は決まっているか連絡担当と作業担当は分離されているか作業担当はペア作業になっているか。作業者と確認者を定めているか顧客の連絡先を抑えているか顧客の連絡順番を抑えているか、お客様の当日の所在を抑えているか顧客への連絡タイミ
本連載の第1回では、Reactive Extensions(以降、Rx)の概要とインストール方法を解説した。今回からは具体的な使い方を見ていこう。 まずはRxを利用する際の基本的な流れを見ていく。次に、Rxの持つ代表的な2つの性質であるイベントと非同期のうち、イベントを中心的に取り上げる。 ●基本的な記述方法 最初に、シンプルなRx(Observableオブジェクト)のコードと、foreach文(Enumerableオブジェクト)のコードの対比を見てみよう。 using System.Linq; using System.Reactive.Linq; // Observableオブジェクト(Rxのコード) Observable.Range(1, 5) .Subscribe(x => Console.WriteLine(x)); // Enumerableオブジェクト foreach (va
はじめに 効率とは賢く怠けることである (作者不詳) 無精:エネルギーの総支出を減らすために、 多大な努力をするように、 あなたをかりたてる性質。 (Larry Wall) 優れたプログラマが持つハッカー気質のひとつに「無精」があります。大好きなコンピュータの前から一時も離れずにどうやってジャンクフードを手に入れるか――普通の人からするとただの横着に見えるかもしれませんが、ハッカー達にとってそれはいつでも大きな問題でした。たとえば、ハッカーの巣窟として有名なMITのAIラボにはかつて、UNIXのコマンド一発でピザをFAX注文するxpizzaコマンドが存在しました[1]。また、RFC 2325として公開されているコーヒーポットプロトコルでは、遠隔地にあるコーヒーポットのコーヒーの量を監視したり、コーヒーを自動的に淹れたりするための半分冗談のインターフェースを定義しています。 こうした「ソフ
ネットワークマップなどネトワーク系の作図を行う際、アイコンが無い場合であったり、製品にあったアイコンなどが見つからずアイコンを探すのに苦労をする場合があると思います。サーバやネットワーク機器のメーカによっては、ネットワーク系の作図を行う時に使えるアイコンやVisioのステンシルを提供しているところがあります。今回はそれぞれネットワーク図の作図に便利なアイコンを配布しているサイトをご紹介いたします。 《Cisco》 CiscoのWebページからネットワーク系のアイコンなどをダウンロードできます。JPGなどもあるのでPowerPointでの作図もできると思います。 ○ネットワーク トポロジー アイコン - 製品&サービス - Cisco Systems 《OSA Icon Library》 こちらのサイトではネットワーク系アイコンを配布しています。 ○Icon Library 《AWS》 AW
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く