JavaScript

jQueryで複数のイベントを割り当てる

何度も使っているのに、ちょっと使わないと忘れちゃうのでメモ。「複数のイベントを割り当てる」といっても二つの意味があって、それぞれ 複数のイベントに1つのイベントハンドラ(メソッド等)を割り当てる 複数のイベントそれぞれに個々のイベントハンド…

Node.jsのjQueryでTypeErrorが出た場合の解決方法

ローカルではMacで開発していまして、CentOSにデプロイした際に以下のエラーが出てjQueryが動きませんでした。 TypeError: Cannot read property 'prototype' of undefined node_modules自体を削除し、npm installで再インストールしてみましたが、変化無し…

Node.jsとApache連携の際のBasic認証

「ApacheとNode.jsを連携させる - ZeBeVogue別館」で少しの間運用してみていたのですが、Basic認証が必要になったのでやり方を残しておきます。Node.jsのモジュールで認証させる事もできますが、せっかくApacheと連携しているので、ここはApacheでやってもら…

Node.jsでjQueryを利用する

JavaScriptでのDOM操作とかをクライアントでjQueryを使っていると、サーバ側でも使いたくなります。何せ楽ですからね。 という事で、jQueryを使ってみました。

Node.jsでの画像処理

「Node.js/ExpressJSでのファイルのアップロード - ZeBeVogue別館」でファイルのアップロード方法を確認しました。画像ファイルはアップロードした後に何かしらの処理を加える事が多いですので、画像処理の方法を調べてみました。調べた中で一番簡単だったの…

Twitter Bootstrapのカルーセルをキーボードとスワイプで操作

Twitter Bootstrapはレスポンシブレイアウトに対応しています。ですので、PC用とモバイル用のサイトを兼用で作るのが非常に楽です。 ですが、その際に気をつけないといけないのがユーザビリティです。当然PCとモバイルでは使われるアクションが異なる為、異…

node.exeのnpm updateでエラー

Windows側でも設定しようと公式サイトからダウンロード、npm updateをしようとしたら、ディレクトリを削除できない旨のエラーが起きた。よくよく考えたら、コマンドプロンプトの実行権限がユーザ権限だったためでした。という事で、スタートメニューの「Node…

Twitter Bootstrap向けの日付範囲指定プラグイン

Bootstrapを使っているなら使いたいプラグイン。 使い方も以下の様に簡単そう。 <input type="text" name="reservation" id="reservation" /> $(document).ready(function() { $('#reservation').daterangepicker(); }); 便利なのは、開始日以前の日付を終了日に選択できないという点かな。また、以下の様に固定で選択…

Node.js/ExpressJSでのファイルのアップロード

これも良く使う処理ですね。 expressコマンドで作成していきます。 $ express -e upload $ cd upload && npm install

nodeコマンド以外の起動コマンド(node-dev/forever/npm start/npm test)

通常Node.jsでのスクリプト起動コマンドはnodeコマンドです。しかし、nodeコマンドは下記の理由で使いづらい点があります。 リソースの変更時には、スクリプトの停止・起動が必要 エラー等によって停止してしまい、永続しない 加えてnpmコマンドからの起動方…

ApacheとNode.jsを連携させる

サービスで使っているポート番号をiptablesで許可してあげればサービス自体は動く。が、それじゃ格好悪いし、セキュリティ上余計なポートは開きたくない。という事でApache経由でNode.jsにアクセスする方法をまとめました。

CentOS上でのBcryptのインストール

先の記事でCentOS 5.8にNode.jsをインストールし、MongoDBをUTF8対応しました。やっと環境が揃って、作ったアプリを確認していたらユーザ認証でNodeが落ちてしまいました。 /var/www/****/node_modules/bcrypt/node_modules/bindings/bindings.js:79 throw e…

CentOS 5.8にNode.jsをインストール

Node.jsのインストールには以下の通りいくつか方法があるようです。 ソースからコンパイル nvmからインストール 公式サイトバイナリをインストール yumでインストール 複数のバージョンを入れられるnvmが便利なのですが、CentOS 5系だとPython 2.7.3を入れる…

Node.js/PHPでの様々な文字列ハッシュの生成

認証まわりで確実に必要になるハッシュの生成方法を調べてみました。 確認のためPHPを使っています。 調べたのは以下。 md5 sha1 sha256 Bcrypt PBKDF2 Node.jsで使いそうな文字列操作ライブラリ - ZeBeVogue別館も参考まで。

ExpressJSでビューのヘルパー関数を使えるようにしてみた

#もしくはビューにクラス・メソッドを渡す方法とも言う Node.jsで使えるExpressを触っていて、まぁ普通に使えるレベルだと思うんだけど、何だか足りないなーと思うところがいくつかあったりします。 そのうちの一つがビューで整形のために使うヘルパー関数…

