「クソコード」と感じるのは具体的にどんなコードを見たときか

www.megamouth.info この記事を読んでちょっと思ったこと。 インデントがタブとスペースどちらかに統一されていないとか、フレームワークの誤用があるとか、またはフレームワーク自体が独自のものであったりすれば、じんわりと汗が滲み、異様に長大な関数や…

CUI の長所・短所

何かアプリを作る際に、CUI が良いか、GUIが良いか、と考えることがよくある。 GUI があるのが後発だが、今でも CUI のアプリは作られているし、一長一短あるみたい。 個人的に思う CUI の長所短所を考えてみる。 CUI のよいところ 開発が楽 開発者目線にな…

Electron の QuickStart を速攻で Typescript にする

Electronが公式でTypescriptの型定義ファイルを同梱してくれたことにより、Typescript + Electron での開発スタートが簡単になった。 それを記念して、公式のQuickStartをサッとTypescript仕様に変えてしまいたい。 公式にあるQuickStartの手順は次の通り。 …

テーブルを正規化するほど、アプリから使うのは難しくなる

DBのテーブル設計で、正規化するときれいだけど、アプリから使うとき難しくなる問題。 とても有名で今更な話ではあるけど、明文化したことはなかったので書き残しておく。 正規化していると、複数のテーブルから取る必要がある たとえば、ユーザー一覧を表示…

すごいプログラマーは、根拠をだすのが早い

すごいプログラマーの人は、ある技術についてとても詳しいというよりは、 「xxがうまくいかないのはなぜ?」 「どれくらい速くなったか?」 といった問題に対して、わかりやすい根拠をさっと出せる人だと思った。 初心者がやりがちなこと 「問題なく動いてそ…

言うは易く行うは難し プログラミングでも

技術記事などで「我々は以下のような実装をして実運用できた」というのはよくある。 それを見て 「あ〜これ有名な手法じゃん、簡単にできるわ〜〜」 とか思いがちなのだが、実際にコードを書いてみると思いの外上手くいかないもの。 「ぐだぐだ言ってないで…

アナザーエデンの非同期オートセーブの記事の感想

gamebiz.jp 要約 データ管理の大部分がクライアント側。これによって、通信状況が悪くても待たされることが少ない。 クライアント内部にDB (LevelDB) がある シーン遷移時に内部DBの差分を request queue にためていく 基本バックグラウンドで非同期通信 ガ…

UDPの状態は判定可能?

UDPといえば、ステートレス(内部状態を持たない)単純なプロトコルなので、 「今どんな状態か」は見れないはず。 しかし、ある日サーバーで netstat -anu を実行すると UDP かつ状態が ESTABLISHED のものが見つかった。 これは一体どういうこと? 答え 以…

コミットメッセージの1行目を簡潔に

git

最近gitでコミットメッセージを入れるときは次のようにしていた xxがyyになるのを修正 xxxできるようにした しかし、「〜になるのを」「ようにした」といった言葉はノイズにしかなってない気がしたので バグ修正であれば Fix (不具合の概要) 新規追加であ…

このブログを再び使っていこうと思ったお話

最近、技術的なアウトプットはQiitaかMediumにしていたけど、やっぱり技術的なお話とそれ以外は分けたいってなったので、 プログラミングに関するTips→Qiita それ以外の技術に関する所感とか意見とか→はてなブログ という風に分けていこうとおもった。 続く…

MVVMで簡単なアプリを作成した

Gistに作成したのでそのまま貼り付け.

Windows8にてデスクトップアプリのスタートアップが遅いのを直す

Windows 7と比べてデスクトップアプリの起動が遅いことがずっと気になっていました。 しかし、最近ついに解決法を見つけたのでメモしておきます。 デスクトップアプリの遅延時間を指定するレジストリキーの値を0にする レジストリエディタの、HKEY_CURRENT_U…

Chrome + Windows8 でHTML5プレイヤーの音が出ない場合の対策方法

原因はRealtekサウンド Realtekのサウンドカード(いわゆるカニ)を使っている場合,ChromeのHTML5 audio APIで音が出ないことがあると知った. 対策方法 Realtekのサウンド設定で,5.1chや7.1chになっている場合は2ch(ステレオ)に変更する

macbookに快適なvim環境を作る -基本編-

vim

[vim]macbookに快適なvim環境を作る -基本編- シェルでお手軽に使えるテキストエディタとしてvimを使っている。 今までは.vimrcの設定サンプルをコピペするだけであったが一度リセットして、 今回は自分がほしいと思った機能を 着実に入れていく手法で進めて…

MacをSSHサーバーにする方法(OS X 10.8.5 Mountain Lion)

設定>共有>リモートログインをONにする 接続が遅いのを直す しかし自分がWindowsから接続してみたところ、すごく遅かったので /etc/sshd_config の中にある #UseDNS yesをUseDNS no に変更してクライアントのDNS名前解決をオフにしたら早くなった。 ※管理…