ok_admin avatar
Full name:
Nickname:
ok_admin
Website:
Description:

Posts by ok_admin

ブドウ作り

倉敷市にある親戚の温室を1棟貸してもらい、2年前からブドウを栽培しています。
現在、マスカットオブアレキサンドリア、シャインマスカット、マスカット デュークアモーレが実っています。

syain_2013_1m
この写真のシャインマスカットは500gくらいの少し小ぶりなもの。もう少し粒が大きく育っていれば最高です。糖度はこの時期で17度から20度くらい。収穫が始まっています。

mascut_2013_2m
この時期、アレキは、粒のまわりに白い粉上のものが出てくるので、粒に直接触れません。
これは「果粉(かふん)」と言って、ミネラルの成分がしみでたもの。収穫にも細心の注意が必要です。
収穫は9月初旬からの予定。

もともとはアレキのみだったのですが、木も古くなっていたので、少しずつ新しい種類に更新。
デュークアモーレは、実の付き方に癖があり、今年はとりあえず様子見。30房ほど実っています。
来年は、シャインマスカットがあと1本とナチュベアマリという福島発の新品種のブドウが実る予定。


二階堂ふみさんの映画

現在、注目している二階堂ふみさんの出演する映画
「地獄でなぜ悪い」が9月28日に公開される。
岡山での上映予定が最近までなかったのだが、8月27日に確認するとTOHO岡南が追加されている。
大阪まで行かなければと思っていたが、岡山で見ることが出きて良かった。
今年は11月に「四十九日のレシピ」がある。原作も読んだし、ぜひ見てみたい映画。こちらは岡山で上映されるでしょうか。


PEAR Cache_Lite覚書

公開されているAPIデータから得られたデータからHTMLページを作成する時、表示を早くしてくれるのが、PEARの Cache_Liteです。
Cache_Liteにはいろいろな使い方があるようですが、ひとつは取得したデータをキャッシュして保存しておく方法。もうひとつは取得したデータからHTMLページとなったものをキャッシュとして保存しておく方法。覚書として。
1、ひとつは取得したデータをキャッシュに保存
APIのリクエストurlを$reqとする。

require_once('Cache/Lite.php');
//キャッシュIDのセット
$cache_id ='[リクエストパラメーターなど]';
$cacheOptions = array(
'cacheDir' => dirname(__FILE__).'/cached/',
'lifeTime' => 24*3600,
//デバッグ時は0に
);
$objCache = new Cache_Lite($cacheOptions);
if ($cache = $objCache->get($cache_id)) {
    $PHP_DATA = $cache;
}
else{
    $huubuff = file_get_contents($req);
$PHP_DATA = unserialize($huubuff);
//APIデータがPHP形式の場合
 $objCache->save($PHP_DATA,$cache_id);
}

2、書き出したHTMLをキャッシュで保存

require_once('Cache/Lite.php');
$options = array(
       'cacheDir' => dirname(__FILE__).'/cached/',
       'lifeTime' => 24*3600,
);
$cache_lite = new Cache_Lite($options);
$cached_data = $cache_lite->get($cache_id);
$cache_id = '[リクエストパラメーターなど]';
$cached_data = $cache_lite->get($cache_id);
if ($cached_data) {
      echo $cached_data;    
} else {
//リクエストURLからAPIデータ取得して処理
$XML_DATA = simplexml_load_file($req);
//この場合XML形式のデータ処理
//データ処理HTML書き出しの前に
ob_start();//スタート
//----略-----
$hu_text = ob_get_contents();
ob_end_flush();//書き出し終了
$cache_lite->save($hu_text, $cache_id);
}

Yomi-Search メモ Yomi-SearchのDBクラスを利用して特定のカテゴリを表示

忘れないための備忘録として

ローカル環境で試すため、あらかじめclass>db.phpにローカルのデータベース設定。Yomi-Searchの中でテンプレート無しで実行できるsitemap.phpを利用。
sitemap2.phpとかで保存。
function_reg.phpの内容を確認する場合もあるので
// インクルードの設定に

require './functions_reg.php';

も加えておく。
カテゴリpath 「50/01/」のタイトルを表示したい時、sitemap2.phpに

$Cate_key = "50/01/";

$query = "SELECT title,path, regist FROM {$db->db_pre}category WHERE path='{$Cate_key}'";

		$row = $db->single_assoc($query);
		$Cate_title= $row['title'];
echo $Cate_title;

とするとカテゴリpath「50/01/」のタイトルが表示される。
カテゴリ登録関係の仕組みを変えたかったので試してみました。


Yomi-search お薦めサイトと相互リンクをRSS化 メモ

忘れないためのメモです。
お薦めサイトとか相互リンクはYomi-searchのデータベースの「テーブル: yomi_log」の「mark」という項目に’1_0_0_0_0_0_0_0_0_0′というように登録されている。相互リンクは’0_1_0_0_0_0_0_0_0_0′となり、両方の場合は’1_1_0_0_0_0_0_0_0_0′となる。

