枯れた技術と未成熟な技術、でもホントは…

タイトルが長すぎて表示されてないので再掲。『枯れた技術と未成熟な技術、でもホントはエンジニアのセルフマネジメントについてのはなし』 ここ数年感じていることについて、標準的な開発者にとってはすでに常識となっているかもしれないことについて吐きだ…

URL生成Tips

CakePHPでURLを生成するときに“使える”変数・定数 その前に、基本のおさらい。 $_SERVER['SERVER_NAME'] localhost Router::url(array('controller' => 'users', 'action' => 'login'), true)) http://localhost/sampleapp/users/login これも基本でしょとい…

Configureを使う必然性

自分自身、CakePHPが提供するConfigureクラスとPHPネイティブのdefineの使い分けがよく分かってなかったので調べてみた。 CakePHP - Configure::write or define()のgrigriさんの答えでようやく腑に落ちたのでここに引用しておく。 Benefits of using Config…

携帯端末用プラグインに手を入れました

ガラケー(フィーチャーフォン)についての知識・経験が圧倒的に不足しているため、GitHub - MASA-P/cake_ktai_library: Japanese mobile phone plugin for CakePHPというCakePHPプラグインを導入しようとしました。1.3系(GitHub - MASA-P/cake_ktai_library a…

CakePHPのキャッシュまとめ

CakePHPで利用できるキャッシュ機構についてまとめてみました。 詳細はリンク先参照。 ブラウザキャッシュ 出力したコンテンツをブラウザ側でキャッシュさせる/させないを制御します。 http://book.cakephp.org/2.0/ja/controllers/request-response.html#id…

phpDocumentorを使うまでに有効だったリンク

Windows + All-In-One Eclipse + CakePHP の環境でなるべく簡単にドキュメントを作成する方法で結構回り道をしてしまったので、結果的に有効だった最小限のリンクを貼っておく。なにはともあれ、公式サイト。 http://www.phpdoc.org/docs/latest/for-users/i…

カードゲームを作ろう

TCG

去年の末に『遠藤雅伸のゲームデザイン講義実況中継』という本を入手して夢中になって読んで、カードゲームを作り始めた。 自分はWebエンジニアなのでどうしてもコードを書きたくなってしまうが、先日ようやく、WordPressでサイトを立てた。今後はこっちをメ…

Cygwinでssh-addできないときは

Cygwinで普通にssh-addしようとすると… $ exec ssh-agent /usr/bin/bash $ ssh-add .ssh/id_dsa Could not open a connection to your authentication agent.こうなるはず。こんなときは、もう一つCygwinを立ち上げ、そちらで $ ssh-agent -d SSH_AUTH_SOCK=…

CakePHPとXAMPPとEGit、おまけでDropbox

こんな要件で開発するための環境構築について。 複数開発者/拠点で開発したい でも非公開にしたいのでGithubは使いません 有料プランにすれば?というツッコミは華麗にスルー (Cake)PHPで手っ取り早く開発したい GUI(Windows, Eclipse)でなんとかなりません…

fluent-plugin-mysql で time を insert する

UNIX/Linux歴が浅い自分にとって、awk等でログ解析をするのは結構壁が高い。ということで、Fluentdとそのプラグイン(GitHub - tagomoris/fluent-plugin-mysql)に飛びついたのだが、一つ残念だったのが TODO: implement 'time' and 'tag' in key_namesなとこ…

ELB使用時にリモートホストのIPアドレスを取得する

AWS

ApacheのLogFormatを"common"とか"combined"に指定した状態で、Elastic Load Balancer(ELB)による負荷分散を行うと、ログ(%h)にはELBのIPアドレスが残る。 “本物の”リモートホストを取得したいときは、httpd.confに以下のような設定を行う。 LogFormat "\"%{…

沖縄アンカンファレンス#0

先日の沖縄アンカンファレンス #0 : ATNDに参加してきました。 スライドを作成しなかったのでEmbedできるものはありませんが、やったのはこんなネタ。 開発者と心理学 開発者に必要な知識は技術以外にもいっぱいあるよねということで、Webサービスに関するブ…

ものさし

何かを計るとき、基準となる「ものさし」って大事だなあというお話。自分には、良く使うものさしが二つある。 一つは、某ソーシャルゲームにおける自分の成績。 ほぼサービス開始時からプレイを始めて、「無課金〜微課金で結構がんばってプレイしている社会…

node-decorate を作って感じたこと

今回の開発で一番おおっと感心したのは、Node.js(だけではないけど)のエコシステム、特に"npm周り"でした。 まず、install 一発でいろいろな機能(モジュール)が使えるようになるところ。package.json(Mavenのpom.xmlのようなもの)に依存関係が書いてあり、足…

node-decorate 作りました

先日の勉強会で発表したものをこちらにも上げます。 Web勉強会 20120927 from Yoshihiro Furukawa どういうものかを改めて軽く紹介すると、 Node.js で HTML/XMLドキュメントを加工するための土台を作った! プロキシ型なので、自分/自社が管理しているHTML/…

Linked Open Data

今日参加したオープンソースカンファレンスで自分が一番関心を持ったのが、Linked Open Data - Wikipedia(LOD)。 ※さらに参考リンク→ http://ocdi.jp/?q=about_lod 深く理解するために、相似する既存技術/概念と比較してみる。 項目: Linked Open Data / ハ…

Node.jsが非同期で処理してる様子がよく分かるサンプル

概要 HTMLドキュメントを取得するプロキシ 起動したプロキシ(Node.jsプログラム)に対し、jMeter(プロセス数:5)で15回のリクエストを短時間に投げてみた 見所 一つのリクエストに対して細切れ(chunk)となったレスポンスが複数返ってきます 返ってきたレスポン…

sudo node できないときは

AWSにて一通り Node.js をセットアップして、 $ node -vで無事バージョン表示が出来る状態に現在あるとします。 しかし、このとき、 $ sudo node -vすると、何それ?と言われるときがあります。どうやら、EC2の環境的な問題のようです。 解決方法はこちら→ n…

jsdomを使うときの注意点

HTMLドキュメントをごにょごにょするサービスを作るときに Node.js + jsdom を使うと、使い慣れた jQuery セレクタが使えて幸せなわけですが、たまにハマることもあります。 今回、遭遇したのは「Has Attribute Selector [name] | jQuery API Documentation…

Node.js でプロキシっぽいの

Node.js を使って、任意のWebサーバからコンテンツを取ってくるコードを書きました。しかし、その後に手を出した jsdom モジュールでは直接コンテンツを取得出来る(jsdom に渡すためにこれ書いたのに)という・・・ それはさておき。初めて Node.js を触ってそれ…

mahoutとかNode.jsとか

最近、mahoutであれこれやり始めたところだったが、仕事がらみで Node.js を試すことになった。最近、自由になる時間に対してやりたいことが多すぎる感があったのでなるべくmahoutに集中したかったのだけれど、仕事とあっちゃあ仕方ない。仕事用の環境には“…

[Hadoop] Amazon EC2 で Hadoop Cluster を構築してみた

特にニッチなネタでもないので情報はWeb上にいっぱいありますが、バージョンうんぬんでうまくいかないところがいくつかあったので、一例として記録を残しておきます。ほんとは「Amazon Elastic MapReduce で楽勝!」といきたかったのですが、今試している As…

Asakusa Framework - モデル操作についてのTips

Application Development Guide ja · asakusafw/asakusafw Wiki · GitHubの"9.2.1. NULL値をとるプロパティの操作"、重要。

[AsakusaFW] Asakusa Framework のファイル入出力についてあれこれ

開発の流れ — Asakusa Framework 0.10.2 documentation に、 WindGateは逆に「ポータブルなデータ転送ツール」を目指したもので、 さまざまなRDBMSやローカルファイルシステム上のフラットファイルなどを利用できますが、 特定環境向けの最適化を行っておら…

Hadoop1.0.3 + Windows(Cygwin) 最初の罠

新しいフレームワークやツールなんかを色々使っていると、「チュートリアル通りにやろうとしたらエラーで進めない」なんてことが稀にあるわけですが、今回もまさにそれ。http://hadoop.apache.org/common/docs/r1.0.3/single_node_setup.html を見ながら進め…

[CakePHP] Controllerのテストを書くときに気をつけること

ようやく、自分の中でテスト駆動開発するのが「デフォルト」になってきた。 そして今回、初めてMVCなシステムのテストを書いていることに気づいたので、そのポイント(一部、CakePHP限定)を書いておこうと思う。 Controllerのテストは書きにくい? テスト駆動…

CakePHPで作成したアプリをGitにコミットするときの注意点

とりあえず、CakePHP 2.1.3でのおはなし。 CakePHPに初めから用意されている".gitignore"には /app/Config, /app/tmp が記述されているので、普通に git add /app ... としてもそれらのファイルはコミットされない。通常はそれで問題ないのだが、他所でこれ…

環境構築2012May(1)

あるアプリをリメイクするにあたって行っている環境構築についてのメモ。 個人的なメインテーマは"CI"。もちろん、それをするにあたって必須と言える"テストの自動化"にも力を入れるし、ブランチ戦略(参照→見えないチカラ: A successful Git branching model…

仮説検証についてのお勉強

・・・シテマス。 『リーン・スタートアップ』では頻りに仮説検証の重要さが説かれていますが、具体的な手法等は紹介されていませんでした。そこで、いざ自分が実践するときのための準備として、いろいろ調べたり探したりしようと思います。 以下、その中で見つ…

Webを流れるお金の5W2H

リーン・スタートアップでは、仮説を検証する際に“もっともリスクが高い要素”、“挑戦の要となる仮説”から検証せよとしている。 それは一般的にどういう仮説か? それはやはり、「誰は、何に対して/どのような理由で/どのようなときに/どれくらい お金を出す…