Node.jsでObjectをconsole.logした時に、[Object, object] と出てしまう時があります。その中身がみたいですよね。PHPに例えるとのvar_dumpに相当する方法です。 js 1 2 3 4 5 // utilモジュールを使います。 var util = require('util'); // inspectで中身を見ることができます。 console.log(util.inspect(object)); とても簡単ですね! js 1 2 3 4 5 function dump(v){ return console.log(util.inspect(v)); } dump(object); こんな感じにメソッドを作っておいて、console.logの代わりに使ってしまうのもありですね。

続きを読む

前回の、 【Node.js】OAuth認証でPassportが最強に使いやすい の続きです。今回は準備から実際にコーディングのところまで説明します。 検証、制作環境など Mac OS 10.6 ターミナル.app node.js -v v0.8.4 express version 3.0.0rc3 jadeを使いたいと思います。 node-oauth node_modules localhost:3000で検証 さっそく準備をします。 # expressでnode-passportとう名前のディレクトリを作ります。 # 名前はなんでもいいですが、今回はそうします。 # -sでオプションでセッションをつけます。 $ express -s node-passport # node-passportに移動してnpm installします。 $ cd node-passport $ npm install # passport, passport-facebook, passport-twitterのmoduleをインストール。 $ npm install passport $ npm install passport-facebook $ npm install passport-twitter これで準備完了です。app.jsを開いて、コードを書き足していきます。 app.js 1 2 3 4 5

続きを読む

