ブログ内検索

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

ムラサキサギゴケを探していたら、ツタバウンランらしき草に出会った

/** Geminiが自動生成した概要 **/
ムラサキサギゴケを探していたところ、ツタバウンランに出会った。ムラサキ「ゴケ」という名前だがコケではなく、花が咲く。撮影した写真をGoogle画像検索で調べるとツタバウンランだと判明した。ツタバウンランはオオバコ科ツタバウンラン属。今回探していたムラサキゴケの正式名称はムラサキサギゴケで、花はツタバウンランに似ているが葉の形は全く異なる。画像検索で植物を特定できる便利な時代になったと実感した。

 

沖縄県産カカオのチョコレートは非時香菓であると言いたい

/** Geminiが自動生成した概要 **/
沖縄産のカカオ豆を使用したチョコレートは、沖縄神話に登場する不老長寿のお菓子「非時香菓」に類似している。近年、非時香菓は沖縄北部で自生するカンキツ類であることが判明し、カカオ栽培園がその自生地に隣接している。また、カカオは歴史的に不老長寿の薬とされ、神聖な場所とされる緑色片岩が栽培園に存在し、神話の舞台と重なる。沖縄産チョコレートは、カカオの不老長寿の力と沖縄神話の非時香菓の伝説を併せ持ち、非時香菓の現代版であると捉えることができる。

 

ベンゼン環を含むもう一つの重要な化合物であるリグニン

/** Geminiが自動生成した概要 **/
土壌の重要な構成要素であるリグニンは、ベンゼン環を持つモノリグノール(p-クマリルアルコール、コニフェリルアルコール、シナピルアルコール)と、イネ科植物特有のO-メチル化フラボノイドであるトリシンが結合した複雑な高分子化合物である。一見複雑な構造だが、これらの構成要素の合成経路や重合方法を理解することで、土壌の理解を深めることができる。リグニンは木の幹の主要成分であり、その構造は一見複雑だが、基本構成要素を理解することで土壌への理解を深める鍵となる。

 

キレート作用を有する有機酸とは何なのか?

/** Geminiが自動生成した概要 **/
キレート作用を持つ有機酸について解説。アスコルビン酸(ビタミンC)のキレート能は限定的。キレート作用で有名なEDTAはカルボキシ基が金属イオンと結合する。キレート作用を持つ有機酸として、クエン酸、リンゴ酸、酒石酸、シュウ酸、フマル酸、コハク酸などが挙げられ、これらは複数個のカルボキシ基を持つ。アスコルビン酸も挙げられるが、キレート能は低い。比較的低分子で複数個のカルボキシ基を持つことがキレート作用を持つ有機酸の特徴と言える。

 

旨味成分のコハク酸

/** Geminiが自動生成した概要 **/
コハク酸は、貝類や日本酒に多く含まれる酸味と旨味を持つ有機化合物です。クエン酸回路の中間体として、生体内エネルギー産生に重要な役割を果たします。構造的には、2つのカルボキシ基を持つジカルボン酸で、クエン酸から数段階を経て生成されます。 旨味成分として知られるグルタミン酸は、コハク酸の前駆体であるα-ケトグルタル酸と関連しており、コハク酸もグルタミン酸に似た旨味を持つと考えられます。貝類に多く含まれる理由は、エネルギー代謝経路の違いや、浸透圧調整に関与している可能性などが考えられています。

 

特徴的な切れ込みの葉の草の名は何か?

/** Geminiが自動生成した概要 **/
息子さんに「この草は何?」と聞かれ、名前を思い出せなかったお父さん。特徴的な葉を撮影し、帰宅後調べてみたものの、子供向けの図鑑では分からず。そこでGoogle画像検索を利用したところ、「アメリカフウロ」という植物だと判明。改めてGoogle画像検索の便利さを実感したというお話です。

 

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

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

 

コリンは発根に対して有効か?

/** Geminiが自動生成した概要 **/
この記事は、コリンという栄養素が植物の発根に与える影響について考察しています。 著者はまず、リン酸欠乏状態の植物にホスホコリン(コリンを含む化合物)を与えると根の成長が回復するという研究結果を紹介し、植物がホスホコリンを直接吸収できる可能性を示唆しています。 さらに、ホスホコリンは大豆などに含まれるレシチンの構成成分であることから、大豆粕にホスホコリンが含まれている可能性に言及し、有機肥料としての活用に期待を寄せています。

 

タンニンのタンパク質凝集モデルは地力窒素の理解に繋がるか?

/** Geminiが自動生成した概要 **/
落葉樹の葉は、晩秋になるとタンニンを蓄積し、落葉とともに土壌へ還元されます。タンニンは植物にとって、食害から身を守る役割や、有害な微生物の活動を抑制する役割を担っています。落葉樹の葉に含まれるタンニンは、土壌中でゆっくりと分解され、植物の生育に必要な栄養分を供給するとともに、土壌の構造改善にも貢献します。このプロセスは、持続可能な森林生態系の維持に重要な役割を果たしています。

 

鴫山の姫塚と緑色片岩

/** Geminiが自動生成した概要 **/
四国西予ジオパークのガイドブックで紹介されている鴫山の姫塚は、緑色片岩(青石)で作られた祠です。京の姫を祀っており、姫は亡くなるまで毎日、緑色片岩に法華経を書き写していたそうです。興味深いことに、姫塚のある鴫山には緑色片岩は存在しません。海岸から運ばれたと考えられていますが、なぜ緑色片岩が使われたのか、信仰との関連性が気になります。緑色片岩は、古代より石器の材料として使われていた歴史があり、特別な意味を持つ石だったのかもしれません。

 

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

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

 

そこにいる木の名は?

/** Geminiが自動生成した概要 **/
緑地で見かけたヤシ科の植物の名前を知りたい。画像検索ではビロウやシュロが出てきた。特に寒さに強いワシュロの可能性がある。この植物は自然に生えたのか、人為的に植えられたのか、また、周囲のハリエンジュは成長に影響するのか、この環境が適しているのかを知りたい。

 

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

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

 

SOY CMSでAVIF変換プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY CMS用のAVIF変換プラグインがリリースされました。このプラグインは、PHPのimageavif関数を利用し、ページ内のJPG/PNG画像をAVIF形式に変換、HTMLを書き換えます。AVIFは次世代の画像フォーマットで、高画質・低容量を実現します。プラグインはimageavif関数が使用可能なPHPバージョンで動作します。ダウンロードは公式サイトからどうぞ。なお、SOY Shopでは類似機能が「画像フォーマット変換プラグイン」に搭載済みです。

 

SOY CMSでWebP変換プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY CMS用WebP変換プラグインが登場!ページ内のJPG/PNG画像をWebPに変換し、HTMLを書き換えます。WebPは次世代画像フォーマットで、ファイルサイズを小さくしながら画質を維持します。PHPのimagewebp関数が使用可能な環境が必要です。ダウンロードは公式サイトからどうぞ。なお、SOY Shopには同様の機能を持つ「画像フォーマット変換プラグイン」が存在します。

 

【SEO対策】PageSpeed Insightsのユーザー補助のスコア100を目指す

/** Geminiが自動生成した概要 **/
記事では、PageSpeed Insightsのユーザー補助スコアを100点にするための取り組みが紹介されています。 具体的には、記事タイトル下のカテゴリ名のリンクで指摘されていた「背景色と前景色には十分なコントラスト比がありません」という問題を解決しています。 解決策としては、WebAIMのConstract Checkerを用いて、背景色と文字色のコントラスト比を調整しました。スライダーで色を調整し、Passになるまで繰り返した結果、問題を解消できました。 ただし、サムネイル画像の低解像度に関する指摘は未解決で、別の対応策を検討する必要があるとのことです。

 

