MessagePackプロトコル再考

blog.fenrir-inc.com C++ の実装の話ですが、構造体に直接シリアライズ・デシリアライズでき、無駄なコピーが起こらないように、テンプレートを駆使して実装されており、JSON とは比べものにならない速さ // データ構造 struct mystruct { std::string m_str…

MessagePackについて調べた

MessagePack って何? | おおたの物置ota42y.com バイナリでデータを保存するフォーマットです。 JSONと比べると、保存した状態の可読性を犠牲にする代わりに、 より早くて小さいフォーマットになっています。 また、汎用的なフォーマットのため、 いろんな…

io.js と node.js の統合で書き方は変わるか

Node.js v4がリリースされたらコードの書き方でどこが変わるか? - なっく日報yukidarake.hateblo.jp

InnoDBで行ロック/テーブルロックになる条件

blog.livedoor.jp ユニーク制約 or インデックス が貼られているカラムで検索した場合、行ロック それ以外 のカラムで検索した場合、テーブルロック インデックスの値によってロックされる=SCANされた行はすべてロックされる qiita.com ロックには 排他ロッ…

PM2でサーバ再起動時にNodeプロセス自動起動

PM2/ADVANCED_README.md at master · Unitech/PM2 · GitHub 起動用ファイルを作る $ pm2 startup centos -u <vagrant | ex2-user...> chkconfig, init.dに登録される pm2 [save | dump] dumpされた状態を復元するので、PM2にタスクを登録した状態で実行 /etc/init.d/pm2-init.sh の </vagrant>…

C#における複数スレッド並列処理(Parallel, PLINQ)

C#

C# による並列プログラミング | iSUS github のサンプルコードが多い。 C#によるマルチコアのための非同期/並列処理プログラミング - Google ブックス 以下の様な書き方で並列「操作」を複数スレッドを利用する例を示している # https://msdn.microsoft.com/…

C#における非同期処理 -Taskクラスとasync/await-

C#