HTML KickStartを使ってみた

TwitterのBootstrapも何度か使った事があって、あっちはあっちで十分使えるものだと分かっているのだけど、気分を変えて新しいものを使ってみようとHTML KickStartを使ってみました。 下の記事と公式サイトを見れば、何が使えるのかは丸わかりなので、実際に…

nodemailerでNode.jsからメールを送る

またまた使いそうなライブラリのチェック。今回はSMTPによるメールの送信。 さっそくプロジェクトの作成から。 「GitHub - nodemailer/nodemailer: ✉️ Send e-mails with Node.JS – easy as cake!」にはsendmailでの送信サンプルもありました。

Node.jsでglob

いわゆるファイル一覧を取得する機能ですね。fs.readdir()でも良いですが、奥深いディレクトリの探索には便利です。 さっそく使ってみます。 glob - npm

Node.jsとApacheでabテスト

Mac Lion上のMAMPのApacheとNode.jsでabによるテストを行ってみました。 他のプロセスが色々動いていたり、あまり正確とは言えませんので、参考まで。サクッとテストしたいところですが、Macでabテストをしようとすると、いくつか問題があったので、事前準備…

Node.jsとSocket.ioで別ウィンドウのイベントを共有する

以下の記事を見て触発されたので、ウィンドウ間でイベントを共有するサンプルを作ってみました。作成時間30分くらい。 PCのプレゼン資料を、スマホで操作。「シンクスライド」がスゴイぞ|タブロイド|オトコをアゲるグッズニュース 簡単に説明すると、ウィ…

PDFKitでの日本語タイトルと作成者・主題

PDFKitでPDFのタイトルや作成者・主題を設定するには以下の様にします。 var doc = new PDFDocument(); doc.info['Title'] = 'Title'; doc.info['Author'] = 'Author'; doc.info['Subject'] = 'Subject'; もしくはコンストラクタで指定します。 var doc = ne…

Node.jsで使いそうな文字列操作ライブラリ

軽めのネタで。 良く使いそうな文字列操作や文字コード操作ライブラリを調べてみました。 ちなみに、package.jsonに入れてもらうように、npm installに--saveオプション付けてます。

PDFKitを使ってNode.jsからPDFを作成する

一通り業務で使いそうなライブラリとかをチェックしているのだけど、業務で良く使われるPDFでの出力のため、PDFKitを使ってみました。 公式サイトに書かれている通り、ある程度の機能は実装されているようですが、テーブルやレイアウトを操作する高レベルのA…

ExpressJSでセッションを使う

セッション自体を使うのは簡単です。以下のコマンドでセッションを使えるプロジェクトが作成されます。 $ express --sessions project_name ただし、他のオプション(--jshtmlなど)と同時に作成する際には、以下の様に、プロジェクト名を最初のオプションの…

ExpressJSのルーティングの自動化(Node.js)

肥大化とは別に、Expressのルーティングにもう一つ不満がある。 app.jsに以下の様に一々登録しないといけない事だ。 app.get('/', routes.index); app.get('/foo', routes.get_foo); app.get('/bar', routes.get_bar); app.post('/foo', routes.post_foo); a…

ExpressJSでのルーティングの肥大化と解消法(Node.js)

Expressを色々試しているのですが、ルーティングで少し困った事があったので一応の解決策と共に書いておきます。ここで使っているnode/expressのバージョンについて。 $ node -v v0.8.0 $ express --version 3.0.0beta4

node.jsのアップデート

node.jsの書籍を購入したので、久しぶりに触ってみようかと思ったら、記載されているものと違う動きになって、ちゃんと動かなかったのでまとめておく。 環境はOS X Lionです。 インストール時の記事は以下。 node.jsを試してみた - ZeBeVogue別館

Titaniumでadmobを利用する(Android編)

検索していくつか類似のページはヒットするものの、Appceleratorが配布しているモジュールと何だか違う説明が多かったので、方法をまとめておきます。まずは必要なアカウントとして、admobは必要になるので、公式サイトからアカウントをっておきます。 また…

YQLをTitaniumで使うと色々捗る

ウェブサービスと連携したアプリを作る場合、何らかの形でアプリにデータを渡す必要がある。通常であれば、DBからのデータをJSONやXMLで出力して、それをアプリが見に行けば良いのだけど、ウェブ側の事情でそれを用意して貰えない場合がある。そんな時、YQL…

Titaniumのドキュメントをダウンロードする方法

Titaniumのドキュメントは以下にあるのだけど、オフラインでは確認できないのが痛い。と思って検索してみたら、githubから取得できるみたいな事が書いてあるのを見つけた。 Appcelerator Platform - Appcelerator Docsという事で、ローカルで(オフラインで…