ブログ内検索

プログラミング教材開発
大阪府高槻市原地区で肥料教室を開いています
検索キーワード:「管理」
 

やまどうぐレンタル屋様サイトの韓国語サイトの制作で、生成AIを活用して編集作業を大幅に削減しました

/** Geminiが自動生成した概要 **/
やまどうぐレンタル屋の韓国語サイト制作で、1000件超の商品情報翻訳を担当。膨大な翻訳量を効率化するため、生成AI「Gemini」のAPIをCMSに組み込み、商品情報の自動翻訳・データベース挿入システムを開発しました。 「手ぶら割」など独特な言い回しの翻訳失敗を避けるため、文字列分割・再結合処理を導入。これにより翻訳成功率は約80%に達し、手動修正を含めても当初予定の1/20の作業時間で完了しました。 また、既存の英語・中国語サイトの管理画面におけるページ周りのUI改善も行いました。

 

土壌改良した田でカエルがたくさん泳いでいる

/** Geminiが自動生成した概要 **/
土壌改良した田んぼで、オタマジャクシからカエルになったばかりのカエルやヤゴを多数確認。周辺の田んぼより水位が高く、生育に適した環境が影響していると考えられる。害虫を捕食する生物が多いことは安心材料だが、中干しでこれらの生物がいなくなる田んぼを見ると、日本の食糧事情に不安を感じる。中干しの歴史は浅いという記事も参照。

 

田植え後の水田の水が濁ったままなのは何故なのだろうか?

/** Geminiが自動生成した概要 **/
田植え後の水田の濁りが気になる。秀品率の低い田で濁りが続く原因として、過剰な代掻きや未分解有機物の存在が考えられる。ベテラン農家の指導による管理方法の差は少ないため、土壌の状態が影響している可能性が高い。畑作から転換した田で濁りが続く場合、土壌鉱物の劣化による腐植や金属系養分の保持能力の低下、リン酸やカルシウムの過剰蓄積が考えられる。特に粘土鉱物が関与する土壌鉱物の劣化は、コロイド化により濁りが解消されにくい。

 

米ぬか嫌気ボカシ肥の失敗のサインの悪臭化合物についての続き

/** Geminiが自動生成した概要 **/
米ぬか嫌気ボカシ肥の失敗サイン、今回はアンモニア。米ぬかのタンパク質が嫌気環境でアミノ酸に分解され、水分が多いと脱アミノ反応でアンモニアが発生。酵母がアンモニアを利用できれば問題ないが、水分管理が悪いと腐敗菌が活発になりアンモニアが蓄積。ただし、この反応で水分は消費される。

 

SOY CMSとSOY ShopでHTMLモジュールの見直しを行いました

/** Geminiが自動生成した概要 **/
SOY CMSとSOY ShopでHTMLモジュールの仕様を見直し、PHPファイルでHTMLモジュールを呼び出し可能に。HTMLモジュールの出し分けや複数出力、処理後のHTML出力などが可能になり、柔軟性が向上。詳細は公式サイト(saitodev.co/soycms/)で確認ください。

 

土壌の生物性についての理解が進んだ

/** Geminiが自動生成した概要 **/
京都府内320箇所のネギ栽培土壌の生物性分析から、土壌の生物性において菌寄生菌の存在が重要な要因であることが判明した。地質や土質、土壌消毒の有無は菌寄生菌の多寡に大きな影響を与えない一方、施肥設計に若干の関連性が見られた。殺菌剤の使用も菌寄生菌への悪影響は確認されなかった。今回の分析手法確立により、様々な管理作業や微生物資材の評価が可能となり、特に堆肥メーカーへの価値提供が可能になった。詳細は京都農販日誌の記事を参照。

 

SOY CMSで静的テンプレートプラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY CMSの静的テンプレートプラグインは、HTMLファイルから直接テンプレートを読み込むことで、同じデザインの複数ページ管理を簡素化します。従来、URL構造の違い(例:/soycms/soycms/tutorial/1 と /soycms/soyshop/tutorial/1)により、同じデザインでも別ページとして管理が必要でした。このプラグインは静的テンプレートを利用することでこの問題を解決し、管理の手間を削減します。SOY Shopでは標準機能ですが、SOY CMSではプラグインとして提供されます。ダウンロードはsaitodev.co/soycms/ から可能です。

 

EFポリマーは令和の肥料革命になるかもしれない

/** Geminiが自動生成した概要 **/
EFポリマーは食品残渣由来の土壌改良材で、高い保水性を持ち、砂地や塩類集積土壌に有効。吸水すると粒状になり、堆肥と混ぜると保水性を高める。更に、重粘土質の土壌に添加すると団粒構造を形成し、通気性・通水性を向上させる効果も確認された。植物繊維が主原料のため、土壌微生物により分解されるが、腐植と併用することで団粒構造への取り込みが期待される。緑肥播種前の施肥も有効。二酸化炭素埋没効果も期待できる、画期的な土壌改良材。

 

SOY Shopの顧客管理で属性値の項目名を変更できるようにしました

/** Geminiが自動生成した概要 **/
SOY Shopの顧客管理機能強化として、属性1〜3の項目名を自由に設定できるようになりました。これにより、顧客の詳細検索だけでなく、顧客一覧ページの簡易検索でも活用できます。 従来は「属性1」のような固定名称でしたが、例えば「郵便番号」「誕生日」「紹介者」など、自由に名称を設定できます。この変更により、顧客情報の管理と検索がより便利になります。 また、SOY2フレームワークではSOY Shopの顧客管理と連携できるライブラリを提供しており、ログイン機能などを簡単に実装できます。

 

SOY CMSとSOY Shopで多言語サイトの構築を見直しました

/** Geminiが自動生成した概要 **/
SOY CMSとSOY Shopの多言語サイト構築方法を大幅に改修しました。 従来はテンプレート数増加による管理コスト増大が課題でしたが、今回は以下の改善を行いました。 * 日本語ページと英語ページで同じテンプレートを使用可能に * 画像ファイル名に言語キーを付与することで自動切り替え * 記事とラベルを他言語のものと紐付け可能に これらの改善により、管理画面の簡素化、多言語サイト構築の効率化を実現しました。 新パッケージはサイトからダウンロード可能です。

 

林縁でスギナを見かけた

/** Geminiが自動生成した概要 **/
里山近くの林縁でスギナを見つけた。スギナは酸性土壌を好むため、土壌の状態が悪い指標となるイメージがある。しかし、今回の場所は他の植物も生えており、劣悪な環境ではない。他の植物の合間を縫って生えていると推測される。スギナは石炭紀から存在する植物で、その祖先は巨大だった。現代でもシダ植物は多様な形態をしており、太古の環境を想像させてくれる。

 

林縁に生える草たち

/** Geminiが自動生成した概要 **/
春の七草の一つであるハコベは、たんぱく質、ビタミン、ミネラルが豊富で、特に鉄分は野菜の中でもトップクラスです。利尿作用、母乳の出を良くする作用、歯槽膿漏や歯茎の出血を抑える効果、胃炎や胃潰瘍の予防効果も期待できます。お粥に入れて七草粥として食べることが一般的ですが、生でサラダやスムージーに入れたり、炒め物や和え物など、様々な食べ方ができます。ただし、食べ過ぎると下痢になる可能性があるので注意が必要です。

 

マツの葉と潮風

/** Geminiが自動生成した概要 **/
海岸の松は、潮風に強いという特徴があります。潮風は植物の葉に塩分を付着させ、過剰な蒸散を促し、水不足を引き起こします。しかし、松は細長い葉の形によって、潮風の影響を最小限に抑えています。この形状は風を避け、葉の浸透圧上昇を防ぎ、水分の損失を抑えます。さらに、松の葉は風の力を弱め、根元に砂を落とすことで、砂丘の安定化にも貢献しています。このように、松は厳しい海岸環境に適応し、独自の生存戦略を持つ植物です。

 

SOY Inquiryの個人情報の取り扱いについて

/** Geminiが自動生成した概要 **/
SOY Inquiryで、削除したはずの問い合わせ内容が管理画面から検索できてしまうという個人情報保護の観点からの指摘に対し、以下の改善策を講じた。 1. 論理削除後30日でデータベースから完全に削除される「自動削除機能」を追加 2. 過去の問い合わせを一括で論理削除しやすくするため、「問い合わせ一覧の件数指定」機能を追加 3. 誤って削除した場合も復元できるよう、「論理削除したレコードの確認・解除機能」を追加 これらの機能はSOY Inquiry 2.8以降で利用可能。SOY Shopでも同様の要望があれば、問い合わせページから連絡を。

 

水田からメタン発生を気にして乾田にすることは良い手なのだろうか?

/** Geminiが自動生成した概要 **/
水田を乾田にすることでメタン発生は抑えられますが、鉄の溶脱が減り、下流の生態系や生物ポンプへの影響が懸念されます。水田は腐植蓄積によってメタン抑制と減肥を両立できるため、安易な乾田化ではなく、水田の特性を活かした持続可能な農業が重要です。また、畑作における過剰な石灰施用も、土壌劣化や温室効果ガス排出増加につながるため、土壌分析に基づいた適切な施肥が求められます。

 

猛暑日が増加する中で大事になるのは米ぬかの施肥技術の確立になるだろう

/** Geminiが自動生成した概要 **/
猛暑日が増加する中、米ぬかの有効な施肥技術の確立が重要となる。米ぬかにはビタミンB3が豊富で、植物の乾燥耐性を高める効果が期待できる。しかし、米ぬか施肥は窒素飢餓を起こしやすいため、基肥の施肥時期を調整したり、追肥では肥効をぼかす必要がある。現状では、米ぬか嫌気ボカシの工業的製造や需要拡大には至っておらず、廃菌床に残留する米ぬかを利用するのが現実的な代替案となる。

 

イネの出穂と開花

/** Geminiが自動生成した概要 **/
田んぼのイネが出穂し、雄蕊が出て開花期を迎えたという内容です。筆者は、毎年見られる風景ながらもその変化を喜び、高温による影響は見られないとしながらも、今後の台風シーズンを懸念しています。イネの開花時期や形状に関する記述からは、筆者の観察眼と稲作への関心の高さが伺えます。

 

NGINXでSOY CMSを動かす手順を作成しました

/** Geminiが自動生成した概要 **/
NGINX 1.25 で実験的に HTTP/3 がサポートされたことを受け、SOY CMS を NGINX で動かす手順が公開されました。手順は「NGINX 管理画面側の準備 - SOY CMSを使ってみよう」に記載されています。 SOY CMS 3.13.0 および SOY Shop 2.9.0 以降では、NGINX で SOY CMS を動かす際に必要な Apache 特有の環境変数を補完する機能が追加されました。これにより、NGINX 環境でも SOY CMS をスムーズに利用できるようになります。

 

これからの稲作は如何に土の保水性を向上するかになるはず

/** Geminiが自動生成した概要 **/
記事は、近年の異常気象による水不足が稲作に深刻な影響を与える中、土壌の保水性を高めることの重要性を訴えています。 著者は、自身が観測している保水性の高い田んぼでは、水位が下がってもひび割れが起きにくいことを例に挙げ、土壌改良の必要性を主張しています。 そして、従来の一発肥料に頼った稲作から脱却し、持続可能な稲作を実現するために、土壌の物理性を向上させる技術の確立が急務であると結論付けています。

 

ドジョウがいる田はどんな条件の田なのだろう?

/** Geminiが自動生成した概要 **/
昔は田んぼでよく見られたドジョウですが、最近は見かけることが少なくなりました。ドジョウは水がなくなると土に潜って過ごしますが、最近の稲作で行われている中干しのような土が固くなる環境では、皮膚呼吸が難しく、生きていくのは難しいように思えます。ドジョウにとって適切な田んぼの条件とは、どのようなものなのでしょうか?水田におけるドジョウの生態について、さらに詳しく知りたいと考えています。

 

中干し無しの稲作から米の品質向上のヒントを得た

/** Geminiが自動生成した概要 **/
中干し無しの稲作に取り組む農家の米が、品質検査で最高評価を得た事例を紹介しています。 この農家は、土壌改良、レンゲ栽培、中干し無しに加え、減肥にも取り組んでおり、収量が多いだけでなく、品質も高い米を生産しています。 記事では、この品質向上の要因として、 1. **初期生育段階での発根促進** 2. **猛暑日における水張りによる高温障害回避** 3. **川からのミネラル供給量の増加** の3点を挙げ、土壌の物理性改善とガス交換能向上による重要性を指摘しています。 さらに、中干し無しの稲作は、水管理コストや農薬散布の削減、夏季の気温上昇抑制にも繋がり、環境にも優しい持続可能な農業を実現するとしています。

 

イネと鉄の弥生時代

/** Geminiが自動生成した概要 **/
弥生時代は稲作と鉄器製造が重要でした。水稲栽培は水路整備など多くの人手を要し、集団が大きくなるにつれ、水稲栽培に長けた族長が必要になりました。水利権争いが絶えず、水争いに強い族長は絶大な存在感を持ち、権力を持つようになったと考えられています。水争いには鉄器が必須で、鉄器製造に長けた人は重宝されました。また、水資源豊富で稲作に適した地域は人が集まりやすく、大きな集団になりやすかったようです。米は貯蔵性が高く、備蓄することで食料不足の冬でも飢えを軽減できました。

 

弥生時代の稲作事情

/** Geminiが自動生成した概要 **/
弥生時代には、高槻市の安満遺跡公園で再現されているように、用水路を備えた水田による稲作が行われていたことがわかっています。また、この水田の近くには6世紀後半~7世紀にかけての安満山古墳群があり、稲作の成功が権力や争いにつながった可能性が示唆されています。 この発見は、稲作が日本の社会構造や歴史に大きな影響を与えたことを示しています。稲作により水資源の管理が重要となり、それが争いや権力の発生につながったと考えられます。

 

ラムネ菓子を食べている時にブドウ糖の製造方法が気になった

/** Geminiが自動生成した概要 **/
ラムネ菓子に含まれるブドウ糖の製造方法について解説しています。ブドウ糖は砂糖と比べて甘味が少ないものの、脳が速やかに利用できるという利点があります。植物は貯蔵時にブドウ糖をショ糖に変換するため、菓子にブドウ糖を配合するには工業的な処理が必要です。 ブドウ糖は、デンプンを酵素で分解することで製造されます。具体的には、黒麹菌から抽出されたグルコアミラーゼという酵素を用いた酵素液化法が用いられます。かつてはサツマイモのデンプンが原料として使用されていました。 この記事では、ブドウ糖の製造がバイオテクノロジーに基づいたものであることを紹介しています。

 

ヤンバルで緑色片岩と出会う

/** Geminiが自動生成した概要 **/
ヤンバルの緑色片岩を探訪し、その下の土壌を調査した。観察の結果、団粒構造が形成されたフカフカの土が見つかり、この地域では適切な管理により土壌中に有機物が蓄積する可能性があることが示唆された。 この地域では緑色片岩の影響により、かつて稲作が盛んであったことが判明。緑色片岩は土壌のアルカリ性を高め、有機物の分解を抑制することで、土壌の保肥力を向上させると考えられる。 また、緑色片岩は硬い性質のため取り扱いにくいことが指摘された。これらの発見は、緑色片岩が土壌形成に果たす役割と、ヤンバルの農業の歴史的意義を浮き彫りにしており、沖縄の土壌環境を考える上で貴重な知見を提供している。

 

SOY CMSでCMSタグチェックプラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY CMSのテンプレート編集で発生する、CMSタグの閉じタグ忘れによるエラーを防止するプラグイン「CMSタグチェックプラグイン」の紹介記事です。 記事では、CMSタグの閉じタグ忘れが原因で発生するエラーとその修正方法、タグが増えることによる確認作業の煩雑さを解説し、このプラグインによってタグの記述ミスをテンプレート更新時に検知できることを説明しています。 プラグインの導入により、製作時間の短縮などのメリットがあると期待されます。

 

花粉症でしんどい

/** Geminiが自動生成した概要 **/
花粉症は、スギの非効率な受粉システムが原因で、多くの人が苦しんでいます。戦後の植林政策が裏目に出て、木材価格の低迷や管理の難しさから、スギ林は放置され、花粉症による経済損失は2860億円にも上ります。国産材の利用も、安価な輸入木材を使ったツーバイフォー工法の普及により、進んでいません。根本的な解決策がない中、抗ヒスタミン薬に頼らざるを得ない状況ですが、食事で症状を緩和できる可能性を探る必要があります。

 

土壌の物理性が向上した所では緑肥の播種が難しくなるかも

/** Geminiが自動生成した概要 **/
土壌の物理性が向上すると、保水性と排水性が向上する一方、緑肥の発芽に影響が出ることがあります。記事中の事例では、土壌物理性の向上により土壌表面が乾燥しやすくなり、レンゲの発芽が悪くなった可能性が示唆されています。これは、物理性の向上に伴い、従来の緑肥の播種方法では種子が十分な水分を得られないためと考えられます。解決策としては、種子を踏み固める、播種時期を調整するなど、土壌条件に合わせた播種方法の調整が重要となります。

 

ベントナイトと落ち葉で草たちは活気付いて、環境は更に変わる

/** Geminiが自動生成した概要 **/
知人の花壇では、3年前からベントナイトと落ち葉を投入した区画と、そうでない区画で生育の違いが顕著に現れている。落ち葉区画は、冬場も草が生い茂り土壌が豊かになっている一方、そうでない区画は草も生えず、養分が蓄積されない状態だ。 これは、畑でも同じことが言える。腐植を増やすことで、自然と土壌環境が向上し、肥料の過剰な投入を抑えられる。肥料高騰の折、環境負荷とコスト削減のためにも、土壌の腐植化は重要な視点と言えるだろう。

 

SOY CMSで多言語ラベルプラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY CMSで英語サイトを同じURLで運営したい方向けに、多言語ラベルプラグインを作成しました。 このプラグインにより、ラベルごとに日本語と英語の両方の表記を管理できます。 ただし、同一URLでの多言語サイト運営には、PHPモジュールや画像パス変換プラグインなど、追加の対応が必要です。 これらの対応が必要な方は、フォーラムからお問い合わせください。 プラグインを含むパッケージは、サイトからダウンロードできます。

 

SOY CMSで管理画面のIPアドレス制限を追加しました

/** Geminiが自動生成した概要 **/
SOY CMSの管理画面に、IPアドレス制限機能が追加されました。 従来の.htaccessによる制限だと、出張先などIPアドレスが異なる場所からアクセスする際に、都度設定変更が必要でした。 新機能では、管理画面から一時的に制限を解除する「アンロック」が可能になり、利便性が向上しました。 解除方法は、セキュリティに配慮し、URLを手動で作成する方式を採用しています。 今回のアップデートにより、柔軟かつ安全な管理画面へのアクセス制限が可能になりました。ダウンロードは公式サイトからどうぞ。

 

低木の根元にマツの若木

/** Geminiが自動生成した概要 **/
記事は、住宅地周辺で、かつて里山の景色を作っていたであろうヤシャブシの木を探しています。ヤシャブシは、荒れた土地にも最初に根付き、他の樹木が育ちやすい環境を作るパイオニア植物として知られます。筆者は、開発によって失われつつある自然のサイクルを、ヤシャブシを通して見つめ直しています。住宅地の近くに、かつての面影を残すヤシャブシを見つけることは、人と自然のつながりについて改めて考えるきっかけを与えてくれます。

 

朝食のタンパク源は食後どれくらいで利用可能になるか?

/** Geminiが自動生成した概要 **/
朝食の定番である味噌汁に含まれるタンパク質が、いつ利用可能になるのかを解説しています。 栄養士コラムによると、味噌汁の消化時間は3時間以内とのこと。 つまり、午前7時に味噌汁入り朝食を食べると、アミノ酸が利用できるようになるのは午前10時頃になります。 ただし、これは味噌汁の具材も含めた平均的な時間なので、目安として捉えてください。

 

SOY CMSで記事の文字列一括置換プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY CMSで記事の文字列を一括置換できるプラグインが開発されました。 大量の記事の中から特定の誤字などを修正する際に、一記事ずつ修正するのは大変な作業です。このプラグインは、指定した文字列を別の文字列に一括で置換することができます。 例えば、「即効性」という誤字を「速効性」に一括で修正する場合などに役立ちます。 プラグインには、置換前に誤字を含む箇所を確認する機能も備わっています。 このプラグインは、開発元のサイトからダウンロードできます。

 

SOY CMSの各プラグインのアイコンの変更方法について

/** Geminiが自動生成した概要 **/
2007年リリースのSOY CMSには、あまり知られていない機能が存在します。それは、プラグイン管理画面に表示される各プラグインのアイコンをカスタマイズできる機能です。 初期状態ではすべてのプラグインのアイコンが豆蔵アイコンになっていますが、128x128ピクセルのGIF画像を「icon.gif」というファイル名でプラグインディレクトリに配置することで、任意のアイコンに変更できます。 これはリリース当初から存在する機能でしたが、当時のプラグイン数は少なく、あまり活用されませんでした。しかし、10年以上経過しプラグイン数が増加した現在、この機能を活用することで、目的のプラグインを見つけやすくなる可能性があります。

 

Raspberry PiでScratch3.0の開発環境を構築する

/** Geminiが自動生成した概要 **/
Raspberry PiにScratch3.0の開発環境を構築する方法を解説しています。 Node.jsのバージョンはScratch3.0との互換性のため14.20.1を使用し、パッケージ管理にはYarnを採用しています。 まずNode.jsとnpmをインストール後、nを使ってNode.jsのバージョンを管理します。次に、scratch-vmとscratch-guiのリポジトリをクローンし、yarn linkとyarn installコマンドで依存関係を解決します。 最後にyarn startコマンドでVMを起動し、ブラウザからhttp://localhost:8601/ にアクセスするとScratch3.0の画面が表示されます。 記事ではyarn installに時間がかかること、エラーが発生しても問題ない場合があることなど、注意点も解説されています。

 

田の抑草効果のある膨軟層の形成にイトミミズが関与する

/** Geminiが自動生成した概要 **/
イトミミズは、水田の土壌中に生息するミミズの一種で、有機物を分解し、土壌を肥沃にする役割を担っています。鳥取県の研究によると、イトミミズが形成する「膨軟層」には、コナギなどの雑草の生育を抑制する効果があることが分かりました。 イトミミズは、土壌中の有機物を分解することで、窒素などの栄養塩を供給し、イネの生育を促進します。しかし、過剰な有機物の供給は、イネの倒伏を招く可能性もあるため、注意が必要です。 イトミミズの抑草効果を最大限に活用するためには、イトミミズの生態や食性を詳しく調査し、最適な水管理や施肥管理を行う必要があります。

 

稲作の大規模化に向けた土壌の物理性の向上の技法の確立は急務の続き

/** Geminiが自動生成した概要 **/
稲作の大規模化には、土壌の物理性向上による安定収穫が課題です。解決策として、中干し無し栽培による温暖化対応が挙げられますが、そのためには土壌の物理性を向上させる必要があります。 そこで、植物性有機物資源としてクズの葉と海藻に注目します。クズは葛布製造の増加に伴い、繊維として使えない葉が堆肥として活用される可能性があります。また、水田では潅水により海藻の塩分問題も解決できます。 さらに、安定的な水資源確保のため、上流域での里山保全も重要となります。

 

今年も観測していたレンゲ米栽培の田が無事に収穫を迎えたそうです2022

/** Geminiが自動生成した概要 **/
レンゲ米栽培の田で、今年も収穫を得ることができた。例年より収量が多い地域だったが、観測対象の田は減肥+追肥無しで増収、土壌物理性の向上の可能性を感じさせる結果となった。 課題は、減肥加減の調整と、倒伏対策である。収穫直前の稲わらを見ると、まだ緑色が残っており、更なる減肥の可能性がある。一方で、浅植えの箇所が倒伏しており、機械収穫のロス削減のためにも、倒伏対策が急務である。 来年はレンゲ栽培方法の変更も検討し、更なる改善を目指す。

 

海外の雑草撲滅法令と日本

/** Geminiが自動生成した概要 **/
道路脇の雑草放置は、海外では罰金対象となるほど重視されています。日本でも輸出時に種子が混入するなど、問題視され始めています。雑草駆除にはコストがかかりますが、葛のように、産業利用できれば解決策になります。例えば、葛は根を食用に、蔓を衣料や工芸品に、葉を飼料にと、様々な活用が可能です。雑草管理をコストと捉えるのではなく、収益源へと転換できるような、企業の取り組みが重要となるでしょう。

 

稲作のごま葉枯病は土壌劣化に因るものだと考えるとしっくりくる

/** Geminiが自動生成した概要 **/
この地域で稲作にごま葉枯病が多発している原因は、土壌劣化によるカリウム、ケイ酸、マグネシウム、鉄などの要素の欠乏が考えられます。特に鉄欠乏は土壌の物理性悪化による根の酸素不足が原因となり、硫化水素発生による根腐れも懸念されます。慣行農法では土壌改善が行われないため、根本的な解決には土壌の物理性向上と、それに合わせた適切な施肥管理が必須です。経験的な対処法や欠乏症の穴埋め的な施肥では効果が期待できません。

 

稲作の大規模化に向けた土壌の物理性の向上の技法の確立は急務

/** Geminiが自動生成した概要 **/
日本の稲作は大規模化が進んでいるが、地力維持の負担増加が懸念される。大規模農家にとって、冬期の労働集約的な地力向上策は現実的ではない。そこで、簡易的な土壌物理性改善方法の確立が急務となっている。解決策の一つとして、ヤシャブシの葉のようなタンニン豊富な有機物資材の活用が挙げられる。この方法は、大規模化に対応しながら、土壌の物理性を向上させる可能性を秘めている。

 

ショウジョウトンボらしきトンボを見かけたよ

/** Geminiが自動生成した概要 **/
ショウジョウトンボは、翅の付け根が赤いトンボです。日本では、農薬散布の影響で数が減っている可能性があります。 トンボは、稲作の害虫であるウンカを食べる益虫ですが、ウンカは農薬耐性を持ちやすいため、駆除が困難になっています。 さらに、大陸から飛来するトビイロウンカや、レンゲ栽培による雑草増加など、稲作の難しさは増しています。

 

稲作を理解するために赤トンボを学びたい2

/** Geminiが自動生成した概要 **/
昔は田んぼで産卵していたアキアカネですが、最近はプールなどでも見られるようになっています。これは、近年の稲作の変化が関係していると考えられます。 コンバインを使うため収穫前に田んぼを乾かすこと、土作りがされていないため雨が降っても固い土壌になってしまうこと、藁の腐熟のために石灰窒素が使われること、冬に田起こしが行われることなど、アキアカネの産卵やヤゴの生育にとって厳しい環境になっている可能性があります。 アキアカネは、変化した環境に適応しようと、田んぼ以外の水場も利用するようになっているのかもしれません。

 

SOY CMSでページカスタムフィールドを作成しました

/** Geminiが自動生成した概要 **/
SOY CMSユーザーからブログページ設定に説明文追加の要望があり、ページカスタムフィールドプラグインを作成しました。このプラグインは、ブログページ以外の標準ページにも項目を追加できます。 追加項目は公開側表示と管理画面メモ双方を想定し、公開側表示速度への影響を抑えるため、cms:moduleを介して出力します。 公開側での使用方法詳細はプラグイン詳細画面に記載しています。 対応パッケージは下記サイトからダウンロード可能です。 https://saitodev.co/soycms/

 

今年は稲作で追肥をしている方をよく見かけるの続き

/** Geminiが自動生成した概要 **/
カリ肥料の高騰を受け、代替として塩化カリウムや硫酸カリウムの施肥量を増やす動きがある。しかし、土壌への影響を考えると安易な使用は危険である。土壌中のカリウムは交換性カリウムとして存在し、植物に吸収されるが、塩化物イオンは土壌に残留し、物理性を悪化させる可能性がある。特に、水稲栽培では塩類集積による生育障害のリスクが高まるため注意が必要だ。塩化カリウムの使用量については、土壌分析に基づいた判断が重要となる。

 

今年は稲作で追肥をしている方をよく見かける

/** Geminiが自動生成した概要 **/
肥料高騰の中、今年は稲作で追肥が必要な状況が目立つ。著者の地域では、一発肥料の設計が一般的だが、土壌劣化や猛暑の影響で肥料吸収がうまくいっていない可能性がある。実際、土壌改良を行い一発肥料を減らした田んぼでは、追肥が必要な状態になっていない。一方、肥料が多すぎる田んぼは病害リスクも高まる。肥料を効率的に吸収させるには、土壌環境の改善が重要と考えられる。

 

師から教わったサツマイモの栽培

/** Geminiが自動生成した概要 **/
レタス収穫後の畝をそのまま活用し、マルチも剥がさずにサツマイモを栽培すると高品質なものができるという話。レタスは肥料が少なくても育ち、梅雨前に収穫が終わるため、肥料をあまり必要とせず、梅雨時の植え付けに適したサツマイモとの相性は抜群。 疑問点は、カリウム豊富とされるサツマイモが、肥料を抑えた場合どこからカリウムを得るのかということ。著者は、レタスが土壌中のカリウムを吸収しやすい形に変えているのではないかと推測。レタスの原種であるトゲチシャは、舗装道路の隙間でも育つほど土壌の金属系養分を吸収する力が強いと考えられるため。

 

SOY CMSでプラグインの状態チェックを最適化して表示速度を改善

/** Geminiが自動生成した概要 **/
SOY CMSの表示速度改善についての記事です。 今回はプラグインの有効・無効の判定処理を最適化しました。従来は全プラグインの状態を都度ファイルシステムから読み込んでいましたが、キャッシュ化して参照するように変更。これにより、ファイルシステムへのアクセス回数を減らし、不要なプラグインのクラスファイル読み込みを削減することで表示速度を向上させています。 同様の速度改善は、設定情報のデータベース参照回数を減らしたSOY Shopでも行われています。

 

稲作の害虫の天敵が集まってくる田の続き

/** Geminiが自動生成した概要 **/
イネはシリカを吸収すると、葉が硬くなり倒伏しにくくなるだけでなく、病気や害虫への抵抗力も高まります。これは、シリカが細胞壁に沈着することで物理的な強度が増すとともに、植物の防御機構を活性化する働きがあるためです。 具体的には、シリカはイネの葉に多く蓄積され、表皮細胞の細胞壁を強化することで、害虫の侵入や病気の感染を抑制します。また、シリカはイネの免疫システムを刺激し、病原菌に対する抵抗力を高める効果もあります。 さらに、シリカはイネの光合成を促進し、収量増加にも貢献します。これは、シリカが葉の表面に薄い層を作り、光を効率よく吸収できるようになるためです。

 

SOY Shopで設定周りのデータベース参照回数を減らし表示速度を改善

/** Geminiが自動生成した概要 **/
SOY Shopの表示速度改善のために、データベース参照回数を減らす対策を行いました。 従来は各種設定状況やプラグインの有効状態確認の度にデータベースを参照していましたが、これを改善し、必要な設定を事前に取得・保持するように変更しました。具体的には、よく参照する設定はメモリ上に保持し、プラグインの有効状態は配列で管理することで、データベースへのアクセス回数を減らしています。 この結果、ページ表示の度に発生していたデータベースへのアクセスが減少し、表示速度の向上が期待できます。

 

SOY CMSの記事の検索でタグクラウドの項目の追加設定を設けました

/** Geminiが自動生成した概要 **/
SOY CMSの記事検索機能が強化され、カスタムサーチフィールドの追加設定に続き、タグクラウドプラグインの項目も追加されました。 管理画面の記事検索画面にタグクラウドが表示され、クリックするとそのタグがついた記事を絞り込むことができます。これにより、目的の記事をより素早く見つけ出すことが可能になります。 今回のアップデートを含む最新パッケージは、saitodev.co/soycms/ からダウンロードできます。

 

SOY CMSの記事の検索でカスタムサーチフィールドの項目の追加設定を設けました

/** Geminiが自動生成した概要 **/
SOY CMSの記事検索機能が拡張され、カスタムサーチフィールドの項目が追加されました。 従来はサイト上の記事検索のみで利用可能でしたが、今回のアップデートにより、管理画面の記事検索ページでもカスタムサーチフィールドを使用した絞り込みが可能になりました。これにより、記事の管理や検索がより効率的に行えるようになります。 カスタムサーチフィールドは、「SOY CMS版カスタムサーチフィールド」で紹介されている機能で、記事に独自の項目を追加して検索することができます。 今回のアップデートを含むパッケージは、saitodev.co/soycms/ からダウンロードできます。

 

SOY Inquiry2.3以降のバージョンにバージョンアップする際の注意点

/** Geminiが自動生成した概要 **/
SOY Inquiry 2.3以降にバージョンアップする際、カスタマイズしたフォームテンプレート(`form.php`と`confirm.php`)の修正が必要です。 具体的には、両ファイルの先頭に`$dummyFormObj = new SOYInquiry_Form();`を追加し、`$column->getColumn();`を`$column->getColumn($dummyFormObj);`に置換します。 これはPHPの厳格化に対応するための変更です。

 

中干し無しの稲作を見て、水資源の管理の重要性を感じる

/** Geminiが自動生成した概要 **/
著者は、猛暑対策として有効な「中干し無しの稲作」を広める上で、水資源の管理の重要性を説いています。中干し無しの田が増えると、水不足が深刻化する可能性があるからです。上流域の森林保水力の維持や、田の土壌改良による保水性向上など、持続可能な水資源利用の必要性を訴えています。特に、土壌改良は、水不足時のリスクを軽減する効果も期待できるため、重要な対策として位置付けています。

 

冬期のレンゲ栽培は田植え後の雑草管理に影響するか?

/** Geminiが自動生成した概要 **/
田植え前のレンゲ栽培が、田植え後の雑草抑制に効果がある可能性を示唆する記事。レンゲ栽培を行った田では、雑草の発生が抑制され水が澄んでいる様子が観察された。レンゲ栽培と鋤き込みが、田の生態系に影響を与え雑草抑制に繋がると推測。一方、一般的な除草剤はオタマジャクシに悪影響を与える可能性があり、結果的にカメムシ等の害虫増加に繋がる可能性も指摘。中干しなしの稲作と合わせて、環境負荷の低い雑草対策の可能性を示唆している。

 

ChromebookのCrostiniでMicro:bitのフラッシングをしてみた

/** Geminiが自動生成した概要 **/
ChromebookのCrostiniでMicro:bitのフラッシングを行う際、Crostiniは仮想環境のためUSBを直接認識できない。そこで、Crostini上のMicro:bitの認識先である`/mnt/chromeos/removable/MICROBIT/`を`uflash`コマンドのターゲットとして指定することでフラッシングが可能になる。

 

物理性を改善した田では浮草が増えにくいのか?

/** Geminiが自動生成した概要 **/
レンゲ栽培の効果は、田植え後の雑草管理にも良い影響を与える可能性があります。レンゲによって土壌中の窒素量が供給され、雑草の発生が抑制される可能性があります。著者の田んぼでは、レンゲ栽培後、例年に比べて雑草の発生量が少なかったという観察結果が得られました。しかし、これはあくまで個人の観察結果であり、科学的な証明はされていません。レンゲ栽培は、土壌環境の改善や雑草抑制など、多くの利点があると言われています。

 

稲WCSと藁サイレージ

/** Geminiが自動生成した概要 **/
記事では、稲作における土壌環境の改善について書かれています。従来の稲作では、土壌への有機物供給源として稲わらが重要視されていましたが、近年は稲わらを飼料や堆肥として利用する動きが進んでいます。しかし、著者は、稲わらを田んぼから持ち出すことで土壌の有機物が減り、土壌環境が悪化する可能性を指摘しています。その解決策として、剪定枝を細かく砕いて土壌に混ぜる方法を提案し、実際に試した結果、土壌環境の向上が確認できたと報告しています。つまり、稲わらに代わる有機物供給源を活用することで、稲作中でも土壌環境を改善できる可能性を示唆しています。

 

森林の保水力を考えたの続き

/** Geminiが自動生成した概要 **/
## 山の鉄が川を経て海へ:250字要約 この記事では、山の土壌から溶け出した鉄分が、川を通じて海へ運ばれる過程を解説しています。 雨水が土壌に浸透すると、酸素に触れず鉄は溶け出しやすい状態になります。川に流れ込んだ鉄分は、酸素に触れて酸化鉄となり、一部はプランクトンに取り込まれます。 しかし、鉄分は川底に沈殿しやすく、海までは届きにくい性質を持っています。特にダムは鉄分の流れを阻害し、海への供給量を減らしています。 鉄分は海洋プランクトンの成長に不可欠な栄養素であるため、その供給量の減少は海の生態系に影響を与える可能性があります。

 

SOY CMSで一つ深い階層にサイトを作成する

/** Geminiが自動生成した概要 **/
SOY CMSで、サイトを一つ深い階層に作成する方法を解説します。 まず、サイトIDを「hoge」として、/var/www/html/hogeにサイトを作成します。次に、/var/www/html/hoge/huga のように、hugaディレクトリを作成し、必要なファイルを配置します。 データベースのSiteテーブルを開き、サイトIDが「hoge」のレコードのurlとpathを、それぞれ `http://example.com/hoge/huga/` と `/var/www/html/hoge/huga/` に変更します。 最後に、/var/www/html/hoge/huga/.htaccess の RewriteBase を `/hoge/huga` に変更します。 稼働中のサイトのURLを変更する場合は、上記の手順に加えて、SOY CMS管理画面でサイトURLを変更する必要があります。

 

林の縁に色鮮やかなアジサイの花が咲いていた

/** Geminiが自動生成した概要 **/
近所の生産緑地で鮮やかな青いアジサイの花を見つけ、土壌のpHとアジサイの色の関係について考察しています。アジサイの色は土壌のpHによって変化し、酸性土壌では青、アルカリ性土壌では赤くなることが知られています。筆者は青いアジサイを見て、土壌が酸性であると推測していますが、人為的な管理の可能性も示唆しています。また、過去記事を参照し、リトマス試験紙も植物色素を利用していることを説明しています。

 

