LL Diver発表資料である、それでもNode.jsをやる話。

今回の会議は、HTML5開発環境としてのVisual Studio(以下、VS)にフォーカスを当てたものとなった。VSでのWebアプリ開発におけるHTML5/JavaScriptの位置付けの変遷、Webアプリ開発ツールとしてのVS、VSでのマルチプラットフォームなアプリ開発、.NETとHTML5のいずれを選択すべきかなど、話題は多岐に及ぶものとなった。 基調講演『ASP.NETとNuGetでもう一回始める、今どきのWebアプリ開発』 技術セッション『Visual Studio 2013とHTML5で実現するマルチデバイス/マルチプラットフォームアプリの開発』 パネルディスカッション『これからVisual Studioエンジニアは、.NETとHTML5、どちらに賭けるべきなのか?』 基調講演と技術セッション、パネルディスカッションについてはUstream中継で配信されたアーカイブ動画を視聴・
概要 ES2015を象徴する機能である、アロー関数構文の実装がついにV8で始まった。 無名関数を短く書ける [3.28.31] アロー関数は無名関数の省略記法である。 今までこう書いていたのが、 var fn = function (a, b) { } こうスッキリ書ける。 var fn = (a, b) => { } 「=>」が矢のように見えることから「アロー」関数と言う。 更に短くできる これが、 [1, 2, 3].map( function (v) { return v * v } ) // [1, 4, 9] アロー関数だとこうなるが、 [1, 2, 3].map( (v) => { return v * v } ) // [1, 4, 9] 引数が一つの時には「()」を省略できるので、こう書ける。 [1, 2, 3].map( v => { return v * v } )
AltJSとTypeScriptとは 昨今、高度なWebアプリケーションやNode.jsによるサーバサイドアプリケーションなど、JavaScriptによるアプリケーションの開発が多く見られるようになってきました。それに伴い、アプリケーション開発の効率化のためのAltJSと呼ばれる言語(コンパイルするとJavaScriptを書き出す非JavaScript言語)たちが注目され、開発が盛んに行われています。TypeScriptはAltJSの1つです。 TypeScript以外にもさまざまなAltJSがあります。たとえばLL(Lightweight Language)を意識した書きやすいJavaScriptとしてのCoffeeScript[1]、国産で速度最適化を重視しているJSX、JavaScript以外の言語への変換ができるHaxeなどです。TypeScriptは、よりよいJavaScrip
このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 TypeScript を使って JavaScript への投資を強化する Bill Wagner コード サンプルをダウンロードする TypeScript プログラミング言語は、実際には JavaScript のスーパーセットです。JavaScript を使用しているということは、TypeScript を既に使用していると言えます。すべての特徴を活かした優秀な TypeScript を記述しているとは言えませんが、JavaScript へのこれまでの投資を (TypeScript が提供する新しい機能を活用する) TypeScript コードベースにスムーズに移行できる可能性があることを意味します。 今回は、
メディア 連載一覧 連載まとめ読み@IT eBook 記事ランキング @IT Special セミナー ホワイトペーパー クラウド AI IoT アジャイル/DevOps セキュリティ キャリア&スキル Windows 初・中級者向けAI その他 Server & Storage HTML5 + UX Smart & Social Coding Edge Java Agile Database Expert Linux & OSS Master of IP Network Security & Trust Test & Tools Insider.NET ブログ New! AIを作り動かし守り生かす ローコード/ノーコード クラウドネイティブ Microsoft&Windows その他の特集 @IT アジャイル/DevOps Insider.NET TypeScriptで学ぶJavaScr
計算機科学の理屈上では、関数(引数、戻り値)さえあれば、あらゆる計算が可能です。変数なんていらないんです。 function F (x) { // 変更される値は引数で与えられる const a = 1; // 分かりやすさのために定数は可、ただし再代入はできない return x + a; } F(1); // 2 上の F は、与えられた数字に必ず 1 を足して返す関数ですね。関数 F は、引数 x に対して、必ず 1 つの結果を返します。プログラムの結果が予測しやすくなると同時に、エラーの原因も瞬時に分かるようになります。こういうのを参照透過性と言ったりします。 でも、上の定数 a を変更したい場合もあるでしょう。そんなときは関数 F を作る関数 G を作れば良い。 function G (a) { return function F (x) { return x + a; } }
Webカメラ映像から人を消すJavascriptを実装しました。 @yabuki様の「風景から歩行者を消す手軽な方法」に発想を得て作成した物です。 風景から歩行者を消す手軽な方法 | 配電盤 Taro YABUKI (yabuki) on Twitter カメラへのアクセスを許可するとWebカメラ映像から人を消すスクリプトが発動します。 実装のポイントは以下の通りです。 WebRTCでWebカメラ映像取得する ピクセル単位のアクセスをしたいので、Webカメラ映像のバッファを不可視なCanvasに落とし込む Canvasのピクセルの平均値を計算する(全部の値は持っていられないので逐次更新する平均値とした) 平均値の計算結果を可視なCanvasに描画する 詳しくは下記ソースをご参照ください。 ハイパフォーマンス ブラウザネットワーキング ―ネットワークアプリケーションのためのパフォーマンス最適
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 結論: Javascriptの乱用をやめるのが一番。 はじめに書いておきますがしょうもない話です。 結論、開発者としてはどのような方向性でやるべきか、を書いています。 JS多い時代でのフレームワークの根本的な問題云々のことは書いてません。 さて、現状、モバイルにおいて、Javascriptでまともに動くものを作ることは難しいです。 Twitterから引き抜いた超優秀なWebエンジニアを多数抱えるMediumですら、未だにモバイルで多数のバグを抱えています。 超優秀なエンジニアを世界一抱えているであろうGoogleのGmailですら、モバ
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 追記 RailsでJS辛い問題に関しての結論:http://qiita.com/kaiinui@github/items/dad6180f1910c6a4bfd5 -- 近年、(1) Web/App両対応が増えてきたこと、(2) WebでもJSを多用するようになったこと、の二つがあり、以下の点でRailsが微妙になっている。 ViewのJavascriptがRailsから独立している API層のサポートが微妙 最初に書いておきますが、特に決定的な解決策もなく、辛いから今後解消されてほしいよね、な話です。 ViewのJavascriptが
渋日記@shibu.jp 渋川よしきの日記です。ソフトウェア開発とか、ライフハックを中心に記事を書いていきます。 JavaScriptはもう好き嫌いを超えて、最低限の読み書きはもはや教養レベルといっても言い過ぎではないと思います。ブラウザ限定だったら他の言語もありますが、ブラウザで標準で使える言語はJavaScript以外には選択肢はありません。3DCG系のツールのマクロ言語は未だにPythonがトップシェアだと思いますが、Flash, Photoshop, Illustratorの仕事を効率化するマクロ言語はJavaScriptですよね。先日AppleのOS Xの次期バージョンの自動化ツールが独自言語に加えてJavaScriptをサポートすることを発表しました。サーバサイドで使われるnode.jsは、コンパイル言語を除けばトップクラスの性能です。QtもQMLとしてJavaScriptを中
AngularJSを筆頭にKnockoutJSとSencha Ext JSでもデータバインディングが実装されました。この違いを簡単なサンプルを作ることで比較します。JavaScriptフレームワーク選定で個々の特徴を他者から聞き取るだけでなく、実際に同じ機能を様々なフレームワークで実装してみるというのは重要なことと考えます。 比較するプログラム 今回作成するプログラムはテキストボックスを二つ配置しテキストボックスに入力された値を足し、合計を表示するというものを作ります。 仕様は「テキストボックスに入力された値を即時計算し答えを表示する」ということにします。画面の構成は、ここでの評価は意味のないものですので、こだわりなく作成しました。 AngularJSの場合 AngularJSの場合は、JavaScriptを一行も書かずにその仕様を満たすことができます。index.htmlに次の行を記載し
TwitterのJSのソース見るとkonami_watcherとかいうのがあるな・・・。38,38,40,40,37,39,37,39,66,65 って、上上下下左右左右BA?何に使われてるんだろう・・・。
JavaScriptでフレームワークを書くのはもうやめましょう。 JavaScriptフレームワークというものは、あたかも避けられない死と税金のようなもの、絶対にぶちあたる避けられないものといわれています。こっそり聞いてみましょう、新しいウェブプロジェクトが始まるとき、一番初めに聞かれる質問は?十中八九は「どのJSフレームワーク使っているの?」でしょうね。昨今の業界においてJSフレームワークというものは本当に根深く浸透しているのです。でも、だから必須だというものではないのです。実際、もう使うべきではないのです。 どうしてこういった結論に至ったのか、振り返ってみましょう。 AngularにBackbone、Ember・・・ ここのところ長い間、 ウェブプラットフォーム とはHTML+CSS+JS、と簡潔に技術用語の羅列でまとめられてしまっていましたが、そこにはもっとぴったり表す用語“大混乱”
昨日の記事で書いたVOC (Vision Oriented Communication) の実装を支援するライブラリを作った。 https://github.com/ympbyc/VOC READMEを英語で書いたのでここに日本語版を書いとく。 VOCのコンセプト オブジェクト指向やアクターはpushベースだけど、実世界のコミュニケーションの多くはpullベースだ。 僕らはレシーバを指定したメッセージを送らない。 僕らは自分の見た目(e.g. 表情)や自分の周りの状態(e.g. 声)を変える能力を持っている。 僕らは自分の周りの景色を見て、情報を引き出して、それに基づいて行動する。 僕らはそれぞれバラバラに勝手に非同期に行動している 僕らは赤信号が見えたらブレーキを踏むわけで、赤信号が僕らのbrakeメソッドを呼んでくれるわけじゃない。 実装 VOC.Visual(state)は見た目を作
無限スクロールとは、ページの下部までスクロールすると自動的に新しい要素が追加される機能のこと。TwitterなどのSNSのタイムラインを初めとして様々なウェブサイトで使われているが、いくつかの問題点も指摘されている。 無限スクロールのよく知られた問題点と、それに対する解決方法をまとめた。 別のページに移動してから戻ると継ぎ足しがリセットされる リンクがクリックされたときは常に新しいウィンドウを開くようにしたり、 Lightboxのようなモーダルな擬似ウィンドウをページ内に開いたりすることで、ページの遷移そのものを抑制するという方法がある。 また、次の項目で紹介する「History APIでURLを書き換える」という方法を使えば、読み進んだ位置は復元される。 permalinkが取れない 同じページに次々と新しい内容が継ぎ足されていくので、いま自分が見ているページのURLが分からないという問
無限スクロールまたはauto pagingと呼ばれるUIには、読み終えたコンテンツがどんどん画面の上のほうに溜まっていってメモリーを食い潰すという問題がある。 なかでもTumblrは画像などのコンテンツが多いため、ダッシュボードダイバーたちは無限Tumblrユーザースクリプトなどのユーザースクリプトをインストールして、読み終えたコンテンツを定期的にページ上から自動削除するといった対策を講じていた。 ところが最近のTumblrのダッシュボードでは、ポストが画面外に出るとその中の要素が一時的にページから削除され、画面内に表示されると要素が再度復元されるようになっている。どうやらこれによって無限スクロールによるメモリーの圧迫が抑えられているらしい。 関連するコードはhttps://secure.assets.tumblr.com/assets/scripts/dashboard.jsの/*! s
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く