陥りがちなプロジェクトの落とし穴と改善点(その2)

先日の記事では、マネージメントと設計について書きました。 一時的ではなく、継続的に要件・仕様を詰める事 問題が発覚する前に動く事 「とりあえず」の意識 伝える事を前提にしていない意識 適切なツールを使っていない が問題を引き起こす、という事を書…

陥りがちなプロジェクトの落とし穴と改善点(その1)

しばらくぶりの更新となります。というのは、ひどいプロジェクトに参画していたため、更新する時間がほとんどなかったためです。という事で、何回かに分けて、ひどいプロジェクトになる原因と、その改善点をいくつか挙げてみたいと思います。なお、これは特…

Google ChromeでAdobe Edge Inspectが動かない場合の方法

Mac

つい先ほどAdobe Edge Inspectを動かそうとしたら、MacのローカルアプリケーションもChromeのExtensionも、iPadのアプリも入れているのに、「Adobe Edge Inspectを起動してくれ」って表示のまま接続されない状態になっていた。どうやら、Chromeのバージョン…

node.jsでのRESTサーバ作成

Express.jsを使ってRESTなAPIサーバを作成する方法を調べてみました。ポイントを箇条書きにします。 express-resourceモジュール jQueryでのPUT/DELETE送出 各メソッドと、コールする際のHTTPリクエストです。 index(GET) new(GET) create(POST) show(GET) e…

plistを使ってforeverをデーモン化(OSX)

個人的な使い方として、foreverをMac上で使って永続化する事は(必要な時だけ起動するので)今のところそれほど無いのですが、使う事もあるかと調べてみました。forever自体が起動・停止・一覧表示機能を持っているので、launchctlから扱う利点は、OS起動直…

node.jsをGoogle Chromeでデバッグ

node.jsで開発していると、サーバ側のデバッグは単純な場合、console.logを使って変数などをコンソールに出力すると思います。ただ、これだとオブジェクトなどの変数が展開されて表示されるため、変数の構造が込み入ったものの場合、とても探しにくい事があ…

iPad Retina / iPhone 5 / Kindle FireをMacのセカンドディスプレイに

最近、必要にかられてiPad Retinaを買いました。 そろそろ新型の噂も流れているので、時期的にはもう少し待ってからの方が良かったのかも知れませんが、実機の速度の検証が必要だったので。 せっかくiPadを買ったなら、単にタブレットとしてだけ使うのは勿体…

node.jsでファイル・ディレクトリの監視

