この記事は最終更新から1年以上経過しています。 気をつけてね。 Chef,Puppetに代表される自動構築・構成管理ツールを使うと開発したサーバを検証用などの目的で簡単に再現可能になります。 ただ、漠然としたサーバ構築をしていると何をサービス提供しているのかという定義が曖昧になるため、Cucumber等を使ったテストを軸にテスト駆動でのサーバ構築をしてみましょう。 応用すれば既存のサーバをCucumberによってモデリングし、Chefによって繰り返し再現可能な状態に持っていけます。 このコンテンツで使ったコードはGithubの https://github.com/higanworks/test_driven_infrastructure_example で公開しています、参考にしてみたりフィードバックしてもらえると助かります。 ツール Cucumber: "ふるまい"を自然言語のように記
Amon2とJSONとセキュリティ [1]http://d.hatena.ne.jp/ockeghem/20110907/p1 [2]http://www.atmarkit.co.jp/fcoding/articles/webapp/05/webapp05a.html [3] http://msdn.microsoft.com/ja-jp/asp.net/ff713315 [4] http://labs.cybozu.co.jp/blog/kazuho/archives/2007/01/cross-site_including.php あたりをよんで、JSON とセキュリティについてかんがえてみた。 ここで、有効とされている対策のうち while(1); を先頭に付与する POST ですべて処理する といったあたりは、RESTful でないし、BK 感がひどいというか本質的ではないのででき
なぜGoogleはJSONの先頭に while(1); をつけるのか #JavaScript #HTML #Ajax #StackOverflow - Qiita これはクロスサイト・リクエスト・フォージェリ対策。違うよ!全然違うよ! 攻撃者の作成した罠ページにてJSONを<script src="target.json">みたいに読み込んで、ゴニョゴニョやることでJSON内の機密情報に攻撃者がアクセス可能というのは合ってるけど、それを「クロスサイト・リクエスト・フォージェリ」とは言わない。無理に何か名前をつけて呼ぶとすれば、「JSON Hijacking」という俗称や、あるいは単純にクロスサイトでの情報漏えい、程度ですかね。 ちなみに、ArrayコンストラクタやObjectでのアクセサを定義してJSONをJSとして読み込んで内部にアクセスする手法は、現在のところ公にされているところでは古
Vim Advent Calendar 2012 68日目この記事は Vim Advent Calendar 2012 68日目の記事です。 67 日目の記事は @supermomonga さんの 「このVim…しゃべるぞ!」Shaberu.vimをリリースしました でした。 ドット使っていますか?さて、今回は、なぜかウェブ上であまり記事を見ないドットについて説明します。 ドットがハマるとやけに気持ちいいものです。ドットをキメ続けることで Vim 中毒者 中級者への道が開けます。そのあたりの説明をしたいと思います。 ドットの効用ドットは直前の変更操作を繰り返すためのキー操作です。たとえば dd で 1 行削除したときや、ciwvim でカーソル下の単語を vim に置き換えるといった操作を繰り返し実行できます。 ただし、バッファに対して変更を加えない操作についてはドットの対象外です。たとえ
WebStorage, WebSQL の実装寄りの脳内ダンプ。乱文。あとで gist に移動して消す。 WebStorage(LocalStorage) は、IE8+, Chrome, Safari, Opera, Firefox で利用可能。 WebSQL は、MobileSafari, Chrome, Safari で利用可能。iOS 4.3.x では一部問題がある。 WebStorage の内部文字コードはUTF-16 *1。 WebSQLの内部文字コードはUTF-16 *2。 UTF-16で保存されている場合は1文字で2byte使用する。JavaScript の文字コードも内部は UTF-16。 WebStorage で保存する文字列にNULL文字(0x0000)が含まれていると、一見保存できているように見えるが、実は保存できていない。サスペンド/レジューム, キャッシュアウト,
Why does Google prepend while(1); to their (private) JSON responses? For example, here's a response while turning a calendar on and off in Google Calendar: while (1); [ ['u', [ ['smsSentFlag', 'false'], ['hideInvitations', 'false'], ['remindOnRespondedEventsOnly', 'true'], ['hideInvitations_remindOnRespondedEventsOnly', 'false_true'], ['Calendar ID stripped for privacy', 'false'], ['smsVerifiedFla
A few weeks ago Andrei raised an interesting question on one of my older posts. The post shows how to create a navigation bar. Andrei noticed the submenu was positioned absolutely, but none of its ancestor elements had positioning applied. Why then did the submenu display directly below its parent link in the menu? I honestly didn’t know. Like Andrei my expectation was the submenu should be positi
I’m Evan Hahn, a computer programmer. I’ve worked at: Awana Digital, building Node.js-powered peer-to-peer software to help Indigenous communities map and monitor their landSignal, the encrypted messenger, building their iOS and Windows/macOS/Linux appsAirtable, the low-code database product, maintaining their REST API and running their bug bounty programseveral other placesI maintain some open so
DOM4のMutation ObserversをChromium 19.0.1031.0(Developer Build 120523)で試してみた。WebKitMutationObserver(MutationObserver)コンストラクタに引数として関数(MutationCallback)を指定してインスタンスを取得するみたい。この関数がaddEventListenerにおけるコールバック関数のような役割をするようだ。関数の指定が必要な組み込み済みのコンストラクタって他に何かあったっけ。 /*jslint devel: true, browser: true, maxerr: 50, maxlen: 80, indent: 4 */ /*global WebKitMutationObserver*/ // Edition 2012-02-03 (function executeWeb
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く