タグ

ブックマーク / paulownia.hatenablog.com (10)

  • MacのThunderbolt 4とThunderbolt/USB 4 - NullPointer's

    MacBook AirとMacBook ProはいずれもThunderboltポートを搭載しているが、表記が異なっている 左がMacBook Air、右がMacBook Pro、Thunderbolt/USB 4とThunderbolt 4は何が違うのか 先に結論 MacBook ProのUSB-CポートはThunderbolt 4とUSB4に対応している。 Thunderbolt 4はUSB4準拠しているため単にThunderbolt 4と書くだけでUSB4として動作することが示される。よってUSB4の表記は省略されている。 MacBook AirのUSB-CポートはThunderbolt 3とUSB4に対応している。 Thunderbolt 3はUSB4準拠ではないのでUSB4が使えることを示すために Thunderbolt/USB 4 と併記している。またThunderbolt 3規

    MacのThunderbolt 4とThunderbolt/USB 4 - NullPointer's
    raimon49
    raimon49 2023/01/31
    >Thunderbolt 4はUSB4準拠しているため単にThunderbolt 4と書くだけでUSB4として動作することが示される。
  • HTML5ではフォームにDELETE、PUTを指定できる? - NullPointer's

    現在のHTML4やXHTMLの仕様ではform要素のmethod属性の値としてGETとPOSTだけが許可されている。HTML5ではDELETEやPUTも指定可能になりそうだ。 まだ草案ですらないEditor's Draftだが、以下のような記述がされている。 The method content attribute is an enumerated attribute with the following keywords and states: The keyword GET, mapping to the state GET, indicating the HTTP GET method. The keyword POST, mapping to the state POST, indicating the HTTP POST method. The keyword PUT, mapp

    HTML5ではフォームにDELETE、PUTを指定できる? - NullPointer's
  • node.jsで行処理 - NullPointer's

    追記:今はこちらのライブラリがおすすめ www.npmjs.com node.jsにはテキストを読み込んで行毎に処理できるライブラリがないので、自前で行処理を行う必要がある。 何も考えてないバージョン 何も考えなければ、難しくない。 var fs = require('fs'); var rs = fs.createReadStream("a_big_text_file.txt"); var data = ""; rs.on("data", function(chunk) { data += chunk; }); rs.on("end", function() { var lines = data.split('\n'); lines.forEach(function(line) { console.log(line); }) }); しかし、これはイケてない実装。使い捨てスクリプトで使う

    node.jsで行処理 - NullPointer's
    raimon49
    raimon49 2012/09/30
    chunk処理 イベントドリブン
  • ECMAScript 5thなオブジェクト生成の話2 - NullPointer's

    昨日書いた new を使わないインスタンス生成は、実際に使ってみると、たかだかオブジェクトの生成ごときで Object.create(Hoge.prototype).init(); とか長いし、init呼ぶの忘れそうだし、init メソッド定義しないといけないし、return this 忘れるとハマるしで糞すぎ。 というわけでFunctionを拡張してオブジェクト生成用のcreateメソッドを作ってみる。 Object.defineProperty(Function.prototype, "create", { value: function() { var obj = Object.create(this.prototype); if (obj.init) { // initを持っていれば、イニシャライザとして呼ぶ。 obj.init.apply(obj, arguments); } r

    ECMAScript 5thなオブジェクト生成の話2 - NullPointer's
    raimon49
    raimon49 2012/02/24
    newで良いです
  • Firefoxのトラックパッドジェスチャをカスタマイズ - NullPointer's

    Apple信者歴18年のぬるぽんです。こんにちは。 MacBook Air使ってるのにマジックトラックパッドを買いました。やー、寒いんでこたつから手を出したくないんですよねw こたつの中ではマウス操作しにくいですが、トラックパッドなら使えるのですおww さて、Mac版Firefoxでは、スワイプジェスチャに履歴を戻る/進む、という動作が割り当てられています。しかし正直ブラウザの履歴移動なんてあまり使わないので、スワイプにタブ移動を割り当ててみた。 調べてみたところ、 about:config でジェスチャの動作を変更できるようだ。 browser.gesture.swipe.left Browser:PrevTab browser.gesture.swipe.right Browser:NextTabそれから、タブを簡単に閉じたかったのでピンチインにクローズを割り当ててみた。 browse

    Firefoxのトラックパッドジェスチャをカスタマイズ - NullPointer's
    raimon49
    raimon49 2012/02/12
    えっ、これは知らなかった。>browser.gesture.swipe
  • HTML5のJavaScriptでバイナリファイルを扱う - NullPointer's

    HTML5のFile APIではデスクトップからファイルを取得して、その内容を読むことができます。テキストとしての読み込みはもちろん、生のバイト列も読めるので、バイナリファイルも解析できます。 とりあえず手始めに16進ダンプしてみますか。 http://nullpon.moe/dev/sample/binaryfile/index.html Google Chrome 9以降で動作します。その他のブラウザはまだバイナリの読み込みに対応していません。 さて、適当なJPEGファイルをドラッグアンドドロップしてダンプしてみると、先頭が ff e8 になっていると思います。全てのJPEGファイルは ff e8 で始まり、ff d9 で終わります。 こんな感じでバイナリを見ていけば当然EXIF情報なども取得できます。ブラウザ側で画像処理を行ってサーバに送信するなんて事もできるでしょう。スマートフォン

    HTML5のJavaScriptでバイナリファイルを扱う - NullPointer's
    raimon49
    raimon49 2011/06/26
    File API バイナリ対応
  • node.jsでServer-Sent Eventsを試す - NullPointer's

    HTML5のServer-Sent Eventsの仕様は、HTTP通信を使ってサーバサイドからのデータプッシュを行うCometを、JavaScriptAPIを定義するなどして使いやすくまとめたものらしい。クライアント側のAPIはSafari5やChrome8では既に実装されているそうなので試してみた。 サーバ側は最近流行のnode.jsで実装してみた。Server-Sent Eventsのサーバ側はCGIやPHPでも実装可能だが、Apacheのようなマルチスレッドでリクエストを処理するタイプのサーバでは、ロングポーリングで停止しているだけの、ほとんど仕事しないスレッドが沢山作られてリソースが無駄になり非効率的だ。ノンブロッキングIOでシングルスレッドでイベント駆動型のnode.jsならば効率的なはず。 サンプル。gitでソースを落として node server.js して http://

    node.jsでServer-Sent Eventsを試す - NullPointer's
  • iPhone用サイトのフォームにはHTML5の属性を使おう - NullPointer's

    ガラケーからiPhone4に乗り換えました。おサイフケータイ等のガラパゴス機能は使っていなかったのでiPhoneになって不便を感じることもなく、iPhoneの便利さだけを享受しています。東京にいる限りはソフトバンクの電波で困ることもないですしね。 ところでiPhone4のSafariはHTML5で追加されたinputの新しいtype属性値に対応しています。キーボードのレイアウトが属性にあった形に変更され、入力しやすくなります。また属性に合わない値の入力が制限されます。 https://nullpon.moe/dev/sample/form.html type="email"では @ と . のキーが追加されます。 type="url"では . と / と .com が追加されます。 type="number"では数字キーボードになります。ただし数字以外も入力可能でした。 type="tel

    iPhone用サイトのフォームにはHTML5の属性を使おう - NullPointer's
    raimon49
    raimon49 2010/08/21
    type属性
  • JavaScriptと二重否定 - NullPointer's

    prototype.js 1.5.1のソースでこれは何??、と、同僚に聞かれた。 Browser: { IE: !!(window.attachEvent && !window.opera), Opera: !!window.opera, WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1, Gecko: navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('KHTML') == -1 }, 論理否定演算を二回行っていて一瞬ナンダコレと思ったが…にゃるほど。 var isXHRSupported = !!window.XMLHttpRequest 値が定義されていればtrueを取得する、ただそれだけだが、論理否定演算子を二重にする発想は

    JavaScriptと二重否定 - NullPointer's
    raimon49
    raimon49 2008/09/19
    definedとして使える二重否定。なる。
  • JavaScriptのargumentsはArrayじゃない - NullPointer's

    Function.prototype.curry = function(t) { var self = this; return function() { return self.apply(this, [t].concat(arguments)); } } のような関数をカリー化引数を部分適用させるメソッドを作ってみたが上手く動作しない。arguments は Array オブジェクトではないので、[t].concat(arguments)はフラットな配列として展開されないのだった。 function hoge() { window.alert(arguments); // object Arguments window.alert(arguments instanceof Array); // false } hoge(); JavaScript には、arguments 以外にも、D

    JavaScriptのargumentsはArrayじゃない - NullPointer's
    raimon49
    raimon49 2008/09/19
    argumentsをArrayオブジェクトに変換
  • 1