まず何が最強なのかは対応しているSNSがズラッと! Local (username and password) BrowserID OpenID OAuth (OAuth 1.0 and 2.0) SAML by Henri Bergius WS-Federation + SAML 2.0 by Auth10 WebID by Baptiste Lafontaine 37signals 500px by Jeremy Benaim AngelList AOL App.net by Michael Owens Bitbucket DailyCred by Hank Stoever Digg Dropbox Dwolla Evernote Facebook FamilySearch Fitbit Flattr by Johan Uhle Flickr by Johnny Halife Force.com (Salesforce, Database.com) by Joshua Birk Foursquare FreedomWorks by Carlos Rodriguez Geoloqi GitHub Goodreads Google (OpenID) Google (OAuth 1.

続きを読む

いままで、FlashのActionScript3.0や、Ajaxを使ったり、PHPなんかも駆使してOAuthを実装していました。node.jsではnode-oauthというモジュールを使えば、いとも簡単にOAuth認証ができてしまいます。いとも簡単とはいえ、はまったところがありましたので、今回はnode-oauthを使ってTwitterをOAuth認証する方法と、はまってしまったポイントを抑える内容にしたいと思います。下記の参考サイトに載っていたソースを元に補足します。 参考サイト - http://moonlitscript.com/post.cfm/how-to-use-oauth-and-twitter-in-your-node-js-expressjs-app/ - ciaranj/node-oauth · GitHub - https://github.com/ciaranj/node-oauth 検証、制作環境など Mac OS 10.6 山ライオンって強いの?(´・ω・`) ターミナル.app node.js -v v0.8.4 express version 3.0.0rc3 node-oauth node_modules localhost:3000で検証 TwitterのOAuth認証ができるまでの手順 dev.twitter.comで「Create an app」します。 Website:にはlocalhost:3000を入力したいところですが、Twitterの入力フォームで弾かれるので、localhostと同じURLのhttp://127.0.0.1:3000を入力します。 Callback URL:には、http://127.0.0.1:3000/auth/twitter/callbackと入力しておきます。 必要な情報を入力して、Consumer keyとConsumer secretを取得します。※1 ターミナル.appを開いて、express -sセッションオプションを付けて雛形を作ります。※2 node-oauthをnpm installします。 app.jsを開いて、コーディングします。 $ node app.js でサーバーを立ちあげてアクセスします。 ※1:Consumer keyとConsumer secretの扱いは大切に。 ※2:expressでセッションを使うオプションを使うところが重要なポイントです。 node-oauthのインストール方法 やはり毎度おなじみnpmを使います。expressを使って雛形を作るまでやってみましょう。 //-e はejs、-sはセッションを使うオプション $ express -e -s oauth_sample create : oauth_sample create : oauth_sample/package.json create : oauth_sample/app.

続きを読む

node.jsで使える便利なモジュールはたくさんあります。node-validatorもその1つで、入力した値の検証(バリデート)と、無害化(サニタイズ)してくれるモジュールです。前回と前々回でチャットに関しての記事を書きましたので、今回は簡単にnode-validatorの紹介と、チャットのサンプルにnode-validatorを適応させたいと思います。 https://github.com/chriso/node-validator チャットでサニタイズしなかったらどうなるか。 前回と前々回の記事では、サニタイズをしていないので、例えばタグを入力してボタンを押して見ると、 html 1 2 3 <h1>こんにちは!</h1> <img src="http://0.gravatar.com/avatar/50dcad2670fb76d401e699e09101d87e?s=500" width="150"> <script>alert('ぼえー')</script> このようにタグがそのまま出たり、悪意あるJavaScriptを実行してしまって、cookieを書き換えられたり、同じページを開いている人にも悪い影響が出てしまう可能性があるので良くないです。これを防ぐ為に、サニタイズをします。 node-validatorのインストール方法 毎度おなじみnpmを使います。 $ npm install validator チャットにサニタイズを適応させる。 Mongooseを使わないバージョンで試してみたいと思います。前々回の【node.js】socket.ioを使って簡単にチャットを作る方法から持ってきます。 $ git clone https://github.com/cotapon/chat-socket_io-sample $ cd chat-socket_io-sample $ npm install validator node_modulesの中にvalidatorが入っているのを確認して、app.jsを編集します。 app.js 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

続きを読む

前回の【node.js】socket.ioを使って簡単にチャットを作る方法の続きです。今回はチャットした内容をデータベースに保存する方法です。こうすることによって、一回ブラウザを閉じて再度開いた時に閉じる前のメッセージが残っていたり、途中から参加した人も今までのメッセージが読めるようになります。いくら保存できるようになったとしても、製品レベルには程遠く、脆弱性対策もしていないので、今回は、node.jsでMongoDBを使うことと、MongoDB のオブジェクトモデリングツールであるMongoose(マングース)の使い方のポイントだけを抑えて頂ければと思います。 今回のポイント Mongooseをインストールして簡単な使い方。 チャットのメッセージを保存する。 ブラウザを閉じてもメッセージが残っている。 メッセージを削除する。 削除したメッセージは、相手にも削除されるようにする。 ※予めMongoDBが使える状態にしててください。 必要なnode_modules ejs express mongoose socket.io Mongooseのインストール インストールはいつものnpmでめっちゃ簡単にインストールできます。 $ npm install mongoose app.jsを編集 前回の【node.js】socket.ioを使って簡単にチャットを作る方法のソースからMongooseの追記だけをしたサンプルです。 app.js 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

続きを読む

※この記事の続きもよくご覧いただいてます。※ 【Node.js】Socket.IO+MongoDBを使って保存できるチャットを作る方法 なんとかチャットを作ることができるようになりました。まだ仕組みの表面しか理解できてないかもしれませんが、入り口には立てたと思います。ただソースを落としてきて、「あー動いた。」でもいいんですが、僕は分からなくてもソースを書いていけば、そのうち理解できるかもという非効率な勉強法が好きなので、^-^; 同じ方がいらっしゃればお役に立てる内容になればと思います。 ソースコード https://github.com/cotapon/chat-socket_io-sample 環境 MacOS 10.6.8 ターミナル.app node v0.6.11 or v0.8.4 ※ npm v1.1.45 express v2.5.11 socket.io v0.8.7 ※node.jsのバージョンによっては、socket.ioが繋がらないなどの現象があります。今回はv0.6.11と、2012年7月31日現在の安定版、v0.8.4でも検証して成功しました。 node.jsのバージョンを確認 まず、node.jsのバージョンを確認しましょう。 $ node -v v0.6.11 もし、v0.6.x以下でしたら、うまくexpressとsocket.ioが繋がらない可能性がありますので、node.jsのバージョンを上げます。 参考にnvmという、node.jsのバージョン管理ツールで変更する方法をメモします。 nvmがインストールされていないかたは、こちらの記事を御覧ください。 //node.js v0.8.4をインストール $ nvm install v0.8.4 //インストールしたバージョンを使います。 $ nvm ues v0.8.4 Now using node v0.8.4 //ターミナルを閉じても使えるようにしておく $ nvm alias default v0.8.4 default -> v0.8.4 npmをインストールする。 ※既にnpmが入ってる方は、ここの項目は飛ばして下さい。 //npmをインストール $ curl http://npmjs.

続きを読む

プロフィール画像

こたぽん

JavaScript, React, NextJS, VueJS, NuxtJS, AWS, Firebase, Git, ビールと生ハムが好き

Rakuten, Inc. CyberAgent, Inc.