プログラミングの最近のブログ記事


CakePHPの「.ctp」、ときどきうざったいですよね。
HTMLエディタで開こうとするとエラー出したりw

そういうときには、次の方法を。

class AppController extends Controller {
    public $ext = '.html';

}

これで明日から悩まない!

CakePHPとかMySQLとかいろいろ。

| コメント(0)

最近、業務でCakePHP, MagicWeapon, MySQLを使っているのですが
よく忘れる事とか、ちょっとメモをしておこうかなと。

 

・CakePHPでDBのカラム名を取得する
 $columns = array_keys($this->getColumnTypes())

・CakePHPのControllerでModelを動的にロード
 $this->loadModel('ModelName');

・CakePHPでUpdate
 1. $this->Model->id にアップデートしたいIDをセット(複数keyには対応してない様子
 2. $this->Model->save($updArr) ※$updArrは、$updArr[dbColumn] = 'updateValue' の単純な形式

・MySQLでselect insert
 insert into <newtable> (<columns>) select <columns> from <oldtable> <where>

で。CakePHPでDBカラムの取得と組み合わせると

$columns = implode(',', array_keys($this->getColumnTypes());
$sql = "insert into {$this->useTable}_new ({$columns}) select {$columns} from {$this->useTable} where {$this->primaryKey} = 'value';

みたいな書き方ができる。。と


以前
http://blog.atras.net/atlast/2010/05/nicovideo-mylist-parse.php

で書いた、マイリストのID取得スクリプトが、nicovideoの仕様変更で使えなくなっていたので
新しく書いてみました。
何に使うかはご自分でお考えください^^;
 

javascript:var t=Array();var m=document.body.innerHTML.match(/((sm|nm)\d{1,})/gm);for(var i=0;i<m.length;i++){
var id=m[i];if(!t.include(id)){t.push(id);}}var idl=t.join('<br>\n');document.write(idl);

例によって改行があったりするので、ご注意を。


趣味で動かしているnicocache_nlに、キャッシュ命令を出すためのスクリプトを作ってあるのですが、少し前の仕様変更で
マイリストのHTMLを解析しても、URLが出てこなくなってしまいました。ので。

JS ワンライナーを書いて、マイリストの解析をさせてみました。

 

javascript:var t="";var l="";var e=$$("h3");for(var i=0;i<e.length;i++){var el=e[i].getElementsByTagName("a")[0];t+=el.innerHTML+"<br>\n";
l+=el.href.replace("http://www.nicovideo.jp/watch/","")+"<br>\n";}document.write(t);document.write(l);


※1. 改行されていたり、空白が入ってたりしますが、1行に直して、ブラウザのアドレスバーにコピーして使ってください。
※2. 有効なページは、マイリストのページのみです。


使いたいという奇特な方がいらっしゃったらどうぞご自由に!


http://www.microsoft.com/japan/msdn/vstudio/express/

私は早速使ってみてますが・・・
見た目がきれい。
すっごい綺麗だった。確かに。

・・・あとは、.NET Framework4対応の開発環境っていうのと
・・・・・あとなんだろう。

教えてエロい人

エディションがまた増えてるよ・・・><;

もう一つ。WindowsAzureのWorkerRoleは何ができるのか?
http://d.hatena.ne.jp/haru-tama/20100427

MS EL5, SQLSrv2008R2

| コメント(6)

Microsoft Enterprise Library5

http://msdn.microsoft.com/en-us/library/ff632023.aspx


Microsoft SQL Server2008 R2

Microsoft SQL Server2008 R2 RTM - Express with Advanced Services - 日本語

Microsoft SQL Server 2008 R2 RTM - Express - 日本語

Microsoft SQL Server 2008 R2 RTM - Express with Management Tools


http://msdn.microsoft.com/ja-jp/subscriptions/default.aspx

MSDN会員向けのようですが、2010日本語版がリリースされました。
早速使ってみようかな。と思っています。 


インストールリストを管理していないので、@INCから取得する。

find `perl -e 'print "@INC"'` -name '*.pm' -print

もしくは

cat `perldoc -l perllocal` | perl -nle '/C L<([^\|]*?)\|.*?>/ and print "$1"' | sort -u

下のコマンドのほうが、パッケージ名で表示されるのでわかりやすいかもしれない。
ただ、場所まで調べるときは上のコマンドが・・・ということで、両方覚えて置いて良いかも。 


業務なり、仕事なりでよくvimを使う日々です。
undoが、コマンドモードで u なのは知っていたんですが、redoを知りませんで。
調べてみた結果。
コマンドモードで
:redo or Ctrl^r
でした。
他にもいくつかコマンドメモ。 


perlのgrepは、exprは正規表現なので
@list = [1.23,1A234B,12AA345BB];
grep(/"1.23"/, @list); とやると、1A23も取得されます(正規表現で . は任意の一文字なので)

grep($_ eq "1.23", @list) とやると、文字列としてマッチしてくれるので、1.23だけが出力されます。 

OpenID対応しています OpenIDについて