タグ

muto_masaのブックマーク (552)

  • サーバサイドJavaScriptの本命「node.js」の基礎知識

    稿では、Node.jsの特徴や動作原理に触れ、サンプルや役に立つパッケージ、活用事例などを紹介したいと思います。 主なサーバサイドJavaScript Node.jsに触れる前に、予備知識として他のサーバサイドJavaScriptにも触れておきます。Node.js含め、サーバサイドJavaScriptには、主に以下のようなプロジェクトがあります。 サーバサイドJavaScripの標準仕様「CommonJS」とは サーバサイドJavaScriptには、「CommonJS」と呼ばれる標準化が策定されています。標準化というと難しい感じがしますが、要はサーバサイドでJavaScriptを実行するのに何が必要かを仕様として、定義しているドキュメントのことです(例えば、「ログが必要だよね」など)。 Node.jsは、このCommonJSに則って開発されています。現段階であれば、CommonJSの仕様

    サーバサイドJavaScriptの本命「node.js」の基礎知識
    muto_masa
    muto_masa 2012/10/07
    せこせことnode.jsなどをリアルタイムにインフラの監視に利用出来ないか調べている。ワイン効いて来ましたw
  • rubyのgem「em-websocket」を使ったらいとも簡単にwebsocketを導入できた。

    とても簡単です。 10分もかからずに試せるのでよかったらどうぞ。 一応githubにソースも置いてますので、興味があるかたはそちらも見てみて下さい。(❍ʻ◡ʻ❍) https://github.com/nihitok/Kantan-websocket 作るもの websocketで動くチャット 最初に、gemem-websocketをインストールします。em-websocketの詳細はこちら。https://github.com/igrigorik/em-websocket $ gem install em-websocket 環境によっては依存するライブラリがなくて怒られたりするかもしれませんが、その場合はエラーメッセージでググッて見て下さい。 次に、適当なHTMLで「index.html」を作ります。 <html> <head> <script src='http://ajax.go

  • 独学でコーディング! - a-newcomer.com

    ここ数年、会社を辞めて自分のペースで仕事を請け負うフリーランスという形態で仕事をする人が増えています。フリーランスには様々な職業があり、代表的なものでは翻訳業やイラストレーター、YouTuberもフリーランスに分類されます。そして代表的なフリーランスの職業がもう一つあります。それはプログラマー/エンジニアです。そのプログラミングの大部分を占める工程がコーディングであり、知識と技術を身につければ、憧れのフリーランスに鞍替えすることも夢ではありません。 それではコーディングの知識と技術を取得するにはどのようなルートがあるのでしょうか?現実として学校に通うか、プログラミングを請け負う会社に入社するか、あるいは独学で取得するかのいずれかを選択することになります。そこで今回は最も費用の少ない独学でコーディングを学ぶ方法を紹介したいと思います。 独学でコーディングの知識と技術を身につけるには まずはプ

    独学でコーディング! - a-newcomer.com
  • 独学でコーディング! - a-newcomer.com

    ここ数年、会社を辞めて自分のペースで仕事を請け負うフリーランスという形態で仕事をする人が増えています。フリーランスには様々な職業があり、代表的なものでは翻訳業やイラストレーター、YouTuberもフリーランスに分類されます。そして代表的なフリーランスの職業がもう一つあります。それはプログラマー/エンジニアです。そのプログラミングの大部分を占める工程がコーディングであり、知識と技術を身につければ、憧れのフリーランスに鞍替えすることも夢ではありません。 それではコーディングの知識と技術を取得するにはどのようなルートがあるのでしょうか?現実として学校に通うか、プログラミングを請け負う会社に入社するか、あるいは独学で取得するかのいずれかを選択することになります。そこで今回は最も費用の少ない独学でコーディングを学ぶ方法を紹介したいと思います。 独学でコーディングの知識と技術を身につけるには まずはプ

    独学でコーディング! - a-newcomer.com
  • WordPress.com Serves 70,000 req/sec and over 15 Gbit/sec of Traffic using NGINX - High Scalability -

    « Stuff The Internet Says On Scalability For September 28, 2012 | Main | Google Spanner's Most Surprising Revelation: NoSQL is Out and NewSQL is In » This is a guest post by Barry Abrahamson, Chief Systems Wrangler at Automattic, and Nginx's Coufounder Andrew Alexeev. WordPress.com serves more than 33 million sites attracting over 339 million people and 3.4 billion pages each month. Since April 20

    muto_masa
    muto_masa 2012/10/06
    ロードバランサーをスレッドベースのPoundからメモリ消費も低いNginxに乗り換えたのか。
  • MySQL 5.6のInnoDB memcached pluginを使ってみる - 酒日記 はてな支店

    MySQL 5.6の RC 版が出ましたね。魅力的な機能が満載で皆さんwktkしていることと思います。早速、個人的に気になっていた memcached plugin を試してみました。 最初に結論から言いますが、現時点 (5.6.7rc) では HandlerSocket の代わりに使えるようなものではなさそうです。 memcached protocol でアクセスできるのは全体で 1 テーブルのみ 訂正: namespace という仕組みで複数テーブルにmapが可能です テーブルの文字コードは latin1 である必要がある 【2012-11-22 追記】5.6.8RCでは、文字コードが latin1 であるという制限は撤廃されました 「MySQL のテーブルに memcached protocol でアクセスできる」というよりは、「memcached のストレージを InnoDB にで

    MySQL 5.6のInnoDB memcached pluginを使ってみる - 酒日記 はてな支店
  • dstatの万能感がハンパない - (ひ)メモ

    サーバーのリソースを見るにはグラフ化は重要ですが、推移ではなくリアルタイムな状況、例えば秒単位のスパイキーな負荷を見るには、サーバー上でvmstatやiostatなどの*statファミリーを叩く必要があります。 さて、vmstatはメモリの状況やブロック数単位のI/O状況は見られますが、バイト単位のI/O状況やネットワークの送信、受信バイト数を見ることはできません。 # vmstat 1 procs -----------memory---------- ---swap--- -----io----- --system-- -----cpu------ r b swpd free buff cache si so bi bo in cs us sy id wa st 3 1 0 4724956 355452 726532 0 0 54 484 3 3 1 0 99 0 0 2 0 0 47

    dstatの万能感がハンパない - (ひ)メモ
    muto_masa
    muto_masa 2012/10/04
    aliasが似ていてワロタ。
  • 3Dクラスタ監視ツール

    最近クラスタの負荷状況を3Dで表示するようなツールを作ってます。 クラスタ監視ツールって既存のものもあるのに、なぜ今更?と思うかもしれませんが、 既存のもので足りないと思っているのは、 1. 十数台くらいまでなら良いがそれ以上になるとグラフを見るのがつらい 2. CPU毎、ディスク毎に見れない 自分の目的としては数百台とかの規模でHadoopを実行し、負荷状況を見れること、 後からも実行時の状況を調べてボトルネック等を分析出来るようにすることです。 そこでこんな感じのものを作りました。 構成はこんな感じです。使用技術は、 fluentd + node.js + websocket + webgl (Three.js) といった感じでかなり流行りの技術を使ってる感じです。 各サーバーの負荷状況をfluentdで集めています。自作プラグインfluent-plugin-statでC

    muto_masa
    muto_masa 2012/10/04
    fluentd + node.js + websocket + webgl (Three.js) でやっているとか凄い人がいる。
  • 【作業メモ】Apacheログをfluentd+MongoDBで収集しRubyで集計してみたが… - FAT47の底辺インフラ議事録

    ものすごく流行の波に乗り遅れた感がありますがfluentd入れてみました。 fluentdとは 作者の古橋さんのブログから引用 http://d.hatena.ne.jp/viver/20110929/p1 - fluent は syslogd のようなツールで、イベントログの転送や集約をするためのコンパクトなツールです。 ただ syslogd とは異なり、ログメッセージに テキストではなく JSON オブジェクト を使います。また プラグインアーキテクチャ を採用しており、ログの入力元や出力先を簡単に追加できます。 - ログを素敵な感じで別サーバに転送、集約することが可能です。 ログはJSON形式で構造化されているのでログデータが利用しやすいのも特徴です。 手順 ※前提としてapacheが稼働済みであるとします fluentdインストール yumでさくっと vim /etc/yum.re

    【作業メモ】Apacheログをfluentd+MongoDBで収集しRubyで集計してみたが… - FAT47の底辺インフラ議事録
    muto_masa
    muto_masa 2012/10/04
    夕食後にテストしてみる。
  • 複数のリモートホストで並列にコマンドを実行して結果をファイルでダウンロードするやつ書いた - 昼メシ物語

    コード(rop.rb) 使い方 まずリモートで実行したいスクリプトを用意します。例えばログファイルのgrepとかです。 $ cat script.txt grep hoge /var/log/nginx/access.log で、例のやつを実行します。 $ ruby rop.rb -H 'app-0{01..05}' -f script.txt そうするとで対象ホストに並列(デフォルトでは5スレッド。-nオプションで指定可)でSCPとかSSHでスクリプトが送られて実行されて、その結果がファイルとしてダウンロードされます。ダウンロードしたファイルは /tmp/rop/0522-2306-11/app-001 /tmp/rop/0522-2306-11/app-002 /tmp/rop/0522-2306-11/app-003 /tmp/rop/0522-2306-11/app-004 /tm

    複数のリモートホストで並列にコマンドを実行して結果をファイルでダウンロードするやつ書いた - 昼メシ物語
    muto_masa
    muto_masa 2012/10/03
    これ数分でカスタマイズしてみるかな。作者には連絡とる。コードが綺麗。
  • Flume ユーザーガイド

    Flume のアーキテクチャは、シンプルながらも堅牢で柔軟性があります。Flume の中核をなす抽象化は、ストリーム指向の データフロー です。データフローは、1 つのデータストリームが、その生成元から最終的な宛先まで、どのように転送され、加工されるかを表すものです。データフローは、いくつかの 論理ノード から構成されており、論理ノードは、受け取ったイベントを加工したり、集約したりすることができます。これらの論理ノードがチェインのようにつながって、データフローを形成します。これらの論理ノードのつながり方のことを、論理ノードの 構成 といいます。 これらすべてを管理するのが Flume マスター です。Flume マスターは、Flume のすべての物理ノードと論理ノードに関する情報を把握している独立したサービスです。マスターは論理ノードに構成を割り当て、ユーザーが行った構成の更新をすべての論

    muto_masa
    muto_masa 2012/10/03
    よくわからないので読んでる。
  • CapistranoとChefでサーバー管理を自動化~インスタンス作成から15分で実戦投入~:ニフティクラウド活用Tips:オルタナティブ・ブログ

    こんにちは、ちなつです。 さて今回は、パフォーマンスチューニングが好きで、特に並列化プログラミングがマイブームなライター・石田健亮氏の記事をご紹介します。 (*記事の最後に石田氏のプロフィールを掲載しています) ********************************************************************* こんにちは。株式会社ドリーム・アーツの石田です。 さて、みなさんはLinuxサーバーの管理をどのように実施していますか。 普通はsshでログインしてシェルからコマンドをつかってパッケージをインストールしたり、設定ファイルを編集したりしていると思います。 サーバーの台数が少ないうちはこれでも十分なんですが、Web系のサービスなどを運用していると結構サーバーの台数が増えてきてしまい、手作業でやっていると面倒だし作業ミスは発生させるしロクなことがあ

    CapistranoとChefでサーバー管理を自動化~インスタンス作成から15分で実戦投入~:ニフティクラウド活用Tips:オルタナティブ・ブログ
  • 『サーバの構築作業やシステム管理を自動化する「Chef」』

    皆様、はじめまして。2010年9月に入社した並河です。 インフラ周りの話題を・・・ということで、今回はサーバの構築やシステム管理作業を楽にしてくれるツールである「Chef」について紹介します。 ■ Chefとは「Chef」は、サーバOSでのインストール・設定・各サービスの状態管理等、諸々のシステム構築や運用作業を自動化してくれるRuby製のシステム管理ツールで、オープンソースとして公開されており、既に、37signalsやEngine Yard、RightScaleなどでも使われており、利用実績も出始めています。 Ruby製のシステム管理ツールといえば「Puppet」を思い浮かべる方も多いのではないでしょうか。ChefはPuppetの競合ソフトウェアとなる位置付けで、出来ることだけでいうと、特別大きな差はないと感じていますが、Puppetは外部DSLとして設定を記載するのに対し、Chefは

    『サーバの構築作業やシステム管理を自動化する「Chef」』
  • http://railsapps.github.io/rails-heroku-tutorial.html

    muto_masa
    muto_masa 2012/10/01
    Rails 3.2 and Ruby 1.9.3でセットアップする方法。
  • むしろ駄菓子屋さんで | redisとnode.js

    対象読者 node.js/npmはインストール済み macなどの*nixを持っている redisはよくわからない redisのいいところ 小さい! 持ち運びしやすい! 良い意味で何もない! 純粋KVSより少し豊かなほどよい甘み 簡素ですので、パフォーマンスなどに関して色々「狙いやすい」 あの、express作者さんもよく使ってらっしゃいますよ 僕みたいなコンシューマーゲーム難民に是非オススメしたい、組み込み系の薫りとwebっ子っぽいカジュアルな感覚が同居したシンプルDBとなっております。 redis体 ダウンロードページから最新版(この文章を書いている時点では2.4.4)をダウンロードして、下記のように一行makeと打てば終わりです。 make 続けてインストールするか否かはお任せします。この段階で、「展開ディレクトリ/src/redis-server」がありますので、起動しておきます。

  • 第2回 Redisの導入と基本機能 | gihyo.jp

    今回は実際にRedisをインストールしてみるところから、コマンドラインクライアントを使った基的な操作方法、そして実際のアプリケーション開発時に重宝するDB選択やタイムアウトなどのRedis特有の仕様について説明します。 インストール ダウンロード 連載執筆時点の最新stableである、2.0.4をダウンロードします。 $ wget http://redis.googlecode.com/files/redis-2.0.4.tar.gz コンパイル RedisはANSI Cで書かれ、外部の依存ライブラリの必要ないシンプルな実装になっているため、コンパイルは以下のステップで完了します。 $ tar xzf redis-2.0.4.tar.gz $ cd redis-2.0.4 $ make 「redis-server」や「redis-cli」が生成されたのを確認してください。 設定の変更

    第2回 Redisの導入と基本機能 | gihyo.jp
  • 検索エンジンの常識をApache Solrで身につける

    表のような転置インデックス完成後は、クエリに対する結果を返す処理は簡単です。例えば、ユーザーが「Vim」というクエリを発行すると、検索エンジンは「Vim」を含む文書IDリストを返します。表では文書IDの「2」を返します。 検索エンジンを取り巻く7つの技術 検索エンジンのコア技術は前節で紹介したインデックスです。しかし実際に、検索インデックスだけで構成する検索エンジンから、検索サービスを構築するには多大なコストが掛かります。以下の節で検索エンジンを利用したシステム、検索サービスを構築する際に便利なコンポーネントを紹介します。 これらの機能のいくつかは、多くの検索エンジンが組み込んでいます。一方で、簡素な検索エンジンは、以下で紹介するコンポーネントをサポートしていないため、ユーザーが独自に開発するか、その機能を持つコンポーネントを組み込む必要があるものもあります。 【1】トークナイザ 検索エン

    検索エンジンの常識をApache Solrで身につける
    muto_masa
    muto_masa 2012/09/30
    [検索][apache Solr]
  • Apache Solrをインストールしてみる - hogehoge foobar Blog Style Beta

    会社の人から「Apache Solr」というものを教えてもらったので、試しにCentOSにインストールしてみました。 「Apache Solr」とは? Solr は「ソーラ」と読むみたいです。Wikipedia によると 全文検索エンジンライブラリLuceneをベースに、管理画面やキャッシュ機構を取り入れたアプリケーション。 http://ja.wikipedia.org/wiki/Solr という全文検索系のエンジンみたいです。 とりあえずインストールしてみる なにはともあれ、まずはインストールをしてみます。 Java をインストール Solr は Java ベースのアプリケーションになるので、事前に Java をインストールしておきます。 ※大抵の場合、Java はインストール済みだと思うのでここはパスしても良いです。 $ yum install java $ java -versio

    Apache Solrをインストールしてみる - hogehoge foobar Blog Style Beta
  • OpenFlow Controllerフレームワーク(Python/POX, Trema/Ruby, C, Java)を試す(Simple Learning L2 Switch)

    OpenFlow Controllerフレームワークを試すメモです。 すごく簡単なL2スイッチのコントローラを似た感じの実装で並べてみます。(たいてい、各フレームワークにはサンプルでL2スイッチがついてますが、それとは別で。) まずは、POX(Python)とTrema(Ruby)で。(CはNOXを並べておきたいけど、おいおい。JavaはFloodlightもbeaconも微妙で悩み中、後者かなあ。) OpenFlow Swithを使った環境の準備方法は、Mininetとか、OpenvSwitchとKVMを使うとか、PC(サーバー)に多ポートNICつけてみるとか。 0. プログラム概要 一台のOpenFlow Switch用のシンプルな学習L2スイッチ。(学習: スイッチのどのポートにどのMacアドレスの通信機器がついているかを保存しておいて、それなりに振舞う。) このプログラムは、並べて

    muto_masa
    muto_masa 2012/09/30
    POXとTremaでの簡単なプログラム。CentOS5ではTremaがRubyバージョンのせいかで動かない
  • Unicode 6.2が発表 - Publickey Topics

    The Unicode Blog: Announcing The Unicode Standard, Version 6.2 Version 6.2 of the Unicode Standard is now available. This version adds only a single character, the newly adopted Turkish Lira sign; however, the properties and behaviors for many other characters have been adjusted. Emoji and pictographic symbols now have significantly improved line-breaking, word-breaking and grapheme cluster behavi

    Unicode 6.2が発表 - Publickey Topics
    muto_masa
    muto_masa 2012/09/30
    Emojiが改善されたとな。