サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
GPT-4o
forest1040.hatenadiary.org
家のモニタが貧弱なのと、ThinkPadのトラックポイントから離れられない体になってしまったので、自作PC(Ubuntu 12.04)をThinkPad(Ubuntu 12.04)からリモートデスクトップで接続して操作することにする。 Ubuntu同士をリモートデスクトップで接続する場合の選択肢として、XDMCPとVNCの2つが有力なようだ。 VNCの場合、自作PCにモニタを接続しておき、ThinkPadからも同時に画面と入力デバイスを共有して同じデスクトップを複数から同時にアクセスする形になる。モニタに見えているマウスポインタがThinkPadのVNCクライアントで操作でき、モニタからは勝手に動いているように見える。今回の場合、操作するのは、ThinkPadからだけなので、この機能は必要ない。そもそもモニタには繋がない予定だ。描画がもたつくのとVNCクライアントの解像度がVNCサーバ側の
このお盆休みに、ふと思い立って、機械学習をやってみようと思った。 手軽に試したかったので、node.jsを使うことにした。 久しぶりのnode.jsである。 いつのまにやら、安定版がv0.8になっていた。 ということで、nvmを使って、v0.8.8を放りこんでみた。 丁度良いことに、node.jsで機械学習をやるためのプラグインがあった。 node-naivebayes-simpleだ。 mecabで形態素解析をして、naivebayes-simpleで分析して、mongodbにデータを貯めるらしい。 mecabには、node-mecab-bindingというプラグインを使い、mongodbは、node-mongodb-nativeというプラグインを使っている。 ということで、各種プラグインをインストール。 $ git clone git://github.com/hakobera/nod
貧乏性の私は、どうもVMWare等の完全仮想化のソフトウェアはリソースがもったいなくて、積極的には使う気になれない。あくまでテスト環境として使う程度だ。100ノードぐらいのhadoopクラスタをKVM上に構築したいという野望もあるけれど、100ノードも立ち上げるだけのハードウェアがない。そういう時の、Amazon EC2かも知れないが。。 時間単位でちまちま金を払うのは、貧乏臭くていやだ! 「金がないなら知恵を出せ。知恵がないなら汗をかけ。」 ということで、冷汗をかきながら、LXCを使って、コンテナ型の仮想環境を構築したいと思う。コンテナ型の仮想環境の説明は、ここが詳しい。 いきなり実環境で、LXCを試すのは、怖かったので、Ubuntu 11.04上のVirtualBoxにUbuntu Server 11.04 を構築して、その上で試してみた。しばらく使ってみて、慣れてきたら、ホストOS上
「libeio」は、C言語で書かれた非同期I/Oライブラリです。 実装的には、キューとスレッドプールを使い、I/Oを非同期並行処理します。 先程の「Boost application performance using asynchronous I/O」の図の右下(Asynchronous + Non-blocking)に「libeio」は位置するのではないかと思います。 libeioのサンプル 以下、libeioに含まれるdemo.cから抜粋したサンプルです。 #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <poll.h> #include <string.h> #include <assert.h> #include <fcntl.h> #include <sys/types.h> #includ
libev版 echoサーバ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/socket.h> #include <sys/types.h> #include <arpa/inet.h> #include <unistd.h> #include <fcntl.h> #include <errno.h> #include <ev.h> #define SERVER_PORT 8011 #define MAX_BACKLOG 10 #define MAX_EVENTS 100 #define RCVBUFSIZE 256 // 異常終了 void die(const char* msg) { perror(msg); exit(EXIT_FAILURE); } // ノンブロッキングI/Oに設定
epollとlibevをそれぞれ使って、echoサーバを実装すると以下のようになります。 ubuntu 10.10で実行しました。 epoll版 echoサーバ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/socket.h> #include <sys/types.h> #include <sys/epoll.h> #include <unistd.h> #include <fcntl.h> #include <netinet/in.h> #define SERVER_PORT 8012 #define MAX_BACKLOG 10 #define MAX_EVENTS 100 // 異常終了 void die(const char* msg) { perror(msg); exit(EX
4/16(土)に開催されたオープンソースカンファレンス2011 Kansai/Kobeで、Node.jsの発表を行ないました。 朝早くから多くの方に参加して頂き、大変ありがとうございました。 拙い説明で申し訳ございません。資料をアップロードさせて頂きます。 Node.jsを使うと、JavaScriptで簡単に沢山のクライアントを効率的に捌くシステムを構築することができると思います。これから、オンラインゲーム等のリアルタイム系のシステムがますます流行ると思います。その時の基盤技術として最適ではないでしょうか。 Node.js入門 View more presentations from Toshio Mori
最近、Node.jsに興味があります。Node.jsを調べていると、I/O関係で、非同期I/O、ノンブロッキング、コールバック等、いろいろとキーワードがでてきて混乱してきます。 そこで、ブログに書いて整理しよう思います。間違いがあれば是非、指摘してください。 言葉の定義 ◇非同期呼び出し(Asynchronous Call)と同期呼び出し(Synchronous Call)の違い 同期呼び出し(Synchronous Call) 通常メソッドを呼び出すとメソッド内の処理が完了するまで、呼び出し元には戻ってこない。このようなメソッド呼び出しのこと。 非同期呼び出し(Asynchronous Call) メソッドを呼び出した瞬間に呼び出し元に処理が戻ってくるような呼び出しのこと。非同期で呼び出されたメソッドは、環境によって処理されるタイミングが変わる。 ◇マルチスレッド(multithread
Node.jsでは、「libev」と「libeio」を組み合わせて使用しています。 下記のようなファイル読み込み処理を実行すると以下のような処理フローになります。 var path = require('path'), fs = require('fs'), filepath = path.join(__dirname, 'a.txt'), fd = fs.openSync(filepath, 'r'); fs.read(fd, 1024, 0, 'utf-8', function(err, str, bytesRead) { console.log(str); }); 0. Node.js起動時にeio_init()でnode::EIOWantPoll()をlibeioに登録する。 libeioは、pollして欲しいタイミングになると、 node::EIOWantPoll()を呼び出すよ
サーバサイドJavaScriptの本命「node.js」の基礎知識 (1/3):node.jsでサーバサイドJavaScript開発入門(1) - @IT 皆で盛り上げて、今年はサーバサイドJavaScriptの年にしましょう!!
最近流行りのnode.js(と言っても、だいぶん前だが。)をandroidで動かそう。なんとnode.jsは、android1.6であるIS01でも動作した。しかし、そのためには、以下の手順が必要となる。 簡単な手順は以下の通りとなる。 IS01をroot化 qemuを使って、linux on arm 環境を構築 linux on arm 環境で、node.jsをビルド IS01にnode.jsのバイナリをコピー IS01をroot化 androidでnode.jsを動作させるためには、今回の手順では、root権限が必要になる。共有ライブラリを置くためにlibディレクトリを作成する必要があるためだ。 今回は、手っ取り早くroot化するために、MobileHackerz再起動日記: au IS01のroot権限を奪取する(ビルド番号01.00.09版)を使用する。 リンク先の手順に沿って、行
最近はzennで記事を書いています。 zenn.dev もう我慢の限界。。HatenaBlogが使いにく過ぎる。。 以下に以降した。 list - GROWI Transformer - Transformerの特徴のひとつは、学習を並列実行させることができることである。 RNNでは、時系列毎に結果を渡していく必要があるためシーケンシャルに処理をする必要がある。 - Transformerでは、並列学習させるため、以下の機構がある。 - Encoderへの入力は、データを配列で一気に渡す。(実際には、ミニバッチ学習させるため、「バッチ数 x 単語数 x 単語ベクトル次元数」となる。) - 単語の順番で文章ベクトルを計算するのではなく、Attentionで単語間の関連を見て文章ベクトル化する。 - 但し、単語の順番を考慮しないと、文章の意味が変わる場合があるので、位置情報を単語ベクトルに付与
IS01は、Android 2.1にバージョンアップしないらしい。まぁ、そんなもんだろう。 そんなことよりも、Androidは、LinuxカーネルとJava VM(正確にはそのサブセット)でできてる。しかも、IS01には、キーボードが搭載されている。それならば、持ち歩ける開発環境を作りたくなるのが漢というもの。 ということで、IS01(Android)でUNIX環境の構築 〜予備調査 - .h2oのお気楽日記を参考にして、私もIS01上に開発環境というものを構築すなる。 ちなみに私の母艦は、Ubuntuである。 母艦にAndroid SDKをインストール adbで接続する Windowsで、adbで接続するには、IS01のドライバをインストールするが、我らがUbuntuの場合は、ドライバのインストールは不要らしい。しかし、以下のadbコマンドを実行する必要あり。 adb kill-serv
Google Suggest APIを使用して、予測変換を行います。 jQueryのAutocompleteプラグインを使用すると、簡単に予測変換のリスト表示が可能になります。 kindterの実装を例に取り、Ruby on Railsの場合で説明します。 まず、jQuery Autocompleteを取得します。 Autocomplete | jQuery UI jquery.autocomplete.jsの配布場所がよくわかりませんでした。。 私は以下のデモサイトから、「jquery.autocomplete.js」と「jquery.autocomplete.css」を持ってきました。 http://view.jquery.com/trunk/plugins/autocomplete/demo/ 以下のファイルを所定の場所に配置します。 ・jquery-1.4.2.js ・jquery
このページを最初にブックマークしてみませんか?
『shutdown -r now』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く