ブログ内検索

プログラミング教材開発
大阪府高槻市原地区で肥料教室を開いています
 

MySQLのバックアップスクリプトを作成してみた

/** Geminiが自動生成した概要 **/
CPIの仮想専用サーバで開発中に、無料の50GBバックアップサーバを利用してMySQLのデータベースをバックアップするシェルスクリプトを作成した。スクリプトは`mysqldump`で全データベースをダンプし、gzipで圧縮、`scp`と`expect`を用いてパスワード認証でバックアップサーバに転送する。`expect`はscpのパスワード入力を自動化し、cronでの実行を可能にする。古いバックアップファイルの削除処理は未実装。`chmod +x`で実行権限を与え、cronで毎日実行するように設定。最後にバックアップサーバにbackupディレクトリを作成し、動作確認を行った。

 

山の岩は最終的に粘土に行き着く

/** Geminiが自動生成した概要 **/
粘土は、粒子の大きさで定義される一次鉱物が風化した二次鉱物です。脂肪酸のように疎水性と親水性を持ち、水中でコロイドを形成します。その形状はハロイサイトのような中空管状や、モンモリロナイト・バーミキュライトのような薄板状など多様です。粘土は粒子が小さいですが、必ずしも土を重くするわけではありません。

 

SOY Shopの商品規格プラグインでセール価格の設定を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの商品規格プラグインがアップデートされ、商品規格ごとにセール価格を設定できるようになった。従来の在庫数・価格設定に加え、セール価格も個別に設定可能。適用するには、親商品の詳細画面で「セール中」をチェックする必要がある。これにより、紐づく全ての規格にもセール価格が反映される。このアップデートにより、商品規格ごとに柔軟な価格設定が可能になり、販売戦略の幅が広がる。機能の詳細はSOY CMSフォーラムで確認できる。

 

ニンジンに含まれる栄養素は視細胞で使われる

/** Geminiが自動生成した概要 **/
ニンジンに含まれるβ-カロテンはプロビタミンAであり、体内でビタミンAに変換されます。ビタミンAは視細胞で使われ、暗闇での視覚に貢献します。哺乳類の祖先は、ネズミのような小型動物で、茂みの中などで植物の根をかじって生活していました。茂みの中は暗いため、食べ物を見つけるためには視力が重要でした。そこで、祖先は食べられるものに豊富に含まれるβ-カロテンを視細胞に利用するように進化したと考えられます。β-カロテンは植物の色素であり、光合成にも関わるため、視覚に利用されることは理にかなっています。ただし、根に多く含まれる成分が視覚に使われることは不思議です。β-カロテンは緑黄色野菜にも多く含まれます。

 

SOY Shopのマイページでログインの有無でテンプレートを分ける機能を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopのマイページで、ログイン有無によるテンプレート切り替え機能が追加されました。従来はログイン前後で同じテンプレートを使用していましたが、ログイン前は1カラム、ログイン後は2カラムといったレイアウト変更の要望に応えるため、ログイン時に別のテンプレートを読み込む仕組みが実装されました。具体的には、`mypage.html` というテンプレートを使用している場合、ログイン時は `mypage_no_login.html` と `mypage_no_login.ini` があればそちらが優先的に使用されます。これらのファイルは管理画面からは生成できず、手動でサーバーにアップロードする必要があります。機能の詳細はSOY CMSフォーラムとGitHubリポジトリで公開されています。

 

支柱根は株を浮かせる程強靭な根

/** Geminiが自動生成した概要 **/
水田の縁に生えたトウモロコシのようなイネ科植物は、支柱根と呼ばれる太く強靭な不定根を持つ。これにより、植物は強固に根付き、背丈が高くなっても倒れない。支柱根は土壌改良にも貢献し、特にモロコシは団粒構造形成に効果的。支柱根は株を少し浮かせることで株元に隙間を作り、酸素供給を促すことで、更に強靭な根と株の成長を促進する役割も担っている。

 

SOY Shopのメールビルダから出力される商品一覧に並び順設定を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopのメールビルダープラグインに、注文メールの商品一覧の並び順設定機能が追加されました。 従来、自動出力される商品一覧の並び順は固定でしたが、このアップデートにより変更が可能になります。 メールビルダーの管理画面から、商品名、商品コード、数量、価格の各項目を昇順/降順に指定することで、希望の並び順で商品一覧を出力できます。 ダウンロードと詳細はSOY CMSフォーラムにて提供されています。 この機能により、注文メールの可読性向上や業務効率化に繋がります。

 

