background preloader

Js

Facebook Twitter

よーし、パパ酔った勢いでJSXに盛り上がっている連中をdisっちゃうよ~ - mitamex4uの日記. 大規模なJavaScript開発の話. HaxeでJavaScriptゲームを作ってみた - サンフラットの開発日記. Haskell での例外処理 - あどけない話. Haskell での例外処理 リツイート数が30を超えたので、Haskell での例外処理について説明します。 僕が思うに、Haskell での例外処理が分かりにくいのには、2つ理由があります。 歴史的経緯により、Prelude にも Control.OldException にも Control.Exception にも catch があります。 歴史的経緯を説明するのは面倒なので、これだけ覚えて下さい。 「Control.Exception だけを使って、それ以外は忘れる」 そもそも純粋関数型で catch とか言われても分からないかもしれません。 純粋な関数 純粋な関数では、原則として例外を投げてはいけません。 とにかく失敗だと分かればいいのであれば、Maybe を使います。

Lookup :: (Eq a) => a -> [(a,b)] -> Maybe b lookup _key [] = Nothing lookup key ((x,y):xys) | key == x = Just y | otherwise = lookup key xys 正常の場合と例外の場合は、case 式で処理しましょう。 Haskell では、純粋な関数であれば、失敗する可能性があるのか、型から判断できます。 失敗した理由も伝えたい場合は、Either を使います。 Parse :: Stream s Identity t => Parsec s () a -> SourceName -> s -> Either ParseError a 正常の場合と例外の場合は、case 式で処理しましょう。 とは言っても、お行儀の悪い純粋な関数はあります。 IO は、命令型と同じような感じで、例外を使います。

これ以降、Control.Exception を import しているとして話を進めます。 Import Control.Exception as E 例外を止める系 例外を捕まえて、そこで止める、つまり上位に伝えないためには、catch を使います。 Catch :: Exception e => IO a -> (e -> IO a) -> IO a こういう風に使います。 Catch (したいこと) (例外処理) catch を二項演算子にして使うとおしゃれです。 (したいこと) `catch` (例外処理) おまけ. Machine Learning that Matters(ICML 2012) 読んだ - 糞ネット弁慶. サウンドプログラミング用のJavaScriptライブラリができた!!!! JavaScripterから見たJSX » nmi.jp. 私は2001年からJavaScriptを専門にして実装をしており、かなり長い間JavaScriptを使い続けてきました。 ExGameをはじめとして、異常なほどにJavaScriptを使い倒したプロジェクトを何個か完遂させています。 前の会社「ブロードテイル」がDeNAに買収されたのは、JavaScriptのプロダクトだけでなく、私たちのJavaScriptのスキルを生かしたいという側面も大きくあったと感じています。 そんな私ですが、正直に言うとJSXの開発にはほとんど関わっていません。 JSXは基本的に一穂さんが主導し、gfxがフォローし、a_bickyがドッグフードを食べる(自分たちのプロダクトをまず自分たちで率先して使う)という形で進んできました。

私が強くかかわったのは、主に3月の言語仕様を決めるときの議論程度です。 JSX: a faster, safer, easier alternative to JavaScript まず、以前のブロードテイルと現在のDeNAでは、JavaScriptを利用した巨大なプロジェクトというものが何本も走っていました。 大規模な開発になると、途端にJavaScriptは弱さを発揮します。 JSXはその問題を綺麗に解決してくれます。 手でインライン展開すればいいじゃないか、と思う人もいるかもしれません。 ただ、ここでの重要な点は「速くなった」ことではなく「決して遅くならない」ことです。 JSXの言語設計の前後で、別の言語(例えばJavaなど)から移植する方法はないかと考えました。 よってJSXは、企画の段階から「絶対に遅くならない」ことを念頭に設計されています。 「遅くならない」だけであればGoogle Closure Compiler(以下GCC)があります。 そう、JSXのデメリットとして、型安全な書き方を強制されてしまう点があります。 これらのメリット、デメリットはプロジェクト次第です。 もう一つのデメリットとしては、私のようなJavaScript専門家の才能を発揮する余地が少なくなってしまうことですね。 JSXは今後も機能が継続的に拡張されていき、今以上の応用性が生まれてくることでしょう。 大規模JSプロジェクトのための、モダンなjavascript/coffee-script の学習用資料まとめ - mizchi log. JavaScriptが27%も高速化できる!?新言語JSXが登場! JSXよりHaxeがイケてる5つの理由(実践編) もしくは Real World Haxe - みずぴー日記. ガチでDeNAの技術情報が詰まった「Mobageを支える技術」を読んだ - myfinderのはてなブログ. プログラミングコンテストでの乱択アルゴリズム. 勢いで始めてみるNode.js Webアプリ開発. いまはやりのNode.jsを使い、とにかく早くWebアプリを作って、とにかく早くクラウドで公開したい! そんな勢いだけでNode.jsプログラミングを始めてみた。 実際に数時間でそれなりの機能を持つサイトが作成できたので、皆さんにその方法を紹介しよう。 ■Node.jsによるWebアプリのクラウド&ローカル環境構築 ●Windows開発者だけど、「Node.js」って何?

