タグ

node.jsに関するeternal-shiningのブックマーク (23)

  • JSプログラマーのイラッとする「クセ」はESLintを導入して対処しよう

    人によって異なるJavaScriptの書き方もチーム開発では揃っていないと気持ちが悪いし、バグのもとに…。構文チェックツール「ESLint」を導入すれば、スタイルガイドに合わせたチーム開発が捗るそうですよ。 「リンティング(linting)」という言葉に聞き覚えはありますか? コードの潜在的問題を自動的に確認するためのツール(リンター)を使ったプロセスのことです。このようなツールを使用することで生まれる、重要なメリットがいくつかあります。 コードスタイルの一貫性を保つ:スペース、インデント、ブレース(波括弧)の配置などのコードスタイルの問題をリンターで確認できる。チームの同意を得たコーディングスタイルを設定ファイルに記述しておけば自動的に確認できる 潜在的エラーや良くないパターンを見分けられる:リンターは、重複変数、到達不能コード、無効な正規表現の可能性があるエラーを発見するため、より高度

    JSプログラマーのイラッとする「クセ」はESLintを導入して対処しよう
  • たった2行でサーバーとも同期できるJSデータベース「PouchDB」がアツい!

    NoSQLデータベース「CouchDB」と互換性のあるJavaScriptデータベース「PouchDB」を使えば、オフライン時はローカルに、オンライン時はサーバーに保存する処理が簡単に実装できます。Webアプリの開発が捗りそうですね。 近年、クライアントサイドのWebアプリケーションはますます洗練されてきました。ブラウザーでは絶えずJavaScriptのパフォーマンスの改良が提供され、ジオロケーション(geolocation)などのリッチJavaScript APIやピアツーピア通信によってどんどん多くのことができるようになっています。 リッチWebアプリケーションが進歩するにつれ、クライアントサイドの良好なストレージメカニズムも必要になり、最近になってPouchDBなどのJavaScriptデータベースが登場してきました。 PouchDBとは? PouchDBは、ブラウザーで快適に動作す

    たった2行でサーバーとも同期できるJSデータベース「PouchDB」がアツい!
  • step by stepで始めるwebpack - Qiita

    webpack1系の記事です。 1→2への移行ガイドを見る限り破壊的な変更点はそんなにありませんが、preLoadersやpostLoadersがなくなっていたり、差が出ていますのでご注意ください。 https://webpack.js.org/guides/migrating/ webpackを手を動かしつつ学べる初学者向け資料を作成しました。 公式のチュートリアルもあるのですが、webpackが使用されているOSSのボイラープレートを見る限り、世の中の使われ方に沿ってないかも?と思い書きました。 これから始める人の手助けになれば幸いです。 また最終形のソースをupしてあるので詰まったら見てください。 webpackとは webpack で始めるイマドキのフロントエンド開発の説明が良かったので引用させていただきます。m(_ _)m webpack は WebApp に必要なリソースの依

    step by stepで始めるwebpack - Qiita
  • Read Understanding ECMAScript 6 | Leanpub

    Introduction The JavaScript core language features are defined in a standard called ECMA-262. The language defined in this standard is called ECMAScript. What you know as JavaScript in browsers and Node.js is actually a superset of ECMAScript. Browsers and Node.js add more functionality through additional objects and methods, but the core of the language remains as defined in ECMAScript. The ongoi

  • いまさら聞けないReact、Virtual DOM、JSX超入門

    Reactとは――その3つの特徴 「React」はFacebookが公開している、ユーザーインタフェース(以下、UI)を効率的に構築することを目的としたWebフロントエンドフレームワーク(JavaScriptライブラリ)です。 Reactには、次のような特徴があります。 シンプル Reactを使ってUIを実装すると、「アプリケーションがどのように見えるか」を単純に表現できます。 叙述的 コンポーネントの状態がReactによって管理され、データに変更があるときには更新の必要があるコンポーネントだけ更新されるようになります。そのため、効率的にレンダリングさせることができます。 コンポーネントベース 「状態」の管理がカプセル化されたコンポーネントを使って、複雑なUIを構築することができます。コンポーネントの組み合わせでアプリケーションを構築することにより、コードの再利用やテストなどを実施しやすく

    いまさら聞けないReact、Virtual DOM、JSX超入門
  • 【Android】リアルタイム通信へ挑戦

    スマートフォン向けアプリ開発やサーバサイドの開発に関する技術ブログです。 エンジニアdommyのつぶやきは@shonanshachu、ソースコードはGitHubで配信中。 Android Advent Calendar 2012に参加したdommyです。 2012年もあと2日、今年も山あり谷ありの1年でした。 12月30日はすでにAdvent Calendarに載るべき日付でも無いですが、 Androidに関する記事ならなんでも良いとの事だったので、 リアルタイム通信関連の記事を書いてみたいと思います。 前提として、Androidでの通信といえばHTTPになります。 これはクライアントからのリクエストに対して、サーバがレスポンスを返すという形で、 サーバからリクエストする事は出来ないので、 リアルタイム通信とは違います。 socket通信AndroidはNDKを使えばC言語でも実装可能なの

    【Android】リアルタイム通信へ挑戦
  • Titaniumのログをブラウザでリアルタイムに確認するライブラリ作った。 - しかじろうがプログラム作るよ!

    しかだよ。 Titaniumで作ったアプリの実機ログを有線で確認するのはめんどいので、ブラウザで見れるような仕組みを作ってみました。 アプリのログをリアルタイムに送信するライブラリ(client)と、ブラウザでログをリアルタイムに受信して確認するライブラリ(server)の2つセットです。 https://github.com/shikajiro/ti.console install方法 README.mdを見てね。 使い方 これもREADME.md を見てね。一応以下で簡単に説明します。 クライアント側 requireでconsoleライブラリを利用可能にします。 app.js var console = require('lib/console'); console.info('hogehoge'); サーバー側 コンソールからmongodbとnodejsを起動します。 mongod

    Titaniumのログをブラウザでリアルタイムに確認するライブラリ作った。 - しかじろうがプログラム作るよ!
  • Node.js チュートリアル | Node ビギナーズブック

    書について 書は、Node.jsでのアプリケーション開発を始めようとする皆さんに、 ”高度な”JavaScriptについて知るべきあらゆることを解説します。 よくある”Hello World”チュートリアルの、はるか上をいくものです。 ステータス 貴方が読んでいるのは、書のいわゆる最終版となります。 つまり書は、間違いが見つかった場合や、 Node.jsの新バージョンにおえる変更点を反映する時のみ、改訂されます。 最終更新日は2012年2月12日です。 書内のコードのサンプルは、Node.jsのバージョン0.6.10でテストしています。 ターゲット読者 書は、RubyPythonPHPJavaのような、少なくともひとつのオブジェクト指向言語を理解しており、 JavaScriptについてはあまり経験がなく、Node.jsについては全く経験がないという、 著者と同じようなバッ

  • node.js とは何か - I am bad at math

    期せずして久々の更新になってしまった。ブログを書く気がなくなったとかそういうのではなくてただ単に忙しかっただけ。その間、まぁ仕事が予期せぬ方向から炎上してみたり、事故をもらって愛車が全損したり(フロントガラスが全面熱線入りなんていう変なオプションなどを諸々付けていたからお気に入りだったのに)と決して良いことばかりで忙しかったわけではないけどね! で、今回は node.js のお話。異様な盛り上がりを見せているものの、じゃぁそれっていったい何かというと「JavaScriptを用いたNon-blocking I/O環境」という非常にシンプルなものだ。 その根底には「うまくスケールできること」と「動作が速いこと」という理念が見受けられる。 まず「うまくスケールできること(多量のアクセスを捌けること)」を解決するにあたり、まずはスレッドモデルか、イベントループかという問題があった。そこで auth

    node.js とは何か - I am bad at math
  • Node.jsのコンセプトとは? ライアン・ダール氏による東京Node学園祭 基調講演(前編)

    このセッションでは、前半でNodeのコンセプトを、後半では来週にもリリース予定のNodeの新バージョンについて紹介します。 このデニス・リッチーの言葉はNodeの特徴を表していて、Nodeとは機能を加えるよりもむしろ取り去ったものです。 いまのOSのインターフェイスのほとんどは、1970年代のテレプリンタのような歴史をひきずっています。ケン・トンプソンとデニス・リッチーが開発したUNIXやCは当時のPDP11のためにデザインされたもので、いまのOSもその歴史上にあるのです。 UNIXの基概念は、対話的なコマンドラインを作るものでした。lsコマンドを打つとその結果がテレタイプに出力されるといったものです。そして基概念には、ブロックするシステムコールやプロセスが含まれています。 ブロックするシステムコールを呼び出すと、I/Oが完了するまで戻ってきません。戻ってくるまでどれだけかかるかも分か

    Node.jsのコンセプトとは? ライアン・ダール氏による東京Node学園祭 基調講演(前編)
  • fluent + mongodb + node.js でwebアクセスの準リアルタイム解析 | Day After Neet

    SEO対策(笑)としてギーク界隈で流行の言葉を3つ並べてみただけです。いや...ううん釣りかどうかは記事で判断してください。 先日「 東京node学園祭2011 」というイベントを聴講して、fluent + mongodb + node.js の組み合わせは、BtoC系の色々...

  • JSON でカンマを要素の先頭に書くことがあるのはなぜか - わからん

    node.js の package.json で、次のような書き方をよく見かけます。 { "name": "example-app" , "version": "0.0.1" , "private": true } JSON でカンマを、名前:値のペアの前に配置する理由がわからず tweet したところ、@sugyan さんと @Jxck_ さんにいろいろ教えていただきました。その共有です。 追記 A better coding convention for lists and object literals in JavaScriptGist

  • Node.jsがどうして注目されているのか、もしくはどうして他のサーバサイドJavaScriptはスルーされているのか - id:anatooのブログ

    サーバサイド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はスルーされているのか - id:anatooのブログ
  • Webサイトの魅力を増すリアルタイムコラボレーションを手に入れろ!·ShareJS MOONGIFT

    ShareJSはリアルタイムコラボレーション機能を任意のWebアプリケーションに追加するソフトウェアです。 Webアプリケーションの醍醐味と言えばコラボレーションにあります。チャットのようなシンプルなものもあれば、一つのファイルを複数人で編集したりするのも面白いです。今回紹介するShareJSはその基盤になり得るソフトウェアになります。 こちらはテキストを複数人で同時に編集できるデモです。行番号があるタイプになります。 こちらは行番号がないタイプ。データはリアルタイムに反映されます。 リードオンリーの表示。編集できません。 Markdownでの表記にも対応しています。 WebベースのIDE、Aceと一緒に組み込んだ例。シンタックスエラーが格好いいです。 リアルタイムプレビューのデモ。リードオンリーと編集を同時に組み合わせています。 ヘッダもなくシンプルなデザインにも適用。 ゲームにももちろ

  • node.jsでライトなWebアプリケーションを組むのに最適なフレームワーク·Strata Web Framework MOONGIFT

    Strata Web Frameworkはnode.js用のWebフレームワーク。Sinatraライクな記述ができる。 Strata Web FrameworkはJavaScript/node.js製のオープンソース・ソフトウェア。Webアプリケーションを開発する際に開発効率を向上するフレームワークの存在は欠かせない。だが何でもできるフレームワークというのは総じて大型で、ちょっとしたものを動かすのは向かないことが多い。 コード そこで注目したいのは小さなWebアプリケーションを開発するためのフレームワークだ。Rubyで言えばSinatraが人気だ。そんなSinatra風フレームワークのnode.js版と言えるのがStrata Web Frameworkだ。 素のnode.jsを使ってWebアプリケーションを構築することはもちろんできるが、よりシンプルにしてくれるのがStrata。クエリパラ

  • Node.jsのために知っておくべきJavaScriptの基本3選

    node.js上でコードを書くため、JavaScriptをしっかり復習したりnode.jsの制御フローを知るための読むべきページのリストです。 JavaScriptそのものの復習http://ejohn.org/apps/learn/John Resigさんの書かれたチュートリアルがわかり易いと思います。 JavaRubyなどの言語を普段使っている方で、JavaScriptのプロトタイプベースのオブジェクト指向に親しみのない方は一読です。またJavaScriptに詳しい方も、GoogleのClosureでコードの最適化を行う際に問題を起こしにくいinheritanceを書くために、Michael Bolinさんの「Inheritance Pattern in JavaScript」を読んでみることをすすめます。http://www.bolinfest.com/javascript/inh

  • Node.jsとは何か、開発者ライアン・ダール氏が語る(前編)~ノンブロッキングとはどういうことか?

    いま注目されているサーバサイドJavaScriptの火付け役となったNode.js。その開発者であるライアン・ダール(Ryan Dahl)氏自身がNode.jsを紹介した講演「Introduction to Node.js with Ryan Dahl 」のビデオが公開されています。 この講演は、サンフランシスコのPHP開発者の集まりであるThe SF PHP Meetup Groupが2月にダール氏を招待して行われたもの。 そのため、Node.jsを知らないデベロッパーに向けて、Node.jsがどのような特徴を持つプログラミング言語なのか、分かりやすく解説しています。内容を紹介しましょう。 Node.jsとPHPとの質的な違いとは何か Node.jsを触ってみよう。今日は特にスライドは用意してなくて、タイプしてどんなものかを動かしながら紹介していくつもりだ(注:ダール氏はここで最初に「

    Node.jsとは何か、開発者ライアン・ダール氏が語る(前編)~ノンブロッキングとはどういうことか?
  • 初心者にも分かる Node.js と WebSocket についての解釈まとめ

    解釈が間違っている点がある可能性が御座いますのでご了承くださいませ。記事の内容としては「Node.js なら他のサーバよりもこんなに簡単に WebSocket が扱える(ライブラリがある)」というような内容となっていますので、ご了承いただければと思います。 Node.js って何? Node.js についてよくわからず最初は以下のページを読んでました。 Node.jsに関する基礎や開発・チュートリアルのまとめ:phpspot開発日誌 例えば、ログイン中の2人がいて、1人がチャットのリクエストをしたとします。でもラグが30秒ほどあって、気付かずに閉じちゃうなんてことがなくなります。 メンバーAのブラウザがメンバーBのブラウザに直接プッシュするってことかと最初は思っていましたが違いました。この点について深く考えていくこととなります。 Node.js を使うと何ができるのか node.js を使

  • 今日から始めるCoffeeScript - KAYAC Engineers' Blog

    こんにちは。毎年花粉症になりかけている飯塚です。 最近のNode.jsの普及などによってサーバサイドJavaScript界隈が盛り上がっています。 そんなホットなJavaScriptをラクにかつエレガントに書くためのCoffeeScriptという言語をチュートリアル風に紹介します。 何かしらのライブラリを自分で書く程度にJavaScriptで開発している人は絶対に使ったほうがいいと思います。 JavaScriptを知っていれば1-2時間程度で十分駆使できるようになります。 (2011/6/28:@m_satyr様にご指摘頂いた箇所を修正しました。) 目次 CoffeeScriptとは? インストール Hello World 構文 関数 変数展開 Objectの生成 ループ 存在チェック ヒアドキュメント thisのバインド クラス 無名関数 {var} Tips ?の使い分け 存在チェック

    今日から始めるCoffeeScript - KAYAC Engineers' Blog
  • サーバサイドJavaScriptの本命「node.js」の基礎知識

    稿では、Node.jsの特徴や動作原理に触れ、サンプルや役に立つパッケージ、活用事例などを紹介したいと思います。 主なサーバサイドJavaScript Node.jsに触れる前に、予備知識として他のサーバサイドJavaScriptにも触れておきます。Node.js含め、サーバサイドJavaScriptには、主に以下のようなプロジェクトがあります。 サーバサイドJavaScripの標準仕様「CommonJS」とは サーバサイドJavaScriptには、「CommonJS」と呼ばれる標準化が策定されています。標準化というと難しい感じがしますが、要はサーバサイドでJavaScriptを実行するのに何が必要かを仕様として、定義しているドキュメントのことです(例えば、「ログが必要だよね」など)。 Node.jsは、このCommonJSに則って開発されています。現段階であれば、CommonJSの仕様

    サーバサイドJavaScriptの本命「node.js」の基礎知識