SOY CMSでユーザー補助プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY CMS用のユーザー補助プラグインが開発されました。このプラグインは、画像のalt属性が空の場合に自動でファイル名を挿入することで、WebアクセシビリティとSEOを向上させます。PageSpeed Insightsで新たに導入されたユーザー補助項目に対応し、既存記事の修正や新規記事作成時の負担を軽減します。プラグインはサイト管理者の負担を軽減し、ウェブサイトのアクセシビリティ向上に貢献します。ダウンロードは[https://saitodev.co/soycms/](https://saitodev.co/soycms/)から可能です。

 

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

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

 

SOY CMSのブログ記事JSON出力プラグインで記事一覧の出力に必要な値を取得できるようにしました

/** Geminiが自動生成した概要 **/
SOY CMSのブログ記事JSON出力プラグインがアップデートされ、記事一覧の出力が容易になりました。 今回のアップデートにより、JSON出力に以下の値を含めることが可能になりました。 * 記事のパーマネントリンク * 本文の一部または冒頭数文字 * サムネイル画像のパス * カスタムフィールドの値 これらの値はGETパラメータで出力の有無を指定できます。これにより、JavaScriptでJSONを取得し、記事一覧を動的に生成することが可能になります。 例えば、記事のURL、本文の冒頭50文字、サムネイル画像のパスを含めたJSONを取得する場合は、以下のようなURLでアクセスします。 ``` https://example/site/1.json?limit=1&content=50&is_url=1&thumbnail ``` アップデート版のプラグインは、以下のサイトからダウンロードできます。 https://saitodev.co/soycms/

 

MCreator 2022.2を使ってみた

/** Geminiが自動生成した概要 **/
Minecraft: Pi Edition: Rebornにアイテムを追加するため、MCreator2022.2を使用し、ブドウを追加する方法を解説した記事です。 まず、MCreatorをダウンロードしてインストールします。次に、新規Modを作成し、アイテムの画像を作成します。画像作成は、MCreator内のペイントツールを使用します。完成した画像は任意の場所に保存します。 この記事では、CPUがARM64のマシンにはMCreatorをダウンロードできないことも補足されています。

 

Minecraft: Pi Edition: RebornのSDKを使ってゴールデンシャベルを追加してみた

/** Geminiが自動生成した概要 **/
この記事は、Minecraft: Pi Edition: Reborn (MCPI++) のSDKを使って、ゲームに「ゴールデンシャベル」を追加する方法を解説しています。 まず、MCreatorを使って16x16ピクセルのゴールデンシャベルのアイコン画像を作成し、既存のitems.pngに挿入します。次に、C++で書かれたgoldenshovel.cppを作成し、アイテムの追加、アイコンの設定、ゲーム内での表示名などを定義します。最後に、CMakeを使ってコードをコンパイルし、生成されたライブラリファイルをmodsディレクトリに配置することで、ゴールデンシャベルがゲームに追加されます。 記事では、コードの各部分がどのような役割を持っているか、また画像ファイルやCMakeLists.txtの設定方法などが詳しく解説されています。

 

コリンは生体内でどこにある?

/** Geminiが自動生成した概要 **/
コリンは、卵黄やダイズに豊富に含まれるホスファチジルコリンという形で存在します。ホスファチジルコリンはリン脂質の一種であり、細胞膜の主要な構成成分です。リン脂質は細胞膜の構造維持だけでなく、酵素によって分解されることでシグナル伝達にも関与しています。つまり、コリンは細胞膜の構成要素として、またシグナル伝達物質の原料として、生体内で重要な役割を担っています。

 

コリンとは何だろう?

/** Geminiが自動生成した概要 **/
コリンはアメリカのFDAでビタミン様物質として扱われる重要な栄養素です。細胞膜の構造維持、神経伝達物質アセチルコリンの前駆体、メチル基代謝への関与といった役割があります。特にアセチルコリンは記憶や学習に深く関わり、脳の海馬などで重要な役割を果たします。コリンはとろろにも含まれており、記憶力増強効果が期待できます。コリンは脳の健康に欠かせない栄養素と言えるでしょう。

 

荒廃した土に居続けるやばい草

/** Geminiが自動生成した概要 **/
酷使された土に、強い毒性とアレロパシーを持つ特定外来生物「ナルトサワギク」が繁殖しています。繁殖力の強さから、土壌改善なしに駆除は難しいでしょう。土壌が良くなれば、ナルトサワギクは生育が遅くなり、他の植物が優勢になるため、結果的にナルトサワギクの生育域は狭まります。根本的な解決のためには、土壌改善が必須です。具体的な方法として、物理性の改善とレンゲの栽培が有効です。

 

改めてSPIについてを知る5

/** Geminiが自動生成した概要 **/
SPI通信のモードは、クロック極性(CPOL)とクロック位相(CPHA)の組み合わせで決まります。CPOLはクロックのアイドル状態(0か1)を、CPHAはデータ取得がクロックの立ち上がり edge か、立ち下がり edge かを示します。組み合わせは4種類あり、モード0(CPOL=0, CPHA=0)からモード3(CPOL=1, CPHA=1)まで存在します。

 

改めてSPIについてを知る4

/** Geminiが自動生成した概要 **/
本稿では、SPI通信におけるSSとSCLKの役割を解説しています。SSはスレーブ選択信号で、LOWにすることで特定のスレーブとの通信を有効化します。SCLKはクロック信号であり、この規則的なHIGH/LOW変化を基準に同期してMOSI/MISOでのデータ送受信が行われます。 具体的には、SS1をLOWにし、SCLK信号に合わせてデータ送受信を行う例を図解で示しています。 今回のSPI通信解説により、以前の記事で扱ったESP8266,Raspberry Piを用いたソケット通信やUARTと合わせて、IoTにおけるセンサーデータ取得から遠隔地への送信までの仕組みの理解が深まります。

 

改めてSPIについてを知る3

/** Geminiが自動生成した概要 **/
SPI通信について、マスタースレーブ構成、データ送受信の流れ、シフトレジスタによるデータの受け渡しなど、具体的な例を挙げながら解説しています。\ 特に、8ビットデータ転送を図解で示し、LSB、MSB、MOSI、MISOといった用語を用いながら、マスターとスレーブ間におけるデータの移動を詳細に説明しています。\ 最後に、Raspberry PiとAD変換器を用いたSPI通信のコード例を紹介し、次回の記事ではシフトレジスタの仕組みやSSの役割について解説することを予告しています。

 

改めてSPIについてを知る1

/** Geminiが自動生成した概要 **/
SPIは、マスター機器が複数のスレーブ機器と通信する規格です。マスターはSCLK, MISO, MOSI, SSの4つの信号線でスレーブと接続します。SSはスレーブ選択線で、マスターはHIGH/LOWを切り替えることで、どのスレーブと通信するかを選びます。複数のスレーブを接続する場合、マスター側にスレーブ数分のSS(GPIOピン)が必要です。SSは通信開始と終了の合図にもなります。

 

SOY CMSでWebP形式の画像ファイルのアップロードに対応しました

/** Geminiが自動生成した概要 **/
SOY CMSがWebP画像形式のアップロードに対応しました。WebPはGoogleが開発した次世代画像フォーマットで、JPEGやPNGと比べてファイルサイズが小さく、画質を落とさずにWebサイトの表示速度を向上できます。現在では世界中の95%のブラウザでサポートされており、SOY CMSでもこのフォーマットに対応することで、より高速なWebサイト構築が可能になりました。最新版は公式サイトからダウンロードできます。

 

SOY CMSのMIMEタイプの制限設定でページ毎の設定を追加しました

/** Geminiが自動生成した概要 **/
SOY CMSのファイルアップロード制限をページごとに設定できるようになりました。記事投稿画面とファイルマネージャで許可するMIMEタイプを分けたいという要望に応え、設定ファイルにELFINDER_MODEという定数を追加。これにより、例えば記事投稿画面では画像ファイルのみ、ファイルマネージャではCSSやJSファイルのみ許可するといった設定が可能になりました。設定は /CMSインストールディレクトリ/common/config/upload.config.php 内でELFINDER_MODEの条件分岐を用いて$mimetypes配列を定義することで行います。最新のパッケージは公式サイトからダウンロードできます。

 

BBC Micro:bitでpHメーターから得られるアナログ値を読み込んでみた

/** Geminiが自動生成した概要 **/
施設栽培で鉄欠乏が起きると、収量低下や品質低下に繋がるため注意が必要です。鉄欠乏は初期症状の見落としが課題となります。本記事では、鉄欠乏の症状と対策、そして早期発見に役立つ簡易的な測定方法について解説しています。初期症状は葉脈間が黄化するクロロシスで、進行すると葉全体が白化し、枯死に至ることもあります。対策としては、pH調整や鉄資材の施用が有効です。早期発見には、葉緑素計を用いた測定が有効で、数値の低下は鉄欠乏の初期段階を示唆します。日々の観察と葉緑素計による測定を組み合わせることで、鉄欠乏を予防し、収量と品質を確保しましょう。

 

ピンク色のキリギリスを見つけたよ

/** Geminiが自動生成した概要 **/
花の色を決める主要な色素は、フラボノイド、カロテノイド、ベタレイン、クロロフィルです。フラボノイドは、アントシアニン、フラボン、フラボノールなどを含み、赤、青、紫、黄など様々な色を作り出します。カロテノイドは、黄色、オレンジ、赤色の色素で、トマトやニンジンなどに含まれます。ベタレインは、赤や黄色の色素で、サボテンやオシロイバナなどに含まれます。クロロフィルは、緑色の色素で、光合成に不可欠です。これらの色素の組み合わせや濃度、pH、金属イオンとの相互作用などによって、花の色は多様に変化します。また、色素の合成に関わる遺伝子の変異も花色の多様性に貢献しています。

 

トマト果実の割れを回避するために気孔の開閉を考える

/** Geminiが自動生成した概要 **/
トマト果実の割れ防止対策として、葉の気孔に着目。気孔はCO2吸収と蒸散のバランスを保つため開閉し、孔辺細胞のカリウムイオン濃度変化と膨圧が関与する。日中はCO2獲得と水損失のバランス調整が重要。気孔開閉機構の詳細は不明だが、カリウムイオンが孔辺細胞に出入りすることで水の移動が起こり、気孔が開閉する。トマト栽培ではカリウム不足が懸念され、これが気孔開閉に影響し、微量要素吸収阻害など品質低下につながる可能性が考えられる。

 

SOY CMSでカスタムフィールドアドバンスド イメージフィールドコピープラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY CMSのカスタムフィールドアドバンスドで画像フィールドを使用する際、alt属性を含めて複数箇所に表示したい場合の課題を解決するプラグインが開発されました。標準機能では、2回目以降の表示に`cms:id="img*"`を使用するとalt属性が出力されない問題がありました。このプラグインを使用すると、`cms:id="img_copy"`のように指定することで、alt属性を含めたimgタグを出力できます。`_copy`の部分は設定で変更可能です。このプラグインを含むパッケージはsaitodev.co/soycms/からダウンロードできます。

 

マメをかもしつづけたオリゼーの事を知りたい

/** Geminiが自動生成した概要 **/
麹菌(*Aspergillus oryzae*)は長年無性生殖のみを行うと考えられていましたが、近年の研究で有性生殖も可能であることが確認されました。2016年の農研機構の報告では、麹菌の有性生殖を阻害する「不和合性」の仕組みを解明し、この仕組みを操作することで人為的な交配育種が可能になったことが示されています。 具体的には、異なる麹菌株を交配させる際に、不和合性遺伝子を操作することで、雑種形成を誘導することに成功しました。これにより、麹菌の新たな育種法として、有用な形質を持つ株同士を交配させ、優れた特性を持つ新しい麹菌を開発できる道が開かれました。この技術は、醤油や味噌などの発酵食品の品質向上や、新たな機能性を持つ麹菌の開発に大きく貢献すると期待されています。

 

QRCode.jsを試してみた

/** Geminiが自動生成した概要 **/
使い捨てURLのQRコードをBootstrapのモーダル内に表示する際、QRCode.jsで生成したQRコードのセンタリングに苦労した。QRCode.jsは簡単にQRコードを生成できるが、出力される<div>内の<img>タグの幅が100%になるため、`text-center`クラスが効かない。DOMで出力された<canvas>タグのサイズに合わせて、<div id="qrcode">に`style="width:128px;margin:0 auto;"`を指定することで、QRコードをモーダル中央に表示できた。

 

ウィルスの意味論を読み、RNAウィルスから発見された酵素の恩恵を思い出した

/** Geminiが自動生成した概要 **/
内在性レトロウイルスは、古代のレトロウイルス感染によって宿主ゲノムに組み込まれたウイルス配列である。ヒトゲノムの約8%を占め、通常は不活性化されているが、一部は遺伝子発現に関与し、胎盤形成に必要なシンシチンなどのタンパク質をコードする。シンシチンは細胞融合を促進し、胎児と母体の栄養交換を可能にする合胞体栄養膜の形成に寄与する。 これらのウイルス由来遺伝子は進化的に保存されており、哺乳類の胎盤進化に重要な役割を果たしたと考えられている。一方で、内在性レトロウイルスの活性化は、自己免疫疾患やがんなどの病態に関与する可能性も示唆されている。

 

SOY CMSのCumulative Layout Shiftプラグインにpicture要素設定を追加しました

/** Geminiが自動生成した概要 **/
SOY CMSのCore Web Vitals改善用プラグイン「Cumulative Layout Shift」にpicture要素設定が追加されました。 picture要素はレスポンシブ画像を実現するHTMLタグで、画面幅に応じて最適な画像を出力します。プラグインでは、imgタグにsize属性を自動挿入するか、pictureタグで囲うかを選択できます。ただし、既にHTMLテンプレートでpictureタグを使用している場合は正常に動作しないため注意が必要です。この機能はsaitodev.co/soycms/で提供されるパッケージに含まれています。画像のwidthが小さい場合はsize属性が自動挿入されます。

 

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

/** Geminiが自動生成した概要 **/
SOY CMS用ラベルカスタムフィールドプラグインが開発されました。ブログページのカテゴリごとに異なる説明文を表示する機能強化が目的です。従来のカテゴリー詳細表示プラグインではラベルのメモ欄しか利用できませんでしたが、このプラグインはラベル詳細画面にカスタムフィールドを追加し、入力した値をカテゴリページに出力できます。これにより、カテゴリページの表現力向上に貢献します。現在はテキスト系の項目のみですが、要望次第で画像項目の追加も検討されています。プラグインはsaitodev.co/soycms/から入手可能です。

 

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側は未対応です。

 

SOY CMSでスマホでブログ投稿プラグインを作成しました

/** Geminiが自動生成した概要 **/
Core Web Vitalsは、ユーザーエクスペリエンスを測定する重要なSEO指標です。特にLargest Contentful Paint(LCP)はページの読み込み速度を、First Input Delay(FID)はインタラクティブ性、Cumulative Layout Shift(CLS)は視覚的な安定性を評価します。これらを改善することで、ユーザーの離脱率を減らし、SEOランキング向上に繋がります。画像最適化はCore Web Vitals改善の有効な手段で、Guetzliは高品質を維持しながらファイルサイズを大幅に削減できるツールです。Guetzliを用いることで、LCPの改善に大きく貢献し、結果としてWebサイトのパフォーマンス向上とSEO対策に繋がります。

 

【SEO対策】Core Web Vitals

/** Geminiが自動生成した概要 **/
Google Analyticsのスクリプトをページ読み込み直後に移動することで、Core Web Vitals、特にFID(First Input Delay)を改善する方法を解説しています。通常、Google Analyticsのスクリプトは</body>直前に配置されますが、これだとスクリプトのダウンロードと実行が完了するまでブラウザが他の操作を受け付けず、FIDが悪化します。記事では、async属性を追加し<head>内に移動することで、スクリプトを非同期で読み込み、ブラウザのレンダリングを妨げないようにする方法を紹介。async属性はIEでは機能しないため、IE用に条件分岐で対応する必要性も説明しています。さらに、Google Tag Managerを使用している場合は、設定変更だけで対応可能であることも解説しています。これらの修正により、FIDが大幅に改善され、ユーザーエクスペリエンスの向上が期待できます。

 

初秋に咲く黄色い花の群生にハナバチが集まる

/** Geminiが自動生成した概要 **/
初秋、ミヤコグサが咲いていた場所に黄色い花が群生していた。三出複葉で、花は内部がうねった形状。Google画像検索でノアズキやヤブツルアズキ(マメ科)と判明。アズキの花は初めて見た。蝶形花がねじれているように見える。しばらくすると、ハナバチが蜜を求めて飛来した。冬支度のための採集だろうか。

 

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

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

 

SOY Shop版HTMLキャッシュプラグインを追加しました

/** Geminiが自動生成した概要 **/
SOY Shop 2にHTMLキャッシュプラグインが追加され、高速化が可能になった。カートウィジェットの問題は非同期通信で解決し、カート内商品数と合計金額をJSONで取得できる。ヤマトリップショップではこの機能とLazyLoadプラグイン、jpegoptimにより、ページ表示速度が3.3秒から1秒以下になり、PageSpeed InsightsのスコアもPCで90を超えた。スマホは90に届かなかったが、Gueztliによる画像最適化で改善が見込まれる。SOY Shop 2正式版は近日公開予定。

 

SOY CMSでLazyLoadプラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY CMSのLazy Loadプラグインは、記事中の画像3枚目以降に`loading="lazy"`属性を付与し、遅延読み込みを実現することでSEO対策とPageSpeed Insightsスコア向上に貢献します。リソース消費を軽減するため、HTMLキャッシュプラグインとの併用が推奨されます。 関連するHTML圧縮の記事では、HTML、CSS、JavaScriptの圧縮によりファイルサイズを削減し、ページの読み込み速度向上によるSEO対策、ユーザーエクスペリエンス向上、サーバー負荷軽減などのメリットが得られると説明されています。gzip圧縮、minifyツール、SOY CMSのHTML圧縮プラグインの利用方法などが紹介されています。

 

【SEO対策】Lazy Load

/** Geminiが自動生成した概要 **/
SEO対策として、画像の遅延読み込み(Lazy Load)はページ表示速度の改善に有効です。ファーストビュー以外の画像は、ページ全体が表示されてから読み込まれます。重い画像や動画を遅延させることで、表示速度が向上します。 実装は、imgタグに`loading="lazy"`属性を追加するだけです。Chrome 75以降で対応しており、他ブラウザではjQueryプラグインが必要ですが、当サイトではjQueryによる速度低下を避けて使用していません。 PC表示では効果が見られませんでしたが、スマホ表示ではファーストビュー外に画像が配置されるため、Lazy Loadの効果が大きいです。 関連記事として、SOY CMSとSOY Shop向けにLazy Loadプラグインが紹介されています。

 

人には認識できない色の色素

/** Geminiが自動生成した概要 **/
黄色い花の中には、人間には見えない紫外線反射色素を持つものがある。昆虫の目には、この色素が蜜標として認識され、蜜の場所を示す模様として見える。人間には無色に見えるこの色素は、紫外線という人間には認識できない色を反射している。この紫外線色素は、植物や昆虫だけでなく、人間の健康にも重要な役割を持つ。今後の記事で、この色素の重要性についてさらに詳しく解説される。

 

ハナカマキリのピンク色の色素は何?

/** Geminiが自動生成した概要 **/
ハナカマキリのピンク色は、トリプトファン由来のキサントマチンという色素による。キサントマチンはオモクローム系色素の一つで、還元型がピンク色を呈する。 当初は、ピンクの花弁の色素であるアントシアニンをカマキリが摂取した結果だと予想されていたが、そうではなく、カマキリ自身がキサントマチンを生成していることがわかった。昆虫の色素には、他にメラニンとプテリジン系色素がある。

 

【SEO対策】HTMLの圧縮

/** Geminiが自動生成した概要 **/
HTMLの圧縮は、Webページの表示速度向上とデータ転送量削減に効果的なSEO対策です。HTMLソースコードには、可読性向上のために改行やタブが含まれていますが、これらは表示には不要なため、転送前に削除することでデータ量を減らせます。SOY CMSでは、HTML圧縮プラグインを利用することで、テンプレート編集時の可読性を維持しつつ、転送時には自動的にHTMLを圧縮できます。このプラグインは、HTMLキャッシュプラグインや静的化プラグインと併用することで、圧縮処理の負荷を軽減し、更なる高速化を実現します。HTML圧縮プラグインを含むパッケージはsaitodev.co/soycms/からダウンロード可能です。

 

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

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

 

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

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

 

自然免疫を高める食品は何か?の続き

/** Geminiが自動生成した概要 **/
免疫向上に重要な亜鉛は、好中球の活性酸素産生やDNA合成に関与し、不足すると免疫機能が低下する。好中球はペルオキシダーゼ酵素群を用いて活性酸素を生成し病原体を殺菌するが、この酵素の補酵素にはNADPHやヘムが必要となる。NADPHは光合成の明反応で生成され、ヘムはアミノレブリン酸から合成される。これらの経路は植物の光合成や活性酸素の制御機構と類似しており、葉緑素豊富な春菊は亜鉛などの微量要素も豊富で免疫向上に良いと考えられる。ただし、マンガン欠乏土壌で育った野菜は効果が期待できないため、土壌の質にも注意が必要。ウイルス感染時は、好中球ではなくナチュラルキラー細胞によるアポトーシス誘導が主であり、そこでも活性酸素が重要な役割を果たす。

 

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

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

 

【SEO対策】キャッシュの利用でデータ転送量を削減

/** Geminiが自動生成した概要 **/
SEO対策として、データ転送量削減のためブラウザキャッシュを活用する方法を解説。HTML以外のファイルは一度取得すれば再取得不要なため、ApacheのExpiresモジュールでブラウザにキャッシュさせる。Ubuntu環境でApache2.4を前提に、a2enmod expiresコマンドでモジュールを有効化し、.htaccessにファイルタイプごとにキャッシュ期間を設定する記述を追加すれば完了。HTMLは即時、CSS/JavaScriptは10日間、画像は15日間キャッシュされるようになる。

 

【SEO対策】Gueztliで画像のファイルサイズの削減

/** Geminiが自動生成した概要 **/
この記事では、ウェブサイトのSEO対策として画像ファイルサイズの削減に焦点を当てています。GoogleのJPEGエンコーダGuetzliを導入することで、画像品質を維持しながらファイルサイズを大幅に削減できることを実例で示しています。具体的には、115.8kbの画像がGuetzliによって9.4kbまで圧縮され、80%以上の削減に成功しています。また、PageSpeed InsightsによるWebP等の次世代フォーマットの推奨についても触れつつ、Safari非対応やPageSpeed Module導入によるパフォーマンス低下を理由に現状では採用を見送っていることを説明しています。

 

肥料の選定に迷ったら開発の話を確認しよう

/** Geminiが自動生成した概要 **/
肥料選びに迷う際は、開発の経緯も参考にすべきである。例えば、光合成促進を目的とするなら、ヘム合成材料であるアミノレブリン酸を主成分とする肥料が適している。一方、各種アミノ酸混合肥料は、災害後の回復促進にも有効だ。アミノレブリン酸は元々は除草剤として開発され、低濃度で生育促進効果が見つかった経緯を持つ。そのため、高濃度散布はリスクを伴う可能性がある。生育促進と災害回復では肥料の使い分けが重要で、前者はサプリメント、後者は運動後や風邪時に摂取するアミノ酸食品に例えられる。つまり、状況に応じて適切な肥料を選択することが重要である。

 

【SEO対策】HTTP/2

/** Geminiが自動生成した概要 **/
HTTP/2は、HTTP/1.1以前のバージョンに比べて、複数のファイルを並列でダウンロードできるため、ウェブサイトの表示速度を大幅に向上させます。これにより、リクエスト回数とインターネット全体の回線使用量が削減されます。しかし、一度に送受信されるデータ量が増えるため、画像サイズの最適化が重要になります。ApacheサーバーでHTTP/2を有効にする方法は、別記事で紹介されています。より詳細な情報は、オライリーの"Real World HTTP"で学ぶことができます。現在、LiteSpeedのようなサーバーでは、さらに高速なHTTP/3(QUIC)が利用可能ですが、当サイトはApacheのHTTP/3対応を待っています。

 

【SEO対策】データの転送量の削減の為の圧縮

/** Geminiが自動生成した概要 **/
個人事業主がSEO対策として行ったデータ転送量削減策を紹介。コンテンツの充実を最優先としつつ、今回はデータ圧縮に着目。GoogleのPageSpeed Insightsを参考に、Brotliアルゴリズムを用いてデータ転送量の削減を試みた。Brotliは対応サーバーが限られるため、Deflateやgzipも選択肢として提示。HTMLや画像のデータ量削減は今後の課題とし、データ転送に関する更なる改善策を予告している。

 

ハチミツの美味しさを探る上でインベルターゼが重要であるはず

/** Geminiが自動生成した概要 **/
ハチミツの美味しさを探るには、ショ糖をブドウ糖と果糖に加水分解する酵素「インベルターゼ」が重要。ミツバチは花蜜のショ糖をインベルターゼで単糖に変換し貯蔵する。これにより糖濃度が上昇し、ジャムのように腐敗を防ぐ効果があると考えられる。しかし、ハチミツの糖組成はブドウ糖より果糖が多い。ショ糖の加水分解では等量のブドウ糖と果糖が生じるはずだが、果糖が多い理由は何か。ブドウ糖の消費、蜜源植物の種類などが影響している可能性があり、更なる探求が必要である。

 

ハチミツの美味しさと各種糖の甘味度

/** Geminiが自動生成した概要 **/
蜂蜜の美味しさは、含まれる糖の種類と構成比に左右される。ショ糖を基準(甘味度1.00)とした場合、ブドウ糖は0.75、果糖は1.75と甘さが異なる。蜂蜜では主にこの3種が重要で、果糖が多いほど甘く感じられる。また、果糖は温度が低いほど甘味が増す特徴を持つ。つまり、果糖が多くブドウ糖が少ない蜂蜜は、より甘く感じる。しかし、この糖構成には疑問点があり、次回に議論される。

 

吉野川で緑泥片岩探し

/** Geminiが自動生成した概要 **/
緑泥石を含む緑泥片岩が吉野川に多く存在する理由を探るため、著者は大歩危下流の川辺を調査。安全な場所を地元住民の行動から判断し、川原の石を観察した。扁平な緑色の石が多く、図鑑を参考に緑泥片岩を特定。顕微鏡で確認すると緑色で、緑泥石に加え黄緑色の緑廉石も含む可能性が高いことがわかった。また、窪みのある石も見つかり、粘土鉱物である緑泥石が水に溶けやすく風化しやすい性質から、窪みが形成されたと推測。このことから、緑泥石が川の水に溶け込み、下流の土壌形成に影響を与えている可能性を示唆している。

 

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

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

 

フルクトースとは?

/** Geminiが自動生成した概要 **/
フルクトースは、グルコースの2位の炭素が異性化酵素等の作用で酸素と二重結合になった五員環構造の単糖である。スクロースはグルコースとフルクトースがグリコシド結合した二糖類だ。フルクトースはケトン基を持つが還元性が高く、グルコースよりメイラード反応を起こしやすい。前記事で触れた黒糖やショ糖(スクロース)の構成要素であるフルクトースは、グルコースの異性体で果糖とも呼ばれる。五員環構造を持つため、グルコースと化学的性質が異なり、メイラード反応を起こしやすい。これは、フルクトースの還元性がグルコースよりも高いためである。このため、フルクトースを含む糖蜜はメイラード反応により褐色を呈する。

 

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

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

 

黒糖とショ糖

/** Geminiが自動生成した概要 **/
植物は、傷つけられるとグルタミン酸を使って他の部位に危険を伝達する。グルタミン酸は動物の神経伝達物質としても知られるが、植物では防御機構の活性化シグナルとして機能する。実験では、蛍光タンパク質でグルタミン酸の移動を可視化し、毛虫にかじられた際にグルタミン酸が血管のような役割を持つ師管を通って全身に広がる様子が観察された。この伝達速度は秒速1ミリメートルに達し、グルタミン酸の増加に伴い防御ホルモンであるジャスモン酸の生成も確認された。このシステムにより、植物は局所的な攻撃から身を守るための全身的な防御反応を迅速に展開できる。

 

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

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

 

ライ麦パンの知見から緑肥の選定に活かせるか?エンバク編

/** Geminiが自動生成した概要 **/
イネ科緑肥は、土壌への窒素供給効果は限定的だが、土壌構造改善に大きく貢献する。特に、大麦やエン麦などの緑肥は、線虫抑制効果も期待できる。緑肥投入後の土壌は団粒化が進み、通気性・排水性・保水性が向上する。これにより、根の伸長が促進され、養分吸収が向上し、結果として秀品率向上に繋がる。さらに、緑肥の根は土壌を深くまで耕す効果もあり、硬盤層の解消にも役立つ。ただし、緑肥の効果は土壌条件や投入時期、分解期間などに左右されるため、適切な管理が重要となる。加えて、緑肥のすき込み時期を遅らせると、窒素飢餓のリスクも存在する。

 

ライ麦パンの知見から緑肥の選定に活かせるか?

/** Geminiが自動生成した概要 **/
イネ科緑肥の効果について、従来の窒素固定効果への疑問と、土壌物理性改善効果への注目を再考しています。マメ科と比較して窒素固定効果は限定的だが、多量の炭素供給による土壌有機物増加、団粒構造促進、保水性・排水性向上といった物理性の改善効果が大きい。特に、線虫抑制効果や、後作のリン酸吸収促進効果も期待される。ただし、イネ科緑肥単独での窒素供給は不足するため、堆肥など有機物との併用や、土壌窒素量への配慮が必要。緑肥投入後の土壌変化を理解し、適切な管理を行うことで、持続的な土づくりに貢献できる。

 

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

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

 

Ubuntu19.10でGoogle Photoでデジカメの画像のアップロードがエラーになる時の対応

/** Geminiが自動生成した概要 **/
Ubuntu 19.10でGoogleフォトにUSB接続のデジカメ画像をアップロードしようとしたら、「Permission denied」エラーが発生。原因はChromiumブラウザの設定でリムーバブルメディアへのアクセスが許可されていなかったため。UbuntuソフトウェアからChromiumの詳細設定を開き、「リムーバブルストレージデバイスのファイルの読み取り/書き込み」を有効化することで解決。

 

新潟県の津南の南部にグリーンタフがあるらしい

/** Geminiが自動生成した概要 **/
長野県栄村の小滝集落訪問をきっかけに、苗場山麓ジオパークのガイドブックを入手。ガイドブックによると、栄村南東の新潟県津南町結東に苗場山麓最古の地層とグリーンタフ(緑色凝灰岩)が存在するとのこと。結東は現在海から離れているが、太古の昔は海の近くだったためグリーンタフが形成されたと推測される。結東層は安山岩や玄武岩などが変質した緑色凝灰岩から成る。著者は兵庫県竹野海岸で見た鮮やかな緑色のグリーンタフを思い出し、結東のグリーンタフも同様のものか興味を持ち、現地訪問を計画している。信濃川北側はかつて海だったという情報にも触れ、日本列島の形成過程との関連を示唆している。

 

SOY Inquiryでアップロード(複数)カラムを追加しました

/** Geminiが自動生成した概要 **/
SOY Inquiryに複数ファイルアップロードカラムが追加されました。現在試作段階で、サーバー設定に依存した無制限アップロードや、一部ファイルのエラー発生時の個別エラー表示未対応などの課題が残っています。画像リサイズ機能は実装済みです。アップロード枚数制限の設定は2019年8月16日に追加されました。ダウンロードはsaitodev.co/soycms/soyinquiry/ から可能です。

 

SOY CMSで記事詳細高速表示プラグインを作成しました

/** Geminiが自動生成した概要 **/
SEO対策として表示速度向上に取り組んでいるサイト運営者が、SOY CMSの記事詳細表示を高速化するプラグインを開発した。従来、柔軟性のため記事テーブルのエイリアスカラムにUNIQUEインデックスを貼っていなかったが、今回ユニーク制約を設けることで高速化を実現。同時に、記事の投稿時刻にもインデックスを追加し、アーカイブページの表示速度も向上させた。投稿時刻は同時刻投稿の場合、1秒ずらす仕様とした。このプラグインはダウンロード後、有効化することでデータベースに反映される。

 

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

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

 

ダイズは元々何色だったのだろう?

/** Geminiが自動生成した概要 **/
ダイズの原種であるツルマメのマメの色は黒色である。これは、ダイズの祖先は黒色で、長い栽培の歴史の中で黒色色素の合成を失ったことを示唆する。同様に、ブドウも元々は黒色だったが、育種で色素の合成が抑制され白ブドウになった可能性がある。ダイズが黄色の色になったのは、渋いポリフェノールを含む黒色色素を持たない株が好まれたためと推測される。

 

さくらの追加ストレージ(NFS)内のファイルをDropboxで同期したい

/** Geminiが自動生成した概要 **/
さくらインターネットのVPSに追加ストレージ(NFS)を導入し、サイトのバックアップファイルを格納。Dropboxと同期するために、NFS上のバックアップファイル(/var/www/html/site/storage/backup/site.zip)へのシンボリックリンクをDropboxディレクトリ(/home/*****/Dropbox/backup/)に作成した。 DropboxのWebサイトで確認したところ、シンボリックリンク経由でファイルが同期されていた。ただし、リンク先のファイル更新をDropboxに認識させるには、シンボリックリンクのタイムスタンプを`touch -h /home/*****/Dropbox/backup/site.zip`で更新する必要がある。 ※ この方法はDropbox側で廃止されたため、現在はDropbox-Uploaderを利用して直接ファイル転送を行う方式に変更されている。

 

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

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

 

さくらのVPSで追加ストレージ(NFS)を利用してみた

/** Geminiが自動生成した概要 **/
画像データが容量の大部分を占めるサイト運営において、さくらのVPS 1Gプランのストレージ容量が逼迫し、バックアップ時の負荷でサイト表示に不調が生じていたため、追加ストレージ(NFS)の導入手順を解説。 まず、VPSコントロールパネルでスイッチを作成し、アプリケーションサーバとNFSのネットワークインターフェースに紐づける。次に、追加ストレージ(NFS)を契約し、IPアドレスとネットマスクを設定、同じくスイッチを紐づける。 その後、SSHでアプリケーションサーバに接続し、マウントポイントを作成、ネットワークインターフェースを設定、NFSをマウントするコマンドを実行。最終的に、再起動後も自動マウントされるようcrontabを設定する。 記事ではUbuntu 18.04.2での手順を記述。また、SOY CMSでNFSを利用するためのプラグイン開発中であり、問い合わせフォームへのリンクを掲載している。

 

SOY Shopで注文番号をCODE39規格でバーコードを作成してみる

/** Geminiが自動生成した概要 **/
SOY Shopで注文番号をバーコード化できるプラグインを開発。CODE39規格を採用し、ハイフンを含む注文番号に対応。生成されたバーコードはCCDバーコードリーダーで読み取り可能だが、初期設定では長すぎて認識エラーが発生。リサイズで対応。プラグインはsaitodev.coからダウンロード可能。バーコード生成にはPHP Barcode Generatorを使用。現時点ではSOY Shop標準機能としての用途は未定だが、活用アイディア募集中。

 

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

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

 

植物にとっての葉酸

/** Geminiが自動生成した概要 **/
この記事は、植物における葉酸の役割について考察しています。筆者は、ヒトではDNA合成に関わる葉酸が植物でも同様の働きをしていると仮定し、ホウレンソウにビタミンB12が含まれると予想しましたが、実際には含まれていませんでした。そこで、植物における葉酸の機能について論文を調べた結果、シロイヌナズナでは葉酸が光合成を行わない色素体において、スクロースからデンプンへの変換を抑制することを発見しました。つまり、葉酸は植物の成長と貯蔵のバランスを調節する役割を担っており、成長期には葉酸合成が盛んになる可能性が示唆されています。このことから、葉酸の存在は植物の活発な成長を示す指標となる可能性がある一方、乾燥ストレスのような環境変化時には貯蔵に切り替わるため、単純に葉酸が多い野菜が常に良いとは言えないと結論付けています。

 

ビタミンB3のナイアシン

/** Geminiが自動生成した概要 **/
藍藻から発見された7-デオキシ-セドヘプツロース(7dSh)は、植物の芳香族アミノ酸などの合成経路であるシキミ酸経路を阻害する糖である。シキミ酸経路は植物や微生物に存在するが、動物には存在しないため、この経路を標的とすることで、植物特異的な作用を持つ除草剤の開発が可能となる。7dShは、シキミ酸経路の酵素である3-デオキシ-D-アラビノ-ヘプツロソネート7-リン酸合成酵素(DAH7PS)を阻害することで、芳香族アミノ酸、ビタミン、植物ホルモンなどの合成を阻害し、最終的に植物の生育を阻害する。これは、新たな作用機序を持つ除草剤開発の糸口となる可能性がある。

 

代謝で重要なビタミンB6

/** Geminiが自動生成した概要 **/
ブロッコリーに含まれるビタミンB6について、厚生労働省の資料を基に解説が始まる。ビタミンB6活性を持つ化合物として、ピリドキシン、ピリドキサール、ピリドキサミンが挙げられ、これらから合成されるピリドキサールリン酸(PLP)がアミノ酸代謝等で補酵素として働くことが説明されている。人間におけるビタミンB6の働きが紹介された後、植物における役割についても言及され、今後の展開が示唆されている。

 

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

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

 

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

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

 

SOY Inquiryで悪質なお問い合わせをブロックする機能を追加しました

/** Geminiが自動生成した概要 **/
SOY Inquiryに、悪質な問い合わせをブロックする機能が追加されました。qq.comドメインからのスパム問い合わせが急増したため、設定画面でカンマ区切りでドメインを指定してブロックする機能を実装。メールアドレス必須設定時に限り、アドレス未入力もブロック対象となります。 この機能追加により迷惑問い合わせは解消されました。ただし、完璧な対策ではないため、将来的には画像認証の改善も検討されます。更新版パッケージはサイト(https://saitodev.co/soycms/soyinquiry)からダウンロード可能です。

 

SOY CMSで記事一覧をカレンダー形式で表示する

/** Geminiが自動生成した概要 **/
SOY CMS用の「記事カレンダー」プラグインが開発されました。ブログ記事をカレンダー形式で表示し、投稿日を視覚的に把握できます。記事タイトルだけでなく、カスタムフィールドの内容も出力可能で、サムネイルプラグインと組み合わせることで画像表示も可能です。これにより、記事一覧をカレンダー上にサムネイル付きで表示するなど、柔軟な表示を実現できます。予約サイト構築など、従来のカレンダー機能とは異なる点が特徴です。サンプルは「毅と亮子のサラメシ」サイトで確認できます。パッケージはsaitodev.co/soycms/からダウンロード可能です。

 

GIMP 2.10.4版で電子書籍の表紙を作成する

/** Geminiが自動生成した概要 **/
GIMP 2.10.4で電子書籍の表紙を作成する方法を解説。まず、GIMPをインストールし、新規画像(2500x4000px、背景白)を作成する。テキストツールで題名と著者名を入力、フォントやサイズを調整し配置する。次に、表紙用画像を開き、画像の拡大・縮小でサイズ調整後、表紙キャンバスにコピー&ペースト。新しいレイヤーを追加することで画像を表示させ、題名・画像・著者名が入った表紙が完成する。

 

Sigilで電子書籍を作成してみる②

/** Geminiが自動生成した概要 **/
Sigilで電子書籍を作成する手順の解説。見出しはh1〜h3タグでサイズ変更、h1が最大。表紙はツールから追加、目次はツールからHTML目次作成でページとして挿入、目次生成はプレビュー用。メタデータ(タイトル、著者、言語など)はツールから編集。画像はファイル→追加で取り込み、imageフォルダに保存。挿入したい場所にカーソルを置き、ファイル挿入ボタンで画像を選択、本文に挿入できる。サンプル画像は400x300ピクセル。

 

水耕栽培の培地は露地栽培の堆肥として再利用できるか?

/** Geminiが自動生成した概要 **/
水耕栽培で使ったヤシガラ培地に黄色いキノコが生え、堆肥化の可能性について考察している。キノコの種類はコガネキヌカラカサタケと推定され、Wikipediaの情報から木の分解者である真正担子菌網に属するため、堆肥化に適している可能性がある。ただし、褐色腐朽菌の可能性が高く、木質成分の分解ではなく変性をしている可能性もあるため、褐色腐朽菌のリグニン変性メカニズムの理解が必要。なお、イボコガネテングタケの可能性も残っており、その場合は菌根菌のため堆肥には不向き。キノコの正確な同定には鮮明な写真と図鑑が必要。

 

Go言語で特定のサイトの複数の画像を取得する

/** Geminiが自動生成した概要 **/
Go言語で特定サイトから複数画像を取得する処理を解説しています。まず、対象ページのHTMLを取得し、正規表現を用いて`img`タグの`src`属性から画像パスを抽出します。抽出したパスは`/site/files`を含むものだけをスライスに格納します。次に、スライス内の各パスに対して、サイトのドメインを付加して完全なURLを生成し、`http.Get`で画像データを取得します。取得したデータは`ioutil.ReadAll`でバイト型に変換後、ファイル名を取得するためにパスの最後の`/`以降の文字列をファイル名として新規ファイルを作成し、画像データを書き込み保存します。

 

Go言語でHTMLのイメージタグから画像を取得

/** Geminiが自動生成した概要 **/
Go言語でHTMLのimgタグから画像を取得し、ファイル保存するコードの説明です。正規表現でsrc属性値を取得し、ファイル名を抽出し、URLを完成させます。HTTP GETリクエストで画像データを取得し、ファイルを作成して書き込みます。具体的な例として、`<img src="/site/files10/P5100314.JPG" ...>`から`P5100314.JPG`という名前で画像ファイルを保存する手順を解説しています。 コードは`https://saitodev.co`をベースURLとして使用し、`ioutil.ReadAll`でレスポンスボディ全体を読み込み、`os.Create`と`file.Write`でファイルに書き込んでいます。

 

SOY CMSのブログブロックの使用を制限して、ブログページの高速化

/** Geminiが自動生成した概要 **/
Googleは常時SSL化をランキング要因の一つとしています。つまり、サイトがHTTPSを使用しているかどうかは、検索結果の順位に影響を与えます。しかし、その影響は軽微であり、他のSEO対策と比べると優先度は低いと言えるでしょう。 常時SSL化の主なメリットはセキュリティの向上です。ユーザーの情報を暗号化することで、盗聴や改ざんのリスクを軽減できます。これはユーザーの信頼感向上に繋がり、間接的にSEO効果に繋がる可能性があります。 また、常時SSL化によってサイトの表示速度が向上する可能性も指摘されています。Googleはサイトの表示速度もランキング要因としているため、結果的にSEOに良い影響を与える可能性があります。 しかし、常時SSL化自体が劇的なSEO効果をもたらすわけではないので、他の重要なSEO対策を疎かにしてまで優先するべきではありません。コンテンツの質やユーザーエクスペリエンスの向上など、他のSEO対策と並行して行うことが重要です。

 

Go言語でWebサイトから画像のデータを取得

/** Geminiが自動生成した概要 **/
Go言語でWebサイトから画像を取得し、ローカルに保存する方法を解説しています。`http.Get`で指定URLの画像データを取得し、`ioutil.ReadAll`でレスポンスボディをバイトスライスとして読み込みます。`os.Create`で新規ファイルを作成し、`file.Write`で取得したバイトデータを書き込むことで、画像ファイルを保存します。サンプルコードでは"植物のミカタ"の画像URLを使用し、"sample.jpg"として保存しています。記事では、HTTP GETリクエストとファイル作成の基本についても触れており、関連する記事へのリンクも提供しています。

 

Go言語でファイル作成

/** Geminiが自動生成した概要 **/
Go言語でファイルを作成する方法を解説しています。まず、`os.Stat`でファイルの存在確認を行い、存在しなければ`os.Create`で作成、存在すれば`os.Open`で開きます。`defer file.Close()`で確実にファイルを閉じ、`[]byte`に変換した文字列を`file.Write`で書き込みます。 次に、`os.Stat`でディレクトリの存在確認を行い、なければ`os.Mkdir`で作成します。`filepath.Abs(".")`で現在のディレクトリを取得し、`os.Chdir`で作成したディレクトリに移動してから、上記と同様にファイルを作成・書き込みます。結果として、指定したディレクトリにファイルが作成されます。

 

SOY CMSの記事投稿時の画像のアップロードでファイルマネージャをメインで使用する

/** Geminiが自動生成した概要 **/
SOY CMSの記事投稿画面で画像アップロード時にファイルマネージャを優先利用するための設定方法を紹介しています。サイト設定で「記事投稿時のおイメージの挿入設定」を行い、希望のアップロード方法(ファイルマネージャ、ドラッグ&ドロップ等)にチェックを入れます。これにより、記事投稿画面の画像挿入時に設定した項目がデフォルトで選択された状態になります。記事では、ファイルマネージャを優先利用するための設定例を画像付きで解説し、より使いやすくする方法を提案しています。関連記事として、SOY CMSで使用しているelFinderでjsファイルのアップロードを許可する方法を紹介する記事へのリンクも掲載されています。

 

チャットワークとGoogle Apps Scriptで音声入力で投稿してみる

/** Geminiが自動生成した概要 **/
Googleドキュメントの音声入力とGoogle Apps Scriptを連携させ、チャットワークへの投稿を音声で行う方法を紹介。 「チャットワーク(投稿内容)終了」と話しかけると、内容がチャットワークに送信されるスクリプトを作成。1分毎にスクリプトが実行され、ドキュメントの内容をチェック、投稿後ドキュメントはクリアされる。APIトークン、ルームIDの設定が必要。音声入力はドキュメントのツールから利用可能。Androidスマホでは音声入力の設定を事前に確認する必要がある。この方法で、両手が塞がっている状況でもチャットワークに投稿可能。実用時はタスク登録ルールやToの指定が推奨される。

 

SOY ShopでTrackingmore連携プラグインでwebhookに対応しました

/** Geminiが自動生成した概要 **/
SOY Shopで国際荷物追跡サービス「Trackingmore」と連携するプラグインを開発し、「webhook」機能を追加しました。webhookでは、配送業者が発送を開始するとTrackingmoreからSOY Shopに通知が届きます。これにより、リアルタイム追跡の手間を省きつつ、SOY Shopの注文状態や発送メールの自動更新が可能になります。この連携により、出荷予定日前に代行業者から発送情報を受け取れなくても、配送状況を監視し、集荷や発送が確認され次第、発送済みメールを自動送信できます。これにより、確認業務が大幅に削減されます。リアルタイム追跡も併用することで、変更情報の確度が向上します。

 

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

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

 

Ideapad 720SにUbuntuを入れてWi-Fiを使用する

/** Geminiが自動生成した概要 **/
Lenovo Ideapad 720SにUbuntu 18.04β版をインストールしたが、内蔵Wi-Fiアダプタは使用できなかった。Wi-Fiアダプタ自体はRealtek製で物理的には動作しているものの、対応するドライバが見つからない。ArchWikiやRealtek、Githubのリポジトリを調査した結果、rtl8821ceドライバが必要だとわかったが、Ubuntuに導入できる形では提供されていない。そのため、現時点ではUSB接続のPocketWifiを利用してインターネットに接続している。

 

地衣類という菌たちの巧みな生き方

/** Geminiが自動生成した概要 **/
地衣類は、光合成を行うシアノバクテリアまたは緑藻と共生している菌類です。地衣類は、菌が光合成生物に必要な栄養を提供し、光合成生物が合成した産物を菌に返します。この共生関係により、地衣類は木の幹などの栄養分に乏しい環境でも生存できます。 地衣類の光合成にはマンガンが必要ですが、地衣類は宿主からマンガンを吸収していると考えられます。これは、死んだ幹に残った微量元素を活用している可能性を示唆しています。つまり、地衣類は木の残りを再利用することで、山の生態系における栄養循環に貢献している可能性があります。

 

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

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

 

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

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

 

社会人・学生向けプログラミング教室でHTML Serviceの勉強会を行いました

/** Geminiが自動生成した概要 **/
社会人・学生向けプログラミング教室で、Google Apps ScriptのHTML Serviceを使ったGoogleドキュメント連携の勉強会が行われました。前回のスプレッドシート拡張の勉強会に続き、今回はHTML Serviceを用いてGoogleドキュメントのUIをどこまでカスタマイズできるかを検証しました。これにより、業務改善に繋がる新たなアイディア創出を期待しています。 関連として、Google Apps ScriptでJPEG画像からOCRで文字列を取得する内容も扱われました。

 

Google Apps ScriptのHTML Serviceでファイルアップロードを行う

/** Geminiが自動生成した概要 **/
Google Apps Script (GAS)のHTML Serviceでファイルアップロード機能を実装する方法を紹介。サンプルコードでは、HTMLフォームでファイルを選択・送信し、GAS側でGoogleドライブに保存、生成されたURLをHTMLに返す非同期処理を行っている。`google.script.run.withSuccessHandler()`でGAS側の関数を実行し、成功時の処理をHTML側で記述。フォーム送信イベント`onsubmit`でこの処理を呼び出し、アップロード後のURL表示を実現。この仕組みにOCR処理を組み合わせることで、画像アップロードと文字列抽出を同一画面で行うWebアプリ開発が可能になる。

 

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より精度は高い。

 

Google Apps ScriptのHTML Serviceを試してみた

/** Geminiが自動生成した概要 **/
Google Apps Script (GAS) のHTML Serviceを利用して、HTMLファイルとGASのコードを連携させる方法を紹介しています。 具体的な手順として、Googleドライブ上にGASプロジェクトを作成し、index.htmlファイルに"Hello, World!"と記述、コード.gsファイルにはdoGet関数でHTMLファイルを読み込むコードを記述します。 その後、ウェブアプリケーションとして公開することで、ブラウザでHTMLの内容が表示されることを確認しています。 さらに、GASを学ぶ上でJavaScriptの知識が重要であることを補足し、関連技術としてNode.js、NW.js、GoogleドキュメントのOCR機能についても言及しています。

 

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

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

 

php-webdriverでconfirmダイアログをクリックする

/** Geminiが自動生成した概要 **/
php-webdriverでconfirmダイアログのボタンをクリックする方法について解説。`$driver->switchTo()->alert()`でダイアログを取得し、`$dialog->accept()`でOKボタン、`$dialog->dismiss()`でキャンセルボタンをクリックできる。例として「退会する」リンククリック時に表示されるconfirmダイアログを操作するコードを紹介。`findElement`でリンク要素を取得し`click`でクリック、その後`switchTo()->alert()`と`accept()`でOKボタンクリックを処理する。

 

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

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

 

さくらインターネットの共有サーバでLet's Encryptを利用して常時SSL化してみた

/** Geminiが自動生成した概要 **/
さくらインターネットの共有サーバーでLet's Encryptを使って簡単に常時SSL化する方法が紹介されています。コントロールパネルから数クリックで設定でき、20分ほどで完了します。SOY CMS利用者は、追加の設定が必要です。記事内の画像パスがHTTPのままになっている場合、ブラウザで警告が表示されるため、SOY CMSの設定画面からサイトURLをHTTPSに変更する必要があります。 記事本文中の画像パスもHTTPSに書き換えるか、.htaccessでリダイレクト設定を行うことで対応できます。 これらの対応により、サイト全体をHTTPSでアクセスできるようになり、セキュリティとSEO効果の向上が期待できます。

 

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

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

 

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

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

 

隆起して露頭した地層

/** Geminiが自動生成した概要 **/
海底で水平に堆積した地層は、プレートの衝突により隆起し、傾斜する。陸のプレートに押し上げられた堆積物は「付加体」と呼ばれ、地層の新しい側が押している海のプレートの方向を向く。城ヶ島では、南側のフィリピン海プレート(海)が北側の北アメリカプレート(陸)に沈み込むため、南側の地層が新しく、北側に傾斜している。写真からも、地層の南側が上向き、北側が下向きになっている様子が確認でき、付加体の端であることがわかる。

 

城ヶ島の砂岩凝灰岩互層

/** Geminiが自動生成した概要 **/
城ヶ島はフィリピン海プレートと北アメリカプレートの境界、相模トラフ上に位置する隆起した島。火山活動と地震の影響を受けており、特徴的な砂岩凝灰岩互層が見られる。これは海底で砂の堆積と火山灰の堆積が繰り返されて形成された層が、地震の影響で隆起し、傾斜した状態で露出しているもの。しかし、なぜ垂直方向に傾斜しているのかは記事内で説明されておらず、更なる調査が必要とされている。

 

SOY CMSで常時SSL化対応後の各記事内の画像のパスの対応

/** Geminiが自動生成した概要 **/
SOY CMSの常時SSL化後、記事内の画像パスがhttpのままとなり、エラーが発生する問題を解決するプラグインが作成されました。記事内の画像はhttpで始まる絶対パスで挿入されるため、手動またはデータベース操作で修正が必要ですが、このプラグインを使えば記事内の画像パスを一括でスラッシュから始まる絶対パス(例:/site/files/hoge.jpg)に変換でき、常時SSLに対応できます。プラグイン名は「画像URL変換プラグイン」で、saitodev.co/soycms/からダウンロード可能です。

 

Apache2.4.27の標準設定ではHTTP/2が使用できなくなったのでその対応

/** Geminiが自動生成した概要 **/
Apache 2.4.27にアップグレード後、prefork設定ではHTTP/2が使えなくなったため、workerに変更した事例。preforkではHTTP/2が無効化される仕様変更が原因。Ubuntu 16.04環境で、PHPをFastCGI(php7.0-fpm)にし、`a2dismod`と`a2enmod`コマンドでMPMをworkerに切り替えた。`apachectl -V`で確認後、ブラウザでHTTP/2が有効化されたことを確認。ただし、画像はキャッシュの影響でHTTP/1.1だったが、キャッシュクリアで解決した。

 

Googleの圧縮アルゴリズムBrotliを試してみた

/** Geminiが自動生成した概要 **/
Brotli圧縮を試した結果、gzipよりも高い圧縮率を実現できることが分かり、サーバーでの利用を検討。Ubuntu 18.04ではaptでbrotliをインストール可能。画像ファイルの圧縮テストでは、オリジナル870.3kBに対し、Brotliは856.8kB、gzipは861.0kBと、Brotliが僅かに優れていた。圧縮コマンドは`brotli 元ファイル -o 圧縮ファイル`、解凍は`brotli -d 圧縮ファイル -o 元ファイル`。次の記事では、ApacheサーバーでBrotliを利用する方法を解説する。

 

黒ボク土は本当に良い土なのか?前編

/** Geminiが自動生成した概要 **/
黒ボク土は通気性・保水性に優れる反面、アルミニウム障害という問題を抱えています。本稿では、黒ボク土の形成過程を、粘土鉱物であるアロフェンと非アロフェンに着目して解説しています。黒ボク土は、玄武岩質火山灰を基材とし、アロフェン質と非アロフェン質に分類されます。非アロフェン質はベントナイトなどの2:1型粘土鉱物ですが、アロフェン質は火山ガラスから生成されるアロフェンを含みます。アロフェンの生成には玄武岩質火山灰由来の成分が関与していると考えられています。

 

PHPでPythonの機械学習のライブラリを利用してみる

/** Geminiが自動生成した概要 **/
PHPでPythonの機械学習ライブラリを利用する方法を検証。サンプルデータを使用してk近傍法によるアイリスの品種判定を実施。Pythonスクリプトで学習と判定を行い、PHPスクリプトでデータを送受信することで、PHPでPythonの機械学習機能を活用できることを確認した。

 

SOY Shop商品紹介プラグインでカスタムサーチフィールドの値を出力可にしました

/** Geminiが自動生成した概要 **/
SOY CMSのブログ記事にSOY Shopの商品情報を表示する「SOY Shop商品紹介プラグイン」が、カスタムサーチフィールドの値を出力可能になりました。商品紹介プラグインは、ブログ記事に商品コードを紐づけることで、記事詳細画面に商品情報を表示する機能です。カスタムサーチフィールドは、商品名以外のスペック等で商品検索を可能にするSOY Shopのプラグインです。今回のアップデートにより、商品紹介プラグイン内でカスタムサーチフィールドの値(csf:id)が利用可能になります。最新パッケージはsaitodev.co/soycms/からダウンロードできます。

 

SOY Shopのカスタムサーチフィールドの多言語化対応

/** Geminiが自動生成した概要 **/
SOY Shopのカスタムサーチフィールドが多言語化対応しました。商品名・カテゴリ名に続き、カスタムサーチフィールドの値も各言語毎に設定可能になり、CSVのインポート/エクスポートにも対応。管理画面では、各言語商品編集画面からカスタムサーチフィールドの設定を開き、言語ごとの値を入力できます。CSVによる多言語データの一括登録も可能になり、運用負荷を軽減。カスタムサーチフィールドは、カスタムフィールドと比べデータベーススキーマが洗練されており、表示速度の低下が起こりにくいメリットがあります。多言語対応版はsaitodev.coからダウンロード可能です。

 

栽培開始前に土壌に十分量の鉄が入っているか?

/** Geminiが自動生成した概要 **/
ベントナイト系肥料に含まれる鉄分がネギ栽培に十分かどうかを検証した結果、十分量以上であることがわかった。ベントナイトに含まれる黄鉄鉱の鉄含有量を0.2%と仮定し、200kg/反を施用すると400gの鉄が供給される。一方、ネギ1本(150g)あたりの鉄分含有量は1.8mgなので、50,000本植えた場合の持ち出し量は90gとなる。つまり、ベントナイト中の鉄分だけでネギの鉄分要求量を十分に満たせる。ただし、鉄分豊富な母岩地帯では、川の水から供給される鉄分も考慮し、過剰症に注意が必要となる。

 

ハードディスクが壊れる日は突然やってくる

/** Geminiが自動生成した概要 **/
外付けHDDの読み込み速度低下をきっかけに、ハードディスクの物理障害について調べた体験談。HDDケースに収納した古い1TB HDDの動作が不安定になり、業者に調べてもらった結果、物理障害と判明。論理障害と異なり物理障害はデータ復旧が困難なため、HDDの構造を理解する重要性を説く。記事ではHDDの磁気ディスクと磁気ヘッダの役割、そして物理障害の原因として磁気ヘッダの破損と磁気ディスクの劣化を挙げる。今回のケースは後者の可能性が高く、実際に取り出した画像データが破損していた。この経験から、複数のHDDを用いたバックアップの重要性を改めて強調している。

 

苦土があるところ

/** Geminiが自動生成した概要 **/
京都市内の農家で、慣行農法の土壌に苦土肥料(水マグ)を施用することで、カルシウム過剰による生育不良を劇的に改善した事例が紹介されています。現代農業では土壌pH調整に石灰を多用するためカルシウム過剰になりがちで、結果としてカルシウム欠乏症に陥り、秀品率が低下することが問題となっています。カルシウムを含まない苦土肥料を用いることで、pH調整とマグネシウム補給を同時に行い、この問題を解決できる可能性が示唆されています。水マグの原料である水滑石は蛇紋岩から産出するため、地質図を活用することで産地を特定し、土壌改良に役立てられる可能性も示唆しています。この事例は、現代農業の慣行を見直し、土壌管理の重要性を改めて認識させるものとなっています。

 

土壌中の腐植量はどのように測定されているのか?

/** Geminiが自動生成した概要 **/
土壌中の腐植量測定は、分光光度計を用いた紫外-可視吸収スペクトル測定で行われる。腐植は複雑な構造で、末端のカルボキシル基や水酸基が水の保持やpH緩衝、イオン保持に寄与する。測定は水溶液サンプルに光を当て、吸収された波長から量を計算するが、腐植の抽出の難しさから参考値となる。論文では、腐植量とCECには高い正の相関(R²=0.7)が見られた。腐植はアルミニウムと強く結合し長期間保持されることから、腐植のパフォーマンス向上策が重要となる。

 

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 Shopパッケージは、サブドメイン利用時の商品画像パスずれ問題を解決します。通常、商品画像は`/ショップID/files/商品コード/ファイル名`のパスで保存されますが、サブドメインではショップIDディレクトリが存在しないため画像が表示されません。このパッケージは、サブドメイン環境下でパスを自動的に修正し、正しい画像パス`/files/商品コード/ファイル名`を出力することで、問題を解消します。これにより、複数の独自ドメインをサブドメインで運用する場合でも、商品画像が正しく表示されるようになります。

 

リービッヒの無機栄養説

/** Geminiが自動生成した概要 **/
リービッヒは、植物の栄養源は無機物であるとする無機栄養説と、植物の成長は最も少ない栄養素によって制限される最小律を提唱した。これは現代農業でも有用だが、欠点もある。例えば、カルシウム欠乏は土壌中のカルシウム不足だけでなく過剰によっても発生する。リービッヒの最小律だけを適用すると、カルシウム欠乏にカルシウムを追肥し続け、症状を悪化させるという誤った対応につながる可能性がある。

 

関東ローム層は富士山の噴火の際の火山灰によるもの

/** Geminiが自動生成した概要 **/
関東ローム層は、富士山の火山灰が堆積した赤土の地層。富士山から関東へは80km近く離れているが、火山灰は風で広範囲に飛散する。火山灰は草木灰ではなく、スコリアや火山弾の微細な鉱物で、0.1mm程度の粒子から成る。関東ローム層のさらさらとした土質は、この微細な火山灰の堆積によるもの。つまり、赤土は母岩の風化ではなく、火山灰の風化によって形成されたと言える。

 

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

/** Geminiが自動生成した概要 **/
SOY CMSのブログ機能を利用した地図アプリ作成の第2弾では、マーカークリック時のインフォウィンドウ表示を実装しました。前回設定したカスタムフィールド(サムネイル、緯度経度)に加え、ブログ記事のタイトルとリンクをインフォウィンドウに表示するようにテンプレートを修正。具体的には、JavaScriptでインフォウィンドウの内容を生成し、マーカークリックイベントで表示する処理を追加しました。これにより、地図上のマーカーから各店舗の詳細ページへ遷移できるようになりました。将来的にはSOY Shopと連携させ、カテゴリを店舗名として地図上に店舗を表示するショップページの作成も構想されています。

 

SOY CMSのサムネイルプラグインでpng形式のファイルに対応しました

/** Geminiが自動生成した概要 **/
SOY CMSのサムネイルプラグインがアップデートされ、複数の不具合修正と機能強化が行われました。主な変更点は、サイトIDとドキュメントルート内の文字列が重複した場合のリサイズ不具合の修正、サムネイル未登録時のアップロードウィンドウ表示不具合の修正、PNG/GIF形式の画像対応、`cms:id="thumbnail_path_text"`の追加です。さらに、サーバーにjpegoptimがインストールされている場合は、トリミング時にJPEGのロスレス圧縮が適用されるようになりました。これらの更新はGitHubで公開されているパッケージに反映されています。

 

SOY CMSとSOY Shopで販促ブログ付きのネットショップを運営してみよう

/** Geminiが自動生成した概要 **/
SOY CMSとSOY Shopを連携させれば、販促ブログを備えたネットショップを簡単に構築できる。EC-CUBEとWordPressの組み合わせ等、複数のCMSを運用する際に生じるログイン画面の二重化、在庫状況に合わせた記事の出し分け、顧客データに基づいた情報提供、問い合わせデータの活用といった問題を、SOY Shopなら単一CMSで解決できる。SOY Shopの商品紹介プラグインを使えば、ブログの記事作成時に商品コードを入力するだけで、ショップの商品情報(商品名、画像、価格、商品ページへのリンク等)を自動的にブログ記事に挿入可能。これにより、販促効果の高いブログ記事を効率的に作成・公開できる。

 

SOY CMSのサムネイルプラグインでhttpからはじまる絶対パスで登録出来ない不具合を修正しました。

/** Geminiが自動生成した概要 **/
SOY CMSのサムネイルプラグインで、httpから始まる絶対パスで画像を登録できない不具合を修正。従来、httpで始まるパスを登録するとプレビューで画像が表示されない問題があったが、パスからhttp://ドメイン部分を削除することで修正。修正版はGitHubで配布中。サムネイルプラグインを使わずにサムネイル画像を生成する方法としては、表示直前で画像のリサイズを行う方法がある。

 

幸せの四つ葉のクローバ

/** Geminiが自動生成した概要 **/
幸せの象徴である四つ葉のクローバーは、ハート型4枚の小葉のイメージがある。しかし、クローバーはマメ科植物で通常は丸葉である。それに対して、4枚の小葉を持つカタバミはハート型をしている。しかし、本物の四つ葉のクローバーも存在し、くぼみのある小葉を持っているものもある。このことから、四つ葉のクローバーの幸運の象徴は、小葉が4枚でハート型という条件が加わった可能性があると考えられる。

 

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

/** Geminiが自動生成した概要 **/
Webサービスの利用者増加に備え、Ubuntu 16.04サーバにMuninを導入して監視環境を構築した。Apacheのインストールと設定、muninとmunin-nodeのインストール後、アクセス制限を解除し、Basic認証を設定した。最後にファイアウォールでポート80, 443, 4949を開放し、セキュリティを強化した。今回は監視サーバ自体の設定を行い、次回は監視対象サーバの設定を行う。

 

砂漠を旅する商人たちとメロン

/** Geminiが自動生成した概要 **/
サカタのタネのアンデスメロンは、消費者ニーズに応えるため、緻密な育種研究を経て誕生した。開発当初は網目の美しさに注力していたが、市場調査の結果、消費者は「ネット系」と「ノーネット系」のメロンの品質を網目の有無で判断していることが判明。そこで、外観ではなく味と日持ちの良さを追求した品種開発へと方向転換。様々な品種を掛け合わせ、徹底した試験栽培を繰り返すことで、糖度が高く、緻密な肉質で、日持ちの良い「アンデス」が完成した。現在では、贈答用から家庭用まで幅広く愛される人気品種となっている。

 

ガウス平面上に描写した模様を半分にスケーリングして回転させる

/** Geminiが自動生成した概要 **/
画像を複素数の集合としてガウス平面に描画し、π/4回転かつ1/2スケーリングを行う方法について記述されています。スケーリングは複素数を1/2倍、回転はe^(θi)を乗算することで実現します。θにπ/4を代入することで45度回転します。オイラーの公式e^(θi) = cosθ + i*sinθに基づき、Pythonの内包表記を用いて効率的に計算しています。最終的に、スケーリングと回転を組み合わせた処理を行い、目的の画像変換を実現しています。

 

Pythonの内包表記

/** Geminiが自動生成した概要 **/
生物学出身の筆者は数学を学び直す中で、行列プログラマーの練習問題1.4.10に挑戦した。画像は多重リストとして読み込まれ、各要素は色のタプルを持つ。課題は内包表記を用いて、明度120以下のピクセルを複素数に変換し、ガウス平面にプロットすることだった。 初期の試行ではy軸が反転したため、画像の高さを利用してy座標を調整することで解決した。最終的な内包表記は`pts = {(x+(189 - y)*1j) for (y, d) in enumerate(data) for (x, v) in enumerate(d) if v[0] < 121}`となり、正しく画像をガウス平面にプロットできた。

 

SOY CMSの確認のリンクをスラッシュ終わりにしました

/** Geminiが自動生成した概要 **/
SOY CMSのページ一覧の確認リンクで、URL末尾が拡張子でない場合にスラッシュを追加する修正が行われました。これは、スラッシュの有無で相対パス指定の画像やCSSの表示に差異が生じる問題への対応です。ブログページで確認リンクをクリックした際、一覧からはスラッシュなし、詳細からはスラッシュありで表示される不整合を解消しました。修正はGitHub上のパッケージに反映されています。

 

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

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

 

アブシジン酸の働き、そして毒性はあるのか?

/** Geminiが自動生成した概要 **/
果実内発芽は、種子が休眠できずに発芽する現象で、アブシジン酸(ABA)の不足が原因である。ABAは、水ストレス時の気孔閉鎖、種子休眠誘導、器官離脱に関与する植物ホルモン。玄米に多く含まれるABAは、活性酸素生成を促すため毒性があると噂される。ストレスを感じた植物はABAを合成し、ABAが活性酸素生成の鍵となる。活性酸素は通常、ミトコンドリアで生成されるが、ABA蓄積により過剰生成される可能性が懸念され、玄米食の危険性が議論されている。

 

同じ高さからたくさん出てる

/** Geminiが自動生成した概要 **/
同じ高さから多数の葉が出ている水草の発生様式について考察しています。金魚藻に似ているが、葉の形状から違うと推測し、画像検索でキクモを発見。キクモは輪生する葉を持つと説明されているが、写真の植物が本当に輪生なのか確信が持てない様子。そこで、「輪生」について詳しく調べてみようとしている。

 

SOY Shopで即日配送モジュールを追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの即日配送モジュールは、注文後すぐに発送手続きを行うネットショップ向けに開発されました。カート画面で即日配送を選択可能にし、サイト全体に説明文を表示できます。営業時間外への対応として、営業日カレンダープラグインと連携し、定休日や営業時間の設定が可能です。さらに、午後の注文で翌日到着になる場合、到着予定日を自動的に調整する機能も備えています。このモジュールはGitHub上のinunosinsi/soycmsパッケージに含まれています。

 

IPアドレスで接続元の情報がどれだけわかるか調べてみた

/** Geminiが自動生成した概要 **/
IPアドレスから接続元の情報がどこまで特定できるか検証した結果、固定回線ではプロバイダと大まかな位置情報が判明し、身元の特定は容易であることが分かった。 Y!mobileのポケットWiFiを使用した場合、位置情報は偽装され東京と表示されたが、プロバイダ情報は依然として取得可能であり、プロバイダへの問い合わせで身元が特定される可能性は残る。 検証には「What Is My IP Address?」が使用され、プロバイダ情報に加え、地図上で位置情報まで表示された。OSやブラウザの種類も特定可能であると示唆されている。ポケットWiFiは位置情報の偽装に有効だが、プロバイダ情報から身元特定の可能性は排除できない。 筆者はプロバイダでの勤務経験がないため、詳細な情報提供はできないとしている。

 

SOY Shopの商品規格プラグインで最安値と最高値のタグを追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの商品規格プラグインがアップデートされ、最安値と最高値を表示するタグが追加されました。従来のプラグインでは規格ごとの金額設定は可能でしたが、商品全体の最安値・最高値を表示する機能はありませんでした。今回のアップデートで、商品詳細ページに規格全体の最安値と最高値を簡単に表示できるようになりました。この機能は、商品規格によって価格が変動する商品を販売する際に便利です。アップデート版はGitHubからダウンロードできます。

 

SOY CMSのサイトでPageSpeed Insightsのスコアが99になりました

/** Geminiが自動生成した概要 **/
SOY CMSサイトのPageSpeed Insightsスコアを99にするため、静的化プラグインを開発。標準ページをHTMLファイル化し、システムを経由せず直接読み込むことで高速化を実現。記事更新時はindex.html、ページ更新時は該当HTMLを削除し、即時反映を維持。DB接続回数を減らしサーバー負荷も軽減。内部SEO対策にも有効。プラグインはフォーラムで配布中だが、Google Analytics設置に関する提案への対応は未解決。

 

SOY CMS/Shopのブロックで最初とそれ以外のデータで表示を変えたい

/** Geminiが自動生成した概要 **/
SOY CMS/Shopのブロックで、記事一覧表示の際に最初の要素とそれ以降で表示を変える方法を紹介しています。HTMLListクラスの`soy:id="at_first"`と`soy:id="not_first"`を用いることで、最初の記事ではサムネイルを200px、2つ目以降の記事では150pxで表示する例を挙げています。具体的なコードも示されており、画像のサイズ変更にはサーバサイドの画像圧縮機能を活用しています。さらに、`cms:id="content" cms:length="250"`で記事本文を250文字に要約して表示する方法にも触れています。

 

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

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

 

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

/** Geminiが自動生成した概要 **/
SOY CMSで画像リサイズを行う際、PNG画像の透過部分が黒くなる問題の解決策を紹介している。原因はアルファチャンネルの透過設定で、SOY CMSのリサイズ機能が透過に対応していないため。解決策として、`imagecreatetruecolor`後に`imagealphablending($dstImage, false);`と`imagesavealpha($dstImage, true);`を追加することで、透過PNGも正しくリサイズできる。修正はGDでのリサイズにのみ対応しており、ImageMagickは未対応。

 

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

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

 

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

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

 

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

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

 

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

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

 

ブログで絵文字の機能は使わない方が良いかもしれない

/** Geminiが自動生成した概要 **/
SOY CMSで絵文字を使うと、画像パスにCMSのインストールディレクトリが含まれるため、管理画面のURLが推測されやすく、総当り攻撃の標的になる危険性がある。記事に絵文字を使いたい場合は、画像パスを外部の無関係な場所に配置し、管理画面URLを特定できないようにする必要がある。そうでない場合は、侵入検知機能の導入が必須となる。 記事では絵文字の危険性を指摘し、対策として画像パスの変更と侵入検知システムの導入を推奨している。

 

複葉を意識すると脇芽が見えてくる

/** Geminiが自動生成した概要 **/
複葉を理解すると脇芽の位置が正確に把握できる。一般的に脇芽は茎と葉の付け根から発生するが、複葉の場合、小葉一枚一枚ではなく、複葉全体の付け根から脇芽が発生する。一見すると小葉の付け根から脇芽が出ているように見えるが、実際は複葉の基部から出ている。この規則はダイズなど複葉植物の芽かき作業で実感できる。小葉ではなく複葉全体を一つの葉として捉えることで、脇芽の位置を正しく理解できる。

 

SOY CMSのカスタムフィールドをCSVで並べ替え

/** Geminiが自動生成した概要 **/
SOY CMSのカスタムフィールドは、記事に様々なフォームを追加できる便利な機能だが、管理画面での表示順の変更が手間だった。特に数が増えると、一つずつ上下させる従来の方法は非常に面倒。この問題を解決するため、カスタムフィールドアドバンスにCSVによる並び替え機能が追加された。CSVをエクスポートし、ファイル内で順番を調整後、インポートすることで、自由に並び替えが可能になった。

 

アジサイの青ははじまりを示しているのか?

/** Geminiが自動生成した概要 **/
土壌の酸性化は、植物の生育に悪影響を与える。酸性土壌ではアルミニウムイオンが溶け出し、植物の根に障害を引き起こす。具体的には、根の伸長阻害や養分吸収の阻害が起こり、生育不良につながる。また、土壌pHの低下は、リン酸固定や微量要素欠乏も引き起こす。対策としては、石灰資材の施用によるpH調整が有効である。定期的な土壌診断を行い、適切なpH管理を行うことで、健全な植物生育が可能となる。さらに、酸性雨の影響も考慮し、土壌環境の保全に努める必要がある。

 

フォームの自動補完が表示されているところをキャプチャしたい

/** Geminiが自動生成した概要 **/
フォームの自動補完画面をキャプチャしたいが、標準のスクリーンショットでは消えてしまう。そこで、ShutterというLinuxアプリを使用する方法を紹介。手順は、(1)標準機能で画面全体をキャプチャ、(2)Shutterで自動補完部分のみをキャプチャ(カウントダウン機能を利用)、(3)画像編集ソフトで合成。Shutterはソフトウェアセンター、またはUbuntu 20.04では`sudo add-apt-repository ppa:linuxuprising/shutter`と`sudo apt install shutter`でインストール可能。

 

鉄と上手なお付き合い

/** Geminiが自動生成した概要 **/
鉄イオンは電子を放出しやすく受け取りやすい性質から、生物の様々な反応に関与する。例えば、植物は鉄イオンを利用して硝酸イオンを還元し、窒素を同化する。また、生物は活性酸素を用いて菌を殺菌するが、活性酸素は自身の細胞も傷つけるため、スーパーオキシドディスムターゼ(SOD)とペルオキシダーゼを用いて活性酸素を鎮める。これらの酵素は鉄(もしくはマンガン)から電子を受け取り、活性酸素を無害化する。つまり、鉄は活性酸素の生成と消去の両方に重要な役割を果たしている。このように、鉄とうまく付き合うことで、生物は様々な代謝をスムーズに行うことができる。

 

PHPで楽天市場の商品登録を楽しよう:GitとTortoiseGit編

/** Geminiが自動生成した概要 **/
楽天市場の商品登録をPHPで行うため、複数人での在宅作業におけるファイル管理を容易にするためGitとTortoiseGitを導入。TortoiseGitはGUIで操作できるため、Gitに不慣れなメンバーでも「プル」「プッシュ」「コミット」といった操作を右クリックメニューから容易に行える。BitBucketをリポジトリとして利用し、プルとプッシュの手順を指示することでファイルの競合を最小限に抑え、作業効率を向上させた。

 

アミノレブリン酸のポテンシャル

/** Geminiが自動生成した概要 **/
アミノレブリン酸(ALA)は、植物の葉緑素や赤血球成分など重要な物質の前駆体。ALA合成には硝酸還元に必要なシロヘムの生成に鉄が必要で、ALA周辺分子が不足すると硝酸利用効率が低下する。光合成不足では硝酸態窒素が活用されない点と合致する。鉄は二価鉄である必要があり、有機物由来の電子で三価鉄が還元されるため、糖の潤沢な供給が重要。ALA肥料は鉄、マグネシウムとの併用で効果を発揮するが、高濃度では除草剤となるため注意が必要。ALAは多くの生物が必要とするため元肥効果は限定的だが、特定状況下では大きな効果が期待できる。

 

普賢象の雌しべはまるで象の鼻

/** Geminiが自動生成した概要 **/
普賢象という桜を観察した著者は、葉化した雌しべが象の鼻に見えるという由来に疑問を抱いた。緑色の雌しべを写真で確認するも、鼻には見えづらく、命名者の想像力に感嘆する。他の桜の雌しべと比較し、普賢象の雌しべが緑色であることを再確認。葉化とは雌しべの箇所に葉が生えるのではなく、雌しべ自体が葉緑素を持つ変異であることを理解し、その珍しさに感銘を受けた。

 

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

/** Geminiが自動生成した概要 **/
SOY Inquiryでアップロードフォームを複数設置した場合、確認メールで全ての画像URLを確認する方法を紹介します。標準では管理画面でしか確認できませんが、メールテンプレートをカスタマイズすることで実現可能です。 `/インストールディレクトリ/app/webapp/inquiry/src/template/default/mail.admin.php` に記述を追加します。`$comments` から各コメントのコンテンツを取得し、正規表現で `<img src="">` タグ内のURLを抽出します。抽出したURLにサイトURLを付加して、確認メールの末尾に「添付ファイル」として表示します。複数画像に対応するため、ループ処理で全てのコメントをチェックし、画像URLを追記していきます。これにより、確認メールで全てのアップロード画像を直接確認できるようになります。

 

SOY CMSのカテゴリページでカテゴリごとに画像の出し分けを行う

/** Geminiが自動生成した概要 **/
SOY CMSのブログカテゴリページで、カテゴリごとに画像や文章を出し分ける方法を紹介します。各カテゴリページに異なるコンテンツを表示するには、モジュール機能を活用します。モジュール内にPHPコードを記述し、`$htmlObj->mode == "_category_"`でカテゴリページかどうかを判断、`$htmlObj->label->getCaption()`で現在のカテゴリ名を取得します。switch文でカテゴリ名ごとにcaseを追加し、それぞれに表示したいHTMLをechoで出力します。モジュールタグ(`<!-- cms:module="モジュール名" -->`)をテンプレートに挿入すれば完了です。HTMLコメントタグで記述されるため、テンプレートをPHPで汚染しません。

 

気孔の日々のお仕事

/** Geminiが自動生成した概要 **/
葉の裏にある気孔は、ガス交換だけでなく、蒸散による葉内浸透圧の上昇を通じて土壌からの吸水を促す重要な役割を担う。葉の水分量が多い時は気孔から蒸散し浸透圧を高め、少ない時は気孔を閉じて蒸散を防ぐ。しかし、葉周辺の湿度が高いと蒸散が抑制され、光合成に必要なミネラルを土壌から吸収できなくなる。つまり、光合成能力は十分でも、材料不足に陥る可能性がある。この問題に対処するには、単なる水やりや追肥だけでなく、蒸散を促進する工夫が必要となる。湿度が低すぎても蒸散過多で気孔が閉じるため、適切な湿度管理が施肥効果を高め、秀品率向上に繋がる。

 

SOY CMSの常時SSL化で対応したこと

/** Geminiが自動生成した概要 **/
さくらインターネットの共有サーバーでSOY CMSを常時SSL化するために実施した手順を紹介。画像パスの修正、SNI SSL対応、リダイレクト設定、サイトURLの変更、サイトマップ作成とSearch Console登録を行った。画像パスは絶対パスに変更し、SNI SSLのためにSOY CMS本体のコードを修正。リダイレクトはindex.phpに記述、サイトURLもhttpsに変更した。最後にサイトマップを作成しSearch Consoleへ登録。SOY Shopの場合は別途対応が必要。

 

運営しているサイトがSOY CMSであるか調べてみる

/** Geminiが自動生成した概要 **/
SOY CMSで構築されたサイトを特定する方法を紹介。HTML出力のためソースコードからは判別不可。特有のNot Foundページ(/jfoewajfoiwaejflaleiofjwaefwaeのような無意味な文字列へのアクセス)の存在が手がかりとなる。また、ブログ記事URL(/article/記事タイトル)、月別(/month/YYYY/MM)、カテゴリ(/category/カテゴリ名)ページのURL構造も参考になる。その他、問い合わせフォームページのソースに"SOY_Inquiry"や"soy2_token"の文字列があれば、SOY CMSの可能性が高まる。

 

サイバー攻撃が何と多いことか

/** Geminiが自動生成した概要 **/
知人の知人のWordPressサイトが乗っ取られ、攻撃サーバーとして悪用された事例を紹介。脆弱なCMSバージョン、簡単なパスワード、推測されやすい管理画面URLが原因だった。また、知人はトロイの木馬、他の知人は無害なファイル増産プログラムの被害に遭い、筆者自身もIEの設定を書き換えられる被害を受けた。攻撃者は無防備なサイトやPCを狙うため、セキュリティ対策は必須。対策学習として、攻撃者の心理を理解できる「サイバーセキュリティプログラミング」や、Webセキュリティの基礎知識を学べる「徳丸浩のWebセキュリティ教室」などを推奨。インターネットの危険性を常に意識し、無関係な人などいないことを認識すべきだと警告している。

 

窒素高めの有機配合肥料はあり得るか?

/** Geminiが自動生成した概要 **/
有機配合肥料で窒素成分(N)が高い値を示すことがあり、疑問視する声がある。油粕などの有機肥料はNが7程度、皮粉でも12程度だからだ。しかし、鶏糞に着目すると話は変わる。鶏糞には尿酸が含まれ、分解過程で尿素となる。尿素肥料はNが46%と非常に高い。鶏の生糞を分離して尿酸部分を肥料化すれば、N含有量の高い有機肥料が得られる。これを配合肥料の1/4混ぜれば、全体のNは11%を超える。つまり、高N値の有機配合肥料は理論上可能である。ただし、それは実質的に尿素肥料に近いもので、有機肥料を使う本来の意義からは外れる可能性がある。

 

SOY InquiryのレスポンシブとHTML5対応

/** Geminiが自動生成した概要 **/
SOY Inquiryを使ってレスポンシブデザインのお問い合わせフォームを作成する方法を紹介しています。レスポンシブデザインとは、PCとスマートフォンでそれぞれ見やすい表示になるよう自動調整されるWebデザイン手法です。設定は、フォーム設定で「responsive」を選び、スタイルシートを読み込むをチェックするだけ。HTML5のrequired属性にも対応し、必須項目の未入力時に警告を表示できます。設定はカラム設定で「required属性を利用する」をチェックするだけ。pattern属性も利用可能で、入力パターンの指定ができます。フォームの属性にpattern="正規表現"を追加するだけで設定できます。ただし、住所検索機能とは競合するため注意が必要です。ダウンロードやフォーラムへのリンクも記載されています。以前の記事「スマホ対応のお問い合わせフォームを作ってみた」の内容を元に、更に機能が追加されています。

 

発酵鶏糞ができるまで2:成分編

/** Geminiが自動生成した概要 **/
未発酵の鶏糞は、約7割が尿酸、残り3割が未消化の飼料成分(トウモロコシ、魚粉など)と炭酸カルシウム、リン酸カルシウムで構成される。尿酸は化学肥料の尿素と類似しており、未発酵鶏糞は化学肥料のような速効性を持つ。 鶏の餌にはトウモロコシや魚粉が含まれ、腐植の成分と類似している。また、骨や卵殻強化のために添加される炭酸カルシウムとリン酸カルシウムは、土壌の緩衝性に寄与する。 つまり、未発酵鶏糞は化学肥料的な効き目に加えて土壌改良効果も期待できる。乾燥鶏糞とほぼ同質だが、乾燥により消毒されていると考えられる。

 

アンモニアができるまで

/** Geminiが自動生成した概要 **/
アンモニアは即効性のある窒素肥料で、タンパク質の分解過程で生成される。タンパク質がアミノ酸に分解され、さらにアミノ酸が酸化的脱アミノ反応を受けるとアンモニア(アンモニウムイオン)が発生する。グルタミン酸の酸化的脱アミノ反応はその一例である。タンパク質は植物の光合成産物であるため、アンモニアは太陽光由来のエネルギーの最終的な形とも言える。

 

続・アンモニア臭は酸化で消そう

/** Geminiが自動生成した概要 **/
アンモニア酸化細菌がアンモニアを亜硝酸に酸化し、さらに亜硝酸酸化細菌が亜硝酸を硝酸に酸化する一連の反応を硝化作用という。生物は物質を酸化し電子を得ることでエネルギーを産生する。アンモニア酸化でも細菌は電子を得て活動しており、有機物の分解によるエネルギー産生は酸化的リン酸化と呼ばれる。生物は電子を欲しがるため、還元されたアンモニアは誰が作ったのかという疑問が生じる。

 

SOY Shopの商品レビュープラグインにCAPTCHAを追加

/** Geminiが自動生成した概要 **/
SOY Shopの商品レビュープラグインに、スパム対策としてCAPTCHA機能が追加されました。GDライブラリを利用した画像認証タイプで、GDが利用できない環境ではキーワード入力方式に切り替え可能です。 この機能はSOY CMSフォーラムからダウンロードできます。スパム投稿に悩まされているユーザーは導入を検討すると良いでしょう。

 

木の枝から出てくる黒い液

/** Geminiが自動生成した概要 **/
木の枝を水に浸すと黒い液体が現れるが、これは木質のリグニンに由来するフェノール性化合物と考えられる。リグニンはフェノール類が複雑に結合した高分子で、土壌の団粒構造形成に寄与する。剪定した枝から出る黒い液体もフェノール性化合物だが、肌への刺激があるため、自然分解されたものが利用できれば理想的。今後はリグニンの分解過程について掘り下げる。

 

腐植は動じない

/** Geminiが自動生成した概要 **/
土壌にはpHを中性付近にする緩衝性があり、土中の炭酸塩がpHの低い水を中和する。pHが高い水では、アミノ酸などの等電点を持つ化合物が、周囲のH+イオン量の変化に応じて水素イオンを出し入れし、緩衝性を発揮する。腐植は等電点を持つ化合物を多く含み、保肥力と緩衝性を同時に有する。

 

粘土鉱物は買ってでも入れろ

/** Geminiが自動生成した概要 **/
粘土鉱物モンモリロナイトは土壌に潤沢にあると、水分と肥料分を保持し、作物の成長に役立つ。しかし、過多になると根付きにくくなる。


Powered by SOY CMS   ↑トップへ