Javascript 全ての親ノードを取得する。

メモ。

NodeJSでCron処理を実現し、デーモン化させる。

NodeJSで作ったプログラムをCronのように動かしたい。

どうやらnode-cronというモジュールがあるらしい。

Node.jsで特定の処理を指定日時、あるいは特定のパターンの日時に繰り返し実行する方法: node-cronを使う

上記サイトを参考に、関連モジュールをnpmでインストール。

サンプルコード内のjob.stop();をコメントアウトさせ、いつものように $ node crontest.js と実行させると、1秒毎にHelloが表示される。

Ctr + C で終了。

次に、過去に作ったNodeJSプログラムをCronで動かしたい。
サンプルコードをみるとonTickの中にで過去のプログラムを動かせばよさそうだ。

下記のサイトを参考に外部ファイル化させ、上記メソッド内で実行させるとOK。

node.jsで外部ファイルのJavaScriptを呼び出す

※NodeJSに限らず、Cronのような処理を行うときは、プログラム内のファイルへのパスを絶対パスで記述しないと動かないので注意。

次にCronをデーモン化させる。

foreverモジュールを利用。グローバルインストールさせないとなぜかコマンドが認識されないので下記のようにインストール。

下記のコマンドでデーモン化。

稼働中のデーモン一覧を見る時は

どうやらログファイルも自動生成されるようで、プログラム内のエラーやconsole.logがそのログに記録されていく。

停止させるときは

以上。

NodeJSでMAMPのMySQLにアクセスする。

mysqlモジュールをnpmでインストール後、下記のようなコードでMySQLにアクセスできるといろんなサイトに掲載されているが、MacのMAMPだと失敗する。

下記のようにMAMP内のMySQLサーバーのポートである8889を指定するとアクセスすることができる(念のためMySQLのポートはMAMPの設定から確認してほしい)。

以上。

htmlファイルのリンクをチェックするブックマークレットを作った

フロントエンドコーディングの品質管理において何か良いツールはないかと探していたところ、知人に下記を紹介してもらった。

alt属性を確認するブックマークレット。

ブックマークレットということでブラウザさえ対応していればWindows,Macを選ばずサクサクと実行することができる。
このブックマークレットにインスパイアされ、ページ内のリンクをチェックするブックマークレットを自作してみた。

本来であれば直接ブックマークに追加できるよう掲載したかったが、なぜかうまくいかなかったので、上記コードをコピーし、このサイト でブックマークレット形式に変換して利用してほしい。

ブックマークバーに保存したあとは、対象のウェブサイトで実行すると、下記のように全てのリンクの一覧が表示される。
その後、ajaxで各リンクの存在チェックを行い、リンク切れのところは赤に、外部リンクは青にハイライトされる仕様だ。
Chromeの最新版で動作確認済み。
ブックマークレット

フロントエンドコーディング担当者には品質チェックの一環として、担当ページの提出前にこれを実行してもらおうと思う。

Vineの非公式APIとTwitterAPIを使ってVineまとめサイトを作った。

俺日記のしんじです。一人称は僕です。

ふと何かVineで作りたくなったので。

Vineの人気動画をTwitterでまとめました。viny(バイニー)

screencapture-localhost-8888-viny-index-retweet-month

TwitterからvineのURLの載ったツイートを収集して、RT数やファボ数等でランキング化しています。

html5のビデオタグを使って、vineの公式サイトのようにマウスをのせるだけで再生されるようにしてるんだけど、vineから提供される動画ファイルがmp4のみなので、firefoxではその部分が動かないから残念だ(クリックしたら再生できるようにしているが…)。

差別ネタとか暴力系とかまざっててたまに驚くけどそれもまた一興。

2014/06/23追記:やたらとサーバーのリソースをくってしまうので停止しました・・・

2015/07/28追記:復活させました。

2015/11/06追記:やっぱり停止しました。。

Titanium StudioでのiPhone実機を使ったデバッグ方法

公式はここ。
http://docs.appcelerator.com/titanium/latest/#!/guide/Debugging_on_iOS_Devices

前提

・Titanium Studioから実機へアプリをインストールできること。
・Titanium SDK Release 3.0以降であること
・Titanium Studioのバージョンが3.0以降であること。
・PCと実機が同じWi-Fiネットワークを使っていること。デバッガはUSBケーブルではなくWi-Fiを通して実行される。
・USBケーブルで実機をPCとつなげておくこと(推奨)
・iTunesとWi-Fi経由で同期する設定にしておくこと。
※信頼できるWi-Fiがなければ、Ad-Hocで代用することもできる。

“Titanium StudioでのiPhone実機を使ったデバッグ方法”の続きを読む

Titanium StudioでProvisioning ProfileをセットしようとしたらInvalidエラー

スクリーンショット 2014-01-19 20.26.38
Specified Provisiong Profile is invalid or is the wrong type.

ダウンロードしたProvisioning Profileの置き場所を日本語名の入ったディレクトリにしていたことが原因だった。
全て英語のディレクトリ名に変更し、再セットで成功。

Titanium Studioのdeployment targetが灰色になってチェックできない

こういう場合。
スクリーンショット 2014-01-16 15.53.26

各SDKのセットアップが完了していないために起こる。

こういうときは例えば予め、DashboardのConfigure Native SDKsで×印がついているOSをクリックすると右に表示がでるのでそれにしたがって実行したらOK。

スクリーンショット 2014-01-16 15.54.17

だと思う。