Yomi-SearchのYomi-Search(PHP)modifiedにはRSSディレレクトリにrss.phpがあるのでそれを利用。

rss.phpの新着サイト、更新サイトは「テーブル: yomi_log」の「stamp」を読み込んで判定しているのでそれを「mark」に変えてピックアップ。
rss.phpの65行辺りにある

// 各モードへ分岐
//================
if (@$_GET['mode'] == 'new') {

	// 新着サイト
	//============
	$title = $cfg['search_name'] . ' (新着サイト一覧)';
	$sql = ' WHERE stamp > ' . $ntime . ' AND renew != 1 ORDER BY id DESC';
	$description = '新しく登録されたサイトの一覧です。';

} elseif(@$_GET['mode'] == 'update') {

	// 更新サイト
	//============
	$title = $cfg['search_name'] . ' (更新サイト一覧)';
	$sql = ' WHERE stamp > ' . $ntime . ' AND renew = 1 ORDER BY stamp DESC';
	$description = '登録内容が更新されたサイトの一覧です。';

} else {

	// 引数が不正な場合は処理を中断
	//==============================
	echo '引数が不正です。処理を中止します。';
	exit;

}

のところを、次のように変更。
出力する条件として、ランダムに10件選んで表示とした。

if (@$_GET['mode'] == 'm1') {

	// おすすめサイト
	//============
	$title = $cfg['search_name'] . ' (おすすめサイトピックアップ)';
	$sql = " WHERE mark LIKE '1___0_0_0_0_0_0_0_0' order by rand() limit 10";
	$description = 'おすすめサイトのピックアップです。';
} elseif(@$_GET['mode'] == 'm2') {

	// 相互リンク
	//============
		$title = $cfg['search_name'] . ' (相互リンクサイトピックアップ)';
	$sql = " WHERE mark LIKE '__1_0_0_0_0_0_0_0_0' order by rand() limit 10";
	$description = '相互リンクサイトのピックアップです。';

} else {

	// 引数が不正な場合は処理を中断
	//==============================
	echo '引数が不正です。処理を中止します。';
	exit;
}

のように変えて別名で保存。
特殊マークをつけた場合はマークの0をアンダースコア_に変える。


スパムメールのタイトルが巧妙に

最近、スパムメールのタイトルが巧妙になっている。

「RE:商品の購入を検討しています資料などありますか?」
「資料請求ありがとうございます!資料ID・・・」
「請求内容ご確認メールご請求ID・・・」

など一般の商取引を装った偽装メール。
即時消去するものの、あまりの多さにうんざりです。
YAHOOで検索をかけてみるとやはり迷惑している人が多い。


Yomi-searchにwordpressデザインと関数を呼び込む (覚書)

今まで気になっていてなかなかできていなかったYomi-searchのデザイン変更。
Yomi-searchのtemplateファイルは、拡張子htmlなんだけど実はphpファイルということを確認してから、3カラムのCSSを使ったデザインに変更していました。
ローカル環境でテストしてうまくいったのですが、今度はどうせ変えるなら、ブログで使っているwordpressのデザインをYomi-searchのデザインに使えないかと思いさらに試行錯誤。

1、まず、wordpressには、外部PHPからWordPress関数を利用する方法がある。
 「http://emylo0.com/」さんのサイトの2011/12/09 の記事に書いてあったのでローカル環境で試してみた。
wordpress以外のphpファイルに

require('/[wordpressをインストールしたディレクトリー]/wp-blog-header.php');

とすると、wordpressの関数が実行できる。
2、wordpressのテーマを決めて、yomisearch用のheadrファイル、side-bar-rightファイル、footerファイルを作成しそれぞれheader-yomi.php,sidebar-right-yomi.php,footer-yomi.phpを作成する。leftメニューは、wordpressとのメニューと共通にするのでデフォルトで使うことにする。
3、yomi-serchのテンプレートファイルをヘッダー、左サイド、本文、右サイド、フッターに分けて
作成。元のファイルは残しておいてエラーが出た時の復旧に使う。
4、top.htmlは次のような構成になる。

<?php
get_header(yomi);
   get_sidebar();
?>
<div id="content">
本文
<div>
<?php
get_template_part('sidebar-right_yomi');
get_footer(yomi);
?>

5、これでとりあえずtop.htmlとcategory.htmlを組み替えて実験してみた。
6、データベースエラー。wordpressのデータベース内にありませんというエラー。
7、調べると、データベースの競合から起きるエラー。本文のデータベースを呼び出す部分では、

mysql_connect("[yomi-searchデータベース名]", "[ユーザー名]", "[パスワード]") or die("DB接続エラー");
mysql_select_db("[yomi-searchデータベース名]") or die("DB接続エラー");

