カテゴリー : 2014年 4月

[Node.js] ファイルの拡張子を取得する path.extname

Node.js の path module を使って、下記のようにファイルの拡張子を取得することができます。

path.extname('index.html')
// returns
'.html'
 
path.extname('index.coffee.md')
// returns
'.md'
 
path.extname('index.')
// returns
'.'
 
path.extname('index')
// returns
''

参考情報

Path Node.js v0.10.26 Manual & Documentation

[AWS] aws s3 sync ./upload_dir s3://xxx –region ap-northeast-1

aws-cli で command line 上から S3 へファイルアップロードしようとしたところエラーが発生しました。

% aws s3 sync ./upload_dir s3://backetname

エラーメッセージ

A client error (PermanentRedirect) occurred when calling the ListObjects operation:
The bucket you are attempting to access must be addressed using the specified endpoint.
Please send all future requests to this endpoint.

デフォルト設定で region を設定しておらず、オプションでも未指定だったのが原因でした。

aws s3 sync ./upload_dir s3://backetname --region ap-northeast-1

–region ap-northeast-1 とか使ってる S3 のリージョンを指定することでアップロードできました。

Google Apps for Business のカスタマーサポートへの問い合わせ先

Google Apps for Business のカスタマーサポートへの問い合わせ先が、管理者画面から辿りづらいのでメモ。

Enterprise support contact information – Google Enterprise Help

Gmail や Google Drive の細かい設定や仕様について、数時間以内に返答してくれるのはかなり助かります。

これだけでも、ビジネスプランに加入する価値があるんじゃないかな。

[Node.js] RangeError: Maximum call stack size exceeded

Node.js で、RangeError: Maximum call stack size exceeded エラーが発生したときの対応方法をメモ。

% node -v
v0.10.26
 
% node --v8-options | grep -B0 -A1 stack_size
  --stack_size (default size of stack region v8 is allowed to use (in kBytes))
        type: int  default: 984

Node.js version 0.10.26 は、デフォルトの stack size は 984 KB です。

% node -h 
...
 
Options:
  --max-stack-size=val set max v8 stack size (bytes)
 
...

ヘルプには –max-stack-size で指定すると書いてありますが、

node --max-stack-size=val

v0.10.x 以上だと

node --stack-size=val

–stack-size で指定するっぽいです。


参考情報

What is the default stack size in Node.js? – Stack Overflow

javascript – How can I increase the maximum call stack size in Node.js – Stack Overflow

パパパパ開発合宿 2014/04/12(土) メモ

月1回のペースで開催している「パパパパ開発合宿」の 2014/04/12(土) の回で、新しく得れた情報を備忘録的にメモ。

雑談

フットサルの対戦相手募集・検索!footlinkというサービスを、ワールドカップに向けてコンテンツを充実させていく方法について、ディスカッション。

「バーティカルメディア」というワードを始めて知った。教えてもらった。具体例を上げると、じげんがやってるようなサービスのこと。

 ・運営サービス一覧 | 株式会社じげん

Flinto でアプリのプロトタイプを作って、ある程度ページの仕様が固まってから実装に移る流れが良いらしい。

 ・デザイナーがプロトタイプ作るんだったら Flinto がいい感じ。 – よりぶろ

 ・Flinto – iPhone, iPad and Android Prototyping

広告を導入すれば、Push通知機能も使える「アプリ広告,MBaaSサービスのappC cloud」が良さげ。

「EC-CUBE」でサクッとECサイトを立ち上げて、インドネシア在住の日本人に運用を任せているという話を聞いた。商材はここでは秘密。ちなみに、コンタクトレンズは商材としてレッドオーシャンらしい。


クラウドソーシング

海外のインタビュー記事を集めたり、リサーチなどを依頼するのに利用しているクラウドソーシングサービス。

Assistants for Everyone – Fancy Hands

スカイトークより、レアジョブの方が、講師のクオリティが高いらしい。

オンライン英会話 スカイトークは7回無料(Skytalk)| スカイプで英会話を楽しもう!

英会話なら25分129円~のオンライン英会話 レアジョブ


ショートカット講座

「スタートアップで働く僕が実践しているメールTips50 – パパパパ」のブログ記事から、ショートカットのみ使うことを徹底しようという話になって、ショートカットなどのTipsを調べたり、共有したり。

Mac の Finder が Command + Tab に表示されると邪魔だから、非表示にする。
(やってみたが、Finderが起動しなくなった・・・)

Mac OS Xの「Command+Tab」でアプリ切替をする時にFinderが表示されないようにする方法 : ライフハッカー[日本版]

Facebook もショートカットコマンドがあるそうなので、調べて実践したり。

ショートカットキーから「隠し絵文字」まで…Facebookの裏ワザ7選 : ライフハッカー[日本版]

Can I navigate Facebook with keyboard shortcuts? | Facebook Help Center

以上です。

[Node.js] ファイルの存在チェック

Node.js で、viewファイルの存在チェックして、無ければリダイレクトさせる処理をメモ。

var fs = require('fs');
 
var template = 'novels/'+ title + '.jade';
var templateFilePath = 'views/' + template;
 
fs.stat(templateFilePath, function(e) {
  if (e) {
    console.error(templateFilePath + " file does't exist.");
    return res.redirect('/novels');
  }
 
  return res.render(template);
});

ここでは、テンプレートエンジンは jade を使っているという前提で、動的に生成したファイル名に対応する jade ファイルが存在するかチェックしています。

[JavaScript] js2coffeee で arguments が arguments_ に変換される

Js2coffeeで arguments が arguments_ に変換されて、気付かずに実行してエラーが発生しました。

arguments_js2coffee

JavaScript

arguments.callee

↓ js2coffeee

CoffeeScript

arguments_.callee

と変換したときに、アンダースコアが suffix に付いてしまったようです・・・


参考情報

arguments – JavaScript | MDN

arguments.callee – JavaScript | MDN

The Little Book on CoffeeScript – The Bad Parts

[MongoDB] クエリ結果を標準出力させてファイルに保存する方法

MongoDB でクエリ結果を標準出力させてファイルに保存するコマンドをご紹介します。

MongoDB

続きを読む

[正規表現] 文字をシングルクォーテーションで囲む

正規表現で、文字をシングルクォーテーションで囲むスニペットをメモ。

検索:

(.*$)

置換:

"$1"

余談ですが、cotedit だと、

"\1"

です。

[Linux] CSV、テキストファイルなどを指定した行数で分割するコマンド

CSV ファイルを一定の行数毎に分割したいというケースがあったので split コマンドを使って対応しました。

前提

  • users.csv を100行毎に分割したい
  • 分割したファイル名の先頭に users- という名前を付ける
  • 分割したファイルは tmp ディレクトリ以下に作成する

1. 対象のファイルを100行毎に分割する

split コマンドを使って、ファイル分割します。

split -l 100 users.csv tmp/users-

2. 分割したファイルに拡張子 .csv を付ける

for文でループ処理させて、mv コマンドでファイル名の最後尾に .csv を1ファイルずつ付けます。

cd tmp/
for filename in users-*; do mv $filename $filename.csv; done

以上です。

参考情報