「Node.js」とは何か? 「.js」という部分から想像が付くように、これはサーバサイドで動作するJavaScript実行環境で、そのエンジンにはGoogle Chromeと同じ「V8エンジン」が使われている。 サイトへのアクセス集中時において、ほかのWebアプリ実行環境とどんな違いがあるのか? Node.jsについての話はここまでにしよう。 ●Windows上でのNode.js開発環境の構築 それでは素早く環境構築していこう。 筆者は以前から「Node.jsを試したい」と思っていたが、「環境構築して、何らかのサーバ/クラウドを準備して……」という手間が面倒で、ついつい後回しになっていた。 名前を出すと「またそれか」と疑いの目で見られてしまうかもしれないが、本当に便利で筆者は感動したので、ぜひ共有したいと思った。 Windows Azure Webサイト(10個まで無料のPaaS) +WebMatrix 2(無料のWebサイト制作環境) という組み合わせである。 ●クラウド環境の構築 まずはクラウド(Windows Azure Webサイト)環境を作る。 Windows Azure自体の申し込み方法は本題か外れるので、説明は割愛する(詳しい説明はこちらを参照してほしい)。 Windows Azureが使えるようになったら、Windows Azure Webサイト(プレビュー版)の利用を申し込む。 その後、Windows Azureの新ポータル・サイトを訪れ、次の画面を参考に、新規のWebサイトを作成する。 以上でクラウド側の環境構築は完了だ。 ●ローカル環境の構築 次にローカル(WebMatrix 2)環境を作る。 これはとても簡単だ。 以上でローカル側の環境構築も完了だ。

●Node.jsによるWebアプリのひな型プロジェクトの作成 以上でWebアプリのプロジェクトが完成する。 ●ローカル環境でのひな型Node.js Webアプリの実行. JavaScript 基礎 (Part 1) 資料. JavaScript 基礎 (Part 1) 資料 公開の勉強会をやったので、その資料を公開。 追記 (2012-06-19 15:40) syoichi さんからのご指摘を反映 Boolean にキャストすると false になるものに 0 を追加即値関数 → 即時関数 追記 (2012-06-20 16:15) @poyoshi さんからのご指摘を反映 ループの continue で偶数と奇数が逆になっていたのを修正 自己紹介 Seiya Konno (@nulltask)プログラマユニバ株式会社所属 目的 今回の目的。 JavaScript の文法を理解する 今日は特定の処理系 (ブラウザなど) に依存しない JavaScript の言語のみに着目した内容になります。 次回以降実践を交えながら JavaScript で本格的なオブジェクト指向をやっていく予定です。

対象者 新しいプログラミング言語として JavaScript を覚えたい人 JavaScript とは 作者: Blendan Eich さん (現 Mozilla CTO)1995 年に Netscape 2.0 とともに登場ブラウザ上で動作するスクリプト言語 現在は Node.js に代表されるサーバサイドの言語としても注目される動的言語プロトタイプベースのオブジェクト指向言語 クラスはないけど立派にオブジェクト指向ができます名前は似ているが Java とは別物! 構文の特徴 C 言語に近い平易なシンタックス大文字小文字の区別あり getName, getname, GETNAME はそれぞれ別物として扱われる。 変数 値を格納しておくための識別子。 宣言と代入 var 変数名; // 宣言 変数名 = 値; // 代入 宣言時に代入してもよい。 Var 変数名 = 値; // 宣言と代入を同時に 宣言時に値を代入しなかった場合、undefined という特別な値になる。 例 var score = 10; カンマで区切って複数宣言することもできる。 Var a = 10, b = 100, c = 1000; 静的型付け言語と違い、型宣言はしない。 変数名に使える文字 英数時 [0-9a-zA-Z]アンダースコア _ドル記号 $ 変数名は数字から始まってはいけない。

