termuxにmariadbをインストールする

termuxはMySQLをサポートしていないようなので、妹分のmariadbをインストールすることにしました。

【インストール】

インストールは 

pkg install mariadb

または

apt install mariadb

と、とても簡単です。但し、当初 "Error reading from server - read (5: I/O error)" が出て、どうしてもインストールできませんでした。諦めかけていたのですが翌日 apt を実行すると、あっさり成功しました。何だったんだろう?

 

文字コード

文字コードの変更は MariaDB(MySQL)の文字コード変更 - CentOSinstall.com を参考にさせてもらいました。

/data/data/com.termux/files/usr/etc/my.cnf.d の下に server.cnf というファイルを作成します。中身は 

[client]
default-character-set = utf8mb4
[mysqld]
character-set-server = utf8mb4

 の4行です。この上で

mysqld&

とデーモンを起動すると、日本語が使えるようになりました。

 

【実動】

サーバー側で mysqldump により作成した vocabulary.sql を scp で termux に転送し、データベース登録するスクリプトです。

#!/bin/bash
remote_host="xxx.xxx.xxx.xxx"

scp -i ~/.ssh/id_rsa.server \
user@${remote_host}:/home/user/work/DBback/vocabulary.sql \
/data/data/com.termux/files/home/DBback

mysql dragon < /data/data/com.termux/files/home/DBback/vocabulary.sql

rm /data/data/com.termux/files/home/DBback/vocabulary.sql

f:id:S_E_Hyphen:20201108161706p:plain

スマホでデータベース検索が可能になりました。

酢ゴボウ【失敗】

以前のように酢ゴボウを作ろうと思ったのですが、泥を奇麗に落としてくれてある「洗いゴボウ」が手に入ったため、皮剥きを省きました。それは正しかったと今でも思っているのですが、細めのゴボウだったため更に半割りもしませんでした。その結果、調味液を吸収してくれないという事態に至ってしまいました。

f:id:S_E_Hyphen:20201031101841j:plain

酢ゴボウを作る際は、皮を剥くか、せめて半割りの手間をかける必要があるようです。

 

柿キムチ

以前ラジオで、「バナナキムチ」「バナナ山葵漬け」が酒の肴として紹介されていました。ふと、そのことを思い出したので「柿キムチ」を試してみました。作り方は、みじん切りした柿をキムチに和えるだけで、とても簡単です。食べやすいように、気持ちキムチも細切れにしてみました。

f:id:S_E_Hyphen:20201018113110j:plain

少し甘めの肴が欲しいときにはピッタリです。とはいえキムチの辛味が加わりますので、ただ甘いだけという訳ではありません。若い柿より熟した柿の方がより美味しそうです。

HTML文書PDF印刷の改良

以前、HTML文書を作成しPDF変換する スクリプトを作成しましたが、これを改良してみました。

 

(1)枠幅を固定したい。

各セル内の文字数が十分に多ければ気にならないのですが、少ない場合、表ごとに列の大きさがバラバラになっていました。右余白が大きくなってしまう事も有り、やや見苦しい印象がありました。

 <table border="1" width="100%">
<caption><span style="font-size: 150%;">${key}</span></caption>
<meta http-equiv="content-type" charset="utf-8">
 <tr>
<th width="6%">第1列</th>
<th width="32%">第2列</th>
<th width="30%">第3列</th>
<th width="32%">第4列</th>
</tr>

と見出し行で幅指定をしてやることで、枠幅を固定することができました。 width は %表示だけでなくピクセル数でも指定できます。

 

(2)ヘッダーを付けたい

wkhtmltopdf では、「 --header-right 文字列 」オプションでヘッダーを指定できるはずなのですが、上手くゆきません。色々調べるとwkhtmltopdf にはQTパッチ版と、そうでないものがあることが分かりました。そこで、QTパッチ版を再インストールするとオプションが作用するようになりました。 

 wkhtmltopdf -q -T ${top_margin} -B ${bottom_margin} \
    -L ${left_margin} -R ${right_margin} \
    --print-media-type \
    --header-right "${key[$i]}" --header-spacing 5 \
    ${temp_html} ${temp_pdf} \
    >/dev/null 2>&1    

 (3)セルの途中で改ページさせない

ところが逆にQTパッチ版の wkhtmlpdf では用紙の大きさに合わせて、平気でセルの途中で改ページをするようになってしまいました。

f:id:S_E_Hyphen:20201010122215p:plain

これは少し都合が悪いので、HTML文書内にスタイルシートを埋め込むように改良しました。

<html>
<head>
<meta charset="UTF-8">
<style type="text/css">
table { page-break-inside:auto }
tr { page-break-inside:avoid; page-break-after:auto }
</style>
</head>
<body>
<table border="1" width="100%">
<caption><span style="font-size: 150%;">2020年10月01号复习</span></caption>

 

