「Mobageを支える技術」読了

Mobageを支える技術 ~ソーシャルゲームの舞台裏~ (WEB+DB PRESS plus)作者: DeNA出版社/メーカー: 技術評論社発売日: 2012/06/13メディア: 単行本(ソフトカバー)購入: 31人 クリック: 737回この商品を含むブログを見る わくわくしながら読める一冊ですね P…

Perl復習メモ

ファイルハンドル プログラムの引数(@ARGS)や、ワンライナーにパイプで渡す場合は、ファイルハンドルは省略できる while (<>) { # do something with $_ } connect済みのソケットを標準入力、標準出力と接続する # $socket is already connected open(STDIN,…

Google Code Jam レビュー : Round 1C 2015

解法見ないで解けたのはいいが時間内に終わらせるのは難しい... Round 1C 2015: Problem A. Brattleship · GitHub R x C の碁盤に、弟が1 x W の戦艦をC方向に沿って置き、兄が碁盤を見ずに戦艦を弾丸で仕留めるゲーム。弟は、兄が弾丸を打つたびに、弟が戦…

SSLサーバ証明書まとめ簡易版

ファイル拡張子 .DER/.PEMはエンコーディングを表している .DER : ASN.1で表されたものをバイナリにシリアライズ .PEM : ASN.1で表されたものをバイナリにシリアライズしてBase64でテキスト化(-- BEGINで始まるファイル) .CRT/.CER : 証明書≒「認証局の署…

Haskellで「1時間以内に解けなければプログラマ失格となってしまう5つの問題が話題に」の5問目を解いてみた

$ cat p5.hs import Debug.Trace output lst _ _ [] = lst output lst _ [] _ = lst output lst n (x:xs) (y:ys) | n==x = output (lst++[y]) (n+1) (xs) ys | otherwise = output lst (n+1) (x:xs) ys filt100 lst n [] = lst filt100 lst n (x:xs) | x==10…

WEB+DB PRESS plus シリーズ本(オンラインゲーム・サーバ/インフラを支える技術)

オンラインゲームを支える技術 ??壮大なプレイ空間の舞台裏 (WEB+DB PRESS plus)作者: 中嶋謙互出版社/メーカー: 技術評論社発売日: 2011/03/24メディア: 単行本(ソフトカバー)購入: 33人 クリック: 1,696回この商品を含むブログ (57件) を見る Javaでは、…

Bashで「1時間以内に解けなければプログラマ失格となってしまう5つの問題が話題に」の5問目を解いてみた

$ cat p5.sh #!/bin/bash.exe calc(){ if [ $1 -eq 10 ]; then [ $(expr $2) -eq 100 ] && echo ${2// /} else for x in ' + ' ' - ' ''; do calc $(expr $1 + 1) "${2}${x}${1}" done fi } calc 2 "1" $ time bash p5.sh 1+2+3-4+5+6+78+9 1+2+34-5+67-8+9 …

MySQL Master HA and Write Scale-out

MySQLとNoSQL MySQLでは、マスタ:スレーブを1:N構成とすることで、参照系クエリを複数のスレーブに振り分けることができ、スレーブを増やすことによって参照系クエリのスケールアウトが可能。 更新系クエリは、データを一意に保つためマスタ1台で対応する…

MySQL Semi-Synchronous Replication in Facebook

Yoshinori*1さんのブログポストについてまとめておく Yoshinori Matsunobu's blog: Semi-Synchronous Replication at Facebook MySQL standard Semi-Synchronous Replication MySQL 5.5から導入された機能で、コミット時にマスタのバイナリログとスレーブの…

Informational sources to MidoNet plugin for OpenStack Neutron

以前に見たと思った資料をこの度やっと見つけたので、忘れないようにまとめておく 情報資料 Neutronの検証 http://ja.community.dell.com/techcenter/m/mediagallery/3660 Neutron(OVS)とMidoNetの比較検証 http://ja.community.dell.com/techcenter/b/weblo…

SSHの接続断タイミング

SSH Frequently Asked Questions SSHサーバがクライアントからの接続を切断するのは、クライアントからの接続により起動されたSSHプロセスがexitしてpipeを閉じることで、SSHサーバ(sshd)がそのSSHプロセスのstdout/stderrに繋がるpipeでend-of-file(eof…

SQL実践入門読了

SQL実践入門──高速でわかりやすいクエリの書き方 (WEB+DB PRESS plus)作者: ミック出版社/メーカー: 技術評論社発売日: 2015/04/11メディア: 単行本(ソフトカバー)この商品を含むブログ (2件) を見る 集合論としてのクエリだけでなく手続き型のクエリや、…

Google Code Jam Round1A/Qualification Round 2015 レビュー

Round1A Dashboard - Round 1A 2015 - Google Code Jam とりあえずContest analysisを見ないでトライ 制限時間(2時間30分)で、A-Small+A-Large+B-Small、まで正答(間違いなく合格圏外 orz) Problem A. Mushroom Monster 問題文を理解するのに時間がか…

5Gの現在の展望

http://k-tai.impress.co.jp/docs/news/20150427_699944.htmlk-tai.impress.co.jp ミリ波 ワイドな周波数帯を割り当てるには、ミリ波のような高い周波数帯を使わざるをえない 高い周波数は浸透率が悪く、基地局から子機に対して見通し(LOS)が無いと使えな…

L2転送技術まとめ+オーバーレイ

STP:スパニングツリープロトコル STP=802.1dは、ポートをブロックしてループフリーを実現するため、リンクを冗長化できない MST=802.1sは、VLANの集合ごとにスパニングツリーを作る*1ため、リンクの活用率は高くなるが、経路を冗長化することはできない ス…

Casual test by ab program through ngrok tunnel

ngrokが気になっていたので、以下のような構成でテストをやってみた wifiルータは0001softbank haproxyで設定した通りにL4-NAT負荷分散されていることを、VM内でphp/sqlite3で簡素なカウンターを実装して目視で確認 nginxはsupermarket.chef.ioのBerkshelves…

TokuDB/InnoDB カジュアルベンチマーク

Fractal-Treeを採用しているTokuDBは書き込みに強く、また圧縮率が高いということなので使ってみた Fractal tree index - Wikipedia, the free encyclopedia unlike a B-tree, a Fractal Tree index has buffers at each node, which allow insertions, dele…

ネットワーク非同期I/Oについて(select/epoll)

c.f. blog.takanabe.tokyo プログラム所感 ネットワーク非同期I/Oについて、特にselectとepollの違いを確認しながらプログラムを書いてみた。あえてできるだけユーザ関数は作成せずに、手続き的に上からコードを見ていけるように配慮している。コメントも入…

ZooKeeperによる分散システム管理 読了

ZooKeeperによる分散システム管理作者: Flavio Junqueira,Benjamin Reed,中田秀基出版社/メーカー: オライリージャパン発売日: 2014/10/08メディア: 大型本この商品を含むブログ (1件) を見る 分散環境用情報統一管理機構 データの書き込み順序保証 サーバの…

DevStack

OpenStackをローカル環境で構築するため、そのデプロイツールであるDevStackを使ってインストール。ブランチはJunoを選択。DevStackを実行するVMは、MacでVagrantを用いてまずシングルノード環境を構築。VMのOSはUbuntu。 ホストのハイパーバイザーはVirtual…

JAWS DAYS 2015 に参加しました

スマートニュースの世界進出を支えるログ解析基盤 on AWS ストレージとアプリケーションの分離 スポットインスタンスを活用して安く ファクト、ディメンション、スタースキーマ Fluentd ログは日付×時間ごとに取っておく Presto クエリ実行エンジン(ストレ…

PostgreSQL基礎まとめ

PostgreSQL全機能バイブル作者: 鈴木啓修出版社/メーカー: 技術評論社発売日: 2012/11/16メディア: 単行本(ソフトカバー)購入: 2人 クリック: 14回この商品を含むブログ (5件) を見る データベースは一つのディレクトリ、テーブルは一つのファイルとして保…

Casual verification for multi-thread programs in C++/Java/Go/Scala on AWS EC2

ローカルだとどうしても限界があるので、EC2のマルチコアのインスタンスを使って、マルチスレッドのプログラムがうまく動いているかどうかを確認。 プログラムがちゃんと終了して、各インスタンスで結果(順序は不問)が同じで、コア数に応じて速くなってい…

Haskellメモ

seq seq x y は xを評価してからyを評価する。いずれも弱頭部正規形までの評価となる。 中置演算子を用いると x `seq` yと書ける。 seqの定義は以下の通り。 Prelude> :i seq seq :: a -> b -> b -- Defined in `GHC.Prim' infixr 0 `seq` 最も優先度の低い…

MySQL基礎まとめ

エキスパートのためのMySQL[運用+管理]トラブルシューティングガイド作者: 奥野幹也出版社/メーカー: 技術評論社発売日: 2010/06/12メディア: 大型本購入: 16人 クリック: 204回この商品を含むブログ (33件) を見る 実践ハイパフォーマンスMySQL 第3版作者: …

DynamoDB(JAWS-UGレビュー)

昨日のセッションに参加できなかったのでslideshareで勉強。 [AWSマイスターシリーズ] Amazon DynamoDB from Amazon Web Services Japan NoSQL as a service リッチなSQLを諦めるかわりに、スケーラビリティ(性能×データ量)を追求 料金体系は、実際に使用…

JAWS-UG KANSAIに参加しました

JAWS-UG KANSAI 特別編 「AWSを使い倒せ。AWSのフルマネージドサービス活用によるネイティブクラウドシステムへの誘い」 AWSのinternalなサービスの組み合わせや、サードパーティのexternalなツールによるオートメーション、をベースとした事例の紹介を始め…

ハイパフォーマンスブラウザネットワーキング読了

ハイパフォーマンス ブラウザネットワーキング ―ネットワークアプリケーションのためのパフォーマンス最適化作者: Ilya Grigorik,和田祐一郎,株式会社プログラミングシステム社出版社/メーカー: オライリージャパン発売日: 2014/05/16メディア: 大型本この商…

Rails - Asset Pipeline

Railsにgemを入れるときのメモ。 Asset Pipelineは、メタ言語(coffee script)のコンパイルなどを行い、複数のjs/cssファイルをまとめて一つのファイルとして提供してくれるし、minimizeもしてくれる。 $ gem 'rb-readline' $ bundle install $ rails c irb…

GoのSliceについて

Goのsliceは可変長配列として扱えるデータ構造であり、内部に配列へのポインタを持っていて、その配列についてのlengthとcapacityを保持している。 lengthは配列の有効サイズを示し、capacityはその配列がメモリ確保した最大サイズを示す。 capacity内であれ…