Ndc2014 시즌 2 : 멀티쓰레드 프로그래밍이 왜 이리 힘드나요? (Lock-free에서 Transactional Memory까지)

Ndc2014 시즌 2 : 멀티쓰레드 프로그래밍이 왜 이리 힘드나요? (Lock-free에서 Transactional Memory까지)
そろそろ4月も近いということもあって、新たにWeb業界やSIer業界に入るぞという方がプログラミングの勉強をし始めているころでしょうか。最近は、エンタープライズでもWebクライアントが主流になりつつあるのでJavaScriptの習得は避けては通れない道だと思います。また、Node.js等サーバーサイドのJavaScriptも出てきたこともあって、非常に有用な言語になりつつあります。 そんなJavaScriptを学び始めている人の中でも、ある程度プログラミングをやったことがある人がJavaScriptの綺麗な書き方を学ぶのに絶対理解しておいた方が良い300行程度のソースコードがあります。 それは、JavaScript: The Good Partsに載っているJSONパーサのコードです。 JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス 作者:
Ajaxなアプリケーションにおいて、サーバからJSONを返す場合に、JSON自体はvalidであるにも関わらず、(IEの都合で)エスケープが不足していて脆弱性につながってる場合があるので、書いておきます。 発生するかもしれない脆弱性 JSONのエスケープが不足している場合に発生する可能性のある脆弱性は以下の通りです。 JSON内に含まれる機密情報の漏えい XSS それぞれの詳細については後述します。 開発側でやるべきこと 文字列中のUnicode文字は "\uXXXX" な形式にエスケープするとともに、ASCIIな範囲であっても「/」「<」「>」「+」も同様にエスケープすることにより、前述の脆弱性を防ぐことができます。 Perlであれば、以下のような感じになります。JSON->ascii(1) に続けて、JSON文字列を正規表現で置換しているあたりがキモになります。 use utf8; u
こんばんは、お久しぶりです、ritouです。 特に何かの準備というわけではありませんが、最近なんとなく気になってOpenID Connectの仕様をキャッチアップしています。 今まで何度も取り上げているこのOpenID Connect、"良い意味で"仕様が細かくわかれています。 普通であればCoreから紹介していくべきですが、空気を読まず今回はRPがユーザーの属性などを取得するためにアクセスする、UserInfo Endpointについての仕様を紹介します。 あの有名なエントリでは、「ユーザーの属性情報と他のサイトのロッカーの鍵が入った鍵付きロッカー」のような説明がされています。 具体的にはどうなっているのか、仕様を見ていきます。 OpenID Connect UserInfo 1.0 - draft 01 UserInfo Endpointとは 認証されたユーザーのクレームを返す クレー
JSON ViewerはVisual Studioとの連携も可能なJSONビューワー。 JSON ViewerはWindows用のオープンソース・ソフトウェア。XMLを面倒なものに感じていたのはタグの仕組みによって記述が冗長的になってしまうからだった。ライブラリがあるので利用はさほど難しくないが、自分で作成するのは面倒だった。 貼付け そこで登場したのがJSONだ。XMLほど複雑な表記に対応できる訳ではないが、その代わりにとてもシンプルに記述できる。また、大抵の場合はそこまで複雑な定義は必要としないだろう。JSONは元々Web向けの技術だったが、最近は変わってきている。そこで登場したのがJSON Viewerだ。 JSON ViewerはWindows用のソフトウェアで、JSONフォーマットの文書を貼付けると、ツリー状に展開してくれるソフトウェアだ。JSONは改行などをなくして送受信される
ナビゲーション改善のために検索をAjaxにしてリアルタイムにできるようにしました。WordPressなら楽々実装できます。本当は誰でも簡単に使えるようにコピペできるような内容にしようと思ったりもしたんですけど、残念ながら面倒くさくなったので、僕がこのブログに実装したコードを貼るだけにします。そうです、これが手抜きです。 search.phpをXHR対応にする(JSONで返すようにする) 下のソースコードをsearch.phpの頭にペタっと。あ、テンプレート名とか書いてあるコメントの下です。 array() ); while (have_posts()) { the_post(); $response['posts'][] = array( 'title' => the_title("","",false), 'link' => get_permalink() // descriptionと
via. Googleの短縮URL「goo.gl」がAPIの提供を開始 - F.Ko-Jiの「一秒後は未来」 なんだか、以前ちょろっと物議を醸しだしたServices_ShortURL_Googlを思い出します。。。 とりあえず、URLの短縮・展開だけのコードを書いてみました。 短縮時は、短縮するURLをJSONデータとし、Content-Typeを指定してPOST 展開時は、短縮されたURLをQUERY_STRINGに付けてGET で良いようです。 <?php require_once 'HTTP/Request2.php'; define('API_KEY', '[api key]'); define('SERVICE_URL', 'https://www.googleapis.com/urlshortener/v1/url'); define('TARGET_URL', 'http:
Superseded Specification This specification version has been superseded by draft-ietf-oauth-json-web-token. Your browser should load the new specification in a moment.
Twitterで同じ趣味を持っている人を探してフォローしよう [ベータ版]プロフィール検索API 概要 「プロフィール検索API」は、Twitterプロフィール検索を実行する為のRest APIです。 httpのGETリクエストをすることで簡単に検索結果をJSON形式で取得することができます(XML形式は未サポート)。 β版として提供しています。 現在は、アクセス制限を設けずに公開していますが、状況に併せて制限を設ける可能性もありますのでご了承ください。 仕様 検索結果はJSON形式でレスポンスされます。 TwitterユーザーがTwitterに登録した順に、最新最大100件のデータが含まれます。 リクエスト送信先 http://tps.lefthandle.net/rest/ リクエスト s : 検索文字列 [必須] 検索文字列を指定します。 半角スペース区切りでAND検索できま
name created_at location profile_image_url url id followers_count lang description time_zone friends_count statuses_count screen_name { "total":69957, "count":3, "users":[ { "name":"twj", "created_at":"Tue Jun 26 01:54 :35 +0000 2007", "location":"東京都渋谷区", "url":"http://twitter.jp", "id":7080152, "followers_count":469047, "lang":"ja", "description":"日本語版Twit terサイトの運営を手伝ってます。", "time_zone":"Tokyo"
Google CGI API for Japanese Input Google CGI API for Japanese Input は、日本語変換をインターネット上で実現するための、CGI サービスです。 リクエスト http://www.google.com/transliterate に対して HTTP リクエストを発行します。GET メソッドを使ってください。以下の CGI パラメータを (URL エンコードした上で) 指定します。 langpair=ja-Hira|ja text=(変換したいひらがな列) text のひらがな列は UTF-8 でエンコードします。例えば、「へんかん」をリクエストする場合は、 http://www.google.com/transliterate?langpair=ja-Hira|ja&text=%E3%81%B8%E3%82%93%E3%81
JSONでシリアライズされているAPIをたたくようなモデルを作ってみました。ローカルに配置しているJSONのファイルにも対応しています。 キャッシュをさせるような仕組みになっているので、多数叩くような場合にも効果的です。 modelの下に、json.phpというファイル名で保存してください。 app/models/json.php <?php class Json extends AppModel { var $name = 'Json'; var $useTable = false ; /* * jsonデータの取得 * @param string JSONファイルへのパス * @param boolean キャシュさせるか * @return mixed */ function find( $path , $cache = false ){ if ( !substr_count( $p
Twitter のストリーミング API を試す 2010-04-15-2 [WebAPI][Programming] 今日から始まった謎のツイッタードラマ(?)を横目に、ツイッターの Streaming API を試してみました。この本を参考にしました。 ■辻村浩 / Twitter API プログラミング (ref. [2010-04-14-1]) ストリーミングAPIって何かというと、タイムラインがひたすらだらだらと流れ続けるAPIです。 以下紹介するのは契約無しで自由に使えるバージョンで、タイムラインから適当に間引いて全体の5%くらいが取得できるみたい。 噂では億単位のお金を払えばほぼ100%取れたりするみたいだけどよく分からない。 使い方を curl コマンドで説明。 JSONで欲しい場合はこう(U=アカウント名、P=パスワード): curl -uU:P http://strea
http://developers.facebook.com/news.php?blog=1&story=335 SixApartからFacebookに移籍したDavid Recordonのエントリ。 次のOAuthの進化として、OAuth WRAPというものが提案されているようです。 http://oauth-wrap-wg.googlegroups.com/web/WRAP-v0.9.7.2.pdf とりあえずざっくり読んだまとめ。 現時点での、OAuth Core 1.0a からの変更点を中心に。 用語 Consumer -> Client Service Provider -> Authroization Server ConsumerからClientへの変更に従って、 consumer keyは、client identifierになります。 consumer secretは、c
XSSにCSRFにSQLインジェクションにディレクトリトラバーサル……Webアプリケーションのプログラマが知っておくべき脆弱性はいっぱいあります。そこで本連載では、そのようなメジャーなもの“以外”も掘り下げていきます (編集部) JSONPだって、セキュリティを気にしてほしい 皆さんこんにちは、はせがわようすけです。今回は、JSONPを使用する場合のセキュリティについて解説しましょう。 JSONPとは、JSON with Paddingの名称が示しているとおり、JSON形式のデータにコールバック関数の呼び出しのためのコードを付加することで、クロスドメインでデータの受け渡しを実現するためのデータ形式です。JavaScriptからクロスドメインでのデータが簡単に扱えることなどを理由に、多数のWebアプリケーションでAPIの一部としてJSONP形式でデータの提供が行われています。 具体的な例を見
ianime.jsもようやく安定して動き出したので、スライドショーを作ってみようと思ったのだが、通常のjavascriptのイベント処理を使って作ろうとすると、(1)最初のアニメーションの動作を指定し、(2)そのアニメーションの終了イベントを受けて次の指示を出し、...と、ものすごいスパゲッティ・コードを書かねばならなくなる。 それがどうしても耐えられなかったので、色々と試行錯誤をしているうちにたどり着いたのが、JSONを使ったアニメーション専用のメタ言語である。下の例の太字の部分がそれ。 function start() { anime.addSequence([ { duration:3000 }, { id:'pic4', effect:'fadeout', duration:3000 }, { duration:3000 }, { id:'pic3', effect:'fadeou
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く