ひだまりソケットは壊れない

ソフトウェア開発に関する話を書きます。 最近は主に Android アプリ、Windows アプリ (UWP アプリ)、Java 関係です。

まじめなことを書くつもりでやっています。 適当なことは 「一角獣は夜に啼く」 に書いています。

2012-01-01から1年間の記事一覧

Git の object がおかしいというエラーが出た場合は object を表すファイルを消せば良さそう

Git

Git 使ってたんですよ、Git。 コミットするぜー、って思って git add した後に PC がおかしくなって強制終了しちゃったんですよ。まあそこまではいいですよ、糞 PC 使いにはよくあることです。 いや、よくないけどさ。でだ。 再起動した後で git status して…

Windows ストアに Web サービスのクライアントアプリを申請するときに気を付けないといけないこと (審査でひっかかりそうな箇所)

Home timeline の閲覧とツイートの投稿のみ可能な簡単な Twitter クライアント *1 を Windows ストアアプリとして作って、今週ストアに申請しました。 火曜日の早朝に申請したところ、12 時間後ぐらいにはリジェクトの返答が来て、「リジェクトだから速かっ…

Kyoto.js #3 で 『GUI アプリケーションにおける MVC』 という発表をしました

2012 年 12 月 13 日に開催された JavaScript の勉強会 Kyoto.js #3 で 『GUI アプリケーションにおける MVC』 という発表をしました。 GUI アプリケーションにおける MVC from Yu Nobuoka 内容 最近は GUI アプリケーションの設計についていろいろ考えてい…

8nights 大阪セッションで Windows ストアアプリ開発について話しました

去る 2012 年 12 月 6 日、Windows ストアアプリに興味のある web 開発者やアプリ開発者向けのイベント 8nights が開催されました。 このイベントで、はてなブックマークのディレクターの長山さん、デザイナーの川上さんと共に 「はてなが語る “はてなブック…

Windows 8 で TypeScript 処理系をビルドする

TypeScript 処理系を Windows でビルドする話。 個人用メモ程度なので特に面白い話はない。 開発環境準備 Git TypeScript 処理系のソースコードは Git でバージョン管理されているので、Windows に Git をインストールする必要がある。 Windows で動く Git …

Kyoto.js #2 で 『ECMAScript 5 時代のオブジェクト・プロトタイプ継承入門』 という発表を行った

2012 年 11 月 29 日に開催された Kyoto.js #2 で 『ECMAScript 5 時代のオブジェクト・プロトタイプ継承入門』 という発表を行った。 ECMAScript 5 時代のオブジェクト・プロトタイプ継承入門 from Yu Nobuoka 発表の動機 世の中にある JavaScript のプロト…

Kyoto.js #1 で 『TypeScript 言語処理系ことはじめ』 という発表をしました

2012 年 11 月 15 日に開催された Kyoto.js #1 で 『TypeScript 言語処理系ことはじめ』 という発表をしました。 発表内容 資料は SlideShare にアップロードしました。 TypeScript 言語処理系ことはじめ from Yu Nobuoka 概要 前半は JavaScript に代わる言…

Windows ストアアプリ開発において UI 部品をページコントロールで実装する

Windows ストアアプリを JavaScript で開発する話です。 アプリを複数のページで構成する場合、基本的にはベースを単一の HTML ページにして、その上に次々とページコントロールを読み込むことでページ遷移を実現します。 参考 (過去に書いた記事) : Windows…

C# で Windows 用スクリーンセーバーを作ってみた

会社の人が PC 内の画像をランダムに流すスクリーンセーバーを設定していて (Mac OS X デフォルトのものらしい) 結構うらやましかったので、画像をランダムに出しまくるスクリーンセーバーを Windows 用に作ってみた。 Visual Studio の使い方とか、実際にス…

WinJS.UI.ListView の項目に何番目の要素であるかを表示する