まるまってるけど、日々成長しています

/** Geminiが自動生成した概要 **/
書くことが思い浮かばず、アサガオの葉をマクロ撮影してみた。成長はしているものの、変わった形の葉で、裏側が上を向き、指のような形状が5本ある。通常の和アサガオの葉と比較すると、重鋸歯が増えている可能性があるが、広げるのが怖いため確認できない。根の状態も気になるが、株が一つしかないため抜くこともできない。結局、マクロ撮影をしても特に書くことは増えなかった。

 

SOY CMSの画像のリサイズでJPEGのロスレス圧縮を追加した

/** Geminiが自動生成した概要 **/
SOY CMSでサーバサイド画像リサイズを実装後、PageSpeed Insightsで「ロスレス圧縮で容量削減可能」と指摘されたため、jpegoptimを導入した。Ubuntuに`sudo apt-get install jpegoptim`でインストール後、`/CMSインストールディレクトリ/common/im.inc.php`の`imagejpeg`実行後に`jpegoptim $savepath`を実行するよう改修。これにより、ロスレス圧縮の指摘が解消され、PageSpeed Insightsのモバイルスコアが93から96に向上した。変更コードはフォーラムで配布されている。

 

夏といえばヒマワリの下で起こっている土壌の変化

/** Geminiが自動生成した概要 **/
ヒマワリは景観だけでなく、緑肥としても優れた機能を持つ。特に土壌に蓄積した吸収できないリン酸を、吸収可能な形に変える効果がある。リン酸は有機質肥料や家畜糞に多く含まれ、過剰になりやすい。過剰なリン酸はカルシウム過剰によるミネラル欠乏や、有機態リン酸による様々なミネラルのキレート化で秀品率低下につながる。ヒマワリは菌根菌の働きでリン酸を可給化し吸収、土壌に残すことでリン酸量を減らしつつ可給態リン酸を増やす。無機リン酸の可給化には有機態リン酸分解菌資材、有機態リン酸にはクエン酸併用が有効と考えられる。これらの組み合わせで土壌のリン酸状態を改善できる。

 

SOY CMSの画像のリサイズ時にPNGの透過を無効にする

/** Geminiが自動生成した概要 **/
SOY CMSでPNG画像をリサイズすると、透過部分が黒くなる問題が発生。これはGDライブラリの画像リサイズ処理がPNGのアルファチャンネルを正しく扱わないためでした。`/common/im.inc.php`内のPNG処理に`imagealphablending($dstImage, false);`と`imagesavealpha($dstImage, true);`を追加することで、透過を保持したままリサイズが可能になります。この修正はGDライブラリ使用時のみ有効です。

 

江戸の庶民は捻れに期待を寄せたのか?

/** Geminiが自動生成した概要 **/
江戸時代の朝顔ブームでは、双葉や本葉の奇形は珍重され、珍しい花が咲く期待を高めた。しかし、現代の筆者はもらった朝顔の芽の奇形に不安を感じている。発芽後も無事に育つか自信がなく、江戸時代の人々のような高揚感はない。珍しい変化への期待よりも、無事に花が咲くかどうかの心配が勝っている様子がうかがえる。

 

