Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

はじめに 個人的に TC39 meeting をウォッチしてまとめている @petamoriken です。 ECMAScript の Decorators の提案は何度も改定しています。その割にあまり知れ渡っていません。この記事ではその変遷と最終的な Decorators の仕様について簡単にまとめようと思います。 この発表スライドを見ると流れがわかりやすいかもしれません。 最初の提案(2014年~2015年頃) 最初の提案はこのような形式をしていました。 Decorators 自体はただの函数で、引数にクラスとプロパティ名そしてプロパティディスクリプタを受け取り、そのプロパティディスクリプタを加工して返すようになっています。こうすることでプロトタイプに Object.defineProperty 相当の処理がなされる前に割り込むことが出来ます。 実装 TypeScript で exper
先日、私のプロジェクトで脆弱性関連のissueが投稿されたので対策を行いました。 指摘内容は主に「プロトタイプ汚染攻撃」でした。自分では対策を行っていたつもりだったのですが、様々な穴がありました。 プロトタイプ汚染攻撃可能な脆弱性は成功すると他の機能や脆弱性との組み合わせによって、任意のコード実行を可能にする危険度の高いものですが、XSSやCSRFに比べて、初学者が触れられる纏まった対策方法の情報が少ないと感じたので、ここに記そうと思います。 プロトタイプ汚染攻撃とは 日本語の情報としては Node.jsにおけるプロトタイプ汚染攻撃とは何か - ぼちぼち日記 が詳しいですが、まず、前提として、JavaScriptは「プロトタイプベースのオブジェクト指向」を採用しており、原則、すべてのプリミティブ型およびオブジェクトのインスタンスは「プロトタイプ」オブジェクトを参照しています1。 また、プロ
Union Types 2.0というRFCが投票中です。 提案者はまたまたのNikita。 2019/10/25開始、2019/11/08終了で、受理には2/3+1の賛成が必要です。 2019/11/04時点で賛成55反対5であり、ほぼ導入確定です。 PHPのunion型って何かというと、TypeScriptのunion型とだいたい同じです。 int|string $aと書いたら$aはint型もしくはstring型ですよ、ということです。 ちなみに別途RFCをGitHubで管理しようという実験が進行中で、このRFCの詳細はGitHub上に存在します。 このRFCはまだNikitaの個人GitHub上にしかないのですが、本決まりになったらPHP公式に移動になると思います。 まあGitHubのほうが管理とか更新とか楽ですからね。 ただGitHubはURLがすぐ404になるのだけはどうにかしてほ
こんにちはメルペイ社な@vvakameです。 TypeScript 3.2 RCがアナウンスされました。 What's new in TypeScriptも更新されて…いません!!ナンデ??? 破壊的変更はアップデートされてました。 この辺に僕が試した時のコードを投げてあります。 変更点まとめ Functionのbind, call, apply周りの型推論が更に賢くなった strictBindCallApply bind, call, apply についての型推論がさらにいい感じになった --strictBindCallApply が導入された --strict に含まれる CallableFunction と NewableFunction という組み込み型も導入 Genericsを使った型をObject spreadでいい感じに扱えるようになった Object spread on g
「特定のiOS端末だけ投稿時に400 Bad Requestが返ってくる」・・・突然のバグ報告をもらい、同僚の @elim さんと一緒に四苦八苦しながら調査した結果、最新のSafariのバグであることを突き止めた話です。 SafariのXHRバグの概要 iOS 11.3とmacOS向けのSafari 11.1が2018/03/29にリリースされました。 https://jp.techcrunch.com/2018/03/30/2018-03-29-apple-releases-ios-11-3-with-new-animojis/ これらのバージョンでは、ファイルが選択されていない<input type="file">が含まれているform要素をFormDataに渡してXmlHttpRequestに使うと、リクエスト実行時にしばらく沈黙したりしなかったりしてから、400 Bad Reque
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く