レンゲを育てていた田に鳥が集まる

/** Geminiが自動生成した概要 **/
レンゲを栽培した田んぼでは、入水が始まると土壌生物を求めて鳥が多く集まります。レンゲは冬の間も土壌生物を豊かにするため、入水によってそれらを狙う鳥が集まり、土壌中の生物層が調整されます。 一方、刈草を鋤き込まずに放置した場合は、分解が進まず代掻きに影響する可能性があります。 また、レンゲ栽培は土壌中の生物を通じて鉱物由来の微量要素を減少させる可能性があり、その後の稲作への影響が懸念されます。

 

SOY Shopでお届け先の項目の設定を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopで、注文手続き画面のお届け先情報の項目設定ができるようになりました。運営上、お客様情報とお届け先情報で、氏名と電話番号を同じにしたいという要望に対応し、これらの項目は初期設定で非表示&必須入力ではなくなりました。 管理画面では、各項目の表示/非表示、必須/任意を設定できます。管理画面からの注文時は、入力の手間を減らすため、お客様情報からコピーするボタンも設置しました。 今回のアップデートにより、ショップ運営者はより柔軟にお届け先情報の入力フォームをカスタマイズできるようになりました。

 

シラカシの葉の上になにかいる

/** Geminiが自動生成した概要 **/
日常的にシラカシの木を観察する筆者は、ある日、違和感を感じた葉に注目。 それは、葉に擬態したウンモンスズメというスズメガでした。 ウンモンスズメの翅の模様は、葉にそっくりな白色と茶色の模様で、これは長い年月を経て進化した結果だと考えられます。 シラカシの葉の光沢にも似た白色部分は、環境に適応した証と言えるでしょう。 さらに、近くに幼虫の食草であるニレの木があることから、この場所で羽化した個体である可能性も示唆されました。

 

レンゲ栽培の効果は田植え後の雑草管理にも影響を与える

/** Geminiが自動生成した概要 **/
レンゲ栽培は、雑草管理にも効果があります。レンゲはアレロパシー効果は弱いものの、生育後に速やかに分解され、土壌表面に有機酸を含む層を形成します。これが雑草の発生を抑制する効果を生みます。 著者は、レンゲ栽培後の水田で雑草の発生が抑制された経験から、レンゲの分解による有機物層の効果を実感しています。 稲作は、レンゲの活用など、植物の特性を活かした興味深い知見に溢れています。

 

SOY Shopから自動で送信されるメールの件名が文字化けだった時の対応

/** Geminiが自動生成した概要 **/
SOY Shopの自動送信メールで、ドコモやau、Gmail宛ての件名が文字化けする問題が発生。原因は不明だが、標準文字コードをISO-2022-JPからUTF-8に変更し、個別指定の文字コードもUTF-8に修正することで解消した。sendmailのアップデートが関係している可能性もあるが、詳細は不明。

 

固い土に単子葉の草々

/** Geminiが自動生成した概要 **/
土壌改良により土壌の物理性が向上すると、特定の単子葉植物の生育が抑制される可能性があるという観察記録です。 筆者は、固い土壌を好むが養分競争に弱い単子葉植物が存在すると推測し、土壌改良によってレンゲやナズナなどの競合植物が旺盛に生育することで、単子葉植物の生育が阻害されると考えています。 この観察から、土壌改良初期にはソルガムやエンバクを、その後は土壌生態系のバランスを整えるために緑肥アブラナを使用するなど、緑肥の種類選定の重要性を指摘しています。

 

SOY CMSのカスタムフィールドアドバンスドの見直しで表示速度の改善

/** Geminiが自動生成した概要 **/
SOY CMSのカスタムフィールドアドバンスドとサムネイルプラグインの表示速度改善に関する記事の要約です。 記事では、多数の記事を表示する際に発生する表示速度の低下について、その原因と解決策が解説されています。 主な原因は、記事ごとにカスタムフィールドの値を取得する際に、データベースへのアクセスが繰り返されるためでした。 解決策として、記事に紐づくカスタムフィールドの値を全記事分一度に取得し、必要な値のみに絞り込むことで、データベースアクセスを削減しました。 この改善により、特に記事数が50件や100件といった大量に表示する場合に、表示速度の向上が期待できます。

 

今年最大の出来事は物理性の改善 + レンゲ + 中干しなしの稲作によるインパクトを感じたこと

/** Geminiが自動生成した概要 **/
著者は今年、大阪府高槻市の米粉「清水っ粉」の取り組みが最も印象的だったと振り返る。注目すべきは、土壌の物理性を改善し、レンゲを栽培し、中干しを行わない稲作だ。この方法は、水管理、肥料、農薬のコスト削減、収穫量増加、生物多様性向上、周辺環境への好影響など、多くの利点をもたらす。さらに、清水っ粉のように米粉の製造・普及に取り組むことで、米の新たな需要を創出し、持続可能な農業を実現できる。この革新的な稲作と米粉の利用拡大は、農業所得の向上、環境保護、地域活性化に貢献する可能性を秘めている。

 

農薬や化学肥料を使用して栽培すると野菜が育たない環境になるという意見に対して3

/** Geminiが自動生成した概要 **/
この記事では、植物性の有機物を土に投入することの重要性を論じています。 植物性の有機物を土に投入しないと、土の物理性が悪化し、スベリヒユやヤブガラシのような除草剤が効きにくい雑草が生えやすくなります。一方、植物性の有機物を投入した土壌では、シロザのような抜きやすい雑草が生え、除草作業が楽になります。 さらに、トラクターや自走式草刈り機などの機械化と組み合わせることで、理想的な植生管理が可能となり、管理コストの削減と利益率の向上につながると結論付けています。

 

農薬や化学肥料を使用して栽培すると野菜が育たない環境になるという意見に対して

/** Geminiが自動生成した概要 **/
農薬や化学肥料の使用で野菜が育たなくなるという意見は、必ずしも正しくない。化学肥料の中には土壌バランスを整えるものもあり、一概に悪者扱いできない。 実際には、過剰な家畜糞投入による塩類集積で、野菜が育たなくなるケースが多い。慣行農法よりも、有機農法の方が、土壌環境を悪化させる可能性もある。 しかし、農薬や化学肥料だけに頼る農業にも問題はある。農薬耐性を持つ害虫の増加や、土壌の劣化などが懸念される。 重要なのは、それぞれの方法のメリット・デメリットを理解し、環境負荷を低減できる持続可能な農業を目指すことだ。

 

ジャングルジム内で獣の訪れを待つひっつき虫

/** Geminiが自動生成した概要 **/
放置された公園のジャングルジムが、ヌスビトハギだらけになっていた。ひっつき虫として動物にくっついて種子を運ぶヌスビトハギだが、ジャングルジム内では動物が来にくいため、種子はジム内でしか生きられない可能性が高い。このままではジャングルジムはヌスビトハギで埋め尽くされてしまうかもしれない。ヌスビトハギにとって、それは楽園となるのだろうか、疑問が残る。

 

中干し無しの稲作をするに当たって、レンゲの播種が間に合わなかった時にすべきこと

/** Geminiが自動生成した概要 **/
レンゲの播種時期を逃しても、廃菌床堆肥で土壌物理性を改善し、中干しなし稲作は可能です。収穫後、藁と共に廃菌床堆肥を鋤き込むのが理想ですが、冬場の雑草管理が地域の慣習に反する場合は、田植え直前に施用し、酸化鉄散布でメタン発生を抑えます。廃菌床堆肥と酸化鉄は肥料の三要素確保にも役立ち、減肥につながります。中干しなしでは川由来の栄養も得られ、環境負荷低減にも貢献します。重要なのは、これらの情報をどれだけ信じて実践するかです。

 

東南アジアの稲作事情を聞いた

/** Geminiが自動生成した概要 **/
日本の伝統的な稲作では、水田を定期的に乾かす「中干し」が行われてきました。しかし、東南アジアなどでは、水を抜かない「湿田」での稲作が主流です。湿田は温室効果ガスの排出量が多いという課題がありますが、日本の水田も国際的な排出規制の影響を受ける可能性があります。中干しは温室効果ガスの排出削減に有効ですが、猛暑による稲の生育への影響が懸念されます。日本の水田は、温室効果ガス排出量の削減と気候変動への適応の両面から、その管理方法を見直す必要性に迫られています。

 

大豆肉の普及には稲作の活用が重要であるはずだ

/** Geminiが自動生成した概要 **/
記事は、大豆肉の普及には稲作の活用が重要だと論じています。 従来、水田での大豆栽培は転作に伴う土壌の排水性改善が、稲作への復帰を困難にする点が懸念されていました。しかし、著者は、物理性を改善した水田での稲作は、水持ちを損なわずに秀品率を高めることから、稲作と大豆栽培を交互に行う輪作を提案しています。 具体的には、数回の稲作後に大豆を栽培し、土壌の極端な酸化を防ぐため、大豆と相性の良いマルチムギを栽培することを推奨しています。 さらに、水田は川の水を取り入れることで畑作に比べて微量要素欠乏が起こりにくいという利点も強調。稲作と大豆栽培を組み合わせることで、持続可能で効率的な食糧生産システムを構築できると結論付けています。

 

稲作で急激な水温の変動は避けるべきか?

/** Geminiが自動生成した概要 **/
棚田式の水管理が、区画整理された水田でも稲作に有効なのではないか、という考察をまとめた文章です。区画整理された水田では、水路から直接冷たい水が入り、高温になったイネにストレスを与えてしまう可能性があります。一方、棚田では水が段階的に供給されるため、水温が安定し、イネへのストレスも軽減されます。そこで、中干しを行わずに水を張り続けることで、水温を安定させ、イネへのストレスを軽減できるのではないかと考えられています。

 

中干しをしないことが稲作の利益率を高める確信を得た

/** Geminiが自動生成した概要 **/
この記事では、中干しを行わない稲作が、収益性向上と環境改善に有効であることを論じています。 従来、中干しは雑草抑制に有効とされていましたが、著者は中干しを行わない田んぼで雑草が生えないことを観察。これは、良好な田んぼの状態がイネのアレロパシー効果を高め、さらに天敵の活動も活発化するためだと推測しています。 中干しは除草剤や殺虫剤の使用増加につながる可能性があり、著者は、周囲の慣習にとらわれず、物理性の改善など、収益性と環境性を両立させる稲作を推奨しています。

 

高槻米の米粉「清水っ粉」からできた米粉めんを頂いた

/** Geminiが自動生成した概要 **/
高槻産の米粉「清水っ粉」を使った米粉めんを試食。うどんのような歯ごたえとそうめんのような滑らかさ、ほんのりとした甘みが特徴。この米粉めんは、環境負荷の低い「物理性の改善 + レンゲ栽培 + 中干し無し」の稲作で栽培された米から作られており、米粉100%というこだわりようだ。 「清水っ粉」は米粉の用途をパンや麺などに広げることで、従来の米食に加えて新たな販路を築いている。また、この稲作は田んぼ周辺の畑作にも良い影響を与えるため、地域全体の活性化にも繋がる可能性を秘めている。

 

田からはじめる総合的病害虫管理の続き

/** Geminiが自動生成した概要 **/
クボタの「田んぼは水を管理する」は、水田における水管理の重要性を解説する記事です。水田は、冠水と落水を繰り返すことで、雑草の抑制や地温上昇によるイネの生育促進などの効果を得ています。 記事では、水管理の具体的な手法として「代かき」や「中干し」などの伝統的な方法に加え、「水管理システム」などの最新技術も紹介されています。水管理システムは、水位や水温を自動で制御することで、農家の負担軽減と安定的な収穫に貢献します。 さらに、水田の水は周辺環境にも影響を与え、生物多様性の保全や気温上昇の緩和にも役立つことを解説。水田の水管理は、食料生産だけでなく、環境保全にも重要な役割を担っています。

 

稲作の中干しという管理技術の歴史は浅い

/** Geminiが自動生成した概要 **/
田んぼの総合的病害虫管理において、中干しは慣行的に行われていますが、本当に必要かどうか再考が必要です。中干しは土壌の酸化を促進し、土壌病害の発生リスクを高める可能性があります。また、土壌微生物の多様性を低下させ、土壌の健全性を損なう可能性も。さらに、稲の生育を一時的に抑制し、収量や品質に悪影響を与える可能性も懸念されます。中干しの代替として、抵抗性品種の利用や適切な施肥管理など、環境負荷の低い方法を検討する必要があるでしょう。

 

田からはじめる総合的病害虫管理

/** Geminiが自動生成した概要 **/
中干しをしない稲作は、カエルの大量発生により、IPM(総合的病害虫管理)に貢献する可能性があります。カエルは世代交代の早い害虫を捕食するため、耐性を持つ害虫への対策として有効です。さらに、カエルは水田周辺の畑にも生息範囲を広げ、間接的に畑の害虫駆除にも役立ちます。畑にカエルを誘致するには、緑肥を植えておくことが有効です。緑肥は土壌環境改善にも効果があり、カエルの住みやすい環境を作ります。このように、中干しなしの稲作と緑肥を活用した畑作は、環境に優しく持続可能な農業を実現する可能性を秘めています。

 

ナメクジの天敵を探せ

/** Geminiが自動生成した概要 **/
庭にナメクジが多いのは、水田の中干しをやめたことでカエルが増え、その天敵であるヘビも増えているからかもしれません。 カエルはナメクジを食べる益虫ですが、ヘビは人間にとって脅威です。水田の中干しをやめることで、周辺の畑ではナメクジ被害が減る一方、ヘビが増える可能性があります。 生態系のバランスは複雑で、一つの行動が思わぬ影響を及ぼすことを示唆しています。

 

ササと常緑広葉樹の棲み分け

/** Geminiが自動生成した概要 **/
森林の縁は、異なる環境条件への適応を示す植物の棲み分けが観察できる貴重な場所です。光を好む陽樹は林縁部に、 shade-tolerant な陰樹は林内深くに分布します。この棲み分けは、光合成効率、乾燥耐性、成長速度といった樹木の性質の違いによって生まれます。特に、陽樹は速く成長して光を確保する一方、陰樹は少ない光でも生き残れる能力を持っています。林縁部の植物は、強い風や乾燥、温度変化といった厳しい環境にも耐える必要があります。これらの要素が複雑に絡み合い、森林の縁に多様な植物の帯状分布を作り出しているのです。

 

中干しなしの田の水が澄んでいる

/** Geminiが自動生成した概要 **/
中干しなし、レンゲ後の稲作では、田の水が澄み、雑草が少ない。オタマジャクシが藻や若い草を食べることで除草効果が出ている可能性がある。オタマジャクシは成長後、昆虫を食べるようになるため、稲への影響は少ない。一方、中干しを行う慣行農法では、除草剤を使用する必要があり、コストと手間が増える。さらに、冬季の耕起は米の耐性を下げる可能性もある。中干しなしの田んぼは、オタマジャクシの働きで除草の手間が省け、環境にも優しく、結果としてコスト削減に繋がる可能性がある。

 

SOY CMS / SOY ShopでライブラリをCDN経由にする設定を追加しました

/** Geminiが自動生成した概要 **/
SOY CMS/Shopの管理画面で利用するjQueryやBootstrapをCDN経由で読み込む設定が追加されました。これにより、管理画面で読み込むファイル数を減らし、サーバー負荷を軽減します。設定方法は、`/CMSインストールディレクトリ/common/config/user.config.php`を作成し、`define("SOYCMS_READ_LIBRARY_VIA_CDN", true);`を有効にするだけです。リンク色の変更など、一部表示に影響が出る可能性がありますが、順次修正予定です。最新のパッケージはサイト(saitodev.co/soycms/)からダウンロードできます。

 

稲作の害虫の天敵が集まってくる田

/** Geminiが自動生成した概要 **/
ヒメトビウンカはイネ科雑草で越冬し、春に水田へ移動して増殖する。薬剤抵抗性を持ち、殺虫剤散布は効果が薄く、天敵を減らすことで逆効果になる。天敵はクモ、カエル、ゲンゴロウ、ヤゴ等で、これらを維持するには、冬期湛水や畔の草刈り回数を減らす等、水田周辺の環境保全が重要。また、畦畔の除草剤も天敵減少につながるため、使用を控えるべき。ウンカの発生を抑えるには、殺虫剤に頼らず、生態系を維持した総合的な対策が必要。

 

日本の夏の施設栽培の多湿対策

/** Geminiが自動生成した概要 **/
日本の夏の高温多湿な環境は、トマトなどの施設栽培で課題となる。換気扇だけではハウス内の局所的な湿度の滞留を防ぎきれないため、農研機構の研究では吸収式除湿機を用いた湿度制御が有効と報告されている。 一方、ベントナイトは吸水性の高い粘土鉱物であり、建築資材の珪藻土や漆喰のように湿度調整に活用できる可能性がある。ベントナイトは水分を吸収して膨潤し、湿度が下がると水分を放出する性質を持つため、ハウス内の湿度を安定させる効果が期待できる。ただし、多量の水分を吸収すると泥状になるため、使用方法や設置場所などを工夫する必要がある。

 

トマトの葉序は生産性を高める上で重要

/** Geminiが自動生成した概要 **/
トマトの老化苗定植は、微量要素欠乏のリスクを高める。老化苗は根の活力が低く、微量要素の吸収能力が低下するため、生育初期に欠乏症状が現れやすい。特にマンガン、ホウ素、鉄の欠乏は、奇形果発生や生育不良につながるため注意が必要。適切な追肥管理が重要だが、老化苗は根の吸収能力が低いので、葉面散布も併用すると効果的。生育初期の微量要素欠乏対策は、その後の収量や品質に大きく影響するため、健苗定植が重要となる。

 

グローバック栽培

/** Geminiが自動生成した概要 **/
グローバック栽培は、ヤシガラを詰めた細長い袋を用いる水耕栽培の一種。ロックウールより栽培しやすいと言われる。ヤシガラは保水性が高いため水道代と肥料代を削減できる一方、養液のEC管理が難しく、濃い養液での施肥はできない。肥料の残留にも注意が必要で、化学的な知識が求められる。また、水質の影響を受けやすく、地域によっては金気残留の問題も考慮すべき。さらに、海外資材への依存度が高い点も留意点となる。

 

夏の育苗には粉末状のベントナイト

/** Geminiが自動生成した概要 **/
夏の育苗時に、培土表面に粉末ベントナイトを散布するテクニックは、乾燥しやすい培土の保水性を向上させる効果がある。ベントナイトは吸水膨張し、培土の隙間に浸透することで、排水性の高い培土でも適度な水分を保持できる。ただし、過剰な散布は土壌を固くするため、適量の使用が重要。ベントナイトは海成粘土由来のため、微量要素供給効果も期待できる。これらの効果により、夏の育苗管理が容易になり、秀品率向上にも貢献する可能性がある。

 

施設栽培で軽微な鉄欠乏の症状を見逃すな

/** Geminiが自動生成した概要 **/
施設栽培では、トマトなどの作物は鉄欠乏に陥りやすい。土壌中に鉄は豊富に存在するものの、土壌の酷使による鉄の絶対量の減少と、土壌の化学性の変化が原因となる。施設内では降雨がないため、土壌pHが低下しにくく、石灰やリン酸が過剰になりやすい。鉄の吸収は低いpHで促進されるが、高いpHでは阻害される。植物は根から有機酸を分泌して土壌pHを下げようとするが、施設栽培では発根量も少なく、この作用も限定的となる。結果として、鉄欠乏が生じやすく、光合成に不可欠な鉄の不足は、軽微であっても大きな影響を与える。さらに、アルミニウム過剰な酸性土壌では、アルミニウム耐性植物は鉄吸収メカニズムを利用してアルミニウムを無毒化するため、鉄欠乏を助長する可能性もある。

 

アブシジン酸は根以外でも合成されているか?

/** Geminiが自動生成した概要 **/
植物の気孔開閉は、根で合成されるアブシジン酸だけでなく、葉でも合成されることがわかった。葉でのアブシジン酸合成は、光ストレスによる活性酸素の発生を抑えるためと考えられる。合成経路は、カロテノイドの一種であるゼアキサンチンから数段階の酵素反応を経て行われる。このゼアキサンチンは、過剰な光エネルギーの吸収を防ぐキサントフィルサイクルにも関わっている。乾燥していない環境下でも、過剰な日光によって葉でアブシジン酸が合成され気孔が閉じると、光合成の効率が低下し生産性のロスにつながる可能性がある。

 

施設栽培におけるECの管理について

/** Geminiが自動生成した概要 **/
猛暑日が多いと、中干しによる土壌の乾燥が植物に過度のストレスを与える可能性が高まります。中干しの目的は過湿を防ぎ根の活力を高めることですが、猛暑下では土壌温度が急上昇し、乾燥した土壌はさらに高温になり、根のダメージにつながります。結果として、植物の生育が阻害され、収量が減少する可能性も。中干しを行う場合は、猛暑日を避け、土壌水分計などを活用して土壌の状態を適切に管理することが重要です。また、マルチや敷き藁などを利用して土壌温度の上昇を抑制する対策も有効です。

 

SOY Shopで注文検索の条件の自動入力で教育コストと人的ミスを減らす

/** Geminiが自動生成した概要 **/
SOY Shopの注文検索に、配送条件を自動入力するボタンを追加することで、配送漏れなどの人的ミスを削減する拡張機能を開発しました。従来、複数の検索条件を手動入力する必要があり、ミスが発生しやすい状況でした。この拡張機能により、ボタン一つで必要な条件が自動入力されるため、操作手順が簡略化され、教育コストと人的ミスが大幅に削減されます。繁忙期のアルバイト教育も効率化され、クレーム対応の減少も見込めます。この機能は標準搭載ではなく、個別の相談に応じて実装します。

 

SOY Shopでアクセス制限プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shopのアクセス制限プラグインが開発され、標準機能として同梱されました。このプラグインは、特定のブラウザからのみアクセス可能なページを作成し、IPアドレスと紐づけた固有の鍵をクッキーで管理することで実現しています。管理画面でブラウザを登録すると鍵が生成され、クッキーに保存。SOY Shop側は鍵とIPアドレスをデータベースに格納し、有効期限を設定します。これにより、鍵の偽装や不正アクセスを防ぎ、セキュリティを高めています。このプラグインは、タブレット等で特定機能を利用する際の利便性向上に役立ちます。最新版はsaitodev.co/soycms/soyshop/からダウンロード可能です。

 

トマト栽培で老化苗を定植したら微量要素の課題が付き纏う

/** Geminiが自動生成した概要 **/
トマト栽培では、秀品率向上のため土壌環境の徹底管理が必要だが、トマトとサツマイモで生産性悪化が見られた。トマトは樹勢が暴れ、サツマイモは根の肥大が不十分だった。トマト栽培では、老化苗の定植が一般的だが、これが後期の栽培難易度を高めている可能性がある。老化苗は根の先端が少ないため、窒素は吸収しやすい一方、カリウム、マグネシウム、微量要素の吸収は困難になる。結果として、花落ちの原因とされる亜鉛欠乏への施肥での対応は難しく、葉面散布が有効な手段となる。高額な環境制御に頼りすぎないためにも、微量要素の葉面散布剤の活用が重要となる。

 

SOY Shopで概要欄設置プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shopユーザーからの要望を受け、管理画面に概要欄を設置するプラグインを開発しました。ユーザーは2名で、ほぼ同時期に要望がありました。管理画面左下に、簡易編集可能な概要欄を追加することで、ショップ運営に関する情報を手軽に共有できます。 以前開発したメモウィジェットではテキストリンクの自動クリックに対応できないため、今回のプラグインではリンクテキストを自動でアンカータグに変換する機能を追加しました。これにより、例えば新人研修用の資料へのリンクを概要欄に記載し、参照を促すことで教育コスト削減に繋がります。 プラグインはサイト(/soycms/soyshop/)でダウンロード可能なパッケージに含まれており、有効化することで利用可能です。UIは現状改善の余地がありますが、ご容赦ください。

 

閑静な住宅地の端にシダ植物の群生があった

/** Geminiが自動生成した概要 **/
閑静な住宅地の端、河岸段丘近くの草刈りされた傾斜に、シダ植物の群生を発見。クズやキク科の植物に混じり、シダが目立つ。葉の特徴から、以前ツツジの間に生えていたものと同じワラビではないかと推測。三回羽状全裂で、裂片に耳状突起がある点が一致する。新しく展開する葉の様子も観察。住宅地ができる前は里山だったと想像し、かつてここでワラビ採りが行われていた可能性に思いを馳せる。ただし、本当にワラビであるかは確証がない。

 

【重要】SOY Shopでクレジットカード支払いが正常に終了しなかった注文を通知する機能を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopで、クレジットカード決済は完了したのに注文が未完了となる問題が発生。原因はスマホのWiFiとセッションの喪失によるもので、決済モジュールのリダイレクト処理中に発生すると注文受付処理が失敗する。この問題に対処するため、決済成功&注文未完了の状態(仮登録&支払確認済)の注文を管理画面の新着ページにエラー通知として表示する機能を追加。通知機能は「新着注文一覧表示プラグイン」の一部として実装。この対応で、注文の見落としを防ぎ、問題発生時の早期発見を目指す。ただし、注文数の少ないサイトでは有効性低いため、更なる改善が必要。

 

低木の根元の倒木にキノコ

/** Geminiが自動生成した概要 **/
里山の傾斜で、細い木の根元に生えた倒木に小さなキノコが生えている様子が観察された。この倒木はキノコの働きによって分解され、土に還っていく。この自然の循環は精巧で、小さな倒木一本からも多くの学びが得られる。例えば、キノコの菌糸は他の生物と複雑な関係を築き、森林生態系を支えている。この様子は、トリコデルマ菌のような微生物の働きを研究する専門家の視点からも興味深い事例となるだろう。

 

出荷前に色をのせるという行為

/** Geminiが自動生成した概要 **/
台風被害を軽減するには、品種改良や栽培技術の改善が重要です。耐風性のある品種の開発や、接ぎ木による耐性の向上、適切な仕立て方や防風ネットの活用などが有効です。また、気상情報に基づいた早期の出荷調整や、収穫時期の分散化も被害を抑える手段となります。消費者も、規格外の野菜を受け入れる意識改革や、地元産を積極的に消費するなど、生産者を支援する行動が求められます。これらの対策を組み合わせることで、台風被害による農業への影響を最小限に抑えることが期待されます。

 

ARM版ChromebookにDropboxをインストールする

/** Geminiが自動生成した概要 **/
ARM版ChromebookでLinuxアプリのDropboxを使うには、.debパッケージが使えないためDbxfsを利用する。pip3でDbxfsをインストール後、Dropboxフォルダを作成し、dbxfsコマンドを実行。表示されるURLにアクセスし、Dropboxにログインして認証コードを取得、端末に入力する。パスフレーズを設定すれば、Linuxファイル配下でDropboxのファイルが操作可能になる。Android版DropboxはChromebookのFilesのLinux共有に対応していないため、この方法が必要。

 

牛糞で土作りをした時の弊害をまとめてみると

/** Geminiが自動生成した概要 **/
兵庫の進学校の高校生に肥料の話をした著者は、窒素肥料を減らして炭素資材を増やす土作りを提案した。生徒は土壌中の炭素の役割を理解し、微生物の餌となり土壌構造を改善することを説明できた。しかし、窒素肥料を減らすことによる収量減を懸念し、慣行農法との比較で収量が減らない具体的な方法を質問した。著者は、土壌の炭素貯留で肥料コストが下がり収量が上がる海外の事例を挙げ、炭素資材の種類や施用量、土壌微生物の活性化、適切な窒素肥料量の見極めなど、具体的な方法を説明する必要性を認識した。生徒の疑問は、慣行農法に慣れた農家にも共通するもので、新たな土作りを広めるには、具体的な成功事例と収量への影響に関するデータが重要であることを示唆している。

 

SOY Shopのクーポン自由設定プラグインでクーポン検索を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopのクーポン自由設定プラグインに、クーポン検索機能が追加されました。これは、期限切れクーポンが増え、管理画面の一覧が見づらくなったというユーザーからの要望に応えたものです。 従来、プラグインの詳細画面には検索フォームがなかったため、今回新たに実装されました。このアップデートにより、多数のクーポンの中から目的のクーポンを素早く見絞ることが可能になります。SOY Shopはリリースから10年以上が経過し、今後もユーザーの利便性向上のための改善が続けられます。最新版はsaitodev.co/soycms/soyshop/からダウンロードできます。

 

SOY Shopの管理画面からの注文の商品検索の高速化に挑戦

/** Geminiが自動生成した概要 **/
SOY Shop管理画面の注文機能で、商品点数増加に伴う検索速度低下を改善するプラグインが開発された。商品名・コードのAND/OR検索切り替えに加え、検索対象から子商品を除外する設定を追加。特に子商品除外は、複雑なSQLクエリを簡略化することで劇的な効果を発揮し、10秒かかっていた検索が1秒以内に完了するようになった。商品グループ機能を活用し、商品数が1000件を超える店舗で効果を発揮。電話注文時の業務効率化に貢献する。ダウンロードはsaitodev.co/soycms/soyshop/から。

 

SOY Shopで管理画面からの注文で0円商品の追加の設定を設けました

/** Geminiが自動生成した概要 **/
SOY Shopの管理画面からの注文機能が強化され、未登録商品を0円かつ0個で追加できるようになりました。これは、購入商品に付随するサービス品を納品書に含めるニーズに応えるための改修です。 従来、カートには0円商品は追加できましたが、在庫管理ができない点が課題でした。今回のアップデートで、サービス品も商品登録することで在庫管理が可能になります。管理画面の注文時に商品ごとの価格設定を確認する機能と合わせて、より柔軟な注文処理を実現します。最新版は公式サイトからダウンロード可能です。

 

土作りを意識したレンゲ米栽培の田の田起こし

/** Geminiが自動生成した概要 **/
この記事は、土作りに重点を置いたレンゲ米栽培の田起こしについて報告しています。昨年、近隣の田んぼがウンカ被害を受ける中、無農薬で収量を維持できた田んぼの管理者から田起こしの連絡を受け、著者は現地を訪れました。 この田んぼでは、レンゲの種まき前に土壌改良材としてベントナイトと黒糖肥料を施肥し、レンゲの鋤込み時期を前倒ししました。これらの施策は、土壌への有機物供給と亜鉛などの微量要素欠乏の防止を目的としています。 田起こし後の土壌は、降雨の影響を受けながらも細かい土塊が形成されており、良好な状態でした。レンゲの生育も例年より良好だったことから、土壌中の有機物量増加が期待され、鋤込み時期を早めた効果もプラスに働くと予想されています。 昨年同様、低コストで安定した収量を得られるか、引き続き田んぼの状態を観察していく予定です。

 

SOY Shopのパスワード自動生成プラグインで管理画面で追加した顧客も自動生成の対象にする設定を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopのパスワード自動生成プラグインがアップデートされ、管理画面で新規顧客を追加する際にもパスワード自動生成に対応しました。以前は顧客自身での登録時のみ自動生成でしたが、今回のアップデートで管理者による顧客追加時にも自動生成が可能となり、設定によりログイン方法の通知メールも自動送信されます。この機能追加により、管理者の手間を削減し、顧客へのスムーズなアカウント提供を実現します。アップデート版はsaitodev.co/soycms/soyshop/からダウンロード可能です。

 

SOY CMS / SOY ShopのクッキーやセッションでSameSiteの設定を行う

/** Geminiが自動生成した概要 **/
SOY CMS/SOY ShopでクッキーとセッションのSameSite属性を変更する方法について解説されています。標準ではLaxに設定されていますが、Strictに変更したり、SameSite=None; Secure=true;にすることができます。設定は /CMSインストールディレクトリ/common/config/session.config.php 内の $sessCnf["samesite"] の値を編集することで行います。例えば、Strictに変更する場合は "Strict" を設定します。この変更はSOY CMSとSOY Shop全体に反映されます。変更後のパッケージはsaitodev.co/soycms/からダウンロード可能です。

 

レンゲの花が咲いた

/** Geminiが自動生成した概要 **/
土作り不要論への反論として、土壌改良の重要性を説く。土壌改良は不要という意見は、現状の土壌が持つ地力を過信しており、連作障害や養分不足のリスクを軽視している可能性を指摘する。また、土壌改良は単に栄養供給だけでなく、土壌構造改善、微生物活性化など多様な効果をもたらし、結果として健全な生育環境を育み、品質向上や収量増加に繋がる。さらに、土作り不要論は慣行農法への批判に基づくが、慣行農法における土壌劣化は過剰な肥料や農薬、不適切な耕耘によるものであり、土壌改良自体を否定する根拠にはならないと主張する。適切な土壌改良は持続可能な農業を実現する上で不可欠な要素であると結論づけている。

 

山道の壁面に咲いた花

/** Geminiが自動生成した概要 **/
山道の壁面、草刈りされる痩せた斜面でスミレが咲いていた。森の端、それも草むらのさらに外側という厳しい環境を選んだ小さな花に注目した。最近、このような場所はストレス耐性を持つ種が占めるというイメージが強い。スミレの種はアリによって散布される。アリが種を森のギリギリまで運び、スミレが土壌を豊かにすることで、森が少しずつ拡大していく。そんな風に思わせる、健気なスミレの姿だった。

 

SOY CMSとSOY ShopにAceコードエディタを設置しました

/** Geminiが自動生成した概要 **/
SOY CMSとSOY ShopにJavaScript製のコードエディタ「Ace」が導入されました。導入箇所は両CMSのテンプレート、HTMLモジュール、PHPモジュールの編集画面です。以前の色付きエディタはブラウザの進化への対応と動作の不安定さを理由に廃止されましたが、block:idタグの視認性向上のため、Aceが採用されました。現在はHTML/PHPモードのみですが、今後便利な機能の有効化を検討中です。最新版はsaitodev.co/soycms/からダウンロード可能です。

 

設置したお問い合わせフォームからの通知メールが届かない

/** Geminiが自動生成した概要 **/
SOY Inquiryで構築したお問い合わせフォームの管理者宛通知メールが突如届かなくなった。調査の結果、送信テストの繰り返しにより、さくらのメールボックスで迷惑メールと判定されていたことが判明。対応として、メールボックスのコントロールパネルで管理者メールアドレスをホワイトリストに登録した。転送設定を利用しているため、転送先メールアドレスのホワイトリストにも同様の登録が必要。通知メールにお問い合わせ番号を含めることで迷惑メール判定を回避できる可能性も検討中。

 

SOY CMSでSameSite cookiesの対応を追加しました

/** Geminiが自動生成した概要 **/
Android版ChromeでPHPセッションが突然切れる問題への対応についての記事を要約します。問題は、特定のAndroid版ChromeのバージョンでSameSite属性のないcookieがアクセス拒否されることに起因していました。解決策として、PHPで`session_set_cookie_params`関数を使用し、`SameSite=None`と`Secure`属性をcookieに設定することで、HTTPS通信時にのみcookieが送信されるようにしました。この変更により、Android版Chromeでのセッション維持が可能になりました。さらに、データベーススキーマの見直しやマイページの処理最適化を行い、表示速度の向上も実現しました。関連情報として、Webブラウザセキュリティに関する書籍の紹介や、cookie属性の詳細を解説するMDNのドキュメントへのリンクが掲載されています。

 

トリコデルマと聞いて思い出す師の言葉

/** Geminiが自動生成した概要 **/
トリコデルマ・ビレンス(T.virens)が植物成長促進や病害抑制効果を持つことから、畑での活用に興味を持った筆者は、木材腐朽菌に対するトリコデルマの拮抗作用や、堆肥でのキノコ発生後の散布時期との関連性について考察している。キノコ発生後にトリコデルマが堆肥に定着する可能性を推測しつつも、広大な畑への散布ではトリコデルマが優勢になるには量が必要だと考え、トリコデルマ含有堆肥の効果的な使用方法に疑問を呈している。

 

香りマツタケ,味シメジのホンシメジ

/** Geminiが自動生成した概要 **/
ホンシメジは、一般的にシメジと呼ばれるブナシメジとは異なり、菌根菌であるため、栽培には生きた木、もしくは里山の管理が必要と考えられていた。しかし、押し麦とトウモロコシ粉を使った菌床栽培も可能であることがわかった。ホンシメジは「香りマツタケ、味シメジ」と称され、ブナシメジと似た栄養価を持つと推測される。両者の違いは香り成分と考えられるが、ホンシメジ特有の香りの正体は不明である。

 

秋の荒起こしから秀品率の向上のポイントを探る

/** Geminiが自動生成した概要 **/
高槻の原生協コミュニティルームでレンゲ米栽培の観測報告会が行われました。レンゲ米栽培は、田植え前にレンゲを育てて緑肥として利用する農法です。報告では、レンゲの鋤き込みによる土壌への窒素供給、雑草抑制効果、生物多様性への影響など、様々な観点からの調査結果が発表されました。特に、レンゲが土壌に供給する窒素量とイネの生育の関係、鋤き込み時期の調整による雑草抑制効果の最適化などが議論の中心となりました。また、レンゲ畑に集まる昆虫の種類や数、水田の生物多様性への影響についても報告があり、レンゲ米栽培が環境保全に貢献する可能性が示唆されました。一方で、レンゲの生育状況のばらつきや、過剰な窒素供給による水質汚染への懸念点も指摘され、今後の課題として改善策の検討が必要とされました。

 

SOY Shopで簡易ショッピングモール運営プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shop用の簡易ショッピングモール運営プラグインが開発されました。従来、複数ショップでは顧客ポイントの共有化が課題でしたが、本プラグインは単一ショップに複数の「出店者」アカウントを追加することで解決。各出店者は自身の商品登録・注文情報・顧客情報(閲覧のみ)へのアクセスに制限され、他出店者の情報は見えません。これにより、顧客ポイントの共有が可能になります。現状、出店者用ページやカテゴリ管理機能は未実装。ショッピングモール運営希望者は問い合わせを推奨。プラグインはSOY Shopパッケージに同梱されています。

 

