Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
状況 rails new で新規プロジェクトを作成 Gemfile に capybara と capybara-webkit を追加 bundle install を実行 次のエラーが発生 [vagrant@vagrant-centos65 foo]$ bundle Fetching gem metadata from https://rubygems.org/.......... Resolving dependencies... # --- 省略 --- Using capybara 2.4.4 Gem::Ext::BuildError: ERROR: Failed to build gem native extension. /home/vagrant/.rbenv/versions/2.1.3/bin/ruby extconf.rb Command 'qmake -spec lin
(2015/10/21追記) 記事を書いてから半年経ちましたが、最近はRxの良さを理解したり、ES7のasync/awaitがbabelによって実用的になりつつあったり等、またもやベストプラクティスとはなんだったのか状態です。とはいえ、いまのところPromiseは非同期処理の土台であり続けそうですし、Generatorもasync/awaitへの足がかりとして知っておくことのメリットは大きいかと思いますので、引き続き公開させたままとさせて頂きます。 (追記ここまで) 数ある非同期処理のプラクティスを試してみて、だいたいこれが良いんじゃないかというパターンが固まったので書きます。効用はコールバック地獄からの脱出と結局非同期どれが良いの感の払拭。ES6寄りです。 前提知識 JavaScript Promiseの本 http://azu.github.io/promises-book/ ジェネレ
JavaScript (Node.js) で開発する上で避けては通れない 非同期処理、コールバックについて考えてみたい。 自分なりのお勧めの方式を書いてみた。 いろいろなものを試した結果である。 ※この記事でのお勧めの方法は ES2015 (ES6) で実装された generators (yield) の技術を使用しています。 実はまだ Babel(6to5) 等を利用するか Node.js v4~v8 でしか 実質的に使用できない技術だと思います。悪しからず。 (早く全てのブラウザに広く普及する事を祈っています) まだブラウザでは独自ライブラリか Promise (Deferred) 等を使っています。 ※2015/10/15: 記事の内容を npm aa (async-await) に対応させました。 ※2015/04/19: 記事の内容を npm co@4 に対応させました。 ※20
こんにちは。きんくまです。 ORMのBookshelf.jsを調べてました。そしたら、Bookshelfの下ではKnex.jsというのがSQLを実際に組み立てているみたいです。 今回はそれについて。 その前にgulpでcoffee ビルドシステムのgulpが流行っているみたいなので、使ってみました。 あと、サーバー側だとTypeScriptで型つけてかっちり書くよりは、CoffeeScriptでサクサク書いた方が良さそうな印象をもってきたので、今回はCoffeeScriptで書いてみました。 設定ファイルもCoffeeScriptで書こうとして、エラーの書き方ではまりました。 on ‘error’ってなるのが、pipeと同じ階層だと駄目で、coffee()から返ってくるところに続けてかくのに気づかなかった、、。 gulpfile.coffee gulp = require 'gulp' c
JSON for Humans View the Project on GitHub json5/json5 JSON5 – JSON for Humans JSON5 is an extension to the popular JSON file format that aims to be easier to write and maintain by hand (e.g. for config files). It is not intended to be used for machine-to-machine communication. (Keep using JSON or other file formats for that. 🙂) JSON5 was started in 2012, and as of 2022, now gets >65M downloads/w
Node.js向けRDBを対象としたORM、Bookshelfを紹介します。 以下、Bookshelfの公式ページより: BookshelfはNode.jsのためのプロミスベースのORMです、Knexというクエリービルダーを元に実装されています。Backbone.jsのモデルとコレクションを継承する形で実装しており、トランザクション、eager/nested-eagerリレーションのローディング、polymoriphic associations、1対1、1対多、多対多のリレーションをサポートしています。 PostgreSQL、MySQL、SQLite3を対象としています。 Bookshelf.js、Knex共にTim Griesser氏によるものです。Bookshelfを利用しているプロジェクトとしては最近話題の(?)Gohstがあります。 使ってみる 実際に使ってみるのがBookshe
はじめに Knex.jsは、JavaScript用のSQL Query Builderで、Bookshelf.jsというORマッパーの基幹モジュールでもあります。Promiseベースで実装されており、トランザクションなども綺麗に書くことができます。Node.jsだけでなく、ブラウザでも使うことができるそうでかなり興味あるのですが、今回はそっちには触れずに置いときます。 Node.jsからRDBMSを使おうとすると、pgだとかmysqlだとか、各データベースシステムに対応したライブラリを使うことになると思います。しかし、これらのライブラリだけでアプリケーションを作ろうとすると、各操作ごとのSQL文をハードコードしなければいけなかったり、スキーマの変更だとかも手動だったり、変なところで時間をとられてしまい開発どころの話ではありません。 ORマッパーは嫌いではないのですが、もともとSQLを使って
bookshelf.js Bookshelf is a JavaScript ORM for Node.js, built on the Knex SQL query builder. It features both Promise-based and traditional callback interfaces, transaction support, eager/nested-eager relation loading, polymorphic associations, and support for one-to-one, one-to-many, and many-to-many relations. It is designed to work with PostgreSQL, MySQL, and SQLite3. Website and documentation.
データベースは、Webアプリケーションの作成で非常に重要です。Node.jsでも、データベースを利用するための機能はあります。ただし、標準で用意されているのではなく、アドオンプログラムを追加して利用することになります。 この種の開発でデータベースを利用するとき、考えなければならないのは「本番環境はどうなっているか」でしょう。ローカルで動いているだけではつまらないですから。 ここでは、「HerokuでWebアプリをデプロイする」ということを目標に説明することにしましょう。そのためには、まず「Herokuのデータベース環境はどうなっているか」を知らなければいけませんね。 Herokuの場合、標準でPosgreSQLが対応しています。他のものも使えないことはないのですが、基本はPostgreSQLと考えてください。 では、HerokuでNode.jsアプリからPostgreSQLを利用するための
最近仕事ではNode.jsしか書いてないtoritoriです。 お仕事でもexpressやsocket.ioを使っているのですが WebアプリケーションのテストについてWeb上にあまり書かれていないような気がします。 特にソケット接続した後のメッセージ送信/受信の部分です。 今までのようなHTTPの単純なリクエスト/レスポンスとは手法が異なりますしどうしたものかと。 そこで「自分はこんな感じでテストしてますよー」という記事を書いてみます。 裏を返せば「もっといい方法あるよ!」というのを聞きたいのです>< サンプルについて socket.ioのexample を使います。 ただし、サンプルではログイン時に遷移しない方式なので もう少し実用的な動作に近づかせるため あえてログインURLから遷移するようにし、 セッションもRedisを使うようにしてexpressとsocket.ioでセッションを
はじめに 前回から、いよいよNode.jsを使ったWebアプリケーションを作成しはじめました。前回はデータを保存および読み出す処理がなかったので、今回はデータベースとの連携を実装したいと思います。使うのはMongoDBです。リレーショナルデータベースに対して、MongoDBはドキュメント指向データベースという位置づけです。JSON構造をそのまま保存できるため、Node.jsとの親和性も高いです。簡単に導入でき、日本語ドキュメントもあるので、初めてでもすんなり使えると思います。 MongoDBのセットアップ MongoDBのサイトから、OSごとに用意されたアーカイブをダウンロードして展開してください。展開したフォルダの直下にあるbinディレクトリ内にコマンド群があるため、これらを使って操作します。サーバデーモンとなるのがmongodで、クライアントとなるのがmongoになります。 まず適当に
JavaScriptだけでページ内をゆっくりと移動する、スムーススクロールを実装する方法を説明します。jQuery不要です。
1章:jQuery入門 ├ jQueryのメリット ├ readyイベント ├ オブジェクトについて ├ メソッドについて ├ 情報の取得 ├ イベント(1) ├ イベント(2) └ 初歩的なサンプル 2章:jQuery基礎 ├ thisについて(1) ├ thisについて(2) ├ jQueryとDOM要素 ├ thisから辿る ├ イベントフロー(1) ├ イベントフロー(2) └ イベントフロー(3) 3章:jQuery発展 ├ 画像のプリロード ├ jQueryの高速化 └ メソッドチェーン 番外編:研究 ├ イベントを外す ├ セレクタの自作(1) ├ セレクタの自作(2) ├ クロージャ(1) ├ クロージャ(2) └ クロージャ(3) 概要 イベントオブジェクトでイベントを制御 jQueryでは、イベントが発生するとその情報はイベントオブジェクトで管理されます。そのためイベン
expressの使い方を逆引き形式でまとめてみた。参考にしたのは2014年2月20日時点(express 3.4.8時点)の公式ドキュメントおよびソースコード、サンプルなど。 公式ドキュメント ソースコード サンプル ルーティングを設定する ルーティングを設定するには(i.e. パスとコントローラ関数をマッピングするには)app.get(path, func)やapp.post(path, func)など各HTTP Verbに対応した関数を使う ルーティング設定は書かれた順番に評価され、リクエストとpathの一致したものが適用される pathは文字列または正規表現を指定可能 funcのシグネチャはfunction(req, res[, next]) nextはコールバック関数 引数無しnext()で呼び出すと、次に一致するルーティング設定に処理が移る 引数有りnext(object)で呼び
私達はオンラインカジノの質を測定するために異なる規則や条件を使います、そして私達はいかなるオンラインカジノについてのクレイジーな情報も決して与えません。もしカジノがうまくいけば、私達はそのカジノについしもしカジノがうまく働かなかったら、私達はまた彼らの間違いについて私達の訪問者に告げるでしょう。私達は真実について妥協することはありませ skrill 日本
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く