タグ

ブックマーク / tech.nitoyon.com (14)

  • Vagrant で作ったり壊したりできる Windows 環境を手に入れるまでの手順

    最近話題の Vagrant さんは「Linux の環境を作ったり壊したりして開発とか試験が楽になるよ」と紹介されることが多いけど、Windows の環境だって作ったり壊したりしたい! いろいろ調べつつ環境を作ってみたので、その手順を共有しておく。 完成イメージはこんな感じ。コマンドプロンプトから vagrant up をしたら VirtualBox 上に Windows Server 2012 R2 の環境が準備されて、そこにリモート デスクトップで接続している。 いろいろいじったあとに vagrant destroy したら環境は消え去って、vagrant up したら、また、まっさらな状態から使える。 ちょっと注目してほしいのは、ゲスト OS の C:\vagrant にホスト側の Vagrantfile がマウントされているところ。このあたりの処理は Vagrant-Windows

    Vagrant で作ったり壊したりできる Windows 環境を手に入れるまでの手順
  • Node.js 0.12 では yield が使えるのでコールバック地獄にサヨナラできる話

    Node.js の次のメジャーバージョン 0.12 で yield が使えるようになります。 そのおかげで、JavaScript のコールバック地獄に光が差し込むのです。ああ、さようなら、コールバック地獄。 7 年ごしで実現した yield 2006 年、Firefox 2 のリリースと同時に yield は JavaScript 界に登場しました。随分と前の話ですね。 登場した当時は JavaScript 界隈でけっこう話題になっていました。 JavaScript 1.7 の yield が凄すぎる件について - IT戦記 Latest topics > JavaScript 1.7のyield文ってなんじゃらほ - outsider reflex JavaScript 1.7 の新機能: Days on the Moon 登場したときにはインパクト大きかったものの、結局 Firefox

    Node.js 0.12 では yield が使えるのでコールバック地獄にサヨナラできる話
  • UTF-8 対応の msysGit 1.7.10 リリース! いよいよ Windows で git できるよ!!! - てっく煮ブログ

    git先日、msysGit(Git for Windows)がいよいよ公式に UTF-8 をサポート! という記事で「UTF-8 対応のコードがコミットされた」ことをお伝えしましたが、ついに、UTF-8 対応の新バージョン、msysGit 1.7.10 がリリースされました。いよいよ Windows でも日語ファイル名を扱えるようになったので、「git では "詳細設計所仕様書.xlsx" をコミットできないんでしょ?」とブーブーいってた人を説得できる材料はそろいました!!!!それを記念して、この記事では UTF-8 対応の msysGit 1.7.10 を試してみた ブーブーいう人を黙らせるための「GUI で git する Windows 向けツール」まとめの2立てでお送りしたいと思います。UTF-8 対応の msysGit 1.7.10 を試してみたさっそく Google Code

  • 経路探索アルゴリズムの「ダイクストラ法」と「A*」をビジュアライズしてみた - てっく煮ブログ

    as詳解 ActionScript 3.0アニメーション ―衝突判定・AI・3DからピクセルシェーダまでFlash上級テクニック を読んでいて、経路探索のアルゴリズムで A* が取り上げられていました。A* については、いろいろ検索して調べたりもしたのですが、やっぱりに書いてあると理解しやすいですね。せっかくなので自分流に実装してビジュアライズしてみました。ダイクストラ法まずは A* の特別なケースでもあるダイクストラ法から見ていきます。クリックすると探索のシミュレーションが開始します。スタート地点(S)からゴール(G)への探索が始まります。色がついたところが「最短経路が決定した場所」です。スタート地点から少しずつ探索が完了していきます。半分ぐらい完了しました。まだまだ進みます。最後まで終わりました。最短経路を黒色矢印で表示しています。ダイクストラ法は、スタート地点から近いノード(=マス

  • Windows プログラマなら読んでおきたい「Windowsデバッグの極意」 - てっく煮ブログ

    bookちょろちょろと色んなところで紹介されていた Windowsデバッグの極意 ツールを使いこなして、バグハント! を軽く読んでみたが、このWindows 開発をやってる人なら一読したほうがよさそうだ。Windowsデバッグの極意 ツールを使いこなして、バグハント!作者: Mario Hewardt, Daniel Pravat, 長尾高弘出版社/メーカー: アスキー・メディアワークス発売日: 2009/04/28メディア: 大型前書きの売り文句前書きには次のような逸話が紹介されている。MS のエンジニアが4〜5日に1回クラッシュする問題を数週間かかっても解決できなかったが、gflags の使い方に詳しい人に教えてもらってから再現させると、そこから1時間で原因が分かった。どこの通販番組だよ、と思ってしまったが、1章を読んでみて確かにこのはすごいと思った。オススメのデバッグツール

  • 【YQL 速攻レビュー】米 Yahoo! が SQL っぽく色んなデータを取ってこれるAPIを出した - てっく煮ブログ

    Yahoo!Yahoo! Pipes みたいに自由度が高くて、またちょっと毛色が違うサービスが出てきた。題して、Yahoo! Query Language。YQL と呼ぶようだ。SQL 風の言語を REST で投げて、結果を XML や JSON で受け取ることができる。具体的にやってみないと分かりにくいので、とりあえず試してみた。RSS からデータ取得YQL を使って RSS から最新のタイトル10個を取ってきてみる。こんな YQL になるらしい。 select title from rss where url='http://d.hatena.ne.jp/nitoyon/rss' rss テーブルに対して select を発行している。実際にこの YQL を試すには YQL 用の console を利用するとよい。(※要ログイン)console の左上に YQL を入力して

  • はてなブックマークの細かすぎて伝わりにくい新機能を勝手に紹介 - てっく煮ブログ

    はてなブックマークがリニューアルして毎日楽しく使っているわけですが、そんな中で気付きにくいけど知ってると便利な機能を勝手にまとめてみました。人気エントリの要約を非表示にみんな大好き人気エントリーに、リニューアル後から要約が表示されるようになりました。クリックする前に概要が分かって便利なのですが、古いインターフェースのほうがよかった…という人もいることでしょう。でも大丈夫。そんな人は「人気エントリー」の右端にある▲のボタンを押してみましょう!要約が消えます。すっきり読みたい人にお勧め。あ、もう一回クリックすると要約は復活します。タグとお気に入りを旧バージョンで右側のボタンつながりで、タグとお気に入りを戻す方法を紹介します。タグが一覧になってしまって悲しい人は、右側のボタンを押しましょう。おー、一昔前のタグクラウドと切り替えられるわけですね。お気に入りも見た目が変わりましたが、これも右側のボタ

  • jQuery を高速に使う CSS セレクタの書き方 - てっく煮ブログ

    JavaScriptjQuery は CSS セレクタで要素を選んで処理できるのが魅力的ですね。そんな jQuery ですが、CSS セレクタの書き方次第で速度が大幅に変わってきます。ここでは jQuery の内部処理を疑似コードで示しつつ、jQuery を高速に使うためのポイントを5つに絞って紹介します。何度も同じセレクタを実行しないクラスだけを指定するのは禁止#id を積極的に使う途中までの結果を再利用する子供セレクタ(>)を使うと速くなることがある※ この記事は jQuery 1.2.6 のソースコードを元に記述しています1. 何度も同じセレクタを実行しない改善前 // 例題 1 $("div.foo").addClass("bar"); $("div.foo").css("background", "#ffffff"); $("div.foo").click(function(){

  • jQuery の配列系のメソッドをメモ - てっく煮ブログ

    JavaScriptjQuery は機能が豊富なので、しばらく使わないと忘れてしまう。ここでは、jQuery と配列の関係に絞って目的別に逆引きできるようにしておく。配列から jQuery オブジェクトを作成$ 関数に渡せばOK $([1,2,3]) NodeList のような配列っぽいものを渡しても解釈してくれる。 $(document.getElementsByTagName("div")) // $("div") と同じ ※内部的には setArray メソッドが呼ばれてるが、外から使うことは稀。jQuery を配列のように扱う要素数を取得するlength プロパティを使えばOK。 $("div").length // document.getElementsByTagName("div").length と同じ jQuery のメソッドを使って操作する限りは、適切に length

  • 具体例で説明するデザインパターン - てっく煮ブログ

    JavaScriptデザインパターンってなんだかたいそうなものに考えられがちだけど、実は、そこかしこのライブラリや仕様に取り込まれていることが多い。「デザインパターン分からん」とか「で、どうやって使うのよ」と悶々としている人には、「どういうところで使わているのか」を知っておけばイメージも沸きやすいし、意外にたいしたことないんだな、ということが分かるんじゃないだろうか。そこで、JavaScript やその周辺の技術で、デザインパターンがどのように使われているかを紹介してみることにする。ここでは、GoFの順番に沿って、以下の11個のパターンを取り上げる。生成に関するパターン Factory MethodAbstract FactoryBuilderPrototypeSingleton構造に関するパターン AdapterComposite振る舞いに関するパターン Chain Of Respon

  • オブジェクト指向なコマンド環境「Powershell」を試してみた - てっく煮ブログ

    Microsoft 製の最新のコマンドライン環境「Powershell」が面白かったので、楽しいところをまとめてみた。UNIX な人にも使いやすい親切設計コマンドプロンプトでファイル列挙と言えば dir だけど、Powershell では ls も使える。 PS> ls Directory: Microsoft.PowerShell.Core\FileSystem::C:\ Documents and Settings\nitoyon Mode LastWriteTime Length Name ---- ------------- ------ ---- d---s 2006/02/19 22:35 Cookies d-r-- 2006/02/17 23:39 Favorites d-r-- 2006/02/19 18:56 My Documents d-r-- 2004/08/19 9

  • 論理演算子(&& と ||)を応用する - てっく煮ブログ

    javascript, asjQuery のソースコードを見ていて面白いのがあった。 function add(a, b){ addImpl(b && a, b || a); } function addImpl(a, b){ // ... } 理解するためには、論理演算子を詳しく理解する必要がある。論理演算子詳細JavaScript(というか ECMAScript)の論理演算子は、評価結果が true/false で返される訳ではなく、結果が確定した時点で評価した値が返される。まずは、|| を試してみよう。 alert(2 || 0); // 2 alert(2 || 3); // 2 alert({} || null) // [object Object] alert(0 || 3); // 3 alert(0 || 0); // 0 alert(0 || undefined); //

  • 京都市バスの路線別 停留所取得API公開 - てっく煮ブログ

    pipes今回も Pipes ネタ。例によって Fetch Page モジュール。今まで「Page Fetch」だと勘違いしてたが、どうやら「Fetch Page」だったらしい。あちゃー。で、題。京都市バスの路線別 停留所 APIYahoo! Pipes で作ってみた。サンプル作ってみたこの Pipes を使ったサンプルを作ってみた。→ 京都バス案内 (デモ)左の系統一覧を選択したら、右側に詳細が出る。停留所をクリックしたら時刻表が表示される。JavaScript+jQuery+JSONP で実装してるよ。そのまんまだけど、API 使ってる気分になってきた。すごくない?絶対に API を公開しそうにない京都市交通局の HTML を使って、外部の人間が勝手に API 化しちゃってるわけですよ。Web 1.0 なページを、無理やり Web 2.0 化ですよ。なんでもかんでもマッシュアッ

  • C++ の std::vector に v += 3, 1, 4 で push_back - てっく煮ブログ

    c++boost::assign使ってみた - Faith and Brave - C++で遊ぼう にて boost::assign の使い方が紹介されていた。 #include #include #include #include using namespace std; using namespace boost::assign; int main() { vectorint> v; v += 3, 1, 4; // !!! for(unsigned int i = 0; i return 0; } おおおおお、なんかすごい…!普通なら v.push_back(3); v.push_back(1); v.push_back(4); と書かなきゃならないところを v += 3, 1, 4; と書ける。自分の C++ の常識からするとびっくりするような書き方なのだけど、C++ では

  • 1