はてブログ

はてなブックマーク新着エントリーの過去ログサイトです。



タグ メモ置き場

新着順 人気順 5 users 10 users 50 users 100 users 500 users 1000 users
 
(1 - 25 / 49件)

Ansible playbookで1台でも失敗したら即座に実行を止める方法 - tagomorisのメモ置き場

2014/12/12 このエントリーをはてなブックマークに追加 50 users Instapaper Pocket Tweet Facebook Share Evernote Clip tagomoris task PlayBook 即座 タスク

毎回あれー?ってなってドキュメント読んだりググったりするんだけどうまく見付けられないので書いておく。Ansibleはデフォルトだとtaskの実行が全ホストで失敗しない限り続く。言いかえると、あるタスクがあるホストで失敗したらそのホストについては以降実行されないが、成功した他のホストについてはplaybookの実行は継続される。これは特に分散ストレージのセットアップなどにおいて、大変よくない。よくな... 続きを読む

ISUCON4 いってきた&勝ってきた! #isucon - tagomorisのメモ置き場

2014/11/10 このエントリーをはてなブックマークに追加 91 users Instapaper Pocket Tweet Facebook Share Evernote Clip tagomoris isucon ヒャッホウ ISUCON4

連覇だ! ヒャッホウ!!!#isucon 2014で優勝しました - すぎゃーんメモISUCON4 で優勝してきました!!! #isucon - blog.nomadscafe.jp特にkazeburoさんのエントリに最終的な状況についての詳細が書いてありますので、ぜひそちらもどうぞ。sugyanは自分で力不足とか言ってますが、ISUCON本戦という場で、業務でほぼ使ったことがないはずのRedis... 続きを読む

はじめてのmaven central 公開 - tagomorisのメモ置き場

2014/10/28 このエントリーをはてなブックマークに追加 82 users Instapaper Pocket Tweet Facebook Share Evernote Clip tagomoris Maven Central 公開

前置き:このエントリはJavaおよびJava周辺の*1開発環境に全く縁の無い人間が、可能な限り依存ソフトウェアを少なく手順をシンプルに保ったままやろうとしたものであり、知識・経験のある人にとっては全く最適な手段でなかろうことをお断りします。先日のエントリ で書いたとおり woothee 1.0.0 をリリースした。Perl, Ruby, Node.js および PHP などはそれぞれの言語毎のモジ... 続きを読む

Norikra v1.0.0 - tagomorisのメモ置き場

2014/05/20 このエントリーをはてなブックマークに追加 109 users Instapaper Pocket Tweet Facebook Share Evernote Clip tagomoris

English article以前からスキーマレスなストリーム処理をSQLで!というソフトウェアとして作っていたNorikra、このたびあちこち機能改善したりしたので、既にお仕事で絶賛稼働中ということもあるし、区切りとして v1.0.0 としてリリースした。ついでにロゴとかも作ったので、なんとなくいい感じになりつつある。https://rubygems.org/gems/norikra/versi... 続きを読む