使いそうなので調べてみました。 File Systemのfs.watchを使います。 fs.watch('somedir', function (event, filename) { console.log('event is: ' + event); if (filename) { console.log('filename provided: ' + filename); } else { console.log('filen…

MAMPをバージョンアップしたので、Phalconを入れ直した

PHP

前にインストールした時は、ビルドしてそれを手動でコピーしていたんですが、単純にPATHの追加で行ける事が分かりました。 ただ1点、そのままではphpizeが動かないので、そちらの対処も書いておきます。

AirPlayするのにApple TVなんかイランかったんや

室内や店内にオーディオ機器はあるけど、手元にあるiPhoneやMacBookから音楽や動画を流すのに、AirPlayは便利そうだなと思ってたんですよ。ケーブルで長い距離をケーブルで結ぶのは大変だし、ごちゃごちゃするのはもっとイヤですよね。 そこでApple TVが使え…

GruntでGraphVizの画像生成を自動化する

GruntはJavaScriptやCSSのminifyや結合、テストなどだけではなく、CoffeeScript/LESSのコンパイルなどにも使えます。今回はGraphVizのdotファイルから画像ファイルを生成してみました。 使ったのはgrunt-graphviz。本当は、ソースコードからdotファイルも生…

Macで動いているサービス・デーモンを管理するソフトウェア2つ

Mac

Mac上で動いているサービス系アプリケーション(デーモン)の管理は、[http://macwiki.sourceforge.jp/wiki/index.php/%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89/launchctl:title=launchctl]で行うんですが、ターミナルのアプリケーションだし、常に使ってるわ…

PhalconのWebToolsを使ってみる

Phalconにはブラウザ上でDeveloper Toolsと同じような事ができるWebインターフェースがあります。 Web Interface to Tools 公式サイトのものとバージョンが違うのか、Configurationタブとか無いんですが、動かしてみました。

MacでDNSサーバ(BIND)を動かす&iOS/Androidの設定

先月書いた記事ではlvh.meを使って参照している、ローカルに設置したnode.jsのアプリケーションをモバイルからアクセスする際に、ApacheのProxyモジュールを利用していましたが、書いた後にDNSサーバ立てれば良いじゃんって事に気が付いていたのですが、重い…

PhalconのDeveloper Toolsをインストール

基本は公式ドキュメントに書かれている通りです。特に難しい事はありません。 が、MAMP環境に入れた経緯があるので、少々本家のやり方とは違っています。注意事項としては、Phalcon自体がインストールされている必要があります。では始めます。 (下書きに入…

PhalconのScaffoldを使ってみる

PHP

3回目はScaffoldを使ってみます。Phalcon Developer Toolsのコマンドで生成できてしまうので、サクッとひな形を作るには良いです。セキュリティをどの程度考えているのか分かりませんが。ではさっそくプロジェクトを作成します。 $ phalcon create-project …

フレームワークPhalconのViewにVoltを使ってみる

PHP

前回の続きです。 チュートリアルのViewでは以下の通り、生のPHPで書かれています。 Hello!</h1>"; echo Phalcon\Tag::linkTo("signup", "Sign Up Here!"); 出力されるHTMLは以下の通り。 <h1>Hello!</h1><a href="/public/signup">Sign Up Here!</a> 大方の人が期待した通りに出力されていると思います…

爆速フレームワークPhalconをMAMPに入れる方法

昨日、以下の記事がはてぶに載ってたので、さっそくMAMPに入れてみました。 http://www.rodeo.jp.net/tech/phalcon-php-framework/ PHPのエクステンションとして実装されているとの事で、フルPHPの他のフレームワークよりは早いでしょうね。ただ、ブコメでも…

Node.jsでMySQLのAES Encrypt/Decrypt

MySQL上でAES_ENCRYPT()されたものをNode.js上でDecryptする方法です。同様にEncryptの方法もまとめておきます。 sha1/md5/Bcrypt等のハッシュは過去記事にあります。

DropboxのDatastore APIをさっそく使ってみた

Dropboxが公開したDatastore API。簡単に説明すると、Dropbox内にファイルではなく、構造化したデータを保存できるというもの。 先日使ったParseのようなものと考えて差し支えないが、今のところ認証した自分のデータしか扱えないようだ。全員が見れるような…

PhoneGap 2.9.0を触ってみたよ

Titanium mobileはやってましたが、PhoneGapの方はやってませんでした。実際触ってみると、特にこれと言って難しそうなところは無く、TitaniumでのWebViewからリクエストを投げるのと大差ないように感じます。それから、始めたばかりで良く分かってないです…

ローカルに設置したlvh.meなnode.jsのサイトをスマフォから見る方法

開発環境としてローカルにnode.jsのアプリケーションを置いている場合、通常であればローカルIPアドレスでアクセスすれば良いだけなんですが、hoge.lvh.me*1などの様にサブドメインを見ている場合、脱獄済みのiOS端末やrootedなAndroid端末のように、hostsを…

Gitのリポジトリを新しく作って移行する方法

拙いけど、以下のような感じ。 サーバAのリポジトリAから、サーバBのリポジトリBに移行する。 サーバBでリポジトリBを作成 $ mkdir repo_b.git $ cd repo_b.git $ git init --bare --shared=true ローカルで参照するリポジトリを変更 $ git remote -v origin…

Parse Hostingを使ってみた

先月、Facebookによって買収された事で注目されていたParseを使ってみました。ParseはJavaScript SDKを使う事で、簡単にデータをParse内に保存する事ができます。SDKは他にもiOS/Android/Windows Phone 8/Windows/Mac OSX用もあるので、クロスプラットフォー…

node.jsのMVCフレームワークSails.jsを使ってみた

久々の記事ですね。引越しがあったので、バタバタしてました。という事でさっそく。 最近はてブ等ででフレームワークのSails.jsの記事があり、ちょっと気になってました。 Sails 0.8.9:リアルタイムNode MVC フレームワーク Node.js の MVCフレームワーク Sa…

MacでXPathを評価・確認するツール・ウェブサービス

XMLを扱っているとXPathを使って要素を取得する事が良くあります。少々独特な書き方だったりするけど、スマートにXMLを扱う事ができます。以前はWindows用のツールを使っていましたが、Macで使えるものを調べてみました。

node.jsでのXML2JSONとXPath

JavaScriptだとJSONが扱いやすいですが、XMLを使う場合も少なくありません。 node.jsでXMLをJSON形式にする方法と、XPathでノードを取得する方法を調べてみました。

GeoLocation周りで使えるJSライブラリ

地図を使ったアプリケーションも増えているので、手軽に距離や中心点などを取得できるライブラリがあった方が何かと便利です。 geolib.jsというのが使い勝手が良さそうです。

MAMPにphpPgAdminをインストール

最近MySQLが多かったので入れてなかったのですが、ローカルに入れる必要があったので。 ついでにPostgreSQLはインストール不要の「Postgres.app – the easiest way to get started with PostgreSQL on the Mac」を利用しました。 (ダウンロードしてPostgres…

gruntでJavaScript/CSSを結合・minify

何とか見よう見まねで設定できたのでメモ。 他に良い方法があるんだと思うのだけど、ひとまず出来たので。