びったんびったん

ユーザビリティ・プログラミングについて。

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

ゲームを作るかもしれない

ゼロからゲームが作られていくのがわかる開発ブログにしたい。昔はゲームばかり作っていて完成したためしがないんだけど、今なら完成させられる気がする。 作るゲームはローグライクライクです。アイデアを思いついて仕様を考えているところなので、次の更新…

npm メモ

npm のコマンドを目的別にまとめています。 npm は gulp にしか使っていません。 コマンドにはエイリアスがたくさんあるので使いやすいものを選びましょう。 npm のコマンドについて調べる npm-index パッケージを探す npm install プロジェクトにパッケージ…

Fit Win の新しいバージョンを公開しました!

ここでは技術的なことを書きます。 Fit Win の詳細は下記 URL をご覧ください。 Fit Win - ウィンドウを移動・サイズ変更するフリーソフト 開発言語は C#/Slim(HTML5)/Stylus(CSS3)/CoffeeScript(JavaScript) です。ただ本ソフトは Web アプリではありません…

マウスカーソルには2つの意味がある

状態を表すマウスカーソル PC がフリーズしているときの待ちアイコンや、ペイントソフトの鉛筆や消しゴムアイコンのことです。これらのアイコンは PC やソフトの状態に応じて変化し、ユーザがマウスアクションするとどのような効果が起こるのかユーザに伝え…

C# で SetWindowsHookEx() を使うと Form がフリーズするのをごり押す

C# でマウスグローバルフックを使うと Form がフリーズします。 c# - SetWindowsHookEx and clicking minimize/maximize/close buttons on form freezing - Stack Overflow C# から直接呼び出しても、 C++ で DLL を作って呼び出してもフリーズしたので C# …

Undo の設計 - 元に戻す・戻さない操作の違い

例えばテキストエディタに文字を入力してから元に戻すと、入力した文字は消える。しかしテキストエディタでスクロールしてから元に戻しても、スクロールは戻らない。当たり前かな?じゃあコードの折りたたみはどうだろう?答えはどちらもで、 Visual Studio …

Windows 10 未満のコマンドプロンプトを Ctrl + V で貼り付け

Windows 10 でコマンドプロンプトが使いやすくなるみたいですね。 Windows 10 ほどではありませんが既存の Windows のコマンドプロンプトを Ctrl + V で貼り付けができるようにし、少しだけ使いやすくする方法を紹介します。 汎用キーバインディング変更ソフ…

Form.Close() メソッドの CloseReason は UserClosing

Form アプリケーションがどのように終了する(した)のかは CloseReason で知ることができる。 CloseReason 列挙体 (System.Windows.Forms) これの注意点として CloseReason が UserClosing になるのはウィンドウの閉じるボタンや Alt + F4 で終了するときだ…

ShowWindow(hWnd, SW_RESTORE) は Visible プロパティを更新しない

やりたいこと 最小化されていてかつ非表示なフォームがある。これを表示し元のサイズに戻したい。 バグ 状況を再現する最小のコードを書いた。元のサイズに戻すことは .NET ではできないので Win32 の ShowWindow(hWnd, SW_RESTORE) 関数を使う。 class C { …

次バージョンを決めた

自作ソフトの現バージョンは 0.3 なのだけれど次バージョンは 1.1 に決めた。 メジャーバージョンを 0.X から 1.X に上げているのは大きな機能がたくさん増えるため。 なぜ 1.0 ではなく 1.1 なのかというと 1.0 だとユーザに初公開と勘違いされるかもしれな…

動作環境をわかりやすくするためのバージョン番号

最近では OS に限らずブラウザや IDE などにサードパーティ製のソフトウェアやアドオン、プラグインなどが増えてきました。 しかしソフトウェアの動作元のバージョンアップでソフトウェアが動かなくなることもあるので動作環境を明らかにすることは重要です…

エンドユーザがソフトウェアをインストールするときに DLL の依存関係を解消してくれたらいいな

ひとつの言語にひとつのパッケージ管理システムが当たり前になりつつある昨今、エンドユーザがソフトウェアをインストールするときにもパッケージ管理システムが普及して欲しいな。 たとえ複数のソフトウェアで同じサードパーティー製 DLL が使われていたと…

インライン SVG がうまく表示されない

インライン SVG というのは HTML に直接記述できる SVG です。こんな感じ。 <body> <svg> <path /> </svg> </body> そのインライン SVG が HTML 圧縮ツールのせいでうまく表示されませんでした。というのも input タグのような閉じタグのないタグは HTML ではスラッシュがいりません(あって…

プリミティブ型や構造体の FirstOrDefault

とてもよい本でした。 C#ショートコードプログラミング第2版 【▲→川俣晶の縁側→技術関連執筆情報】 この本に null 許容型を使えばプリミティブ型のデフォルトと区別をつけられるよーって書いてありました。 var v = (new int?[] { 1, 2, 3 }).FirstOrDefault…

gulp-slim が日本語を含むファイルのコンパイルに失敗する

結論から書くと、私の環境は Windows で gulp-slim は Slim のコンパイルに Ruby 実装を使っていた。 Windows で Ruby を使うときの文字コードの問題で失敗していたようだ。 環境変数 RUBYOPT に -EUTF-8 を設定すれば成功する。 WindowsでEncoding.default_…

Stylus ではまった点

CSS プリプロセッサというと Sass と Less の2強という感じですが Stylus もおすすめですよ。 Stylus は文法も覚えやすく1日もあれば使いこなせますが2点だけはまったのでメモ。 割り算をするときはかっこでくくる margin (500px / 3) font プロパティや …

CSS3 の calc() 関数はどんなプロパティにでも使えるわけじゃない

calc() 関数を使っていて動かなくても時間を無駄にせぬようメモ。 font-size: calc(36px / 2); なぜか動きませんでした。 css3 - CSS - calc() on font-size - changing font size based on container size - Stack Overflow 英語は読めないけど駄目だよーっ…

クロージャではまったのでメモ

クロージャではまるのは C# に続き CoffeeScript で2度目なのでメモ。 やりたかったこと 4つのクロージャに0、1、2、3のそれぞれを束縛したかった。 間違い f() for f in ((-> console.log i) for i in [0...4]) # 4 # 4 # 4 # 4 CoffeeScript の性質…

グリッドレイアウトを見やすくする小技

グリッドレイアウトやカードレイアウトが流行っていますよね。でも縦と横のマージンを安易に同じにしていませんか? 縦と横のマージンが同じ場合は、まず右に読み進めて下に右に読み進めて下に…なのか、下に読み進めて右に下に読み進めて右に…なのかわかりま…

Windows 7 と Windows 8 どちらのスクリーンショットがわかりやすい?

先日 Windows 用フリーソフトを公開したのですが、ありがたいことに多数のメディアに取り上げていただきました。そのとき疑問に思ったことについて書きます。 公開した Windows 用フリーソフトです。 Fit Win - ウィンドウの移動・サイズ変更ツール どのメデ…

ひとつのファイルにひとつのクラスか複数のクラスか?

つい面倒くさがって気がつくとひとつのファイルが長くなっているので自戒の意もこめて。 ひとつのファイルにひとつのクラスのメリット クラスをまとめてひとつのファイルにするかどうかで迷わなくてすむ 読みやすくなるようクラスをまとめても、クラスが増え…