Web System

darts0.2, chasen2.3.3をx86_64でインストールする方法

lib/dartsdic.cpp の 180 行目付近を下記のように変更 while (i != entries->end()) { const std::string& key = i->first; last = entries->upper_bound(key); lex_indices.clear(); for (; i != last; i++) { lex_indices.push_back(i->second); } lens[si…

レンタルサーバdreamhostでの日本語環境変数設定

レンタルサーバdreamhostを日本語環境で利用する際の時間の設定です。 zshでもbashでもだいじょうぶ。 export TZ='Asia/Tokyo' export LANG='ja_JP.UTF-8' export EDITOR='/usr/bin/vim'

実用レベルで使えるmovabletypeでサムネイル表示する方法

リストの横にとかちっちゃくかわいくブログのサムネイルとか入れたいじゃないですか。そんな時に下記のテンプレートを利用してください。setvarsに有効のサムネイルURLを投げ入れてそれを表示しています。有効ではない場合は定められたアイコンが入力されま…

実用レベルに耐えうるmt4/5で使えるパンク図(Folderを使います)

実用レベルに耐えられるようなmovabletypeのパンク図(ぱんくず)のテンプレートが思ったものが見つけられなかったので作りました。何らかのお役に立てればと思います。 <a href="<$mt:blogURL$>">HOME</a> &gt; <$mt:ParentFolders glue=">"$> <a href="<$mt:BlogURL$><$mt:FolderPath$>/"><$mt:FolderLabel$></a> </mt:ParentFolders> <$mt:unless name="base…

rhaco:ext.network.mail.Gmailにテンプレートを使ってメールする方法

以前に紹介した ext.network.mail.Gmail を使ってviewsのテンプレートなどを使ってメールを送信する方法をまとめておきます。 require('__init__.php'); Rhaco::import('generic.Views'); Rhaco::import('ext.network.mail.Gmail'); $v = new Views(); $gmai…

rhaco:columnConvVariable function

ColumnObjectからvariablesに変換するmethodがおそらく無いので作りました(あったら教えてください)。$columnObj->userSeiRubi のように変換されたcolumn objectを $request->variables['user_sei_rubi'] のように変換することができます。使い方は array co…

rhaco:project.xmlとTableObjectUtilの使い方など

project.xmlに書いたchoicesなどのデータを取り出したいことがありますよね。そういう時は下記のようにして取り出します。Usersテーブルのprefのchoices一覧を取り出す方法です。 Rhaco::import('model.Users'); var_dump( Users::columnPref()->choices() )…

rhaco:rhaco1.6でgmailのsmtpから送信する方法

rhaco1からgmailを送信するのが本当に面倒だったので全部まとめてライブラリにしました。 設置が結構面倒くさいです。下記をDOWNLOADします。rhaco1-gmail.zip中にはGmail.phpとphpmailer.phpとsmtp.phpが入っています。 phpmailerはあのPHPMailerです。利用…

rhaco: RequestLoginを拡張したRequestLoginExt

RequestLoginクラスは思った以上に拡張性がなかったので拡張しました。 http://api.rhaco-users.jp/d8/dd3/RequestLogin_8php-source.htmlデータベースにはusersテーブルにemail, passwordが必要という設定です。ログイン状態を保存するという機能を実装する…

rhaco: 都道府県コード for project.xml

意外となかったのでテンプレートに使ってください。 <data caption="北海道">1</data> <data caption="青森県">2</data> <data caption="岩手県">3</data> <data caption="宮城県">4</data> <data caption="秋田県">5</data> <data caption="山形県">6</data> <data caption="福島県">7</data> <data caption="茨城県">8</data> <data caption="栃木県">9</data>

rhaco: modelクラス インターフェース一覧

bool beforeUpdate(database::DbUtil)Views::update() 実行時にupdateSQLが実行される前に実行される。 bool beforeInsert(database::UbUtil)Views::create() 実行時にinsertSQLが実行される前に実行される bool afterUpdate(database::UbUtil)Views::update…

PHPで正方形のサムネイルを作る関数(jpegのみ作成)

jpegのサムネイルを作成しようと思ったときにいろいろなライブラリがありすぎて、なにぶんtoo muchなのです。単純にjpegの正方形を作りたいだけななのに意外とよいものがない。 というわけで作りました。 使い方は bool jpeg_thumbnail($source, $dest, $siz…

rhaco: model.xxx->verify()内でエラーメッセージを表示する

function verify(&$db){ ExceptionTrigger::raise(new GenericException('This is Error message.', 'xxx')); return false; } Exceptionクラスの詳細は http://api.rhaco-users.jp/d5/da8/classExceptionTrigger.html少ないrhacoの情報ですがかろうじて詳細…

rhaco: project.xmlでcookieの有効期限を設定する

<project> <cookie expire="123456" /> </project> cookie expire="" の一行を追加してやるだけです。 かんたんです。

samba server / smb.conf 設定例

samba serverの設定がややこしいので分かりやすくまとめてみた。 設定のポリシーは下記のとおりです。・ /etc/samba/smbpasswd でパスワード管理する ・ /mnt のデータをsambaとして公開する/etc/samba/smb.conf [global] workgroup = workgroup netbios nam…

lsyncによるファイル同期・小規模のバックアップ。すごく便利。

lsyncによるファイル同期システムの構築方法をメモがてらに。エンドユーザが使うサービスdropboxのように非常に小規模のバックアップシステムとして利用が可能です。その他、大規模なシステムのコンテンツ共有の手段としても非常に有効です。 30分もあれば構…

Movabletypeウェブページテンプレートの最適な作り方

Movabletype4のテンプレートの作り方は非常に多くのパターンがあるかと思いますが多くのサイトを作ってきて一番最適な方法がそれぞれにはあると思います。おいらの方法をメモがてらに乗っけておきます。ウェブページテンプレート(上部のみ) <$mt:SetVars$> t…

HTML ENTITY(HTMLエンティティ)

もう名前が分からないだけで作業が30分も遅れた。これはどうかな??この文字列をなんと呼べばいいかが分からなかった。呼び名はHTMLエンティティ。まったく。エンコードはUTF8であるがアスキーでもないしなーなんだろーなーと。phpではhtml_entity_decodeで…

EC-CUBE商品紹介での許可タグを増やす。

EC-CUBEはかしこいのかかしこくないのかいつもわかりません。その中でもタグの許可を設定するだけでも結構大変です。EC-CUBEの商品記事のタグを増やす方法をご紹介します。何かのためになれば。1.データベースのテーブル「mtb_allowed_tag」をいじります。…

EC-CUBEでメール送信の設定 for smtp

EC-CUBEのカスタマイズも非常に簡単でよいのですがメールの送信設定がむちゃめんどーくさい。sendmailで何度設定してもうまくいかないのでsmtpでメールを送信することにしました。 ec-cubeのdefaultがsmtpでの送信になっているので推奨ということなのでしょ…

Google Map APIの超基本的な使い方。

Google map APIは本当に便利です。かゆいところにも手が届くようになっています。 Javascriptと基本的なHTMLの知識さえあれば誰でもGoogle mapを自由に操れます。 1.Google map apiのキーを取得する。 http://code.google.com/intl/ja/apis/maps/signup.ht…

rhacoでGoogle Map Geocodingする方法。Google map APIを使って住所から緯度経度を検出する。

住所から緯度経度を調べるサービス(http://www.geocoding.jp/ など)がありますが、サービスを通さずに簡単に住所→緯度経度を検出できます。実際はGoogleにどこも頼っているわけですし。どこもここを参照するわけです。Google map api なんでわざわざ他のサー…

Chasen辞書を作る(辞書追加追加ではない)

Chasenの辞書を作るのに結構てこずったのでメモにしておく。1.オリジナル辞書の準備 辞書の元となるファイル(ここではmydic.chaとして)の作成。改行コードは(LF), 文字コードは(EUC-JP) 、Chasenの環境に合わせる(echo $LANGなどで確認)辞書ファイルフォー…

形態要素解析エンジンChasenをPHPから利用する

ChasenをPHPから利用する方法です。MeCabのほうが速いけどChasenが入っているレンタサーバのほうが多いみたいなので結構需要はあるんじゃないかなと思います。Chasenが /usr/local/bin/chasen にあるとして下記のfunctionで利用できます。Chasenエンジン側は…

rhaco: rhacoでHttp::request GET/POSTする方法。

Rhaco::import('network.http.Http'); $url = 'http://www.kmusiclife.com/'; $headers = array( 'User-Agent'=>'Mozilla/5.0', 'abc'=>'postdata' ); list($head, $body) = Http::request($url, 'POST', $headers); echo $body; rawdataを送りたいときは Rh…

Pear: Services_Amazon AMAZON APIを使う方法

AmazonをPHPのライブラリPEARから使う方法です。APIの変更が多くあるAMAZONなので今のところはこれでAPIの利用が可能です。下準備としてhttp://aws.amazon.com/よりアカウントを取得してAccess Key IDとSecret Access Keyを取得します。 http://aws.amazon.c…

rhaco: データベース操作(SQLクエリを直接)

Criteriaクラスを使ったORマッパーは非常に柔軟でプログラマのミスを減らしてくれたりしますが、SQLをダイレクトに書いたほうが早いことはあります。奨励はされませんが、まぁ分かりやすいこともあって使うことも多々あるかと思います。project.xml

rhaco: データベース操作(update)

project.xmlでrequire="true"になっている場合はupdateの際にrequireの項目にダミーデータを入れてあげてください。ダミーを入れないとエラーが出ます。その他unique="true"が設定されている場合はuniqueのカラムにダミーを入れたTableObjectを作成しQ::equa…

rhaco: データベース操作(delete)

rhacoでのdeleteの仕方を書き忘れていました。INSERT, SELECT, UPDATEができればDELETEはかんたんだお。project.xml <project rhacover="1.6.1" version="0.0.1" name="rhaco_test" xmlns="http://rhaco.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://rhaco.org http://m.rhaco.org/xsd/project_1_6_x.xsd"> <…</project>

rhaco: いまさらって感じのSimpleTagの使い方

xmlだけではなくhtmlも強力にパースするライブラリさん。 phpでスクレイピングするならrhacoが最適です。こんな便利なものはありません。 <xmp> <?xml version="1.0" encoding="UTF-8"?> <user> <id>3724581</id> <name>Yuta Konishi</name> <screen_name>kmusicl</xmp>…