Async および Await を使用した非同期プログラミング (C# および Visual Basic) ※並列処理(Parallelクラス、Parallel LINQ)は別 基本形 // The following line creates and starts the task. var myTask = someWebAccessMethodAsync(url); // While the ta…

データベースでLIMITが必要な理由

たとえば,フルスキャンを行うSQLがアクセスの対象とする表のサイズが10GBの場合を考えてみてください。この場合,SQLの中でどのような絞り込み条件が書かれていたとしても,Oracle Databaseは10GBすべてをストレージに要求します。 大規模なデータ処理が必…

What Your Computer Does While You Wait

コンピューターの内部構造を「レイテンシー」と「スループット」という視点から解説。 非同期I/Oのメリットを本当の意味で理解するために大いに役立つ What Your Computer Does While You Wait - Gustavo Duarteduartes.org

Linuxカーネルチューニング

ファイルディスクリプタとは 絵で見てわかるファイルディスクリプタ・パイプ・リダイレクト - あしのあしあとd.hatena.ne.jp 【Linux】ファイルディスクリプタとは何か【stream】 | FiS Project ip_local_port_range, TIME_WAITなど TCPのTIME_WAITを無くす…

新卒Webエンジニア向け記事まとめ

2015年Webサーバアーキテクチャ序論 - ゆううきブログyuuki.hatenablog.com Webシステムにおけるデータベース接続アーキテクチャ概論 - ゆううきブログyuuki.hatenablog.com イベント駆動プログラミングとI/O多重化 from Gosuke Miyashita www.slideshare.ne…

MongoDB解体新書

全機能 MongoDB全機能解説1 - SSSSLIDE 動作原理・タグ検索システム Mongo dbを知ろう from CROOZ, inc. www.slideshare.net MongoDB コマンドメモとか書き MongoDB コマンドメモとか書き - Qiitaqiita.com はじめてのMongoDB はじめてのMongoDB - Qiitaqiit…

innodb_thread_concurrencyはCPUのコア数×2か3 くらいが目安(低スペックサーバの場合)

innodb_thread_concurrencyとか 計測してみました | 株式会社インターオフィスwww.inter-office.co.jp

MySQLのwait_timeoutとthread_cache_sizeについて

MySQLのwait_timeoutとthread_cache_sizeについて - Qiitaqiita.com MySQLへのconnectionがそのまま残っていて、芋づる式にconnectionが溢れて行きサービスに繋がらなくなる MySQL側でconnectionを長時間保持して欲しくない場合の設定 MySQLを再起動せずに反…

MySQLのスレッドとか接続数とか

現在の接続数 MariaDB> show status like 'Threads_connected'; +-------------------+-------+ | Variable_name | Value | +-------------------+-------+ | Threads_connected | 1 | +-------------------+-------+ 1 row in set (0.01 sec) 最大接続数設…

MySQLでのSlowLogの分析方法

qiita.com $ mysqldumpslow -s t ${SlowLogファイル} > ${出力先ファイル}

タグ機能を実現するための便利なデータベース設計を3つ紹介

タグ機能を実現するための便利なデータベース設計を3つ紹介 - coloricolo-ri.jp 自分は上記の Scuttle法 でカテゴリを実現しているので AND検索は GROUP BY v.Id HAVING COUNT( v.Id ) >= ? のように実現する SELECT b.* FROM scBookmarks b, scCategories …

4byteリーク問題はNode10.21 -> 10.22 で修正

隠れていたNode.jsの4バイトメモリリーク、Walmart問題の解決 - ぼちぼち日記d.hatena.ne.jp

なぜORMが重要なのか

SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か? from kwatch www.slideshare.net

【Sails.js】sails.io.jsはsocketioのwrapper

Sails.js(0.10.x)でチャットアプリを作りながらPub/Subで柔軟に通知するテクニックを学ぶ - Qiitaqiita.com WebSocketsを使ってRESTfulなAPIを実現したい場合は以下のように使う。 $.ajax と全く同じ構文なので馴染みやすい。これを用いることでリアルタイム…

JenkinsでGitHubのプッシュ時に自動デプロイする

JenkinsでGitHubのプッシュ時に自動デプロイする - sometimes I laughsil.hatenablog.com /var/lib/jenkins がjenkinsのhomeディレクトリ Jenkinsサーバをどこにinstallするかだが、本番サーバ内に同居させないのは当たり前か。開発マシンの localhost でも…

【Backbone.js】クロージャにおける this(Viewクラスを例に)

View メソッドとして、クロージャを使う際の this に関して そもそも、クロージャを使う利点 メンバ変数をローカル変数に落とし込める 1つのメソッド内でしか使用しない変数 && 状態を保持する必要がある Example onTapFoo: (function() { var currentState …

【C#】コレクションの内部実装

コレクションの内部実装csharptan.wordpress.com 配列リスト 個数不定のデータを持つための一番手っ取り早い方法は、事前に配列を確保しておいて、状況に応じて確保しなおす方法です。 List<T> や Stack<T> で内部的にやってることはほぼこれだけ 循環バッファー </t></t>…

ユニットテストにおけるフィクスチャとヘルパ。(mocha)

RSpecよりShoulda、fixturesよりヘルパーとMocha - Unexplored Railsd.hatena.ne.jp フィクスチャが欠点だらけ 書きにくい 分かりにくい(特にassociation) 遅い そこで多くの人はモックとスタブを使いますが、モック/スタブにも次のような欠点があると思い…

RxJSはObservableでstreamをつくってSubscribeではごちゃごちゃ書かない

Reactive Programming in JavaScript Subscribeの中はなるべく簡潔に保つ。 そこに辿り着くまでに、streamを加工するのが綺麗。(map filter scan skip などなど)

rmと正規表現で特定のディレクトリ以外を削除する方法

ls | egrep -v '^mydir$' | xargs rm -r 簡単

【lndir】ディレクトリ内のファイル1つ1つに対して一気にシンボリックリンクを作成

UNIX - ディレクトリ内のファイル1つ1つに対して一気にシンボリックリンクを作成する - Qiitaqiita.com $ find dir_src -type f # リンク元のファイル一覧を表示 dir_src/data1 dir_src/data2 dir_src/subdir/data3 dir_src/subdir/data4 $ $ mkdir dir_dest…

ブラウザのキャッシュを活用する Google Developers

Leverage Browser Caching | PageSpeed Insights | Google Developers Expires と Cache-Control これらのヘッダーでは、ウェブ サーバーから新しいバージョンが提供されているかどうか確認せずに、ブラウザでキャッシュ済みのリソースを使用できる期間を指…

オブジェクト指向でなぜつくるのか まとめ

オブジェクト指向でなぜつくるのかを1年ぶりに読み返しているが、めちゃくちゃ参考になる。機械語から高級言語、構造化プログラミングの時代を経てOOPが出現したのは必然だったと。それは保守性、品質、再利用の観点から見て。— Idler (@Educated_Idler) 201…

Chromeブラウザで初回アクセスがCache-Control: max-age=0になるのは仕様

"Cache-Control: max-age=0, no-cache" but browser bypasses server query (and hits cache)?stackoverflow.com しかしながらバックボタンや、同一ドメインに対する2回目以降のアクセスでは限定リクエストすらしない「完全キャッシュ」を利用できる模様。

シグナルとは何か

Linux シグナル入門 計算機の CPU はさまざまなハードウェアからの割り込み要求 (interrupt request) を非同期的に受け付ける。 シグナルとは,このような CPU へのハードウェア的な割り込み要求に似た仕組みを,オペレーティング・システムがソフトウェア的…

C#の Collection (コレクション) パッケージをくわしくみる

コレクションcsharptan.wordpress.com HashSet<T> と SortedSet<T> は数学で言う集合 キーの存在しか見ないようなコレクションの場合は、 HashSet<T>を使う SortedList<T> と SortedDictionary<T> の違い CyberBoy SortedListとSortedDictionaryの違い SortedListへのAddの</t></t></t></t></t>…

Unity5.0 mechanim(メカニム)Any State, Entry, Exit など

Any State Any State は常駐している特殊なステートです。現在どのステートにいるかに影響を受けることなく、特定のステートに遷移したい場合のために存在している。これは、全ステートに同じ遷移先を追加するのと同じ効果がある。Any Stateは、その特殊の機…

【WIP】C# RxExtension (UniRx含) について

サンプルコード付きTCP通信の基礎(PDF)

http://www.sbcr.jp/books/img/Linuxnet_02.pdf

gitでサブモジュールを削除する(バージョンごとの方法まとめ)

河西 高明 Tech Blog: gitでサブモジュールを削除する(バージョンごとの方法まとめ) バージョン 1.8.1 にて削除確認

よく使うadbコマンド

Android - よく使うadbのコマンド - Qiitaqiita.com ちなみに ddms もpathが通っていればコマンドラインから起動可能。 Android開発のデバッグツールDDMSを使うwww.absolute-keitarou.net ログレベルの制御は以下の様な感じ。すべてのログにレベルが付いてい…

クロージャの使いドコロ

私が今までクロージャを理解できなかった理由 - 主にプログラムを勉強するブログd.hatena.ne.jp グローバル変数の節減(変数スコープをより小さく出来る) 計算量を増やさない(クロージャー定義時(即時実行時など)に計算した結果を格納するため) さんこ…

cURLコマンド使い方

WebAPIリクエスト仕様書としてcurlコマンドのご提案 - Qiitaqiita.com POSTの時は、URLエンコード済みのデータを渡す必要があるが、 data-urlencode で指定することで勝手に変換してくれる。 $ curl 'http://example.com/entries' \ --verbose \ --request P…

よみもの 2015/05/28

コンポーネント指向による、Reactのベストプラクティスとバッドプラクティス from Kohei Asai www.slideshare.net コンポーネントの冪等性を守る state を必要以上に持たせない 再利用性を高める コンポーネント自体の位置やサイズを指定するCSSを中に含めな…

MVC (DCI) に関する論文

論文 Trygve Reenskaug 1979 MODELS - VIEWS - CONTROLLERS http://heim.ifi.uio.no/~trygver/1979/mvc-2/1979-12-MVC.pdf GE Krasner 1988 A cookbook for using the model-view controller user interface https://www.lri.fr/~mbl/ENS/FONDIHM/2013/paper…

MapとReduceとFilter

これらの関数は抽象度が高い 基本的に大体の操作はこの3つで完結できる。 しかし乱用すると何をやってるのかよく分からなくなる。 Map 配列を配列に変換 Reduce 配列(複数の要素)を単一値(単一オブジェクト)に変換 Filter 配列から一部の要素を弾く 用途…

HTTP/2サーバープッシュ(サーバサイドで依存ファイルを一括返却)

ES6 ModulesはHTTP/2によってconcat無しで使えるようになるのか - teppeis blogteppeis.hatenablog.com 初めてのHTTP/2サーバプッシュ | GREE Engineers' Blog

CoffeeScriptのthis束縛、即時関数

CoffeeScript # thisをbindする func = (x, y) => x + y + @z # thisをbindしない func = () -> x + y + @z # 即時関数、引数あり do (x, y) -> x + y + @z # 即時関数、引数なし do -> x + y + @z JSへの変換結果 var func; func = (function(_this) { retu…

git submoduleコマンドの基本

git submodule add [URL] [トップ階層からの相対パス] git submodule init [トップ階層からの相対パス] git submodule update [トップ階層からの相対パス] git submodule update --recursive [トップ階層からの相対パス] git submodule status [トップ階層か…

【bash】if 文と test コマンド。ファイルの存在チェック

if 文と test コマンド - UNIX & Linux コマンド・シェルスクリプト リファレンスshellscript.sunone.me 略式 test コマンド [ 文字列1 = 文字列2 ] [ 数値1 オプション 数値2 ] [ オプション 評価対象 ] → testコマンドは略式の「[ ]」を使用して記述するこ…

fluxが解決する課題と妥協

React.jsでだるいところ 末端のコンポーネントから最上位コンポーネントへイベントを何度も伝播させる必要がある(これはMVC設計なら必ず起こりうる) 最上位コンポーネントのみが持っているstateを末端コンポーネントへ向かって何度も伝える必要がある。 Re…

Serviceレイヤーとは

MVCS - Model View Controller Servicestackoverflow.com it's usually where you have your core business processing logic I usually use services for external access. While MVC will contain all my app specific logic, I'll use something like DBS…

fluxにおけるStore間の依存関係(waitForと他Storeデータ参照)

Storeをシングルトンにして、任意のComponentからgetterを呼び出すのは問題ない 疑問 複数Store間の依存関係をどうやって解決するか。fluxではdispatcher(waitFor())が管理するがどう実装されているのか。 →fluxxorでは、 store.waitFor(List<string> stores, Acti</string>…

【MVC】ユーザの入力を受け付けるのは断じてControllerではない。Viewだ。

MVCについて (1) | ぶろゲ MVCとはなんぞや オレオレMVCがありすぎてだるい。自分の理解を整理する意味でもMVCのポイントはなにか、書く。 GUIアプリケーションを作る場合、ユーザの入力を受け取るのは間違いなく View である。 Wikiを読むとControllerが入…