This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Books I've written Learn CSS Layout the pedantic way (2015) Walks you through every major concept in CSS layout, without trying to simplify away the underlying mechanisms described in the CSS 2.1 and flexbox specs. Alternative formats: Github, Single HTML page, PDF. Distributed systems: for fun and profit (2013) An introduction to distributed systems. Alternative formats: Github, Single HTML page,
This is a post I've been meaning to write for a long time, and one requested of me personally by Evert Pot during the Dutch PHP Conference in June 2012. It details some observations I have of php-fig, and hopefully will serve as a record of why I'm not directly participating any longer. I was a founding member of the Framework Interoperability Group, now called "php-fig". I was one of around a doz
Socket.IO のドキュメントは、本家の gh-pages と wiki にある。 これをリポジトリごとフォークして翻訳し、かつ本家と同期して行く方法を考えた。 [本家] https://github.com/LearnBoost/socket.io [翻訳] https://github.com/Jxck/socket.io * 前提 リポジトリをフォークするとブランチまで全部コピーできる。gh-pages というブランチの中身が公開される。フォークしたリポジトリは最初は wiki が無いが、フォークした側で wiki を作ると、本家の wiki のコピーが出来る。wiki は git でアクセスできて、master が表示される。本家の gh-pages と wiki 以外は手をつけない。 * gh-pages の訳フォークしたらまず本家の gh-pages ブランチからを gh-
前回の記事で確認環境の準備ができたので今回はcookbookを翻訳をしてみます。 基本的に本家と日本語版のディレクトリ構造は同じではありますが、 日本語版が本家について行けてない部分がありますので、そこは推測する感じで行きます。 本家のドキュメントのリポジトリ http://github.com/symfony/symfony-docs 日本語版のドキュメントのリポジトリ https://github.com/symfony-japan/symfony-docs-ja (1)翻訳の対象を決める cookbookはだいぶ翻訳をされてますが、本家リポジトリから翻訳されていない文章を探します。 本家のgithubを参照する場合はmasterを見ずに、2.0、2.1と訳したいバージョンのブランチに切り替えます。 例えばroutingディレクトリを見てみると日本語版に「redirect_in_con
The topic of coroutines (or fibers, or continuations) for JavaScript comes up from time to time, so I figured I’d write down my thoughts on the matter. I admit to having a soft spot for crazy control-flow features like continuations, but they’re unlikely ever to make it into ECMAScript. With good reason. The big justification for coroutines in JavaScript is non-blocking I/O. As we all know, asynch
Node.js といえば非同期処理です.そして非同期処理と言えばコールバック. そんなわけで (どんなわけで?),すぐにこんなコードになったりしがちですよね. http://stackoverflow.com/questions/3538156/file-i-o-in-every-programming-language/3538377#3538377 fs.writeFile(path, "hello", function (error) { fs.open(path, "a", 0666, function (error, file) { fs.write(file, "\nworld", null, "utf-8", function () { fs.close(file, function (error) { fs.readFile(path, "utf-8", function
The Basics of Web Workers Stay organized with collections Save and categorize content based on your preferences. The problem: JavaScript concurrency There are a number of bottlenecks preventing interesting applications from being ported (say, from server-heavy implementations) to client-side JavaScript. Some of these include browser compatibility, static typing, accessibility, and performance. For
ウェブワーカーは、ウェブコンテンツがスクリプトをバックグラウンドのスレッドで実行するためのシンプルな手段です。ワーカースレッドは、ユーザーインターフェイスを妨げることなくタスクを実行できます。さらに、fetch() や XMLHttpRequest など API を用いて、ネットワークリクエストを行うことができます。ワーカーが生成されると、それを作成した JavaScript コードが指定するイベントハンドラーにメッセージを投稿することで、そのコードにメッセージを送ることができます(逆も同様)。 この記事では、ウェブワーカーを使用するための詳しい紹介をしています。 ワーカーはコンストラクター(Worker() など)を使用して生成されるオブジェクトであり、名前付きの JavaScript ファイル(このファイルはワーカースレッドで実行するコードを持ちます)を実行します。またワーカーは、現在
突然ですが、Node.jsで次のプログラムを実行した結果を答えてください。 var EventEmitter = require('events').EventEmitter; var event = new EventEmitter(); console.log('1'); event.on('open', function () { console.log('2'); }); event.emit('open'); console.log(3); 正解は少し下の方に書いてあります。 少しだけスクロールを我慢して考えてみてください。 正解は 1 2 3 です。 1 3 2 だと思っていた人も多いのではないでしょうか。(私だけかもしれませんが) つまり、表題の「EventEmitter.emit() によくある勘違い」とは、EventEmitter.emit()が次のイベントループで実行さ
MoonScript is a dynamic scripting language that compiles into Lua. It gives you the power of one of the fastest scripting languages combined with a rich set of features. class Thing name: "unknown" class Person extends Thing say_name: => print "Hello, I am #{@name}!" with Person! .name = "MoonScript" \say_name! MoonScript can either be compiled into Lua and run at a later time, or it can be dynami
Shift_JISにすると、UTF-8でひらがなの「く」を構成する「0xE3818F」の先頭2バイトが、まず「縺(0xE381)」という文字と解釈され、残った「0x8F」が、後続の、二重引用符のエスケープシーケンスである「\(0x5C)」と1つの文字、「十(0x8F5C)」を作ってしまうのです。これにより、エスケープシーケンスがなくなった二重引用符は、そこで文字列リテラルを閉じることになります。こうして、その後ろに書かれたアラートが動いてしまうという訳です。 つまりこれは、攻撃者に誘導され、ユーザー自身が文字エンコーディングを切り替えた場合、本来XSSがないページでもXSSが起こせる場合があるということです。 IE以外のブラウザは、親フレームのエンコーディングを変更した場合、クロスドメインでも子フレームのエンコーディングまで変更するので、こんな誘導の仕方もできます。 http://l0.c
この記事はPHP Advent Calendar 2012の20日目です。昨日はTakayuki Miwaさんの「ComposerとHerokuではじめる!PHPクラウド生活」でした。 以前、「『よくわかるPHPの教科書』のSQLインジェクション脆弱性」というタイトルで、同書のSQLインジェクション脆弱性について説明しましたが、SQLインジェクション脆弱性のあるSQL文がDELETE FROMだったので、先のエントリでは、脆弱性の悪用方法としてはデータ(ミニブログの記事)の削除を説明しました。簡単に「全ての記事を削除できる」ので重大な脆弱性ではありますが、個人情報などが漏洩する例ではありませんでした。 このエントリでは、ブラインドSQLインジェクションという技法により、DELETE FROM文の脆弱性から、個人情報を得る手法を説明します。 脆弱性のおさらい ここで、脆弱性のおさらいをしまし
現代において、文字を書くということは、コンピュータやケータイのキーを打つことと、ほぼ同義になってきています。そして、現代のコンピュータにおいて文字を扱うためには、文字コード、それもUnicodeの助けを借りるしかなくなってきています。でも、Unicodeは日本語に特化して作られたわけではないので、日本の文字を扱おうとした場合、色々とヤヤコシイ点があったりします。それらのヤヤコシイ点を、できるだけ平易に説明するこのシリーズ、最終回も、絵文字とUnicodeの関係です。 日本で使われている絵文字の中で、もっとも使用頻度が高いものの一つが、ハートマークです。それを反映してなのか、あるいは反映していないのか、とにかくUnicodeにも、ハートマークは数多く収録されています。まずは、トランプに使うハートマークで、 U+2661に「♡」(WHITE HEART SUIT、いわゆる「ヌキ」ハート)が、
A modern web page does a lot of things, hence the term web application has become more commonly used over the last year. A consequence of this is that we are crafting widgets and entire modules using JavaScript, or at least in some language that eventually ends up being “compiled” to JavaScript. Where there is code there should also be tests. And the tests need to go green every time the code is c
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く