DRY(don't repeat yourself)するかしないか、その判断基準について - kazuhoのメモ置き場

2014/02/20 このエントリーをはてなブックマークに追加 148 users Instapaper Pocket Tweet Facebook Share Evernote Clip kazuho methane DRY 負債 前者

「過剰なDRYが技術的負債を生む」みたいな内容の記事を書きたいが、うまく言語化できない。「過剰な食事制限が健康を損なう」程度の内容に成り下がりそうだけど、そんなんじゃないんだよ…@methane 実装におけるDRYみたいなものを考えていて、そうすると前者のDRYというのがどこに位置づけられるかはわからないんですが、とにかく暗黙知みたいなものを過剰に増やすDRYは良くないよね、というような話なんです... 続きを読む

テストファーストなGitワークフローについて - kazuhoのメモ置き場

2014/02/04 このエントリーをはてなブックマークに追加 320 users Instapaper Pocket Tweet Facebook Share Evernote Clip GitHub Git kazuho master ワークフロー

Gitのワークフローに関する話題が、また盛り上がっているようなので、僕が好んで使っているGitワークフローについて書きます。対象となるソフトウェアは、GitHubやGitHub Enterprise等を使って開発されている、リリースブランチを切らずにmasterにリリースタグを打っていくだけで十分な程度の、ウェブサービス(の部品)やオープンソースプロジェクトです。まず、以下の2点を原則として考えて... 続きを読む

WebSocket(RFC 6455)上で使用するプロトコル設計についての備忘録 - kazuhoのメモ置き場

2014/01/28 このエントリーをはてなブックマークに追加 123 users Instapaper Pocket Tweet Facebook Share Evernote Clip WebSocket kazuho 備忘録 プロトコル設計

一般論として、全二重の通信プロトコルを実装するにあたっては、いくつか注意すべき点があって、具体的には、到達確認と切断シーケンスについて定めておかないと、送達されたはずのメッセージがロストしていたり、切断タイミングによってエラーが発生*1したりする。具体例をあげると、たとえばTCP/IPにおいてshutdown(2)を用いずに、いきなりclose(2)を呼んでいると、read(2)やwrite(2)... 続きを読む

「今日使われているプログラミング言語の多くは、なぜ1990年前後に誕生したものなのか」に関する一考察 - kazuhoのメモ置き場

2013/12/21 このエントリーをはてなブックマークに追加 340 users Instapaper Pocket Tweet Facebook Share Evernote Clip kazuho Pascal リソース プログラミング言語 多く

若い人たちは、「文字列型」があるプログラミング言語しか知らないかもしれない。だが、汎用的な文字列型が一般的になったのは、プログラミング言語の歴史の中でも比較的最近のことである。たとえば、1972年に誕生したC言語には文字列型がない。1980年代に良く使われていたPascalの文字列型は最大255文字しか格納できなかった。なぜか? それはメモリが貴重なリソースだったから。1980年代のPCの搭載メモ... 続きを読む

ソフトウェアのアップデートとウェブサービス運用における継続性リスクについて - kazuhoのメモ置き場

2013/12/19 このエントリーをはてなブックマークに追加 111 users Instapaper Pocket Tweet Facebook Share Evernote Clip kazuho ソフトウェア アップデート

Webサービスのようなプロダクトについての議論について教えて下さい - delirious thoughts で呼ばれたような気がしてたけど放置してた。でも今日、express という node.js 上で動作するメジャーなウェブアプリケーションフレームワークを作っているチームが、次世代の製品に取り組み始めたと聞いたので、メモを以下に貼ります。 --------------------------... 続きを読む

個人サーバのファイアウォールを活かしつつ、どこからでもログインする方法 (CGI編) - kazuhoのメモ置き場

2013/11/26 このエントリーをはてなブックマークに追加 80 users Instapaper Pocket Tweet Facebook Share Evernote Clip kazuho ファイアウォール sshd サーバ 個人サーバ

以前、いつでもどこからでもサーバにログインしたくなるときってありますよね。かといって、サーバの sshd への接続を全世界から可能にしておくというのは、たとえパスワード認証を無効化していても避けたいところ。 Dynamic DNS を使って SSH アクセスを制限する方法 - kazuhoのメモ置き場ということでDynamic DNSを使う方法でやってきてたんだけど、いろいろ不便があったので、HT... 続きを読む

オレオレ認証局の適切な運用とName Constraints - kazuhoのメモ置き場

2013/11/26 このエントリーをはてなブックマークに追加 61 users Instapaper Pocket Tweet Facebook Share Evernote Clip kazuho pKi 運用 ドメイン 特定

オレオレ認証局が忌避されるべきものとされてきた理由は、X.509 PKIが保証する安全性は、最も信頼性が低い認証局(trusted root)のそれに等しいからです。しかし、X.509 v3以降ではName Constraintsが導入され、「特定のドメインに対してのみ証明書を発行可能な認証局」を定義できるようになっており、同constraintをcritical key usage extens... 続きを読む

パスワードをソルトつきハッシュ化してDBに保存するのがベストプラクティス…とは限らないという話 - kazuhoのメモ置き場

2013/11/18 このエントリーをはてなブックマークに追加 114 users Instapaper Pocket Tweet Facebook Share Evernote Clip kazuho ベストプラクティス APOP CRAM USER

フレームワークの責務とセキュリティ - MugeSoの日記についての感想文です。世の中にはたくさんの通信プロトコルが存在し、中には、特定の条件でパスワードを含む文字列をハッシュ化した値を検証しなければならないものも含まれています。例えば、HTTP Digest認証の場合は、MD5("realm:user:password")を保存しておく必要がありますし、APOPの場合は生のパスワードを、CRAM... 続きを読む

Inline JSONPの長所について (続: サーバサイドからクライアントサイドのJavaScriptを呼び出す際のベストプラクティス) - kazuhoのメモ置き場

2013/11/07 このエントリーをはてなブックマークに追加 64 users Instapaper Pocket Tweet Facebook Share Evernote Clip クライアントサイド サーバサイド TOKUHIROM 長所

サーバサイドからクライアントサイドのJavaScriptを呼び出す際のベストプラクティス - kazuhoのメモ置き場 の件、id:tokuhirom がさくっと HTML::CallJS というモジュールを書いて公開してくれた (Shipped HTML::CallJS - blog.64p.org 参照) ので、どういう Inline JSONP を使うとどういう形で書けるか、ぱっと例をあげた... 続きを読む

サーバサイドからクライアントサイドのJavaScriptを呼び出す際のベストプラクティス - kazuhoのメモ置き場

2013/11/05 このエントリーをはてなブックマークに追加 232 users Instapaper Pocket Tweet Facebook Share Evernote Clip クライアントサイド サーバサイド kazuho

はてなブックマーク - JavaScript文字列のエスケープ あたりで盛り上がっていた件、僕も、そもそもそういうことはやめたがいい派ですが、一方で、 タグ内に動的生成したデータを埋め込むのは、それほど難しいことではないかと思います。というのは、元のエントリではエスケープ関数を自作していますが、実際はありもののエスケープ関数を組み合わせるだけで、タグ内に正しくエンコードされたデータを埋め込むことが... 続きを読む

ディレクトリの変更を監視して、任意のコマンドを再起動する話 - kazuhoのメモ置き場

2013/10/18 このエントリーをはてなブックマークに追加 62 users Instapaper Pocket Tweet Facebook Share Evernote Clip kazuho ディレクトリ コマンド 再起動 変更

plackup -R とか grunt-contrib-watch とか、ウェブアプリケーションの処理系とかビルドツールには、割とこの手のものが組み込まれているんだけど、Windows を無視していいなら、外部ツールを使えばいいわけで。具体的には MATSUNO★Tokuhiro / App-watcher - search.cpan.org をインストールして % watcher --dir s... 続きを読む

mmapのほうがreadより速いという迷信について - kazuhoのメモ置き場

2013/10/10 このエントリーをはてなブックマークに追加 194 users Instapaper Pocket Tweet Facebook Share Evernote Clip mmap kazuho READ 迷信

@ITに以下のような記事が出て、 今回からしばらくの間は、まったく逆の例、つまり使うとプログラムの処理性能が上がるというシステムコールを紹介していく。システムコールを呼ぶ回数は少ない方が処理性能は高くなるという原則は変わらないが、呼び出しておくと処理性能が向上するシステムコールというものが存在するのだ。こうしたシステムコールを使わないでいることは、とてももったいない。 今回紹介するシステムコールは... 続きを読む

30秒でわかるオープンソースライセンスまとめ - kazuhoのメモ置き場

2013/10/04 このエントリーをはてなブックマークに追加 418 users Instapaper Pocket Tweet Facebook Share Evernote Clip kazuho 30秒

「よくわかるFOSSライセンスまとめなんてないよねー」と煽られたので3分で書く。代表的なライセンス改変部分のソースコードの開示が必要リンクして使う、他のソフトウェアのソースコード開示が必要GPL (コピーレフト型)○○LGPL /MPL (準コピーレフト型)○×BSDL / MITL (非コピーレフト型)××自作のソフトウェアをオープンソースで公開する場合、コピーレフト型にする場合は「GPLv2以... 続きを読む

MySQL用にランキング専用ストレージエンジンを作る話 - kazuhoのメモ置き場

2013/10/01 このエントリーをはてなブックマークに追加 101 users Instapaper Pocket Tweet Facebook Share Evernote Clip kazuho MySQL用

前提: ゲームに限らずランキング機能が必要になるケースは多い つまり需要はある だが、MySQLで高速なランキング表示は難しい 具体的に言うと、以下の要件を満たすのが不可能 1行の更新コストが要素数Nに対して O(log N) 以下任意のランキング位置周辺のSELECTコストが O(log N) 以下 ならば、専用のストレージエンジンを作ればいいのではないかいつやるの? 今でしょ! 以下理由MyS... 続きを読む

同時にwrite(2)すると混ざるかどうか - kazuhoのメモ置き場

2013/09/30 このエントリーをはてなブックマークに追加 70 users Instapaper Pocket Tweet Facebook Share Evernote Clip kazuho write atomic Linux

Linux のシステムコールである write(2) の ドキュメントを読むとAtomic/non-atomic: A write is atomic if the whole amount written in one operation is not interleavedwith data from any other process. This is useful when there a... 続きを読む

サービスごとに異なるパスワードを使い分ける方法 - kazuhoのメモ置き場

2013/05/09 このエントリーをはてなブックマークに追加 76 users Instapaper Pocket Tweet Facebook Share Evernote Clip kazuho 徳丸浩 プログラマ コマンドライン操作 攻撃

最近、パスワードの使い回しをしているユーザーに対する攻撃が出回るようになってきています (参照: パスワード攻撃に対抗するWebサイト側セキュリティ強化策 | 徳丸浩の日記) が、マスタパスワードからサービスごとに異なるパスワードを自動生成するのが簡単な対策ですよね。プログラマなら(もしくはコマンドライン操作に慣れているのなら)、こんな感じでできるかなーと思います。 $ perl -MDigest... 続きを読む

巨大な bookmarklet を信頼できる形で配布する方法 - kazuhoのメモ置き場

2013/05/07 このエントリーをはてなブックマークに追加 156 users Instapaper Pocket Tweet Facebook Share Evernote Clip Bookmarklet kazuho Twitter サーバ

Twitter で聞いてみたところ @hasegawayosuke さんいわく、Bookmarklet の文字数制限は最短だと約2,000文字らしいです。でも、その長さで bookmarklet を書くのって難しいですよね。かといって、別のサーバから JavaScript をダウンロードして実行するとなると、そのダウンロードされたスクリプトが安全か、という問題が出てきます。ならば、暗号学的ハッシュ... 続きを読む

Monoceros雑感 - kazuhoのメモ置き場

2013/04/25 このエントリーをはてなブックマークに追加 55 users Instapaper Pocket Tweet Facebook Share Evernote Clip kazuho

Monoceros は @kazeburo さんが開発してる Plack 用ウェブサーバ。prefork型だけど、待機中の接続をイベントドリブンのマネージャで管理することで、同時接続10,000本とか行ける(ソケットの受け渡しは SCM_RIGHTS とか使う)。で、雑感 大好き!!!Starletより遅い問題は、以下のようにすれば解決できると思う listen するソケットに TCP_DEFER... 続きを読む

本番環境でのperl/ruby/nodeのセットアップ - tagomorisのメモ置き場

2013/03/26 このエントリーをはてなブックマークに追加 221 users Instapaper Pocket Tweet Facebook Share Evernote Clip tagomoris perl eval node RVM

本番環境にperlとかrubyとかnodeを入れるんだけど、もちろん system perl じゃやってられないので指定したバージョンのものを一般ユーザの管理下に突っ込みたい。で、そういうのをこれまで perlbrew とか rvm とか rbenv とか nvm とか nodebrew とかでやってたんだけど、さすがに色々疑問が湧いてきた。バッチで単発実行するために eval "$(rbenv ... 続きを読む

なぜPHPでrequire("http://...")したらセキュリティホールなのに、Goならいいのか - kazuhoのメモ置き場

2013/03/23 このエントリーをはてなブックマークに追加 152 users Instapaper Pocket Tweet Facebook Share Evernote Clip kazuho require セキュリティホール mattn

go言語なんか import "http://github.com/mattn/xxx " だったりする。rubyもそういうの面白いかもしれない。require "http://github.com/mattn/xxx "みたいな。Twitter / mattn_jp: go言語なんか import ...@mattn_jp それコンパイル型言語なら許されるけどスクリプト型だとセキュリティホールと... 続きを読む

なぜ動的型付けの言語が流行ったのか (Re 静的型付けと動的型付けのどちらが優れているかという話) - kazuhoのメモ置き場

2013/03/21 このエントリーをはてなブックマークに追加 87 users Instapaper Pocket Tweet Facebook Share Evernote Clip ウェブサービス kazuho パク 静的型 納品

静的型付けと動的型付けのどっちが優れているか。どのようなプログラムを書いているかによって答えはかわるんじゃないの?たとえば、自社で開発・運用しているウェブサービスなら「問題が出たら修正」すればいいんだし、バグがないことを保証するよりも迅速に開発できるプログラミング言語(つまり動的型付けの言語)がいい。逆に、客先への納品が発生するソフトウェア製品なら「バグがない形で出荷する」ことが重要だから、静的型... 続きを読む

 
(1 - 25 / 49件)