You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
Backbone.js deserves a lot of credit for bringing MVC to mainstream client-side Javascript development. That said, many beginners ask what the ‘right way’ of doing something with Backbone is. The bad news is that there’s not necessarily a ‘right way’ – it all depends on the problem you are trying to solve. The good news is that there are definitely some ‘wrong ways’ that you should avoid on your w
この記事は、 Node.js Advent Calendar 2013 の14日目です。 Yeoman とか tig とか触ってるとおしゃれなコマンドラインインターフェースだな〜、と思うことはありませんか。 ぼくもそんなおしゃれCLIを作ってモテたい!! そんなおしゃれCLIを作るためのnpmモジュールについて調べました。 terminal-menu substackさんが作った、stream-adventureの中で使われてるモジュール。 (趣旨は違うけど、stream-adventureはNode.jsのstreamの概念を学ぶのに非常に良い学習ツールです。ちなみに npm install -g stream-adventureでインストールできます。) terminal-menuは超シンプルなモジュールで、基本的な機能としては、上下キー、vimバインドのjkキーでメニューを選択できる
この記事は Node.js Advent Calendar 2013 - Adventar の15日目です。 Node.js については最新の安定版 v0.10.23 を元にしています。 http_parser とは Node.js の初代ゲートキーパー Ryan Dahl が開発したC言語で書かれた http parser です。 このライブラリは Node.js の Addons と同様 v8 が C++ と JavaScript を繋ぎこむ仕組みを利用して読み込まれています。 Python の meinheld や RuBy の bossan といったサーバでも利用実績があるようです。 Node.js では http クラス内部で利用されています。 http_parser の基本的な使い方 Readme.md や test.c をご確認ください。 Readme.md に書かれている通
こんにちは、@nazomikanです (この記事はNode.js Advent Calendar 2013の10日めの記事です) nodeでテンプレートエンジンといえばjade その一方で公式ドキュメントで書かれていることだけではだいたい痒い所に手が届かないのでissueから拾い集めたノウハウとか将来的な話とかを書きます 属性の存在が条件によって分かれるケースの書き方 urlが存在するときdata-url属性をつける //truthy: <p data-url="xxx"> //falsy: <p> in jade: p(data-url=(url ? url : false)) 属性の値が条件によって分かれるケースの書き方 boolがtruthyの時はclass="is-show"を、そうでない時はclass="is-hide"をつける //truthy: <p class="is-sh
KnockoutJSを使った開発を1年ほど前に行っていました。 元々はプロトタイピングだけに使う予定でしたが、使い勝手が良かったのでそのまま本開発に取り込みました。 最近、少しAngularについても調査をしていたので、Knockoutと比較できる部分も書きだしてみました。 KnockoutJSの長所/短所、そしてAngularJSとの比較となります。 長所:双方向のデータバインディング Knockoutの最大の長所は、間違いなく強力な双方向のデータバインディングと言えます。 この凄さを試したければ本家サイトのExample各種を試すと良いかもしれません(参考URL)。 あるいは自分自身でサンプル・アプリケーションを作るといいでしょう。 すぐに虜になるはずです。 DOMとJSのモデルを紐付けて、整合性をとる処理を全てフレームワーク側が吸収してくれます。 JS側の記述がシンプルになるので、ア
この記事は、 Node.js Advent Calendar 2013 - Adventar の12日目です。 1. ありがとう Ben Nodeの情報に普段アンテナを張っている人は既にご存じでしょうが、Nodeコア開発の中心的エンジニア Ben Noordhuis がNodeのコアチームから離れました。Node.jsの公式ブログに「Ben Noordhuis's Departure」としてアナウンスされています。 なぜ彼がNodeの開発を止めなければならなかったのかその経緯をここで述べることは控えますが、彼のこれまでの貢献なしでは今のNodeは存在し得なかった、と言えるほど彼は重要な存在でした。Benは、Nodeやlibuvのコードの開発だけでなく、github の issue の回答やPRのレビュー、 MLの質問の返答などNodeコミュニティにも精力的に対応し、去年来日した isaac
「CoffeeScript を SuperCollider みたいに処理をしよう ♪♪」をコンセプトに開発していたブラウザ音響プログラミング言語 CoffeeCollider をリリースしました。音響プログラミング言語ということで、とにかく試して聞いてもらうのが手っ取り早い。以下のリンク先で "BOOT" と "RUN" すれば深夜っぽい音が鳴ります。 CoffeeCollider で、なんなの? SuperColliderってなんだ?という人には 言語 & ライブラリ & 実行環境 という意味で processing.js の音楽版と言った方が分かり良いかもしれない。とにかく音がでる。音しかでない。とにかく音を出してほしいという気持ちで作った。最初はいい加減な気持ちでやっていたのだけど途中から結構がんばりだして、最終的にはカレーを食べにいく趣味ができました。 CoffeeScript拡張
December 12, 2013 Introduction A trend proliferating amongst prototypers in the Angular community is full-stack JavaScript development via the MEAN stack. The acronym stands for: (M)ongoDB - a noSQL document datastore which uses JSON-style documents to represent data, (E)xpress - a HTTP server framework on top of Node, (A)ngular - as you know, the JS framework offering declarative, two-way databin
この記事はNode.js Advent Calendar 2013 - Adventarの8日目です。 一日で二つかぶってしまった…。 Scaffoltはテンプレートジェネレータです。Chaplin.jsやBrunchで使われていて、作者はいずれも @paulmillr 氏です。Githubでのアクティビティがくっそ高いです。 簡単に言うと、handlebarsで展開できるRailsのscaffoldみたいなもんです。 インストール $ npm install -g scaffolt 使い方は簡単で、project_root/generators/ 以下に何がどこに展開されるかというjsonを書いて、各ファイルをhandlebarsで展開し scaffolt <generator名> <名前> みたいに入力するだけです。 generator.json { "files": [ { "fro
前置き この記事は Frontrend Advent Calendar 2013 の7日目です。 意見表明を避けてたジャンルだけど、俺流Backbone.jsとの付き合い方と、それを反映したライブラリについて書いてみる。大半が夏前に書かれていたけど、イマイチで放置してた系を掘り起こした! 職場近くに俺流塩らーめんというお店があって、そこの熟成塩ラーメン(¥680)が、スガキヤのラーメン(¥280)に近い味してる気がする。¥400余分に払っても価値がある。 巷ではdata bindingsだとかMV*の在り方に関心が集まっている昨今、マイペースにAOP風(記述言語がないので実装はmixin...)とか、Viewの領域管理の表現に腐心していた。 今の時点ではこれがベストとは思っておらず、つまるところ Marionette.js あたりを上手に使うことに注力すれば良さそうというのが結論だ。そこに
最初に僕のポジションは表明しておくけど、今までbackbone.js, というかそのラッパーであるchaplin.jsべったりの環境で開発してて、今のプロジェクトをゼロから作り直す機会があるので次バージョンのためのライブラリ選定のためにとりあえず比較として angularを試した見た程度の人間なので、深くは理解してない。 Angularのメリット 僕の浅い理解と勉強会での話を総合した感じ レールに乗り切った時の開発効率が半端ない レールがしっかり敷かれているので開発者の能力差が問題にならない HTMLがテンプレートなので意味的な乖離が少ない ビューモデルに対する操作が一貫していてテスタビリティがある 自分もモジュラリティがあるHTML/CSSは幻想だと思っているので、HTMLに直接属性を書くのは別に構わないと思っている。 ただ、集団開発でも開発者の能力差が問題にならない、という発表をしてい
Node.js Advent Calendar 1日目です。まだ空きがありますので、Node.jsネタあるよーという方ぜひ参加してみてください。 Node.js Advent Calendar 2013 さて、この前のNode学園祭2013のLTでもちょっと話したんですが、nodebrewにexecというコマンドを追加しました。 execを使うと一時的に別のバージョンでNode.jsを実行することができるようになります。 $ nodebrew exec <version> -- <command> 例えばこんな感じ。 # 今使ってるバージョンは v0.10.21 $ nodebrew ls v0.8.26 v0.10.21 current: v0.10.21 # たしかに v0.10.21 $ node -v v0.10.21 # execで一時的に v0.8.26 を使いたい $ nod
HTML5 Conference 2013 において発表したスライドです。 Knockout.js について簡単に説明しています。
こんにちわ。セイカイです。 JavaScriptは簡単に動いて取り回しの柔軟な言語ですが、開発のスケールを考えると中々辛いところがありますね。 というところで、今回はTypeScriptの導入に関するお話です。 実際導入するにあたってのポイントなどを紹介したいと思います。 目次 導入にあたって 導入の目的 メリット デメリット まとめ 導入の目的 AltJSの導入目的は、JavaScriptはclassが無かったり、自由度が高すぎたり、書き方が統一し難かったりと大きな規模での開発に適用し辛いという部分が大きなところではないでしょうか。 私がTypeScriptを使い始めた理由も上記同等となります。 尚、AltJSの中でTypeScriptを選んだ理由としては下記のようなものになります。 既存のJavaScriptとの親和性 JavaScriptからTypeScriptで作成したコードの
Marionette.jsはBackbone.jsのラッパー的なライブラリです。 Backbone.jsの問題点 Backbone.jsは割と自由度が高いフレームワークなのですが、 それ故に中規模以上のプロジェクトで使おうとすると 設計が難しい(ベストプラクティスがわからずオレオレ実装になる) 初期化やインスタンスの管理が面倒 Viewは同じような処理が増える(で基底クラスにまとめたりする) といったデメリットがあります。 実際僕もよくわからないまま初期設計をした結果 大きな技術的負債を作ってしまった事がありました。 Marionette.js Marionette.jsはBackbone.jsと比べて抽象度が高く、 モジュール機構、CollectionView、Viewのデストラクタなど 独自実装になりがちな機能を提供してくれます。 これらを使う事で上に挙げたようなデメリットを回避し B
DOMオブジェクトには昔からdispatchEventとか,addEventListenerとかあって,最近だと,node.jsのEventEmitterとか,jQueryのon, triggerを使って自作のオブジェクト間でアプリケーション的に定義されたイベントをやりとりできる. これまで,自作オブジェクトからイベントを発行するのに,jQueryのtriggerを使ってたけど,意図しない挙動をすることがあることが分かって,triggerHandlerを使うように変えた. jQuery.trigger()は,イベントタイプと一致する関数をレシーバが持ってるとき,その関数が呼ばれる. イベントのやりとりと,メソッドの呼び出しは独立しているというイメージがあったので,うっかり同名のメソッドを定義したときに,一見するとよく分からない挙動になって,難しい. なので,自作オブジェクトがイベントを発行
こんにちは、斉藤です。 前回までのラズベリーパイは一旦置いておいて、今日は別の話でブログを書きます。 そう、Node.jsです。 Node.jsと言えば、WEBサーバーとして立てる方も多いと思いますが、ちょっとした別の使い方もあります。 ということで、今回はWEBアプリの開発に役立つNode.jsの便利なモジュールをご紹介します。 みんな使っているあのモジュールや、知らなかった便利なモジュールがあるかも!? それでは、ご覧下さい! ライブラリダウンロード webアプリと言えば、色々なJSライブラリですよね? これらをいちいち公式ページをブラウザで開いて、ダウンロードしてくるのは面倒ではないですか? そんなときに役立つのがこちら! pulldownというモジュールをインストールしましょう。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く