SOY CMSで外部CSSファイルを自動でインライン化する

/** Geminiが自動生成した概要 **/
この記事では、SOY CMSで外部CSSを自動的にインライン化し、ページ表示速度を向上させる方法を紹介しています。通常、外部CSSファイルは別途リクエストが必要ですが、これをHTML内に直接埋め込むことでHTTPリクエスト数を減らし、レンダリング速度を改善します。 具体的には、cms:moduleタグとPHPを組み合わせた手法を用います。通常表示時は<link>タグで外部CSSを読み込みますが、SOY CMS経由での出力時は、PHPでCSSファイルの内容を読み込み、圧縮・整形した上で<style>タグ内に埋め込みます。これにより、SOY CMSを通さない場合は外部ファイル、SOY CMSを通す場合はインラインCSSと表示方法を自動で切り替えます。 この方法の利点は、CSSの管理を外部ファイルで行いつつ、出力時にはインライン化のメリットを享受できる点です。さらに、PHPでCSSの内容を操作できるため、ページごとに必要なCSSのみを出力するなど、転送量を最適化することも可能です。結果としてCore Web Vitalsの改善にも繋がります。

 

さくらインターネットでテスト環境を作って、SOYCMSとSOYShopを動かしてみる

/** Geminiが自動生成した概要 **/
さくらインターネットの2週間お試しで、SOYCMSとSOYShopのテスト環境を構築する方法。Windows10環境で、共有サーバプレミアムプランに申し込み、Filezillaでサーバに接続する。接続情報は仮登録メールに記載されている。wwwフォルダにSOYCMSをアップロードし、「http://(ドメイン)/cms/admin」で管理画面を確認。次に、SOYShopをダウンロードし、appとSOYShopフォルダをwww/cms直下に置く。管理画面にSOY Shopログインが表示されれば完了。

 

SOY ShopのPAY.JPクレジットカード支払いモジュールでテストモードの通知を強化しました

/** Geminiが自動生成した概要 **/
SOY ShopのPAY.JPクレジットカード支払いモジュールに、テストモード時の管理画面通知機能が追加されました。これは、テストモードのままサイトを公開してしまうミスを防ぐための強化です。 メンテナンス期間中にテストモードにしたままサイトを再オープンし、注文が無効になる事例が発生したことを受けての対応です。具体的には、管理画面の新着情報とメンテナンスページ解除操作時に、テストモードであることを強調表示します。 同様の機能は他の主要クレジットカード支払いモジュールにも展開予定です。 最新版はhttps://saitodev.co/soycms/soyshop/から入手可能です。

 

SOY Shopで管理画面でSOY Shopらしさをなくす

/** Geminiが自動生成した概要 **/
SOY Shopでショップサイト以外を作成するケースが増加し、管理画面から「ショップ」の文字を削除したいというニーズに対応するため、管理画面のURLの「soyshop」部分を変更できる機能が追加されました。 設定方法は、`/CMSインストールディレクトリ/common/config/admin.uri.config.php.sample` を `.php` にリネームし、`define("SOYSHOP_ADMIN_URI", "soyshop");` の `soyshop` を任意の文字列に変更します。その後、ファイル内の指示に従って必要なディレクトリとファイルを作成し、キャッシュを削除すれば設定完了です。 この機能は最新のSOY CMSとSOY Shopのパッケージに含まれています。現状ではSOY Shopのみに対応しており、SOY CMS側は未対応です。

 

休耕田の草たち

/** Geminiが自動生成した概要 **/
休耕田の雑草の茂り具合から、耕作放棄地でも草ぼうぼうにならないことを観察した筆者は、土壌の状態について考察している。夏草、スギナ、ロゼット系の秋冬の草が共存する様子から、かつての稲作による土壌への負担が大きかったのではないかと推測し、自然回復には時間がかかると予想する。NPK肥料のみの管理に限界を感じ、土壌改善の必要性を訴えている。関連記事では、レンゲの播種時期について触れ、持続可能な農業への関心を示唆している。

 

SOY Shopでメンテナンスページ設置プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shop用のメンテナンスページ設置プラグインが開発されました。このプラグインを使用すると、ショップサイトがメンテナンス中の際に簡単にメンテナンスページを表示できます。設定は、404NotFoundページと同様の方法でメンテナンスページを作成するだけで完了します。プラグインを有効化すると、管理画面のホームに設定の有無と設定画面へのリンクが表示され、メンテナンスページの表示を簡単に切り替えられます。現状は全ページがメンテナンスページに切り替わりますが、将来的にはカートやマイページのみの切り替えといった機能追加も検討されています。プラグインはsaitodev.co/soycms/soyshop/から入手可能です。

 

SOY CMSの管理画面のHTMLファイルの探し方

/** Geminiが自動生成した概要 **/
SOY CMSの管理画面UIをカスタマイズするには、該当HTMLファイルを見つける必要があります。例としてページテンプレート編集画面(URL例: `http://example.com/cms/soycms/index.php/Page/Detail/3`)を挙げます。 HTMLファイルは`cms/soycms/webapp/pages`ディレクトリ以下に配置されています。URLの`Page/Detail`部分がディレクトリとファイル名に対応します。まず`pages`ディレクトリ内の`Page`ディレクトリを探します。次に`Detail`ディレクトリを探しますが、存在しない場合は`DetailPage.html`が目的のファイルです。通常、`DetailPage.class.php`というPHPファイルも対で存在します。これらはSOY2HTMLの仕組みを利用しており、より深く理解するには関連の記事を参照ください。

 

観測していたレンゲ米栽培の田が無事に収穫を迎えたそうです

/** Geminiが自動生成した概要 **/
観測対象のレンゲ米水田は、ウンカの当たり年にも関わらず無農薬で収穫を達成した。驚くべきことに、近隣の殺虫剤を使用した水田ではウンカ被害が発生した。この水田は冬期にレンゲを栽培し、土壌改良材を用いて土壌を改善していた。レンゲ鋤込み後の土壌は、軽くて小さな塊の状態になっていた。 一方、他のレンゲ栽培水田ではウンカ被害が多かった。このことから、ミツバチによるレンゲの花蜜と花粉の持ち出しが、ウンカ発生に影響を与えている可能性が示唆される。次作では今作の知見を活かし、秀品率向上を目指す。

 

データ構造のキューとリングバッファを見る

/** Geminiが自動生成した概要 **/
Go言語のテスト方法に関する記事の要約です。Goでは`*_test.go`ファイルにテスト関数を記述します。テスト関数は`TestXxx`という命名規則に従い、`*testing.T`を引数に取ります。`t.Error`や`t.Errorf`でテスト失敗を報告し、`t.Log`でログを出力します。`go test`コマンドでテストを実行でき、`-v`オプションで詳細表示、`-cover`でカバレッジ計測が可能です。記事では具体的なテスト例として、文字列の等価性チェックやエラーハンドリングのテストが紹介されています。また、外部パッケージのテストやテストデータの扱いについても触れられています。

 

秋は田の畦にヒガンバナ

/** Geminiが自動生成した概要 **/
記事は、光合成効率を高める方法として、川の水に含まれるケイ酸に着目しています。植物はケイ酸を吸収することで、葉の表面にケイ酸層を形成し、直射日光による葉焼けを防ぎ、光合成効率を向上させます。また、ケイ酸は植物の茎を強化し、倒伏を防ぐ効果も持ちます。 しかし、現代農業では化学肥料の多用により土壌中のケイ酸が不足しがちです。そこで、川の水を水田に導入することで、自然にケイ酸を補給し、植物の生育を促進する方法が提案されています。これは、古くから行われてきた「冠水期」の知恵にも通じ、自然の力を活用した持続可能な農業への回帰を示唆しています。

 

高槻の水田でジャンボタニシを見かけた

/** Geminiが自動生成した概要 **/
高槻の水田でジャンボタニシ(スクミリンゴガイ)を発見。その駆除法として、天敵、トラップ、農薬の他、フルボ酸でイネを強化し食害を防ぐ方法や、水管理を徹底しジャンボタニシに除草をさせる方法が挙げられている。中でも注目されている農薬はリン酸第二鉄で、タニシに摂食障害を引き起こし、稲の肥料にもなるため初期生育に有効。つまり、土作りを徹底し、初期生育にリン酸第二鉄を与え、水管理を徹底することが重要。温暖化の影響で越冬生存率が増加しているため、対策の必要性が高まっている。

 

冬期灌水有機栽培水田でトビイロウンカの被害が増えた報告から得られること

/** Geminiが自動生成した概要 **/
愛媛県で行われた調査で、冬期湛水有機栽培水田でトビイロウンカの被害が増加した。冬期湛水によりイネの草丈、茎数、葉色が乾田より増加し、窒素含有量が高まったことが被害増加の要因と推測される。冬期湛水は有機物の分解を促進し養分吸収効率を高めるが、土壌の物理性改善効果は無く、窒素吸収がミネラル吸収を上回る傾向にある。調査地は花崗岩帯のため、川の水からミネラル補給は期待できない。ケイ酸含有量は冬期湛水と乾田で差が小さかった。窒素過多でミネラル不足のイネはウンカに弱いため、ケイ酸苦土肥料などでミネラルバランスを整える必要がある。

 

SOY CMS / Shopで別サイトのモジュールを読み込む

/** Geminiが自動生成した概要 **/
SOY CMS/Shopで、別サイトのHTMLモジュールを読み込む新機能が追加されました。サイトIDをプレフィックスとして`{siteId}.moduleName`のように指定することで、HTMLのみで構成されたモジュールを別サイトから呼び出せます。例えば、`{otherSite}.html.sample`と記述すれば、siteIdが"otherSite"のサイトにある"html.sample"モジュールが表示されます。ただし、SOY CMSとSOY Shop間でのモジュールの相互利用は不可で、データベースを参照するモジュールも使用できません。この機能は、最新版のSOY CMS/Shopパッケージで利用可能です。

 

放棄された田はカヤツリグサでも生き残れない

/** Geminiが自動生成した概要 **/
耕作放棄された水田は深刻なひび割れが生じ、土壌が劣化している。稲作はおろぼず、通常強いカヤツリグサさえも枯死していることから、土壌劣化の末期状態と考えられる。カヤツリグサ科の植物は土壌が固い場所を好むため、これらの植物の出現は土壌劣化、特に土壌の弾力低下を示す指標となる可能性がある。この状態では、緑肥を蒔いても効果は期待できない。土壌の劣化は作物の発根を阻害するため、カヤツリグサ科の植物の繁茂は、栽培を見送る、あるいは堆肥を増やすなどの対策が必要なサインとなる。

 

川のオギたちがケイ素を吸収している

/** Geminiが自動生成した概要 **/
川辺に群生するオギは、水からケイ素などを吸収して生育する。著者はかつて師匠が河川敷の刈草を畑に入れ、土壌を改善していたのを想起する。しかし、イネ科作物である稲作では、同じイネ科のオギをそのまま利用しても効果は薄いだろうと推測。そこで、オギの穂が実る前に刈り取り、堆肥化して秋のレンゲ栽培に用いることを提案する。これにより、ケイ素などミネラル分の供給、レンゲの生育促進、ひいては夏の猛暑対策といった複数の課題解決につながると期待している。

 

中干し後のレンゲ米栽培の田の様子

/** Geminiが自動生成した概要 **/
レンゲ米栽培田と慣行栽培田を比較観察した結果、中干し後、慣行栽培田では葉色が薄くなっているのが確認された。これは幼穂形成期における養分転流の影響と考えられる。養分転流は微量要素の移動にも関わり、根の活性が高いと新葉での転流利用率は低下する。サイトカイニンは葉の老化抑制に作用するため、発根が盛んなレンゲ米栽培田では葉色が濃いまま維持されている可能性がある。猛暑時期の光合成を盛んにするには、地温・外気温・紫外線対策といった水管理が重要となる。

 

WSL2でSOY CMSの開発環境を作ってみた(virtualhost編)

/** Geminiが自動生成した概要 **/
WSL2上のUbuntuにApache2とPHPで構築したSOY CMS環境に、VirtualHostを追加する方法を解説しています。`/etc/apache2/sites-available/`にある`000-default.conf`を`demo.conf`にコピーし、ポートを8080、DocumentRootを`/home/ryoko/workspace/demo`に変更、アクセス許可の設定を追加します。`a2ensite`コマンドで有効化し、Apache2を再起動後、`localhost:8080`でSOY CMSの管理画面が表示されれば成功です。

 

WSL2でSOY CMSの開発環境を作ってみた

/** Geminiが自動生成した概要 **/
さくらのVPSにUbuntu 18.04を導入し、SOY CMSを稼働させる手順を解説した記事の要約です。まず、OSインストール後、Apache、PHP、必要なPHP拡張機能、MySQLをインストールします。次に、MySQLにSOY CMS用のデータベースとユーザーを作成し、ファイアウォールでHTTPとHTTPSを許可します。SOY CMSのzipファイルをダウンロードし、ドキュメントルートに展開後、ブラウザからインストールを実行します。SQLite版ではなくMySQL版を利用するため、データベースの設定が必要です。最後に、サイトURLと管理者情報を入力してインストールを完了します。記事ではコマンド操作の詳細やトラブルシューティングも紹介されています。

 

稲作の虫害防除の今後を考える

/** Geminiが自動生成した概要 **/
稲作におけるカメムシ被害対策として、ネオニコチノイド系殺虫剤が使用されているが、人体やミツバチへの影響が懸念され、使用禁止の可能性が高まっている。代替手段として、レンゲ米の栽培が注目される。レンゲの鋤き込みは炭素固定量を増やし、冬季の雑草管理も軽減できる。一方、暖冬によるカメムシ越冬数の増加は、殺虫剤耐性を持つ害虫の出現など、深刻な農業被害をもたらす可能性がある。殺虫剤に頼らない栽培体系の確立が急務であり、レンゲ米はその有力な選択肢となる。さらに、殺菌剤の使用は虫害被害を増加させる可能性があり、総合的な害虫管理の必要性が高まっている。

 

ウキクサは稲作においてどのような影響を与えるのか?

/** Geminiが自動生成した概要 **/
ウキクサ繁茂は水田の鉄分濃度と関連があり、土壌中の鉄分が有機物でキレート化されていないとイネは吸収しにくい。キレート化とは鉄イオンなどの金属イオンを有機物で包み込み、植物が吸収しやすい形にすること。キレート鉄は土壌pHの影響を受けにくく、即効性があるため、葉面散布や土壌灌注で鉄欠乏を改善できる。特にアルカリ性土壌では鉄が不溶化しやすいため、キレート鉄が有効。ただし、キレート剤の種類によって効果が異なるため、適切な選択が必要。

 

稲作の中干しの意義を整理する

/** Geminiが自動生成した概要 **/
レンゲ米の田では中干し時に土壌のひび割れ(クラスト)が発生しにくい。一般的に中干しは、土壌中の酸素不足による根腐れを防ぎ、有害ガス(硫化水素、アンモニアなど)を排出して発根を促進するとされる。しかし、レンゲによる土壌改良は、これらの有害ガスの発生自体を抑制するため、ひび割れが少なくても悪影響は小さいと考えられる。中干しには根の損傷や新たな根のROLバリア質の低下といったデメリットもあるため、レンゲ米栽培では従来の意義が薄れ、元肥設計の見直しなど新たな栽培体系の確立が求められる。

 

SOY CMSで複数ページフォームプラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY CMS向け複数ページフォームプラグインが開発されました。このプラグインは、管理画面でページ構成と遷移を設定し、公開側でフォームを表示します。各ページの設定、完了ページでのSOY Inquiry連携、高度なページでのSOY2HTML利用、フォームデザイン変更といった機能を提供します。これにより、複雑な複数ページフォームの作成コストを大幅に削減できます。プラグインはsaitodev.co/soycms/からダウンロード可能です。

 

SOY Shopで軽量版集計プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shopの管理画面用軽量版集計プラグインが開発されました。従来版との違いは、プラグイン独自の検索条件ではなく、管理画面の注文検索機能を利用するように変更された点です。これは、高度な注文検索を可能にする拡張ポイントが追加されたこと、そしてその検索結果を集計したいという要望に応えるための改良です。新プラグインは、管理画面の注文検索で絞り込んだ結果に基づいて集計を行います。この変更により、カスタムフィールド等の拡張検索条件にも対応した柔軟な集計が可能になりました。新プラグインはsaitodev.coのSOY Shopパッケージで提供されています。

 

SOY Shop 2.0.0

/** Geminiが自動生成した概要 **/
非公式にメンテナンスされているSOY Shop 2.0.0βが公開されました。データベース構造は1系とほぼ変わらず、通常のバージョンアップ手順で適用可能です。主な変更点は、Bootstrapを使ったレスポンシブ対応の管理画面UIと、公開側ページの読み込み速度最適化です。後者は必要なクラスファイルのみを読み込むことでメモリ消費量を削減し、表示速度向上と同時アクセス耐性向上を実現しています。 HTMLキャッシュプラグインも同梱され、キャッシュ機能で更なるメモリ消費削減が可能です。ダウンロードはsaitodev.co/soycms/soyshop/ から。一部プラグインのUIはまだ2系に対応していませんが、順次修正予定です。

 

日差しの強い芝生でキノコが生えた

/** Geminiが自動生成した概要 **/
梅雨時、日差しの強い芝生にキノコが生え、それが周辺の草に良い影響をもたらすのか、それとも競合するのかという疑問から調査が始まった。芝生に生えるキノコとしてシバフタケに注目し、その特性を調べた結果、シバフタケは甘みのもとであるトレハロースを多量に含み、この糖分によって乾燥後も細胞を再生・復活させることが判明した。筆者は、もし今回のキノコがシバフタケで、そのトレハロースが周囲の植物に作用すれば、これから始まる夏の厳しい暑さに対する耐性を与える可能性があるのではないかと想像を巡らせている。

 

SOY ShopでRFID在庫管理ツール ZAIKAに対応しました

/** Geminiが自動生成した概要 **/
SOY Shopがレンタルサービス事業者向けRFID在庫管理ツール「ZAIKA」とAPI連携できるプラグインを開発しました。ZAIKAはレンタル業務の発送・返却作業効率化と在庫単位での収益・稼働・状態管理を実現するツールです。プラグイン利用にはSOY Shopのオーダーカスタムフィールド(日付)との連携が必要ですが、現状未実装です。連携機能開発は需要に応じて対応予定。プラグイン利用希望者やレンタル業務用SOY Shop構築希望者は問い合わせください。 なお、顧客関連管理機能強化については言及されていません。

 

SOY CMSとSOY Shopの管理画面でメモウィジェットを設置しました

/** Geminiが自動生成した概要 **/
SOY CMS/Shopの管理画面左下にメモウィジェットが追加されました。これは、VPSサーバ運用時にphp.iniの変更(例: memory_limit)を忘れがちで、バージョンアップ後に問題が再発するのを防ぐためです。例えば、大量の商品注文で配列オーバーフローエラーが発生した場合、memory_limitを128Mから1024Mに変更するなどの対応が必要ですが、この設定を忘れやすいという問題がありました. このウィジェットにより、設定変更などをメモとして残せるようになりました。アップデート版はsaitodev.coからダウンロード可能です。

 

php-webdriverでelement click interceptedのエラーに対して

/** Geminiが自動生成した概要 **/
SeleniumとJenkins、php-webdriver、ヘッドレスChromiumでテスト自動化中に、メモウィジェットが原因でelement click interceptedエラーが発生。ヘッドレスモードで画面サイズが不足し、対象ボタンが隠れていたのが原因。ウィンドウサイズを`1024x2048`に設定することで一時的に解決したが、ページサイズに依存するこの方法は最適ではない。スクロールによる解決策も検討されたが、最終的にはCSSを修正し、メモウィジェットが他のボタンと重ならないように調整することで根本解決した。

 

昆虫にとってのメラニン合成

/** Geminiが自動生成した概要 **/
殺菌剤の使用は、虫による食害被害の増加につながる可能性がある。殺菌剤は標的とする菌類だけでなく、植物や昆虫に共生する有益な微生物も排除してしまう。これにより、植物の抵抗力が低下し、害虫に対する脆弱性が増す。さらに、殺菌剤は昆虫の免疫系を抑制し、病原体への感染リスクを高める。また、殺菌剤によって天敵が減少すると、害虫の個体数が増加する可能性もある。これらの要因が複合的に作用し、殺菌剤の使用が結果的に害虫の発生を助長し、食害被害の増加につながるケースが観察されている。したがって、殺菌剤の使用は慎重に検討し、必要最小限に抑えることが重要である。

 

カロテノイドの生合成

/** Geminiが自動生成した概要 **/
植物は紫外線対策としてカロテノイドを合成する。動物は摂取すると免疫維持に役立てる。カロテノイドはニンジンのβ-カロテンやトウモロコシのゼアキサンチンなど、黄色〜橙色の色素。光合成時の活性酸素除去、受粉のための昆虫誘引にも利用される。フィトエンを出発点に酵素反応でβ-カロテンが合成され、水酸基が付くとキサントフィルとなる。種類によって光の吸収波長が変わり、色が変化する。合成経路や蓄積器官、栽培による増加などは今後の課題。

 

香り化合物の合成経路から見えてくること

/** Geminiが自動生成した概要 **/
植物の香り化合物(GLV)は、葉が損傷を受けた際にガラクト糖脂質から合成され、害虫や病害に対する防御機構として機能する。GLV合成経路の研究から、ヘキセナールなどの化合物が病害抵抗性に寄与することが示唆されている。このことから、草生栽培において、定期的な草刈りによって放出される香り化合物が作物の耐性を高める可能性が考えられる。逆に、除草剤の使用は香り化合物の放出機会を奪い、食害被害の増加につながる可能性がある。これは、殺菌剤使用による食害増加と同様に、栽培における新たな課題を示唆している。

 

SOY2HTMLで軽微なカスタマイズを加える為の機能を追加しました

/** Geminiが自動生成した概要 **/
SOY CMS/ShopのSOY2HTMLに、軽微なカスタマイズを容易にする隠し機能が追加されました。クラスファイルと同名のHTMLファイル名の頭にアンダースコア「_」を付けると、そのHTMLファイルが優先的に読み込まれます。これにより、プラグインのバージョンアップ時の上書きを回避できます。例えば、配送モジュールの文言変更など、PHP知識を必要とせず容易にカスタマイズできます。標準配送モジュールなら `delivery_normal/cart/_DeliveryNormalCartPage.html` を配置し、元のHTMLの内容をコピー・編集することで実現できます。SOY Shop 2系以降で利用可能、1系は `soy2_build.php` の修正が必要です。新パッケージはsaitodev.coからダウンロードできます。

 

SOY Shop 2.0.0 β

/** Geminiが自動生成した概要 **/
SOY Shop 2.0.0βでは、管理画面のUIをSOY CMS 3系に刷新。開発元の停滞を受け、非公式ながらバージョンアップを実施。拡張性向上のため、デザイン崩れを防ぐ3系テンプレートを採用した。標準機能のUI変更は完了し、プラグイン対応を進めている。現在はカスタムフィールド系、初期プラグイン、PAY.JP/Coiney決済プラグインが対応済み。今後、予約カレンダーや伝票管理プラグインへの対応を予定。データベース構造は変更なし。ダウンロードはsaitodev.co/soycms/soyshop/ から可能。管理画面のみ使用モードの追加により、ECサイト構築だけでなく、会員管理システムなど多様な用途にも対応できるようになった。

 

SOY CMSで記事毎画像アップロードプラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY CMSの記事毎に無制限に画像をアップロードできるプラグインを開発。カスタムフィールドでは複雑になる複数画像管理を、独立したプラグインで実現。記事投稿画面にアップロードフォームを設置し、公開側のブログ詳細ページで表示できる。SQLのTEXTカラム容量分まで画像パスを保存可能。操作性には改良の余地があるものの、即興で開発したパッケージはsaitodev.co/soycms/からダウンロードできる。

 

【SEO対策】サイトの滞在時間を増やす

/** Geminiが自動生成した概要 **/
SEO対策としてサイト滞在時間を増やす施策を行っている。記事の文量を増やすのではなく、一度のアクセスで複数記事を読んでもらうことを目指している。Google Analyticsでアクセス急上昇中の記事(例:「リン鉱石から考える未来のこと」)を分析し、記事末尾に関連する他記事へのリンクを追加することで、読者が他の記事にもアクセスする導線を増やし、サイト全体の平均滞在時間増加を狙う。アクセス増加の可視化は容易ではないが、読者の回遊促進による滞在時間増加を期待している。

 

Google AdsのMCCアカウントでキーワードプランナーを無料で使えるようにするまで

/** Geminiが自動生成した概要 **/
Google Ads APIを利用するにはMCCアカウントが必要で、キーワードプランナーを無料で使う方法を解説。MCCアカウント作成後、キーワードプランナーは有効な広告アカウントがないため使えない。そこで、エキスパートモードで「キャンペーンなしでアカウントを作成」し、生成されたお客様IDをメモ。MCCアカウントに戻り、サブアカウント設定で「既存のアカウントをリンク」し、お客様IDを入力してリクエストを送信、承認する。これでMCCアカウントでキーワードプランナーが無料で使えるようになる。

 

SOY ShopでFacebookページショップと連携する

