タグ

ブックマーク / lowreal.net (9)

  • builderscon tokyo 2016 で「 Bluetooth キーボードの作りかた」を喋りました | tech - 氾濫原

    ありがとうございました。 聞いたトークで印象に残ったもの OSS は Windows で動いてこそ楽しい - builderscon tokyo 2016 mattn さんが思ったより全くオッサン感なくてビビった。。。挨拶しようと思ったけどできなかったので、いつか(いつ?)挨拶したい。発表もおもしろかった。 動け!Golang 〜圧倒的IoTツール開発へようこそ〜 - builderscon tokyo 2016 IoTツール開発は生産管理ツールについてで、ものすごく貴重な話だと思った。懇親会でももうちょっと聞いたりした。 The Open Beer Server - theory and the implementation - builderscon tokyo 2016 今回のゲラゲラ枠っぽいが、ものすごい金かかっててやばかった…… C 言語で行う Web フロントエンドプログラミン

    lEDfm4UE
    lEDfm4UE 2016/12/11
  • リクエスト時の Cache-Control、max-age=0 と no-cache の違い | tech - 氾濫原

    ほとんどのブラウザで、通常リロードは Cache-Control: max-age=0、スーパーリロードで Cache-Control: no-cache がリクエストヘッダとして送られてくるみたいなのですが、実際の挙動はともかく意味の違いがよくわかりませんでした。 RFC7234 によると max-age は The "max-age" request directive indicates that the client is unwilling to accept a response whose age is greater than the specified number of seconds. Unless the max-stale request directive is also present, the client is not willing to accept

    lEDfm4UE
    lEDfm4UE 2016/05/29
  • 筋の悪さ | tech - 氾濫原

    JS しか書いてないんだなって人は筋悪いものをありがたがっていたりする印象はある。しかし筋悪いものをありがたがるみたいなのはどこにでもいるので、JSがどうとかは直接は関係がないはずではあると思う。JSしか書いてない人とPHPしか書いてない人は似たようなもんで、単に広範囲の知識に興味がないだけな気がする。 それはともかく「これは筋悪そうだな」っていう感覚がどこからくるのかよくわかってないので、現時点で思いつく限り雑にメモしておく。 割の合わなさ 「これは何の問題を解決してるんだろう」と思ってドキュメント読んだりソース読んだりした結果、大したことを解決してなくて、その割に実装量が多いとか学習コストが高いと、筋悪いなあと思う。 フットプリントや学習コストに対して提供されるモノが「割に合わない」のは筋が悪く感じる。 将来性のなさ 「あ、これはただの流行だな」みたいな、5年後には消滅してるなというも

    lEDfm4UE
    lEDfm4UE 2016/04/22
  • リファレンスマニュアルをインクリメンタル検索するやつを Electron で実装した | tech - 氾濫原

    https://github.com/cho45/Chemrtron 機能 インデックス用のクローラ 作ったインデックスのインクリメンタル検索と表示 できるだけ雑にインデックス作成用のクローラを実装できるようにしたかったので、そのようになっている。 オフライン閲覧はあんまり考慮してないが、file:// でインデックス登録すればオフラインでも使えると思う (ネットワークよりもディスクサイズのほうが厳しいのでオフラインにあまり興味がない…) 動かしかた レポジトリをクローンする場合 electron-prebuilt が必要。 npm -g install electron-prebuilt git clone https://github.com/cho45/Chemrtron.git cd Chemrtron electron . または https://github.com/cho45

  • YAPC::Asia で「ウェブエンジニアのローレベルプログラミング」という発表をしました | tech - 氾濫原

    ちょっと時間に対して話したいことが多すぎて、各分野での掘り下げが足りなかったとは思いますが、一通り下のほうまで盛りこみました。 電子工学について:自分は学校で電子工学を体系的に学んだことはありません。 YAPC 会期中はそこらへん歩いてます。

    YAPC::Asia で「ウェブエンジニアのローレベルプログラミング」という発表をしました | tech - 氾濫原
  • Ruby でスコープをはずれたときに自動で何かをする | tech - 氾濫原

    Guard オブジェクト Perl だと Guard オブジェクトとかいうハックがあって、スコープを出るタイミングで必ず呼ばれるファイナライザを使って、あるスコープでだけ有効な処理を書けたりします。 例えば、DB のトランザクションや、あるいは以下のように依存するプロセスをあるスコープでだけ起動して終了するような用途で使われています。 { my $guard = Proc::Guard->new(command => [ "memcached", "-p", "12321" ]); # do something ... }; # memcached has been killed 適当なメソッドにブロック(サブルーチン)を渡せばええやん、という気もしますし、実際 Ruby の transaction の場合そういう感じになります (Perl でももちろん同じようなサブルーチンを書くことはで

  • ngResource は何が便利なのか? | tech - 氾濫原

    ngResource は単にAPIのラッパーという感じではなくて、JS でサーバ側のモデルとうまく同期するように作られている。 最も簡単な例だと以下のように使うが、Entry.get は XHR が完了する前に、とりあえず空のオブジェクトが返るようになっており、XHR の完了とともに破壊的に書きかえられる。これにより、entry の変更がすぐ全体に伝わるようになっている。 var Entry = $resource('/entry/:id'); $scope.entry = Entry.get({ id : 0 }); デフォルトで定義されている query/get/save/delete だけを見ると単に REST API のラッパーのように見えるが、独自のメソッドを追加するとより理解しやすいコードを書ける。 以下のコードは、デフォルトで下書き状態で生成される Entry オブジェクトを

  • AngularJS の ngResource を既存APIの仕様にあわせる | angularjs | tech - 氾濫原

    AngularJS には ngResource という拡張があって、サーバに対する API 経由の CRUD 的操作を JavaScript のオブジェクトとしてラッピングできる。具体的には例えば var Entry = $resource('/entry/:id'); var entry = Entry.get({ id : 0 }, function () { entry.title = "yuno"; entry.$save(); // XHR (async) }); とかできる。ちょっとかっこいいけど、既存APIで使おうとすると、些細なフォーマットの違いで案の定使えなかったりする。どうしても使ってみたいけど、サーバサイドAPIの仕様まで変えたくない場合、若干無理矢理な方法である程度なら対応させることができる。 サーバサイドの仕様 前提として以下のような仕様だとする エントリリスト取

  • node.js で Perl における Test::TCP または Ruby における Glint | tech - 氾濫原

    Perl には Test::TCP というのがあって、テスト中、空いてるポートで何かしらのサーバーを起動して使うということができます。Ruby においては Glint というライブラリがあって、同じことができます。 node.js の場合、node-test-tcp というのがあって、node の net.Server で動くサーバに関しては簡単に同じことができます。が、memcached とか外部プロセスを起動させようとするとちょっと困るのと、done() を呼ばないと終了しないので、何かいい方法はないかなと思ったので書いてみました。 https://github.com/cho45/node-glint test-tcp だとカブるので glint のほうの名前を仮りています。 つかいかた glint( function (port) { // ここは外部プロセスで実行される // た

  • 1