タグ

ブックマーク / satosystems.hatenablog.com (3)

  • ファイル名に使用できない文字、使用できない名前 - satosystemsの日記

    ユーザが入力したファイル名が、その OS で使用できない文字を含んでいるかを事前にチェックして、ダメならユーザにメッセージを表示する」という要件があった。 Windows なら サイト URL、フォルダ名、ファイル名に使用できない文字 あたりに情報がまとまっている。ただし、これだけではダメだということを今日知った。 たとえば、以下のスクリーンショットは、秀丸で "com1" という名前でファイルを保存しようとした場合にでたエラーメッセージだ。 使用不可文字の他に、OS が予約しているファイル名というものが別に存在して、そのファイル名で保存できないようになっているようだ。具体的には COM1〜COM9、LPT1〜LPT9、NUL など。 こちら(Naming Files, Paths, and Namespaces - Windows applications | Microsoft Doc

    ファイル名に使用できない文字、使用できない名前 - satosystemsの日記
    sirocco
    sirocco 2013/07/15
    WindowsではCOM1~COM9、LPT1~LPT9、NUL などはファイル名にすることが出来ないそうです。使えない文字もあります。
  • 【絶対】PC の時計を 2099 年 12 月 31 日にしてはいけない【ダメ】 - satosystemsの日記

    下手すると PC が起動しなくなります。 コンピュータには 2036 年問題というのがあって、簡単に言うと、2036 年のある時刻以降、内部時計が 1900 年に戻ってしまうというもの。まあこれぐらいならかわいらしい現象です。 僕は実際に 2099 年 12 月 31 日 23 時 59 分ちょうどに設定してみました。そこからの 1 分はまさにカタストロフィでした。 まず、常駐しているアプリが不正終了したりエラーダイアログを出したりして、1 分後の大惨事を知らない僕はこの状況を少し楽しんでいました。エラーダイアログのキャプチャなんかを撮ったりして。 Cygwin で date コマンドを打つと、196x 年ぐらいだったので、まさに 2036 年問題が発生していました。 出てきたエラーダイアログのひとつは .NET Framework のスタックトレースが出ていたので、なんだろうな、と眺めて

    【絶対】PC の時計を 2099 年 12 月 31 日にしてはいけない【ダメ】 - satosystemsの日記
    sirocco
    sirocco 2013/03/09
    Windows がフリーズ。再起動してもPC が起動せず、ビープ音が続きBIOSさえ出ない。ボタン電池をはずして1分間放電。組み立てて起動するるとBIOS画面が出たそうだ。
  • フィボナッチで各種言語をベンチマーク - satosystemsの日記

    AWK、Ada、Bash、Boo、C、C#、C++、Clojure、D、Erlang、Forth、Fortran、Go、Groovy、Haskell、Io、JavaJavaScript、Lisp、Lua、OCaml、Objective-C、PHP、Pascal、Perl、Pike、PrologPython、R、RubyScala、Scheme、Smalltalk、Tcl でフィボナッチ数を求める処理時間を計測してみました。 フィボナッチ数は漸化式で求められます。 F0 = 0 F1 = 1 Fn+2 = Fn+1 + Fn フィボナッチ数を求めるアルゴリズムはいろいろありますが、今回は以下の再帰で求めるアルゴリズムで統一しました。 #include <stdio.h> int fib(int n) { if (n < 2) return n; return fib(n - 2) +

    フィボナッチで各種言語をベンチマーク - satosystemsの日記
    sirocco
    sirocco 2012/12/31
     " Scheme48 のコンパイルバージョン。なんと 0.004sec。ただこれはタネがあって、コンパイル時に関数を評価してフィボナッチ数を算出しているためです。(略)コンパイル時に評価できる関数は評価してしまう"
  • 1