ソースコードリーディングとかしてると、ただコード読んでてもどうしようもなく、オブジェクトの中身や変数などを見るためにデバッグツールを使いながらでないとやっていけないことが今になって分かりました。自分でもどうしようもなくアホだと思いながら戒めのために覚書。 デバッグツールの機能 僕自身まともに触れる言語はjavascriptとphpくらいなもので、どちらもeclipseのようなIDEを使わず頑なにvimを使って組んできました。phpの場合はxdebugと連携させる方法*1や、javascriptならrhinoなんかを入れてquickrunとかって方法も考えられますが、僕はある程度は知っていながらもひたすら標準のスタックトレースやalert,console.log,console.dirばかりしていたので、まずはIDEなどに搭載されている一般的なデバッグ機能を復習をかねて覚書。 ブレークポイン
GoogleReaderが終焉し、SmartNews,Gunosyなど寝ててもおすすめコンテンツが降ってくるサービスが注目を集めている今、ここでひとつ自分もなんか気の利いたものを作ってみたい。 というわけで、はてブの人気エントリーから記事を引っ張ってきて、 ズバリ一行に要約するプログラムを書いてみた。 はいこれ。 要約くん http://xiidec.appspot.com/markov.html これを使うと・・・ けだるい猫ライオンがこの国でエリートコースに乗れると日本の真相。 こんな感じで なぜ高学歴の差別発言が求められるのかって生産性を欲しがった話をどうするか。 今話題のニュースがごちゃ混ぜになって一行に要約される。 浜崎あゆみの件、原子炉に十分届かず 炉心溶融の差別発言が続出。 Webの今が1行で分かる! 仕組み サーバサイド(Python)で、はてなブックマーク人気エントリーの
HTML5はウェブ・ページをアプリのように動かし、そしてFlashに取って代わるはずだった。しかしパフォーマンスの問題で、アプリ開発者のHTML5導入は遅れてしまっている。 Famo.us社はこのギャップを埋めるためにスタートした小さな会社だ。同社は2Dと3Dの両方のエフェクトを高速表示するため、HTML5の遅延要素を本質的に回避する独自のフレームワークを開発した。このFamo.usによって、開発者はHTML5のパフォーマンスの問題に苦しむことなく、より短期間でクロスプラットフォームのアプリを開発することが可能となったのだ。 Famo.usの秘密はJavaScriptを利用していることだ。JavaScriptは極めて高速に動作し、既にあらゆるブラウザで広く使われている。Flashとは異なり、ブラウザ・プラグインをユーザーがダウンロードしたり、ブラウザメーカーがそれをサポートする必要もない。
最近シリコンウエハーもらって嬉しかったago(@kyo_ago)です。 このエントリはGREE Advent Calendar 2013 11日目の記事です。 今回はクライアントサイドJavaScriptにおけるライセンス管理の問題を取り上げたいと思います。 ライセンス管理の問題点 「使用しているライブラリのライセンス管理をどうするか」はクライアントサイドJavaScriptにかぎらず発生する問題ですが、クライアントサイドJavaScriptには以下の様な特徴があるため問題が複雑になります。 コードが結合、圧縮される場合がある クライアントサイドJavaScriptでは読み込みの速度を上げるため、使用しているライブラリの結合、圧縮を行うことがあります。しかし、この時誤ってライセンス文が捨てられてしまうことがあります。 ソースが外部に公開される クライアントサイドJavaScriptではソー
JavaScriptで高速なコードを書く際の注意点。または私は如何にして心配するのを止めてJSXを作ることにしたか 本日、福岡で開催されたプログラミング言語のパフォーマンスを考えるイベント「ぷろぐぱ」で、「JSX 速さの秘密 - 高速なJavaScriptを書く方法」という演題で講演しました。 JavaScriptで速いコードを書こうとする際に陥りがちな罠を紹介し、それらの問題にJSXではどうやって対処しているか、プログラミング言語設計と最適化機能の実装を説明しました。プログラミング言語設計に興味がある方にとっても、JavaScriptを使ったプログラミングに興味がある方にとっても面白い内容になっているかと思います。
僕は色々勉強しなきゃ行けないのは分かってるんだけど、勉強しなきゃなーとか言いながらズルズルとしてしまう人で、気づけばゲームばっかしてるような人間なんです。 もはや、WEB屋兼ゾンビキラーとか名乗った方がいいんじゃないかとこのまえ友人に冗談半分で言われましたが、そのくらいゲームは結構好きなんですね。(先月はCOD2のOriginsやりこんで、今はGTAVやってます…) そんな、学ぶの面倒だけどゲームは好きって人に、もしかしたらオススメできるかもしれない、CodeCombatというJavascriptを学ぶサイトを今日はご紹介させて頂ければと思います! 内容は至って簡単で、ゲームをすすめる為にはJavascriptでコードを書かなきゃならないって感じの物。それっぽいのはいくつかありましたが、ちょっととりあえずやってみましょう。 とりあえず、PLAY! どうやら僕はウィザードとしてプレイするよう
JavaScriptだけでAmazonクラウドのストレージ、NoSQLデータベース、プッシュ通知、ソーシャルログインなどを実現する「AWS SDK for JavaScript in the Browser 」公開 クラウドを利用するためのサーバサイドの開発は必要なく、JavaScriptだけでクラウドストレージやNoSQLデータベース、モバイルへのプッシュ通知、ソーシャルログインなどを実現するライブラリ「AWS SDK for JavaScript in the Browser」がデベロッパープレビューとして公開されました。 すでにiOSやAndroidのネイティブアプリケーション開発用には「AWS SDK for Android」と「iOS 用 AWS SDK」が公開されていますが、この「AWS SDK for JavaScript in the Browser」によって、より手軽にブ
Why SVG (and Snap)? SVG is an excellent way to create interactive, resolution-independent vector graphics that will look great on any size screen. And the Snap.svg JavaScript library makes working with your SVG assets as easy as jQuery makes working with the DOM. Modern features for modern browsers Snap.svg is designed for modern browsers and therefore supports the newest SVG features like masking
フロントエンドのパラダイムを参考にバックエンド開発を再考する / TypeScript による GraphQL バックエンド開発
rainyday.jsはJavaScript製、GPLのオープンソース・ソフトウェアです。 コンピュータ上で自然現象を再現するのはとても面白い試みです。例えば物理エンジン、ライフゲームもその一つです。今回はWebブラウザ上で雨が窓にあたる様子を再現するrainyday.jsを紹介します。 背景はぼやけ、曇ったガラスに雨があたっていく感じが再現されています。 中央の枠はYouTube動画の再生ができます。 時間が経つと雨粒が増えていきます。 雨で窓が曇っている感じがうまく再現されています。 雨は垂直だけでなく、斜めに降らせることもできます。 rainyday.jsは背景を曇らせるのはもちろん、雨粒が落ちるところは曇りがとれて向こう側が見えるようになるなど細かい所にもこだわって作られています。さらに雨粒自体も背景の写真を透かしていて本物そっくりです。 コンピュータと異なり、自然現象はランダムな
fullPage.js ポートフォリオや企業のプロモーションでもよく見かける1ページで構成されたサイトで、フルスクリーンの垂直スクロール、そして水平のスライドにも対応したウェブサイトを作るためのスクリプト。 こういう作りは特にタブレットで操作がしやすいですね。 FancyScroll.js スマフォやタブレットのようにページの終わりまでスクロールした際にバウンドするのをはじめ、ちょっと面白いさまざまなエフェクトをスクロールに与えるスクリプト。
※いずれの言語もマルチプラットフォームであり、Windows, Mac OS Xともにどちらでも利用することができます。 比較対象のサンプル サンプルとしてシンプルなスライドショーのWebコンテンツを用意しています。それぞれの言語でどのように記述して実装するのか、また生成されたJavaScriptがどのようなものであるか確認していきましょう。このサンプルでは言語の特性を紹介するために、実用的な要素として「クラス構造の利用」「既存JSライブラリの利用」「ユーザー操作」を含めています。 デモを開く 「Change Photo」ボタンをクリックすると写真が切り替わります。CSS3の3D TransformsをjQueryを用いて制御します(確認の際には、CSS3の3D Transformsが利用できるブラウザをご利用下さい) 概要 TypeScriptはマイクロソフトが開発するオープンソースの言
連載「Webサイト・アプリ高速化テクニック徹底解説」の第5回は、前回の「DOM操作の最適化によるJavaScriptチューニング(前編)」に続く後編です。後編では、createElement()などのDOM操作メソッドを使ったさまざまなテクニックや、パフォーマンスを劣化させるよくあるパターンについて詳しく解説します。 CodeIQとの連動企画! この記事で学べるJavaScriptチューニングのテクニックを、実際にCodeIQの問題で試すことができます。もう既に自信がある方は腕試しに、もしくは理解度チェックのための復習として是非ご活用ください!こちらから問題にチャレンジ! 前回は、DOM操作が遅い原因と仕組みについて簡単に説明し、チューニングのサンプルをいくつか解説しました。その中で、innerHTMLを利用したコードをサンプルにあげていますが、innerHTMLを利用する場合、いくつかの
Webやスマートデバイス、センサーなどあらゆるものから情報を収集出来るようになり、世の中には膨大なデータが溢れかえっています。 また、ビッグデータやデータサイエンティストといったキーワードに注目が集まり、データ活用への期待が高まっています。しかし、単純に収集したデータはそのままでは見づらく、そこから意味を汲み取るのは困難です。 そこで、データの見せ方や伝え方が重要になってきます。 インフォグラフィックスやデータビジュアライゼーションといったキーワードにも注目が集まりつつありますね。 本記事ではD3.jsというJavaScriptのライブラリを利用し、このブログ(Teck-Sketch)のはてなブックマーク数や、世界の国別の人口の比較を視覚的に分かりやすく表現していきたいと思います。 インフォグラフィックス?データビジュアライゼーション? キーワードとしてインフォグラフィックスとデータビ
oauth-jsはJavaScript製のソフトウェア(ソースコードは公開されていますがライセンスは明記されていません)です。 ソーシャルなサービスが増えるのに伴ってOAuthプロバイダーはどんどん増えています。OpenIDと違って、同じ仕様で全てがこなせないのが辛いところです。そこで使ってみたいのがOAuthをまとめてくれるOAuth.ioで、さらにそれを簡単にしてくれるのがoauth-jsです。 デモの画面です。70を越えるプロバイダが利用できます。 ポップアップ版による実装です。 ウィンドウが閉じるとデモの画面でトークンが表示できています。 GitHubなどもポップアップにできます。 プロバイダによって多少のデータフォーマットの違いはありますが、概ね同じ形のようです。 oauth-jsを使うとリダイレクト方式とポップアップ方式を簡単に切り替えて使えます。いずれの形にしてもサーバサイド
JavaScriptでは、初見の人にはさっぱりわからないけれども、ある程度慣れた人は当たり前に使うイディオムが結構たくさんあります。知ってしまえば何てことはないので、私の知っている限りのイディオムとその意味を解説します。 (7/3追記: twitter等で教えていただいた内容を追加しました) +v (数値化) var v = "123"; console.log(+v + 100) // 223 console.log(v + 100) // 123100 vを数値化する方法では最もメジャーです。parseFloat(v) に比べて高速なのに加えて、parseFloatとは細かい挙動が異なります(例えば空文字列の場合、parseFloatならば NaN になりますが、 +v の場合はゼロになります)。必ず数値になることが保証されており、文字列などで数値化出来ない場合はNaNが返ります。 v
この資料では、JavaScript でオブジェクト指向プログラミングを行う際に備えておくことが望ましい、基礎知識や概念について解説します。 【対象者】 ・JavaScript でアプリケーションを構築できる方 ・JavaScript におけるオブジェクト指向プログラミングの 実現手法や原理への理解を深めたい方 ・Java 的なクラスベースの言語との違いに違和感や混乱を 感じてらっしゃる方
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く