Var 123abc = 'test'; // NG コメント プログラムに注釈を入れることが可能。 グーグル製のJavaScript MVCフレームワーク「AngularJS」、正式版が公開. 2012年6月18日 グーグルは、JavaScriptでMVCアーキテクチャのアプリケーション開発をする際に便利な機能を備えたライブラリ「AngularJS 1.0」のリリースをブログで発表しました。 AngularJS — Superheroic JavaScript MVC Framework MVCアーキテクチャとは、ソフトウェアがデータモデル(Model)の部分とユーザーインターフェイスの部分(View)、そしてビューとモデルのあいだで制御する部分(Controller)に分離された構造のことを指します。 これらが分離されているとプログラムの見通しがよくなり変更にも対応しやすく、テストも容易になるため、何種類ものユーザーインターフェイスと複雑なロジックなどから構成される大規模なアプリケーションではMVCアーキテクチャの採用が望ましいものと考えられています。 しかしWebアプリケーションをMVCアーキテクチャで実現しようとすると、ビューの役割を果たすHTMLのコードの中に、どうしても複雑なJavaScriptのコードが入り込みやすく、きれいなMVCアーキテクチャにするための手間と工夫が必要でした。

AngularJSは、HTMLにJavaScriptのコードを混ぜ込まなくとも、キーワードを差し込むだけで自動的にユーザーインターフェイスからデータを受け取ってモデルへ反映し、その逆に、モデルのデータを自動的にユーザーインターフェイスへと反映してくれる機能などを提供します。 Id属性の指定もイベントハンドラも不要 次のコードは、AngularJSのWebサイトに掲載されているいちばん簡単なサンプルです。 2行目で、このHTMLにAngluarJSを適用することを宣言し、4行目でAngularJSを読み込んでいます。 以下でこのコードを実際に作動させていますので、試してみてください。 通常、入力した内容を動的にHTMLに反映させるには、まずid属性などを用いて指定したフィールドの値をOnKeyUpイベントごとに取得して、そのイベント内で別のidで指定した要素へ書き込む、といったロジックのコードを作り込む必要があります。 JavaScript MVCフレームワークはすでに十種類以上、その比較や最新情報などのまとめ. 2012年6月18日 グーグルが開発したJavaScript MVCフレームワーク「AngularJS」を紹介した1つ前の記事の反応が予想以上に大きく、1日たたずにブックマークが500以上もつきました。 本記事では、AngularJS以外にもすでにたくさん存在するJavaScript MVCフレームワークに関する情報をまとめて紹介したいと思います。 JavaScript MVCフレームワークの比較記事 既存のJavaScript MVCフレームワークを比較した記事が「The Top 10 Javascript MVC Frameworks Reviewed」です。

Top10と書いてありますが、12種類のフレームワークの比較です。 上記のような比較表を載せた上で、12種類すべての利点と欠点を説明しています。 Backbone.jsの最新情報 現在のところ、JavaScript MVCフレームワークとしてもっとも知名度が高いのがBackbone.jsです。 そのキーノートスピーチのビデオが公開されています。 BackboneConf 2012: State of the Backbone – Jeremy Ashkenas from Ted Han on Vimeo. スライドも公開されています。 Backbone.jsの解説記事 Backbone.jsについては、日本語での解説記事が多数あります。 Backbone.jsを利用したクライアントサイドMVCの導入についてそろそろ書いておくか Backbone.jsを利用したクライアントサイドMVCの導入についてそろそろ書いておくか - 出町ミスド攻防記 デザインパターンとしてのMVCには、分野に応じて様々な定義があるようです。

Backbone.js入門をまとめて読めるのが、昨年末のBackbone.js Advent Calendarで書かれた記事です。 Backbone.js入門 「Events」 #Backbone.js #AdventCalendar - Qiita Backbone.js入門 「Events」 #Backbone.js #AdventCalendar - Qiita 1. そのほか、以下の2本の記事を紹介しておきます。 Backbone.jsとほかのフレームワークとの比較 Spine.js vs Backbone.js. JSX の型を整理してみた - ぐるぐる~ Java開発者のための関数プログラミング.