Source Code: lib/cluster.js Clusters of Node.js processes can be used to run multiple instances of Node.js that can distribute workloads among their application threads. When process isolation is not needed, use the worker_threads module instead, which allows running multiple application threads within a single Node.js instance. The cluster module allows easy creation of child processes that all s
モジュールのインストール naughtというプロセス管理モジュールを使用するとサーバーを落とさずにデプロイすることが可能になります。 https://github.com/andrewrk/naught グローバルでインストール $ sudo npm install -g naught nodeサーバー用jsファイルを編集 naughtにworkerの開始と終了の通知を判別できるようにするために、サーバー用jsファイルのlistenを下記のように編集します。 // Start server server.listen(config.port, config.ip, function() { // Send online to naught if (process.send) { process.send('online'); } console.log('Express server li
trusterd HTTP/2 Web Serverは、設定や機能の拡張をRuby(mruby)で容易に実装できるという特徴を持つミドルウェアです。 また、別のアプリケーションにtrusterdのサーバ機能やクライアント機能を組み込めるという特徴も持っていますが、これについては以前記事で紹介しました。 C言語のアプリにmruby経由でtrusterdのHTTP/2サーバ機能を5分で組み込む方法 - 人間とウェブの未来 trusterdのHTTP/2クライアント機能をCアプリに組み込んでみよう - 人間とウェブの未来 今日は、trusterdの設定や機能拡張のためのコールバックの書き方を簡単に紹介します。 まずは基本設定を書く trusterdの基本設定は以下のようになります。 SERVER_NAME = "Trusterd" SERVER_VERSION = "0.0.1" SERVER_
ウェブブラウザではPNG, JPG, GIFなど一般的な画像形式を扱えますが、 それら以外の画像形式を使いたいこともあるのではないでしょうか? 3D映像,ゲーム業界で働いているのでTGAやDDSなど一般的ではない画像形式を扱うことが多く、 ウェブアプリを作成する際に画像をPNGなどへコンバートする作業が必要でした。 このような背景もあり今回、ブラウザサポート外の画像を扱えるように挑戦してみました。 プログラム言語はJavaでGWTを使いサーバーサイドは使わずに実装してみます。 調査 調査の結果、HTML5 Canvasを使うのが簡単そうなので、 W3CのIDLから関係のある部分を抜き出してみます。 interface CanvasRenderingContext2D { ImageData createImageData(unrestricted double sw, unrestrict
Note: Organization owners can restrict the publication of GitHub Pages sites from repositories owned by the organization. For more information, see "Managing the publication of GitHub Pages sites for your organization." Creating a repository for your site You can either create a repository or choose an existing repository for your site. If you want to create a GitHub Pages site for a repository wh
[edit] 要約 UNIX のシグナル関連の操作を行うモジュールです。 目次 モジュール関数 list signame trap モジュール関数 list -> Hash[permalink][rdoc][edit] シグナル名とシグナル番号を対応づけた Hash オブジェクトを返します。 例: p Signal.list # => {"WINCH"=>28, "PROF"=>27, ...} [SEE_ALSO] Signal.#signame signame(signo) -> String | nil[permalink][rdoc][edit] 引数で指定されたシグナル番号をシグナル名に変換して返します。対応するシグナル番号が存在しない場合は nil を返します。 Signal.trap("INT") { |signo| puts Signal.signame(signo) }
(English article is here.) こんにちは、吉岡([twitter:@yoshiokatsuneo])です。 ウェブ開発に欠かせないJavaScriptフレームワークですが、日々発展しておりReact.js, Ractive.js, Aurelia.js, AngularJS2.0など次々と新しいフレームワークが出てきています。 一体どれを使えばいいのか?何が違うのか?何から調べていいのか迷うことがあります。 そこで、現時点で事実上全てとなる、9大主要フレームワークについて、実際に使ってみて比較を行います。 Backbone.js Ember.js Knockout.js AngularJS(1.x) React.js Ractive.js vue.js Aurelia.js AngularJS2.0(アルファ版) これらのフレームワークでは、以下のような機能が実現さ
WebGLのシェーダーGLSLでの画像処理の作り方(モノクロ、セピア、モザイク、渦巻き) WebGLを使うと画像処理が実現でき、HTMLコンテンツに多彩なグラフィカル表現をもたらすことができます。たとえば、表示をモノクロームやモザイクにするといった画像エフェクトは簡単に実現できます。 WebGLはGPUの恩恵を受けれるため高速に実行でき、他の代替手法(canvas要素Context2Dオブジェクトによる画像処理等)よりも負荷が軽いのが利点です。 今回はWebGLの定番JSライブラリ「Three.js」とGLSLというシェーダー言語を使った、9種類の画像処理の実装方法を紹介します。ソースコードは「GitHub」からダウンロードして読み進めてください。 サンプルを試してみよう 次のサンプルでは複数のシェーダーを適用できます。画面左上のチェックボックスで画像加工を選択でき、ラジオボタンから画像と
Webの表現力は、文字の大きさや色を中心に修飾していた時代から美しいグラフィックやアニメーションの活用へと進み、いまでは大きな動画も積極的に取り入れた、豊かな表現力と情報量を備えるWebが数多く見られるようになりました。 最近では広告や解説動画といった例だけでなく、背景いっぱいに動画を使うといった例もあります。モバイルでもゲームやソーシャルメディアなどを中心に積極的に動画を用いた表現が増えています。 GIFやH.264に足りないもの こうした動画表現を実現する技術には複数の選択肢がありますが、モバイルとWebサイトの両方での対応を考えると、GIFアニメーションかH.264のいずれかを選択するのが一般的でしょう。しかしGIFアニメーションは色数が256色と限られ圧縮率も低いため、小さなサイズで数秒程度といった最小限の動画再生にしか向きませんし、音声との同期も困難です。一方、H.264は高精細
某所でajitingさせてもらうという貴重なユーザ体験をしたのですが、「THC-Hydraでhttp-getにてクラックするとき、BASIC認証とDigest認証を自動判別してくれるのか?」という質問に答えられずに悔しい思いをしました。ので、ちゃんと検証しました。 結論から言うと、THC-Hydraは自動でBASIC認証/Digest認証を判断してくれるので、http-get指定だけでよく、特別に設定する必要はありません。 BASIC認証のおさらい まずはじめに、BASIC認証のおさらいをしておきます。 BASIC認証では、IDとパスワードをコロンで連結した文字列を、Base64でエンコードしてAuthorization:ヘッダに付けることで認証をおこないます。 GET /basicauth/ HTTP/1.1 Host: 192.168.2.66 User-Agent: Mozilla/
Gentoo/DragonFly BSD の基礎部分もだいぶできあがってきて残すは clean up だけ、という感じになってまいりました。 Gentoo には sandbox というものがあります。これは emerge 中に / 環境においたをしないかどうかをチェックしておいたしそうなところを妨害する仕組みです。これを Gentoo/DragonFly でも動かすべく作業していました。 まず sandbox の仕組み。ほとんどのプログラムは libc.so に dynamic にリンクしていて実行時に /lib/libc.so なりからコードを読みこみます。 sandbox では LD_PRELOAD なり LD_LIBRARY_PATH なりを駆使して、読みこまれる libc.so を sandbox のものにしてしまい、おいたをしないかどうかチェックする機構を挟み込んでいます。 すな
If your code is used on multiple operating systems it probably should be tested on multiple operating systems. Travis CI can test on Linux and macOS. To enable testing on multiple operating systems add the os key to your .travis.yml: The value of the $TRAVIS_OS_NAME variable is set to linux or osx according to the operating system a particular build is running on, so you can use it to conditionali
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く