/** Geminiが自動生成した概要 **/
SOY Shopの商品をFacebookページショップ/Instagramショッピングで販売する手順は以下の通り。 1. SOY ShopのFacebookページショップ用XMLプラグインを有効化し、XMLページを作成する。 2. Facebookページを作成し、ショップタブを追加。 3. 別のウェブサイトでチェックアウトを選択し、ダミー商品を登録。 4. カタログマネージャでXMLページのURLを登録。一括アップロードで「スケジュール設定したフィードを利用」を選択し、XMLページURLを設定。 5. エラーがなければ連携完了。Instagramショッピングは別途申請が必要。 最新版はサイト(https://saitodev.co/soycms/soyshop/)からダウンロード可能。

 

【SEO対策】他のCMS向けの総当り攻撃を避ける

/** Geminiが自動生成した概要 **/
サイバー攻撃の増加は深刻な問題であり、特にCMSを狙った攻撃は増加傾向にある。記事ではSOY CMSへの攻撃事例を通して、その脅威を具体的に示している。攻撃者は管理画面へのログインを試みたり、脆弱性を突いて不正アクセスを試みる。対策としては、管理画面のURLを変更したり、.htaccessでアクセス制限をかけることが有効である。また、WAFの導入やセキュリティプラグインの活用も推奨されている。常に最新の情報に注意し、適切なセキュリティ対策を実施することで、被害を最小限に抑えることが重要である。

 

【SEO対策】CSSの読み込み方の変更で高速化

/** Geminiが自動生成した概要 **/
CSSの読み込み方を変えることでSEO対策とページ表示速度の高速化を実現する方法を紹介。従来headタグ内に記述していた外部CSSをbody閉じタグ後へ移動することでレンダリングブロックを回避し、表示速度を向上させる。さらに、HTTP/2環境下ではファイル数削減が有効となるため、CSSをHTML内に直接記述する方法も提示。ただし、保守性向上のためにCMSのモジュール機能を活用し、HTML末尾にCSSを挿入する手法を推奨。この際、モジュールファイルの読み込みによる速度低下を防ぐため、最終HTMLのキャッシュ機構を併用することが重要となる。

 

【SEO対策】IPv6

/** Geminiが自動生成した概要 **/
IPv6はSEO対策に有効な通信速度改善策。IPv4アドレス枯渇問題を解決する後発の規格で、理論上アドレス割り当ては無限大。16ビット単位の16進数表記で、IPv4より最適化されている。saitodev.coのようなWebサイトアクセスでは、DNSサーバでドメイン名からIPv4/IPv6アドレスを取得し、サイトサーバへアクセスする。IPv6設定はサーバ会社ごとに異なるが、DNS設定ではIPv4をAレコード、IPv6をAAAAレコードに登録する。設定確認は`ping -4/-6 ドメイン名`コマンドで可能。

 

【SEO対策】最終産物のHTMLのキャッシュで高速化

/** Geminiが自動生成した概要 **/
SQLiteを採用するSOY CMSでサイト表示を高速化するため、最終生成HTMLのキャッシュ化機能を導入した。データベースやファイル読み込みを省略することでPageSpeed Insightsのスコアが大幅に向上。この機能はHTMLキャッシュプラグインをインストール後、index.php内のexecute_site()をexecute_site_static_cache()に変更することで有効になる。ただし、カート内容の表示など動的なコンテンツはキャッシュ化できないため、リッチなサイト構成との両立は難しい。高速化とSEO対策には見栄えよりも内容重視の割り切りが必要となる。SOY Shopでも同様のキャッシュプラグインが開発されている。

 

SOY InquiryでParsley.jsを利用する際のチェックボックスの対応

/** Geminiが自動生成した概要 **/
SOY InquiryでParsley.jsを使用する際のチェックボックス対応方法として、管理画面で「required」属性と「data-parsely-trigger」属性を追加します。これにより、Parsely.jsと連携し、フォーム送信時にチェックボックスが選択されていない場合にエラーメッセージが表示されます。対応済みのパッケージは公式サイトよりダウンロードできます。

 

SOY CMSでページ毎表示制限プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY CMSのページ毎表示制限プラグインは、サイト運営中に追加するページを、管理画面ログイン時のみ表示可能にする機能を提供します。CMS組み込み時の全ページ非表示機能を、個別のページに適用できる形にしたものです。設定したページは、管理画面ログイン中であれば、別タブでも表示制限が有効です。このプラグインを含むパッケージはsaitodev.co/soycms/からダウンロードできます。

 

SOY Shopの顧客機能を活用して買取管理アプリを開発しました

/** Geminiが自動生成した概要 **/
SOY Shopを活用した買取管理アプリが人文と社会の書林様サイト(https://www.tetsugakukaitori.com/)に導入されました。従来のSOY Inquiryでの買取依頼フォームに加え、SOY Shopの顧客管理機能と連携し、買取依頼の一元管理を実現。管理画面には専用の買取管理ページが設けられ、SOY Inquiryからの申込情報と連携。顧客はマイページから査定手続き、身分証登録、問い合わせ、査定額承認などが行えます。運営側は手続き状況変更、状況に応じたメール送信、査定結果アップロード、集荷伝票自動作成が可能。顧客情報はSOY Shopの顧客データベースと連携し、2回目以降の買取依頼を簡略化。管理画面のみ使用モードも活用しています。

 

SOY CMSでドメインが異なる複数のサイトを運営する

/** Geminiが自動生成した概要 **/
SOY CMSで異なるドメインの複数サイト(example.kyoto, other.example.kyoto)をさくらVPS上の単一サーバーで運用する手順を記述。Let's Encryptでワイルドカード証明書(*.example.kyoto)を取得し、既存証明書を削除後、お名前.comのDNS設定でTXTレコードを追加。SOY CMSでサイト毎にURLを設定し、Apacheのドキュメントルートにindex.phpと.htaccessを設置、ドメインに応じてサイトを切り替えるよう設定。ワイルドカード証明書の更新は、お名前.comでは自動化できないため手動、またはさくらのクラウドDNSへの移管が必要。

 

ハコベから土の状態を教えてもらう

/** Geminiが自動生成した概要 **/
ハコベ、ナズナなどの在来植物の繁茂は、土壌の状態が良い指標となる可能性があります。これらの植物は日本の弱酸性土壌に適応しており、土壌pHの上昇や有効態リン酸の過剰蓄積といった、慣行農法で陥りがちな土壌環境では生育が阻害されます。逆に、外来植物は高pHや高リン酸の土壌を好むため、これらの植物の侵入は土壌の状態悪化を示唆します。つまり、ナズナやハコベが豊富に生える土壌は、在来植物に適した健全な状態であり、野菜栽培にも適している可能性が高いと言えるでしょう。反対に、これらの植物が少ない土壌は、慣行農法の影響で化学性のバランスが崩れており、野菜の生育にも悪影響を与える可能性があります。

 

SOY Shopで商品毎パーツモジュール選択読み込みプラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shopの商品詳細ページで商品ごとに異なる定型文を表示するプラグインが開発されました。 通常、プラグインで定型文を設定するところを、このプラグインはパーツモジュール内で他のパーツモジュールを呼び出すことで実現しています。商品情報に設定したモジュールIDに対応するパーツモジュールを`shop:module="common.fixed_form_module"`で呼び出すと、商品に応じた定型文が表示されます。HTMLだけでなくPHPのモジュールも使用可能なので、動的な表示にも対応できます。このプラグインを含むパッケージはsaitodev.co/soycms/soyshop/からダウンロード可能です。

 

SOY Shopで顧客宛メールの送信を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopに顧客宛メール送信機能が追加されました。従来は注文関連の連絡のみでしたが、今回のアップデートで任意の用件でメールを送信できるようになりました。これは、別途追加されたマイページお問い合わせフォームへの返信機能を補完するものです。顧客はフォームから問い合わせ、管理者は今回追加された機能で返信できます。これにより、マイページ上での円滑な顧客対応が可能になります。Bootstrapテンプレート利用時、お問い合わせフォームと今回のメール機能で、問い合わせから返信までをマイページ内で完結できます。最新版はsaitodev.coからダウンロード可能です。

 

SOY Shopで振込先情報プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shop管理画面に振込先情報編集機能を追加するプラグインを作成しました。このプラグインを使用すると、顧客の振込先情報を管理し、返金時の送金に利用できます。顧客はマイページからも振込先情報を登録可能です。

 

SOY Inquiryで長いカラム名がある場合は詳細で整形をする

/** Geminiが自動生成した概要 **/
SOY Inquiryの管理画面で、長いカラム名を持つお問い合わせフォームの表示崩れを解消するアップデートが行われました。従来、最も長いカラム名に合わせて全項目の表示幅が拡張され、無駄なスペースが生じていましたが、今回の修正で改善。最長カラム名の値は改行表示となり、その他の項目は2番目に長いカラム名に合わせた幅で表示されるようになりました。これにより、長いカラム名を含むフォームでも見やすく整形された詳細情報を確認できます。アップデート版はsaitodev.co/soycms/soyinquiry/からダウンロード可能です。

 

SOY Shopで商品管理のみの権限の設定を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopに商品管理のみの権限設定が追加されました。外部委託業者などに商品登録業務を依頼する場合、この権限を付与することで、商品ページ関連の操作のみを許可できます。管理画面へのログイン後、ナビゲーションには商品関連の項目のみ表示され、URL直打ちによる未許可ページへのアクセスも制限されます。今回のアップデートでは権限周りのコードもリファクタリングされ、新たな権限の種類を容易に追加できるようになりました。最新版はsaitodev.co/soycms/soyshop/からダウンロード可能です。

 

地衣類のいる場所

/** Geminiが自動生成した概要 **/
著者は、桜の幹に地衣類が多いという当初のイメージを再考している。摂津峡公園の桜広場で見かけた地衣類から、大都市の桜並木で地衣類が少ない理由を考察した。国立科学博物館の情報を参考に、地衣類、特にウメノキゴケは排気ガスに弱いことを知る。摂津峡公園の桜広場は高台にあり、車の通行が少なく、排気ガスの影響が少ない。さらに、桜の名所として剪定などの管理が行き届き、地衣類にとって日当たりが良い環境である。これらのことから、桜の幹と地衣類の相性というより、人為的な管理によって地衣類が生育しやすい環境が作られている可能性を指摘する。

 

SOY CMSでラベルの使用状況の確認用の表示を追加しました

/** Geminiが自動生成した概要 **/
SOY CMSで、ラベルの利用状況を確認できる機能が追加されました。ラベル詳細画面に、どのページのどのブロックで使用されているかを表示する機能です。ページやブロックが増え、ラベルの管理が複雑になるにつれて、使用状況の把握が困難になるという問題に対応しています。この機能により、どのページでラベルが使用されているかを一覧で確認できるようになり、サイト管理の効率化に繋がります。ブログやカテゴリーで使用されているラベルも表示されます。更新されたパッケージはsaitodev.co/soycms/からダウンロード可能です。

 

高槻の原生協コミュニティルームで緑肥の話をしました

/** Geminiが自動生成した概要 **/
大阪府高槻市の生協コミュニティルームで、塩類集積によるハウス土壌劣化への対策として緑肥の講演が行われた。発起人は引き継いだハウスの土壌改善に悩んでおり、緑肥の選定方法などの知見を求めていた。農業における人手不足と土壌劣化は深刻な問題であり、耕作放棄地の増加も懸念される。少ない費用と労力で土壌環境を改善する手段として緑肥は有効であり、講演はハウス栽培の改善に繋がる事が期待される。講演者は京都農販のブログで緑肥に関する記事を執筆しており、ハウス内の塩類集積対策等について発信している。マルチムギの土壌改善効果や緑肥に関する書籍の情報も紹介されている。

 

SOY Shopの商品レビュープラグインでレビュー用ページの機能を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの商品レビュープラグインに、レビュー表示件数設定とページ分割機能が追加されました。商品詳細ページに表示するレビュー数を管理画面で設定可能になり、それを超えるレビューは別ページに表示されます。これにより、レビュー数の増加に対応できるようになりました。また、サイトマッププラグインも改良され、レビュー増加時にXMLに自動で項目が追加されるため、SEO対策も万全です。今回のアップデートにより、ユーザビリティとSEOの両面が強化されました。ダウンロードはsaitodev.co/soycms/soyshop/ から可能です。以前のアップデートでは、5つ星形式の評価を表示するcms:idタグも追加されています。

 

SOY Shopで販売管理アプリの構築に挑戦

/** Geminiが自動生成した概要 **/
SOY Shopで販売管理アプリ構築に挑戦中。仕入・入出金管理に注力し、既存の販売管理アプリの課題である価格バリエーションの不足に対応するため、SOY Shopのプラグインを活用し無制限登録を実現。商品規格を応用し、仕入値の異なる同一商品を管理。管理画面からの注文登録時に仕入値パターンを表示する機能も追加。ネットショップにおける仕入の概念の重要性も認識。販売管理機能強化により、ネットショップ機能全体の向上を目指す。

 

大阪層群の海成粘土層

/** Geminiが自動生成した概要 **/
千里川で大阪層群の海成粘土層を観察。露頭は侵食でいずれ消滅するが、現在はまだ見られる。この粘土層の観察から土壌の形成過程について新たな理解が得られ、土壌、ひいては肥培管理に関する探求の契機となった。具体的な発見内容は今後明らかにされる。観察場所は豊中市千里川で、埋め込みマップで位置が示されている。

 

食の知見から秀品率の向上へ

/** Geminiが自動生成した概要 **/
牛糞堆肥による土作りを推奨する人物の専門知識を検証する記事。牛糞堆肥は土壌改良に有効だが、窒素過多や未熟堆肥による病害リスクも伴う。記事では、推奨者がこれらのリスクを認識し、適切な管理方法を提示しているかを重視。窒素過多への対策、堆肥の熟度管理、施用量・時期の調整、土壌分析に基づいた施肥設計など、具体的な説明がない場合、推奨者の専門性は疑わしいと結論づけている。真の専門家は、堆肥利用のメリットだけでなく、デメリットやリスク管理にも精通している必要があると主張している。

 

SOY Inquiryの連番カラムで接頭語の設定を追加しました

/** Geminiが自動生成した概要 **/
SOY Inquiryの連番カラム機能が拡張され、接頭語と桁数指定が可能になりました。 「2019120001」のような複雑な連番を自動生成できます。管理画面で接頭語、桁数、連番を設定することで、例えば次回番号「4」の場合、桁数4なら「0004」、接頭語「ABC」なら「ABC0004」となります。桁数を超える場合は調整されます。日付置換文字列にも対応し、日付に応じた接頭語も可能です。新機能搭載パッケージはsaitodev.co/soycms/soyinquiry/ からダウンロードできます。

 

SOY Shopをリリースして10年が経ちました

/** Geminiが自動生成した概要 **/
SOY Shopは2009年12月18日にベータ版公開、CSS Nite忘年会でお披露目された。開発当初はプログラミング未経験だったが、マニュアル作成やバグ報告、軽微な修正を担当。後に支払いモジュール開発でスキルアップし、構築サイトが情熱大陸で紹介されるなど貴重な経験を得た。中でも、多様な業種のネットショップ構築を通して商売事情を学べたことが、現在の商売の基礎となっている。開発元を去った後も、オープンソースとして非公式にメンテナンスを継続していく。

 

SOY Shopでマイページログイン用パスワード自動生成プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shopのマイページログイン用パスワード自動生成プラグインがアップデートされ、管理画面から顧客を追加する際にもパスワードが自動生成されるようになりました。従来は顧客がマイページ登録時のみ自動生成でしたが、今回の更新で管理画面からの登録にも対応。これにより、顧客情報のCSVインポートや一括登録時にもパスワードが自動生成され、管理者の負担を軽減します。生成されたパスワードは登録完了メールに記載され、顧客はすぐにマイページにログインできます。この機能はプラグインの設定画面で有効/無効を切り替え可能です。

 

牛糞堆肥による土作りを勧めてくる方の腕は確かか?

/** Geminiが自動生成した概要 **/
牛糞堆肥による土作りは、一見効果があるように見えても問題が多い。牛糞は肥料成分が多いため、過剰施肥やマンガン欠乏を引き起こし、長期的に見て収量や品質の低下につながる。他人の助言を鵜呑みにせず、その人の栽培実績や、より高い品質を目指す視点があるかを見極めることが重要。例え牛糞堆肥で収量が増えても、それは潜在能力の一部しか発揮できていない可能性がある。真に質の高い野菜を作るには、土壌や植物のメカニズムを理解し、適切な栽培方法を選択する必要がある。農薬回数が増えるなど、問題が生じた際に外的要因のせいにせず、根本原因を探ることが重要である。

 

PHPのexec関数でセッションの値の引き継ぎに苦戦した時のメモ

/** Geminiが自動生成した概要 **/
Amazon Linux 2のLAMP環境で、PHPの`exec`関数を使ってGoogle Analytics APIにアクセスする際にセッションの引き継ぎに失敗した。`exec`で実行した`cmd.php`内で`session_start()`してもセッション情報が取得できなかった。調査の結果、`cmd.php`内では`session_save_path()`の戻り値が空文字列になっていた。`session_save_path("/var/lib/php/session");`を`session_start()`前に追加することでセッション情報が取得できるようになり、APIアクセスも成功した。`php.ini`の`session.save_path`の設定が原因と考えられるが、未検証。

 

SOY Shopノートパッドプラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shopユーザー向けに、商品・カテゴリ・顧客ごとにメモを残せる「SOY Shopノートパッドプラグイン」を開発しました。管理画面の詳細画面にWYSIWYGエディタ付きのメモエリアを追加し、画像やリンクの挿入も可能です。メモ投稿後は詳細画面にリンクが表示されます。現在はタイトルと本文のみですが、検索性向上などの拡張も検討中です。ダウンロードはsaitodev.co/soycms/soyshop/ から可能です。顧客からの要望を元に、簡単な引継ぎ情報共有を目的として開発され、商品、カテゴリ、顧客の詳細画面にメモを残すことができます。

 

国産小麦はグルテンの量が少ない?

/** Geminiが自動生成した概要 **/
国産小麦はグルテン量が少ないとされ、土壌や気候、品種が影響する。子実タンパク質中のグリアジンとグルテニンがグルテン量を左右し、窒素肥料や土壌水分、登熟期の温度が影響するものの、詳細は不明瞭。興味深いのは、黒ボク土壌で麺用小麦を栽培するとタンパク質含有率が高くなりすぎる場合、リン酸施用で収量増加とタンパク質含有率低下を両立できる点。北海道の黒ボク土壌とリン酸施用の関係が、国産小麦パンの増加に繋がっている可能性がある。

 

Google Analytics APIの承認で苦戦したので、承認されるまでの流れをまとめてみた

/** Geminiが自動生成した概要 **/
Google Analytics APIの承認取得に苦労した著者が、その過程を詳述。OAuth同意画面の設定から始まり、Googleからの度重なるメールでの指摘に対応していく。 ホームページ、プライバシーポリシーの設置、アプリ操作動画の提出を求められ、動画はクライアントIDの表示や言語設定など細かい指示に従い作成し直した。最終的に承認を得るまで、動画の翻訳やスコープ設定の不備など、多くの修正を余儀なくされた。

 

冬野菜の生産性の向上は地温から

/** Geminiが自動生成した概要 **/
土壌からの強力な温室効果ガス、一酸化二窒素(N₂O)の排出は、地球温暖化に大きく寄与している。N₂Oは窒素肥料の施用によって増加し、特に硝化作用と脱窒作用が主要な発生源となる。硝化作用は好気的環境でアンモニアが硝酸に酸化される過程、脱窒作用は嫌気的環境で硝酸が窒素ガスやN₂Oに還元される過程である。土壌の水分状態、酸素濃度、有機物含量、温度などがこれらの反応速度に影響を与えるため、N₂O排出量は変動する。過剰な窒素肥料施用はN₂O排出を増加させるため、土壌診断に基づいた適切な施肥管理が重要となる。また、硝化抑制剤や緑肥の活用など、N₂O排出削減のための技術開発も進められている。

 

曽爾高原のススキたちが土とは何か?を教えてくれる

/** Geminiが自動生成した概要 **/
夜久野高原の宝山火口付近では、独特の赤い土壌が見られる。これは、宝山が鉄分を多く含む火山岩で構成されているためである。風化・浸食によって岩石中の鉄分が酸化し、赤土が形成された。この赤い土は、粘土質で水はけが悪く、植物の生育には適さない。周辺の土壌は黒色だが、これは植物の腐植によるもので、火山灰土壌に腐植が混じった場合に黒くなる。宝山の赤土は、この腐植の影響が少ないため、鉄分の赤色が強く現れている。対照的に、火口から少し離れた場所では、火山灰土壌に腐植が混じることで黒土となっている。このことから、土壌の色は、母岩の種類と腐植の含有量によって変化することがわかる。

 

ススキの名所の曽爾高原

/** Geminiが自動生成した概要 **/
奈良県宇陀市の曽爾高原は、倶留尊山と亀山の麓に広がる高原で、秋のススキの名所として知られています。毎年春に行われる山焼きによってススキ草原が維持されており、これは歴史的に建築材料としてススキを育てていたことに由来します。山焼きはススキの生育を促進し、他の植物の成長を抑制する効果があります。 著者は、長年ススキ栽培が続けられた土壌の状態に興味を持ち、森になるポテンシャルを秘めた特異な土壌について考察しています。そして、高原を訪れ、実際に土壌を観察しようとしています。

 

SOY Shopのカスタムサーチフィールドで検索フォームの初期の選択の設定を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopのカスタムサーチフィールドで、検索フォームの初期選択値を設定できるようになりました。ラジオボタン、チェックボックス、セレクトボックスで、選択項目の前に「*」を付けるだけで、ページ表示時に該当項目が初期選択されます。この機能により、ユーザーが求める商品をよりスムーズに見つけられるようになります。設定はカスタムサーチフィールドの管理画面から行えます。最新版はsaitodev.co/soycms/soyshop/からダウンロード可能です。

 

SOY Shopの管理画面からの注文で未登録商品の設定を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの管理画面からの注文で、誤操作により在庫管理などに不整合が生じる問題を解消するため、「未登録商品を指定する」ボタンの表示有無を設定できる機能が追加されました。 業務アプリとしてSOY Shopを活用する際、この新機能により、新規スタッフの教育コスト削減と誤操作による損害リスク軽減に繋がります。このアップデートを含む最新パッケージはsaitodev.co/soycms/soyshop/ からダウンロード可能です。

 

SOY Shopの商品詳細表示プラグインでパンくず中のリンクの設定を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの商品詳細表示プラグインで、パンくずのリンク先をカスタマイズできるようになりました。従来、商品詳細ページのパンくず内の「商品一覧」リンクは固定でしたが、今回のアップデートにより、管理画面の商品情報編集画面で任意のURLに変更可能になりました。 これにより、商品カテゴリページ以外にも、特定の特集ページなど、任意のページへリンクさせることができます。変更したURLは、商品詳細表示プラグインで出力されるパンくずに反映されます。 最新版はsaitodev.co/soycms/soyshop/からダウンロード可能です。

 

食害虫防除としての草生栽培の可能性を探る

/** Geminiが自動生成した概要 **/
草生栽培は、害虫防除に有効な可能性を秘めている。高齢農家は雑草を増やすと害虫も増えると考えるが、抵抗性誘導で害虫を防除できる。草が傷つくとジャスモン酸が合成され、ジャスモン酸メチルとして周辺に伝播し、作物の抵抗性を向上させる。スパイダーモアなどで通路の草を刈り、損傷させることで抵抗性誘導を促せる。刈る草も健康的に育てるため、肥料を与えて発根を促進するのが良い。ネギの畝間にマルチムギを生やすとアザミウマの被害が減った事例もあり、草を生やすこと自体が良い刺激になる可能性がある。ただし、草生栽培を行う前に、土壌を良い状態にしておくことが重要である。

 

SOY Shopの消費税別表示モジュールで軽減税率の設定を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの消費税別表示モジュールが軽減税率に対応しました。2019年10月からの消費税増税に伴い、モジュールで増税日と税率を設定できる他、軽減税率の設定も可能になりました。軽減税率対象商品は、各商品の編集画面でチェックボックスにより指定します。対象商品の一覧表示機能は現状ありませんが、要望があれば追加予定です。最新版はsaitodev.co/soycms/soyshop/からダウンロードできます。

 

SOY CMSで自動ログインを追加しました

/** Geminiが自動生成した概要 **/
SOY CMSのバージョンアップ後、初期管理者でログイン・バージョンアップ手続き・ログアウトを行うと、ログインフォームに自動ログインチェックボックスが追加されるようになりました。この機能はバージョンアップの手間を軽減します。同梱パッケージはsaitodev.co/soycms からダウンロード可能です。

 

病気の予防は昆虫を意識し、昆虫から学べ

/** Geminiが自動生成した概要 **/
ナスの施設栽培における深刻な脅威として、タバココナジラミによるウイルス病の蔓延と、アザミウマによる被害が挙げられる。タバココナジラミは薬剤抵抗性を持ち、ウイルス病を媒介するため、早期発見と徹底した防除が重要となる。一方、アザミウマは微小なため発見が難しく、食害痕から病原菌が侵入し、生育不良を引き起こす。特に高温乾燥条件下で増殖しやすく、薬剤散布だけでは防除が難しい。総合的な対策として、天敵昆虫の活用や、粘着トラップによる早期発見、適切な薬剤ローテーションなどが有効である。これらの対策を怠ると、収量・品質の大幅な低下を招く可能性がある。

 

野菜の美味しさとは何だろう?カリウム

/** Geminiが自動生成した概要 **/
カリウムは土壌に豊富とされるが、劣化した土壌では不足しやすく、野菜の生育不良や味に影響する。カボチャの果実内発芽はカリウム不足の一例で、味が落ちる。研究によると、塩化カリウムは塩味を増強する効果があり、野菜のカリウム含有量と美味しさの関連性が示唆される。美味しい野菜は、土壌劣化のない畑で育ち、カリウムが豊富に含まれている。人体ではカリウムが塩分排出を促すため、美味しい野菜は健康にも良いと言える。つまり、「野菜の美味しさ=健康」という仮説が有力となる。土壌管理の重要性も強調されている。

 

SOY Inquiryで管理者向けメールの返信先をユーザのメールアドレスのみの設定を設けました

/** Geminiが自動生成した概要 **/
SOY Inquiryで、管理者向けお問い合わせ通知メールの返信先が誤って運営者アドレスになる問題を解消する新機能が追加されました。 従来の「返信先にユーザーアドレスを追加」設定では一部メールクライアントで返信先が運営者アドレスのままになるケースがあったため、新設定「返信先をユーザーアドレスにする」では、返信先をユーザーアドレスのみに限定。これにより、管理者が返信ボタンを押すだけで確実にユーザーに返信できるようになりました。新パッケージはsaitodev.co/soycms/soyinquiry/ からダウンロード可能です。

 

JA兵庫六甲の農業青年会議阪神支部の研修会で肥料の話をしました

/** Geminiが自動生成した概要 **/
JA兵庫六甲の農業青年会議阪神支部研修会で肥料の講演を行いました。参加者は果菜農家が多く、品質管理のための追肥に重点を置いていましたが、私は土壌の状態改善の重要性を強調しました。追肥で品質を上げるには、まず土壌を見直し、栽培を楽にすることが不可欠です。参加者のヒントになれば幸いです。詳細は京都農販日誌で紹介しています。

 

野菜の美味しさとは何だろう?

/** Geminiが自動生成した概要 **/
野菜の美味しさと強さを追求する著者は、土壌の健康状態が野菜の品質に大きく影響すると考えている。理想的な土壌は、多様な微生物が共生し、植物の根が深く広く伸びることができる環境。これは、有機農法、特に米ぬかボカシ肥料の使用によって実現可能。一方、化学肥料中心の慣行農法では、土壌の微生物バランスが崩れ、植物の健康状態も悪化、味や食感にも悪影響が出ることがある。実際に、著者は米ぬかボカシと化学肥料で栽培したチンゲンサイの比較実験を行い、化学肥料で育てたチンゲンサイは筋っぽく、食感が悪いという結果を得た。真の野菜の美味しさは、健康な土壌から生まれると結論付けている。

 

りょうこ先生のなるほどお野菜第1回-種編-

/** Geminiが自動生成した概要 **/
安満遺跡公園で子供向け種イベント「りょうこ先生のなるほどお野菜第1回-種編-」を開催。種あてクイズや種植え体験、野菜の断面観察などを通して、子供たちに野菜の種の面白さを伝えた。顕微鏡で種を観察するコーナーは特に人気で、講師自身も購入するほど。参加者からは次回開催を望む声も上がった。イベントは小学3年生を中心に、保護者も参加。珍しいそうめんかぼちゃの試食も行われた。今後は収穫祭でのイベントも企画中で、親子で無農薬野菜を使った焼きそば作りと野菜クイズを検討している。

 

オーガニックファームHARAさんのキャロライナ・リーパー

/** Geminiが自動生成した概要 **/
植物の上陸は、過剰な太陽光への対処という課題をもたらしました。水中は光が減衰されるため光合成には効率的でしたが、陸上では強すぎる光が光合成器官に損傷を与えかねません。そこで植物は、カロテノイドなどの色素分子を進化させました。カロテノイドは、余剰な光エネルギーを吸収し、熱として放散することで光阻害を防ぎ、光合成の効率を維持します。 陸上植物のカロテノイド生合成経路は、シアノバクテリア由来の葉緑体と、真核生物の祖先が獲得した経路の融合によって成立しました。特に、陸上植物はカロテノイドを多様化させ、様々な環境に適応しています。この多様化は、遺伝子重複や機能分化といった進化メカニズムによって実現されました。結果として、カロテノイドは光合成の効率化だけでなく、植物の生存戦略において重要な役割を果たすようになったのです。

 

草生栽培は課題を明確化するかもしれない

/** Geminiが自動生成した概要 **/
マルチムギは、劣化した土壌、特に塩類集積土壌で優れた生育を示す。これは、マルチムギの持つ高い浸透圧調整能力によるものと考えられる。マルチムギは根から多量のカリウムを吸収し、細胞内の浸透圧を高めることで、土壌中の高濃度塩類による水分ストレスを回避している。 さらに、マルチムギは土壌の物理性を改善する効果も持つ。根の伸長によって土壌が耕され、通気性や排水性が向上する。また、枯れた根や茎葉は有機物となり、土壌の保水力や肥沃度を高める。これらの効果により、後作の生育も促進されることが期待される。 塩類集積土壌は、農業生産を阻害する深刻な問題である。マルチムギは、その対策として有効な手段となりうる可能性を秘めている。

 

SOY Inquiryのアップロードカラムで画像のリサイズを追加しました

/** Geminiが自動生成した概要 **/
SOY Inquiryでアップロードフォームを設置した際、確認メールに画像を表示するには、PHPのメール送信機能では画像を直接埋め込めないため、HTMLメールで画像のURLを指定する必要がある。 送信メール設定でHTMLメールを利用し、メール本文にアップロードファイルへのURLを記述するSmartyタグを追加する。ただし、このURLは管理画面からのみアクセス可能なので、.htaccessでBasic認証を設定してセキュリティを確保する。 画像のURLは、SOY Inquiryのバージョンによって記述方法が異なり、古いバージョンではファイルIDを直接URLに含める方法、新しいバージョンでは専用のSmartyタグを使用する方法があるため、バージョンに合わせて適切な方法を選択する必要がある。

 

ウキクサが田の底で根付いている

/** Geminiが自動生成した概要 **/
ウキクサは水面に浮かぶ水生植物だが、田んぼなどの浸水環境で根を張ることもある。この根付きのウキクサは低酸素環境でも生きることができ、光合成によって酸素を発生させる。そのため、水中の酸欠状態を緩和し、他の水生生物が生きられる環境を整えるのに役立つ。 ウキクサは急速に増殖し、田んぼの栄養素を吸収することで雑草抑制効果がある。また、タンパク質やビタミンが豊富で、家畜の飼料や肥料としても利用されている。さらに、浄水能力もあり、水中の窒素やリンを除去することができる。そのため、水質浄化や生態系の保全に貢献する可能性がある。

 

ワインの熟成から土の形成を考える

/** Geminiが自動生成した概要 **/
ワインの熟成では、ポリフェノールが酸素により重合し、適度に変質する。このプロセスは土の形成の制限と見なせる。土壌では、腐植酸の重合と定着には酸素が必要で、これが土壌の排水性の確保を重要にする。 同様に、水中に堆積する腐植酸も山で形成されたもので、酸素がその形成に関与していると考えられる。粘土鉱物は形成された腐植酸を捕捉し、土壌を形成する。これらはすべて、酸素が腐植酸の形成と土壌形成に不可欠であることを示唆している。

 

ワイン栓のコルクと熟成

/** Geminiが自動生成した概要 **/
ワインのコルクは、熟成過程で微量の酸素を透過させ、ワインの酸化促進に役立てる。コルクの酸素透過率を調整することで、熟成の度合いを制御できる。ポリフェノールの反応が熟成の鍵と考えられ、土壌の物理性を改善することで、ポリフェノールに影響を与える酸素の透過性を調整し、理想的な土の形成につながる可能性が示唆される。

 

奥が深すぎるワインの熟成

/** Geminiが自動生成した概要 **/
ワインの熟成では酸素が重要視されるようになった。酸素はワインに含まれる鉄が活性酸素を生み出すが、ポリフェノールがこの活性酸素を無害化する。このプロセスでポリフェノールは重合・変形し、ワインの熟成に貢献する。 タンニンを含むポリフェノールが熟成に重要なため、木製オーク樽での熟成が好まれる。オーク樽は微量の酸素を透過させ、タンニンの重合を促す。 また、オーク材に含まれるバニリンなどの成分が、ワインの風味と複雑さを向上させる。熟成中の適切な酸素管理がワインの品質に大きな影響を与えるため、樽の素材と大きさは重要な要素となる。

 

こと京都株式会社さんで栽培にとって良い土の話をしました

/** Geminiが自動生成した概要 **/
こと京都株式会社で、栽培に適した土について講演を行いました。適した土壌では、追肥の頻度が減り、管理時間が短縮されます。良質な土壌が育つと、秀品率が向上し、管理できる畑の面積が増加します。結果として、より多くの高品質な農産物が市場に出荷できます。講演では、こうした状態に近づけるための土壌改善の重要性が強調されました。

 

SOY Shopで商品毎にメール文面に挿入できる定型文のプラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shopの商品毎にメール文面に定型文を挿入できるプラグインが開発されました。特定商品の注文時にのみ必要な情報を伝えるため、ワインの管理方法など、商品に応じた定型文をメールに自動挿入できます。プラグイン設定画面で定型文を作成し、商品登録時に選択することで、注文受付メールに反映されます。これにより、不要な情報を含めずに商品固有の注意点を伝えられます。現在は注文受付メールのみ対応ですが、今後の要望に応じて対応範囲を拡大する可能性があります。プラグインはsaitodev.co/soycms/soyshop/からダウンロード可能です。

 

SOY Shopでカテゴリ商品ブロック生成プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shop用のプラグインで、複数カテゴリの商品一覧を1ページに表示できる機能を追加しました。標準のナビゲーションページではカスタムサーチフィールド等のプラグインとの連携が難しいため、簡易的に商品ブロックと同等の機能を実現するプラグインを開発。管理画面で生成個数を指定すると、`<shop:module>`と`<block:id="item_list">`を使った記述が生成され、`category`属性にカテゴリIDを指定することで各カテゴリの商品一覧が表示されます。カテゴリIDはカテゴリ詳細画面のURL末尾の数字で確認できます。今後はカスタムサーチフィールドにも対応した商品ブロック作成プラグインを開発予定です。現在はカテゴリと表示件数、カスタムサーチフィールドに対応したプラグインを公開中です。

 

SOY Shopでキャンセルが頻繁に発生する事業向けの予約アプリを開発しました

/** Geminiが自動生成した概要 **/
SOY Shopの顧客管理機能を活用し、キャンセル発生頻度の高い就学前児童向けWebサービスの予約カレンダーを開発。Googleアカウントログイン機能、仮登録による会員限定アクセス制限、運営者による本登録承認フローを実装。スマホで空き状況確認・予約を簡素化し、クリック操作で予約完了までスムーズな導線を構築。Bootstrapテンプレートのカスタマイズにより操作性を向上。兄弟利用を想定した予約時情報入力機能も搭載。キャンセル発生時の迅速な空き状況更新にも対応。

 

SOY ShopのGoogle Sign-In for Websitesプラグインでボタンの拡張設定を追加しました

/** Geminiが自動生成した概要 **/
SOY ShopのGoogle Sign-In for Websitesプラグインにボタン拡張設定が追加されました。従来のシンプルなログインボタンに加え、JavaScriptでカスタマイズ可能なボタンを実装できます。管理画面のサンプルコードを元に、大きさやデザインを自由に調整可能です。この拡張により、カートページ等のデザインとの調和が容易になり、より柔軟なサイト構築が可能になります。更新版プラグインはsaitodev.co/soycms/soyshop/からダウンロードできます。

 

京都八幡のとらこ株式会社さんで堆肥の有効活用の話をしました

/** Geminiが自動生成した概要 **/
京都八幡のとらこ株式会社で、堆肥の有効活用に関する社内研修を行いました。京都市内の土壌は堆肥が効きにくいため、そのパフォーマンスを高める工夫や、増加する降雨量への対策を重点的に解説しました。具体的には、堆肥の効果を最大限に引き出す方法や、堆肥と酸素供給剤を併用することで、雨による被害を軽減できた事例を紹介しました。研修では、難しい土壌環境でも適切な作物管理を行う京都の農家ならではの視点を取り入れ、実践的な内容を共有しました。

 

SOY Inquiryの自動送信メールの多言語化

/** Geminiが自動生成した概要 **/
SOY Inquiryで多言語サイトを構築する際、問い合わせ番号や日時が日本語で送信される問題を解決する方法です。mail.user.phpをカスタマイズし、メール本文中の「問い合わせ番号」「問い合わせ日時」を各言語に置換します。コード例では、explodeで本文を分割し、strposで該当箇所を特定、str_replaceで置換後、implodeで再構築しています。この方法で各言語用のフォームを用意すれば、多言語対応の問い合わせメールを実現できます。

 

SOY Shopで注文詳細の商品毎に状態を持たせてみた

/** Geminiが自動生成した概要 **/
SOY Shopの注文詳細画面に、商品毎の状態管理機能を追加するプラグインが開発された。これにより、例えば一部出荷や在庫不足といった状況を商品単位で管理し、担当者間での情報共有をスムーズにすることが可能になる。プラグイン導入後は、設定画面で任意の状態を追加できる。 開発の背景には、注文数と出荷可能数が異なる場合の状況管理の煩雑さを解消する目的がある。商品毎に「配送途中」などの状態を付与し、コメント欄に詳細を記録することで、配送状況の共有コスト削減が期待される。 このプラグインは、営業事務向けの機能強化の一環として開発され、管理画面の利便性向上に貢献する。ダウンロードはサイト(https://saitodev.co/soycms/soyshop/)から可能。

 

SOY Shopの管理画面からの注文で商品毎の価格設定を確認する

/** Geminiが自動生成した概要 **/
SOY Shopを顧客管理業務アプリとして活用する中で、顧客ごとに異なる価格設定が必要になったため、特別会員価格設定プラグインを導入。しかし管理画面からの注文登録時に商品ごとの価格一覧が確認できない問題が発生した。そこで、注文登録画面で商品に追加価格設定がある場合、価格一覧ボタンを表示し、ポップアップで確認できるように改良。これにより、商品編集画面を開かず価格を確認できるようになり、問屋業などでの利便性向上に繋がる。改良版はサイトからダウンロード可能。合わせて顧客管理機能強化、管理画面のみ使用モード、注文状態並び替え、商品確認済ステータス追加など関連記事も紹介。

 

長崎県諫早市の諫早公園に行ってきた

/** Geminiが自動生成した概要 **/
仕事で諫早市を訪れ、諫早公園の眼鏡橋を見学。橋を渡った先には露頭があり、700万年前からの火山岩屑なだれの堆積物と判明。地衣類や苔で風化した白い粒子と黒い腐植が露出し、脆く崩れやすい凝灰岩の可能性を考察。木の根が岩に入り込んでいる様子から、風化のしやすさが木の生育に影響を与えていると推測。諫早公園は眼鏡橋だけでなく、国指定天然記念物の暖地性樹叢もあり、樹木の生育と地質の関連性を示唆する興味深い場所だった。

 

SOY Inquiryで連番カラムを追加しました

/** Geminiが自動生成した概要 **/
SOY Inquiryにフォーム毎の通し番号を自動生成する機能が追加されました。この機能は、送信完了画面、自動返信メール、管理画面の受信一覧に表示可能です。通し番号は連番カラムで管理され、非表示設定も可能です。管理画面で連番カラムをフォームの最初に配置すれば、受信一覧での表示も実現できます。「次回お問い合わせ時に生成する番号」を設定することで、番号を飛ばすことも可能です。機能追加版はサイトからダウンロードできます。ただし、自作デザインのフォームを使用する場合は、PHPファイルの修正が必要です。修正方法の解説ページも用意されていますが、難しい場合はサイトから問い合わせも可能です。

 

Windows10 Apache2.4でlocalhostの接続拒否の解決方法

/** Geminiが自動生成した概要 **/
Windows10のアップデート後、Apache2.4のlocalhostが接続拒否となった。httpd.confのInclude行のコメントアウトを外す際に、VirtualHost行のコメントも外してしまったことが原因でsyntaxエラーが発生していた。さらに、httpd-vhosts.confのVirtualHost設定で指定されたDocumentRootのsoycmsディレクトリが欠落していたため、Apache再起動時にエラーが発生。管理者権限でコマンドプロンプトを実行し、Apacheを再起動することでlocalhostへの接続が復旧した。httpd.confのDocumentRoot設定は修正不要であったが、httpd-vhosts.confで指定したDocumentRootディレクトリは必須であることが判明した。

 

SOY CMS / Shopのバージョンアップ時にキャッシュの自動削除機能を追加しました

/** Geminiが自動生成した概要 **/
SOY CMS/Shopのバージョンアップ後、キャッシュ削除忘れによる不具合報告が相次いだため、自動削除機能が追加されました。バージョンアップで外部ファイルの読み込み箇所などが変更されると、古いキャッシュが残っているとJavaScriptが実行されないなどの問題が発生します。新機能では、管理画面を開いた際に古いキャッシュを自動で削除します。この機能を含む最新パッケージはsaitodev.co/soycms/からダウンロードできます。

 

フェニルプロパノイド類が持つであろうもう一つの健康効果

/** Geminiが自動生成した概要 **/
卵の殻は物理的な防御だけでなく、化学的な防御機構も備えている。卵白に含まれるオボトランスフェリンは鉄と結合し、細菌の増殖を抑制する。リゾチームは細菌の細胞壁を破壊する酵素である。オボアルブミンは加熱で変性し、細菌を包み込んで不活性化する。さらに、卵殻膜にも抗菌作用がある。卵は多重防御システムにより、胚を微生物から守っている。特に、リノール酸は酸化しやすく発がん性物質に変化する可能性があるため、抗酸化作用を持つフェニルプロパノイド類との併用が重要となる。

 

SOY Shopの注文詳細で商品毎に確認済みのステータスを追加しました

/** Geminiが自動生成した概要 **/
SOY Shopで注文状態の並び順を設定できるプラグインが開発されました。 管理画面の注文一覧表示で、標準の状態遷移に沿わない並び順への変更ニーズに応えるものです。プラグインを有効化すると、設定画面で自由に注文状態の表示順をドラッグ&ドロップで変更できます。これにより、ショップ独自のワークフローや業務の優先順位に合わせた表示が可能になり、作業効率の向上が期待できます。例えば、「入金待ち」を「発送待ち」より前に表示するなど、柔軟なカスタマイズが可能です。設定は簡単で、直感的な操作で変更できます。このプラグインは、SOY Shopの標準機能では実現できなかった注文状態の表示順のカスタマイズを可能にし、より効率的な受注管理を実現するツールとなります。

 

ブロッコリの根に秘めたる可能性

/** Geminiが自動生成した概要 **/
ブロッコリの根に秘められた抗がん作用の可能性について紹介する記事です。ブロッコリの各部位から抽出した成分の乳がん細胞抑制効果を調べたところ、花蕾ではなく根に最も高い効果が見られました。根にはビタミンC、ビタミンU、ポリフェノールなどの既知の栄養素は少ないにも関わらず、強い抑制効果を示したことから、未知の成分の存在が示唆されます。また、ビタミンUは胃粘膜の修復に関与し、植物では耐塩性獲得に関係している可能性が示唆されています。ブロッコリには、まだまだ知られていない健康効果が秘められていると考えられます。

 

SOY CMSで管理画面のログイン時のパスワードを忘れた場合の再設定

/** Geminiが自動生成した概要 **/
SOY CMSの管理画面パスワードを忘れた場合、パスワードリマインダが有効でなければ使えません。有効化は必須です。パッケージを最新版に更新すると手順が簡略化されます。 パスワード無しでログインするには、AdministratorLogic.class.phpのlogin関数とcheckUserIdAndPassword関数に"return true;"を追加します。管理画面へのアクセス制限としてBasic認証を設定しておくのが安全です。 ログイン後、管理者情報ページを開くにはDetailPage.class.phpに初期管理者ID取得のコードを追加します。パスワード変更時はChangePasswordAction.class.phpでエラーチェックとパスワードチェックを無効化し、管理者IDを強制的に初期管理者に設定します。変更後はファイルを元に戻し、ログイン確認後、パスワードリマインダを有効化してください。

 

SOY CMSの開発元を辞めた後も開発を続ける心境をまとめてみた

/** Geminiが自動生成した概要 **/
筆者はかつてSOY CMSの開発元で働いていたが、開発元が農業事業に転換する際に退職し、以来個人でSOY CMS/Shopの開発を続けている。開発継続の理由は、SOY Shopを利用するユーザーのビジネスを支える責任感と、カスタマイズ依頼による収入で生活が成り立っているため。一方で、開発元の権利所有により公式の場での活動が制限され、SOY CMSの衰退を危惧している。生活のため、新規ユーザー獲得よりも既存ユーザーの売上向上に注力し、新機能紹介プラグインなどを開発。自身のサイト運営を通してSOY CMSの魅力を伝えることで、間接的な普及も目指している。開発元にはGitHubでの公開とユーザー主体の運営への移行を希望し、ユーザーからの寄付や支援に感謝しつつ、非公式ながらも開発を継続する意思を表明している。

 

SOY Shopで商品毎でJANコードを登録しバーコードを作成してみる

/** Geminiが自動生成した概要 **/
SOY Shopで商品ごとにJANコードを登録・バーコード表示するプラグインが開発されました。管理画面の商品詳細画面にJANコード入力欄が追加され、入力するとバーコード画像が生成されます。生成されたバーコードは市販のバーコードリーダーで読み取り可能であることが確認されています。プラグインはsaitodev.coからダウンロードできます。バーコード生成にはPHP Barcode Generatorが使用されています。現状、SOY Shop標準機能でのこのプラグインの用途は未定ですが、活用アイデアは問い合わせフォームから募集中です。

 

SOY Shopで注文状態並び順設定プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shopの注文状態(ステータス)並び替えプラグインが開発されました。 管理画面で注文状態の並び順をカスタマイズでき、業務フローに合わせた表示が可能になります。 以前開発された「注文状態追加プラグイン」で追加したステータスも含め、標準ステータスと合わせて自由に並び替えられます。 発送済み前に梱包済みステータスを配置するなど、業務に合わせた並び順でミスの軽減、作業効率向上が期待できます。 パッケージはsaitodev.co/soycms/soyshop/ からダウンロード可能です。

 

SOY Inqiuryでお問い合わせ内容をコンパクトにする

/** Geminiが自動生成した概要 **/
SOY Inquiryで長い項目名によってメール表示が崩れる問題を解決する方法です。フォームテンプレートディレクトリ(例:default)にmail.admin.phpを作成し、PHPでメール内容を整形します。 提供されたコードは、メール本文の各行を処理し、コロン以降の空白文字を削除して出力します。これにより、項目名と入力値の間のスペースが詰まり、コンパクトな表示になります。管理者宛メールのみ変更され、公開側の表示は変わりません。

 

カスタムフィールドアドバンスドの記事フィールドの使いどころ

/** Geminiが自動生成した概要 **/
SOY CMSのGravatar連携プラグインは、ブログ投稿者のプロフィール画像を簡単に表示できるツールです。Gravatarに登録されたメールアドレスと連携し、自動的に画像を取得・表示します。プラグイン設定画面でGravatarの画像サイズを指定でき、記事詳細ページやブログのサイドバーなど、任意の場所に設置可能です。 記事投稿時に投稿者のメールアドレスを入力するだけで、Gravatar画像が反映されるため、ユーザーの手間を省き、サイトの見栄えを向上させます。 画像がない場合はデフォルト画像が表示され、Gravatar未登録ユーザーにも対応しています。このプラグインで、手軽にブログに個性を加えることができます。

 

SOY CMSのカスタムフィールドアドバンスドで記事フィールドを追加しました

/** Geminiが自動生成した概要 **/
SOY CMSのカスタムフィールドアドバンスドプラグインに、記事を出力できる「記事フィールド」機能が追加されました。記事の投稿・編集画面で、ラベル設定済みの公開記事を選択し、任意の場所にその記事内容を出力できます。 現状は試作段階で、パフォーマンスへの影響を考慮し、選択可能な記事はラベル設定済みの公開記事20件までに制限されています。これは、長い定型文を記事によって出し分けたいというニーズに応えるための機能で、セレクトボックスから記事を選択する方式です。 制約事項として、記事の投稿・編集画面で指定できるのはラベル設定済みの記事のみ、ラベル指定時のセレクトボックスに表示される記事数は20件、選択できるのは公開記事のみとなっています。これらの制約は、今後の使用状況に応じて調整される予定です。

 

ワードやエクセルファイルの編集はDropboxフォルダで行おう

/** Geminiが自動生成した概要 **/
IT関連以外の方との共同作業で、Wordファイルの消失を恐れる相手にDropboxの活用を提案した体験談。Dropboxにファイルを置くことで自動保存・共有、バージョン管理による変更履歴の保持が可能となり、ファイル消失や変更差し戻しへの不安を解消できる。バージョン管理はGit利用者には必須の機能で、DropboxのWebサイト上で過去のバージョンに戻せる。Dropbox利用でファイル名の変更によるバージョン管理の手間も省ける。ただし、企業によってはセキュリティ上の懸念からDropboxのような外部サービス利用を禁止している場合もある。競合他社はこうしたサービスを活用し、事務コスト削減で商品開発に注力し、競争優位に立つ可能性があるため、時代遅れにならないようWebサービス導入と個人スキルの向上が重要。

 

SOY ShopでSOY Shop新機能紹介プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shopの新機能紹介プラグインが開発されました。このプラグインは、SOY Shop管理画面の新着ページに、開発ブログで紹介されている新機能の記事一覧を表示します。開発者は、SOY Shopの豊富な機能をユーザーに最大限活用してほしいと考えていますが、新機能の情報が届きにくいことが課題でした。そこで、管理画面に新機能紹介記事を表示することで、ユーザーのオペレーション効率化や売上向上に繋がるヒントを提供することを目指しています。ただし、開発者寄りの情報になる可能性もあるため、掲載内容については、事例紹介なども含めて検討していく予定です。新機能紹介プラグインを含むパッケージはsaitodev.coからダウンロードできます。

 

SOY Shopで管理画面のみ使用モードを追加しました

/** Geminiが自動生成した概要 **/
SOY Shopは、9年の歴史の中で機能強化を重ね、ネットショップだけでなく業務アプリとしての需要が高まっている。今回、業務アプリ利用時のサンプルデータ削除の手間を省くため、「管理画面のみ使用モード」が追加された。サイト作成時にチェックを入れるだけで、サンプルデータなしで管理画面を利用できる。 業務アプリとして利用する場合はMySQLデータベース推奨。併せて、管理画面の使い始めのガイダンスも追加された。このアップデートにより、在庫管理や顧客管理など、SOY Shopを業務システム基盤として活用する際の初期設定が簡素化される。ダウンロードは公式サイトから可能。

 

SOY CMSでBootstrap4で作成したブログページ用のページ雛形を追加しました

/** Geminiが自動生成した概要 **/
SOY CMSにBootstrap4ベースのブログページ用テンプレートを追加しました。ダウンロードURL(https://github.com/inunosinsi/soycms/raw/master/cms/common/logic/admin/Site/TemplatePack/bootstrap4.zip)からテンプレートzipファイルをダウンロードし、管理画面からアップロード・インストールすることで利用可能です。手順は添付画像を参照ください。新規サイト作成時にはこのテンプレートがデフォルトで含まれるようになりました。同梱パッケージはsaitodev.co/soycms/ からダウンロードできます。

 

Windows10のApache2.4でVirtual Hostを設ける

/** Geminiが自動生成した概要 **/
Windows10のApache2.4でバーチャルホストを設定する方法。httpd.confの`#Include conf/extra/httpd-vhosts.conf`の#を外し、httpd-vhosts.confを編集する。既存の`<VirtualHost *:80>`の設定に加え、新たな`<VirtualHost *:81>`ブロックを追加し、DocumentRootに任意のディレクトリを指定、アクセス許可を設定する。追加のバーチャルホストは、Listenポートと`<VirtualHost>`ブロックを追加することで設定可能。コマンドプロンプトで`httpd -k restart`を実行しApacheを再起動後、ブラウザで`localhost:81`等にアクセスし、意図したファイルが表示されれば設定完了。

 

SOY Shopで商品登録時に商品コードの自動生成

/** Geminiが自動生成した概要 **/
SOY Shopで商品登録時に商品コードを手動で入力するのは手間がかかる。特に、商品コードが見積書などに必要ない場合でも、システム上必須となるため、重複しないコードを考える負担が生じる。この問題を解決するため、商品コードの自動生成機能が追加された。管理画面で設定を有効にすると、ランダムなコード、もしくは指定した接頭語と連番を組み合わせたコードが自動で挿入される。これにより、商品登録作業の効率化と時間短縮を実現する。この機能を含むパッケージはsaitodev.coからダウンロード可能。

 

SOY Shopで誰が操作したか?を把握したい

/** Geminiが自動生成した概要 **/
SOY Shopはネットショップだけでなく実店舗の販売管理にも利用されるようになり、複数店舗で「誰が注文を受け付けたのか」を把握するニーズが高まった。従来、各店舗のアカウントで管理すれば変更履歴に対応者IDが残るが、カート注文では意図したIDが記録されない問題があった。そこで、カート注文にはシステム側で特定の値を挿入する機能と、対応者IDで検索できるプラグインを追加。これにより、ネット注文と実店舗注文のどちらでも、対応者による注文の絞り込みが可能になった。このアップデートは地味ながらも、業務効率化に繋がる重要な改善である。

 

SOY Shopの管理画面からの注文で商品オプションプラグインの見直し

/** Geminiが自動生成した概要 **/
京都農販は、多様なニーズに対応するパイプハウス施工の実績を持つ。カタログでは、強度と耐久性に優れた単棟ハウスから、連棟ハウス、特殊ハウスまで幅広い施工事例を紹介。環境制御技術を駆使した温度・湿度管理、CO2施用、養液栽培システムなど、高品質な農作物生産を支援する設備も提案。 耐候性・耐食性に優れた資材を使用し、積雪や強風対策も万全。施工事例を通して、設計から施工、アフターサービスまで一貫体制によるサポートを提供することで、顧客の農業経営の成功に貢献する姿勢を示している。カタログは、パイプハウス導入を検討する農業者にとって、貴重な情報源となるだろう。

 

SOY CMSとSOY ShopでPHP7.3系に対応してみました

/** Geminiが自動生成した概要 **/
PHP 7.3がリリースされ、SOY CMS/Shopも対応しました。7.3は7.2より高速ですが、switch文内のcontinue使用禁止によるエラーが発生しました。for文とswitch文の組み合わせでcontinueを使っていた箇所を修正し、PHP5系でも動作するよう対応済みです。ダウンロードはsaitodev.co/soycms/から。全プラグインの動作確認は未完了のため、PHP7.3でエラー発生時は/soycms/inquiryへの問い合わせをお願いします。

 

SOY Shopで下書き通知プラグインを作成しました

/** Geminiが自動生成した概要 **/
京都農販は、SOY Shopを活用し農業用パイプハウスの見積り作成システムを構築。従来のエクセル作業を1時間程度に短縮、大幅な効率化を実現した。しかし、見積り作成途中での保存・復元に関するUIの課題から、下書き通知プラグインを開発。管理画面の新着ページに下書きの有無を通知し、バックアップ復元へのアクセスを容易にしたことで、作業開始の遅延を解消。 この改善により、マニュアル作成の手間も削減。パイプハウス見積り作成の効率化をさらに促進している。詳細はsaitodev.coで公開されているパッケージから確認可能。京都農販のパイプハウス施工事例は別途PDFで公開されている。

 

SOY Appの管理画面のUIのレスポンシブウェブデザイン対応

/** Geminiが自動生成した概要 **/
SOY CMS ASP版運営プラグインに続き、SOY AppのUIをSOY CMS 3系のレスポンシブウェブデザインに合わせました。これにより、SOY Shopサイトの新規作成画面、SOY Mail、SOY InquiryのUIがBootstrapベースのレスポンシブデザインで表示されます。SOY Appのバージョンアップ前にSOY CMSのバージョンアップが必要です。最新のパッケージはsaitodev.co/soycms/からダウンロードできます。

 

Go言語でSearch Consoleの値を取得してみる

/** Geminiが自動生成した概要 **/
Go言語でGoogle Search Console APIから検索クエリデータを取得する方法を解説しています。必要な手順として、Google Cloud ConsoleでSearch Console APIを有効化し、認証情報を作成、Search Console側でユーザー権限を設定します。Goのコードでは、`golang.org/x/oauth2`、`google.golang.org/api/webmasters/v3`ライブラリを使用し、認証情報`secret.json`を用いてSearch Console APIにクエリを送信、過去7日間の検索クエリデータを取得・表示します。

 

SOY CMSのキャッシュモードで表示の高速化

/** Geminiが自動生成した概要 **/
SOY CMSのブログでデータベースをMySQLからSQLiteに変更することで、パフォーマンス向上とデータ管理の簡素化が期待できます。特に共有サーバーなど、MySQLのチューニングが難しい環境では効果的です。変更手順は、まずphpMyAdmin等でMySQLのデータをエクスポートし、SQLite形式に変換します。次に、SOY CMSの設定ファイルでデータベース接続設定をSQLiteに変更し、変換したデータをインポートします。記事データが多い場合、変換とインポートに時間がかかるため、夜間などアクセスが少ない時間帯に行うのがおすすめです。また、SQLiteはMySQLと比べて同時アクセス性能が劣るため、高トラフィックのサイトには不向きです。変更前にデータベースのサイズやアクセス状況を確認し、SQLiteのメリット・デメリットを理解した上で検討することが重要です。

 

妻がプログラミングをはじめてGo言語とQtでアプリを公開するまで

/** Geminiが自動生成した概要 **/
妻にプログラミングを教えた動機は、事務職希望の女性こそプログラミングスキルを身につけるべきだという考えに基づいている。事務作業はルーティン化しやすい反面、変化への対応が求められる。プログラミングは論理的思考力や問題解決能力を養い、変化への対応力を高める。これらは事務職で役立つだけでなく、キャリアの幅を広げる可能性も秘めている。妻は最初の実験台であり、私自身にとっても新たな言語を教える貴重な経験となった。将来的には、プログラミング教育の普及を通じて、女性がより活躍できる社会を目指したいと考えている。

 

サナギタケから周辺の山に目を向けて

/** Geminiが自動生成した概要 **/
この記事では、冬虫夏草の一種であるサナギタケの生育環境について考察しています。サナギタケは鱗翅目の幼虫に寄生し、子実体形成後は周辺の落ち葉や土壌に菌糸を伸ばします。しかし、戦後の針葉樹植林により、抗菌作用を持つスギやヒノキの葉が土壌に堆積し、サナギタケの生育域が狭まっている可能性を指摘しています。 さらに、サナギタケの抗癌作用を持つコルジセピンへの注目から、乱獲による個体数減少も問題視されています。また、NPK主体で腐植を軽視した施肥管理がヨトウガの増加を招き、サナギタケの生育に間接的な悪影響を与えている可能性も示唆。 山、川、海の相互作用、そして土壌環境の重要性を強調し、包括的な視点を持つ必要性を訴えています。

 

グラスエンドファイトと天敵でヨトウの被害を減らせるか?

/** Geminiが自動生成した概要 **/
イネ科緑肥、特にペレニアルライグラスの活用によるヨトウムシ防除の可能性について考察している。ペレニアルライグラスに共生するグラスエンドファイトのアルカロイドはヨトウムシへの効果が不明なため、ヨトウムシの天敵に着目。農研機構の研究では、ネギ栽培におけるムギの間作が、クモやカメムシなどの天敵を呼び寄せ、ヨトウムシ防除に効果があったと報告されている。これを踏まえ、作物へのヨトウムシの到達を防ぐために、天敵が住み着くムギの間作が有効だと結論づけている。ペレニアルライグラスは多湿に弱く窒素要求量が多いため、通路ではなく圃場の周囲に植えるのが適切であると考え、通路にはマルチムギ、周囲にはペレニアルライグラスという二段構えの防除体系を提案している。

 

SOY Shopで管理画面のロゴ画像等の設定を設けました

/** Geminiが自動生成した概要 **/
SOY Shopの管理画面のロゴとアプリ名を変更できる設定が追加されました。これは、SOY Shopがネットショップだけでなく、在庫管理、顧客管理、見積り作成など多様な業務アプリとして利用されるケースが増えたためです。管理画面のロゴをカスタマイズすることで、納品時の説明の手間を省き、それぞれの用途に合わせた表示を実現します。 従来のネットショップとしての利用に加え、プラグインによる機能拡張で、顧客名簿管理や土壌分析アプリ、パイプハウス施工管理アプリなど、多様な業務システム構築が可能となっています。SOY Shopはネットショップ構築だけでなく、様々なビジネスニーズに対応できる柔軟性を備えたプラットフォームへと進化しています。

 

SOY CMSのラベル一覧でアコーディオンの機能を追加しました

/** Geminiが自動生成した概要 **/
SOY CMSのラベル一覧画面が見やすくなりました!ラベル数が増えると管理画面が煩雑になる課題に対し、ユーザーからの改修提案を元にアコーディオン機能が実装されました。分類ごとにラベルを折り畳めるようになり、UIが大幅に改善。 HTMLモジュールで共通部分を管理する等の対策も紹介しつつ、ユーザー参加型の開発を推進していることが伺えます。GitHubでのプルリクエストや問い合わせフォームからの連絡を歓迎しており、最新版はsaitodev.co/soycms/からダウンロード可能です。

 

稲作からダイズ転作へ

/** Geminiが自動生成した概要 **/
水田の減反政策において、大豆への転作は排水性の問題から二作目以降の不作につながりやすい。大豆は水はけの良い土壌を好み、水田の排水性を高める改修は元に戻すのが困難なため、転作後も水田の状態が維持されることが原因の一つである。 解決策として、大豆の畝間にイネ科の緑肥(マルチムギなど)を栽培する方法が考えられる。マルチムギの根は酸素を放出するため、大豆の生育に必要な酸素供給源となる可能性があり、水田の鋤床層を壊さずに大豆栽培に適した環境を作れる。また、大豆は窒素固定能力を持つため、マルチムギとの共存で肥料管理に大きな変更は必要ない。ただし、収穫機械の対応状況は確認が必要となる。

 

温室効果ガスのメタンは水田から発生する

/** Geminiが自動生成した概要 **/
使い捨てカイロ由来の鉄剤を肥料として水田に施用することで、冬場の水田土壌の老朽化を防ぎ、メタン発生を抑制する解決策が提案されている。 収穫後の水田に水を張り続ける慣行は、土壌の嫌気化を進め、メタン発生を増加させる。同時に土壌劣化も招き、翌年の稲作に悪影響を与える。 使い捨てカイロの内容物である酸化鉄を水田に投入することで、土壌中に酸素を供給し、嫌気状態を改善する。これによりメタン発生が抑制され、土壌の健全化も期待できる。 この方法は、廃棄物である使い捨てカイロの有効活用にも繋がり、環境負荷低減に貢献する。また、水田管理の省力化にも寄与し、持続可能な稲作に繋がる可能性を秘めている。

 

小さな池の真ん中で

/** Geminiが自動生成した概要 **/
小さな池の中央に生えるヒエのような草に着目し、その生命力と周囲の環境について考察している。水中で根付く強さに感銘を受け、競合する草がない理由を除草ではなく自然の摂理だと推測する。落ち葉の堆積状況から、人為的な管理はされていないと判断し、将来的には湿地、そして泥炭土へと変化していく過程を想像している。池の中央の草から、自然の遷移という壮大な時間の流れを感じ取っている。

 

SOY Shopの注文検索でクーポンコードによる検索を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの注文検索機能が強化され、クーポンコードによる検索が可能になった。顧客管理のニーズに応え、クーポン利用状況の把握が容易になった。さらに、最近のアップデートでは備考・コメントのAND/OR検索も追加され、業務アプリ functionalities / 機能性も向上。紹介記事はないものの、レンタル屋向け顧客管理強化やパイプハウス施工管理アプリ開発と合わせて、ネットショップの枠を超えた業務アプリの可能性を示している。最新版はsaitodev.co/soycms/soyshop/からダウンロード可能。

 

SOY Shopでキャンセルと仮登録の注文の自動削除プラグインを作成してみた

/** Geminiが自動生成した概要 **/
オープンソースのネットショップパッケージは自由度が高い反面、軌道に乗った後に予期せぬ問題に直面することがある。記事ではSOY Shopを例に、月商1000万円を超えるとキャンセルや仮登録注文データの蓄積が処理速度に影響することを指摘。標準機能ではこれらのデータは削除されず残り続けるため、パフォーマンス低下を招く。解決策として、一定期間以前の不要な注文データを自動削除するプラグインを独自開発。管理画面を開く度に自動で削除を実行することで、データ量の増加を抑え、サイトのパフォーマンス維持を図る。この事例は、オープンソース利用における自由と引き換えに、独自対応が必要な場面が存在することを示している。

 

Androidの内蔵GPSのキャッシュを削除したい

/** Geminiが自動生成した概要 **/
Android内蔵GPSのキャッシュ問題で、オフライン使用時に以前の緯度経度が返ってくる現象が発生。Geolocation APIのキャッシュ設定変更では解決せず、GPS StatusアプリでGPSキャッシュのリセットを試みた。一時的に改善するも、オフラインでの再発を確認。オンラインでGPS Statusアプリを使用する必要があると推測。Soil & Geoロガーのオフライン使用は5回程度が限度と考えられる。

 

攻めるアサガオ

/** Geminiが自動生成した概要 **/
「あの美味しい焼き芋の裏にはアサガオがいる」は、焼き芋の甘さの秘密とアサガオの意外な関係について解説しています。焼き芋の甘さは、サツマイモに含まれるデンプンが糖に変化することで生まれます。この変化を促す酵素β-アミラーゼは、低温で活性化するという特性があります。 通常、収穫後のサツマイモは貯蔵庫で低温保存されますが、実はこの過程でβ-アミラーゼが働き、じっくりと糖化が進むのです。そして、じっくり糖化したサツマイモを高温で焼き上げることで、より甘く美味しい焼き芋が完成するのです。 驚くべきことに、このβ-アミラーゼの研究にアサガオが貢献しています。アサガオはβ-アミラーゼを豊富に含み、研究材料として活用されたことで、酵素の特性や働きが解明されました。 つまり、私たちが美味しい焼き芋を楽しめるのは、アサガオの研究のおかげでもあるのです。

 

道路や公園の清掃後

/** Geminiが自動生成した概要 **/
P/T境界の露頭は、2億5200万年前のペルム紀末に起きた大量絶滅の痕跡を留めている。この地層からは、当時の急激な環境変化を読み解くことができる。 大量絶滅の原因として、シベリア・トラップの火山活動による地球温暖化が有力視されている。噴火で放出された二酸化炭素による温室効果、メタンハイドレートの融解、海洋酸性化、酸素濃度の低下など、連鎖的に生物の生存を脅かす環境変化が起きたと考えられる。露頭からは、浅海に生息していたフズリナやサンゴなどの生物が絶滅し、その後、生物の種類が激減した様子が観察できる。この大量絶滅は、地球史における生命の進化に大きな影響を与えた出来事である。

 

SOY Shopの管理画面で業務に関係ない項目を非表示にして業務改善を行おう

/** Geminiが自動生成した概要 **/
SOY Shop管理画面の業務改善として、BtoC商売に不要な「勤務先名称」などの項目を非表示にする機能が実装されました。これは、特に電話注文時の入力ミスを減らし、オペレーターが入力に迷う状況を解消するためです。不要な項目を非表示にすることで、キーボード操作の時短、確認作業の効率化、新入社員向けマニュアル作成の手間削減など、多岐にわたる業務改善と間接的な経費削減が期待されます。本改修は、業務フローの見直しを促し、よりスムーズなショップ運営に貢献します。最新パッケージは公式サイトからダウンロード可能です。

 

会議用の資料の作成時間を短縮したい

/** Geminiが自動生成した概要 **/
SOY CMS/Shop開発元出身の筆者は、非IT系企業における会議資料作成の手間と時間の長さに衝撃を受けた。販売管理ソフトから出力されたデータはそのままでは会議で使えず、手作業での修正に半日かかることも。一方、筆者の前職では必要なデータはプログラミングで出力し、再利用可能なため資料作成は効率的だった。 最近、弥生販売ユーザー向けにExcelデータ整形用のWebアプリを作成したところ、月1回半日~1日かかっていた作業が20分に短縮されたという報告を受けた。事務員の負担軽減だけでなく、会議開催の柔軟性向上にも繋がり、事業主にとって大きな価値となる。 アメリカ企業ではプログラミング可能な人材を社内に置くことが多い一方、日本では外注依存が多く、これが日本企業の閉塞感に繋がっているのではないかと筆者は指摘する。会議資料作成に多大な時間をかける現状は、その象徴的な例と言える。

 

自作アプリを介してのGoogle検索でService Unavailableになった

/** Geminiが自動生成した概要 **/
自作PHPアプリでGoogle検索結果を集計する際、cURLで検索を実行したところ「503 Service Unavailable」エラーが発生した。Googleはスクリプトからの自動検索を制限しており、エラーメッセージは異常トラフィックの検出を示していた。解決策として、`curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER["HTTP_USER_AGENT"]);`をcURLに追加し、ブラウザのユーザーエージェントを送信するように変更した。これによりエラーが解消し、検索結果の集計が可能になった。単に適当なユーザーエージェントを設定するだけでは解決せず、実際に使用しているブラウザの情報を送ることが重要だった。

 

大気中の温室効果ガスを減らしたい

/** Geminiが自動生成した概要 **/
地球温暖化による猛暑や水害増加への対策として、土壌への二酸化炭素固定が提案されている。従来のNPK肥料中心の土壌管理から脱却し、木質資材由来の堆肥を用いて土壌中に無定形炭素(リグノイド)を蓄積することで、粘土鉱物と結合させ、微生物分解を抑制する。これにより土壌への二酸化炭素固定量を増やし、植物の光合成促進、ひいては大気中二酸化炭素削減を目指す。家畜糞堆肥は緑肥育成に限定し、栽培には木質堆肥を活用することで、更なる根量増加と光合成促進を図る。キノコ消費増加による植物性堆肥生産促進や、落ち葉の焼却処分削減も有効な手段として挙げられている。

 

エンドファイトと呼ばれる菌たち

/** Geminiが自動生成した概要 **/
エンドファイトは植物体内で共生する菌類で、植物に様々な利益をもたらします。植物は光合成産物を菌に提供する代わりに、菌は土壌から吸収しにくいリン酸やアミノ酸などを植物に供給します。さらに、エンドファイトは植物の免疫系を刺激し、病原菌への抵抗力を高め、発根も促進します。中には、植物を昆虫から守る物質や窒素を固定する菌も存在します。 しかし、エンドファイトとの共生は、一般的な栽培環境では難しいようです。共生菌は多様な植物が生育する環境に多く存在し、栽培土壌には少ない傾向があります。また、土壌中に硝酸態窒素やショ糖が豊富にあると、共生関係が成立しにくいこともわかっています。そのため、水溶性窒素を含む堆肥での土作りは、エンドファイトとの共生を阻害する可能性があります。さらに、エンドファイトと植物の共生関係には相性があり、すべての植物が共生できるわけではありません。

 

SOY Shopの注文編集で配達時間帯の編集をセレクトボックス形式に変更しました

/** Geminiが自動生成した概要 **/
SOY Shopの注文編集画面で、配送時間帯の入力をテキストエリアからセレクトボックスに変更しました。 従来、ヤマト運輸B2等外部システムとの連携時に、時間帯の書式誤りによる不具合が発生する可能性がありました。今回の変更で、管理画面上で正しいフォーマットを選択式で指定できるようになり、操作ミスを防止、作業効率改善を実現します。 最新版はsaitodev.co/soycms/soyshop/ からダウンロード可能です。

 

SOY Shopの注文詳細の支払い方法の変更をラジオボタン式に変更した

/** Geminiが自動生成した概要 **/
SOY Shopの注文詳細画面で、支払い方法の変更方式がテキストエリア入力からラジオボタン選択に変更されました。従来は支払い方法のラベル表示のみ変更可能で、注文データ上のモジュール自体は変更されませんでした。今回の変更により、ラジオボタンで選択した支払い方法のモジュール自体が変更されるようになりました。これにより、注文検索画面での絞り込み検索が正しく機能するようになります。ただし、手数料は変更時に削除されるため、手動で再設定が必要です。将来的には送料の自動計算機能も追加予定です。変更を含むパッケージはsaitodev.co/soycms/soyshop/からダウンロードできます。

 

イネ科緑肥の効果、再考

/** Geminiが自動生成した概要 **/
露地ネギの畝間に緑肥マルチムギを導入したところ、ひび割れ多発土壌が改善し、ネギの生育も向上した。ひび割れの原因は腐植不足と水溶性成分蓄積(高EC)だが、マルチムギはこれらの問題を解決する。マルチムギは活性アルミナを無害化し、養分を吸収、土壌を柔らかくして排水性を向上させる。これにより、作物の発根が促進され、高EC土壌でも生育が可能になる。マルチムギとの養分競合も、基肥を発根促進に特化し、NPKを追肥で施すことで回避できる。結果として、発根量の増加は微量要素の吸収を促し、病害虫への抵抗性向上に繋がる。

 

マルチムギが劣化土壌に果敢に挑む

/** Geminiが自動生成した概要 **/
肥料の過剰供給による土壌劣化と、それに伴うスギナ繁茂、ひび割れ、保水力低下といった問題を抱えた畑で、マルチムギ導入による土壌改善を試みた事例を紹介。 休ませることのできない畑で、連作と速効性肥料により土壌が悪化し、アルミニウム障害を示唆するスギナが蔓延していた。ネギの秀品率も低下するこの畑で、マルチムギを栽培したところ、スギナが減少し始めた。 マルチムギは背丈が低いためネギ栽培の邪魔にならず、根からアルミニウムとキレート結合する有機酸を分泌する可能性がある。これにより、土壌中のアルミニウムが腐植と結合し、土壌環境が改善されることが期待される。加えて、マルチムギはアザミウマ被害軽減効果も期待できる。

 

SOY Shopの注文検索でオーダーカスタムフィールド(日付)の項目を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの注文検索機能を拡張し、オーダーカスタムフィールド(日付型)を検索条件に追加できるプラグインを開発しました。管理画面の注文一覧にカスタムフィールドの日付検索欄が追加され、注文詳細に記録した任意の日付情報(例:返答期限)に基づいた検索が可能になります。この機能は「やまどうぐレンタル屋さん」で実装した顧客管理機能強化の一環で、管理画面のみ表示のカスタムフィールドに「○月○日までに返答」といった伝言を記録し、検索で容易に抽出するといった活用が想定されます。プラグインはsaitodev.coからダウンロード可能です。

 

SOY Shopで注文状態の項目を追加できるプラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shopの注文状態に任意の項目を追加できるプラグインが開発されました。やまどうぐレンタル屋さんでのレンタル商品返却管理の課題を解決するために、注文状態と支払状況にフラグを追加する拡張ポイントが実装され、この機能を汎用化したプラグインが作成されました。プラグイン設定画面で注文状態を追加すると、注文詳細画面と注文検索画面に反映されます。これにより、返品待ちや返済済みといった独自のステータス管理が可能になり、注文検索の効率化に繋がります。生鮮食品など返品が発生するショップやレンタル商品を扱うショップで特に役立ちます。プラグインはsaitodev.coからダウンロードできます。

 

やまどうぐレンタル屋さんで顧客関連管理の機能の強化を行いました

/** Geminiが自動生成した概要 **/
登山用品レンタルの「やまどうぐレンタル屋」は、SOY Shopで運営しつつSalesforceを用いて顧客管理を行っていたが、SOY Shop内で完結させたいという要望からCRM機能強化を実施。オーダーカスタムフィールドや拡張ポイントを活用し、レンタル特有の発送・返却管理、納品書・検品書出力管理、配送状況連携、電話注文対応、実店舗受取管理などをSOY Shop内で実現。プラグインによる拡張のみでSalesforce並みの機能を実現し、本体のカスタマイズは行わずバージョンアップへの影響を排除。管理画面の表示速度最適化も実施。この機能強化は拡張ポイントを活用したプラグイン作成で再現可能。

 

菜園ナビ公式イベント『楽しく学ぼう!第2弾 in 関東』で基肥の話をしました

/** Geminiが自動生成した概要 **/
菜園ナビ公式イベント in 関東で、基肥についての講演が行われました。内容は関西での講演と同様で、ネギ栽培における施肥設計の重要性と、長野県栄村小滝集落の台風でも倒伏しない稲作事例を基に、土地資源と植物性有機物の活用について解説しました。ネギ栽培では適切な施肥設計により農薬防除回数を減らせることが示され、小滝集落の稲作では土壌の保肥力向上と健全な生育を実現している点が紹介されました。これらの事例は「粘土鉱物を理解する旅」で詳細に解説されており、土壌の特性を理解し、適切な基肥を用いることで、健全な作物生育と環境負荷低減が可能になることを示唆しています。

 

妻にプログラミングを教えることにした-続き

/** Geminiが自動生成した概要 **/
プログラマは、システム不具合の多くが「想定外の使い方」に起因するため、電話での口頭説明ではなく詳細な情報提供を求める。これは、プログラミングが物理法則に縛られず、思考がそのまま反映されるため、想定外の動作が顕著な不具合となる特性による。効率的な情報伝達と問題解決のため、プログラマはコーディング規約、高機能エディタ、テスト自動化、タスク管理ツール、オープンソースといった手段を活用し、思考すべき点とそうでない点を明確化し、再発防止と情報共有を促進する。妻にプログラミングを教えるのは、これらの思考プロセスと情報伝達の重要性を体験させ、世界中の資産を活用する術を学ばせるためである。

 

SOY Shop内でパイプハウスの施工管理アプリを開発しました

/** Geminiが自動生成した概要 **/
SOY Shopの在庫管理機能と管理画面からの注文登録機能を拡張し、パイプハウスの見積書作成アプリを開発。従来のエクセル管理では、膨大な部品の仕入れ値確認に時間と手間がかかっていたが、新アプリでは商品登録時に仕入れ値を記録することで、次回以降の見積書作成時の再確認作業を大幅に削減。商品名検索によるカート追加や、検索結果にない場合の即時商品登録機能も実装。さらに、見積書の商品一覧の並び替え機能、注文内容の自動バックアップ機能も追加することで、作業効率と正確性を向上。これらの機能はパイプハウス以外にも応用可能で、既存のネットショップ運営における経費削減にも貢献する。開発したパッケージは専用サイトからダウンロード可能。

 

妻にプログラミングを教えることにした-前編

/** Geminiが自動生成した概要 **/
妻にプログラミングを教えるのは、SOY Shop開発への協力を期待しているからではなく、プログラミングを通して「相手に的確に指示を伝える能力」を身につけてほしいからだ。事務職希望者が多い一方、経営者側は事務作業をコストと捉える現状がある。プログラミングは、パソコンを部下に見立て、明確な指示を出す訓練となる。これは事務作業の効率化にも繋がる。また、電話での行き違いによる業務の非効率性を指摘し、プログラミング的思考で事前に情報を整理し伝えることの重要性を説く。最終的には、どんな業種でも発生する事務作業を効率化し、円滑なコミュニケーション能力を養うことが目的である。

 

菜園ナビ公式イベント『楽しく学ぼう!第1弾 in 関西』で基肥の話をしました

/** Geminiが自動生成した概要 **/
菜園ナビのイベントで、基肥を中心とした土づくりについて講演しました。オーレック社運営の菜園ナビ5周年イベントで、ネギ栽培や長野県栄村の倒伏しない稲作の事例、そして京都農販の試験圃場と師匠の畑で見られる雑草遷移の観察から、土地資源と植物性有機物の活用、土壌のミネラルバランスの重要性を解説しました。雑草の種類の変化は土壌の状態を反映しており、土壌改良の指標となります。講演では、過去のネギ栽培に関する施肥設計の記事、栄村の稲作に関する記事、雑草遷移に関する記事も紹介しました。これらの実践例を通じて、健全な土壌づくりが、農薬の使用を減らし、高品質な作物を育てる鍵となることを示しました。

 

SOY Shopで返金管理プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shop向け返金管理プラグインが開発されました。注文詳細画面から返金・増額の振込額や銀行口座情報を登録可能になり、管理画面の注文一覧検索で返金関連情報による絞り込み検索もできるようになりました。 プラグインはsaitodev.coからダウンロードできます。 このプラグインは、注文毎のキャンセルや変更に伴う返金・増額を記録し、処理状況を追跡する機能を提供します。注文状態に「返金処理待ち」ステータスも追加され、より詳細な注文管理が可能になります。 これは、既存の注文検索フォーム拡張ポイントと注文状態・支払状況フラグ追加拡張ポイントを利用して実現されています。

 

php-webdriverで現在開いているページのURLを取得する

/** Geminiが自動生成した概要 **/
php-webdriverで現在開いているページのURLを取得するには、`$driver->getCurrentURL()`メソッドを使用します。 SOY CMSの管理画面で記事やラベルのIDを取得するためにこのメソッドを利用し、取得したURLから`substr()`と`strrpos()`を組み合わせてID部分を抽出できます。 正規表現による抽出はメモリ消費が大きいため、文字列操作で対処しています。ただし、GETパラメータや#を含むURLの場合は、事前にそれらを除去する処理が必要です。

 

冒険の身支度は美大のカフェで

/** Geminiが自動生成した概要 **/
京都造形芸術大学内にあるカフェ・ヴェルディには、大学に寄贈された本が置かれたスペースがある。美術大学らしくない、地質学や宇宙関連の本が多く、中には特定の土地でしか買えないような珍しい本も。筆者は室戸ジオパーク訪問前にここで予習することを決意。カフェの存在だけでなく、美術創作の多様な着想源を示す興味深いエピソードとなっている。

 

SOY Shopの注文詳細の編集で代金合計に含む項目を追加できるようにしました

/** Geminiが自動生成した概要 **/
SOY Shopの注文詳細編集機能に、代金合計に含めるかどうかのチェックボックスを追加しました。これにより、内税のように明細には表示するものの、合計額には含まない項目を指定できます。 ただし、注文詳細表示ではどの項目が合計額に含まれているかわかりにくいという課題があります。今後、わかりやすい表示方法の検討が進められます。

 

SOY2HTMLでリンクを出力する - HTMLLink編

/** Geminiが自動生成した概要 **/
SOY2HTMLのHTMLLinkクラスは、PHPでリンクを生成するためのクラスです。`text`属性でリンクテキストを、`link`属性でhref値を設定します。`SOY2PageController::createLink()`を使うと、管理画面のURLを簡単に生成できます。HTMLには`<a soy:id="detail_link"></a>`と記述します。HTMLActionLinkクラスはHTMLLinkを継承し、URLにトークンを付与することでセキュリティを強化します。`soy2_check_token`と併用し、URL直打ちを防止します。

 

SOY2HTMLで繰り返し表示 - HTMLList編

/** Geminiが自動生成した概要 **/
SOY CMSのブロック内で繰り返し表示される記事に、一定の間隔で任意の文字列を表示するには、下記の手順に従います。 1. HTMLListクラスを継承したPHPクラスを作成し、populateItemメソッドで表示したい内容をHTMLタグで記述します。 2. HTMLファイルで、populateItemメソッドで作成したHTMLタグをsoy:idを使用して囲みます。 3. 表示する間隔をsoy:id="loop"に指定します。 4. 表示する文字列をsoy:id="index"に指定します。 これで、指定した間隔で任意の文字列が繰り返し表示されます。

 

SOY2HTMLでセキュアなフォームを設置する - HTMLForm編

/** Geminiが自動生成した概要 **/
HTMLFormクラスは、HTMLのフォーム要素を生成するためのコンポーネントです。formタグを生成し、メソッド(デフォルトはPOST)やアクション、ターゲットなどの属性を設定できます。POSTメソッドの場合、CSRF対策としてsoy2_tokenという隠しフィールドを自動的に追加します。アクションが指定されていない場合は、現在のリクエストURIがアクションとして設定されます。また、JavaScriptのonSubmitイベントを設定することも可能です。disabled属性の設定も可能です。

 

プラグイン毎の詳細画面へのリンクの拡張ポイントsoyshop.info.php

/** Geminiが自動生成した概要 **/
soyshop.admin.top.php拡張ポイントは、SOY Shop管理画面の新着情報欄にカスタム項目を追加できます。`getLink()`メソッドでリンクURL、`getTitle()`でタイトル、`getContent()`で本文、`getIcon()`でアイコンURLを返却することで項目が生成されます。`getLink()`では`SOY2PageController::createLink()`を使うことで環境に依存しないURLを作成可能です。例えば、特定の注文一覧ページへのリンクを追加する場合、`getLink()`で`SOY2PageController::createLink("Order.List?search[order_status]=5")`のように指定することで、注文ステータスが「発送済み」の注文一覧ページへのリンクを生成できます。

 

管理画面の新着に項目を追加する拡張ポイントsoyshop.admin.top.php

/** Geminiが自動生成した概要 **/
SOY Shop管理画面の新着に項目を追加できる拡張ポイント「soyshop.admin.top.php」について解説。インターフェースには、表示可否を制御する`allowDisplay`、タイトルを設定する`getTitle`、コンテンツを設定する`getContent`、リンクURLを設定する`getLink`、リンクテキストを設定する`getLinkTitle`のメソッドが存在する。各メソッドの出力箇所は画像で示され、ショップ情報表示プラグインを例に挙げて説明。`getLink`でURLを指定すると、`getLinkTitle`のテキストがリンク化される。

 

SOY2HTMLで処理とデザインを切り分ける

/** Geminiが自動生成した概要 **/
SOY CMS/Shopのモジュール内でSQLを実行するには、SOY2DAOを利用します。データベースへの接続情報はSOYShop_DataSetsクラスで管理されており、`getDataSourceName()`でデータソース名、`getDatabaseUserName()`でユーザー名、`getDatabasePassword()`でパスワードを取得できます。データベースに接続するには、`SOY2DAOFactory::create("データソース名")`を使用します。createメソッドの引数は省略可能で、省略した場合はshopデータベースに接続します。SQLを実行するには、`query()`、`executeQuery()`、`execute()`メソッドを使用します。これらのメソッドは、`SOY2DAO`クラスのインスタンスメソッドとして呼び出します。

 

SOY Shopの伝票番号プラグインで発送状況の管理を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの伝票番号プラグインがアップデート!複数個口発送の管理が大幅に向上しました。 従来は複数個口の場合でも注文詳細の状態を一括でしか変更できませんでしたが、今回のアップデートで個々の伝票番号ごとに発送状況を管理できるようになりました。 具体的には、未発送の伝票番号一覧ページで、発送済み/未発送のステータス変更が可能に。さらに、全ての伝票番号が発送済みになると、自動で注文詳細も発送済みに更新されます。 発送漏れ防止に役立つ機能満載!詳しくはサイトで。

 

管理画面の注文検索の拡張ポイントsoyshop.order.search.php

/** Geminiが自動生成した概要 **/
管理画面の注文検索フォームを拡張するsoyshop.order.search.php拡張ポイントの説明。searchItemsメソッドでフォームに検索項目を追加し、setParameterメソッドで対応するSQLサブクエリを指定する。 searchItemsはラベルとフォーム要素を配列で返し、フォームのname属性は"search[customs][モジュールID][ユニークなパラメータ]"形式。setParameterは"id IN (SELECT ...)"形式のサブクエリを返す。伝票番号記録プラグインのコードを読むと理解が深まる。

 

SOY Shopプラグインの拡張ポイントについて

/** Geminiが自動生成した概要 **/
SOY Shopプラグインの解説として、銀行振込モジュールを例に拡張ポイントが説明されている。プラグインはfeaturesディレクトリにmodule.iniで情報を定義し、pluginsディレクトリに機能を実装する。soyshop.config.php(設定画面)、soyshop.info.php(詳細ページへのリンク追加)、soyshop.order.mail.php(メールへの文章挿入)、soyshop.payment.php(支払い機能)といった拡張ポイントがあり、これらは/soyshop/webapp/src/logic/plugin/extensions/以下にインターフェース定義がある。

 

SOY Shopの注文状態と支払状況でフラグを追加できる拡張ポイントを設けました

/** Geminiが自動生成した概要 **/
SOY Shopの注文状態・支払状況の拡張ポイントが追加されました。従来の注文状態変更項目の柔軟性不足を解消するため、プラグインで項目を追加できるようになりました。例えば、レンタル業務用の返送伝票番号記録プラグインでは、注文状態に「返却済み」フラグを追加できます。追加方法は、在庫確認中状態追加プラグイン(add_status_check_stock_in)を複製し、soyshop.order.status.php内のstatusItem()またはpaymentStatusItem()関数を編集します。配列で任意の数字とフラグ名を指定することで、注文状態と支払状況に項目を追加できます。拡張ポイントに関する詳細は別記事を参照ください。最新版はサイトからダウンロード可能です。

 

SOY Shopの伝票番号記録プラグインで複数個口対応しました

/** Geminiが自動生成した概要 **/
SOY Shopの伝票番号記録プラグインが複数個口配送に対応しました。以前作成したプラグインでは伝票番号を1つしか登録できませんでしたが、複数枚の伝票が必要なケースに対応するため、カンマ区切りで複数登録できるよう改良されました。 商品の大きさや段階的配送などで複数の伝票番号が発生する場合に便利です。現状はどの伝票番号がどの商品に対応するかの詳細管理まではできませんが、複数伝票番号の記録を実現しました。改良版プラグインはsaitodev.co/soycms/soyshop/ からダウンロード可能です。

 

SOY Shopのクーポン自由設定プラグインでカテゴリを追加しました

/** Geminiが自動生成した概要 **/
SOY Shopのクーポン自由設定プラグインに、クーポンをカテゴリ分けする機能が追加されました。クーポンコードの接頭辞をカテゴリ毎に設定できるため、クーポン登録時に規則を覚えていなくても自動入力できます。例えば、「gaku」で始まるクーポンは値引き額、「ritu」で始まるクーポンは値引率といった設定が可能です。 新規登録時、カテゴリを選択すると接頭辞が自動挿入されます。この機能は管理画面での注文時にも有効で、接頭辞が表示されるためクーポンコードを思い出すヒントになります。最新版はsaitodev.co/soycms/soyshop/からダウンロード可能です。

 

SOY CMSのカテゴリー詳細表示プラグインでWYSIWYGエディタに対応しました

/** Geminiが自動生成した概要 **/
SOY CMSのカテゴリー詳細表示プラグインがアップデートされ、WYSIWYGエディタ(TinyMCE)に対応しました。ユーザーからの要望に応え、ラベルの詳細編集画面でHTMLタグだけでなく、画像や動画も手軽に挿入できるようになりました。プラグインの詳細設定でWYSIWYGエディタの使用をチェックすることで有効化できます。このアップデートにより、よりリッチなコンテンツをカテゴリー詳細に表示することが可能になります。最新のパッケージはsaitodev.co/soycms/からダウンロードできます。

 

SOY Shopの注文一覧ページの検索フォームでプラグインから項目を追加できるようにしました

/** Geminiが自動生成した概要 **/
SOY Shopの注文一覧ページの検索フォームにプラグインから項目を追加できる拡張ポイントが実装されました。標準機能の納品書出力プラグインでは、出力時に最終出力日時を記録し、検索フォームで「最終出力日」または「納品書の未出力」を条件に注文検索が可能になりました。この拡張は業務アプリ向けの機能強化として実装され、在庫管理業務の効率化に貢献します。 開発者向けには、`soyshop.order.search.php` という拡張ポイントが用意され、独自の検索項目を追加できます。詳しくは`/article/管理画面の注文検索の拡張ポイントsoyshop.order.search.php`を参照ください。パッケージはsaitodev.co/soycms/soyshop/からダウンロード可能です。

 

Jenkinsの動作が遅くなった時の対処

/** Geminiが自動生成した概要 **/
Jenkinsの動作が遅くなり、ビルドの失敗が増えたため調査したところ、ビルドログの蓄積が原因と判明。ログディレクトリ(/var/lib/jenkins/jobs/プロジェクト名/builds/)内の古いログを削除することでJenkinsの動作は改善された。 ログ問題の恒久的な解決策として、Discard Old Build pluginをインストール。プロジェクト設定のビルド後の処理で、ビルドログの保存数を10個に制限する設定を追加し、様子を見ることにした。

 

SOY Shopの管理画面からの注文時に商品の内訳の変更を自動でバックアップを追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの管理画面からの注文機能に、見積もり作成業務向けに自動バックアップ機能が追加されました。見積もり作成は商品数が多く、登録に時間がかかるため、作業中にセッションが切れてしまう可能性があります。この機能は、商品の内訳に変更がある度に自動でバックアップを作成し、セッション切れ後にバックアップから復元できるようにすることで、作業中断によるデータ損失を防ぎます。バックアップデータはJSON形式で保存されます。この機能追加を含むパッケージはsaitodev.coからダウンロード可能です。

 

SOY Shopの注文詳細の内訳で商品の並び替えの変更を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの注文詳細に、商品表示順の変更機能が追加されました。従来の納品書出力では、注文商品の表示順が固定でしたが、今回のアップデートで管理画面からドラッグ&ドロップで自由に並び替えが可能になりました。 これは、一度に数十種類の商品を注文するユーザーからの、ピッキングや梱包作業効率化の要望に応えたものです。新しい並び順は納品書にも反映されるため、検品や梱包ミス軽減に繋がります。この機能は、開発中の在庫管理と見積書作成機能にも応用され、業務効率化に貢献します。アップデートパッケージはsaitodev.coからダウンロード可能です。

 

SOY Shopのマイページで注文詳細の変更機能を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopのマイページで注文編集プラグインに商品の削除機能が追加されました。以前は商品追加のみでしたが、今回のアップデートで注文詳細編集画面から商品の削除が可能になりました。削除したい商品を選択し、削除ボタンを押すことで注文から商品を除外できます。変更内容を保存すると、お客様とショップ管理者に変更通知メールが送信され、管理画面の新着にも反映されます。これにより、顧客はコールセンターに連絡することなく、マイページ上で注文内容の変更をより柔軟に行えるようになりました。ただし、商品削除に伴う金額変更など、クレジット決済への対応は今後の開発課題となっています。完全な注文編集機能の実現に向けて開発は継続中です。

 

Google Apps ScriptでJPEGの画像からOCRで画像内の文字列を取得してみた

/** Geminiが自動生成した概要 **/
Google Apps ScriptでJPEG画像からOCRで文字列を取得する方法を検証。GoogleドキュメントでのOCRをGASで自動化する方法を紹介している。 Drive APIを有効化し、画像URLを指定して`Drive.Files.insert`メソッドでGoogleドライブに挿入、`ocr:true`オプションでOCRを実行。 生成されたGoogleドキュメントには画像とOCR結果のテキストが含まれる。日付や画像中の文字認識は難しいが、本文は高精度で取得できた。以前試したGoogleドキュメント直接OCRより精度は高い。

 

SOY Shopの管理画面の注文一覧ページで表示速度周りを改修しています

/** Geminiが自動生成した概要 **/
SOY Shopの管理画面、特に注文一覧ページの表示速度改善に取り組んでいます。月商数千万円規模のショップで顕著になる速度低下の原因となっていた、顧客名表示等の処理をDAO経由からSQL直書きに変更。顧客情報全体を取得する代わりに必要な名前だけをデータベースから取得することで、処理を効率化しました。他にも例外処理の見直しやテストコードによるエラー修正を行い、体感できる速度改善を実現。今後も処理速度の改善を継続し、最新版はサイトからダウンロード可能です。

 

SOY Shopの管理画面からの注文の商品登録の操作の見直しで登録作業の削減

/** Geminiが自動生成した概要 **/
SOY Shop管理画面の注文商品登録操作を改善し、登録作業削減を実現。従来、商品検索でヒットしない場合のみ商品登録が可能だったが、部品名と規格で登録する際、規格違いの登録で画面遷移が必要となる問題が発生。そこで、検索結果に関わらず常に商品登録フォームを表示するように変更。例えば「ネジ」で検索すると全規格がヒットするが、新規格登録には別ページ遷移が必要だった。今回の改善で、検索後も商品登録フォームが常時表示されるため、規格違いの部品登録もその場でスムーズに行えるように。増加する部品規格への対応を効率化し、登録作業の手間を軽減。

 

SOY Shopで再注文プラグインを作成してみた

/** Geminiが自動生成した概要 **/
SOY Shop用の再注文プラグインが開発されました。 以前作成された注文複製プラグインとは異なり、今回のプラグインは顧客情報を変更した再注文を可能にします。注文詳細画面に「注文の再登録」ボタンが追加され、クリックすると管理画面の注文登録画面に遷移します。以前の注文の商品情報が自動入力されるため、顧客と支払い方法を選択するだけで再注文が完了します。この機能は、商品点数の多い注文や、施工計算の見積書作成などで特に効果を発揮します。プラグインはsaitodev.co/soycms/soyshop/からダウンロード可能です。

 

最近、WordPress疲れの方からのお問い合わせが増えました

/** Geminiが自動生成した概要 **/
WordPress疲れのユーザーからSOY CMSへの問い合わせが増加し、情報不足を訴える声が寄せられている。彼らは情報が少ないことを理由に公式マニュアルの拡充や書籍化を求めるが、開発元はこれに対応する意思はない。開発元はSOY Shopの業務効率化に注力しており、WordPressからの乗り換えユーザー獲得を目指していない。情報が少ない現状はチャンスであり、ユーザー自身が情報発信すればコアユーザーとしての地位を確立し、書籍化も可能だと考えている。開発元の動機は優れた販売方法を学ぶことであり、「まとめれば売れる」という意見より、「勝機を見出し、まとめて売ったら売れた」という報告を期待している。よって、情報不足に関する問い合わせへの対応強化は行わない。

 

SOY Shopで各種部品の仕入れ値に利益上乗せ型の施工費計算に対応してみた

/** Geminiが自動生成した概要 **/
SOY Shopの拡張機能で、部品毎の利益上乗せ方式の施工費計算に対応しました。商品登録時に仕入れ値(定価)と利益込み価格(通常価格)を登録し、注文時に各商品の差額を合計して利益を算出します。通常の施工費固定方式も併用可能です。商品毎の仕入れ値変更があっても過去の注文への影響を防ぐため、注文時の定価を記録し、過去の注文の利益計算には記録された定価を使用します。この機能を含むパッケージはsaitodev.coからダウンロードできます。

 

社会人・学生向けプログラミング教室でGoogleスプレットシートの拡張の勉強会を行いました

/** Geminiが自動生成した概要 **/
社会人・学生向けプログラミング教室で、Googleスプレッドシートの拡張機能を活用した業務アプリ作成の勉強会を実施。備品管理表を作成し、GAS(JavaScript)で毎週金曜日に備品不足をチェック、関係者へ調達指示メールを自動送信する仕組みを構築した。Googleスプレッドシートの複数人管理機能とGASによるGmail連携で、備品調査とメール送信を自動化。GoogleドライブとGASで業務効率化を図り、クリエイティブな作業時間を増やすという狙い。

 

SOY Shopで注文時の合計金額を固定し、経費や粗利を確認できる機能を追加してみた

/** Geminiが自動生成した概要 **/
SOY Shopを在庫管理業務アプリ化するため、注文合計金額を固定し経費と粗利を確認できるプラグインを開発。施工費20万円の案件で、部品代金合計に加え、人件費などの経費を入力し、粗利を自動計算。合計金額は施工費で固定されるため、利益管理が容易に。注文複製プラグインと組み合わせることで、案件ごとの部品在庫管理が可能になり、見積書・納品書出力機能と連携すれば業務効率化に貢献。この機能は物販サイトには直接関係ないものの、SOY Shopの基本機能を拡張しており、間接的に物販サイト運営にもプラスの効果をもたらす。

 

SOY Shopで注文複製プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shopで在庫管理業務アプリ用の注文複製プラグインを作成しました。組み立てに必要な材料(部品)の管理において、以前作成した注文(部品の使用量)を複製できる機能を追加。注文詳細画面の拡張機能ボタンに「注文の複製」ボタンを設置し、複製機能を実現。一度の注文で多くの材料を登録する場合に便利。この機能はプラグインなので、不要な場合はボタンを非表示にして誤操作を防止できます。今回の更新を含むパッケージはsaitodev.co/soycms/soyshop/ からダウンロード可能です。

 

小さな乾燥ストレスの積み重ね

/** Geminiが自動生成した概要 **/
土壌の保水性・排水性を高めることで、植物の乾燥ストレスを軽減し、プロリンの過剰な蓄積を防げる可能性がある。乾燥ストレスを受けた植物はプロリンを合成し葉に蓄積するが、これが昆虫を誘引する一因となる。慣行栽培でも、土壌改良に加え、スプリンクラーによる葉面散布で乾燥ストレスを抑制することで、プロリン蓄積を減らし、結果として害虫の発生を抑え、農薬の使用回数を減らすことに繋がったと考えられる。

 

SOY Shopで在庫管理の業務アプリに向けての機能追加

/** Geminiが自動生成した概要 **/
SOY Shopの管理画面でプラグインが独自のページを持てるようになりました。従来、プラグインの設定画面はSOY Shop管理画面の特定のページ内に表示されていましたが、今回のアップデートにより、プラグインごとに独立したページを作成できるようになりました。これにより、プラグインの設定項目が増えても管理画面が煩雑にならず、プラグイン開発者も自由にページ構成を設計できます。新しいページはメニューに追加され、アクセスしやすくなりました。この機能はSOY Shop2.1.1以降で利用可能です。今後、プラグイン開発者はこの機能を活用して、より使いやすい管理画面を提供することが期待されます。

 

無添加味噌の表面にカビが生えた

/** Geminiが自動生成した概要 **/
無添加味噌を常温保管していたところ、1ヶ月でカビが生えた。自家製味噌ではカビが生えたら表面を捨てるのが慣習だが、味噌は麹カビで発酵させたものなので、カビが生えるのは自然なこと。しかし、未知の微生物である可能性もあるため、食べるのは危険。味噌販売者によると、市販味噌にはカビの働きを抑えるためアルコールが添加されており、アルコールが蒸発する時期が賞味期限。賞味期限後は熟成が始まるので、空気を抜いて保存すれば、安価で上質な味噌が手に入るという(自己責任)。味噌は元々がぎゅうぎゅう詰めなので、表面のカビを捨てるだけで良い。

 

Googleドキュメントで画像ファイルから文字列を抜き取ってみる

/** Geminiが自動生成した概要 **/
GoogleドキュメントのOCR機能を使って画像ファイルから文字列を抽出する方法を紹介しています。手書きの名前が書かれた画像ファイルをGoogleドライブにアップロードし、Googleドキュメントで開くと、画像の下に文字列が抽出されます。著者は元々オープンソースのOCRライブラリを探しており、NHocrを試しましたが精度が及ばなかったため、GoogleドキュメントのOCR機能の精度の高さに驚いています。GoogleドキュメントがNHocrを組み込んでいる可能性や、GoogleのOCR APIの利用についても言及しています。

 

さくらVPSにJenkinsを入れて、Selenium + php-webdriverを動かせるようにする

/** Geminiが自動生成した概要 **/
さくらVPS(Ubuntu 16.04)にJenkinsを導入し、Seleniumとphp-webdriverでUIテストを自動化する方法を紹介。Jenkinsインストール後、初期設定、ジョブ作成、Git連携、ビルドトリガー設定、シェルスクリプト実行設定、メール通知設定を行い、Apacheの設定を調整してテスト実行環境を構築。15分毎にGitリポジトリをポーリングし、変更があれば自動的にテストを実行、結果をメールで通知。これにより、月700円のVPS費用で継続的なUIテストを実現。

 

php-webdriverでSOY CMSにログインしてみる

/** Geminiが自動生成した概要 **/
php-webdriverを用いて、Selenium経由でSOY CMSにログインする手順を解説。ログイン画面で、ログインIDとパスワードの入力フィールドにそれぞれ「soycms」を入力後、ログインボタンをクリックしてログインするコードを紹介。`findElement`メソッドと`sendKeys`メソッドでフォームに値を入力し、`submit`メソッドでログインボタンをクリックすることでログイン処理を実現。ボタンもフォームも`findElement`で要素を取得し操作できることを示している。結果、SOY CMSの管理画面へログインできたことを確認。

 

php-webdriverで指定のフォームに値を入力してみる

/** Geminiが自動生成した概要 **/
Seleniumとphp-webdriverを使い、SOY CMSのログイン画面を自動操作するテストコードを実行した。ChromeドライバでChromiumを起動し、ログイン画面を表示後、ログインIDフォームに「soycms」と入力するコードを追加。実行結果、コンソールに「soycms」と表示され、Chromium上でもログインIDフォームに「soycms」が入力されていることを確認。基本的な動作確認が完了し、本格的なテストコード作成に移行する。

 

Seleniumとphp-webdriverでUIテストの自動化

/** Geminiが自動生成した概要 **/
Ubuntu 19.10のSnap版Chromiumでは、Seleniumのテスト自動化が実行できない場合があります。これは、Snapのセキュリティ制限により、SeleniumがChromiumを直接操作できないことが原因です。解決策は、ChromiumをSnap版ではなく、aptでインストールしたバージョンを使用することです。まず、`snap remove chromium`でSnap版を削除し、`sudo apt install chromium-browser`でapt版をインストールします。さらに、ChromeドライバーのバージョンとChromiumのバージョンが互換性があることを確認してください。これらの手順により、SeleniumはChromiumを正常に操作できるようになり、テスト自動化が実行可能になります。

 

SOY Shopで全ての子商品の在庫数を確認する

/** Geminiが自動生成した概要 **/
SOY Shopで商品規格プラグインを利用している場合、全子商品の在庫数を簡単に確認する方法として、在庫管理プラグイン(または在庫数一括設定プラグイン)の活用が推奨されています。商品規格プラグインは子商品を利用するため、CSVエクスポートでの確認が煩雑になるためです。在庫管理プラグインでは、検索条件を指定して商品一覧を表示、在庫数の一括変更が可能ですが、今回、親商品を非表示にする機能が追加されました。具体的には、「表示件数:100件」、「公開状態:公開のみ」、「子商品の表示:通常商品以外」を設定することで、各規格ごとの子商品の在庫数のみが表示されるようになります。アップデート版はサイト(/soycms/soyshop/)からダウンロード可能です。

 

SOY Shopで会員検索サイトを構築しました

/** Geminiが自動生成した概要 **/
SOY Shopの顧客管理機能を活用し、新潟県司法書士会の会員検索サイトを構築。標準機能とプラグイン(ユーザーカスタムサーチフィールド、顧客グループ、顧客住所GoogleMaps連携、ストレージ)を組み合わせ、簡裁代理権などのカスタム項目や事務所情報、地図連携を実現。管理画面は不要な注文・商品関連機能を非表示化し、会員管理に最適化。カート・マイページ機能も無効化。都道府県の標準設定を新潟県に設定するなど、ユーザビリティも向上。構築手順を紹介しつつ、検索結果・詳細ページ作成については問い合わせを促している。

 

SOY Shopの最近更新した商品表示プラグインで表示件数の設定を設けました

/** Geminiが自動生成した概要 **/
SOY Shopの管理画面の新着ページに表示される「最近更新した商品」の表示件数を変更できるプラグインが開発されました。従来は5件固定でしたが、プラグインの設定画面で自由に件数を設定可能になりました。また、更新履歴のない商品は表示されないよう改善されました。このプラグインは、新着ページのコンテンツをプラグイン化することで実現しており、表示内容のカスタマイズを容易にしています。ダウンロードはsaitodev.co/soycms/soyshop/ から可能です。

 

SOY ShopのPAY.JP定期課金モジュールで管理画面でプランの変更を追加しました

/** Geminiが自動生成した概要 **/
SOY ShopのPAY.JP定期課金モジュールがアップデートされ、管理画面から顧客の定期課金プラン変更が可能になりました。顧客詳細画面でプラン変更やキャンセル操作が行えます。プランは商品情報としてSOY Shop内で作成・管理します。ただし、商品情報の編集回数が多い場合、プラン一覧取得に不具合が生じる可能性があります。 このモジュールを活用することで、SOY CMSと連携した会員制有料ブログや、SOY Mailと連携した有料メルマガの運営が容易になります。最新版はsaitodev.co/soycms/soyshop/からダウンロード可能です。

 

綺麗なリンゴの木の下で

/** Geminiが自動生成した概要 **/
長野のリンゴ農園で、管理されたリンゴの木とシロクローバに目が留まった。リンゴは収穫しやすい高さに剪定され、農家の配慮が感じられた。足元にはシロクローバが広がり、窒素固定などの利点がありつつも、畑では匍匐性のため嫌われる。しかし、背が低く他の雑草を抑える効果もあるため、リンゴ農園のような環境では有用である。このシロクローバは意図的に育てられているのか疑問に思った。

 

SOY ShopでPAY.JP定期課金モジュールを作成しました

/** Geminiが自動生成した概要 **/
SOY ShopでPAY.JP定期課金に対応した決済モジュールが作成されました。クレジットカード決済モジュールと同様の設定方法で、有料ブログやメルマガ運営が可能になります。設定方法は既存のPAY.JPクレジットカード決済モジュールと同様で、SOY CMSのブログ、SOY Shopの顧客名簿、SOY Mailとの連携によって実現します。ダウンロードはsaitodev.coから可能です。ただし、本番環境での運用実績はまだないため、使用前に問い合わせフォームへの連絡が推奨されています。管理画面からプラン変更も可能になりました。

 

SOY Shopでダウンロード販売商品グループを追加しました

/** Geminiが自動生成した概要 **/
SOY Shopのダウンロード販売機能が拡張され、子商品を持つグループ化が可能になった。これにより、例えば10巻の電子書籍を1商品として管理し、各巻を子商品として登録できる。商品規格プラグインと連携すれば、購入画面で巻数をセレクトボックスから選択できるようになる。このアップデートは、PAY.JPクレジットカード支払いモジュールとの併用で、ダウンロード販売サイトの開設をより手軽にし、ノウハウ販売などのビジネス展開を容易にする。

 

愛知県の渥美半島での栽培

/** Geminiが自動生成した概要 **/
愛知県渥美半島は、秩父帯由来のチャートや石灰岩を含む土壌で、赤黄色土の粘土質やグライ土が多く、排水保水性が悪いなど栽培に難しい土地である。しかし、日照時間の長さと豊富な水資源という好条件の中、土壌の不利を克服するため土耕栽培で試行錯誤を重ね、高度な追肥技術を培ってきた。この経験と観察眼は施設栽培にも継承され、溶液肥培管理技術の向上にも繋がっている。つまり、恵まれない土壌条件が、逆に高度な栽培技術発展の原動力となったと言える。

 

SOY ShopでFacebookログインプラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shop用Facebookログインプラグインが開発されました。管理画面で設定後、マイページログイン画面にFacebookログインボタンが表示されます。クリックするとFacebookログイン画面が開き、ログイン後にSOY Shopで新規会員登録とログインが行われます。既に登録済みの場合はログインのみ。シンプルな機能ですが、拡張性も考慮されています。プラグインはsaitodev.co/soycms/soyshop/からダウンロード可能です。

 

SOY ShopでGoogle Sign-In for Websitesプラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shop用Googleサインインプラグインが開発されました。このプラグインをインストール・設定すると、マイページログイン画面にGoogleログインボタンが表示され、クリックでGoogleアカウントでのログイン・新規登録が可能になります。既存ユーザーはログイン、新規ユーザーは登録後ログインとなります。シンプルな機能ですが、今後の拡張が予定されています。ダウンロードはsaitodev.co/soycms/soyshop/ から可能です。

 

SOY Inquiryで複数のアップロードフォームを設置した時、確認メールで複数分の画像を確認したい

/** Geminiが自動生成した概要 **/
SOY Inquiryで複数のアップロードフォームの画像を確認メールに表示するには、管理者向けメール拡張PHPを修正する。画像パスを格納する変数を配列`$pathes`に変更し、ループ処理で各画像パスを`$pathes`に追加。確認メール出力部分もループ処理に変更し、`$pathes`内の各パスをSOYCMSのURLと結合して表示する。これにより、複数のアップロード画像の確認用リンクがメールに記載されるようになる。

 

SOY ShopでLINE Loginプラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shop用LINEログインプラグインが開発されました。このプラグインをインストール・設定すると、マイページログイン画面にLINEログインボタンが表示されます。ボタンクリックでLINEログイン画面に遷移し、ログインするとSOY Shopサイトにリダイレクトされ、新規会員登録とログインが自動で行われます。既にLINE連携済みの会員はログインのみ行われます。現在は基本的なログイン機能のみですが、今後の拡張が予定されています。プラグインはsaitodev.co/soycms/soyshop/からダウンロード可能です。

 

SOY ShopでPAY.JPクレジットカード支払いモジュールを作成しました

/** Geminiが自動生成した概要 **/
SOY Shop用のPAY.JPクレジットカード支払いモジュールが開発され、無料で簡単にクレジットカード決済を導入できるようになった。PAY.JPは初期費用・月額固定費不要のプランもあり、導入障壁が低い。モジュールの利用には、PAY.JPでアカウント作成後、APIキーを取得し、SOY Shop管理画面のモジュール設定に入力する。設定完了後、購入画面でクレジットカード支払いが選択可能になる。カード情報非通過にも対応済み。詳細はサイト(saitodev.co/soycms/soyshop/)で確認できる。定期課金モジュールも提供されている。

 

傾斜の芝生で花を咲かせた植物の話

/** Geminiが自動生成した概要 **/
管理された傾斜の芝生に、キク科の植物が長い花茎を伸ばして花を咲かせていた。周囲の草丈が高い環境に適応した結果だと推測される。この芝生は定期的に刈り取られるが、この植物は花茎が伸びるまではロゼット状で地表に張り付くため、刈り取られずに成長できた。しかし、周囲に競合する植物がないため、長い花茎は風に弱く見える。それでも、しなやかに種子を作るまで生き抜くのだろう。

 

SOY Shopの管理画面の顧客検索でユーザーカスタムサーチフィールドの項目を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの管理画面の顧客検索に、ユーザーカスタムサーチフィールドが追加されました。管理画面でフィールドを追加すると、検索フォームが生成され、顧客情報の絞り込みが可能になります。CRMと連携せずとも、ある程度の顧客管理が可能になります。試作版のため対応漏れがあり、使用したいフィールドの種類が動作しない場合は問い合わせフォームから連絡できます。パッケージはサイトからダウンロード可能です。

 

とある地域で白絹病が蔓延

/** Geminiが自動生成した概要 **/
ある地域で白絹病が蔓延。原因は、未熟な自家製堆肥の使用にあると考えられる。白絹病は高温多湿を好む糸状菌で、未分解有機物が多いと増殖しやすい。自家製堆肥は微生物万能説に基づきいい加減な管理で作られることが多く、結果として有害菌の温床となる可能性がある。対策として、堆肥の購入を推奨。購入する際は、製造元を訪れ、熟成処理の徹底と水分の除去を確認することが重要。重い堆肥は熟成不足の可能性が高く、病気を持ち込むリスクがある。適切な堆肥とハウス内の通気改善で白絹病対策を行うべきである。

 

SOY Shopで勤務先関連の項目の非表示設定を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの顧客グループプラグインで、顧客登録画面の勤務先項目の表示・非表示設定が追加されました。顧客グループで勤務先を管理する場合、標準の勤務先項目は二重登録の原因となるため、非表示設定が有用です。BtoCの物販サイト等でも勤務先情報が不要な場合に活用できます。非表示設定は管理画面の基本設定で行います。この更新により、顧客情報の入力操作が簡素化され、クライアントへの納品時にも混乱が避けられます。アップデート版はsaitodev.coからダウンロード可能です。

 

SOY Shopで都道府県の標準値設定を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopが、特定都道府県のみで商売を行うネットショップ向けに、住所登録画面の初期設定で県を選択できる機能を追加しました。 管理画面の基本設定で都道府県を指定すると、顧客が個人情報を入力する際、住所欄の県が予め選択された状態で表示されます。 これにより、地域限定のショップ運営がよりスムーズになります。 最新版のパッケージはsaitodev.co/soycms/soyshop/ からダウンロード可能です。

 

SOY Shopの顧客詳細と顧客グループでGoogle Mapsとの連携を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの顧客管理機能が強化され、顧客詳細編集画面と顧客グループプラグインにGoogle Maps連携が追加されました。顧客詳細では住所入力フォーム下に地図が表示され、顧客グループプラグインでは地図付き住所フィールドが追加されました。管理画面でしか使用しない顧客情報に緯度経度情報を持たせた理由は後日公開予定です。アップデート版はsaitodev.co/soycms/soyshop/からダウンロード可能です。

 

フォッサマグナから考える日本の農業

/** Geminiが自動生成した概要 **/
フォッサマグナ西側の土壌は、東側と比べて排水性・保水性が悪く、栽培に苦労が多い。西日本で研修を受けた農家が東日本で成功しやすい一方、逆の場合は苦労する傾向がある。土壌の硬さや水はけの悪さから、西日本の畑ではトラクターの刃の交換頻度も高く、NPK肥料以前の土壌改良が重要となる。関東中心の栽培研究では、西日本の土壌環境が考慮されていないため、排水性・保水性に着目した西日本主体の研究が必要だ。もし関西で農学が盛んであれば、NPKではなく排水性・保水性を重視した栽培体系が確立していた可能性があり、東西の土壌環境の違いを理解した研究が日本の農業に革新をもたらすと筆者は主張する。

 

社会人・学生向けプログラミング教室でGASで業務改善の勉強会を行いました

/** Geminiが自動生成した概要 **/
Tera schoolで開催している社会人・学生向けプログラミング勉強会で、業務改善を目的としたGAS(Google Apps Script)入門講座を実施しました。今回はGoogle Driveの共有フォルダのアクセス権限者一覧をスプレッドシートに自動出力するスクリプトを作成。JavaScriptの知識を活かし、数行のコードで名簿作成を自動化し、大幅な生産性向上を体感しました。次回は、作成した名簿を活用し、スプレッドシートとGmailを連携させた定期通知メール送信機能の実装を予定しています。

 

長野の栄村小滝集落の米づくり後編

/** Geminiが自動生成した概要 **/
長野県栄村小滝集落では、水田の土壌と米の生育の関係を調査。ある水田で秋落ちが発生し、原因が不明であった。周囲の水田と異なり、この水田のみ山の土での客土を行っていなかった。小滝集落では伝統的に、赤い粘土質の土を水田に入れ、土壌改良を行っていた。これは、土壌中の鉄分バランスを保つのに役立っていた可能性がある。客土していない水田は基盤調整で砂っぽくなっており、鉄分不足が秋落ちの原因と考えられる。水田に流入する水にも鉄分が多く含まれるため、現在では客土の必要性は低いと考えられるが、秋落ちした水田で客土を行い、効果を検証する予定。

 

Socket.IOのチャットアプリでXSS対策

/** Geminiが自動生成した概要 **/
Socket.IOで作成したチャットアプリでXSS脆弱性対策を実施した。HTMLタグを入力するとエスケープされずに表示されてしまうため、`xss-filters`ライブラリを導入。`npm install xss-filters`でインストール後、サーバーサイドのメッセージ送信部分で`xssFilters.inHTMLData()`を用いて送信メッセージをフィルターした。その結果、HTMLタグがエスケープされて表示されるようになり、XSS攻撃を防ぐことができた。

 

Socket.IOで個別チャットを作りたい後編

/** Geminiが自動生成した概要 **/
Socket.IOで個別チャットを実現するため、namespacesを利用した検証が行われた。サーバー側では"hoge"と"huga"二つのnamespacesを作成し、クライアント側ではランダムにどちらかに接続するよう変更。結果、同じnamespaceに接続したクライアント間でリアルタイムなチャットが可能になった。namespacesによる個別チャットの可能性が示されたが、roomによる実現方法や動的なグループチャット作成機能の課題が残されている。

 

Socket.IOで個別チャットを作りたい前編

/** Geminiが自動生成した概要 **/
Socket.IOで個別チャットを作るための第一段階として、NamespacesとRoomsの概念を導入した。サーバー側(server.js)では、`io.of('/chat')`でchatというnamespaceを作成し、接続時に`socket.join("default")`で全ユーザーを"default" roomに所属させた。イベント発信時は`chatNS.to("roomName").emit()`を使用することでroom内限定の通信を実現。クライアント側(index.html)は、`io.connect("http://localhost:8080/chat")`のように接続URLにnamespaceを指定することで変更完了。これにより、複数ユーザーが同じチャットルームに参加できるようになったが、まだユーザー限定チャットにはなっていない。

 

PHPの古いバージョンでの不具合報告についての対応

/** Geminiが自動生成した概要 **/
公式パッケージ更新再開に伴い、サイトへの問い合わせが増加した一方、PHPの古いバージョン(PHP5.5系以前)での不具合報告も多い。セキュリティサポートが終了した古いPHPバージョンは重大な脆弱性を持つため、これらの環境での不具合修正は行わない。問い合わせフォームから報告する際は、PHPのバージョン明記が必須。バージョン確認方法は、SOY CMS(1系・3系)共に管理画面にログインし、「ようこそSOY CMSへ!」から「サーバー情報」→「PHP Info」タブで確認できる。

 

培土に含まれる白い粒

/** Geminiが自動生成した概要 **/
ハウス内で培土を観察したところ、木質資材の中に白い粒が多く含まれていた。これは軽石ではないかと推測。軽石は火山砕屑物で、腐植が溜まりにくいイメージがあるが、セルトレイ栽培では土作りが不要なため、腐植は必要ない。むしろ水はけと軽さが重要で、軽石は培土に適していると言える。

 

Node.jsとSocket.IOでリアルタイムのチャットアプリを作ってみる

/** Geminiが自動生成した概要 **/
Node.jsとSocket.IOを用いたチャットアプリ構築後、Let's Encryptで常時SSL化する方法を解説。自己署名証明書ではブラウザ警告が出るため、無料のLet's Encryptを利用。Certbotによる証明書取得手順、Nginxの設定変更(SSL設定追加、httpトラフィックのhttpsリダイレクト)を説明。 Socket.IOのサーバー側コード修正では、httpsオプションを追加し、取得した証明書と秘密鍵を指定。これにより、チャットアプリがセキュアなhttps接続で利用可能になる。

 

SOY CMS3.0.0βの差分をマージしました

/** Geminiが自動生成した概要 **/
開発元退職後も私がSOY CMS開発を続ける理由は、情熱と責任感にあります。SOY CMSは私の人生の一部であり、ユーザーにとって無くてはならない存在だと認識しています。退職によって開発が滞り、ユーザーに迷惑をかけることは避けたい。オープンソース化という選択肢もありましたが、継続的な開発とサポートを提供するため、個人で開発を引き継ぎました。収益化は二の次で、ユーザーのニーズに応え、SOY CMSを成長させることが最優先です。この決断は私にとって大きな挑戦ですが、SOY CMSとユーザーへの愛着が原動力となっています。

 

SOY CMSでGravatar連携プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY CMSのブログ機能強化のため、Gravatar連携プラグインを作成しました。このプラグインは、Gravatarのプロフィール情報をSOY CMSで利用できるようにするものです。Gravatarでプロフィールを作成しメールアドレスと紐づけることで、SOY CMS側でその情報を表示できます。複数人の著者情報を取得・出力し、著者ごとの記事一覧ページも作成可能です。プラグインブロックを活用することで、著者プロフィールをブログページに容易に組み込むことができます。パッケージはsaitodev.co/soycms/からダウンロード可能です。

 

SOY Shopの商品ごと送料設定モジュールで標準設定を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの商品ごと送料設定モジュールに、標準送料設定機能が追加されました。以前作成したモジュールでは、商品ごとに送料を設定しない場合、送料が0円になる問題がありました。今回のアップデートで、管理画面に標準送料設定項目が追加され、商品ごとの設定がない場合はこの標準設定が適用されるようになりました。これにより、商品追加時の手間が軽減され、送料設定漏れによる0円表示も防げます。アップデート版はサイト(https://saitodev.co/soycms/soyshop/)からダウンロード可能です。

 

SOY ShopのサイトマッププラグインでURLの手動登録を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopのサイトマッププラグインに、任意のURLを手動登録する機能が追加されました。カスタムサーチフィールドによる商品一覧ページなど、自動生成されないページをサイトマップに含めることが可能になります。管理画面でURLと最終更新日時を登録すると、サイトマップの末尾に追加出力されます。この機能はカスタムサーチフィールド以外にも、SOY CMSやHTMLファイルで作成されたページにも活用できます。更新版パッケージはサイトからダウンロード可能です。カスタムサーチフィールドは、高度な検索フォームや複数カテゴリのような設定を可能にし、カタログサイト構築にも役立ちます。

 

SOY Shopのサイトマッププラグインでカスタムサーチフィールドのページを追加しました

/** Geminiが自動生成した概要 **/
SOY Shopのサイトマッププラグインがアップデートされ、カスタムサーチフィールドで生成された商品一覧ページのURLをサイトマップに追加できるようになりました。 対応フィールドは現在チェックボックスとセレクトボックスのみ。カスタムサーチフィールドの管理画面で「サイトマップに追加する」を選択することで、商品一覧ページがサイトマップに登録されます。多言語化プラグインとの併用は現状未対応。更新版パッケージはsaitodev.coからダウンロード可能です。この機能により、複数カテゴリのような設定や高度な検索フォームで絞り込まれた商品一覧ページへのアクセスが容易になり、SEO効果も期待できます。

 

施肥設計の見直しで農薬防除の回数は確実に減らせる

/** Geminiが自動生成した概要 **/
旬でない時期のネギ栽培で、農薬防除をわずか1回に抑えることに成功した事例を紹介。通常8~12回程度の農薬散布が必要なところ、腐植蓄積、カルシウム過多抑制、残留無機塩への配慮、微生物動態把握に基づく施肥設計と、湿度管理、丁寧な追肥、根への酸素供給といったきめ細やかな栽培管理により、白い根が豊富に生えたネギを収穫。農薬代は10aあたり1回15,000円と高額なため、防除回数の削減は大幅なコストダウンにつながる。今回の成功は、有機無機に共通する理想的な栽培環境に近づくための重要な一歩を示唆している。

 

SOY ShopのCSVインポートエクスポートで0からはじまる数字を扱いたい

/** Geminiが自動生成した概要 **/
SOY ShopのCSVインポート・エクスポートで0から始まる数字を扱うには、冒頭の0が削除されるのを防ぐ必要があります。LibreOfficeでCSVを編集する際、セル書式設定から「先頭のゼロの値」に桁数を指定することで、0を保持できます。例えば、5桁の数字の場合は「5」を設定します。これにより、SOY Shopへのインポート時に0が削除されずに追加されます。

 

カスタムサーチフィールドでラジオボタン等の検索項目の多言語化対応を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopのカスタムサーチフィールドに、ラジオボタンなどの検索項目の多言語対応が追加されました。管理画面で各言語ごとに項目を設定することで、公開側では検索フォームの項目が自動的に多言語化され、検索も多言語の値に対応します。これにより、多言語サイトにおける高度な検索フォームの設置が容易になります。

 

SOY CMSのバージョンアップについて

/** Geminiが自動生成した概要 **/
SOY CMSを古いバージョンから最新版にバージョンアップするには、0.1ずつ段階的にバージョンアップし、公式サイトのバッチファイルを適用します。1.5系以降は一気にバージョンアップできますが、初期管理者でログインしてキャッシュをクリアしてください。1.11系以降のSOY Shopは自動バージョンアップに対応しています。

 

SOY Shopでお届け予定日の自動計算の置換文字列を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの発送メールでお届け予定日を自動計算する機能が追加されました。これまでお届け予定日未指定の顧客へのメールは手動で日付を入力する必要がありましたが、注文増加に伴う対応困難を解消するため、発送日から設定日数を加算した日付を自動挿入できるようになりました。標準配送モジュールの設定画面で「お届け日(自動)」の置換文字列を使用する設定を行い、メールテンプレート編集画面で当該置換文字列を挿入することで、管理画面からのメール送信時に自動計算されたお届け予定日(Y-m-d形式)が挿入されます。最新パッケージはsaitodev.co/soycms/soyshop/からダウンロード可能です。

 

サイトを公開した直後にWordPressの管理画面ログインがあるか探られた

/** Geminiが自動生成した概要 **/
SOY CMSに総当り攻撃を仕掛けてみる。その4では、パスワードリスト攻撃への対策を検証しています。辞書攻撃ツールを使い、短いパスワードやありがちなパスワードを設定した場合、数秒で突破される危険性を示しています。対策として、パスワードの最低文字数を10文字以上に設定し、ランダムな文字列を使うことを推奨。ブルートフォース攻撃対策として、ログイン試行回数に制限を設けるプラグイン「Limit Login Attempts Reloaded」を紹介し、複数回のログイン失敗でアカウントをロックする方法や、一時的にIPアドレスをブロックする方法の効果を解説しています。また、WAF(Web Application Firewall)の利用も推奨し、既知の攻撃パターンをブロックすることでサーバー負荷を軽減できることを説明しています。

 

Webデザイナー向けのGitのハンズオンを行いました

/** Geminiが自動生成した概要 **/
アップラインの会議室にて、Webデザイナー向けにGitのハンズオンを開催。Webデザイナーは細かい編集作業が多く、バージョン管理の恩恵が大きい。今回はWindows向けTortoiseGitを用い、Gitの基本操作を体験、用語解説も行った。TortoiseGitはGUIで操作できるため、Gitへの苦手意識なく学習できる。共同作業の共有コスト削減、快適なサイト制作にGitの活用を推奨している。

 

物理障害のディスクのデータの復旧に挑戦

/** Geminiが自動生成した概要 **/
デジカメの写真を誤って消去した場合の復旧ツールとして、PhotoRecが紹介されている。PhotoRecは、ファイルシステムを無視してデータ自体をスキャンするため、フォーマット後やファイルシステムが破損している場合でも復旧が可能。使い方は、PhotoRecをダウンロードし、対象のドライブを選択、保存先を指定するだけ。ファイルの種類を絞り込むこともでき、復旧率向上に繋がる。JPEGだけでなく、様々なファイル形式に対応しているため、デジカメ以外の機器でも活用できる。操作はコマンドラインベースだが、GUI版のQPhotoRecも用意されている。誤削除に気づいたらすぐに使用することで、上書きされる可能性を減らし、復旧率を高めることができる。

 

カスタムサーチフィールドのチェックボックスで商品詳細ページで選択した項目を表示したい

/** Geminiが自動生成した概要 **/
SOY Shopのカスタムサーチフィールドでチェックボックスの値を商品詳細ページに表示、更にリンク化する方法。管理画面でチェックボックス型のカスタムサーチフィールド(例:フィールドID「custom_check」、ラベル「カスタムチェック」)を作成し、各項目を設定。商品詳細テンプレートに`<!-- csf:id="custom_check_番号_visible" -->`と`<!-- csf:id="custom_check_番号" -->`を記述することで、選択された項目のみ表示される。番号は設定した項目の順番(0始まり)。リンク化は`<a href="{url}=<!-- csf:id="custom_check_番号" /-->">`で囲み、{url}をサイトURLに置き換える。

 

SOY Shopの顧客検索で登録状態の項目を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの顧客検索機能に「登録状態」項目が追加され、仮登録顧客の数が把握できるようになりました。管理画面の顧客検索で「登録状態:仮登録」をチェックすることで、仮登録顧客のみを絞り込み検索できます。これにより、仮登録顧客の数を簡単に確認できます。このアップデートを含む最新パッケージは、saitodev.co/soycms/soyshop/ からダウンロード可能です。

 

SOY Shopで管理画面の注文でもダミーアドレスを使用できる設定を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの管理画面での注文においても、ダミーアドレスを使用できる設定が追加されました。以前は公開側のみで利用可能だったダミーアドレス挿入モードを、管理画面側でも有効化できるようになりました。設定方法は公開側と同様で、有効化すると管理画面の注文画面でもダミーアドレスが挿入されます。これにより、メールアドレスをあまり使用しない業種でもSOY Shopを販売管理アプリとして活用しやすくなりました。このアップデートを含むパッケージはsaitodev.coからダウンロード可能です。

 

SOY Shopの管理画面からの注文で顧客名検索を追加してみた

/** Geminiが自動生成した概要 **/
SOY Shop管理画面の注文画面に顧客名とフリガナ検索機能が追加されました。注文追加画面で顧客名を入力し検索すると、一致する顧客が一人だけ表示されます。ただし、同姓同名がいる場合、検索結果が意図しない顧客になる可能性があります。完全一致の検索結果のみ表示されるため、複数候補を表示する機能は現時点では実装されていません。同姓同名がいる場合の対策として、別途紹介されている購入代行機能の利用が推奨されています。修正版パッケージはsaitodev.co/soycms/soyshop/からダウンロード可能です。

 

当サイトをMackerelで監視するようにしてみた

/** Geminiが自動生成した概要 **/
筆者はWebサービスのサーバー監視にMackerelを導入した。Muninを導入したVPSはあったが、個人サイト用に別途VPSを借りるのは負担だったため、Mackerelの5ホスト無料枠を利用することにした。導入手順は非常に簡単で、Ubuntuサーバーへのインストールはコマンド一行で済んだ。Mackerelはサーバーを即座に認識し、ロール設定後すぐに監視が開始された。監視による不安の解消に加え、メール、ChatWork、LINEなど豊富なアラート通知設定も魅力的だと感じた。

 

PHP製のパッケージをサーバにアップロードする時の注意点

/** Geminiが自動生成した概要 **/
PHPパッケージをサーバーアップロード後、画面が真っ白または403 Forbiddenエラーになる場合の対処法。真っ白画面はZIP解凍エラーが原因で、古い解凍ソフトは一部ファイルを空で復元する可能性があるため、7-Zip等の最新版を使う。403 ForbiddenはFTPアップロードエラーで、ファイル数が多いと一部ファイルが欠ける場合がある。安定したFileZilla等のFTPクライアントを使用し、/インストールディレクトリ/admin/webapp/ 以下にindex.phpやinit.phpが存在するか確認する。

 

日本シームレス地質図で見えることが増えたはず

/** Geminiが自動生成した概要 **/
「日本の石ころ標本箱」を参考に、栽培の成功/失敗と地質の関係を探る試み。成功地は酸性岩土壌、失敗地はチャート主体で規則性を持つ母岩だった。サンプル数は少ないが、地質を事前調査することで栽培適地の判断材料になると考えた。産総研の日本シームレス地質図を用いて、ミネラル欠乏がない地域は超塩基性岩/塩基性岩地帯、鉄過剰症の地域は塩基性岩地帯と判明。事例は少ないが、今後各地で地質と栽培結果を比較することで、より精度の高い事前予測が可能になると期待している。関連として海底火山の痕跡についても言及。

 

SOY CMSのサムネイルプラグインで加工前の画像も出力できるようにした

/** Geminiが自動生成した概要 **/
SOY CMSのサムネイルプラグインが、加工前の画像も出力できるよう機能拡張されました。従来はリサイズ・トリミング後の画像のみ出力でしたが、`cms:id="upload"`でオリジナル画像、`cms:id="trimming"`でトリミング後リサイズ前の画像を出力できます。`cms:id="thumbnail"`は従来通りサムネイル画像を出力します。また、画像の状態に応じて表示を切り替える`cms:id="is_upload"`、`cms:id="is_trimming"`、`cms:id="is_thumbnail"`も追加されました。更新版プラグインはsaitodev.co/soycms/からダウンロード可能です。

 

木は徹底的に伸ばす枝を決めた

/** Geminiが自動生成した概要 **/
剪定後の生け垣(?)から伸びた数本の枝に注目した随想。全体がもっさり茂るのではなく、伸びやすい枝だけがひょろひょろと伸長している様子が描写されている。写真のアングルによって印象が変わり、クローズアップすれば草むらに伸びる植物に見えるが、引いて見ると奇妙に長い枝が目に立つ。木は伸ばせる枝を確実に伸ばすという、植物の生命力を感じさせる内容。

 

舞鶴でトウガラシ等の長期栽培に向けての肥料設計の基礎知識の話をしました

/** Geminiが自動生成した概要 **/
京都農販主催の舞鶴での勉強会で、トウガラシなどの長期栽培に向けた肥料設計の基礎知識について講演しました。長期栽培では事前の土壌改良が重要で、今回は「良い土とは何か」と「速効性無機肥料の活用」をテーマに、現状で考えられる最善策を解説しました。栽培初期の土壌づくりを適切に行うことで、その後の追肥や水管理の効率が上がり、秀品率向上と労力・経費削減に繋がります。具体的な最善策については勉強会内で説明しました。

 

SOY CMS/Shopを利用する際、どのデータベースを利用すれば良いか?

/** Geminiが自動生成した概要 **/
SOY CMS/Shop開発者が最も感銘を受けたネットショップは、1日に約3万件もの注文を処理しながら、サクサクとした動作を維持しているサイトです。この驚異的なパフォーマンスは、MySQLデータベースの綿密なチューニングと、徹底的なキャッシュ戦略によって実現されています。数百台ものサーバーが複雑なシステムを支え、注文処理から配送までがシームレスに連携。サイト運営者の技術力と、顧客満足度を最優先に考えた設計思想に開発者は深く感銘を受け、自らの開発にも活かそうと刺激を受けています。膨大なアクセスと注文を処理しながらも快適なユーザー体験を提供するこのサイトは、ネットショップ開発の理想形として、開発者の心に深く刻まれています。

 

SOY Shopで予約サイトを運営する

/** Geminiが自動生成した概要 **/
スパーク運動療育西京極スタジオ様のWebサイト制作では、SOY Shopを活用した予約システムが導入されました。これにより、保護者はサイト上で簡単に療育の予約を行うことが可能になり、スタジオ側の手間も軽減されました。サイトデザインは、子供たちの成長をイメージした明るい色使いと、スタジオの温かい雰囲気を伝える写真が特徴です。また、レスポンシブデザインを採用し、様々なデバイスで快適に閲覧できます。さらに、SEO対策も施され、検索エンジンからの集客向上も期待できます。ブログ機能も備え、スタジオの最新情報や療育に関する有益な情報を発信することで、保護者とのコミュニケーション強化にも繋がっています。このサイトは、SOY Shopの柔軟性と拡張性を活かした好例と言えるでしょう。

 

SOY Shopの商品一覧ページでカスタムフィールドによるソートを設定する

/** Geminiが自動生成した概要 **/
SOY Shopで商品一覧をカスタム順に表示するには、カスタムフィールドを利用します。プラグインでカスタムフィールドを有効化し、「一行テキスト」型のフィールドを作成、これをソートに使用することを指定します。ページ管理から対象の商品一覧ページの設定を開き、「カスタム項目でソート」を選択、作成したフィールドを指定します。商品ごとに並び順を設定するには、各商品詳細ページのカスタムフィールドに数値を入力します。文字列としてソートされるため、1, 2, 11ではなく、101, 102, 111のように3桁の数値を使うことで意図しない並び順を回避できます。

 

SOY Shopの管理画面でプラグインがページを持てるようになりました

/** Geminiが自動生成した概要 **/
SOY Shopの管理画面拡張機能として、プラグインが独自のページを持てるようにアップデート。これにより、ショップ機能を制限し、プラグイン経由でアプリ風機能を呼び出す「SOY App」的な開発が可能に。プラグインはSOY Shop本体への影響 minimal。 連絡掲示板プラグインを例に、管理画面内に掲示板を追加し、投稿時に登録管理者へメール通知する機能を実装。アップデート内容はGitHubのsoyshopパッケージに反映済。

 

さくらの共有サーバで二つのショップサイトを独自ドメインで運営する方法について

/** Geminiが自動生成した概要 **/
さくら共有サーバーのスタンダードプランで、二つの独自ドメインショップサイトをSNI SSLで運営する方法。まず、mainsite.jpをルートディレクトリに設置し、SNI SSLを設定。設定ファイル内のURLを独自ドメインに変更する。次に、subsite.jpをsubディレクトリに設置し、マルチドメイン設定とSNI SSLを設定。設定ファイル内のURLも変更。最後に、subディレクトリの.htaccessに`RewriteBase /`を追加することで、subsite.jpのサブページへのアクセスエラーを解消する。

 

SOY Shopで顧客詳細にメールの送信履歴を表示するようにしました

/** Geminiが自動生成した概要 **/
SOY Shopの顧客管理画面に、メール送信履歴表示機能と仮登録ユーザーの視認性向上のための機能追加が行われました。顧客詳細ページに送信済みメールとエラーメールの履歴を表示することで、仮登録メールのURLを管理者が確認しやすくなりました。また、仮登録ユーザーの顧客詳細ページでは、仮登録状態であることを強調表示することで、管理者の識別を容易にしました。これらの変更は、顧客へのメール再送や仮登録解除の手間を軽減することを目的としています。修正はGitHub上のSOY Shopパッケージで公開されています。

 

SOY Shopで注文と商品のタブの表示の設定を追加しました

/** Geminiが自動生成した概要 **/
SOY Shop開発者は、顧客から多様なアプリ開発依頼を受けている。従来はSOY CMSのログイン機能を活用したフルスクラッチ開発で対応していたが、開発者自身へのフィードバックが少なく割高になるため、SOY Shopの機能を部分的に切り出してプラグイン化する方針に転換した。 今回、SOY Shop管理画面に注文と商品のタブ表示設定を追加。チェックを外すとタブが非表示になる。これは一見小さな変更だが、ユーザーにとって機能が多すぎると学習意欲を阻害したり、操作説明が煩雑になるため、必要な機能のみを表示させることでユーザビリティ向上に繋がる。 この修正はGitHub上のSOY Shopパッケージに反映されている。開発者は今後もSOY Shopの可能性を探るべく、管理画面の改善を進めていく。

 

SOY Shopの注文一覧で表示する項目の設定を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの管理画面の注文一覧表示項目をカスタマイズできる機能が追加されました。従来、表示項目の変更はシステム破綻のリスクを伴うため推奨されていませんでしたが、要望の多さを受けて実装されました。管理画面の設定画面から表示/非表示を切り替えられます。ただし、全ての項目を表示すると画面が見づらくなるため、運営のスリム化も合わせて検討するよう促しています。変更はGitHub上のSOY Shopパッケージに反映されています。

 

SOY Shopの管理画面の新着ページをプラグイン化しました

/** Geminiが自動生成した概要 **/
SOY Shopの管理画面の新着ページがプラグイン化されました。これにより、各項目の表示/非表示や表示順をプラグインで制御可能になります。ネットショップ以外の用途、例えば会員制ブログやカタログサイト等での利用が増えているため、受注関連情報を非表示にし、別のアプリの要素を表示するといったカスタマイズが容易になります。 この変更によりSOY Shopの多様な活用方法が期待されます。変更はGitHub上のsoyshopパッケージに反映されています。

 

SOY Shopの管理画面からの注文時に消費税が計算されない不具合を修正

/** Geminiが自動生成した概要 **/
SOY Shopの管理画面からの注文時に消費税が計算されない不具合を修正しました。これは稀に利用される管理画面からの注文機能において、消費税の計算処理が実装されていなかったことに起因するものです。修正により、管理画面からの注文でも正しく消費税が計算されるようになりました。この修正はGitHub上のsoycmsリポジトリ(https://github.com/inunosinsi/soycms/tree/master/package/soyshop)に含まれるsoyshopパッケージで反映されています。

 

栽培と畜産の間にある糞詰り問題

/** Geminiが自動生成した概要 **/
畜産における家畜糞尿の処理は、家畜排せつ物法により義務付けられており、畜産農家にとって大きな負担となっている。処理施設の建設・維持、発酵に伴う硝石蓄積への対策、処分費用など、コストがかさむ一方で収益には繋がらない。この負担は廃業に繋がる可能性もあり、畜産業のみならず、肥料として家畜糞を利用する栽培側にも影響を及ぼす。特に、品質低下という形で米作への影響が出始めており、規模拡大を目指すアグリビジネスへの影響も懸念される。

 

SOY Shopでカートかマイページの機能を使用しない場合は404を返そう

/** Geminiが自動生成した概要 **/
SOY Shopでカートやマイページ機能を使用しない場合、404エラーを返す設定が可能になった。カート設定でカートIDを「none」にすることで、カートページへのアクセス時に404エラーが返される。マイページも同様に、マイページIDを「none」に設定することで404エラーを返すことができる。これにより、顧客管理のみを行う場合などに、不要な機能へのアクセスを制限できる。表示内容はテンプレート管理の「none」テンプレートで編集可能。この機能はGitHub上のパッケージに含まれている。

 

SOY CMSでwwwありとなしのどちらでもアクセスできるサイトでの管理画面の対応

/** Geminiが自動生成した概要 **/
SOY CMSのconfig.ext.phpは、管理画面のカスタマイズを可能にする強力なツールです。管理画面のURLの変更、ログイン画面へのリダイレクト設定、.htaccessを利用したアクセス制限、管理画面のデザイン変更、独自機能の追加などが実現できます。データベースへのアクセスやSmartyテンプレートの利用も可能です。ただし、PHPの知識が必要で、不適切な記述はシステムエラーに繋がるため注意が必要です。このファイルはバージョンアップの影響を受けず、安全にカスタマイズを維持できます。

 

SOY CMSのブログで地図アプリを作ろう1

/** Geminiが自動生成した概要 **/
Google Maps APIを用いてSOY CMSのブログに地図アプリを作成する手順の第一段階を解説した記事です。まずGoogle API ConsoleでAPIキーを取得し、SOY CMSにカスタムフィールド「lat(緯度)」と「lng(経度)」を追加します。ブログページを作成し、提供されたHTMLテンプレートを貼り付け、地図の中心座標とズームレベルを調整します。座標はGoogle Mapsで場所を検索し、右クリックメニューの「この場所について」から取得できます。最後に、ブログ記事を作成し、タイトルと本文に加え、カスタムフィールドに取得した緯度経度を入力して公開します。これにより、ブログトップの地図上にマーカーが追加され、訪問場所を視覚的に表示できます。次記事ではマーカーに詳細情報を表示する機能を追加する予定です。

 

ネットショップ用CMSはカタログサイトの構築にも向いている

/** Geminiが自動生成した概要 **/
カタログサイト構築にネットショップ用CMS(例:SOY Shop)を推奨。理由は、将来的な物販開始時のデータ移行が不要になるため。ブログ利用の場合、商品登録のインポートが煩雑になる。 CMSなら注文ボタン設置で物販開始が可能。事例としてコトブキ園のサイトを紹介。商品一覧・詳細ページがあり、豊富なコンテンツ登録が可能。高度な検索フォーム設置も容易。 会員制カートプラグインで直購入防止、SOY Inquiry連携で商品毎の問い合わせフォーム設置も実現できる。これにより、情報豊富で問い合わせ対応も可能なカタログサイトが構築できる。

 

SOY CMSとSOY Shopで有料ブログを運営してみよう

/** Geminiが自動生成した概要 **/
SOY CMSとSOY Shopを組み合わせることで、有料ブログを簡単に構築できます。SOY Shopでライセンス商品を登録し、顧客情報入力やプラグインを簡素化することで、ユーザーの購入手続きをスムーズにします。SOY CMS側では、SOY Shopログインチェックプラグインを使って有料記事へのアクセス制限を設定し、特定の商品購入者を許可します。クレジット決済モジュールと連携すれば、スムーズな支払い確認が可能になります。さらに、PayPalやPAY.JPの継続課金モジュールを利用することで、月額課金型の有料会員制ブログ運営も実現できます。

 

SOY CMSとSOY Shopで会員制ブログを運営してみよう

/** Geminiが自動生成した概要 **/
SOY CMSはショップ系サイト開発に注力しているため、ブログ機能は弱いというイメージがあるが、ショップ特有のセキュリティ強化により、安全な会員制ブログ構築が可能になっている。方法は、SOY CMSとSOY Shopをそれぞれ顧客管理用とブログ投稿用に設置し、ブログ投稿サイトにSOY Shop連携プラグインとSOY Shopログインチェックプラグインを導入する。ログインチェックプラグインで顧客管理サイトを指定し、ブログ記事のテンプレートを編集。`cms:id="is_login"`でログイン時表示部分を、`cms:id="no_login"`で非ログイン時表示部分を囲むことで、閲覧制限を実現する。非ログイン時にはログインページへのリンクが表示され、ログイン後は制限されていたコンテンツが閲覧可能になる。この仕組みにSOY Mailを連携させれば、顧客情報に基づいたメルマガ配信も可能。HTMLのみで構築できるため、デザインの自由度やSEO対策も容易で、有料ブログや有料メルマガへの拡張も容易である。

 

釈迦堂の前のちいさなひろばにて

/** Geminiが自動生成した概要 **/
詩仙堂へ向かう途中、隣接する路地で見つけた「ちびっこひろば」という小さな公園が驚くほど美しかった。庭園で見かけるような石組みと、神社仏閣で見かける砂紋が印象的だった。毎朝、近隣住民が丁寧に整備しているようで、砂場まで完璧に整えられていた。早朝のため足跡一つなく、入るのをためらうほどだったが、子供は躊躇なく鉄棒で遊び始めた。公園の砂紋は、庭園同様、見る人に美しさを感じさせる力があるのだと実感した。翌日にはきっと、残された足跡を見て、誰かが遊んだ証を感じながら、再び砂利を均すのだろう。

 

SOY Shopのプラグインやモジュールの複製方法

/** Geminiが自動生成した概要 **/
SOY Shopのプラグイン複製は、対象ディレクトリ(例:payment_furikomi)を丸ごと複製し、名前を(例:payment_furikomi2)に変更する。ファイル名、クラス名、モジュールID(payment_furikomi→payment_furikomi2、PaymentFurikomi→PaymentFurikomi2など)を全て変更する。module.iniのモジュールIDも修正。拡張ポイントファイル(soyshop.***.php)やUtilクラスなども同様に置換。HTMLファイルは修正不要。PHPの知識があれば複製後、自由に修正可能。

 

SOY Shopの商品詳細ページで登録されている商品をランダムで表示する

/** Geminiが自動生成した概要 **/
SOY Shopの商品詳細ページで登録商品をランダム表示するPHPモジュールを作成する方法です。まず、管理画面でモジュールID「item.random」のPHPモジュールを作成し、指定のコードを記述します。このコードはSOY2DAOを使い、全商品、または指定カテゴリの商品をランダムに取得し、表示件数を制限するSQLを実行します。商品詳細ページテンプレートに`<!-- shop:module="item.random" -->`と`<!-- block:id="random_item_list" -->`を記述することで、ランダムに選ばれた商品が表示されます。カテゴリを指定するには、`$categoryId`変数にカテゴリIDを代入します。

 

SOY Shopでメールテンプレートを追加できるプラグイン

/** Geminiが自動生成した概要 **/
SOY Shop用の「メール送信種類追加プラグイン」が開発されました。このプラグインは、管理画面から送信可能なメールテンプレートを自由に増やすことができます。注文詳細画面のメール送信項目に、任意のテンプレートを追加し、柔軟なメール送信が可能になります。 新機能として、メールテンプレート編集画面で注文詳細情報の出力を選択できるようになりました。また、「SOY Shopのメールビルダから出力される商品一覧に並び順設定を追加しました」で紹介されている並び順設定機能にも対応しています。さらに、伝票番号など、既存プラグインの情報もメール本文に挿入できるようになり、置換文字列も追加されました。プラグインパッケージはsaitodev.coからダウンロード可能です。

 

SOY Shopの注文検索と顧客検索の結果をSOY Mailで利用する機能を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの注文・顧客検索機能が強化され、SOY Mailとの連携が向上しました。注文検索では顧客情報、商品、金額等の絞り込みが可能になり、顧客検索では購入合計と購入回数が追加されました。また、顧客属性の一括設定とCSV出力も実装。これらの機能拡張により、SOY Shopの注文状況に基づいたメール配信が容易になり、SOY Mailの下書き自動保存機能と合わせてメールマーケティングの効果的な運用を支援します。最新パッケージはGitHubからダウンロード可能です。

 

開発元を退職した私がSOY CMSを開発し続けている訳

/** Geminiが自動生成した概要 **/
筆者はSOY CMSの開発元を退職後も、個人で開発を継続している。理由は、開発元代表の行動(SNSでの女装写真連投)と農業事業への注力により、開発が停滞し、経験豊富な開発メンバーが離脱したため。退職後、ユーザーの声を直接聞き、SOY CMSの価値を再認識し、開発継続を決意。公式フォーラムへの修正報告は反映されず、個人でパッケージを配布。開発元の事業不振を憂慮し、リポジトリの公開を提案。利用者がいれば開発を続けると宣言している。

 

Muninで監視用サーバを構築する2

/** Geminiが自動生成した概要 **/
外部サービス監視のため、対象サーバ(192.168.80.80)にmunin-nodeをインストールし、監視サーバ(192.168.100.120)のIPを許可するよう設定ファイルを編集。ファイアウォールで4949ポートを開放する。次に、監視サーバ側でmunin.confに監視対象のホスト名(hoge.com)とIPアドレスを追記。Apacheを再起動後、Munin画面に新しいリンクが表示されれば設定完了。

 

農薬を使用している方の野菜も美味しいよ

/** Geminiが自動生成した概要 **/
筆者は、野菜の美味しさは栽培方法ではなく、光合成の効率に依存すると主張する。有機無農薬栽培でも、牛糞堆肥の過剰使用による塩類集積や、植物性有機物に偏った土壌管理は、ミネラル吸収を阻害し、光合成を低下させるため、美味しい野菜は育たない。逆に、農薬を使っていても、適切な土壌管理で光合成を促進すれば、美味しい野菜ができる。つまり、農薬の有無ではなく、栽培者の技術が美味しさを左右する。有機栽培で品質が落ちる例として、果実内発芽、鉄欠乏による病害、硝酸態窒素の還元不足などを挙げ、美味しい野菜作りの要諦は、光合成を最大限に高める土作りにあると結論づけている。

 

総当り攻撃を仕掛けられたので、接続元を調べてみたら

/** Geminiが自動生成した概要 **/
CMSへの不正ログイン後の攻撃者は、まず管理者権限の奪取を目指します。パスワード変更や新規管理者アカウント作成を通してシステムの完全掌握を図ります。その後、サイト改竄、マルウェア設置、情報窃取など多岐にわたる悪質な行為を行います。改竄ではサイトコンテンツの書き換えや、フィッシング詐欺サイトへの誘導などが行われ、マルウェア設置では訪問者への感染拡大を狙います。情報窃取は顧客情報やデータベース情報などを標的に、金銭目的や更なる攻撃への足掛かりとします。攻撃者はこれらの行為を迅速かつ隠密裏に行うため、早期発見と対策が重要です。

 

SOY Shopのオーダーカスタムフィールドの項目でファイルを追加しました

/** Geminiが自動生成した概要 **/
SOY Shopで商品注文時にファイルアップロードできるカスタムフィールド機能が追加されました。管理画面で「ファイル」種別の項目を作成すると、カートにアップロードフォームが表示され、注文完了後、管理画面のファイルマネージャで確認できます。ファイル名は日付に変換され上書きは防止されます。ストレージプラグインと併用すればダウンロードURLも利用可能です。現在は拡張子やファイルサイズ制限機能はありませんが、アップロード許可する拡張子設定は追加されました。要望があればお問い合わせください。この機能はhttps://saitodev.co/soycms/soyshop/のパッケージで利用可能です。

 

SOY Shopで運営者の購入代行時に顧客の情報を自動で入力する

/** Geminiが自動生成した概要 **/
SOY Shopの拡張機能で、運営者が顧客の購入を代行する際の手間を省く仕組みが開発されました。 公開側の商品ページに設置した注文ボタンから、管理画面へ特定の顧客情報で自動ログインする機能です。 ボタンにはGETパラメータが付与され、管理画面でログイン状態とパラメータを照合することで、指定顧客の自動ログインを実現しています。 これにより、購入代行時に顧客情報入力の手間が不要となり、電話注文の2回目以降の対応をスムーズに行えます。 この機能はGitHubで公開されているパッケージから利用可能です。

 

SOY Shopでダミーのメールアドレスを挿入する設定を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopで電話注文時の商品オプション・規格対応のため、ダミーメールアドレス自動挿入機能を追加。管理画面で設定を有効化し、公開側で注文手続きを行うと、重複チェック済みのランダムな「...@dummy.soyshop.net」がメールアドレス欄に自動入力される。 このアドレスで注文すると確認メール等の送信が抑制され、メールボックスの圧迫を防げる。 パスワード設定で顧客情報の再利用も可能。 電話注文対応の課題を解決し、運営者の注文代行を効率化するアップデートとなっている。

 

SOY Shopで顧客毎にファイルを保存できる様にしました

/** Geminiが自動生成した概要 **/
SOY Shop用のストレージプラグインにより、顧客ごとにPDFやZIPなどのファイルを保存・管理できるようになりました。顧客専用ページでファイルのアップロードが可能で、ダウンロードURLの発行にも対応。管理画面からはelFinderを用いてファイルマネージャ形式でアクセスできます。ファイル保存パスは`/サイトID/files/user/顧客ID`です。アップロード可能なファイル形式の仕様は未確定ですが、プラグインは利用可能です。パッケージはGitHub(https://github.com/inunosinsi/soycms/tree/master/package)で公開されています。

 

SOY ShopのMySQL版のクーポン自由設定プラグインで使用ログが動作していなかった件を修正しました

/** Geminiが自動生成した概要 **/
SOY ShopのMySQL版クーポン自由設定プラグインで、クーポン使用ログが記録されない不具合を修正しました。この不具合により、クーポンの使用回数がカウントされず、使用回数制限が正常に動作しない問題が発生していました。修正版パッケージはGitHubで配布しています。直接修正する場合は`ALTER TABLE soyshop_coupon_history CHANGE private price INTEGER NOT NULL DEFAULT 0;`を実行してください。

 

耕作放棄地の解消を掲げている団体の就農支援を受けてはいけない

/** Geminiが自動生成した概要 **/
就農希望者は耕作放棄地の解消を掲げる団体の支援を受けるべきではない。なぜなら、耕作放棄地は収益性が低いため放棄されたのであり、そこで農業を始めるのは非常に不利だからだ。そうした団体は放棄地を誰かに管理させようとするだけで、経営ノウハウのない就農希望者を不利な条件の土地に送り込むことになる。結果的に、彼らは新たな耕作放棄地を生み出す可能性が高く、団体は美談として賞賛されながらも、実際には多くの就農者の将来を危険に晒している。真の農業発展は、既に成功している農家が土地を集約し、規模を拡大していく中で、雇用や暖簾分けによって実現する。耕作放棄地解消を美談視するのではなく、現実的な農業経営の支援こそが必要だ。

 

SOY Mailで誕生日で絞り込みを追加しました

/** Geminiが自動生成した概要 **/
SOY Shop連携機能を持つSOY Mailに誕生日検索機能が追加されました。顧客の誕生月を指定してメルマガ配信が可能になり、誕生月キャンペーンなどの告知に活用できます。月のフォームに数字を入力することで、指定の月に誕生日を迎える顧客のみにメールを送信できます。この機能はSOY Shop連携時にのみ利用可能です。ダウンロードはGitHubのsoycmsリポジトリ(packageディレクトリ)から行えます。

 

SOY CMSで利用しているelFinderでjsファイルのアップロードを許可する

/** Geminiが自動生成した概要 **/
SOY CMSのファイルマネージャelFinderでJSファイルのアップロードを許可する方法。`/CMSのインストールディレクトリ/soycms/js/elfinder/php/connector.php`内の`uploadAllow`配列にJSファイルのMIMEタイプ `text/javascript` を追加することで実現できる。デフォルトではセキュリティのためJSファイルのアップロードは禁止されているが、この設定変更によりアップロードと編集が可能になる。ただし、不正ログイン時に悪意あるコード実行のリスクも高まるため、注意が必要。

 

SOY Shopで注文変更の際に代引き手数料の自動計算を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの注文変更画面で、代引き手数料を自動計算する機能が追加されました。 従来、注文内容変更時に商品個数を変更すると、代引き手数料を手動で修正する必要がありましたが、この機能により自動で再計算されます。例えば、商品価格の合計が10,000円を超えて手数料が無料になる場合など、変更後の金額に応じて手数料が自動更新されます。この機能は代引き支払いモジュールの設定で有効/無効を切り替え可能です。消費税の自動計算にも対応しており、要望があれば配送モジュールの手数料自動計算も検討されます。関連パッケージはGitHubで公開されています。

 

SOY Shopでブラック顧客リストプラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shop用プラグイン「ブラック顧客リストプラグイン」は、顧客詳細画面にブラック顧客チェックボックスを追加し、チェックでブラック顧客として登録する。以後、該当顧客からの注文は注文詳細に赤字で警告表示され、注文登録画面でも通知が表示される。プラグイン詳細画面では登録済みのブラック顧客リストを確認可能。管理画面での注文登録業務を主とするユーザー向けに、ブラック顧客を一目で識別しやすくする機能を提供。コードは指定GitHubリポジトリのパッケージ内に含まれる。

 

SOY Shopで伝票番号記録プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shopのドットインパクトプリンタ伝票印刷プラグインに、伝票番号記録機能が追加されました。管理画面の注文詳細画面に伝票番号入力フォームが追加され、入力した番号は注文履歴に記録されます。記録された伝票番号は、支払確認メールや配送確認メールに自動挿入されるため、顧客へのスムーズな情報伝達に役立ちます。この機能追加を含む最新パッケージはsaitodev.co/soycms/soyshop/からダウンロード可能です。

 

SOY Shopでドットインパクトプリンタで伝票印刷に対応しました

/** Geminiが自動生成した概要 **/
SOY Shop用ドットインパクトプリンタ伝票印刷プラグインが開発されました。管理画面の注文一覧から印刷したい注文を検索し、条件を設定して実行すると、連続印刷用ページが出力されます。1ページ1伝票で、PDF保存すればドットインパクトプリンタで使用可能です。現在はクロネコヤマトのみ対応。代引きの場合は宅配便コレクトサービス伝票、それ以外は発払伝票として背景が変化します。プラグインはGitHub上のパッケージ(https://github.com/inunosinsi/soycms/tree/master/package)に同梱されています。

 

SOY Shopでカートのエラーになった際に管理者に通知メールを送信機能を追加

/** Geminiが自動生成した概要 **/
SOY Shopでカートエラー発生時に管理者へ通知メールを送信する機能を追加する方法が解説されています。カートページのPHPファイル(/soyshop/webapp/src/cart/_common/page.php)の例外処理部分に、メール送信処理を記述することで実現します。エラー発生時に管理者のメールアドレスへ通知メールが送信されるように設定し、エラーの詳細な内容を含むことも可能です。ただし、セキュリティ上の理由から、エラーの詳細情報をメール本文に含めることは推奨されていません。修正済みパッケージはGitHubで公開されています。

 

SOY CMSでサイトマップ結合プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY CMS/Shop用サイトマップ結合プラグインを作成。複数のSOYサイトのサイトマップを一つにまとめることで、サイトマップ管理の手作業を削減。プラグイン管理画面に個々のサイトマップURLを登録すると、静的なXMLファイルが生成される。このファイルは一日で寿命が切れ、翌日いずれかのページにアクセスがあると再生成されるため、高速な参照と最新の状態を維持できる。プラグインはGitHub上のパッケージに同梱、利用にはSOY CMS/Shopの最新版が必要。

 

SOY Shopで未発送や未入金の注文を把握したい

/** Geminiが自動生成した概要 **/
SOY Shopの注文管理画面の機能拡張パッケージ。管理画面では注文状況・支払状況のステータス毎の検索は可能だが、未発送・未入金状態の注文を一括検索できない問題を解決する。パッケージ導入により、「未発送の注文」「未支払の注文」チェックボックスが追加され、チェックで各々に対応するステータス(未発送:新規受付、受付完了、在庫確認中。未支払:支払待ち、入金エラー、直接支払)の注文を一括検索可能になる。これらのチェックボックスは既存のステータス選択よりも優先される。

 

SOY Shopで複数カテゴリの様な設定を行う

/** Geminiが自動生成した概要 **/
SOY Shopでは複数カテゴリ機能はパフォーマンス低下のため廃止され、代替としてカスタムサーチフィールドプラグインが推奨されています。カスタムサーチフィールドでは、チェックボックス形式で複数の「タグ」を商品に設定可能。管理画面で項目を追加し、商品詳細ページでタグを選択、商品一覧ページには専用ページを作成し、CustomSearchFieldItemListモジュールを適用することでタグによる絞り込みを実現します。URLは「http://ドメイン/ショップID/ページのURL/フィールドID/タグ値」となります。ただし、管理画面の商品検索ではカスタムサーチフィールドによる検索は不可。その対策として、各フィールドに一括設定ページが用意され、簡易的な商品検索フォームが利用可能です。

 

SOY CMSのブログで記事管理者でもカテゴリを追加できる様にしました

/** Geminiが自動生成した概要 **/
SOY CMSのブログで、記事管理者でもカテゴリを追加・編集できる機能が追加されました。従来はラベル作成後、管理画面でカテゴリ設定が必要でしたが、このアップデートで記事管理画面から直接カテゴリ(ラベル)の作成・削除・編集(名称、アイコン、説明)が可能になりました。カテゴリ追加時に自動でブログに設定されるため、管理者の手間が省けます。ただし、表示順の変更はできません。この機能は本体改修のため、GitHubから最新パッケージをダウンロードしてください。

 

SOY Shopで注文の変更の際の内税の計算に誤りがあったため修正しました

/** Geminiが自動生成した概要 **/
SOY Shopの注文変更時に、内税計算に誤りがあったため修正されました。具体的には、管理画面で注文変更を行う際、内税が代金合計に含まれてしまう不具合と、数量変更時に以前の内税額が代金合計に加算される不具合が修正されました。修正により、内税は代金合計に含まれず、購入金額や手数料の変更ごとに消費税が再計算されるようになりました。この修正は本体への変更を含むためプラグイン配布はされず、GitHubからダウンロードする必要があります。

 

SOY Shopの管理画面で顧客の誕生日検索を追加しました

/** Geminiが自動生成した概要 **/
SOY Shop管理画面に顧客誕生日検索機能が追加されました。誕生月ポイント付与プラグイン実装時に要望のあった機能で、年・月・日で検索可能です。「今月誕生日の方」といった誕生月顧客の絞り込みが可能です。この機能は保留になっていたものが実装されたもので、github上のsoycmsパッケージからダウンロードできます。

 

SOY Shopの統計プラグインで注文件数が多くなったサイトでも快適に表示できるように修正しました

/** Geminiが自動生成した概要 **/
SOY Shopの統計プラグインの表示速度が改善されました。注文件数の多いサイトでは、統計計算に時間がかかっていましたが、原因は注文一覧ページの無駄な二重検索処理でした。統計処理時に、一覧用の検索結果を破棄して再度統計用の検索を行っていたため、メモリを浪費し、計算時間が増大していました。この無駄な処理を修正することで、表示速度が大幅に向上しました。修正版はフォーラムまたはGitHubのパッケージ置き場から入手できます。

 

SOY Mailの送信予約を使ってみよう

/** Geminiが自動生成した概要 **/
SOY Mailの送信予約機能はcronを用いて実現する。管理画面で送信日時を設定するが、cronの設定が必須。cronは「分 時 日 月 曜日 コマンド」の形式で記述し、コマンドはSOY Mail管理画面のヘルプを参照。送信日時とcron設定を一致させるとその時刻限定の送信となるため、10分おき等にSOY Mailのコマンドを実行し、予約日時を超えた未送信メールを送信するよう設定するのが効率的。ただし、サーバによっては短時間での大量送信でエラーとなる場合があるため、SOY Mailの分割配信機能を考慮し、最低でも20分間隔での実行が推奨される。

 

SOY Shopの管理画面で電話注文に対応してみた

/** Geminiが自動生成した概要 **/
SOY Shopの管理画面で電話番号検索による注文登録機能が追加された。 従来はメールアドレス検索のみだったが、電話注文対応のため電話番号検索フォームが実装された。電話番号は表記ゆれがあるため検索精度はメールアドレスより劣るが、改善のため試用とフィードバックが求められている。パッケージはGitHub(https://github.com/inunosinsi/soycms/tree/master/package)からダウンロード可能。リピーターからの電話注文増加に対応する機能拡張である。

 

SOY CMS/Shopでクラス名と同名のメソッドでエラーになる件を修正

/** Geminiが自動生成した概要 **/
KAGOYAのマネージド専用サーバでPHP7にアップグレードした際、SOY CMS/Shopでクラス名と同名のメソッドがコンストラクタとして使われているためエラーが発生した。PHPの次期バージョンではこの記法が非推奨となるため、`__construct()`への変更が必要だった。`WebPage`クラスなどでも同様の問題があり、修正パッチを作成しGitHubに公開した。公式サイトにも反映されることを期待している。

 

観葉植物は水やりの回数が多い方が栽培は楽かもしれない

/** Geminiが自動生成した概要 **/
サボテンは水やり頻度が少なく、管理が容易と思われがちだが、実は逆。10日に1回の水やりは習慣化が難しく、かえって管理を難しくする。一方、アサガオは2日に1回の水やりが必要で、ルーチン化しやすい。つまり、水やり頻度の高い植物ほど、習慣化を通して管理が容易になる。サボテンを枯らす人は、頻繁な水やりが必要なアサガオに挑戦してみると、意外とうまく育てられるかもしれない。

 

F1種子からタネ採り出来ないって本当?

/** Geminiが自動生成した概要 **/
市販の種子が採種できないというのは、F1種子(雑種第一世代)であることに起因する。F1種子は異なる品種を交配して作られ、優れた形質を示す。しかし、F1種子から得た種子(F2世代)は、メンデルの法則に従い形質が分離するため、親世代と同じ形質が揃わず、期待する収量や品質が得られない。おばさんの質問はF1種子の特性を指していたと考えられる。

 

商品規格プラグインと非同期カートボタンプラグインで各規格の金額を調べてカートに入れる機能を追加した

/** Geminiが自動生成した概要 **/
SOY Shopの商品規格プラグインと非同期カートボタンプラグインの連携強化により、各規格の価格がカート投入前に動的に反映されるようになりました。従来、親商品の価格しか表示されなかった非同期カートの吹き出しに、選択した規格の価格と在庫状況が表示されるように改良。管理画面で規格ごとの価格を設定することで、在庫切れ表示にも対応。これにより、ユーザーは規格ごとの正確な価格情報を確認した上でカートに追加できます。新機能はGitHub上の最新パッケージから利用可能です。

 

接続元IPアドレスを知られたくない時にすること

/** Geminiが自動生成した概要 **/
SOY CMSで総当たり攻撃への対策として、ログイン試行回数制限とアカウントロック機能を実装する方法が解説されている。記事では、PHPでログイン処理をカスタマイズし、データベースにログイン試行回数を記録、一定回数を超えるとアカウントをロックする仕組みを構築している。具体的なコード例も示され、ログイン試行回数の記録方法、ロック時間の管理、管理画面からのロック解除方法などが説明されている。これにより、総当たり攻撃による不正ログインを防ぎ、サイトのセキュリティを高めることができる。さらに、ログイン画面にCAPTCHAを導入することで、ボットによる自動攻撃への対策も強化できる。

 

WordPressのウィジェットを作ってみた2

/** Geminiが自動生成した概要 **/
WordPressウィジェット作成の続きで、設定画面を追加する方法を解説。前回作成したウィジェットにフォームを追加し、入力値を`$instance`に格納、`update`メソッドで保存、`widget`メソッドで表示する処理を実装。フォームの追加は`form`メソッド内でHTMLを記述、`update`メソッドでは入力値のサニタイズを行い、`widget`メソッドで`$instance`から値を取得し表示。管理画面と公開側で動作確認を行い、意図通り表示されることを確認し、簡易的なウィジェット作成が完了した。

 

WordPressのウィジェットを作ってみた1

/** Geminiが自動生成した概要 **/
WordPressプラグインのPHP記述を簡略化するため、ウィジェットを作成する方法を紹介。ウィジェットとは、プラグイン的な機能をサイドバーなどに挿入できる機能。HogeWorldウィジェットを作成し、hoge_world_widget.phpにWP_Widgetクラスを継承したコードを記述。プラグインを有効化し、ウィジェットをサイドバーに挿入することで"hoge world!!"と表示されることを確認。設定画面の追加については次回へ続く。

 

SOY Shopで商品規格プラグインと入荷通知プラグインを一緒に使いたい

/** Geminiが自動生成した概要 **/
SOY Shopの商品規格プラグインと入荷通知プラグインを併用できるよう修正。入荷通知プラグインは在庫切れ商品に入荷通知登録リンクを追加し、在庫補充時に登録者にメールを送信する機能。今回の修正で、商品規格プラグイン利用時にも規格ごとの在庫管理と入荷通知が可能になった。つまり、規格ごとに在庫切れ/入荷通知リンクを表示し、特定規格の在庫補充時に該当規格の入荷通知登録者にメールを送信できる。最新パッケージはGitHubからダウンロード可能。

 

WordPressのプラグインを作ってみた2

/** Geminiが自動生成した概要 **/
WordPressプラグイン開発の続き。プラグイン用の管理画面を作成し、設定値を反映させる方法を紹介。add_action('admin_menu')で管理画面へのメニュー登録、add_menu_page()でメニュー表示設定、hoge_world_option_page()で管理画面のHTMLを記述。get_option()で設定値取得、update_option()で設定値保存。フォームからの入力値を保存し、更新メッセージを表示する処理を追加。最後に、保存した設定値(名前)をプラグインの出力に反映させ、公開側で表示を確認した。

 

WordPressのプラグインを作ってみた1

/** Geminiが自動生成した概要 **/
WordPressプラグイン作成の入門記事。REST APIサービスのWordPress対応のため、プラグイン「hoge_world」を作成する例を紹介。プラグインファイル(/wp-content/plugins/hoge_world/hoge_world.php)を作成し、コメントと`HogeWorld::call()`関数を定義。管理画面のプラグイン一覧に表示され、テーマファイル(例:sidebar.php)に`<?php HogeWorld::call(); ?>`を記述することで「hoge worldだー!」と表示されることを示している。

 

色を抜くと逆に目立つよ

/** Geminiが自動生成した概要 **/
記事は、ある植物の枝変わりについて考察しています。道端に生えた鮮やかな黄色の植物が目に留まり、その色の異常性と生存の謎を探っています。通常、植物は緑色の葉緑素で光合成を行いますが、この植物は葉緑素が欠乏しているように見え、黄色の色素が目立っています。葉緑素が少ないと光合成の効率が低下するため、生存は不利になるはずです。しかし、この個体は他の植物と共に生き残っています。これは誰かが意図的に残しているのか、それとも他の要因があるのか、記事では疑問を投げかけています。周辺の雑草管理がされていないことから、人為的な保護ではない可能性も示唆しています。最終的に、なぜこの黄色の変異株が存在し続けるのか、明確な答えには至っていません。

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

SOY CMSでインストーラを削除せずにいたらどうなるか?

/** Geminiが自動生成した概要 **/
SOY CMSのインストーラを削除しないと、再インストールが可能になり、サイトデータが消去される危険性がある。攻撃者は用意したデータベース情報で再インストールし、初期管理者権限を奪取できる。管理画面URLが判明していれば、インストーラ経由でサイトを初期化・乗っ取りが可能。他CMSでもインストーラが残っていれば同様の危険があるため、インストール後は必ず削除する必要がある。

 

SOY CMS/ShopでPHPモジュールに使用の制限を設けました

/** Geminiが自動生成した概要 **/
SOY CMS/Shopのセキュリティ強化のため、テンプレートエディタとPHPモジュールでのPHP実行に制限が加わりました。PHPの使用は、`user.config.php`で`SOYCMS_ALLOW_PHP_SCRIPT`を`true`にすることで許可されます。 PHPモジュールはさらに`SOYCMS_ALLOW_PHP_MODULE`を`true`にすることで利用可能になります。これらの設定により、テンプレートやモジュールでPHPコードの実行を制御し、セキュリティリスクを軽減します。アップデートはGitHubから入手可能です。

 

CMSに不正にログインした後、何をする?

/** Geminiが自動生成した概要 **/
SOY CMSに不正ログイン後、ファイルマネージャからのPHPアップロードは不可だが、フロントコントローラ(index.php)に悪意あるPHPコードを埋め込み可能。これにより、サイト閲覧時に勝手にメール送信などの踏み台攻撃が可能になる。対策はindex.phpの書き込み権限を外すこと。SOY ShopのテンプレートやPHPモジュールも悪用されうる。

 

SOY Shopの消費税別表示モジュールで税込通常価格と税込セール価格のタグを追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの消費税別表示モジュールに、税込通常価格と税込セール価格を表示するタグが追加されました。これにより、セール価格がお得かどうかを税込価格で比較可能になります。 追加機能は、SOY CMSフォーラムかGitHubで公開されているパッケージからダウンロードできます。消費税別表示モジュールを使用しているユーザーは、税込価格表示で顧客に分かりやすい価格表示が可能になります。

 

SOY CMSのブログで記事表示順番号(通し番号)を出力させたい

/** Geminiが自動生成した概要 **/
SOY CMSのブログで記事の表示順番号(通し番号)を出力する方法を紹介します。記事一覧を出力するブログテンプレートで、`<div>この記事は何記事目?→<strong><!-- soy:id="index" --></strong>1<strong><!-- /soy:id="index" --></strong>記事目</div>`のように`soy:id="index"`を記述することで、記事の表示順番号が出力されます。これはSOY2HTMLのHTMLListクラスの機能を利用しています。HTMLListには最初/最後の記事用のタグや、特定の条件に一致する記事用のタグなども用意されています。

 

SOY ShopにEC CUBE2.4系のログインチェックを導入しました

/** Geminiが自動生成した概要 **/
EC-CUBE2.4系からSOY Shopへの移行時に、顧客のパスワードをそのまま利用できるようログインチェック機能を導入。EC-CUBEとSOY Shopのパスワード暗号化方式の違いを考慮し、SOY Shop側でEC-CUBEの暗号方式を適用する処理を追加。暗号化パスワードにスラッシュの有無でEC-CUBEかSOY Shopかを判別。EC-CUBE2.4.4以前のバージョンに対応しており、顧客がパスワードを変更すればSOY Shopの方式に自動更新されるため、特別な切り替えは不要。将来的には2.11.1以降のバージョンにも対応予定。修正版はフォーラムまたはGitHubから入手可能。

 

SOY CMSに総当り攻撃を仕掛けてみる。その2

/** Geminiが自動生成した概要 **/
Go言語でSOY CMSへの総当り攻撃コードを改良した。前回はトークンチェックで攻撃が無効化されたため、今回はトークン取得とセッションキー保持の処理を追加した。具体的には、ログインページからトークン値を抽出し、自作のCookieJarを用いてセッションキーを保持することで、正規のログインと同様にトークンを送信できるようにした。この改良により、辞書攻撃が可能になった。 最後に、管理画面URLの特定の容易性と攻撃のしやすさを指摘し、URLを複雑にする、IDを辞書攻撃されにくいものにするなどの対策の必要性を訴えている。

 

SOY CMSに総当り攻撃を仕掛けてみる。その1

/** Geminiが自動生成した概要 **/
SOY CMSへの総当たり攻撃を試行する記事。Go言語でログインを試みるコードを作成し、IDとパスワードを固定で送信、ログイン失敗を確認。本来は辞書データを用いて繰り返し実行する計画だったが、SOY CMSのログインフォームにトークンのチェックがない事を発見。GitHubで管理しているコードにトークンチェックを追加し、攻撃を阻止した。

 

ブログで絵文字の機能は使わない方が良いかもしれない

/** Geminiが自動生成した概要 **/
SOY CMSで絵文字を使うと、画像パスにCMSのインストールディレクトリが含まれるため、管理画面のURLが推測されやすく、総当り攻撃の標的になる危険性がある。記事に絵文字を使いたい場合は、画像パスを外部の無関係な場所に配置し、管理画面URLを特定できないようにする必要がある。そうでない場合は、侵入検知機能の導入が必須となる。 記事では絵文字の危険性を指摘し、対策として画像パスの変更と侵入検知システムの導入を推奨している。

 

SOY CMSのブログで投稿されたコメントを編集したい

/** Geminiが自動生成した概要 **/
SOY CMSブログのコメント編集機能が拡張されました。従来はコメント本文のみ編集可能でしたが、要望に応えタイトルと投稿者名の編集も可能になりました。管理画面のコメント一覧から該当コメントを選択し、「タイトル」または「投稿者名」ボタンをクリックすると編集フォームが表示され、変更が可能になります。投稿日時と記事タイトルの編集には未対応です。この機能の詳細はSOY CMSフォーラムで公開されています。

 

EC CUBEからSOY Shopにデータベースを引っ越す

/** Geminiが自動生成した概要 **/
EC-CUBEの動作遅延に悩むユーザーが増加し、高速なSOY Shopへの移行ニーズが高まっている。そこでEC-CUBEからSOY Shopへのデータ移行プラグインが開発された。このプラグインはEC-CUBEのデータベースから直接データを読み込み、SOY Shop用に変換・挿入する。パスワードはセキュリティ上、ランダムに設定され、ユーザーには再設定を促すメルマガ送信が推奨される。EC-CUBE2系と3系のデータ移行実績があり、フォーラムで配布されている。

 

SOY Shopで高度な検索フォームを設置してみよう

/** Geminiが自動生成した概要 **/
SOY Shop用のプラグイン「カスタムサーチフィールド」の紹介。このプラグインは、高度な検索フォームをサイトに簡単に設置できる。カスタムフィールドのように項目を追加し、生成されたタグを貼り付けるだけでフォームが表示される。商品カタログサイトでの活用が想定され、複数選択可能なチェックボックスフィールドをタグのように使う事例もある。カスタムフィールドからのデータ移行も可能。プラグインはsaitodev.co/soycms/soyshop/ からダウンロードできる。

 

SOY Shopでキャンペーンプラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shop用のキャンペーンプラグインが開発されました。管理画面でブログのようにキャンペーンコンテンツを作成・編集し、公開期間を設定できます。自動バックアップ機能も搭載。トップページやフリーページ、マイページ、カートページなど、表示場所を自由に指定可能です。キャンペーン詳細は専用のページに表示されます。利用にはSOY Shop 1.17.3p7.3以降、SOY CMS 1.8.12p7.6以降が必要です。GitHubからパッケージを入手できます。意見・要望はフォーラムへ。

 

SOY CMSのカスタムフィールドをCSVで並べ替え

/** Geminiが自動生成した概要 **/
SOY CMSのカスタムフィールドは、記事に様々なフォームを追加できる便利な機能だが、管理画面での表示順の変更が手間だった。特に数が増えると、一つずつ上下させる従来の方法は非常に面倒。この問題を解決するため、カスタムフィールドアドバンスにCSVによる並び替え機能が追加された。CSVをエクスポートし、ファイル内で順番を調整後、インポートすることで、自由に並び替えが可能になった。

 

PHPで楽天市場の商品登録を楽しよう:GitとTortoiseGit編

/** Geminiが自動生成した概要 **/
楽天市場の商品登録をPHPで行うため、複数人での在宅作業におけるファイル管理を容易にするためGitとTortoiseGitを導入。TortoiseGitはGUIで操作できるため、Gitに不慣れなメンバーでも「プル」「プッシュ」「コミット」といった操作を右クリックメニューから容易に行える。BitBucketをリポジトリとして利用し、プルとプッシュの手順を指示することでファイルの競合を最小限に抑え、作業効率を向上させた。

 

SOY Shopの商品一覧ページでカスタムフィールドの値で商品の並び替え

/** Geminiが自動生成した概要 **/
SOY Shopのソートボタン設置プラグインでカスタムフィールドの値によるソートが可能になりました。商品カスタムフィールドの「高度な設定」で「ソートに使用する」にチェックを入れると、プラグイン管理画面にソート用タグが表示されます。このタグを商品一覧ページテンプレートに貼り付けることで、カスタムフィールド値に基づくソートボタンが設置できます。機能はsoyshop_1.17.3p7.2.zip以降のパッケージか、フォーラムの修正ファイルで利用可能です。

 

Dockerの他コンテナにあるSOY CMSからMySQLのコンテナにアクセスしてみる

/** Geminiが自動生成した概要 **/
Docker Composeを用いて、PHP7/ApacheとMySQLのコンテナを連携させ、SOY CMSを動作させる方法を解説。MySQLコンテナでは`bind-address`を指定し、PHPコンテナでは`pdo_mysql`拡張をインストールする必要がある。データベース接続設定では、MySQLコンテナの内部IPアドレスとポート(3306)を指定。SOY CMSのデータベース設定ファイル(mysql.php)を適切に編集することで、コンテナ間のデータベースアクセスを実現。記事では、`docker-compose.yml`の設定例や、コンテナ内でのデータベース作成手順、SOY CMSの初期設定画面へのアクセス方法などを示している。また、PHP7環境でのSOY CMS動作に関する修正はGitHubで公開されている。

 

Dockerで構築したPHP7の環境でSOY CMSを動かしてみる

/** Geminiが自動生成した概要 **/
Docker上のPHP7環境でSOY CMSを動かす手順を解説。前回はmbstringが不足しエラーが発生したが、Dockerfileに`docker-php-ext-install mbstring`を追加し解決。elfinderは未対応だが、その他は動作し爆速に。Dockerfileとphp.iniの設定例、コンテナ起動コマンドも紹介。修正版SOY CMSはGitHubで公開中。

 

さくらのVPSでSOY CMSを動かした時のメモ

/** Geminiが自動生成した概要 **/
Apacheサーバのバージョン表示はセキュリティリスクとなるため、非表示にすることが推奨されています。本記事では、Apacheの設定ファイル`httpd.conf`または`apache2.conf`を編集することで、バージョン情報を隠す方法を解説しています。具体的には、`ServerTokens`ディレクティブを`Prod`に設定することで、公開されるサーバ情報を最小限に抑えられます。また、`ServerSignature`ディレクティブを`Off`にすることで、エラーページなどからサーバのバージョン情報が削除されます。これらの設定変更後、Apacheを再起動することで変更が反映されます。さらに、セキュリティ対策としてmod_securityなどのセキュリティモジュール導入も推奨しています。

 

土壌分析アプリsoil2 by Go

/** Geminiが自動生成した概要 **/
Go言語で開発された土壌分析Webアプリ「soil2」の紹介。 入力された土壌分析値をグラフ化し、将来的にはサードパーティアプリとの連携も視野に入れている。Go言語採用理由は、コンパイル言語のためサーバー環境によるコード変更の手間を省き、処理速度の向上も見込めるため。REST APIと管理者機能を実装し、グラフ表示にはChart.jsを使用。当初は身内向け公開予定だったが、最終的にはSOY Shopのマイページ機能に統合された。

 

SOY Inquiryでアップロードフォームを設置した時、確認メールで画像を確認したい

/** Geminiが自動生成した概要 **/
SOY Inquiryでアップロードフォームを複数設置した場合、確認メールで全ての画像URLを確認する方法を紹介します。標準では管理画面でしか確認できませんが、メールテンプレートをカスタマイズすることで実現可能です。 `/インストールディレクトリ/app/webapp/inquiry/src/template/default/mail.admin.php` に記述を追加します。`$comments` から各コメントのコンテンツを取得し、正規表現で `<img src="">` タグ内のURLを抽出します。抽出したURLにサイトURLを付加して、確認メールの末尾に「添付ファイル」として表示します。複数画像に対応するため、ループ処理で全てのコメントをチェックし、画像URLを追記していきます。これにより、確認メールで全てのアップロード画像を直接確認できるようになります。

 

SOY Shopの商品レビュープラグインでレビュー投稿時にポイントを付与

/** Geminiが自動生成した概要 **/
SOY Shopの商品レビュープラグインに、レビュー投稿時にポイントを付与する機能が追加されました。 プラグイン設定画面で付与ポイント数を指定し、簡易ポイント制設定プラグインと併用することで、レビュー投稿時にユーザーにポイントが付与されます。ポイントはレビューが公開されたタイミングで付与され、誹謗中傷対策として、管理画面でレビューを承認後に公開する設定も可能です。この機能を含むパッケージはsaitodev.coからダウンロードできます。また、以前の改修では、スパム対策としてCAPTCHAも追加されています。

 

SOY Inquiryでコンバージョンタグを利用する

/** Geminiが自動生成した概要 **/
SOY Inquiryでコンバージョンタグを利用する方法を解説します。URLパラメータ`sample_conv`で渡された値をセッションに保存し、お問い合わせ完了画面でhiddenフィールドに表示、メール本文にも含めることができます。 `index.php`にセッション保存処理を追加し、新規テンプレート`soy`の`complete.php`にhiddenフィールド出力処理を追加します。`mail.admin.php`と`mail.user.php`にコンバージョンタグに関する表記を追加することで、管理者・ユーザー向けメールにも表示可能です。完了画面表示前にメールが送信されるため、完了画面で値を利用しない場合はセッションを破棄する処理のコメントアウトを外してください。

 

SOY Shopでログインしているお客様へポイントの使用期限を表示する

/** Geminiが自動生成した概要 **/
SOY Shopでログイン中のお客様にポイント残高と使用期限を表示するモジュール作成方法を紹介。モジュールID「parts.point_limit」を作成し、提供されたPHPコードを記述することで実現。コードは、ログイン状態、ポイントプラグインの有効性を確認後、ユーザー情報を取得し、ポイント残高と使用期限を表示。期限切れや無期限の場合の表示も追加可能。コードにはコメントが添えられており、カスタマイズのヒントも提供。ポイントはログインユーザーのみに表示され、未ログイン時は何も表示されない。より詳細なカスタマイズや機能要望は問い合わせフォームから。

 

SOY Shopで商品詳細ページの下に同じカテゴリの商品一覧を表示する

/** Geminiが自動生成した概要 **/
SOY Shopの商品詳細ページ下部に、同カテゴリ商品一覧を表示する方法を解説。 パーツモジュールを追加し、IDを「parts.item_list」、モジュール名を「商品一覧モジュール」とする。 モジュール内では、商品詳細ページの場合のみ、表示商品のカテゴリIDを取得し、DAOで同カテゴリの公開商品を取得、`SOYShop_ItemListComponent`を用いて商品一覧ブロックを生成する。 商品詳細テンプレートに`shop:module="parts.item_list"`を記述し、内部に`block:id="item_list_by_detail"`と商品表示用のcms:idを記述することで、一覧表示を実現する。 カート追加機能も確認済。 パーツモジュールを活用すれば、簡単なプラグイン機能を開発可能。

 

SOY CMSで総当たり攻撃に対応してみた

/** Geminiが自動生成した概要 **/
SOY CMSのセキュリティ強化として、総当たり攻撃対策機能を追加しました。同一IPからの短期間でのログイン試行を検知し、警告表示を行います。突破された場合は試行回数も表示し、対策のヒントを提供します。将来的にはブラックリストやメール通知機能も検討中。管理画面URLの特定防止対策と合わせて利用することで、より安全性を高めることができます。本機能を含むパッケージはsaitodev.co/soycms/からダウンロード可能です。メール通知機能も追加済みです。

 

そもそもSOY CMSを使っていると特定されないために

/** Geminiが自動生成した概要 **/
SOY CMS使用の痕跡を隠す方法を紹介。404 Not FoundページはCMS、ショップ共にデザイン変更可能。ブログ記事URLも設定で変更できる。お問い合わせフォームはCMSスタイルシートを停止すればSOY Inquiryタグは消える。ただし、フォーム設置プラグイン使用時はSOY CMS特有の文字列がソースコードに残るため、完全な隠蔽は難しい。

 

SOY CMSであれば、管理画面のURLを特定したい

/** Geminiが自動生成した概要 **/
SOY CMSの管理画面URLは`/cms/admin/`が一般的だが、変更可能。そのため、攻撃者は`/soy/admin/`なども試す。管理画面URLを`/c!_m-s/admin/`のように複雑にするのが安全。既存サイトで`/cms/admin/`を使っている場合は、`cms`ディレクトリ名を変更し、`cms`フォルダ内、`index.php`、`shop/index.php`、`site/index.php`内のパスを修正することで変更できる。さらに、Basic認証やIP制限を追加すればより安全。

 

運営しているサイトがSOY CMSであるか調べてみる

/** Geminiが自動生成した概要 **/
SOY CMSで構築されたサイトを特定する方法を紹介。HTML出力のためソースコードからは判別不可。特有のNot Foundページ(/jfoewajfoiwaejflaleiofjwaefwaeのような無意味な文字列へのアクセス)の存在が手がかりとなる。また、ブログ記事URL(/article/記事タイトル)、月別(/month/YYYY/MM)、カテゴリ(/category/カテゴリ名)ページのURL構造も参考になる。その他、問い合わせフォームページのソースに"SOY_Inquiry"や"soy2_token"の文字列があれば、SOY CMSの可能性が高まる。

 

サイバー攻撃の前にパスワードの管理を

/** Geminiが自動生成した概要 **/
Facebook乗っ取り広告をきっかけに、パスワード使い回し問題の危険性を指摘。FacebookやTwitterで盗まれたパスワードがGmail等の重要サービス不正アクセスに繋がり、個人情報漏洩やサイト乗っ取り、踏み台攻撃に発展する可能性を解説。さらに、知人PCにログイン状態のGmailから重要書類を発見した事例を紹介し、ログアウトの重要性とパスワード管理の徹底を強調。Webサービス利用時は、サービス毎に複雑なパスワードを設定し、メモ帳等での管理を避けるべきだと警鐘を鳴らしている。

 

サイバー攻撃が何と多いことか

/** Geminiが自動生成した概要 **/
知人の知人のWordPressサイトが乗っ取られ、攻撃サーバーとして悪用された事例を紹介。脆弱なCMSバージョン、簡単なパスワード、推測されやすい管理画面URLが原因だった。また、知人はトロイの木馬、他の知人は無害なファイル増産プログラムの被害に遭い、筆者自身もIEの設定を書き換えられる被害を受けた。攻撃者は無防備なサイトやPCを狙うため、セキュリティ対策は必須。対策学習として、攻撃者の心理を理解できる「サイバーセキュリティプログラミング」や、Webセキュリティの基礎知識を学べる「徳丸浩のWebセキュリティ教室」などを推奨。インターネットの危険性を常に意識し、無関係な人などいないことを認識すべきだと警告している。

 

Webでの肥料の販売の開始です

/** Geminiが自動生成した概要 **/
京都農販のWebサイトが公開されました。SOY Shopで構築されたこのサイトは、現在は商品カタログですが、将来的にはネットショップとして運用予定です。開発者はSOY Shopに5年間携わっており、そのノウハウを活かし、特に商品詳細ページに注力しています。商品情報に加え、「この肥料を使うために、これは知っておきたい!」セクションでは、SOY CMSで作成した関連コラム記事を自動表示。肥料の使用方法や実際の栽培事例を学ぶことができます。これにより、ショップ管理者は商品情報に集中し、営業担当者はブログ投稿でサイトを盛り上げることが可能になります。スマホ対応も実装済みです。今後はコンテンツ拡充に注力していきます。

 

ヨガスタジオCORE様サイトの予約管理アプリを開発しました

/** Geminiが自動生成した概要 **/
池田・川西・箕面・北摂の空中ヨガスタジオCORE様の予約管理アプリを開発。SOY ShopとSOY Calendarをベースに、複数インストラクター・レッスンの登録、会員による予約状況確認・予約機能を実現。会員管理はSOY Shopの顧客管理機能を活用し、ネットショップ展開やSOY Mail連携によるメルマガ配信も容易に実現可能。少ない労力で多様なニーズに対応できる設計となっている。予約ページは https://ys-core.com/schedule/ 。

 

SOY InquiryのレスポンシブとHTML5対応

/** Geminiが自動生成した概要 **/
SOY Inquiryを使ってレスポンシブデザインのお問い合わせフォームを作成する方法を紹介しています。レスポンシブデザインとは、PCとスマートフォンでそれぞれ見やすい表示になるよう自動調整されるWebデザイン手法です。設定は、フォーム設定で「responsive」を選び、スタイルシートを読み込むをチェックするだけ。HTML5のrequired属性にも対応し、必須項目の未入力時に警告を表示できます。設定はカラム設定で「required属性を利用する」をチェックするだけ。pattern属性も利用可能で、入力パターンの指定ができます。フォームの属性にpattern="正規表現"を追加するだけで設定できます。ただし、住所検索機能とは競合するため注意が必要です。ダウンロードやフォーラムへのリンクも記載されています。以前の記事「スマホ対応のお問い合わせフォームを作ってみた」の内容を元に、更に機能が追加されています。

 

背丈が整っていることのすごさと違和感

/** Geminiが自動生成した概要 **/
田んぼの稲穂はどれも背丈が揃っている。肥料が均一でもここまで揃うのは不自然で、人の育成環境を均一化してもこうはならない。これは収量や耐病性だけでなく、背丈の揃いやすさも選抜基準にしているからだ。背丈が揃うと機械での管理が容易になる。しかし、耐病性を持つ稲ばかりを選抜していくことは、多様性を失い、新たな病気が発生した際に壊滅的な被害を受けるリスクを高める可能性があるため、危険ではないかと筆者は危惧している。

 

微生物資材に頼る前に発酵食品を学ぶ

/** Geminiが自動生成した概要 **/
微生物資材の効果に疑問を持つなら、その微生物が活躍する発酵食品の製造過程を学ぼう。例えば納豆菌なら、納豆製造過程から、稲わらを好み、大豆タンパク質を餌に、25度程度の温度で活動し、水分が必要なことがわかる。畑に稲わらと大豆油粕、納豆を投入すれば納豆菌の恩恵を受けられる可能性がある。たとえ効果がなくても、有機物が土壌を改善する。微生物は適切な環境があれば増殖するので、微生物資材投入よりも環境整備が重要である。

 

SOY CMSで複数のブログ記事をまとめて検索できる機能を作ってみた

/** Geminiが自動生成した概要 **/
SOY CMSで複数のブログ記事をまとめて検索する機能を作成。従来のスクリプトモジュールブロックでは、記事取得後にブログ判別ができず適切なURLを出力できなかったため、cms:moduleを利用。SQLでラベルIDを指定して2つのブログから記事を取得し、取得結果からラベルIDに応じてURLを生成、出力することで複数ブログ検索を実現。モジュールではSQL実行結果を直接利用できるため、Entryオブジェクトへの変換が不要で、柔軟なURL生成が可能となった。

 

SOY Shopで販売期間設定を追加

/** Geminiが自動生成した概要 **/
SOY Shopの販売終了商品の管理画面操作忘れを防止するため、販売期間設定機能が追加された。商品は登録画面でカレンダーから販売開始・終了日時を設定可能になり、期間外は注文エラーとなる。 従来のカート非表示プラグインは手動操作が必要だったが、この機能により自動で販売制御が行える。販売期間開始前も同様に注文が制御される。ダウンロードはSOY CMSフォーラムから可能。

 

SOY CMSでどのページでも使えるブログのサイドバーを作ってみた

/** Geminiが自動生成した概要 **/
SOY CMSのPHPモジュールを使用して、ブログページのサイドバーコンテンツを他のページでも表示できるようになった。最新の投稿、カテゴリー一覧、月別アーカイブを取得するロジックを実装し、表示を整形した。これにより、ブログページと同様のコンテンツを非ブログページでも表示できるようになった。また、使用したSOY2DAOFactoryとSOY2Logicはデータベース操作やロジック処理を行うために使用された。


Powered by SOY CMS   ↑トップへ