WinJS.UI.ListView に表示する項目に、その項目のインデックスやグループ内の項目数を表示する方法として WinJS.Binding.Template.prototype に手を加えるという記事を見かけました。 WinJS.Binding.Template.prototypeの拡張 - taediumの日記 この方法より…

Windows 8 用に AMD Trinity を載せたマシンを組んで Windows 8 アップグレード版をインストールした話

下記記事で書いたように、自宅のメインマシンも Windows 8 にしようと思って新しく PC を組んだ。 パーツ構成についてと、Windows 8 アップグレード版に関して個人的に不安だった (が、問題なかった) ことについて書き残しておく。 Windows 8 を載せるための…

Ruby で複数スレッドの終了を待つために ThreadsWait を使う (複数スレッドのうちのどれかひとつの終了や全てのスレッドの終了)

並列に実行して最初に返ってきた結果を得るやつ - hitode909の日記 Ruby において Thread の終了を待つための方法について。 id:hitode909 さんの上記ブログ記事を読んで、「そういや複数スレッドに対する join 処理をするための簡単な方法って何かありそう…

Vim で TypeScript のコード補完をさせようとする試みについてのメモ、あるいは neocomplcache プラグインの書き方について

昨日書いたように、Vim で TypeScript のコード補完させたいなーと思いながら TypeScript のコード補完方法について調べてた わけですが、そのままの勢いで Vim プラグインとか node とかいじって、とりあえず Vim 上で単一 TypeScript ファイル中のプロパテ…

TypeScript の補完候補を取得する方法メモ

TypeScript 公式サイトの Playground では web 上のテキストエディタで TypeScript のコードの補完が実現されているわけですが、vim 上でも補完候補出せるようにしたいなー、と思って TypeScript の補完候補を取得する方法を調べました。 対象とした TypeScr…

WinJS.UI.ListView の基本的な使い方 (項目の大きさの指定方法と要素の生成方法)

Windows ストアアプリを JavaScript で開発する際の話です。Windows 8 の特徴の一つでもあるタイルを並べたような表示を行うための WinJS コントロールとして WinJS.UI.ListView があります。 理解してしまうと特に難しいところはないのですが、プロジェクト…

JavaScript 向け IntelliSense でアンダースコア (_) で始まるプロパティ名を候補として表示する

Visual Studio 2012 で JavaScript を書くとき (Windows ストアアプリの開発とか) の話です。昨日書いた ように、Visual Studio には IntelliSense とよばれる入力支援機構があり、JavaScript を書く時にもプロパティ名の補完などをしてくれます。 Visual St…

WinJS.Promise のような非同期コールバックに IntelliSense を提供する方法

Windows ストアアプリを JavaScript で開発する際の、Visual Studio における入力支援機構 (IntelliSense) の話です。 IntelliSense と XML ドキュメントコメントについて Visual Studio には、IntelliSense とよばれる入力支援機能が搭載されています。 Jav…

IE10 における placeholder 属性をもつ textarea 要素、または value 属性のない type="checkbox" の input 要素の clone に関するはまりどころ

Windows ストアアプリで form 要素を含んだ Page コントロール を読み込もうとしたときに、期待しないレンダリング結果になった箇所があったのでちょっと調べてみた。 ちなみに期待しない結果になったのは以下の箇所。 textarea 要素 の placeholder 属性に…

JavaScript 処理系 Rhino で TypeScript コンパイラのビルドを試してみた

オープンソースの JavaScript 処理系である Rhino で、TypeScript 処理系を動かしてみよう、という話。 完全にはできてないけど、TypeScript のコンパイラをビルドをして、コンパイラのテストを走らせる、というところ (テストは走るけど多数失敗する) まで…

WinJS.Promise による非同期処理をループさせる関数 (Windows ストアアプリ)

JavaScript で非同期処理を chainable に書くためのライブラリとして、JSDeferred や jQuery.Deferred があります。 Windows ストアアプリ (旧称 Metro スタイルアプリ) における JavaScript 用ライブラリである WinJS では、同様のものが WinJS.Promise と…