として、Yomi-searchのデータベースに接続する必要がある。
8、右サイドからもう一度wordpressの環境を取り入れるので再度wp-blog-header.phpを記述。

<?php
require('/[wordpressをインストールしたディレクトリー]/wp-blog-header.php');
get_template_part('sidebar-right_yomi');
get_footer(yomi);
?>

9、外部ファイルなので、wordpress内でプラグインを導入しないと使えないphpコードが本文に使用できる。


今、楽しみなこと

以前、シネマクレールで「劇場版 神聖かまってちゃん ロックンロールは鳴り止まないっ」を見に行った。確かNHKで神聖かまってちゃんの特集をやっていて、映画のことを知ったように記憶している。いろいろな人のなにげない日常と神聖かまってちゃんの関わりが描かれている。その映画の中に将棋のプロの棋士を目指している女子高生で出演していたのが二階堂ふみ。妙に印象に残っていたら、今度は「ヒミズ」にも出演。国際的な新人賞をもらっていた。「ヒミズ」を見て、「悪の教典」を見て「脳男」。なんとなく気になって見に行ってしまいました。そして今度は4月、愛知県まで舞台M&O playsプロデュース「八犬伝」を見に行きます。

阿部サダヲ・瀬戸康史・二階堂ふみ・田辺誠一出演  「八犬伝」が新たな物語となって甦る!

大阪のチケットを買いそびれて、刈谷市まで出張です。

どんな二階堂ふみが見れるのか楽しみです。


yomi-search php版 メモ

Yomi-search php版をこのサイトに導入したものの時間がなくあまり手がかけられなかったのですが、最近少し時間が出来たので色々と試行錯誤しています。
Yomi-search php版も、CGI版と同じくtemplateファイルを利用する。
しかし、CGI版と違うところは、templateファイルが拡張子htmlなのに中身はphpファイルというところです。したがって、Yomi-search php版のtemplateファイルはパーツに分けてインクルードが効くことが試してみて分かりました。周知のことだったのかも知れませんが私にとっては大発見。
まず基本になるcssのデザインを決め、2カラムの場合だと、共通になりうるheader.phpと左サイドにleft_side.php、下部にfooter.phpを作り、各templateファイルの本文をその間に記入することでyomi-serchの出力結果がブログ風になります。
top.htmlのヘッダー部分header.phpをtemplateデレクトリにpartsホルダーを作って置いた場合は次のようなインクルードです。yomi.phpからtemplateファイルを読み込むように設定すればいいようです。

[php]
<?php "template/parts/header.php"); ?>
[/php]


yomi-searchのカテゴリーを他のディレクトリーに表示-メモ2

その2
2、yomi-searchのスクリプトを活用してデータベースを読み出して表示

Mysqlを利用することに変わりはないけどせっかくのyomi-search phpのプログラムを活用するほうが合理的。
最初、うまく行かなかったから1の方法を試したのだけれど。
まず参考になったのがhoge256さんの
PHP の include, require で相対パスを指定して読み込む場合のメモ」という記事。
以下引用
この問題は、実行ファイルのディレクトリではなく、参照しているファイルのディレクトリを基にパスを取得することで回避することができます。具体的には dirname(__FILE__) を使って次のように書きます。

www/func/function.php ファイル

1
2
 
include(dirname(__FILE__) . &quot;/../class/class.php&quot;);

これで、問題無く実行されたかと思います。

__FILE__ は PHP の定数で、現在参照中のファイルのフルパスとファイル名を表します。dirname はパス中のディレクトリを取得する関数です。なお、dirname の結果は最後に / が付かないので、上記の例のように / を付け忘れないようにしましょう。

引用終わり

とあります。

そこで唯一templateを通じて結果を書き出していないsitemap.phpをyomi-searchの上部のルートデレクトリーにコピーして

1
2
3
4
// インクルード
require 'class/db.php';
require 'functions.php';
require 'ads.php';

1
2
3
4
// インクルード
require dirname(__FILE__).'/yomi/class/db.php';
require dirname(__FILE__).'/yomi/functions.php';
require dirname(__FILE__).'/yomi/ads.php';

に変更。
これでルートディレクトリーからyomiディレクトリのインクルードファイルを読み込んで、mysqlを通じてサイトマップが表示されます。
長い間できないと思って放置していたのですがよかったです。
また、総登録数は、sitemap.phpの
// textテーブルから設定情報を配列($text)へ読込
の後ろくらいに

$total_num = $db-&gt;log_count($db-&gt;db_pre.'log');

を加えると取得できました。
ちなみにローカルのxamppの環境でもこの方法は有効です。もっと早く理解していれば無駄な時間を使わずにすんだかもしれません。hoge256さんの記事は2007年8月のものでした。すばらしい情報に感謝です。