サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
tetsujin.hatenablog.com
いままで、mysqlのプロンプトの変更は $HOME/.my.cnf で、 [mysql] prompt="^[[01;31m\U[\d]-[\D]^[[0m\nmysql> " みたいにしていましたが、 接続元のサーバ情報が出せない。(出し方を知らないだけかも) 本番と開発環境など、同一の設定ファイルで環境に応じてプロンプトを柔軟に変更できない。 色をつけるにはエスケープシーケンスを直書きしないといけない。 といった点が、ちょっと不満でした。 なのでコマンドオプションをパースして、環境変数$MYSQL_PS1を組み立ててから mysqlコマンドを実行する、zshのfunctionを作ってみました。 https://github.com/tetsujin/zsh-function-mysql ちょっとわかりにくいですが、下記の例では 接続元のサーバ情報を表示、ホスト名によって色分け。 接続
ってどうするのが良いのでしょうか。今回の条件は下記として... 開発環境。 複数サービスのVirtualHostを立てたい。 開発環境なのでSSLはとりあえずオレオレ証明書を使いまわす。 とりあえず最近は、開発環境向けにこんな感じで設定している。 設定が変わるたびにいろいろな箇所を修正するのが大変なので、可能な限り共通部分は別ファイルに切りだしてIncludeするように。 conf/ httpd.conf conf.d/ vhost/ example.com.conf _example.com.conf _ssl.conf サーバ全体に対する設定はhttpd.confとconf.d/*.confに記述。 httpd.confの末尾で、VirtualHostの設定ファイルをInclude。 conf.d/vhost 以下に example.com.conf のようなドメイン別ファイルを用意。
最近、GuardでTitanium+CoffeeScriptの開発を快適に – ひげろぐを参考にGuard::CoffeeScriptを入れ、coffeescriptでflymakeする - Kentaro Kuribayashi's blogのFlymakeの設定を入れてCoffeeScriptでTitaniumでのアプリ作成を試してます。 Guard::CoffeeScriptでファイル変更の監視・コンパイルをしてると ERROR: Guard::CoffeeScript failed to achieve its <run_on_change>, exception was: Errno::ENOENT: No such file or directory - coffee/app_flymake.coffeeというエラーが発生して頻繁にGuardが落ちる。 Flymake用の一時フ
4年越しですが Emacsのphp-modeでalignする - てつじんにっき で書いていたものの挙動が気になったので修正し、requireして使うよう改良してphp-align.elという名称でgithubにあげてみました。 GitHub - tetsujin/emacs-php-align: Emacs's alignment configuration for PHP. 話が変わりますが最近php-modeは https://github.com/rradonic/php-mode を使っています。オリジナルに比べて色々と機能追加やバグ修正されているようです。*1 と、していたら https://github.com/ejmr/php-mode の方がEmacs同梱になるというのをブコメで知りました。 b:id:tomoya emacs, php PHP5.4 対応版。php-mo
anything-project.elにSymfony2用のプロジェクトを定義してみた。 (ap:add-project :name 'symfony2 :look-for 'ap:symfony2-root-detector :grep-extensions '("\\.php" "\\.twig" "\\.yml") :exclude-regexp '("/cache/" "/logs/")) (defun ap:symfony2-root-detector (files) (ap:all-files-exist '("app" "bin" "src" "vendor" "web") files)) 使ってみて、M-x anything-project-grepした時にcacheディレクトリなどが対象になって少し困ったので、ap:add-project-exという関数の追加とap:bu
http://phper.jp/でhttp://docs.symfony.gr.jp/sf2-blog-tutorial/を動してみたので、雑なまとめですが、やった設定の備忘録。 最終的に下記のような構成に。 /path/to/approot/ - .phper/ # phper.jp用設定ファイル群 - Symfony/ # blogチュートリアルアプリケーション - phpMyAdmin/ # 管理用phpMyAdmin 1. phper.jpに登録 http://phper.jp/quickstartを見てユーザ登録〜デプロイまで進める。 ドキュメントルートは Symfony/web にしておく。 2. phperコマンドのインストール Ruby製のphperというCLIツールが用意されているので、http://blog.phper.jp/2011/03/07/94/を参考にRuby
最近symfony1.4.9を使っていてproject:deployコマンドがやたら遅くて、rsyncってこんな遅かったかな?と思ったらsfFileSystem::execute()が、出力バッファを読み込む度に0.1秒sleepしている。 lib/task/sfFilesystem.class.php <?php public function execute($cmd, $stdoutCallback = null, $stderrCallback = null) { $this->logSection('exec ', $cmd); $descriptorspec = array( 1 => array('pipe', 'w'), // stdout 2 => array('pipe', 'w'), // stderr ); $process = proc_open($cmd, $d
ドメインの正規化 wwwあり・なしをどちらか片方に寄せたい場合。 今回はwww.example.comなど、example.com以外でアクセスされたらexample.comにリダイレクトする設定。 <VirtualHost *:80> # (1) ServerName example.com ServerAlias www.example.com RewriteEngine On # (2) RewriteCond %{HTTP_HOST} !^example\.com # (3) RewriteRule .* http://example.com$0 [QSA,NE,R=301,L] </VirtualHost> (1)で、どちらのホスト名でもVirtualHostが動くようにする。 (2)は正規表現の末尾に$を付けないようにする。Hostリクエストヘッダは Host = "Host"
先日MacBookPro 13インチ 2.53GHzを購入してMacデビューしました。ちなみにまだLeopardです。 いろいろインストールしたり、dotファイルを整理したりと開発環境を整えているのですが、一番躓いたのがターミナルの選定でした。 Terminal.appとiTermを行ったり来たりしていて、自分の周りにはTerminal.app派が多かったのですが、最終的にiTermに落ち着きました。以下が理由です。 256色表示できる。 キーマップ設定でCtrl-,やCtrl-.に独自コードを割り当てれる。 2つ目の理由の方が大きくて、元々、puttyでscreenの切り替えを下記のような感じでCtrl-カーソルキーで操作していたのですが、 .screenrc # for putty bindkey "^[OA" stuff "\015exit\012" # ctrl-up bindke
寝れないのでご無沙汰エントリ。 http://hg.apgwoz.com/yasnippet-php-mode/ ここのを使ってたりしたんですが、どうもカスタマイズしたくなってきて こんな感じで、自分用オレオレPHP標準関数snippetを生成しました。(作ったのは結構前なんですが) オレオレなところは、 yasnippetはanything-c-yasnippetからしか使ってないので、それに特化した感じで。 anythingの候補選択時に、関数の簡単な説明も表示したい。(関数名だけじゃわかんない) 引数毎に、TABで移動するのは面倒なのでまとめて一つのフィールドに。(アドバイス程度に表示するくらいに) get_defined_functions()を使って、実行環境に定義されている関数を取得し、 PHPのドキュメントにぶつけてsnippetを生成します。 anything-c-yasn
普段、PuTTY上でEmacsを使っているのですが、そのEmacsにコード等をペーストしたいときに、 S-Insert等でそのままペーストしても、キー入力として送られるので、自分の環境だといろいろ問題が起きてました。 global-mapのC-mに'newline-and-indentを設定してるので、コードを貼り付けたときに階段状に余計なインデントがされてしまう。 key-chordで設定したキーの文字列が含まれるとkey-chordが起動してしまう。("jk"とか) undo一発で元の状態に戻せるようにしたい。 いろいろ調べてみたのですが、良い解決方法が見つけられなかったので 今までは我慢するか、vimを起動して:set pasteをしてたのですが、 やっぱりEmacsにペーストしたい!!ってことで、ちまちま調べながらelispを書いてみました。 undoの部分はundo-groupを
mmm-modeを入れて結構たちましたが、ここ数日、ようやくphpやらhtmlやらjavascriptやらが混在したコードを書く機会がありました。 しかし、この質問の方と同じくmmm-modeで実際に書いてみるとインデントやらなんやらで全てを思い通りに動かせなかったので、 いろいろ設定を見直しつつ、elispの書き方を調べながら、簡単にモードを切り替えれるコードを書いたので載せて置きます。まだまだ使っていて問題があるかもしれませんが。 個々のモードの細かい設定は省いて、必要そうなところだけ抜粋 (add-hook 'xml-mode-hook '(lambda () (setq mmm-classes '(html-others)) ;; 使用するmmm-add-groupの設定 (mmm-mode))) ;; mmm-mode (require 'mmm-auto) (setq mmm-
前回のphpCodeBeautifierに続いて、またまたソースを綺麗にするツール。 phpStylist - http://sourceforge.net/projects/phpstylist/ 2007-06-29 released なので最近ですね。 Webからでもコマンドラインからでも叩けます。noticeが出るわ、 $HTTP_POST_FILESとか$HTTP_SERVER_VARS 使ってて中身はかなり衝撃でしたが*1、結果的にphpCodeBeautifierよりこのphpStylistのほうがまだ使えるかな?と感じました。 落として $ wget http://nchc.dl.sourceforge.net/sourceforge/phpstylist/phpStylist-0.9beta.zip $ unzip phpStylist-0.9beta.zip infla
Do You PHP? - phpCodeBeautifier - コーディングスタイルを統一する でも紹介*1されているPHPのソースコードを整形するphpCodeBeautifierですが、最近linux版も出たし、マニュアル に書いている内容を見てワクワクして突っ込んだんですが、汚くなる。 PEAR標準にするっぽい、サンプルの整形定義をPEAR.phpにそのまま突っ込んでも before function PEAR($error_class = null) { $classname = strtolower(get_class($this)); if ($this->_debug) { print "PEAR constructor called, class=$classname\n"; } if ($error_class !== null) { $this->_error_cl
EmacsをIDEにするEmacs Code Browser(以下、ECB)を入れてみました。 CEDETという開発ツールコレクションが必要となるようです。 OSX+Emacsで快適なRails開発ライフを送るを大いに参考にさせていただきました。 導入 $ cd ~/.emacs.d # 必要なファイルを落としてくる。 $ wget http://jaist.dl.sourceforge.net/sourceforge/ecb/ecb-2.32.tar.gz $ wget http://nchc.dl.sourceforge.net/sourceforge/cedet/cedet-1.0pre4.tar.gz # 展開 $ tar xfvz ecb-2.32.tar.gz $ tar xfvz cedet-1.0pre4.tar.gz # それぞれをmakeする $ cd cedet-1.
今までデータの確認はphpMyAdminばっかり使ってたので、知らなかったことメモ。 mysql> show table status;とかすると、列数が多すぎて行が折り返し表示されて見づらい。 http://dev.mysql.com/doc/refman/4.1/ja/mysql.html に書いている mysql> pager less -n -i -Sとすると、出力結果を折り返しせずにlessで見れる。カーソルキーで左右の移動ができてすごく便利。 ちなみに n 行数計算をせずに高速化。 i 検索時に大文字・小文字の区別をしない。 S 折り返ししない。 あと、これは前から知ってたけど mysql> show table status\G\Gをつけると縦表示。
$foo = array( 'bar' => array( 'baz' => array( 'qux' => array( 'quux' => array( ), ), ), ), ); ネストが深くなると見づらい。(極端な例だけど) .emacs (add-hook 'php-mode-user-hook '(lambda () (c-set-offset 'arglist-intro '+) (c-set-offset 'arglist-close 0))) 全選択してインデントしなおし。 C-xh, C-M-\ $foo = array( 'bar' => array( 'baz' => array( 'qux' => array( 'quux' => array( ), ), ), ), ); こっちのほうが好み。
日曜日は第25回PHP勉強会に参加させていただきました。 会場は椅子が素敵だったオープンドリームさんです。会場提供ありがとうございます。 自分がとったメモのせときます。所々間違ってたらごめんなさいです。 君もまたextensionか&簡単なサービスを作ってみた - shimookaさん extensionのほう PHP5.1からType Hintingにarray使える。 PEAR::PHP_Parse使ってPHPコードからCodeGen_PECL用のspecファイル作成。 ところでphpizeってなんて読むの? ぴーえっちぱいず?ぴーえっちぴーあいぜっといー? ぺちぱいずで決定 phpize -> configure -> make -> make install -> php実行 segfaultキタ!! 朝は大丈夫だったのに!w デモでPEAR::DBのspec生成。 生成したspe
追記 2011-08-14 その2でgithubにあげてます。https://github.com/tetsujin/emacs-php-align 前回のエントリでphp-modeではM-x alignが使えなかったので、perlのalignを無理やりphp-modeに当ててみましたが、所々やっぱり不具合があるのでElisp全然わからんなりに初めて書いてみました。*1 .emacsに追加すればたぶん動くと思います。Emacs 22.0.99, 21.3.1で動作は確認しました。 (require 'align) (add-to-list 'align-rules-list '(php-assignment (regexp . "[^-=!^&*+<>/.| \t\n]\\(\\s-*[.-=!^&*+<>/|]*\\)=>?\\(\\s-*\\)\\([^= \t\n]\\|$\\)")
元々自分はアラインメントしない人だったんですが、最近、職場でアラインメントされたコードを読んで(phpじゃないけど)、やっぱり読みやすいなーと感じ、郷に入れば郷に従おうということで最近EmacsのM-x align & M-x align-regexpにはまってます。 int foo = 100; char *bar = "hogehoge"; int foo = 100; char *bar = "hogehoge"; alignってのはリージョン指定した所を、こんな感じに整えてくれるやつですね。 こんなかんじで宣言が並んでたら、リージョンしなくてもM-x align-currentでやってくれます。*1便利。 M-x align-regexpは自分で区切りを指定できるので、行末のコメント位置なんかをあわせるときなんかに便利。 前書きが長くなりましたが、久々にphpを書いててalignし
EthnaでのUnit Testに関する情報があまり無い気がするので、 以前まで抱えていたEthnaで作っていたプロジェクトで培ったTDDのノウハウと気をつけたい事についてちょこっと書きたいと思います。 あ。環境はPHP4で、EthnaはCVS版がベースでの話です。 設定の方法等は公式を参照してください。 http://ethna.jp/ethna-document-dev_guide-misc-unittest.html SimpeTestに関してはWEB+DB PRESSの29号にわかりやすい特集が掲載されています。 http://www.gihyo.co.jp/magazines/wdpress/archive/Vol29 はじめに Ethnaではテストツールとして、SimpleTestというものが使われています。 CakePHPやSymfonyでも採用されているみたい。 僕自身、テ
元々、PHPもJavaもRubyもJavascriptもHTMLやらCSSまで全部Eclipseでを使って書いてきたんですが、 アシアルぶろぐさんのPHP開発で追加しておきたいEmacs Lisp 8選を見て、うおー、Emacsで書いてみたいなーと思い、参考にして環境を整えてみました。 Emacsは触れるけど設定が良くわかんない初心者なので結構苦戦しました。 とりあえず必要そうなものを全部取ってくる # php-mode wget http://jaist.dl.sourceforge.net/sourceforge/php-mode/php-mode-1.2.0.tgz tar xfvz php-mode-1.2.0.tgz cp php-mode.el /usr/share/emacs/site-lisp/ # phpマニュアル wget http://jp.php.net/get/p
Ethnaにはデータキャッシュ用のプラグインがあります。効率よく使うとパフォーマンスを劇的に改善してくれるアレです。 Ethna_Plugin_Cachemanager_Memcache Ethna_Plugin_Cachemanager_Localfile がありますが、今までずっとEthna_Plugin_Cachemanager_Localfileばっかり使っていたので、memcachedを使うとどんだけ早いんだろー?と以前からワクワクしてたので、Ethna_Plugin_Cachemanager_Memcacheを使ってみました。 ちなみに、set時でなくget時にライフタイム指定ができるあたりが結構気に入ってます。 memcachedを入れてみる 面倒だから今回はrpmで突っ込んでみる。 # wget http://dag.wieers.com/rpm/packages/libe
このページを最初にブックマークしてみませんか?
『tetsujin.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く