Windows ストアアプリ開発時にシミュレータを起動したままローカルマシンへのデプロイをしようとするとエラーが発生する

Visual Studio 2012 を使用して Windows ストアアプリを開発しているときに、シミュレータを起動したままローカルマシンにデプロイしようとするとエラーが発生することがあった。 厳密な発生条件は不明。 エラー内容は以下。 Error : DEP0700 : Registration…

Windows ストアアプリ (JavaScript で開発) におけるアプリ設定の表示方法

Windows 8 で新たに導入される Windows ストアアプリ (旧称 Metro スタイルアプリ) の開発に関する話です。この記事では、Windows ストアアプリの設定チャームからアプリの設定を行えるように、以下の内容について説明します。 なお、JavaScript で Windows …

IE 10 の拡張された XHR を使って HTTP のストリーミングを受信する (Twitter Streaming API とか)

Web ブラウザから web サーバーに HTTP リクエストを送る際によく用いられる XMLHttpRequest (XHR) ですが、XMLHttpRequest の API を見ると、chunked transfer encoding による HTTP のストリーミングからのデータを受信して、都度処理をしていく、というよ…

QUnit の deepEqual は異なるグローバル環境で生成されたオブジェクトの比較で失敗する

JavaScript で書かれたプログラムのテストの話。 QUnit の deepEqual を使って 2 つのオブジェクトの構造が同じであることを確認しようとテストを書いていたのだけれど、どうみても同じ構造の 2 つのオブジェクトなのに deepEqual のテストが通らない、とい…

IE 6 と IE 7 において絶対配置の要素を relative 配置に変更すると中身のレンダリング位置がおかしくなる問題

ある要素の CSS position プロパティを fixed から relative に変更した時、Internet Explorer 7 (IE7) でその要素の中身が画面上から消えてしまうという事案が発生。 詳しく動作を追ってみたところ、その要素の中身は本来あるべき位置とは全然違う位置にレ…

MySQL では GROUP BY 句を使用した場合でも集約されていない列を結果に含めることができる

表題どおり。普通、SQL で GROUP BY 句を使用して SELECT する場合、結果に含めることができる列は GROUP BY 句に含まれる列か集約関数 (aggregate functions) を適用した列のみです。 しかし、MySQL の場合はそうではなく、GROUP BY 句にも含まれていないし…

Kyoto.pm Tech Talks 02 で WebSocket のことを話しました

2012 年 8 月 18 日に開催された Kyoto.pm Tech Talks 02 で WebSocket のことを LT してきました。 発表資料 参考 WebSocket プロトコルの詳細 : RFC 6455 - The WebSocket Protocol WebSocket API : 10.3 Web sockets — HTML Standard Takeshi Yoshino - G…

evernote-sdk-perl で Thrift::TException が発生する原因

Evernote Cloud API を使用するためには Evernote が提供するライブラリを使用する必要があります。 (Evernote Cloud API の詳細については 公式ドキュメント をご覧ください。) Perl 用のライブラリは evernote-sdk-perl です。 内部的には Thrift が使われ…

Windows ストアアプリ (Metro スタイルアプリ) における単一ページナビゲーションについて (JavaScript)

Windows 8 に新しく導入されるアプリは、もともと Metro スタイルアプリと呼ばれていましたが、現在は Windows ストアアプリと呼ばれるようになっています。Windows 8 の Metro スタイルアプリの開発には、HTML + CSS + JavaScript を用いることができます。…

Windows ストアアプリ (Metro スタイルアプリ) における JavaScript の非同期処理 (WinJS.Promise)

概要 Windows 8 の Windows ストアアプリ (旧称 Metro スタイルアプリ) 開発の話です。 Windows ランタイムと JavaScript 用 Windows ライブラリでは非同期処理を行う関数は基本的に WinJS.Promise オブジェクトを返します。 WinJS.Promise は Common JS Pro…