IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.
個人製作のシステムのjsをcoffeeに完全移行したのでその雑感を書きます。あくまでも個人的な感想です。感じ方は人それぞれです。 ちなみに僕は勉強を兼ねて手で移行させましたが、js2coffeeというツールを使うと自動で変換してくれるらしいです。 先に結論 coffeeの方がいいと思う。 よくある批判に「js書けばいいじゃん」というのがあるけど、極端な話、「アセンブラ書けばいいじゃん」と高級言語が出てきた頃に言ってた人と主張の方向性は似てると思う。極端すぎるけど。 jsには落とし穴がいっぱいある。慣れてもたまにはまる。varを忘れたり「関数の頭で全部のvarを列挙する」というプラクティスに従ってたら、冗長になって管理するコスト高くなったり。 coffeeを使うとそういう余計な問題を意識しなくてよくなるのはとても大きい。 しかもjsでできることの全てをcoffeeでできる。工夫が必要になる場
最近CoffeeScript界隈のブロゴスフィア(死語)を賑わせていた「CoffeeScriptを使うべきか、使わざるべきか?」という話題についてまとめてみた。 以下の記事紹介は超訳かつ要約なので詳しく知りたい人は元記事を参照のこと。 ことの発端はこの記事。 SnackJSの作者がCoffeeScriptをディスる。 A Case Against Using CoffeeScript by Ryan Florence デバッグの問題 CoffeeScriptが生成するJavaScriptはきちんとしているけど、結局は自分が書いたコードじゃないため読みにくい。自分で直接書いたほうが見やすい。 それにCoffeeScriptをデバッグするワークフローは大変だ。 まず問題がJavaScript内のどこで発生したのかを突き止める(CoffeeScriptのコードと行単位で対応してないから大変だ)
こんにちは、2011年度新卒エンジニアの夏目です!突然ですがみなさんJavaScript書いてますか? 最近はjQuery Mobileなどを利用したスマートフォン向けアプリ開発において、クライアントサイドでもヘビーなJavaScriptのコーディングをする機会があると思います。そのようなときコードのいたるところにHTMLが混入したり、どこでどのデータを扱っているのか分からなくなるということになりがちです。 今回はそんな悪夢のようなコーディング生活に一筋の希望の光を照らすBackbone.jsを紹介したいと思います。 対象読者 JavaScriptでの開発経験がある方 Backbone.jsとは Backbone.jsはDocumentCloudが開発をしている、クライアントサイドのJavaScriptコードをModel、View、Controllerで構築するためのフレームワークです。b
Drupal・DjangoからNode.jsに移ったが開発者がnpmモジュールの氾濫問題を指摘している: http://mikkel.hoegh.org/blog/2011/12/20/trouble-in-node-dot-js-paradise-the-mess-that-is-npm/ CSSやJavaScriptなどのアセットを圧縮してくれるモジュールが必要だったので調べてみたら、(推定)100を越える候補が出てきた。 管理されていないものを除外するなどの一次選択のふるいにかけても26の候補。(リストは元記事参照) Djangoなら明かな候補(asset-managers)があるのにNode.jsだと数十の候補を検証しなければいけない。このような時間をさくぐらいなら、自分で書いた方が速いと困惑している。 アセット管理だけでなく、routing、テンプレート、テストなど、Node.j
サーバサイドJavaScriptにはNode.js以前にもいくつかの実装がある。ちょっと前に注目されかけたものだと、現在はAppcelerater社に買収されたAptana社が出していたJaxerなどがあるが、きちんと調べるとRingoJsやnarwhalやv8cgiなど選択肢の一つとして数えられるサーバサイドJavaScript実装がいくつかある。ただ、これらはNode.jsのように注目を浴びているわけではない。 Node.jsとこれらの既存のサーバサイドJavaScriptの違いは、他のサーバサイドJSの動作モデルが既存のサーバサイドのものと変わらないのに対して、Node.jsの場合はそうではないから。具体的には、HTTPコネクションのハンドリング戦略が違っていて、既存の動作モデルが1コネクションに対して1プロセス/スレッド消費するのに対して、Node.jsの場合は非同期I/Oを用いて
期せずして久々の更新になってしまった。ブログを書く気がなくなったとかそういうのではなくてただ単に忙しかっただけ。その間、まぁ仕事が予期せぬ方向から炎上してみたり、事故をもらって愛車が全損したり(フロントガラスが全面熱線入りなんていう変なオプションなどを諸々付けていたからお気に入りだったのに)と決して良いことばかりで忙しかったわけではないけどね! で、今回は node.js のお話。異様な盛り上がりを見せているものの、じゃぁそれっていったい何かというと「JavaScriptを用いたNon-blocking I/O環境」という非常にシンプルなものだ。 その根底には「うまくスケールできること」と「動作が速いこと」という理念が見受けられる。 まず「うまくスケールできること(多量のアクセスを捌けること)」を解決するにあたり、まずはスレッドモデルか、イベントループかという問題があった。そこで auth
WWW::Mechanize for JavaScript WWW::MechanizeライクなIEの遠隔操作ライブラリです 公開 : 2006-07-12 License : BSD License ダウンロード mechanize.js mechanize.hta(使用例)
※ 画像は公式サイトデモより 最近は簡単に使えるグラフライブラリが増えてきた。Flashのものは見た目が奇麗で、画像出力のものも見やすさではひけを取らない。だがこうしたグラフは一度表示したが最後、リロードしないと変化しないものが多かった。 パイチャート そうではない、もっとダイナミックに変化するグラフを描きたい場合はこれを使ってみよう。 今回紹介するオープンソース・ソフトウェアはProtoChart、JavaScriptだけで描くグラフライブラリだ。 ProtoChartはCanvasを使って、JavaScriptのみでグラフを生成している。Canvasは本来、IE6には対応していないが、外部ライブラリを読み込むことで描画できるようにしている。これにより対応ブラウザはIE6/7、Firefox2/3、Safariとなっている。またSafariに対応しているとあって、iPhone/iPod
もともとは存在しなかったタグ要素を新たに追加したり、変更、削除するテクニックを学ぶ。こうした処理ができるのはDOMならではの魅力だ。 旧来のDHTMLの手法では、JavaScriptから操作できるHTML要素には限りがありましたが、DOMでは、HTML上のありとあらゆる要素を自由自在に読み取ったり、書き換えることができるようになります。本連載では、主にDOM Level 1で規定されている手法を使い、JavaScriptでどのようにHTML上の要素へアクセスするのか、そして、それをどうやって書き換えるのかを詳しく解説します。これにより、JavaScriptからHTML要素を手に取るように操れるようになります。 DOMスクリプティングでは、HTMLをJavaScriptから自由自在に書き換えられる点が大きな魅力です。これまで、HTMLに存在する要素の参照方法や属性の扱い方を学んできましたが、
前回書いてた、 一本のプログラムだけが走っていて、チャットのメッセージを監視し、条件に合ったメッセージを見つけたら決められたスクリプトを呼び出すようなのを作りたい。 つまり、自動応答のコアになるようなやつ。あとは実際の応答ロジックはプラグイン式に手軽に書く。 Skypeのチャットに自動応答するJavaScript - 今日覚えたこと というのを作った。 autoreply.js まずはメインとなるスクリプト。このスクリプトは、設定を読み込んだら無限ループをして、Skypeのチャットを監視する。そして何か発言を受信したら、設定に従って外部スクリプトを呼び出し、その処理結果を自動的に発言するもの。 // config var conf = eval_file('autoreply.config.json'); // attach Skype var skype = new ActiveXObj
はじめに Ajax(エイジャックス:Asynchronous JavaScript+XMLの略称)はウェブ上のサービスを中心に普及してきました。 皆さんの開発現場でAjaxは活用されているでしょうか? 最近はいろいろなJavaScriptフレームワークが出てきているため、Ajaxのサンプルもウェブ上に多く掲載されています。しかし、特定のJavaScriptフレームワークやWebアプリケーションフレームワークに依存したサンプルは制約も多いため、活用を躊躇しているITエンジニアも多いのではないでしょうか? この記事では、特定のフレームワークを利用せずにAjaxによるインクリメンタル検索を実装してみることで、Webアプリケーションの基礎を振り返ってみたいと思います。 今回作成するインクリメンタル検索アプリは、蔵書の検索です。完成イメージを以下に示します。 本記事は、以下の順序で進みます。 全体の
PHPでATOM、RSS1/2フォーマットのフィードが超簡単に吐き出せる「FeedWriter... 次の記事 ≫:優雅なWeb制作のためのJavaScript「yuga.js」 Taffy DB : A JavaScript database for your browser Taffy DB is a free and opensource JavaScript library that acts as thin data layer inside Web 2.0 and Ajax applications. ブラウザ上で使えるJavaScriptによるデータベース「Traffy DB」. Ajaxアプリケーションなどで、ブラウザ内で多くのデータを扱う場合に使えるライブラリのようです。 例えば、次のようにデータを検索することが出来るようです products.find({price:{
JavaScriptのデバッグ環境としては、FirefoxであればFirebugで問題ないだろう。だが、他のブラウザの場合はどうだろう。各ブラウザごとにデバッグ環境を作るのは非常に労力がかかるだろう。 そこで試してみたいのがこのソフトウェアだ。これであればどのブラウザでも利用できる可能性がある。 今回紹介するオープンソース・ソフトウェアはJackal、JavaScriptデバッグプロキシだ。 JackalはWindows向けのソフトウェアで、MirageというHTTPプロキシソフトウェアを使っている。インストールし、プロキシのアドレスをlocalhost:9889に設定すれば準備完了だ。 その状態でWebサイトを見ると、左上にJackalのアイコンが表示される。これをクリックするとデバッグウィンドウが表示される。JavaScriptの実行はもちろん、エレメントの構造を閲覧することもできる。
This file is part of the first edition of Eloquent JavaScript. Consider reading the third edition instead.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く