SOY Shopの納品書作成プラグインで初回購入の表示設定を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの納品書作成プラグインに、初回購入者識別機能が追加されました。管理画面で設定を有効化すると、初回購入者の納品書に「初回購入」と表示されます。この機能はプラグインだけでなく、SOY Shop本体にも変更が加えられています。利用するには、GitHub上の最新版(https://github.com/inunosinsi/soycms/tree/master/package/soyshop)をダウンロードする必要があります。

 

バーミキュライトという名の薄板状粘土

/** Geminiが自動生成した概要 **/
バーミキュライトは雲母由来の薄板状粘土鉱物で、保肥力・保水力が高い。モンモリロナイトと同じ2:1型鉱物。蛭石(ひるいし)を高温で膨張させたもので、蛭石は雲母が風化したもの。化学式から、風化により鉄とマグネシウムの供給源となり、保肥力と保水性が向上することがわかる。比較的高価なため、露地での使用は難しい。

 

SOY Shopで初回登録時にメルマガ会員になるとポイントをプレゼントする機能を追加しました

/** Geminiが自動生成した概要 **/
SOY ShopのSOY Mail連携プラグインで、初回登録時にメルマガ会員になるとポイントプレゼントする機能が追加されました。プラグイン設定画面でポイント数を指定すると、カートとマイページの会員登録時に「メルマガ会員でポイントプレゼント」と表示され、登録完了後にポイントが付与されます。ポイントは顧客のポイント履歴に記録されます。この機能を利用するには、GitHubにある最新版SOY Shopをダウンロードする必要があります。

 

あそこからヤブガラシが消えた

/** Geminiが自動生成した概要 **/
ヤブガラシが生い茂っていた畑が、廃菌床と二次鉱物の投入により土質改善後、ほぼ消滅した。ヤブガラシは土壌の指標植物になり得るのか? 図鑑には記載がない。ヤブガラシが消えた土壌には弱酸性土壌の指標植物シロザが生育していた。シロザは土壌に良い影響を与える緑肥候補。ヤブガラシとシロザの生育時期は重なるため、ヤブガラシ優勢下ではシロザは育ちにくい。土壌pHが安定し緩衝能を持つ土壌ではヤブガラシは弱体化するようだ。ヤブガラシ旺盛な土壌は作物に不向き。ヤブガラシの繁茂は土壌改善のサインと言える。

 

SOY Shopで購入回数属性自動振り分けプラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shopのメールマガジン機能では、購入回数による絞り込み送信ができないため、顧客属性を活用する必要がある。しかし、手動設定は顧客数が多いと手間がかかる。そこで、購入回数に応じて自動で属性を振り分けるプラグインが開発された。管理画面で回数と属性名を設定し、cronに自動更新スクリプトを登録すれば、顧客全員に自動で属性が設定される。このプラグインにより、購入回数に基づいたメール配信が可能になる。ダウンロードはSOY CMSフォーラムにて提供されている。

 

続・カエデ君の生きる道

/** Geminiが自動生成した概要 **/
一年前、京都の柱の根元に芽吹いた小さなカエデの生命力に感銘を受け、ブログ開始のきっかけとなった。一年後の今日、カエデの成長を見ようと訪れたが、跡形もなく消えていた。抜かれてしまったのだろうか。時の流れの速さと、儚い命に思いを馳せる。それと同時に、ブログ開始から一年が経ったことを感慨深く振り返る。

 

SOY Shopのクーポン自由設定プラグインで送料無料クーポンを発行できる様にしました

/** Geminiが自動生成した概要 **/
SOY Shopのクーポン自由設定プラグインに送料無料クーポン発行機能が追加されました。管理画面で「送料無料」にチェックを入れてクーポンを作成すると、カートで利用時に送料と同額が値引きされます。値引き額/率に加えて送料無料クーポンも発行可能になったことで、より柔軟なクーポン設定が可能になります。最新版はGitHub(https://github.com/inunosinsi/soycms/tree/master/package/soyshop)からダウンロードできます。

 

電子書籍の販売を始めました

/** Geminiが自動生成した概要 **/
齋藤毅の妻、亮子が夫の農業ブログを電子書籍化。亮子はJAや農業法人での経験、ミャンマーでの農業研修を経て、従来の農業の常識を覆す齋藤の知識に感銘を受けた。牛糞堆肥の代わりにバーク堆肥や鉱物を推奨するなど、化学式に基づいた齋藤の土作り論は、亮子にとって衝撃的だった。土作りに悩む農家や、慣習的に資材を選んでいる人に向けて、齋藤の知見を共有したいと考え、書籍化に至った。価格は500円(税込)。サンプルの閲覧方法も用意されている。

 

ヤブガラシは葉物野菜に巻き付く

/** Geminiが自動生成した概要 **/
ヤブガラシは除草剤が効かず、葉物野菜に巻き付いてしまう厄介な雑草。知人の畑ではネギに絡みつき、除草剤散布後もヤブガラシだけが残ってしまった。手で抜くしか方法がないが、巻きひげが作物を傷つけるため、除草剤散布後の手作業も重労働となる。ヤブガラシへの効果的な対策がなく、農家にとって大きな負担となっている。しかし、筆者はヤブガラシに関する面白い発見をしたようで、次回に続く。

 

ブラウザのキャッシュの設定

/** Geminiが自動生成した概要 **/
SOY CMSのキャッシュモードを利用することで表示速度を大幅に向上させることができます。キャッシュモードには、「出力キャッシュ」「ブロックキャッシュ」「データキャッシュ」の3種類があります。出力キャッシュはページ全体をキャッシュし、ブロックキャッシュはページの一部のブロックをキャッシュ、データキャッシュはデータベースへのアクセス結果をキャッシュします。それぞれのキャッシュモードは管理画面から簡単に設定でき、サイトのアクセス状況や更新頻度に合わせて最適な設定を選択することで、サーバー負荷を軽減し、表示速度を向上させることができます。特に、頻繁に更新されない静的なページやアクセス数の多いページでは、出力キャッシュが効果的です。キャッシュのクリアも管理画面から簡単に行えます。

 

ヤブガラシの恐怖

/** Geminiが自動生成した概要 **/
庭園に生えたヤブガラシの脅威を紹介する記事。カボチャのような巻きひげを持つヤブガラシは、栽培者にとって厄介な雑草。カボチャが巻きひげで他の植物を抑えるのは問題ないが、ヤブガラシの場合は作物に悪影響を与える。写真では一見背の低い草を抑えているように見えるが、実際は深刻な被害をもたらす。記事はヤブガラシの真の恐ろしさを写真で示すことを予告し、次回へ続く。

 

SOY CMSのサムネイルプラグインでラベル毎に標準画像の設定を追加しました

/** Geminiが自動生成した概要 **/
SOY CMSで記事投稿時に毎回サムネイル画像を用意するのは手間がかかる。特に、カテゴリ毎に同じようなサムネイルを使い回したい場合、作業効率が悪い。そこで、サムネイルプラグインの設定画面でラベル毎に画像を設定できるように機能拡張した。記事投稿時に該当ラベルにチェックを入れるだけで、予め設定した画像パスがアップロードフォームに挿入される。異なる画像を使いたい場合は、通常通りアップロードフォームから画像を指定すれば良い。この改良により、カテゴリ毎に共通のサムネイル画像を設定する場合の作業負荷が大幅に軽減される。尚、サムネイルプラグインを使わずとも、記事本文の画像をリサイズ表示する方法もある。

 

SOY CMSで表示直前で画像のリサイズ表示を行う

/** Geminiが自動生成した概要 **/
SOY CMSでサイト表示を高速化するために、表示直前にサーバ側で画像リサイズを行う方法を紹介しています。Google PageSpeed Insightsで低評価を受けた画像サイズの問題を解消するため、サムネイルプラグインではなく、SOY CMSの隠し機能を活用。具体的には、カスタムフィールドに画像パスを入力し、imgタグのsrc属性に`im.php?src=[画像パス]&width=[幅]`を指定することで、動的にリサイズされた画像を表示。従来のHTMLのwidth属性による縮小表示よりもパフォーマンスが向上し、PageSpeed Insightsのスコアも改善。記事では、設定変更前後の具体的なコード例やスクリーンショットを交えながら解説。リサイズ処理はJPEG、PNG、GIFに対応し、作業フローを簡略化しつつサイト高速化を実現。次回、CSSや画像のキャッシュ設定について解説予定。

 

夏に咲く花と厚い葉

/** Geminiが自動生成した概要 **/
夏に咲く厚い葉の花の名前を知りたい。多肉質の葉は乾燥地帯や海岸で見かけることが多く、蒸散を防ぐため葉を厚くしていると考えられる。気孔から中心までの距離を長くすることで、水ストレスの影響を低減し、体内の水分を保持する。この花は日本の多湿な環境でも元気に咲いている。一体、この花の名前は何だろう?

 

インストーラーで再インストール後にサイトを復元

/** Geminiが自動生成した概要 **/
SOY CMSのインストーラによる再インストール後、サイトを復元する方法です。まず、再インストール前にサイトのソースコードからサイトID(例: /site/files/ の"site"部分)を確認しておきます。次に、インストーラで再インストールする際、インストール先ディレクトリを既存のものと異なる名前に変更します。インストール完了後、初期管理者を作成し、「サイトの復元」ではなく「サイトの作成」を選択します。ここで、事前に確認しておいたサイトIDを入力してサイトを作成します。サイトIDが正しければ、既存のファイル群が使用され、サイトが復元されます。最後に、元の管理画面URL(例: /cms/admin)で再インストールを行い、以前のデータベースに接続できないようにすることでセキュリティ対策を行います。データベース接続設定ファイル(例: mysql.db)を復旧すれば、元のアカウントも復元可能です。


Powered by SOY CMS  ↑トップへ