以上の変更を加えた make_pdf と make_html のリストです。

#!/bin/bash
host=xxx.xxx.xxx.xxx
database=dddddd declare -a key=( \ `mysql -N -h ${host} ${database} << _SQL_ select word from keyword where word like "%复习" group by word order by word; _SQL_ `) left_margin=25 # 左余白の設定 right_margin=15 # 右余白の設定 top_margin=20 # 上余白の設定 bottom_margin=18 # 下余白の設定 # 一時ファイルの作成 temp_html=`mktemp ./XXXX.html` temp_pdf=`mktemp ./XXXX.pdf` output_pdf="review_note.pdf" for (( i=0; i<${#key[*]}; i++ )) do echo ${key[$i]} # データベースよりKEYオプションに応じて検索を実施し、 # HTML文書を作成する自作コマンド ./make_html key=${key[$i]} > ${temp_html} # wkhtmltopdf にて PDF文書に変換 # ( 余白の設定については https://stackoverrun.com/ja/q/10907299 を参考) wkhtmltopdf -q -T ${top_margin} -B ${bottom_margin} \ -L ${left_margin} -R ${right_margin} \ --print-media-type \ --header-right "${key[$i]}" --header-spacing 5 \ ${temp_html} ${temp_pdf} \ >/dev/null 2>&1 # loop 1回目は${temp_pdf}を${output_pdf}に変名しループを離脱 if [ $i -eq 0 ] then mv ${temp_pdf} ${output_pdf} else # pdftk で結合の実施 # 一時ファイル ${united_pdf} に出力し、 # ${output_pdf} にファイル名変更することで # 再帰的な結合を繰り返す united_pdf=`mktemp ./XXX.pdf` pdftk ${output_pdf} ${temp_pdf} cat output ${united_pdf} mv ${united_pdf} ${output_pdf} fi done rm ${temp_html} ${temp_pdf} 

 

#!/bin/bash
key=`getparstr $# "$*" "key"`

#################################################
host=xxx.xxx.xxx.xxx
database=dddddd
temp=`mktemp ./XXXX` if [ ! -z "${key}" ] then mysql -h ${host} -N ${database} << _SQL_ > $temp select v.id,ch,py,ja from vocabulary v right join keyword k on k.id=v.id where k.word like "%${key}%" order by k.sub_id,v.id; _SQL_ else rm $temp; exit fi cat << _HEADER_ > /dev/stdout <html> <head> <meta charset="UTF-8"> <style type="text/css"> table { page-break-inside:auto } tr { page-break-inside:avoid; page-break-after:auto } </style> </head> <body> <table border="1" width="100%"> <caption><span style="font-size: 150%;">${key}</span></caption> <meta http-equiv="content-type" charset="utf-8"> <tr> <th width="6%">番号</th> <th width="32%">中国語</th> <th width="30%"> 拼音</th> <th width="32%">日本語</th> </tr> _HEADER_ cat $temp |\ awk -F"\t" --assign line="$line" \ '{printf " <tr valign=\"top\">\n"} \ {printf " <td align=\"right\">%d</td>\n",$1} \ {printf " <td>%s</td>\n",$2} \ {printf " <td style=\"font-size:85%;\">%s</td>\n",$3} \ {printf " <td style=\"font-size:80%;\">%s</td>\n",$4} \ {printf " </tr>\n"}' >> /dev/stdout cat << _FOOTER_ >> /dev/stdout </table></body></html> _FOOTER_ rm $temp; exit

カレー豆腐

山口恵以子 (2019)「食堂のおばちゃん5『真夏の焼きそば』」( ISBN:9784758442282 )に出てくるカレー豆腐が、とても簡単かつ美味しそうだったので作ってみました。

 

具材 備考
木綿豆腐 半丁  
豚肉 100グラム  
玉ねぎ 半個  
ニンジン 1/4本  
カレー粉、和風だし他 適量  

 

玉ねぎとニンジンは薄切り、豆腐も食べやすい大きさに切る

鍋に水と酒・醤油・和風だしを入れ、肉と野菜を煮て火が通ったら豆腐を加える。

カレー粉を入れて調整する。

水溶き片栗粉でとろみを付けて出来上がり。

f:id:S_E_Hyphen:20201003111357j:plain

何だか、もっと豆腐の長所が引き立つ味を想像していましたが、普通に美味しいカレーでした。

中秋节

2020年10月1日は、中国の国庆节(Guóqìng jié)で、かつ中秋节(Zhōngqiū jié)でもありました。国庆节とは日本でいうところの建国記念日ですが、中秋节は中秋の名月のことだそうです。秋晴れの中、とても奇麗な満月を見ることができました。

f:id:S_E_Hyphen:20201002160312j:plain