
/** Geminiが自動生成した概要 **/
ゼオライトは天然と人工があり、人工ゼオライトは高機能化が開発の主要因です。その機能は、ケイ素(Si)骨格にアルミニウム(Al)が入り込むことで負に荷電し、陽イオン交換能を持つことに起因します。この陽イオン交換能は肥料の保肥力(CEC)として土壌改良に貢献します。ゼオライトの機能は、骨格の形(骨格コードで分類)やSi/Al比によって異なり、例えばモルデナイトはMOR型に分類され、理想的なSi/Al比は5、実際は4.5〜5.5の範囲です。
/** Geminiが自動生成した概要 **/
ゼオライトは天然と人工があり、人工ゼオライトは高機能化が開発の主要因です。その機能は、ケイ素(Si)骨格にアルミニウム(Al)が入り込むことで負に荷電し、陽イオン交換能を持つことに起因します。この陽イオン交換能は肥料の保肥力(CEC)として土壌改良に貢献します。ゼオライトの機能は、骨格の形(骨格コードで分類)やSi/Al比によって異なり、例えばモルデナイトはMOR型に分類され、理想的なSi/Al比は5、実際は4.5〜5.5の範囲です。
/** Geminiが自動生成した概要 **/
ゼオライト(沸石)は、ケイ酸を含む鉱物の一部ケイ素がアルミニウムに置換されたアルミノケイ酸塩で、負に帯電した骨格が土壌の保肥力(CEC)を高めます。その形成は、火山灰が堆積した凝灰岩中の火山ガラスが、地下の熱水や荷重により長期間変質することで起こります。この生成過程は2:1型粘土鉱物のモンモリロナイトと類似しており、実際にモンモリロナイトを含む肥料にはゼオライトが含有される場合があります。含有量は採掘地によって大きく異なり、ほとんど含まれないものから、ほぼゼオライトで構成されるものまで様々です。
/** Geminiが自動生成した概要 **/
米ぬか嫌気ボカシ肥が「味噌の香り」と評されたことから、その香りの正体を探るべく「グアヤコール」について調査。グアヤコールはベンゼン環とメトキシ基を持つフェノールで、ワインではオフフレーバーの原因となる一方、醤油では良い香りとして認識され、その印象は量に依存することが判明した。また、ポリフェノールであるフェルラ酸から酵母の働きを経て合成されることも明らかに。コーヒー粕を投入することで、グアヤコールの量が増える可能性も示唆された。
/** Geminiが自動生成した概要 **/
SOY CMSでエディタ非表示プラグインを開発。記事投稿画面の本文と追記欄を非表示にできます。カスタムフィールドを多用し、本文欄が不要なサイト構築に便利です。プラグインは下記サイトからダウンロードできます。 [https://saitodev.co/soycms/]
/** Geminiが自動生成した概要 **/
デオキシニバレノールはフザリウム属菌が生成するマイコトキシンで、真核生物の60Sリボソームに結合しタンパク質合成を阻害します。この阻害はリボトキシックストレス応答を引き起こし、セロトニン合成量の低下を招きます。セロトニン低下は食欲不振や体重減少を引き起こし、生活に支障をきたすほど深刻な症状に繋がる可能性があります。コムギのフザリウム感染リスクを減らすために殺菌剤の使用も検討されます。
/** Geminiが自動生成した概要 **/
フザリウム属のカビが作るマイコトキシンの一種、デオキシニバレノールについて解説。これは作物(コムギ赤さび病の原因)と人体に有害で、セロトニンの合成に影響を及ぼす可能性がある。デオキシニバレノールはグルクロン酸化で無毒化される。
/** Geminiが自動生成した概要 **/
フザリウムは植物寄生性を持つ糸状菌で、有機質肥料も利用するため注意が必要です。有機物の競合相手としてコウジカビ(アスペルギルス属)が挙げられますが、コウジカビにも植物に病原性を示す種が存在します。これらの菌の生息環境を理解することは有機質肥料への理解を深めることに繋がるため、まずは文献が多いコウジカビから調べていきます。
/** Geminiが自動生成した概要 **/
家畜糞の臭気成分トリメチルアミンは、酸化によりジメチルアミン、メチルアミンを経てアンモニアへと分解される。それぞれの過程でメチル基(-CH3)が外れ、最終的にアンモニア(NH3)となる。アンモニアは硝化され硝酸となり土壌に留まるため、トリメチルアミンは揮発または硝酸に変化することで臭いが消える。
/** Geminiが自動生成した概要 **/
家畜糞の臭気成分トリメチルアミンは、刺激臭があり肥料利用時に問題となる。切り返しによる自然減に加え、酸化反応を抑制したい。穏やかな酸化剤(過酸化水素)と反応させると、トリメチルアミン-N-オキシド(無臭、揮発性)に変化する。これにより臭気を低減できる。今後は、トリメチルアミンの分解について検討する。
/** Geminiが自動生成した概要 **/
家畜糞に含まれる臭気成分トリメチルアミンは魚臭が特徴。肥料として使用した場合の植物への影響は不明だが、人体には刺激性がある。刺激性の原因は今後調査予定。
/** Geminiが自動生成した概要 **/
漫画「ヤンキー君と科学ごはん」で旨味成分の相乗効果に触発され、キノコに豊富なグアニル酸に疑問を持った筆者。グアニル酸はDNAやRNAの主要化合物であるグアノシン三リン酸(GTP)由来だが、なぜキノコに多いのか?Geminiに質問したところ、キノコはRNAを多く含み、乾燥過程でRNAが分解されグアニル酸の前駆体が生成されるためと回答があった。細胞密度や分裂速度からRNA量が多い可能性が考えられ、旨味成分の豊富さに納得した。
/** Geminiが自動生成した概要 **/
ムギネ酸は、メチオニンからニコチアナミンを経て合成される。土壌中の鉄利用率を高め、高pHやリン酸過剰な環境でも効果を発揮する可能性があり、作物の生育に貢献する。ムギネ酸単体の資材化は難しいが、その恩恵を早期に受けるための活用法が重要となる。
/** Geminiが自動生成した概要 **/
作物の根から吸収できる有機態窒素について、タンパク質から硝酸への分解過程と、ペプチドが有機態窒素の大部分を占める可能性に言及。イネ科植物の鉄吸収に関わるムギネ酸が窒素を含む有機酸であることに着目し、ムギネ酸鉄錯体としての直接吸収機構を調べることで、窒素肥料の肥効に関する理解が進むのではないかと考察している。
/** Geminiが自動生成した概要 **/
ヒスチジンのイミダゾリル基の反応性に着目し、他のアミノ酸のポリフェノールとの反応性を考察している。アミノ基を持つアミノ酸は、窒素原子に非共有電子対があるため、プロリンを除きポリフェノールと反応する可能性がある。特に、リシン(アミノ基)、アルギニン(グアニジノ基)、グルタミン(アミド基)などは反応しやすい候補として挙げられる。しかし、現時点では各アミノ酸の反応性の大小関係は不明。
/** Geminiが自動生成した概要 **/
窒素を含む化合物は、非共有電子対を持つため求核剤となる。アミノ酸の中で特にヒスチジンは、イミダゾリル基に二つの窒素を持つ。イミダゾール環の1位と3位の窒素共に非共有電子対を持つが、3位の窒素の非共有電子対が環の外側を向いているため、求核付加反応への関与がより重要となる。
/** Geminiが自動生成した概要 **/
キノンはケトンと類似の性質を持つカルボニル基を持ち、腐植形成に重要な役割を果たす。カルボニル基の炭素は酸素より電気陰性度が低いためδ+に荷電し、求核剤の攻撃を受けやすい。例えば、アセトンは水と反応し、水和反応を起こす。この反応では、水のOH-がカルボニル炭素に付加し、プロパン-2,2-ジオールが生成される。この求核付加反応はキノンの反応性を理解する上で重要な要素となる。
/** Geminiが自動生成した概要 **/
腐植酸生成の鍵となる酒石酸とポリフェノールに着目し、ワイン粕を用いた堆肥製造の可能性を探っている。ワイン熟成過程で生じる酒石酸と、ブドウ果皮に豊富なポリフェノールが、ワイン粕中に共存するため、良質な腐植酸生成の材料として期待できる。ワイン粕は家畜飼料にも利用されるが、豚糞由来の堆肥は他の成分を含むため、純粋なワイン粕堆肥の製造が望ましい。
/** Geminiが自動生成した概要 **/
腐植酸、特にフルボ酸のアルカリ溶液への溶解性について解説している。フルボ酸は、陰イオン化、静電気的反発、水和作用を経て溶解する。陰イオン化は、フルボ酸のカルボキシル基とフェノール性ヒドロキシル基が水酸化物イオンと反応することで起こる。フェノール性ヒドロキシル基はベンゼン環に結合したヒドロキシル基で、水素イオンを放出しやすい。カルボキシル基はモノリグノールやポリフェノールには含まれないが、フミン酸の構造には酒石酸などのカルボン酸が組み込まれており、これがアルカリ溶液への溶解性に関与すると考えられる。良質な堆肥を作るには、ポリフェノールやモノリグノール由来の腐植物質にカルボン酸を多く付与する必要がある。
/** Geminiが自動生成した概要 **/
ホウ砂を水に溶かすとホウ酸B(OH)₃になる。ホウ酸は糖のような多価アルコールと錯体を形成する。この錯体はキレート結合ではなく、ホウ酸が糖のヒドロキシ基と結合した構造を持つ。糖は生物にとって必須だが、ホウ酸と錯体を作ると生理反応が阻害されるため、ホウ酸は殺虫剤などに利用される。
/** Geminiが自動生成した概要 **/
アカメガシワの黄葉はキサントフィルという色素によるもの。キサントフィルはラジカルに関与する可能性があり、モノリグノールやキノンとのラジカルカップリングが考えられる。
モノリグノールはリグニンの構成要素であり、ラジカルカップリングによって様々なリグニン構造が形成される。この多様性はリグニンの機能、特に植物の強度や腐朽抵抗性に影響を与える。キノンもラジカル反応に関与し、リグニン生合成経路の一部を担う。キノンは酸化還元反応を触媒し、モノリグノールのラジカル化を促進する役割を持つ。
これらの反応は植物の成長や腐植形成に深く関わっている。キサントフィルもラジカル反応に関与するならば、植物の黄葉と腐植形成にも何らかの関連があるかもしれない。
/** Geminiが自動生成した概要 **/
土壌の重要な構成要素であるリグニンは、ベンゼン環を持つモノリグノール(p-クマリルアルコール、コニフェリルアルコール、シナピルアルコール)と、イネ科植物特有のO-メチル化フラボノイドであるトリシンが結合した複雑な高分子化合物である。一見複雑な構造だが、これらの構成要素の合成経路や重合方法を理解することで、土壌の理解を深めることができる。リグニンは木の幹の主要成分であり、その構造は一見複雑だが、基本構成要素を理解することで土壌への理解を深める鍵となる。
/** Geminiが自動生成した概要 **/
キレート作用を持つ有機酸について解説。アスコルビン酸(ビタミンC)のキレート能は限定的。キレート作用で有名なEDTAはカルボキシ基が金属イオンと結合する。キレート作用を持つ有機酸として、クエン酸、リンゴ酸、酒石酸、シュウ酸、フマル酸、コハク酸などが挙げられ、これらは複数個のカルボキシ基を持つ。アスコルビン酸も挙げられるが、キレート能は低い。比較的低分子で複数個のカルボキシ基を持つことがキレート作用を持つ有機酸の特徴と言える。
/** Geminiが自動生成した概要 **/
蛇紋岩土壌は、貧栄養、高重金属、高pHといった特徴から植物にとって過酷な環境です。特にニッケル過剰が問題で、植物は鉄欠乏に似た症状を示します。ニッケルは鉄の吸収を阻害するのではなく、鉄と同時に吸収され、鉄の本来の場所にニッケルが入り込むことで、植物は鉄欠乏だと錯覚し、更なる鉄とニッケルの吸収を招き、悪循環に陥ります。しかし、蛇紋岩土壌にも適応した植物が存在し、その耐性メカニズムを理解することが、この土壌での栽培攻略につながります。
/** Geminiが自動生成した概要 **/
アスコルビン酸(ビタミンC)は、デヒドロアスコルビン酸に酸化される過程で還元剤として働く。酸化の際、アスコルビン酸は2つのプロトン(水素イオン)と電子を放出し、これが他の物質を還元する。プロトンの放出により溶液は酸性になる。つまり、アスコルビン酸は自身を酸化することで、他の物質を還元する能力を持つ。
/** Geminiが自動生成した概要 **/
ゲラニインは加水分解型タンニンの一種で、複雑な構造を持つ。中心にはグルコース(ブドウ糖)があり、その各炭素に没食子酸が結合している。さらに、没食子酸同士も結合している。一見複雑だが、基本構造はグルコースと没食子酸の組み合わせである。より詳細な情報は「化学と生物 Vol. 60, No. 10, 2022」に記載されているが、本記事ではこの概要説明にとどめる。
/** Geminiが自動生成した概要 **/
p-クマロイルCoA からフラボノイドを経てタンニンが合成される過程について解説しています。まず、p-クマロイルCoA にマロニルCoA が3 つ結合し、ナリンゲニンカルコンが生成されます。次に、異性化酵素によりナリンゲニンカルコンが異性化し、フラバノンであるナリンゲニンが生成されます。ナリンゲニンはフラボノイドの基本骨格であり、様々なフラボノイド合成の出発点となります。そして、フラボノイドからタンニンが合成されます。タンニンのタンパク質凝集作用やヤシャブシの実の肥料としての利用など、植物における重要な役割についても触れています。
/** Geminiが自動生成した概要 **/
コーヒー酸は、2つのヒドロキシ基を持つポリフェノールの一種です。その生合成は、芳香族アミノ酸のフェニルアラニンから始まります。フェニルアラニンはアミノ基を失ってケイヒ酸に変換され、さらにヒドロキシ基が付加されてクマル酸が生成されます。最後に、クマル酸にもう1つヒドロキシ基が付加されることで、コーヒー酸が合成されます。ケイヒ酸、クマル酸、コーヒー酸は植物において重要な化合物であり、その構造を理解しておくことは重要です。
/** Geminiが自動生成した概要 **/
白雲母は、フィロケイ酸塩鉱物の一種で、化学組成はKAl2□AlSi3O10(OH)2です。特徴は、鉄の含有量が少なく絶縁体や断熱材としての性質を持つことです。黒雲母と違い、白っぽい色をしています。菫青石が風化する過程で生成されることもあり、栽培においてはカリウム供給源として利用されます。風化が進むと、2:1型粘土鉱物へと変化します。
/** Geminiが自動生成した概要 **/
京都府木津川市の黒雲母帯は、黒雲母と絹雲母を含む泥質千枚岩が変成作用を受けた地域です。この地域には菫青石も存在し、風化すると白雲母や緑泥石に変わり、最終的には2:1型粘土鉱物を構成する主要成分となります。菫青石の分解断面は花びらの様に見えることから桜石とも呼ばれます。木津川市で見られる黒ボク土は、これらの鉱物の風化によって生成された可能性があります。
/** Geminiが自動生成した概要 **/
記事「く溶性苦土と緑泥石」は、土壌中のマグネシウム供給における緑泥石の役割について解説しています。
土壌中のマグネシウムは植物の生育に不可欠ですが、多くの場合、植物が直接吸収できる「く溶性」の状態にあるマグネシウムは限られています。そこで注目されるのが緑泥石です。
緑泥石は風化しにくいため土壌中に長期間存在し、ゆっくりとマグネシウムを供給します。つまり、緑泥石は土壌中のマグネシウムの貯蔵庫としての役割を担っています。
さらに、土壌中のpHや他の鉱物の影響を受けて緑泥石からマグネシウムが溶け出す速度が変化することも指摘されています。
/** Geminiが自動生成した概要 **/
ミカン栽培において「青い石が出る園地は良いミカンができる」という言い伝えがあります。この青い石は緑泥石を多く含む変成岩である「青石」のことです。緑泥石は保水性・排水性・通気性に優れており、ミカンの生育に必要なリン酸の供給源となるため、良質なミカン栽培に適した土壌となります。言い伝えは、経験的に緑泥石がもたらす土壌の利点を表しており、科学的根拠に基づいた先人の知恵と言えます。
/** Geminiが自動生成した概要 **/
かつて黒雲母は単一の鉱物と考えられていましたが、現在ではマグネシウムを多く含む金雲母と鉄を多く含む鉄雲母の固溶体であることが分かっています。金雲母の化学組成はKMg3AlSi3O10(OH)2、鉄雲母はKFe3^2+AlSi3O10(OH,F)2です。金雲母は風化すると、緑泥石やバーミキュライトといった粘土鉱物へと変化します。つまり、金雲母の風化を理解することは粘土鉱物の理解を深めることに繋がります。
/** Geminiが自動生成した概要 **/
珪藻土にはケイ酸が多く含まれ、多孔質構造で水分 retentionに優れています。このため、土壌改良材として使用することで、土壌水分保持力の向上と、ケイ酸の持続的溶出が期待されます。
ケイ酸は植物の細胞壁の強化や病害抵抗性の向上に役立ち、特にイネ作では、倒伏防止や品質向上効果が期待できます。しかし、過剰に添加すると、土壌のアルカリ化や土壌養分の吸収阻害につながる可能性があります。
珪藻土を土壌改良材として使用する場合は、土壌の性質や作物の種類に合わせて適切な量の添加が重要です。一般的には、土壌100kgあたり1~2kgの珪藻土を、耕起や移植時に混ぜ込む方法が推奨されています。
/** Geminiが自動生成した概要 **/
コーヒーかすに含まれるカフェインは、植物の生育を抑制する可能性があります。しかし、分解されると土壌を改善し、植物の成長を促進します。また、コーヒーかすにはクロロゲン酸というポリフェノールが含まれており、病気を抑制する効果があるとされています。2年目以降、クロロゲン酸はタンニンと反応するため、抑制的な効果が軽減されます。カフェインは植物にアデノシン受容体様の構造が存在しないため、動物に見られるような覚醒作用はありません。
/** Geminiが自動生成した概要 **/
コハク酸は、貝類や日本酒に多く含まれる酸味と旨味を持つ有機化合物です。クエン酸回路の中間体として、生体内エネルギー産生に重要な役割を果たします。構造的には、2つのカルボキシ基を持つジカルボン酸で、クエン酸から数段階を経て生成されます。
旨味成分として知られるグルタミン酸は、コハク酸の前駆体であるα-ケトグルタル酸と関連しており、コハク酸もグルタミン酸に似た旨味を持つと考えられます。貝類に多く含まれる理由は、エネルギー代謝経路の違いや、浸透圧調整に関与している可能性などが考えられています。
/** Geminiが自動生成した概要 **/
銅などの金属は酸と反応して溶ける。この反応では、金属の表面の金属イオンが溶液中の酸と反応して、金属イオンの水和物(水に囲まれたイオン)となり、溶液中に放出される。一方、酸は水素イオンを失い、溶液中の水和水素イオンとなる。金属イオンと水和水素イオンが反応して、水素ガスを発生させる。この反応は、金属の表面に凸凹を作ったり、穴を開けたりするため、金属を溶かす。また、酸が濃ければ金属が溶ける速度も速くなる。
/** Geminiが自動生成した概要 **/
記事は、大葉の香り成分リモネンがラット実験で抗ストレス作用を示したことを報告しています。リモネンはラットの肝臓で代謝され、ペリリルアルコールとペリラ酸になり、これらの代謝物が脳に到達します。代謝物の脳内濃度が高まると、ドーパミンなどの神経伝達物質の変動が見られ、リモネンがドーパミン放出を促進すると考えられます。ドーパミンは快感や意欲に関わる神経伝達物質であることから、リモネンの抗ストレス作用が示唆されます。
/** Geminiが自動生成した概要 **/
SOY Shop用のモジュール版ブログ記事表示プラグインがリリースされました。このプラグインを使用すると、SOY Shopサイト内の任意のページに、SOY CMSで運営するブログの記事一覧を表示できます。
従来のブログ記事表示プラグインは、表示設定をしていないページでも処理が実行され、サイト全体のパフォーマンスに影響を与える可能性がありました。今回のアップデートでは、ブロックタグが記述されたページのみプラグインの処理が実行されるようになり、表示速度の改善が期待できます。
プラグインは下記URLからダウンロード可能です。
https://saitodev.co/soycms/soyshop/
/** Geminiが自動生成した概要 **/
## 大浦牛蒡の持つ可能性:250字要約
大浦牛蒡は、一般的な牛蒡より太く長い品種で、食物繊維やポリフェノールが豊富。特に、水溶性食物繊維のイヌリンは、血糖値の上昇抑制や腸内環境改善効果が期待できる。
近年、食生活の変化から食物繊維摂取不足が問題視される中、大浦牛蒡は手軽に摂取できる食材として注目されている。
また、大浦牛蒡の栽培は、耕作放棄地の活用や雇用創出など、地域活性化にも貢献する可能性を秘めている。
食と健康、そして地域の課題解決に繋がる可能性を秘めた食材と言えるだろう。
/** Geminiが自動生成した概要 **/
息子さんに「この草は何?」と聞かれ、名前を思い出せなかったお父さん。特徴的な葉を撮影し、帰宅後調べてみたものの、子供向けの図鑑では分からず。そこでGoogle画像検索を利用したところ、「アメリカフウロ」という植物だと判明。改めてGoogle画像検索の便利さを実感したというお話です。
/** Geminiが自動生成した概要 **/
SOY CMSとSOY Shopの多言語サイト構築方法を大幅に改修しました。
従来はテンプレート数増加による管理コスト増大が課題でしたが、今回は以下の改善を行いました。
* 日本語ページと英語ページで同じテンプレートを使用可能に
* 画像ファイル名に言語キーを付与することで自動切り替え
* 記事とラベルを他言語のものと紐付け可能に
これらの改善により、管理画面の簡素化、多言語サイト構築の効率化を実現しました。
新パッケージはサイトからダウンロード可能です。
/** Geminiが自動生成した概要 **/
河津町の広報誌によると、町内の段間遺跡から大量の黒曜石製の石器が出土した。黒曜石は60km離れた神津島産であることが判明しており、縄文時代の人々が丸木舟で12時間かけて往復し、入手していたと考えられている。神津島は伊豆半島南東部から見渡せる距離にあり、当時の人々の旺盛な探究心をうかがわせる。このことから、既に組織的な活動が行われていた可能性も指摘されている。なお、河津と神津島の「津」は古代の港を意味し、地名の由来を探ることも興味深い。
/** Geminiが自動生成した概要 **/
川崎重工業が開発した新型ジョークラッシャ「AUDIS JAW™」は、鉄鋼スラグ処理に特化した破砕機です。従来機に比べ処理能力が高く、大きなスラグも破砕できるのが特徴です。電気系統の省エネ化や摩耗部品の長寿命化など、環境性能と経済性に優れた設計となっています。鉄鋼スラグを有効活用する上で、破砕処理の効率化は重要な課題であり、AUDIS JAW™はその解決策として期待されています。
/** Geminiが自動生成した概要 **/
水田のメタン発生抑制のために鉄剤を検討しており、今回は鋼鉄スラグに着目しています。鋼鉄スラグは鉄鋼生産時の副産物で、シリカなどの不純物と石灰から成ります。鉄分が含まれているためメタン抑制効果が期待できますが、石灰が多く含まれるため、効果があるのか疑問が残ります。そこで、鋼鉄スラグについてさらに詳しく調べています。
/** Geminiが自動生成した概要 **/
かつて高槻は「高月」と呼ばれ、月弓神とスサノオノミコトを祀る社の名前が由来とされています。
高槻には、第26代継体天皇が埋葬されていると考えられている今城塚古墳が存在します。
「高月」から「高槻」に変わった理由は、室町時代に大きく成長したケヤキの木が由来とされています。
ケヤキはニレ科の落葉高木で、ツキやツキノキとも呼ばれます。
高槻の地名とケヤキの関係、そして古代史との関連性を紐解くことで、植物学と歴史の両面から新たな発見があるかもしれません。
/** Geminiが自動生成した概要 **/
石鹸は、油脂をアルカリ剤で煮立てる「鹸化」によって作られます。油脂はグリセリンに脂肪酸が結合した構造をしていますが、水に溶けにくい性質です。鹸化によって脂肪酸がグリセリンから切り離されると、疎水性の炭素鎖と親水性のカルボニル基を持つようになり、界面活性剤として機能するようになります。記事では、脂肪酸の炭素鎖の長さによって界面活性機能が変わるのかという疑問が提示されています。
/** Geminiが自動生成した概要 **/
この記事は、弓の材料として知られる「梓」という漢字の由来について考察しています。現在「梓」と呼ばれる特定の木は存在せず、ミズメやキササゲなどが候補として挙げられています。
キササゲは薬効を持つ実が「梓実」と呼ばれていたことから、梓の候補となりました。その一方で、「楸」という美しい漢字も当てられています。
この記事では、キササゲのしなやかな枝が弓の材料に適していること、薬効を持つ実が「梓実」と呼ばれていたことから、「梓」と当てはめられた可能性を示唆しています。
/** Geminiが自動生成した概要 **/
梓弓は、古事記などで「真の弓」とされ、神事に用いられる特別な弓です。材料となる「梓」は、諸説ありますが、現在はカバノキ科のミズメと考えられています。
ミズメは傷つけるとサリチル酸メチルという芳香を放ち、この香りは魔除けの効果があると信じられてきました。神事に用いる弓に魔除けの力を見出すのは自然な流れと言えるでしょう。
なぜ「梓」に木偏の漢字が当てられていないのか、興味深い点は尽きません。
/** Geminiが自動生成した概要 **/
この記事は、古代の船の材料に使われたクスノキの漢字「樟」と「楠」、そして「鳥之石楠船神」という神話を通して、古代の植生と場所の関係を探るものです。
スサノオノミコトの神話では、クスノキは杉や檜と共に誕生したとされますが、クスノキは広葉樹で、杉や檜は針葉樹であることに疑問を呈しています。
そして、北のイメージの針葉樹と南のイメージの広葉樹が共存する場所として、木国(和歌山南部)を挙げ、過去の田道間守と熊野古道の関係についての考察記事へと繋いでいます。
/** Geminiが自動生成した概要 **/
記事は、千葉県市川のクロマツに戦争の傷痕を伝える説明板が設置されたことを報じています。
戦中、航空燃料の原料である松脂を採取するため、このクロマツにも傷がつけられました。市民団体「市川の歴史を語り継ぐ会」が調査した結果、傷跡が残るクロマツは市内約20本確認され、戦争の記憶を後世に伝えるため、説明板の設置に至りました。
説明板には、松脂採取の歴史や戦争との関わり、平和の大切さなどが記されています。戦争を経験していない世代にも、身近な場所にあるクロマツを通して、過去の出来事や教訓を伝える貴重な資料となっています。
/** Geminiが自動生成した概要 **/
渋柿の渋みは、果実に含まれる「シブオール」というタンニンが、ミネラルと反応してミネラル吸収を阻害することで起こります。
時間が経つにつれて渋みが減るのは、柿の熟成过程中に発生するアセトアルデヒドがタンニン同士を結合し、アセトアルデヒドは一部のタンニンがミネラルと反応するのを阻害するためです。
この反応により、シブオールが水に溶けにくくなり、渋みが低減します。
/** Geminiが自動生成した概要 **/
疲労は、アミノ酸不足、ウイルス感染、酸化ストレス、小胞体ストレスなど、さまざまなストレス因子が引き起こす統合的ストレス応答に関与しています。
アミノ酸不足は、酵素に必要なタンパク質の合成が妨げられることで疲労を引き起こします。甘いものを過剰摂取すると、体内の総アミノ酸量に対する糖質の割合が高くなり、疲労につながる可能性があります。
高タンパク質で生産性の高いダイズは、アミノ酸不足による疲労対策に有効です。ダイズの脱脂粉末や大豆肉は、タンパク質を豊富に含み、疲労回復に役立てることができます。
/** Geminiが自動生成した概要 **/
「疲労とはなにか」では、疲労を細胞機能の障害と定義し、疲労感と区別しています。eIF2αのリン酸化が疲労に関連し、米ぬかに含まれるγ-オリザノールがeIF2αの脱リン酸化を促進し、心臓の炎症を抑制することが示されています。
ただし、米ぬかの摂取による疲労回復効果は限定的です。本書では、疲労に対する特効薬はなく、疲労の仕組みを理解することが重要だと述べています。
/** Geminiが自動生成した概要 **/
今回の記事では、ナシとリンゴの栄養成分比較において、リンゴに含まれるプロシアニジンがナシにはほとんどない可能性について論じています。ナシのポリフェノールはアルブチン、クロロゲン酸、カフェ酸で構成され、抗酸化作用やメラノサイド合成阻害作用を示すものの、プロシアニジンの有無は不明です。プロシアニジンは腸内環境改善効果などが期待されるため、もしナシに含まれていなければ、リンゴとの栄養価の差が生じると考えられます。今後は、ナシにおけるプロシアニジンの存在有無や、他の注目すべき栄養素について調査を進める必要があると結論付けています。
/** Geminiが自動生成した概要 **/
鮭のアスタキサンチンは、ルテインより極性が高くヒトへの吸収率が低いと考えられますが、実際には吸収されています。油性溶液にする等、吸収率を高める調理法が関係している可能性があります。もしそうであれば、オレンジのビオラキサンチンの吸収率も、調理法によって高まるかもしれません。
/** Geminiが自動生成した概要 **/
オレンジジュースとみかんジュース、カロテノイド摂取の観点からどちらが良いか。人間はルテインやβ-クリプトキサンチンなど特定のカロテノイドしか吸収できない。β-クリプトキサンチンはみかんに多く含まれる一方、オレンジに多いビオラキサンチンは吸収されにくい。よってカロテノイド摂取にはみかんジュースの方が効果的と言える。
/** Geminiが自動生成した概要 **/
金時ニンジンの赤い色素は、西洋ニンジンと比較してβ-カロテンが少なく、リコペンが多いことが特徴です。β-カロテンはニンジンの甘味成分ですが、金時ニンジンではβ-カロテンの前段階であるリコペンが大量に蓄積しているため、甘味との関連性が考えられます。リコペンの蓄積が、金時ニンジンの独特の甘味に関係している可能性があります。
/** Geminiが自動生成した概要 **/
紫ニンジンの紫色は、カロテノイドの一種であるフィトエンではなく、アントシアニンによるものです。アントシアニンはブルーベリーにも含まれる色素で、紫色の発色に関与します。一方、フィトエンは無色のカロテノイドです。通常の橙色や黄色のニンジンではアントシアニンの蓄積状況は不明ですが、紫ニンジンが根にアントシアニンを大量に合成することで何か利点があるのかは興味深いところです。
/** Geminiが自動生成した概要 **/
黄色いニンジンは、β-カロテンが少ないため、薄い色をしています。記事では、β-カロテンからゼアキサンチンへの変化が示唆されていますが、検索しても確認できませんでした。実際には、黄色いニンジンはα-カロテンの比率が高い品種です。α-カロテンは黄色い色素で、β-カロテンとは異なるカロテノイドです。農研機構の研究によると、ニンジンにはα-カロテンとβ-カロテンが存在し、簡易的に分別定量する方法が開発されています。
/** Geminiが自動生成した概要 **/
この記事では、落葉に関連して葉の脱色とアブシジン酸の関係について考察しています。葉緑素は分解されマグネシウムが回収されますが、カロテノイドの行方が疑問として提示されています。
そこで、植物ホルモンであるアブシジン酸が登場します。アブシジン酸は休眠や成長抑制に関与し、葉の脱色にも関係しています。そして、アブシジン酸はカロテノイドの一種であるビオラキサンチンを前駆体として合成されます。
記事は、脱色中の葉でビオラキサンチンからアブシジン酸が合成される可能性を示唆し、更なる考察へと続きます。
/** Geminiが自動生成した概要 **/
植物はイノシン酸やグアニル酸といった核酸系旨味成分を合成しますが、旨味成分として話題になることは稀です。これは、植物に含まれるグルタミン酸などのアミノ酸系旨味成分の存在感に比べて、含有量が相対的に少ないことが理由として考えられます。干しシイタケや魚粉など、乾燥によって核酸系旨味成分が凝縮される食材も存在しますが、野菜では乾燥させてもグルタミン酸の旨味が dominant な場合が多いようです。
/** Geminiが自動生成した概要 **/
植物は吸収したアミノ酸態窒素を、光合成で得たアミノ酸の補填としてタンパク質や核酸の合成に利用します。 具体的には、グルタミンやアラニンなどのアミノ酸は、体内で様々なアミノ酸に変換された後、タンパク質や核酸の材料となります。 このことから、有機質肥料による食味向上は、アミノ酸態窒素が植物に直接吸収され、効率的に利用されるためと考えられます。
/** Geminiが自動生成した概要 **/
魚粉肥料を使うとトマトが美味しくなると言われるが、本当に魚の出汁の味になるのか?旨味成分であるグルタミン酸、グアニル酸、イノシン酸に着目して解説する。トマトにはグアニル酸とグルタミン酸が含まれており、魚粉肥料にはイノシン酸が豊富である。植物が核酸を吸収して葉に蓄積すると仮定すると、トマトにイノシン酸の旨味が加わり、三大旨味の相乗効果でさらに美味しくなるかもしれない。
/** Geminiが自動生成した概要 **/
この記事は、カリ肥料、特に塩化カリウムについて解説しています。塩化カリウムは海水から食塩を精製した後の残留物から工業的に製造されるため、有機肥料へのカリウム添加に適しています。
しかし、塩化カリウムは不純物として塩化マグネシウムなどを含むため、土壌のEC上昇、塩素イオンによる反応、マグネシウム蓄積といった問題に注意が必要です。
今後は塩素イオンの影響について掘り下げ、有機肥料における塩化カリウムの安全かつ効果的な利用方法を探求していく予定です。
/** Geminiが自動生成した概要 **/
山形県で有機質肥料メインの栽培におけるカリ施肥の難しさについて議論されています。
塩化カリは土壌への影響が懸念され、パームカリは海外依存が課題です。有機質肥料では、草木灰や米ぬかはリン酸過多が懸念されます。
そこで、硝石(硝酸カリ)が候補に挙がりますが、取り扱いに注意が必要です。地力窒素と組み合わせることで問題は緩和できる可能性があり、日本古来の硝石採取方法にヒントがあるかもしれません。
/** Geminiが自動生成した概要 **/
植物は根酸を使ってタンニンを分解し、凝集したタンパク質を分散させて地力窒素を活用する可能性があります。しかし、石灰過多の土壌では根酸が石灰と優先的に反応するため、タンニンの分解が阻害され、地力窒素の発現が低下する可能性があります。さらに、石灰過多は微量要素の溶脱も抑制するため、分散したタンパク質の無機化も遅延する可能性があります。つまり、石灰過多は地力窒素の活用を阻害する要因となる可能性があります。
/** Geminiが自動生成した概要 **/
和歌山県産の香酸柑橘「新姫」と「ジャバラ」に豊富に含まれるフラボノイドの一種、ナルリチンはI型アレルギーへの有効性が期待されています。ナルリチンは、花粉症などのアレルギー反応を引き起こすヒスタミンの放出を抑制する効果があるとされ、動物実験では、アレルギー性鼻炎の症状を緩和することが確認されています。新姫が発見された熊野市と、ジャバラの産地である北山村は地理的に近く、カンキツとアレルギーの関係を探る上で興味深い地域と言えます。ポリフェノールの一種であるフラボノイドは、花粉症を含む様々なアレルギー症状の改善に役立つ可能性が示唆されています。
/** Geminiが自動生成した概要 **/
新姫は、山口県発祥の香酸カンキツで、タチバナと在来マンダリンの自然交配種とされる。果実は緑色で、酸味と甘味のバランスが良く、独特の香りが特徴。機能性成分ヘスペリジンを豊富に含み、抗不安作用などが期待されている。ヘスペリジンは、アデノシン受容体を介して作用すると考えられている。新姫は、香酸カンキツでありながら、マンダリンの特徴も併せ持つ興味深い品種である。
/** Geminiが自動生成した概要 **/
香酸カンキツ、特に新姫は、ポリメトキシフラボノイドの一種であるノビレチンを豊富に含み、これが動物実験で神経系に作用し、記憶学習能の向上などが示唆されています。
著者は、ノビレチンの効果と田道間守の不老長寿の伝説を結びつけ、その効能に納得を示しています。
しかし、香酸カンキツがなぜ動物に有益なノビレチンを合成するのか、その理由は不明であり、著者は昆虫への作用などを考察しています。
/** Geminiが自動生成した概要 **/
この記事は、香酸カンキツと呼ばれる香り高い柑橘類について解説しています。カボス、スダチ、ユズといった日本でおなじみのものに加え、新種のニイヒメも紹介されています。ニイヒメはタチバナと日本の在来マンダリンの子孫と推定され、日本の柑橘の歴史を紐解く上で重要な品種です。香りや健康効果をもたらす成分分析を通して、香酸カンキツの魅力に迫ります。
/** Geminiが自動生成した概要 **/
古代ローマでは、食用に向かないシトロンが珍重されていました。その理由は、果皮の香りの良さや、あらゆる病気に効く薬、解毒剤と考えられていたためです。シトロンは蛇の咬み傷や船酔い、咳など様々な症状に効果があるとされ、医師たちはその花や種、果皮などを薬として処方していました。このように、シトロンは古代の人々の生活にとって重要な役割を担っていました。
/** Geminiが自動生成した概要 **/
自然発生したと考えられる3つの柑橘類、マンダリン、シトロン、ザボンは、今日の多様な柑橘類のルーツです。マンダリンはウンシュウミカンのような甘い柑橘類、シトロンはレモンに似た柑橘類、そしてザボンは日本ではブンタンと呼ばれる大きな柑橘類です。これら3つの特徴を理解しておくと、他の柑橘類の起源や特徴を理解する手がかりになります。他の柑橘類は、この3種の自然交雑から生まれたと考えられています。
/** Geminiが自動生成した概要 **/
アラビアガムの樹液には、粘性のある多糖類が主成分で、タンパク質が少量含まれています。多糖類はカルシウムと結合すると粘性や弾力を得ます。一方、昆虫が集まる樹液は多糖類が少なくタンパク質が多く、粘性がありません。このため、樹皮の損傷時に滲み出た樹液が穴を塞がず、昆虫が樹液にたどり着きやすくなっています。しかし、なぜ昆虫が集まる木は樹液の修復能力が低いのかは不明で、成長の早さが関係している可能性があります。
/** Geminiが自動生成した概要 **/
著者は、猛暑日が稲作に与える影響を懸念し、サーモグラフィカメラを用いて中干し無しの田と中干しを行った田の水温を比較しました。
結果は、中干し無しの田では水温が36℃前後と高く、田全体に高温の水が行き渡っている可能性が示唆されました。一方、中干しを行った田では、端は高温でも中心部は遮光により想定より気温が低いかもしれないと考察しています。
これは、中干し無しの田では水による熱伝導で高温が全体に広がりやすく、中干しを行った田では水がない分、遮光の影響を受けやすいことを示唆しています。
著者は、今回の結果から、中干し有無と株への影響について更に考察を深めたいと考えています。
/** Geminiが自動生成した概要 **/
古代日本では、船の材木は地域によって異なり、瀬戸内や太平洋側ではクスノキ、日本海側ではスギが用いられました。
クスノキは史前帰化植物で、薬や防虫剤として利用価値が高く、植林された可能性もあります。大きなクスノキは深い森で育つため、古代においては、森と人の生活圏のバランスが重要だったと考えられます。
/** Geminiが自動生成した概要 **/
Dr. Stoneの影響で鉄粉に興味を持つ。脱酸素材の鉄粉を肥料として使えるか検討。酸化鉄(使い古しの鉄粉)は水田で窒素固定を助ける。未酸化の鉄粉を肥料として使う場合、鉄酸化菌が二価鉄を三価鉄に酸化し、その過程で他の養分の溶脱や土壌形成を促す可能性がある。レンゲ米の田んぼの土壌改良例から、鉄粉が土壌改良を加速させ、腐植形成に役立つ可能性を示唆。
/** Geminiが自動生成した概要 **/
弥生時代、徳島県の加茂宮ノ前遺跡では、近畿地方との交易によって鉄器がもたらされていました。しかし、周辺で鉄鉱石を採掘した痕跡は見つかっておらず、どのように鉄を入手していたかは不明です。
記事では、鉄鉱石を探す手段として「天然磁石」の存在に着目しています。特に磁鉄鉱は、マグマが固まった後に落雷を受けると磁気を帯びるため、天然磁石として利用できます。
しかし、加茂宮ノ前遺跡周辺で磁鉄鉱の採掘跡は見つかっていません。弥生時代の徳島県の人々がどのように鉄鉱石を手に入れていたのかは、依然として謎のままです。
/** Geminiが自動生成した概要 **/
ラムネ菓子に含まれるブドウ糖の製造方法について解説しています。ブドウ糖は砂糖と比べて甘味が少ないものの、脳が速やかに利用できるという利点があります。植物は貯蔵時にブドウ糖をショ糖に変換するため、菓子にブドウ糖を配合するには工業的な処理が必要です。
ブドウ糖は、デンプンを酵素で分解することで製造されます。具体的には、黒麹菌から抽出されたグルコアミラーゼという酵素を用いた酵素液化法が用いられます。かつてはサツマイモのデンプンが原料として使用されていました。
この記事では、ブドウ糖の製造がバイオテクノロジーに基づいたものであることを紹介しています。
/** Geminiが自動生成した概要 **/
SOY Shopの予約カレンダー機能がアップデートされ、スマホ版での表示が改善されました。
主な変更点は以下の通りです。
* ○ヶ月先以降のカレンダー非表示設定の追加
* スマホ表示時の日付カラム数設定とページャ設定の追加
* 予約可能期間が2週間から2ヶ月に延長
これらのアップデートにより、スマホユーザーはより使いやすく、長期的な予約もしやすくなりました。パッケージはサイトからダウンロード可能です。
/** Geminiが自動生成した概要 **/
SOY CMSのテンプレート編集で発生する、CMSタグの閉じタグ忘れによるエラーを防止するプラグイン「CMSタグチェックプラグイン」の紹介記事です。
記事では、CMSタグの閉じタグ忘れが原因で発生するエラーとその修正方法、タグが増えることによる確認作業の煩雑さを解説し、このプラグインによってタグの記述ミスをテンプレート更新時に検知できることを説明しています。
プラグインの導入により、製作時間の短縮などのメリットがあると期待されます。
/** Geminiが自動生成した概要 **/
黒糖の色は、ショ糖精製過程で除去される糖蜜に由来します。糖蜜には、フェノール化合物やフラボノイドなどの褐色色素が含まれており、これが黒糖特有の色と香りのもととなっています。これらの色素は、抗酸化作用や抗炎症作用など、健康への良い影響も報告されています。つまり、黒糖の黒色成分は土壌改良に直接関与するものではなく、ショ糖精製の副産物である糖蜜の色素に由来するものです。
/** Geminiが自動生成した概要 **/
この記事は、沖縄の土壌と地質の関係を考察しています。まず、沖縄本島南部を例に、土壌図と地質図を比較しました。土壌図では未熟土が多いのに対し、地質図では石灰岩の分布は予想より狭く、未熟土の成因に疑問が生じました。
そこで土壌図を拡大したところ、石灰岩地域は石灰性暗赤色土、それ以外は低地土やグライ土と分類されていました。つまり、石灰岩以外の付加体が未熟土の基盤となっている可能性があります。
結論として、沖縄本島では石灰岩の影響は限定的で、未熟土の成因には他の要因も考えられると示唆しました。
/** Geminiが自動生成した概要 **/
ブルーベリー由来のアントシアニンは、網膜の炎症を軽減し、光受容体であるロドプシンの減少を抑制する抗酸化作用があります。これらの効果により、目の健康を維持し、視力低下を防ぐことが示唆されています。
アントシアニンは植物が光ストレスから身を守るために合成するフラボノイドの一種です。過剰な光を吸収し、活性酸素の発生によるダメージを防ぐ働きがあります。
それゆえ、ブルーベリーのサプリメントの摂取は、現代社会における青色光による光ストレスに対抗し、目の機能を維持するのに役立つ可能性があります。
/** Geminiが自動生成した概要 **/
LDLコレステロールは、肝臓で作られ末梢組織にコレステロールを運ぶ役割を持つため、過剰になると動脈硬化のリスクを高めます。しかし、LDLコレステロール自体が動脈硬化を引き起こすわけではありません。血管壁に蓄積したコレステロールが活性酸素によって酸化し、過酸化脂質に変化することで動脈硬化を引き起こします。そのため、抗酸化作用を持つカロテノイド、ポリフェノールなどを摂取することが重要です。お茶に含まれるカテキンも抗酸化作用があり、風邪予防だけでなく動脈硬化予防にも効果が期待できます。
/** Geminiが自動生成した概要 **/
リノール酸は必須脂肪酸だが、過剰摂取すると脳血管系疾患リスクが上昇する可能性がある。 これは、リノール酸からアラキドン酸が、α-リノレン酸からDHAが合成される経路が競合するためである。DHAは脳の働きに重要だが、リノール酸過剰摂取によりDHA合成が抑制される。特に乳幼児の脳発達への影響が懸念されるため、粉ミルクのリノール酸量には注意が必要だ。α-リノレン酸やDHA摂取を意識することで改善が期待される。
/** Geminiが自動生成した概要 **/
脂肪動員とは、糖が枯渇した際に、エネルギー源として脂肪が利用され始める現象です。具体的には、中性脂肪であるトリアシルグリセロールから脂肪酸が切り離され、エネルギーを生み出す過程を指します。切り離されたグリセロールは解糖系に、脂肪酸はβ酸化を経てアセチルCoAに変換されます。アセチルCoAはクエン酸回路で利用され、大量のATPを産生します。脂肪動員には補酵素A(CoA)が重要な役割を果たします。
/** Geminiが自動生成した概要 **/
中性脂肪は、グリセリンという物質に脂肪酸が3つ結合したもので、エネルギー貯蔵や臓器の保護などの役割があります。脂肪酸の種類によって構造や融点が異なり、飽和脂肪酸が多い動物性脂肪は常温で固体、不飽和脂肪酸が多い植物性脂肪は液体であることが多いです。
グリセリンに結合する脂肪酸は1〜3つの場合があり、それぞれモノアシルグリセロール、ジアシルグリセロール、トリアシルグリセロールと呼ばれます。中性脂肪という名前は、グリセリンと脂肪酸が結合すると中性になることに由来します。
/** Geminiが自動生成した概要 **/
必須脂肪酸とは、人体にとって必要不可欠だが、体内で合成できないため、食事から摂取しなければならない脂肪酸のこと。リノール酸(ω-6脂肪酸)とα-リノレン酸(ω-3脂肪酸)の2種類が存在する。
人体は炭水化物から脂肪酸を合成できるが、飽和脂肪酸やω-9脂肪酸(オレイン酸)までであり、ω-6やω-3といった多価不飽和脂肪酸は合成できない。
植物は、細胞膜の流動性を保つため、低温環境でも固化しないよう、多価不飽和脂肪酸を合成する能力を持つ。一方、動物はこれらの脂肪酸を合成できないため、植物から摂取する必要がある。
必須脂肪酸は、細胞膜の構成成分となる他、ホルモン様物質の生成や、体温調節、エネルギー貯蔵など、重要な役割を果たす。不足すると、皮膚炎、成長障害、免疫力低下などの健康問題を引き起こす可能性がある。
/** Geminiが自動生成した概要 **/
お茶の味を決める要素は、苦味、渋み、旨味の3つです。
* **苦味**:カフェインやテオブロミンといった成分によるもので、お茶の覚醒作用や集中力を高める効果に貢献します。
* **渋み**:カテキン類、特にエピガロカテキンガレート(EGCG)によるもので、抗酸化作用や脂肪燃焼効果などが期待できます。
* **旨味**:テアニンというアミノ酸によるもので、お茶の甘みやコク、リラックス効果に繋がります。
これらの要素のバランスによって、お茶の種類や淹れ方によって味が大きく変わるのが、お茶の魅力と言えるでしょう。
/** Geminiが自動生成した概要 **/
巷で話題のプリン体とは、プリン骨格を持つ核酸塩基のことです。プリンは、ビールでよく耳にする痛風と関係が深く、体内で分解されると尿酸となります。
プリン体はグリシンから合成され、グルタミン、アスパラギン酸、ギ酸も材料となります。つまり、グリシン摂取=プリン体増加、というわけではありません。
プリン体は健康面で何かと話題に上がるため、もう少し詳しく見ていく必要がありそうです。
/** Geminiが自動生成した概要 **/
この記事は、Bootstrapを用いてWebサイトのCore Web Vitalsスコアを向上させる方法を解説しています。具体的には、BootstrapのボタンコンポーネントのCSSのみを抽出し、ページHTMLにインライン挿入する方法を紹介しています。
手順としては、Bootstrapのソースファイルから必要なSCSSファイルをサイトディレクトリに配置し、SOY CMS側でSCSSコンパイルの設定を行います。これにより、ボタン用のCSSがページに直接記述され、外部ファイルの読み込みが不要になります。
さらに、生成されたCSSを圧縮してインライン化することで、ページ表示速度の向上を目指します。ただし、毎回SCSSをコンパイルするのは非効率なので、CSSやページ全体のキャッシュ化が推奨されています。
/** Geminiが自動生成した概要 **/
SOY CMSにSCSSコンパイラを実装する方法を解説した記事です。scssphpを用い、ページ出力時にSCSSファイルをコンパイルして表示するモジュールを作成します。具体的な手順としては、scssファイルを配置し、モジュールにコンパイル処理を記述します。記事ではサンプルコードも紹介されており、ダウンロード可能なパッケージも提供されています。@importの記述に誤りがなくstyle.cssが空の場合、pscssに実行権限を与える必要がある場合があります。
/** Geminiが自動生成した概要 **/
記事では、PageSpeed Insightsのユーザー補助スコアを100点にするための取り組みが紹介されています。
具体的には、記事タイトル下のカテゴリ名のリンクで指摘されていた「背景色と前景色には十分なコントラスト比がありません」という問題を解決しています。
解決策としては、WebAIMのConstract Checkerを用いて、背景色と文字色のコントラスト比を調整しました。スライダーで色を調整し、Passになるまで繰り返した結果、問題を解消できました。
ただし、サムネイル画像の低解像度に関する指摘は未解決で、別の対応策を検討する必要があるとのことです。
/** Geminiが自動生成した概要 **/
Ubuntu 22.10 で WiFi 接続エラーが発生し、NetworkManager の再起動で解決する場合がある現象について記述されています。
エラー発生時には NetworkManager のログに "ip-config-unavailable" が記録され、IP アドレス取得のタイムアウトが原因と推測されます。
記事では、WiFi 接続時の IP アドレス取得が他のサービスの起動よりも早く行われることが原因の可能性を示唆しています。解決策として IP アドレス取得の時間を延長する方法があるようですが、記事では検証されていません。
/** Geminiが自動生成した概要 **/
SOY CMSのカスタムフィールドアドバンスドで、これまでブロック内でのみ使用可能だったブログブロックタグ(b_block:id)を、ブロック外でも使用できるようになりました。
今回のアップデートにより、記事詳細ページの下部など、ブロック外に配置したお問い合わせフォームなどを、記事ごとに表示内容を変更することが可能になります。
設定は、カスタムフィールドアドバンスドの個々のフィールドの高度な設定で行います。例えば、フィールドIDが「chk」の場合、記事詳細ページで「b_block:id="is_chk"」で囲った箇所はチェックが入っている場合に、「b_block:id="no_chk"」で囲った箇所はチェックが入っていない場合に表示されます。
アップデートパッケージは、saitodev.co/soycms/ からダウンロードできます。
/** Geminiが自動生成した概要 **/
植物性食材でBCAAを多く含むのは、大豆製品である豆腐や納豆です。牛肉サーロインよりも含有量が多いことは興味深いです。植物は筋肉を持たないのに、なぜロイシンを多く含むのか? それは、タンパク質合成時に空間を作る役割を担っている可能性があります。疎水性の基を持ち、荷電しないBCAAの構造が、タンパク質の構造形成に重要な役割を果たしていると考えられます。大豆は、稲作と組み合わせることで、効率的にタンパク質を摂取できる未来の食材と言えるでしょう。
/** Geminiが自動生成した概要 **/
除草剤の中には、植物のBCAA合成を阻害するものがあります。特に、ALS(アセト乳酸合成酵素)阻害剤は、BCAA合成の初期段階を阻害することで、イソロイシン、ロイシン、バリンの生成を妨げます。ダイズ栽培では、ALS阻害剤耐性遺伝子組み換えダイズが存在することから、実際にALS阻害剤が使用されている可能性があります。しかし、実際の使用状況については更なる調査が必要です。
/** Geminiが自動生成した概要 **/
BCAA (分岐鎖アミノ酸)は、筋肉のエネルギー源となり、運動中の筋肉の分解を抑える効果があります。運動でBCAAが不足すると、筋肉が分解されてエネルギーとして使われてしまうため、疲労感が増します。
BCAAを摂取することで、筋肉のエネルギー源を補給し、筋肉の分解を防ぐことができるため、疲労回復効果が期待できます。また、運動後の筋肉痛の軽減にも効果があると言われています。
/** 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が自動生成した概要 **/
Minecraft: Pi Edition: Rebornにアイテムを追加するため、MCreator2022.2を使用し、ブドウを追加する方法を解説した記事です。
まず、MCreatorをダウンロードしてインストールします。次に、新規Modを作成し、アイテムの画像を作成します。画像作成は、MCreator内のペイントツールを使用します。完成した画像は任意の場所に保存します。
この記事では、CPUがARM64のマシンにはMCreatorをダウンロードできないことも補足されています。
/** Geminiが自動生成した概要 **/
Minecraft: Pi Edition: Reborn (MCPI) の拡張SDKを使い、ターミナルに"Helloworld"を出力する手順を紹介しています。
まずMCPI++ 2.4.3-3をインストールし、C++コンパイラなどの開発環境を整えます。
次に、"Helloworld"を出力するコードを記述した"hello.cpp"を作成し、共有ライブラリとしてコンパイル、MCPIのmodsディレクトリに配置します。
MCPIを実行すると、起動時に"Helloworld"が出力されます。これは、共有ライブラリ内の特定の関数がエントリポイントとして機能するためです。
記事では最後に、ゲーム画面に影響を与えるコードの作成に意欲を示しています。
/** Geminiが自動生成した概要 **/
SOY CMSユーザーからブログページ設定に説明文追加の要望があり、ページカスタムフィールドプラグインを作成しました。このプラグインは、ブログページ以外の標準ページにも項目を追加できます。
追加項目は公開側表示と管理画面メモ双方を想定し、公開側表示速度への影響を抑えるため、cms:moduleを介して出力します。
公開側での使用方法詳細はプラグイン詳細画面に記載しています。
対応パッケージは下記サイトからダウンロード可能です。
https://saitodev.co/soycms/
/** Geminiが自動生成した概要 **/
SOY CMSの表示速度改善についての記事です。
今回はプラグインの有効・無効の判定処理を最適化しました。従来は全プラグインの状態を都度ファイルシステムから読み込んでいましたが、キャッシュ化して参照するように変更。これにより、ファイルシステムへのアクセス回数を減らし、不要なプラグインのクラスファイル読み込みを削減することで表示速度を向上させています。
同様の速度改善は、設定情報のデータベース参照回数を減らしたSOY Shopでも行われています。
/** Geminiが自動生成した概要 **/
SOY Shopの表示速度改善のために、データベース参照回数を減らす対策を行いました。
従来は各種設定状況やプラグインの有効状態確認の度にデータベースを参照していましたが、これを改善し、必要な設定を事前に取得・保持するように変更しました。具体的には、よく参照する設定はメモリ上に保持し、プラグインの有効状態は配列で管理することで、データベースへのアクセス回数を減らしています。
この結果、ページ表示の度に発生していたデータベースへのアクセスが減少し、表示速度の向上が期待できます。
/** Geminiが自動生成した概要 **/
SOY CMSのブロック(ラベル、プラグイン)に、カスタムフィールドの拡張ポイント実行有無を設定する機能が追加されました。
従来、カスタムフィールドが増えるとブロックのパフォーマンスが低下する問題がありました。今回の更新により、不要なカスタムフィールドの値取得を抑制し、表示速度の改善が可能となります。
例えば、新着記事一覧でタイトルとリンクのみ表示する場合、カスタムフィールドの取得をオフにすることで効率化できます。
今回の更新は、長期間運用しているサイトでカスタムフィールドが肥大化している場合に特に有効です。ダウンロードはsaitodev.co/soycms/から可能です。
/** Geminiが自動生成した概要 **/
記事では、水位センサーの仕組みを理解するために、簡易的な水位センサーとMicro:bitを使った実験と、レベルスイッチと液面計の説明を参考にしています。
実験の結果、水位センサーの出力値は、センサーが水に接する面積が広いほど大きくなることがわかりました。これは、液面計の仕組みと一致するため、記事では液面計に焦点を当てて解説を進めるとしています。
そして、次回は、センサーが水に接する面積と出力値の関係について詳しく解説する予定となっています。
/** Geminiが自動生成した概要 **/
記事は、稲作の自動化技術の進展について述べています。特に、水位管理の自動化に焦点を当て、水位センサーを用いた実験を紹介しています。
著者は、水位センサーモジュールを購入し、Micro:bitに接続して水位の変化を数値化できることを確認しました。水位の変化に応じて、Micro:bitに表示される数値が変化することを実験を通して明らかにしています。
記事は、水位センサーの仕組みの詳細には触れていませんが、今後の調査課題としています。稲作における自動化技術の可能性を探る内容となっています。
/** Geminiが自動生成した概要 **/
本記事では、SOY CMSのフロントコントローラにおける例外処理の効率化について解説しています。従来のtry-catchによる大域的な例外処理は、パフォーマンスに影響を与える可能性がありました。
そこで、例外処理を廃止し、エラー判定を明示的に行うことで、処理の軽量化を目指しました。具体的には、エラー発生時に変数にExceptionオブジェクトを格納し、処理の最後にエラーの有無を判定して対応する処理を行うように変更しました。
この変更による目立った速度向上は確認されませんでしたが、ブロックを多用した複雑なサイトでは効果を発揮すると期待されます。
/** Geminiが自動生成した概要 **/
Parsley.jsを利用したサイトで、ラジオボタンにチェックを入れた際にバリデーションエラーが発生し、画面遷移してしまう問題が発生。
原因は、ラジオボタンのHTMLに data-parsley-mincheck 属性が使用されていたこと。この属性はチェックボックス用であり、ラジオボタンに用いるとエラーが発生する。
属性を削除したところ、意図した動作になった。
/** Geminiが自動生成した概要 **/
ゴールデンライスは、胚乳にβカロテンを蓄積するように遺伝子組み換えされたコメです。βカロテン合成経路のうち、コメに欠けていた「GGPPからフィトエン」と「フィトエンからリコペン」の2つの遺伝子を導入することで実現されました。フィトエン合成遺伝子はトウモロコシ、リコペン合成遺伝子はバクテリア由来です。この遺伝子導入により、コメは再びβカロテンを生成できるようになりました。ゴールデンライスは長年の開発期間を経て、フィリピンで商業栽培が開始されています。
/** Geminiが自動生成した概要 **/
この記事は、飼料米に含まれないカロテノイドを補う方法として、遺伝子組み換え作物であるゴールデンライスに着目しています。
筆者は、飼料米とトウモロコシの違いを比較し、カロテノイドを多く含むパプリカは海外依存度が高いため、飼料米の代替にはならないと述べています。
そこで、ビタミンA(ベータカロテン)を豊富に含むよう遺伝子組み換えされたゴールデンライスが、トウモロコシの利点を補完する可能性があると指摘しています。
さらに、ゴールデンライスに使われている遺伝子の由来やカロテノイドの含有量など、詳細な情報についてさらに調べていく意向を示しています。
/** Geminiが自動生成した概要 **/
SOY CMSのブログ記事にプレビュー機能を追加するプラグインが開発されました。記事投稿画面にプレビュー用のURL設定欄が追加され、確認ボタンを押すと、稼働中のブログページのデザインそのままに記事の内容を確認できます。プレビュー中はGoogle Analyticsのタグは出力されません。このプラグインにより、これまでプレビュー用の別ページを用意する必要があった手間が省けます。ダウンロードは開発元のサイトから可能です。
/** 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が自動生成した概要 **/
この記事は、Raspberry PiにMinecraft: Pi Edition: Reborn (マイクラリボーン) の拡張版をインストールする方法と、その拡張機能について解説しています。拡張版では、ブロックやアーマーの種類が増えるなどのアップデートがあります。インストールは、スクリプトを実行するだけで完了します。拡張版はマイクラリボーンの新バージョンに合わせて更新されるようです。
/** Geminiが自動生成した概要 **/
SOY CMSのカノニカルURL挿入プラグインに、shortlinkメタタグを自動挿入する機能が追加されました。記事公開時に生成される長いURLと短いURLの混乱を避けるため、カノニカルURLに加えてshortlinkメタタグを自動で挿入します。
従来は記事タイトルをrawurlencodeした長いURLが生成されていましたが、記事IDを付与した短いURLも同時に生成されます。この場合、検索エンジンがどちらのURLを優先してインデックスするか不明瞭になるため、カノニカルURLとshortlinkメタタグで明示する必要があります。
今回のアップデートにより、カノニカルURLメタタグの下にshortlinkメタタグが自動挿入されるようになり、SEO対策が強化されます。アップデートパッケージはサイトからダウンロード可能です。
/** Geminiが自動生成した概要 **/
記事では、PokitMeterという小型測定器を用いて、Micro:bit(マイクロビット)が出力するPWM信号の周波数を測定しています。
PokitMeterは測定結果をスマホで確認できるため非常にコンパクトで、Chromebookでも使用可能です。
マイクロビットのP0ピンから出力されるPWM信号をPokitMeterのオシロスコープモードで測定した結果、デューティ比50%で、周期20msの矩形波が観測されました。
このことから、マイクロビットのPWM周波数は標準で50Hzであることが分かります。
今後はPokitMeterを活用して、より深くマイクロビットの機能を探求していく予定です。
/** Geminiが自動生成した概要 **/
SOY Shopで、注文手続き画面のお届け先情報の項目設定ができるようになりました。運営上、お客様情報とお届け先情報で、氏名と電話番号を同じにしたいという要望に対応し、これらの項目は初期設定で非表示&必須入力ではなくなりました。
管理画面では、各項目の表示/非表示、必須/任意を設定できます。管理画面からの注文時は、入力の手間を減らすため、お客様情報からコピーするボタンも設置しました。
今回のアップデートにより、ショップ運営者はより柔軟にお届け先情報の入力フォームをカスタマイズできるようになりました。
/** Geminiが自動生成した概要 **/
SOY CMS用ブログ記事JSON出力プラグインが登場!非同期で記事一覧を表示したいという要望に応え、軽量でサーバ負荷の少ないJSON出力を実現しました。ページャ機能もGETパラメータで簡単に実装できます。
例えば、10件ずつ記事を表示する場合、以下のURLでアクセスできます。
- https://saitodev.co/2.json?limit=10&offset=0
- https://saitodev.co/2.json?limit=10&offset=1
その他便利な機能も充実!詳細はSOY CMSプラグイン詳細画面をご覧ください。ダウンロードは https://saitodev.co/soycms/ からどうぞ。
/** Geminiが自動生成した概要 **/
カタツムリは肺や胃などの重要な臓器が殻の中にあります。ナメクジとカタツムリは共通の祖先を持ちますが、ナメクジは進化の過程で殻を失いました。その際、重要な臓器は殻から腹足へ徐々に移行したと考えられます。
/** Geminiが自動生成した概要 **/
ノゲシの花が綿毛を形成するのが早く、送粉の仕組みが気になった筆者は、ノゲシに関する興味深いPDFを発見。千葉県野田市で白いノゲシが増加しているというのだ。これは、以前に観察したシロバナタンポポを想起させる。シロバナタンポポは単為生殖に向かう過程で花弁の色が変化したという説があるが、ノゲシではどうなのか。キク科の黄色い花は白い花弁に向かっているのだろうか?今後の観察が必要だ。これは、以前の「作物の花弁の脱色」の記事と関連づけて、新たな環境指標になる可能性も秘めている。
/** Geminiが自動生成した概要 **/
この記事は、AppImage形式になったMinecraft: Pi Edition: Rebornでスキンを変更する方法を解説しています。
まず、AppImageファイルを実行する準備として、`chmod`コマンドで実行権限を与え、`fuse`パッケージをインストールします。
スキンの変更は、`~/.minecraft-pi/overrides/images/mob/`ディレクトリに`char.png`という名前でスキンファイルを配置します。
ただし、このままだとスキンが崩れてしまうため、`minecraft_skin_fixer.py`というスクリプトを使って修正します。
最後に、AppImageファイルを`/usr/local/bin`に移動して`mcpi`というコマンド名で実行できるように設定しています。
/** Geminiが自動生成した概要 **/
この記事は、Raspberry PiまたはUbuntuに接続したLogicool F310ゲームパッドを使用してMinecraft: Pi Edition: Rebornを操作する方法を解説しています。
Windows PC用のゲームパッドをLinux環境で動作させるため、joystickとjstest-gtkドライバをインストールします。jstestコマンドでゲームパッドが認識されていることを確認後、qjoypadをインストールし、GUIで各ボタンにキーボードやマウスの操作を割り当てます。
記事では、マイクラリボーン用に設定したボタン割り当てを紹介し、動作確認を行うよう促しています。
/** Geminiが自動生成した概要 **/
蛇紋岩は、カンラン岩が水と反応してできる岩石です。蛇紋岩にはニッケルが含まれており、特に、蛇紋岩が風化してできたラテライトという土壌には、高濃度のニッケルが含まれています。
ニッケルは、ステンレス鋼や電池の製造に欠かせない重要な金属資源です。そのため、蛇紋岩やラテライトは、ニッケルの重要な供給源となっています。
日本は、世界有数の蛇紋岩地帯であり、ニッケル資源の宝庫と言えます。しかし、ニッケル鉱床の開発は、環境破壊などの問題も抱えています。
/** Geminiが自動生成した概要 **/
この記事では、抵抗器の抵抗値を読み取る方法について解説しています。抵抗値は、抵抗器に塗られた色のパターンによって識別できます。各色の帯は数字を表し、計算式を用いることで抵抗値を特定できます。
しかし、抵抗値の範囲が広いにもかかわらず、抵抗器の物理的な大きさが同じであることに疑問が生じます。これは、抵抗器の材料である金属の電気伝導率に関係する可能性があります。
この記事では、抵抗値の読み取り方について詳しく説明し、抵抗器の大きさと抵抗値の関係についての疑問を提起しています。
/** Geminiが自動生成した概要 **/
この記事は、ChromebookのScratchでBBC Micro:bitを動かす方法を解説しています。
まず、Google PlayからScratchをインストールし、Scratch用マイクロビットのHEXファイルをダウンロードしてマイクロビットに転送します。
次に、Scratchの拡張機能でmicro:bitを選択し、接続を確立します。
記事では、接続確認のため、マイクロビットのAボタンを押すと音が鳴るプログラムを作成・実行しています。
最後に、小学一年生には漢字が読めないため、ひらがなモードのScratchが必要だと述べています。
/** Geminiが自動生成した概要 **/
SOY CMSのカスタムフィールドアドバンスドとサムネイルプラグインの表示速度改善に関する記事の要約です。
記事では、多数の記事を表示する際に発生する表示速度の低下について、その原因と解決策が解説されています。
主な原因は、記事ごとにカスタムフィールドの値を取得する際に、データベースへのアクセスが繰り返されるためでした。
解決策として、記事に紐づくカスタムフィールドの値を全記事分一度に取得し、必要な値のみに絞り込むことで、データベースアクセスを削減しました。
この改善により、特に記事数が50件や100件といった大量に表示する場合に、表示速度の向上が期待できます。
/** Geminiが自動生成した概要 **/
SPI通信のモードは、クロック極性(CPOL)とクロック位相(CPHA)の組み合わせで決まります。CPOLはクロックのアイドル状態(0か1)を、CPHAはデータ取得がクロックの立ち上がり edge か、立ち下がり edge かを示します。組み合わせは4種類あり、モード0(CPOL=0, CPHA=0)からモード3(CPOL=1, CPHA=1)まで存在します。
/** Geminiが自動生成した概要 **/
本稿では、SPI通信におけるSSとSCLKの役割を解説しています。SSはスレーブ選択信号で、LOWにすることで特定のスレーブとの通信を有効化します。SCLKはクロック信号であり、この規則的なHIGH/LOW変化を基準に同期してMOSI/MISOでのデータ送受信が行われます。
具体的には、SS1をLOWにし、SCLK信号に合わせてデータ送受信を行う例を図解で示しています。
今回のSPI通信解説により、以前の記事で扱ったESP8266,Raspberry Piを用いたソケット通信やUARTと合わせて、IoTにおけるセンサーデータ取得から遠隔地への送信までの仕組みの理解が深まります。
/** Geminiが自動生成した概要 **/
SPI通信について、マスタースレーブ構成、データ送受信の流れ、シフトレジスタによるデータの受け渡しなど、具体的な例を挙げながら解説しています。\
特に、8ビットデータ転送を図解で示し、LSB、MSB、MOSI、MISOといった用語を用いながら、マスターとスレーブ間におけるデータの移動を詳細に説明しています。\
最後に、Raspberry PiとAD変換器を用いたSPI通信のコード例を紹介し、次回の記事ではシフトレジスタの仕組みやSSの役割について解説することを予告しています。
/** Geminiが自動生成した概要 **/
SPIは、マスター機器が複数のスレーブ機器と通信する規格です。マスターはSCLK, MISO, MOSI, SSの4つの信号線でスレーブと接続します。SSはスレーブ選択線で、マスターはHIGH/LOWを切り替えることで、どのスレーブと通信するかを選びます。複数のスレーブを接続する場合、マスター側にスレーブ数分のSS(GPIOピン)が必要です。SSは通信開始と終了の合図にもなります。
/** Geminiが自動生成した概要 **/
BBC Micro:bitがメンテナンスモードになり、フラッシングができなくなった場合の対処法について解説しています。メンテナンスモードは、リセットボタンを押しながらPCに接続すると発生します。
解決策は、micro:bitのファームウェアを更新することです。まず、micro:bitのバージョンを確認し、公式サイトから対応するファームウェアをダウンロードします。ダウンロードしたファイルを、PCに接続したmicro:bitのMAINTENANCEフォルダに移動します。しばらく待つと、micro:bitがメンテナンスモードを抜け、通常のモードに戻ります。
記事では、Ubuntu環境での画面表示も掲載し、読者の理解を助けています。
/** Geminiが自動生成した概要 **/
この記事では、Raspberry PiにpHメーターPH4502Cを接続し、pHのアナログ値をデジタル値に変換して取得する方法を解説しています。
筆者は、MCP3208というAD変換器を用い、GPIO Zeroのライブラリを使ってRaspberry Piで値を読み取っています。
記事内では、回路図やコード例、実験中の問題点と解決策が詳しく説明されています。
最終的には、水道水のpHを測定し、約2.8Vの電圧値を得ることに成功しましたが、値のばらつきが課題として残りました。
筆者は、今後さらに知識を深め、GPIO Zeroを使わない方法やpH測定の精度向上に取り組む予定です。
/** Geminiが自動生成した概要 **/
施設栽培で鉄欠乏が起きると、収量低下や品質低下に繋がるため注意が必要です。鉄欠乏は初期症状の見落としが課題となります。本記事では、鉄欠乏の症状と対策、そして早期発見に役立つ簡易的な測定方法について解説しています。初期症状は葉脈間が黄化するクロロシスで、進行すると葉全体が白化し、枯死に至ることもあります。対策としては、pH調整や鉄資材の施用が有効です。早期発見には、葉緑素計を用いた測定が有効で、数値の低下は鉄欠乏の初期段階を示唆します。日々の観察と葉緑素計による測定を組み合わせることで、鉄欠乏を予防し、収量と品質を確保しましょう。
/** Geminiが自動生成した概要 **/
記事では、そろばんがデジタルである理由をアナログとデジタルの違いを説明しながら解説しています。
アナログは水銀体温計のように、値が連続的に変化し、無限に細かい値をとります。デジタルは電子体温計のように、飛び飛びの値で表現されます。
そろばんは玉を1つずつ動かすことで数を表現するため、値は飛び飛びになります。そのため、そろばんはデジタルに分類されます。
/** Geminiが自動生成した概要 **/
Fritzingというアプリを使えば、電子回路の回路図が簡単に作成できます。Raspberry Piなど、様々な電子部品がパーツとして用意されており、ドラッグ&ドロップで配置できます。標準パーツにない場合は、ネットから追加することも可能です。例えば、Raspberry Pi 4 Model Bのパーツは、フォーラムで共有されているfzpzファイルをダウンロードしてインポートすることで使用できます。
/** Geminiが自動生成した概要 **/
この記事では、Raspberry PiとI2C接続のLCDディスプレイを使って文字列を表示する方法を解説しています。
まず、Raspberry Piの設定でI2Cを有効化し、LCDのI2CモジュールをGPIOピンに接続します。接続が正しければ、「i2cdetect -y 1」コマンドでI2Cアドレスが表示されます。
次に、OSOYOOのライブラリ「i2clcda.py」を使ってPythonコードを作成し、LCDに文字列を表示します。コードでは、ライブラリをインポート後、「lcd_init()」でLCDを初期化し、「lcd_string()」関数で文字列と表示位置を指定して出力します。
表示されない場合は、I2Cモジュールのポテンショメータを調整してコントラストを調整する必要があります。
/** Geminiが自動生成した概要 **/
Micro:bitとサーボモーターを使って環境制御の基礎を学ぶ記事。サーボモーターの角度制御をMicro:bitのプログラムから行う方法を紹介。Muエディタを使用し、角度を指定するシンプルなコードから、連続的な動きや特定角度への移動、アナログ入力による制御まで段階的に解説。具体的な接続方法やコード例、ライブラリの活用法も示し、初心者にも分かりやすくサーボモーター制御の基礎を習得できる内容となっている。最終的には、植物育成ライトの角度調整といった具体的な応用例も示唆し、環境制御への応用を促している。
/** Geminiが自動生成した概要 **/
花の色を決める主要な色素は、フラボノイド、カロテノイド、ベタレイン、クロロフィルです。フラボノイドは、アントシアニン、フラボン、フラボノールなどを含み、赤、青、紫、黄など様々な色を作り出します。カロテノイドは、黄色、オレンジ、赤色の色素で、トマトやニンジンなどに含まれます。ベタレインは、赤や黄色の色素で、サボテンやオシロイバナなどに含まれます。クロロフィルは、緑色の色素で、光合成に不可欠です。これらの色素の組み合わせや濃度、pH、金属イオンとの相互作用などによって、花の色は多様に変化します。また、色素の合成に関わる遺伝子の変異も花色の多様性に貢献しています。
/** Geminiが自動生成した概要 **/
プログラミング教室でキーボード・ディスプレイ無しにRaspberry Piを使うため、ChromebookからVNC接続を試みた。Raspberry PiでVNCサーバーを有効化し、ChromebookにVNC Viewerをインストール、IPアドレス指定で接続に成功。しかし、ディスプレイ未接続時は起動時にウィンドウシステムが立ち上がらずエラー発生。解決策として、raspi-configで画面解像度を設定することで、ディスプレイ無しでもVNC接続できるようになった。
/** Geminiが自動生成した概要 **/
SOY CMSの履歴自動削除プラグインが公開されました。記事とテンプレートの古い履歴を任意の日付で一括削除、または個別に残す履歴件数を指定できます。記事履歴のみ自動削除、テンプレートは保持といった個別設定も可能です。SQLite版ではSQLite VACUUMプラグインと併用でサーバー負荷軽減が期待できます。利用時はデータベースのバックアップ推奨(SQLite版は専用プラグインあり、MySQL版は無し)。パッケージはsaitodev.co/soycms/からダウンロード可能です。
/** Geminiが自動生成した概要 **/
サンショウの実の香りの主成分はd-リモネンと酢酸ゲラニルで、どちらもテルペノイドに属する。リモネンはミカン科のサンショウに含まれることは納得できる。テルペノイドはカロテノイド合成に関連しており、サンショウはカロテノイドも豊富に含むと推測される。先駆植物であるサンショウは、強光下で活性酸素の発生を抑えるキサントフィルサイクルのためにカロテノイドを蓄えている可能性がある。葉の表面のツヤではなく、カロテノイドで過剰な光エネルギーに対処していると考えられる。香りの良い葉にも注目することで、更なる発見があるかもしれない。
/** Geminiが自動生成した概要 **/
SOY ShopのSign In With Googleプラグインのボタンカスタマイズ方法について解説。Googleが提供するジェネレータを使用し、クライアントID、Data Context、ID token nonce、Callback functionを設定。Nextボタンをクリック後、Enable Sign in with Google buttonをチェックし、ボタンデザインを設定後、Get codeボタンを押下。生成されたHTMLをプラグイン詳細画面に貼り付けて更新することでカスタマイズ完了。
/** Geminiが自動生成した概要 **/
SOY CMSで公開期限付きcms:ignoreを実現するモジュールの作成方法を解説。指定期間内のみコンテンツを表示する機能で、`/ドキュメントルート/サイトID/.module/parts/ignore.php`にPHPコードを記述する。コードでは`mktime`と`time`関数で期間を指定し、`addModel`で表示条件を設定。テンプレートには`<!-- cms:module="parts.ignore" -->`等を記述して使用する。SOY Shopでは`soycms_ignore`を`soyshop_ignore`に、`cms:module`を`shop:module`に変更すれば利用可能。
/** Geminiが自動生成した概要 **/
Micro:bitとサーボモーターを用いて環境制御学習の第一歩を踏み出した著者は、サーボモーターの動作原理を学ぶため、LEGOブロックとミニフィグを使った回転実験を行った。MakeCodeで作成したコードでMicro:bitからサーボモーターに角度指令を送ると、90度を基準に、大きい値では反時計回り、小さい値では時計回りに回転する。しかし、指定角度で停止せず、一回転し続けるという問題に直面。これは、指令値が目標角度ではなく、一定時間内の回転角度を表すためであった。 著者は、サーボモーターの停止方法について疑問を抱いている。
/** Geminiが自動生成した概要 **/
SOY Shopリリース10年を経て、一部ショップで商品データ増加による表示速度低下が見られた。高速化のため、商品一覧・詳細ページで子商品データ取得設定を追加。これにより、表示件数分のSQL実行を伴う`child_item_list`処理を省略可能に。商品数と表示件数によってはDBアクセス数が膨れ上がるため、今回の対応でパフォーマンス改善を見込む。最新版はサイト(https://saitodev.co/soycms/soyshop/)からダウンロード可能。
/** Geminiが自動生成した概要 **/
渓谷で多様な形状の葉を持つシダ植物を発見。マメヅタの経験からシダ植物と推測し、葉裏の胞子嚢痕で確認。最初はコタニワタリに似ていると思ったが胞子嚢の形が異なり、葉の根元の形状からミツデウラボシの可能性が浮上。ミツデウラボシは三つ手の突起が特徴だが、突起がない葉もある。確実な同定には、周辺の葉の様々な形状を確認する必要があると学んだ。
/** Geminiが自動生成した概要 **/
シダ植物を見分ける第一歩として、葉身の切れ込み具合に着目する必要がある。シダの葉身にある切れ込みを羽片と呼ぶ。アオネカズラのように大きな羽片に深裂がある葉身を一回羽状深裂、更に細かく羽片が分かれるもの、コタニワタリのような切れ込みがない単葉のものなど、羽片の状態はシダの種類によって様々である。羽片、小羽片、二次小羽片と、切れ込みが深くなるにつれ名称も変わる。シダの同定には、これらの羽片の形状を理解することが重要となる。
/** Geminiが自動生成した概要 **/
SOY Shopで、クレジットカード決済は完了したのに注文が未完了となる問題が発生。原因はスマホのWiFiとセッションの喪失によるもので、決済モジュールのリダイレクト処理中に発生すると注文受付処理が失敗する。この問題に対処するため、決済成功&注文未完了の状態(仮登録&支払確認済)の注文を管理画面の新着ページにエラー通知として表示する機能を追加。通知機能は「新着注文一覧表示プラグイン」の一部として実装。この対応で、注文の見落としを防ぎ、問題発生時の早期発見を目指す。ただし、注文数の少ないサイトでは有効性低いため、更なる改善が必要。
/** Geminiが自動生成した概要 **/
ARM版ChromebookでLinuxアプリのDropboxを使うには、.debパッケージが使えないためDbxfsを利用する。pip3でDbxfsをインストール後、Dropboxフォルダを作成し、dbxfsコマンドを実行。表示されるURLにアクセスし、Dropboxにログインして認証コードを取得、端末に入力する。パスフレーズを設定すれば、Linuxファイル配下でDropboxのファイルが操作可能になる。Android版DropboxはChromebookのFilesのLinux共有に対応していないため、この方法が必要。
/** Geminiが自動生成した概要 **/
SOY Shopのクーポン自由設定プラグインに、クーポン検索機能が追加されました。これは、期限切れクーポンが増え、管理画面の一覧が見づらくなったというユーザーからの要望に応えたものです。 従来、プラグインの詳細画面には検索フォームがなかったため、今回新たに実装されました。このアップデートにより、多数のクーポンの中から目的のクーポンを素早く見絞ることが可能になります。SOY Shopはリリースから10年以上が経過し、今後もユーザーの利便性向上のための改善が続けられます。最新版はsaitodev.co/soycms/soyshop/からダウンロードできます。
/** Geminiが自動生成した概要 **/
ChromebookのLinuxアプリで日本語入力をするために、MozcとFcitxをインストール・設定する方法を解説。locale設定後、MozcとFcitxをインストールし、設定ファイルを編集してFcitxを自動起動するように設定。fcitx-configtoolでMozcを追加し、geditで日本語入力を確認。geditでは挙動が怪しかったが、他のアプリでは正常に動作。Javaアプリでも日本語入力可能になった。cros-imを使う方法もあるが、geditでは漢字変換できない問題がある。
/** 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が自動生成した概要 **/
Let's Encryptを用いて、wwwあり(www.example.com)なし(example.com)両方のドメインでhttpsアクセスを実現する方法。Ubuntu 18.04、Apache2環境を前提とする。
まず、certbotをsnapでインストールし、example.comのhttps化を行う。その後、www.example.comの証明書取得のため、`certbot certonly --webroot`コマンドを実行(webroot-pathはドキュメントルート)。最後に、Apacheの設定ファイル(000-default-le-ssl.conf)にwww.example.comのVirtualHost設定を追加し、example.comへのリダイレクトを設定、Apacheを再起動する。
/** Geminiが自動生成した概要 **/
花の色素、特にアントシアニンは、紫外線から植物を守るフラボノイドの一種であり、イネのいもち病抵抗性にも関与している。紫外線はフラボノイド合成を促進するが、ハウス栽培では紫外線が遮断され、フラボノイド合成が抑制される可能性がある。これは、イネの色素が薄くなり、いもち病に弱くなる原因の一つと考えられる。色素の濃い古代米は、現代のイネ品種に比べていもち病抵抗性が高い。つまり、フラボノイドの合成を促進することで、イネのいもち病抵抗性を高めることができる可能性がある。色素合成に関わる金属酵素の適切な摂取と適切な紫外線照射が、イネの健全な生育に重要である。
/** Geminiが自動生成した概要 **/
アルカリ性土壌では鉄欠乏が起こりやすいが、今回ムギネ酸類似体の安価な合成法が開発された。ムギネ酸はオオムギが鉄を吸収するために分泌するキレート物質だが、高価だった。この研究では、ムギネ酸の一部をプロリンに置換することで、安価で同等の機能を持つプロリンデオキシムギネ酸(PDMA)を開発した。この成果は、アルカリ性土壌での鉄欠乏対策に大きく貢献する。特に、イネ科植物はムギネ酸を分泌するため、緑肥として活用すれば土壌改良に繋がる。ライ麦やエンバクなどの緑肥も鉄吸収を促進する効果が期待される。
/** Geminiが自動生成した概要 **/
ペニシリンはグラム陽性菌に有効だが、グラム陰性桿菌には効果がない。軟腐病の原因菌であるエルウィニア属(グラム陰性桿菌)に有効な抗生物質を生成する菌を探すため、グラム陰性菌である緑膿菌に有効な抗生物質の歴史を辿る。セファロスポリンはβ-ラクタム系抗生物質で、当初は大腸菌に有効だが緑膿菌には無効だった。しかし、改良によりグラム陰性桿菌への作用が強化された。セファロスポリンは、土壌や植物遺体でよく見つかる腐生菌である*Cephalosporium acremonium*から分離された。この菌はボタンタケ目に属し、同じ目にトリコデルマも属する。このことから、ボタンタケ目は注目すべき菌群と言える。
/** Geminiが自動生成した概要 **/
アオカビから発見されたペニシリンは、β-ラクタム系抗生物質で、細胞壁の合成を阻害することで静菌・殺菌作用を示す。しかし、グラム陽性菌とグラム陰性球菌に有効だが、グラム陰性桿菌には効果が低い。連作障害で増加する軟腐病菌は、グラム陰性桿菌であるエルビニア・カロトボーラであるため、ペニシリンの効果は期待薄である。
/** Geminiが自動生成した概要 **/
野菜の美味しさは、品種、栽培方法、鮮度、調理法など様々な要因が複雑に絡み合って決まる。土壌の微生物やミネラルバランスが野菜の風味に影響を与えるように、環境全体が重要である。師匠の畑で育った野菜は、土壌の豊かさや適切な水やり、雑草との共存など、自然の力を最大限に活かした栽培方法によって、独特の風味と生命力に満ちている。美味しさを追求するには、野菜を取り巻く環境全体への理解と、栽培から調理までの各段階における丁寧な作業が必要となる。
/** Geminiが自動生成した概要 **/
この記事は、植物の根と共生する菌根菌、特にグロムス門の菌について解説しています。菌根菌は細い菌糸で養分を吸収し宿主に供給する代わりに、炭素化合物を得ています。また、宿主の食害耐性を高める効果も指摘されています。
記事では、グロムス門を理解するために、古い分類法である接合菌についても触れています。接合菌はカビなども含み、子嚢菌や担子菌のような大きな子実体を形成せず有性生殖を行います。胞子の散布範囲は比較的狭いと考えられています。
/** Geminiが自動生成した概要 **/
コウジカビの有性生殖型(テレオモルフ)は長らく不明だったが、DNA解析によりマユハキタケ科の菌と判明した。マユハキタケはタブノキのような極相林の樹木に特異的に生える。一方、コウジカビは醤油蔵などで人間と共生し、無性生殖(アナモルフ)で繁殖する。醤油蔵の木桶はスギ製で、材料は里山などから調達されたと推測される。つまりコウジカビは本来深い森に生息する菌だが、里山を経て人間の居住地へ至り、故郷と隔絶された環境で無性生殖を行うようになったと考えられる。そして現代の技術によって、ついにその起源が特定されたという物語を想像できる。
/** Geminiが自動生成した概要 **/
この記事は、菌類の二つの生活環ステージ(有性生殖を行うテレオモルフと無性生殖を行うアナモルフ)と、それに由来する命名の混乱について解説しています。DNA解析以前は別種とされていたテレオモルフとアナモルフに異なる名前が付けられ、特に無性生殖を行うアナモルフは「不完全菌」と呼ばれていました。現在ではDNA解析により同種と判明しても、産業上の重要性からアナモルフの名前が使用されるケースがあり、混乱が生じています。例としてトリコデルマ(アナモルフ)とボタンタケ(テレオモルフ)の関係が挙げられ、両者の名前を知ることで、目視しづらい菌糸だけでなく、子実体(キノコ)の形から土壌中の存在を推測できるようになります。関連として、マッシュルーム栽培における培土の微生物叢の重要性も示唆されています。
/** Geminiが自動生成した概要 **/
トリコデルマ理解のためには菌類の分類の歴史的変遷を学ぶ必要がある。トリコデルマ属など一部の菌類は、無性生殖段階で見つかった「不完全菌」として分類され、後に有性生殖段階が確認されたことで完全世代(子のう菌類のツノタケ属など)に分類し直された。しかし、歴史的に「不完全菌」として認識されていた名前も残っているため、トリコデルマのような菌は複数の学名を持つ。古い分類法と新しい分類法の両方を理解することで、トリコデルマのような菌の複雑な命名の理由が理解できる。例えば、アカボタンダケは不完全世代では*Trichoderma viride*、完全世代では*Hypocrea rufa*と呼ばれ、名前からは同一種と分かりづらい。国立科学博物館の『菌類のふしぎ 第2版』は、新旧の分類法を解説し、このような命名の経緯を理解するのに役立つ。
/** Geminiが自動生成した概要 **/
ショウロはマツ林に生えるトリュフ型の高級キノコで、菌根菌のため人工栽培ができない。山火事などで生態系が撹乱された場所にいち早く生えるマツと共生する先駆的な性質を持つ。原始的なキノコに見える柄のない形状だが、DNA解析の結果、柄のあるキノコよりも後に進化したと考えられている。これは、森で生えるキノコが先に現れ、後に撹乱環境で生えるキノコが現れたという進化の流れを示唆している。ショウロは共生するクロマツに何らかの利益を与えている可能性がある。
/** 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が自動生成した概要 **/
使い捨て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コードをモーダル中央に表示できた。
/** Geminiが自動生成した概要 **/
家畜糞堆肥で育てた野菜の摂取は健康に繋がる可能性がある。キノコ栽培で発生する廃菌床は、野菜栽培の土壌改良に有効で、野菜の秀品率や栄養価向上に貢献する。キノコ自体も種類によって栄養価が異なり、特にエルゴチオネインという抗酸化物質は、免疫調整に重要な役割を果たすビタミンDの働きをサポートする。キノコ消費の増加は廃菌床の増加にも繋がり、結果的に野菜の品質向上、ひいては人々の健康増進、医療費削減に寄与する可能性を秘めている。
/** Geminiが自動生成した概要 **/
OpenStreetMapとLeafletを使って地図上にカスタムアイコンを表示する方法を紹介しています。 シンプルなマーカー設置では、L.icon()でアイコンオブジェクトを作成し、L.marker()のオプションで指定します。 L.geoJSONを使う場合は、GeoJSONデータのpropertiesにiconオブジェクトを追加し、pointToLayerオプションで条件分岐することで、特定のマーカーのみカスタムアイコンに変更できます。 記事では、摂津峡のマーカーにnature.pngというカスタムアイコンを設定する例を示しています。
/** Geminiが自動生成した概要 **/
SOY CMSのブログとOpenStreetMapで地図アプリを作る手順は以下の通り。カスタムサーチフィールドで緯度(lat)・経度(lng)フィールドを作成し、地図ラベルを設定。地図出力ページを作成し、OpenStreetMap + LeafletのHTMLを貼り付ける。JavaScript内のマーカー情報をSOY CMSのタグに置き換え、記事タイトル、URL、緯度経度を動的に表示。標準ページに地図ラベルの記事一覧を表示する設定を行い、緯度経度情報付きの記事を投稿すれば、記事の位置にマーカーが設置された地図が自動的に生成される。
/** Geminiが自動生成した概要 **/
OpenStreetMapとLeafletを用いて地図上に複数のマーカーを設置する方法について解説されています。以前の記事ではマーカー一つずつにクリックイベントを設定していましたが、今回は複数のマーカーをまとめて表示する方法を説明しています。
具体的には、位置情報オブジェクトを配列で定義し、L.geoJSON関数の第一引数に渡すことで実現しています。配列内の各オブジェクトは、マーカーの名称、リンク先のURL、緯度経度情報を持ちます。
以前のコードではオブジェクトが一つしか扱えず、複数マーカー設置には非効率でした。今回の変更により、配列に要素を追加するだけで簡単にマーカーを増やせるようになりました。記事では摂津峡と山水館の二つのマーカーを設置する例を示し、山水館へのリンクも掲載しています。
/** Geminiが自動生成した概要 **/
この記事では、Google Maps JavaScript APIの代わりにOpenStreetMapとLeafletを使って地図を表示する方法を紹介しています。OpenStreetMapは無料で利用でき、Leafletは簡単に地図を表示できるJavaScriptライブラリです。
記事では、大阪府高槻市の摂津峡を例に、緯度経度を指定して地図を表示し、マーカーを設置する手順をコード付きで解説しています。結果として、少ないコードで簡単に地図上にマーカーを表示することができました。
/** Geminiが自動生成した概要 **/
記事では、SOY2HTMLでセキュアなフォームを作成する方法を解説しています。具体的には、CSRF対策としてトークンを埋め込んだフォームを生成するHTMLFormクラスの使い方を紹介しています。 buildHiddenToken()でトークンを生成し、isValidToken()で検証することで、悪意のある外部サイトからのリクエストを無効化できます。また、トークンの有効期限を設定することでセキュリティを強化できます。記事では、具体的なコード例を交えながら、これらの機能の使い方を分かりやすく説明しています。 さらに、HTMLFormクラス以外の方法として、独自にトークンを生成・検証する方法についても触れています。
/** Geminiが自動生成した概要 **/
この記事では、PHPにおけるSQLインジェクション対策としてプリペアードステートメントの有効性を検証しています。まず、脆弱なコード例を示し、攻撃者がSQL文を操作して意図しないデータを取得できることを実演。次に、プリペアードステートメントを用いた修正版を紹介し、SQL文と入力データを分離することで攻撃を防ぐ仕組みを解説しています。具体的には、プレースホルダを用いてSQL文を準備し、executeメソッドでパラメータをバインドすることで、入力データがSQL文として解釈されることを防いでいます。結果、同じ攻撃を試みてもデータが取得できず、プリペアードステートメントの有効性が確認されました。関連記事として、SOY2DAOでのプリペアードステートメントの利用方法も紹介されています。
/** Geminiが自動生成した概要 **/
SOY2では、XSS対策としてhtmlspecialcharsを簡便に利用できるHTMLLabelを提供している。記事では、HTMLLabelの基本的な使い方と、soy:idを用いた動的な値の表示方法を解説。HTMLLabelはHTMLタグを自動的にエスケープし、安全に値を表示。例として、ブログ記事のタイトルを表示するコードを紹介し、HTMLLabelを用いることで、タイトルに含まれるHTMLタグがエスケープされ、XSS脆弱性を防ぐ様子を示している。また、HTMLLabelの子要素としてHTMLタグを記述することで、特定のタグを許可することも可能。記事は、HTMLLabelがSOY2でのXSS対策に効果的であることを示唆。
/** Geminiが自動生成した概要 **/
SOY CMSのページ切り替えプラグインは、指定期間中に特定のURLでアクセスされた際に、別のページコンテンツを表示する機能を提供します。 例えば、キャンペーン期間中のみトップページをキャンペーン専用のデザインに切り替えることができます。 管理画面で切り替え期間と対象ページ、表示ページを設定するだけで、URLを変更することなくコンテンツを切り替えられます。 さらに、意図しないアクセスを防ぐため、切り替え先ページへの直接アクセスはリダイレクトで元のページへ戻されます。 ダウンロードはsaitodev.co/soycms/ から可能です。
/** Geminiが自動生成した概要 **/
コロナウイルスはコロナウイルス科に属する一本鎖プラス鎖RNAウイルス(ssRNA(+))です。RNAウイルスはDNAウイルスに比べ変異しやすく、さらに一本鎖であるため複製ミスが修復されず、変異が助長されます。コロナウイルスは既知のRNAウイルスの中で最大級のため、変異しやすい性質を持ちます。ssRNA(+)は、RNAを直接mRNAとして利用できるため、宿主細胞内で速やかにタンパク質合成を開始できます。コロナという名前の由来は、ウイルスの表面にある突起が王冠(コロナ)のように見えることにちなんでいます。
/** Geminiが自動生成した概要 **/
新型コロナの影響で事業への影響を覚悟していた筆者は、逆に変化を見越した企業からのWeb開発依頼が殺到した。 非接触型の予約注文システムや、代理販売・寄付サイトなど、コロナ禍のニーズに応える開発が多かった。 また、SEO対策情報の需要も高まった。 特に印象的だったのは、テレワーク向け研修システムの開発だ。 音声チャットとWebアプリを組み合わせたボードゲーム形式で、セールスの模擬体験を行うもので、オフライン研修以上の価値を感じたという。 コロナ禍でWeb技術の活用が模索された一年であり、この流れは今後も加速し、Web技術を活用できない企業は淘汰されるだろうと予測している。
/** Geminiが自動生成した概要 **/
php-webdriverで`content-visibility:auto;`を使用したサイトのリンクをクリックする際、遅延読み込みにより要素が見つからない問題が発生する。`getLocationOnScreenOnceScrolledIntoView()`だけでは不十分で、一度スクロール後にページトップに戻り、再度徐々にスクロールすることで要素を確実に表示させクリックを成功させる方法を紹介。これはページ表示速度の高速化と遅延読み込みによる影響への対策。また、SeleniumによるアクセスをGoogle Analyticsから除外する方法についても言及し、誤った計測を防ぐための設定についても触れている。さらに、関連するelement click interceptedエラーへの対処法の記事へのリンクも提供。
/** Geminiが自動生成した概要 **/
シイタケの旨味成分であるグアニル酸は、グアノシン一リン酸 (GMP) で、核酸の一種。GMPはリン酸化されるとDNA構成要素のGTPとなり、生体にとって重要。さらにGTPはグアニル酸シクラーゼにより環状グアノシン一リン酸 (cGMP) に変換される。cGMPは血管拡張作用などに関与し、人体にとって重要な役割を果たす。シイタケ摂取とcGMP生成の関連は不明だが、cGMPの重要性を理解しておくことは有益。グアニル酸は旨味成分であるだけでなく、生体機能の重要な要素にも関わっている。
/** Geminiが自動生成した概要 **/
SOY CMSのCore Web Vitals改善用プラグイン「Cumulative Layout Shift」にpicture要素設定が追加されました。 picture要素はレスポンシブ画像を実現するHTMLタグで、画面幅に応じて最適な画像を出力します。プラグインでは、imgタグにsize属性を自動挿入するか、pictureタグで囲うかを選択できます。ただし、既にHTMLテンプレートでpictureタグを使用している場合は正常に動作しないため注意が必要です。この機能はsaitodev.co/soycms/で提供されるパッケージに含まれています。画像のwidthが小さい場合はsize属性が自動挿入されます。
/** Geminiが自動生成した概要 **/
森林生態系の物質循環、特に窒素とリン酸の循環に焦点を当てた解説。森林の生産性は水や窒素の循環に影響され、窒素は降雨や落葉、窒素固定によって供給される一方、脱窒やアンモニア揮発、渓流水で流出する。窒素は植物体内や森林全体で再利用性が高い。リン酸も重要で、再利用性が高く、母岩からの溶出が供給源となる。窒素は肥料木や動物の活動で森林に蓄積され、リン酸は母岩由来の供給が大きい。全体として、森林生態系における窒素とリン酸の循環の複雑さと重要性を示唆している。
/** Geminiが自動生成した概要 **/
PHP 8.0への対応でSOY CMSとSOY Shopが高速化しました。主因はJITコンパイラですが、ビルドイン関数date、strlenの挙動変化に伴うコード修正も寄与しています。HTMLListのダミーオブジェクト処理で発生していたdate関数のエラーを修正。PHP7系でも動作します。プラグインの動作確認は順次実施予定。PHPのOPCache設定変更で更なる高速化も期待できます。OPcache.validate_timestampsを0にすると、PHPファイルのタイムスタンプ確認を無効化し、パフォーマンスが向上しますが、ファイル更新が反映されなくなるため、開発中は1、運用時は0にするのが推奨されます。opcache.revalidate_freqで更新頻度を設定できます。
/** Geminiが自動生成した概要 **/
さくらインターネットの2週間お試しで、SOYCMSとSOYShopのテスト環境を構築する方法。Windows10環境で、共有サーバプレミアムプランに申し込み、Filezillaでサーバに接続する。接続情報は仮登録メールに記載されている。wwwフォルダにSOYCMSをアップロードし、「http://(ドメイン)/cms/admin」で管理画面を確認。次に、SOYShopをダウンロードし、appとSOYShopフォルダをwww/cms直下に置く。管理画面にSOY Shopログインが表示されれば完了。
/** Geminiが自動生成した概要 **/
SOY ShopのPAY.JPクレジットカード支払いモジュールに、テストモード時の管理画面通知機能が追加されました。これは、テストモードのままサイトを公開してしまうミスを防ぐための強化です。 メンテナンス期間中にテストモードにしたままサイトを再オープンし、注文が無効になる事例が発生したことを受けての対応です。具体的には、管理画面の新着情報とメンテナンスページ解除操作時に、テストモードであることを強調表示します。 同様の機能は他の主要クレジットカード支払いモジュールにも展開予定です。 最新版はhttps://saitodev.co/soycms/soyshop/から入手可能です。
/** Geminiが自動生成した概要 **/
SOY CMS用ラベルカスタムフィールドプラグインが開発されました。ブログページのカテゴリごとに異なる説明文を表示する機能強化が目的です。従来のカテゴリー詳細表示プラグインではラベルのメモ欄しか利用できませんでしたが、このプラグインはラベル詳細画面にカスタムフィールドを追加し、入力した値をカテゴリページに出力できます。これにより、カテゴリページの表現力向上に貢献します。現在はテキスト系の項目のみですが、要望次第で画像項目の追加も検討されています。プラグインはsaitodev.co/soycms/から入手可能です。
/** Geminiが自動生成した概要 **/
SOY Shop用のメンテナンスページ設置プラグインが開発されました。このプラグインを使用すると、ショップサイトがメンテナンス中の際に簡単にメンテナンスページを表示できます。設定は、404NotFoundページと同様の方法でメンテナンスページを作成するだけで完了します。プラグインを有効化すると、管理画面のホームに設定の有無と設定画面へのリンクが表示され、メンテナンスページの表示を簡単に切り替えられます。現状は全ページがメンテナンスページに切り替わりますが、将来的にはカートやマイページのみの切り替えといった機能追加も検討されています。プラグインはsaitodev.co/soycms/soyshop/から入手可能です。
/** 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が自動生成した概要 **/
ブルーベリーの視力増強効果は、アントシアニンというポリフェノールによるものです。アントシアニンはブルーベリー特有ではなく、近縁種のビルベリーや他の植物にも含まれます。視力への影響は、光による活性酸素の発生を抑えることにあります。紫外線を含む光は目に有害で、活性酸素を発生させ、視細胞を損傷・死滅させます。アントシアニンはこの活性酸素の発生を抑制し、視細胞の損傷を軽減、再生も抑えることで視力増強に繋がります。この活性酸素抑制効果は、以前の記事で触れたアジサイの花弁の色素やフラボノイドと関連しています。
/** Geminiが自動生成した概要 **/
Go言語のテスト方法に関する記事の要約です。Goでは`*_test.go`ファイルにテスト関数を記述します。テスト関数は`TestXxx`という命名規則に従い、`*testing.T`を引数に取ります。`t.Error`や`t.Errorf`でテスト失敗を報告し、`t.Log`でログを出力します。`go test`コマンドでテストを実行でき、`-v`オプションで詳細表示、`-cover`でカバレッジ計測が可能です。記事では具体的なテスト例として、文字列の等価性チェックやエラーハンドリングのテストが紹介されています。また、外部パッケージのテストやテストデータの扱いについても触れられています。
/** Geminiが自動生成した概要 **/
葛餅の原料である葛粉は、マメ科クズの根から作られ、漢方薬の葛根湯にも使われる。マメ科植物なのでイソフラボンを含み、クズの場合はプエラリンというイソフラボンが注目される。プエラリンは腸内細菌によってダイゼインを経てエクオールに変換される。エクオールは乳がんや前立腺がんの予防に関与する可能性が示唆されている。マメ科植物の根や実にイソフラボンが多いのは、根粒菌との共生関係を築くためと考えられる。
/** Geminiが自動生成した概要 **/
Google Analyticsのスクリプトをページ読み込み直後に移動することで、Core Web Vitals、特にFID(First Input Delay)を改善する方法を解説しています。通常、Google Analyticsのスクリプトは</body>直前に配置されますが、これだとスクリプトのダウンロードと実行が完了するまでブラウザが他の操作を受け付けず、FIDが悪化します。記事では、async属性を追加し<head>内に移動することで、スクリプトを非同期で読み込み、ブラウザのレンダリングを妨げないようにする方法を紹介。async属性はIEでは機能しないため、IE用に条件分岐で対応する必要性も説明しています。さらに、Google Tag Managerを使用している場合は、設定変更だけで対応可能であることも解説しています。これらの修正により、FIDが大幅に改善され、ユーザーエクスペリエンスの向上が期待できます。
/** Geminiが自動生成した概要 **/
PHPのガベージコレクション(GC)は参照カウント法を用いて不要なメモリ領域を解放する。`xdebug_debug_zval()`関数で確認できる`refcount`が参照数を示し、0になるとGC対象となる。オブジェクト型では、変数への代入で`refcount`が増減し、`unset`で`refcount`が減る。`refcount`が0になるとメモリが解放される。整数型などzvalに直接値を持つ型は`refcount`が0でも当てはまらない。`unset`は不要になったオブジェクトを明示的に解放し、メモリ効率を向上させるため有効。
/** Geminiが自動生成した概要 **/
初秋、ミヤコグサが咲いていた場所に黄色い花が群生していた。三出複葉で、花は内部がうねった形状。Google画像検索でノアズキやヤブツルアズキ(マメ科)と判明。アズキの花は初めて見た。蝶形花がねじれているように見える。しばらくすると、ハナバチが蜜を求めて飛来した。冬支度のための採集だろうか。
/** Geminiが自動生成した概要 **/
XdebugはPHPのデバッグとプロファイリングツールです。`xdebug_debug_zval()`関数は、変数の内部表現であるzvalの情報を表示します。出力には、参照カウント(refcount)、参照かどうか(is_ref)、そして変数の型と値が含まれます。zvalの情報は、PHPのガベージコレクションの仕組みや変数の挙動を理解する上で重要です。Xdebugのドキュメントでは、`xdebug_debug_zval()`以外にも様々なデバッグ関数が紹介されています。これらを利用することで、PHPコードの実行状況を詳細に把握し、問題の特定やパフォーマンスの改善に役立てることができます。
/** Geminiが自動生成した概要 **/
サーバのDropbox容量圧迫問題をDropbox-Uploaderで解決する手順。
1. Dropbox-Uploaderをダウンロード&セットアップ(アクセストークン取得含む)。
2. 送信したいファイルをサーバに配置。
3. rootのcrontabで、`dropbox_uploader.sh upload`コマンドを使い、指定時間にDropboxへアップロードするよう設定。
4. 常駐Dropboxを停止(`dropbox stop`)し、`top`コマンドで停止確認。
これにより、常駐Dropboxが不要になり、サーバ負荷を軽減できる。
/** Geminiが自動生成した概要 **/
PHPのオペコードを確認するにはVLD拡張モジュールを使用します。VLDはPHPスクリプトをコンパイルし、生成されたオペコードを人間が読める形式で出力します。出力には、各オペコードの行番号、オペコードの種類、オペランド、結果などが含まれます。これにより、PHPスクリプトの実行方法を詳細に理解し、パフォーマンスのボトルネックを特定するのに役立ちます。VLDのインストールはPECLを利用し、php.iniで`vld.active=1`などを設定することで有効化できます。関数`vld_dump()`で特定の関数のオペコードを出力することも可能です。
/** Geminiが自動生成した概要 **/
PHPのOPCacheは、バイトコードをキャッシュしてパフォーマンスを向上させる機能。設定項目`opcache.revalidate_freq`はスクリプトの更新チェック頻度を制御する。デフォルトは2秒だが、CMSサイト等でPHPスクリプトの更新が少ない場合は、この値を大きくすることで更新チェックのオーバーヘッドを減らせる。設定変更は`php.ini`で`opcache.validate_timestamps`を有効化し、`opcache.revalidate_freq`を例えば86400(1日)に変更、サーバー再起動で行う。今回の検証ではパフォーマンスの顕著な差は見られなかった。
/** Geminiが自動生成した概要 **/
Chrome 85からCSSの`content-visibility: auto;`が導入され、画面外コンテンツの遅延読み込みが可能に。表示速度向上とSEO対策が目的です。筆者は自身のサイトで、`.content-lazy-always`で常時遅延、`.content-lazy`でPCとスマホで表示/遅延を切り替える形で実装。記事一覧の下部や詳細ページのフッターなどに適用しました。しかし、元々読み込みが速かったため、具体的な速度改善効果は確認できなかったとのことです。
/** 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の管理画面が表示されれば成功です。
/** Geminiが自動生成した概要 **/
さくらのVPSにUbuntu 18.04を導入し、SOY CMSを稼働させる手順を解説した記事の要約です。まず、OSインストール後、Apache、PHP、必要なPHP拡張機能、MySQLをインストールします。次に、MySQLにSOY CMS用のデータベースとユーザーを作成し、ファイアウォールでHTTPとHTTPSを許可します。SOY CMSのzipファイルをダウンロードし、ドキュメントルートに展開後、ブラウザからインストールを実行します。SQLite版ではなくMySQL版を利用するため、データベースの設定が必要です。最後に、サイトURLと管理者情報を入力してインストールを完了します。記事ではコマンド操作の詳細やトラブルシューティングも紹介されています。
/** Geminiが自動生成した概要 **/
PHPの深層理解のため、オペコードを確認する方法を解説。VLD(Vulcan Logic Dumper)を用いて、PHPコードを中間コードに変換する様子を観察できる。Ubuntu 20.04、PHP 7.4.6環境で、vldをgit clone、phpize、configure、make、installし、php.iniにvld.soを追加。`php -d vld.active=1 -d vld.execute=0 /path/to/dir/a.php`で"Hello World"のオペコードを確認できる。これによりPHP内部の仕組みを理解する第一歩となる。
/** Geminiが自動生成した概要 **/
イネは品種改良を通してサイトカイニン含量が増加し、収量向上に繋がった。サイトカイニンは分げつ伸長や養分転流に関与する重要な植物ホルモンだが、根の伸長は抑制する。高校生物で学ぶ「サイトカイニンは根で合成」は少し不正確で、実際は地上部で合成されたiP型サイトカイニンが根に運ばれ、tZ型に変換されて地上部へ送られ作用する。根の栄養塩が豊富だとtZ型への変換が促進され、サイトカイニン活性が高まる。
/** Geminiが自動生成した概要 **/
非公式にメンテナンスされているSOY Shop 2.0.0βが公開されました。データベース構造は1系とほぼ変わらず、通常のバージョンアップ手順で適用可能です。主な変更点は、Bootstrapを使ったレスポンシブ対応の管理画面UIと、公開側ページの読み込み速度最適化です。後者は必要なクラスファイルのみを読み込むことでメモリ消費量を削減し、表示速度向上と同時アクセス耐性向上を実現しています。 HTMLキャッシュプラグインも同梱され、キャッシュ機能で更なるメモリ消費削減が可能です。ダウンロードはsaitodev.co/soycms/soyshop/ から。一部プラグインのUIはまだ2系に対応していませんが、順次修正予定です。
/** Geminiが自動生成した概要 **/
SOY Shop 2にHTMLキャッシュプラグインが追加され、高速化が可能になった。カートウィジェットの問題は非同期通信で解決し、カート内商品数と合計金額をJSONで取得できる。ヤマトリップショップではこの機能とLazyLoadプラグイン、jpegoptimにより、ページ表示速度が3.3秒から1秒以下になり、PageSpeed InsightsのスコアもPCで90を超えた。スマホは90に届かなかったが、Gueztliによる画像最適化で改善が見込まれる。SOY Shop 2正式版は近日公開予定。
/** Geminiが自動生成した概要 **/
SOY CMSのLazy Loadプラグインは、記事中の画像3枚目以降に`loading="lazy"`属性を付与し、遅延読み込みを実現することでSEO対策とPageSpeed Insightsスコア向上に貢献します。リソース消費を軽減するため、HTMLキャッシュプラグインとの併用が推奨されます。
関連するHTML圧縮の記事では、HTML、CSS、JavaScriptの圧縮によりファイルサイズを削減し、ページの読み込み速度向上によるSEO対策、ユーザーエクスペリエンス向上、サーバー負荷軽減などのメリットが得られると説明されています。gzip圧縮、minifyツール、SOY CMSのHTML圧縮プラグインの利用方法などが紹介されています。
/** Geminiが自動生成した概要 **/
SEO対策として、画像の遅延読み込み(Lazy Load)はページ表示速度の改善に有効です。ファーストビュー以外の画像は、ページ全体が表示されてから読み込まれます。重い画像や動画を遅延させることで、表示速度が向上します。
実装は、imgタグに`loading="lazy"`属性を追加するだけです。Chrome 75以降で対応しており、他ブラウザではjQueryプラグインが必要ですが、当サイトではjQueryによる速度低下を避けて使用していません。
PC表示では効果が見られませんでしたが、スマホ表示ではファーストビュー外に画像が配置されるため、Lazy Loadの効果が大きいです。
関連記事として、SOY CMSとSOY Shop向けにLazy Loadプラグインが紹介されています。
/** Geminiが自動生成した概要 **/
SeleniumとJenkins、php-webdriver、ヘッドレスChromiumでテスト自動化中に、メモウィジェットが原因でelement click interceptedエラーが発生。ヘッドレスモードで画面サイズが不足し、対象ボタンが隠れていたのが原因。ウィンドウサイズを`1024x2048`に設定することで一時的に解決したが、ページサイズに依存するこの方法は最適ではない。スクロールによる解決策も検討されたが、最終的にはCSSを修正し、メモウィジェットが他のボタンと重ならないように調整することで根本解決した。
/** Geminiが自動生成した概要 **/
ハナカマキリのピンク色は、トリプトファン由来のキサントマチンという色素による。キサントマチンはオモクローム系色素の一つで、還元型がピンク色を呈する。 当初は、ピンクの花弁の色素であるアントシアニンをカマキリが摂取した結果だと予想されていたが、そうではなく、カマキリ自身がキサントマチンを生成していることがわかった。昆虫の色素には、他にメラニンとプテリジン系色素がある。
/** Geminiが自動生成した概要 **/
さくらのメールボックスからGmailへメール送信時、送信元認証がされていないため「?」アイコンが表示される問題を解決する方法。お名前.comで取得したドメインのDNS設定で、さくらのメールボックスのホスト名を用いてSPFレコード `v=spf1 a:ホスト名 mx ~all` をTXTレコードとして追加する。設定後、mxtoolbox.comでSPFレコードを確認し、Gmailで受信したメールのアイコンが「?」から人物アイコンに変われば成功。
/** Geminiが自動生成した概要 **/
この記事では、カロテノイドが植物ホルモンの前駆体となり、植物の成長や健康に重要な役割を果たすことを解説しています。特に、ゼアキサンチンからアブシジン酸、β-カロテンからストリゴラクトンという植物ホルモンが生成される過程が紹介されています。ストリゴラクトンは主根伸長促進、形成層発達制御、菌根菌との共生シグナルといった機能を持ち、台風の被害軽減や秀品率向上に有効です。菌根菌との共生は微量要素の吸収効率を高めるため、亜鉛の吸収促進にも期待できます。そして、カロテノイドを増やすためには光合成を高めることが重要だと結論付けています。
/** Geminiが自動生成した概要 **/
この文章では、カロテノイド生合成が阻害された場合の植物への影響と、そのメカニズムを利用した除草剤について解説しています。
カロテノイド生合成の阻害剤である除草剤ノルフルラゾンは、フィトエン不飽和化酵素(PDS)を阻害し、フィトエン以降のカロテノイド合成を停止させます。カロテノイドは、フィトエンからリコペンなどを経て合成される一連の色素で、光合成で発生する活性酸素の除去に不可欠です。合成が阻害されると、活性酸素が蓄積して葉緑体が崩壊し、葉が白化して生育が停止します。このことから、植物の光合成にとってカロテノイドの完全な合成がいかに重要であるかがわかります。
/** Geminiが自動生成した概要 **/
植物は紫外線対策としてカロテノイドを合成する。動物は摂取すると免疫維持に役立てる。カロテノイドはニンジンのβ-カロテンやトウモロコシのゼアキサンチンなど、黄色〜橙色の色素。光合成時の活性酸素除去、受粉のための昆虫誘引にも利用される。フィトエンを出発点に酵素反応でβ-カロテンが合成され、水酸基が付くとキサントフィルとなる。種類によって光の吸収波長が変わり、色が変化する。合成経路や蓄積器官、栽培による増加などは今後の課題。
/** Geminiが自動生成した概要 **/
SOY Shopで配送と店舗受け取りを同時選択できるよう、オーダーカスタムフィールドで対応する方法を紹介。標準機能にはないカレンダーを、jQuery Datepickerを用いて実装する手順を解説。オーダーカスタムフィールドを作成後、カートページテンプレートにjQueryを読み込み、Datepickerを適用するコードを追加。オプション設定で日付範囲も指定可能。複数フィールドへの適用方法や、直接入力を防ぐreadonly属性の追加についても触れている。
/** Geminiが自動生成した概要 **/
SOY CMS/ShopのSOY2HTMLに、軽微なカスタマイズを容易にする隠し機能が追加されました。クラスファイルと同名のHTMLファイル名の頭にアンダースコア「_」を付けると、そのHTMLファイルが優先的に読み込まれます。これにより、プラグインのバージョンアップ時の上書きを回避できます。例えば、配送モジュールの文言変更など、PHP知識を必要とせず容易にカスタマイズできます。標準配送モジュールなら `delivery_normal/cart/_DeliveryNormalCartPage.html` を配置し、元のHTMLの内容をコピー・編集することで実現できます。SOY Shop 2系以降で利用可能、1系は `soy2_build.php` の修正が必要です。新パッケージはsaitodev.coからダウンロードできます。
/** Geminiが自動生成した概要 **/
ArchWikiのLogrotateの記事は、ログファイルの自動ローテーション、圧縮、削除を行うためのツール、logrotateの使い方を解説しています。設定ファイル(/etc/logrotate.conf, /etc/logrotate.d/)でローテーション間隔、保持期間、圧縮有無などを指定し、通常はcronで毎日実行されます。設定ファイルの各ディレクティブは、ローテーション頻度(daily, weeklyなど)、保持数(rotate)、圧縮(compress)、ローテーション後のファイル名(olddir, ifempty)、実行権限(create)、所有者(user, group)、実行スクリプト(prerotate, postrotate)などを制御します。 トラブルシューティングとして、デバッグオプション(-d)で動作確認、ログ(/var/lib/logrotate/status)のチェックが有効です。
/** Geminiが自動生成した概要 **/
HTMLの圧縮は、Webページの表示速度向上とデータ転送量削減に効果的なSEO対策です。HTMLソースコードには、可読性向上のために改行やタブが含まれていますが、これらは表示には不要なため、転送前に削除することでデータ量を減らせます。SOY CMSでは、HTML圧縮プラグインを利用することで、テンプレート編集時の可読性を維持しつつ、転送時には自動的にHTMLを圧縮できます。このプラグインは、HTMLキャッシュプラグインや静的化プラグインと併用することで、圧縮処理の負荷を軽減し、更なる高速化を実現します。HTML圧縮プラグインを含むパッケージはsaitodev.co/soycms/からダウンロード可能です。
/** Geminiが自動生成した概要 **/
SheetJSは、ブラウザ上でHTMLテーブルから簡単にExcelファイルを生成できるJavaScriptライブラリです。デモを改修し、テーブル要素を指定して`XLSX.utils.table_to_book`でブックオブジェクトを生成、`XLSX.writeFile`でExcelファイル(xlsx)として出力する簡単なコードで実装できます。 表示されたHTMLテーブルのダウンロードボタンをクリックするだけで、テーブル構造を保持したExcelファイルがダウンロードされます。著者は従来PHPのPhpSpreadSheetを使用していましたが、SheetJSも選択肢に加えるとのことです。
/** Geminiが自動生成した概要 **/
SOY CMSの記事毎に無制限に画像をアップロードできるプラグインを開発。カスタムフィールドでは複雑になる複数画像管理を、独立したプラグインで実現。記事投稿画面にアップロードフォームを設置し、公開側のブログ詳細ページで表示できる。SQLのTEXTカラム容量分まで画像パスを保存可能。操作性には改良の余地があるものの、即興で開発したパッケージはsaitodev.co/soycms/からダウンロードできる。
/** Geminiが自動生成した概要 **/
Google Ads APIを利用するにはMCCアカウントが必要で、キーワードプランナーを無料で使う方法を解説。MCCアカウント作成後、キーワードプランナーは有効な広告アカウントがないため使えない。そこで、エキスパートモードで「キャンペーンなしでアカウントを作成」し、生成されたお客様IDをメモ。MCCアカウントに戻り、サブアカウント設定で「既存のアカウントをリンク」し、お客様IDを入力してリクエストを送信、承認する。これでMCCアカウントでキーワードプランナーが無料で使えるようになる。
/** 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/)からダウンロード可能。
/** Geminiが自動生成した概要 **/
腸内細菌は、腸管上皮細胞の糖鎖末端にあるシアル酸を資化し、特にウェルシュ菌のような有害菌はシアル酸を分解することで毒性を高める。ビフィズス菌もシアル酸を消費するが、抗生剤投与で腸内細菌叢のバランスが崩れると遊離シアル酸が増加し、病原菌増殖のリスクが高まる。シアリダーゼ阻害剤は腸炎を緩和することから、有害菌ほどシアル酸消費量が多いと推測される。ゆえに、ビフィズス菌を増やし、糖鎖の過剰な消費を防ぐことが重要となる。さらに、日本人の腸内細菌は海苔の成分であるポルフィランを資化できることから、海苔の摂取も有益と考えられる。
/** Geminiが自動生成した概要 **/
SOY CMSの静的化プラグインが改良され、ページ単位での静的化設定、全プラグイン実行後の静的化処理、ページ更新時の静的ファイル一括削除、サイトキャッシュ削除時の静的ファイル削除が可能になった。従来の静的化はフロントコントローラやRewriteモジュールの処理を回避することで高速化を実現していたが、今回の改良でさらに柔軟性と効率性が高まった。HTMLキャッシュプラグインと併用することで、標準ページは静的化、ブログページはHTMLキャッシュと使い分け、サーバー負荷軽減に効果的。改良版はsaitodev.coからダウンロード可能。高速化に加え、SEO対策にも有効。
/** Geminiが自動生成した概要 **/
SOY CMSのHTMLキャッシュプラグインは、サイト高速化を実現する強力なツールです。従来の静的化プラグインの欠点を克服し、標準ページを含む全ページをキャッシュ対象としつつ、ページごとにキャッシュの有効/無効を設定できる柔軟性を備えています。これにより、SOY Shop連携など動的なコンテンツを含むページでも最適なパフォーマンスを実現できます。HTMLキャッシュは、PageSpeed Insightsのスコア向上に貢献するだけでなく、メディア露出時の急激なアクセス増加にも対応できる安定性を提供します。内部SEO対策としても有効で、情熱大陸放送後のアクセス集中を乗り切った事例からもその効果が実証されています。パッケージはsaitodev.coからダウンロード可能です。SEO対策に関する詳細はsaitodev.co/category/SEOをご覧ください。
/** Geminiが自動生成した概要 **/
サイバー攻撃の増加は深刻な問題であり、特にCMSを狙った攻撃は増加傾向にある。記事ではSOY CMSへの攻撃事例を通して、その脅威を具体的に示している。攻撃者は管理画面へのログインを試みたり、脆弱性を突いて不正アクセスを試みる。対策としては、管理画面のURLを変更したり、.htaccessでアクセス制限をかけることが有効である。また、WAFの導入やセキュリティプラグインの活用も推奨されている。常に最新の情報に注意し、適切なセキュリティ対策を実施することで、被害を最小限に抑えることが重要である。
/** Geminiが自動生成した概要 **/
PageSpeed Insightsのスコア向上のため、公式SNSボタンを自作のものに置き換えた。公式ボタンはJavaScriptを使用し、ページ速度に悪影響を与えていた。記事詳細ページのTwitterボタンを例に、自作方法を紹介。HTMLでは`<a>`タグでツイートリンクを作成し、記事タイトルとURLを動的に設定。CSSでボタンのスタイルを定義。SOY CMSでは`cms:id="title_plain"`と`cms:id="entry_url"`を用いて記事タイトルとURLを取得し、JavaScriptを使わずにツイートボタンを実装。これにより、ページ読み込み速度が向上し、PageSpeed Insightsのスコアも改善された。
/** Geminiが自動生成した概要 **/
CSSの読み込み方を変えることでSEO対策とページ表示速度の高速化を実現する方法を紹介。従来headタグ内に記述していた外部CSSをbody閉じタグ後へ移動することでレンダリングブロックを回避し、表示速度を向上させる。さらに、HTTP/2環境下ではファイル数削減が有効となるため、CSSをHTML内に直接記述する方法も提示。ただし、保守性向上のためにCMSのモジュール機能を活用し、HTML末尾にCSSを挿入する手法を推奨。この際、モジュールファイルの読み込みによる速度低下を防ぐため、最終HTMLのキャッシュ機構を併用することが重要となる。
/** Geminiが自動生成した概要 **/
IPv6はSEO対策に有効な通信速度改善策。IPv4アドレス枯渇問題を解決する後発の規格で、理論上アドレス割り当ては無限大。16ビット単位の16進数表記で、IPv4より最適化されている。saitodev.coのようなWebサイトアクセスでは、DNSサーバでドメイン名からIPv4/IPv6アドレスを取得し、サイトサーバへアクセスする。IPv6設定はサーバ会社ごとに異なるが、DNS設定ではIPv4をAレコード、IPv6をAAAAレコードに登録する。設定確認は`ping -4/-6 ドメイン名`コマンドで可能。
/** Geminiが自動生成した概要 **/
Google Mapsの遅延出力により、PageSpeed Insightsのスコアが80点台から100点に改善。iframeを隠して「地図を表示」ボタンを表示し、クリック後3秒後にGoogle Mapsをロードするコードを追加した。これにより、ページの読み込みが遅くなるGoogle Mapsの出力を遅らせ、ページのパフォーマンスを向上させた。
/** Geminiが自動生成した概要 **/
SQLiteを採用するSOY CMSでサイト表示を高速化するため、最終生成HTMLのキャッシュ化機能を導入した。データベースやファイル読み込みを省略することでPageSpeed Insightsのスコアが大幅に向上。この機能はHTMLキャッシュプラグインをインストール後、index.php内のexecute_site()をexecute_site_static_cache()に変更することで有効になる。ただし、カート内容の表示など動的なコンテンツはキャッシュ化できないため、リッチなサイト構成との両立は難しい。高速化とSEO対策には見栄えよりも内容重視の割り切りが必要となる。SOY Shopでも同様のキャッシュプラグインが開発されている。
/** Geminiが自動生成した概要 **/
SOY Shopのデータベースパフォーマンス改善にはインデックスの見直しが効果的です。 商品点数やアクセス数の増加に伴い、データベースへの負荷が増大し表示速度が低下することがあります。 特に商品検索や絞り込み機能は複雑なクエリを実行するため、適切なインデックスが設定されていないとパフォーマンスに大きな影響を与えます。
インデックスはデータベース内の特定の列に付与されることで、データ検索の高速化を実現します。 SOY Shopでは、商品コードや商品名、公開状態など、頻繁に検索される項目にインデックスを設定することが推奨されています。 しかし、不要なインデックスは更新処理のオーバーヘッドとなるため、適切なインデックスを選択することが重要です。
記事では、phpMyAdminを用いたインデックスの確認方法、SOY Shop管理画面からのインデックス設定方法、そしてインデックス設定の注意点が解説されています。 インデックスを適切に設定することで、データベースの負荷を軽減し、表示速度の向上、ひいてはユーザーエクスペリエンスの向上に繋がるとしています。
/** Geminiが自動生成した概要 **/
この記事では、ウェブサイトのSEO対策として画像ファイルサイズの削減に焦点を当てています。GoogleのJPEGエンコーダGuetzliを導入することで、画像品質を維持しながらファイルサイズを大幅に削減できることを実例で示しています。具体的には、115.8kbの画像がGuetzliによって9.4kbまで圧縮され、80%以上の削減に成功しています。また、PageSpeed InsightsによるWebP等の次世代フォーマットの推奨についても触れつつ、Safari非対応やPageSpeed Module導入によるパフォーマンス低下を理由に現状では採用を見送っていることを説明しています。
/** Geminiが自動生成した概要 **/
HTTP/2は、HTTP/1.1以前のバージョンに比べて、複数のファイルを並列でダウンロードできるため、ウェブサイトの表示速度を大幅に向上させます。これにより、リクエスト回数とインターネット全体の回線使用量が削減されます。しかし、一度に送受信されるデータ量が増えるため、画像サイズの最適化が重要になります。ApacheサーバーでHTTP/2を有効にする方法は、別記事で紹介されています。より詳細な情報は、オライリーの"Real World HTTP"で学ぶことができます。現在、LiteSpeedのようなサーバーでは、さらに高速なHTTP/3(QUIC)が利用可能ですが、当サイトはApacheのHTTP/3対応を待っています。
/** Geminiが自動生成した概要 **/
SOY InquiryにParsley.jsを組み込むと、見栄えの良い入力内容チェックが利用できます。フォームテンプレートにParsley.jsのスクリプトを挿入し、SOY Inquiryのフォーム設定画面で各項目にdata-parsely-triggerとrequired属性を設定します。さらに、data-parsely-required-message属性を追加すると、エラーメッセージをカスタマイズできます。これにより、各項目に合わせたエラーメッセージが表示され、ユーザーフレンドリーなフォームが作成できます。
/** Geminiが自動生成した概要 **/
SOY CMSのページ毎表示制限プラグインは、サイト運営中に追加するページを、管理画面ログイン時のみ表示可能にする機能を提供します。CMS組み込み時の全ページ非表示機能を、個別のページに適用できる形にしたものです。設定したページは、管理画面ログイン中であれば、別タブでも表示制限が有効です。このプラグインを含むパッケージはsaitodev.co/soycms/からダウンロードできます。
/** 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が自動生成した概要 **/
ハチミツの美味しさを探るには、ショ糖をブドウ糖と果糖に加水分解する酵素「インベルターゼ」が重要。ミツバチは花蜜のショ糖をインベルターゼで単糖に変換し貯蔵する。これにより糖濃度が上昇し、ジャムのように腐敗を防ぐ効果があると考えられる。しかし、ハチミツの糖組成はブドウ糖より果糖が多い。ショ糖の加水分解では等量のブドウ糖と果糖が生じるはずだが、果糖が多い理由は何か。ブドウ糖の消費、蜜源植物の種類などが影響している可能性があり、更なる探求が必要である。
/** Geminiが自動生成した概要 **/
蜂蜜の美味しさは、含まれる糖の種類と構成比に左右される。ショ糖を基準(甘味度1.00)とした場合、ブドウ糖は0.75、果糖は1.75と甘さが異なる。蜂蜜では主にこの3種が重要で、果糖が多いほど甘く感じられる。また、果糖は温度が低いほど甘味が増す特徴を持つ。つまり、果糖が多くブドウ糖が少ない蜂蜜は、より甘く感じる。しかし、この糖構成には疑問点があり、次回に議論される。
/** Geminiが自動生成した概要 **/
緑茶に含まれるカテキンは、インフルエンザなどのウイルスに吸着し感染を予防する効果がある。ウイルスは非生物で、宿主細胞の器官を乗っ取って増殖する。宿主細胞表面の糖鎖をウイルスが認識することで感染が成立する。カテキンはウイルスのスパイクタンパクを封じ、この認識プロセスを阻害すると考えられる。しかし、カテキンは体内に留まる時間が短いため、日常的に緑茶を摂取する必要がある。緑茶の甘みが少ない、苦味と渋みのバランスが良いものが効果的と考えられる。ウイルスは自己増殖できないため、特効薬がない。mRNAワクチンは、体内で無毒なスパイクタンパクを生成させ、抗体生成を誘導する新しいアプローチである。
/** Geminiが自動生成した概要 **/
SOY Shopの商品詳細ページで商品ごとに異なる定型文を表示するプラグインが開発されました。 通常、プラグインで定型文を設定するところを、このプラグインはパーツモジュール内で他のパーツモジュールを呼び出すことで実現しています。商品情報に設定したモジュールIDに対応するパーツモジュールを`shop:module="common.fixed_form_module"`で呼び出すと、商品に応じた定型文が表示されます。HTMLだけでなくPHPのモジュールも使用可能なので、動的な表示にも対応できます。このプラグインを含むパッケージはsaitodev.co/soycms/soyshop/からダウンロード可能です。
/** Geminiが自動生成した概要 **/
フルクトースは、果物や蜂蜜に多く含まれる単糖の一種で、別名果糖とも呼ばれます。グルコース(ブドウ糖)と同じ化学式を持つ異性体ですが、構造が異なり、甘みが強いのが特徴です。ショ糖(砂糖)は、グルコースとフルクトースが結合した二糖類です。
フルクトースは、小腸で吸収され、肝臓で代謝されます。代謝の過程で中性脂肪に変換されやすく、過剰摂取は肥満やメタボリックシンドロームのリスクを高める可能性があります。また、フルクトースはグルコースと異なり、インスリン分泌を刺激しないため、血糖値を急激に上昇させることはありませんが、長期的な摂取はインスリン抵抗性を高め、糖尿病のリスクを高める可能性も指摘されています。
そのため、果物や蜂蜜などの天然のフルクトースは適量を摂取することが推奨されます。
/** Geminiが自動生成した概要 **/
フルクトースは、グルコースの2位の炭素が異性化酵素等の作用で酸素と二重結合になった五員環構造の単糖である。スクロースはグルコースとフルクトースがグリコシド結合した二糖類だ。フルクトースはケトン基を持つが還元性が高く、グルコースよりメイラード反応を起こしやすい。前記事で触れた黒糖やショ糖(スクロース)の構成要素であるフルクトースは、グルコースの異性体で果糖とも呼ばれる。五員環構造を持つため、グルコースと化学的性質が異なり、メイラード反応を起こしやすい。これは、フルクトースの還元性がグルコースよりも高いためである。このため、フルクトースを含む糖蜜はメイラード反応により褐色を呈する。
/** Geminiが自動生成した概要 **/
SOY Inquiryの管理画面で、長いカラム名を持つお問い合わせフォームの表示崩れを解消するアップデートが行われました。従来、最も長いカラム名に合わせて全項目の表示幅が拡張され、無駄なスペースが生じていましたが、今回の修正で改善。最長カラム名の値は改行表示となり、その他の項目は2番目に長いカラム名に合わせた幅で表示されるようになりました。これにより、長いカラム名を含むフォームでも見やすく整形された詳細情報を確認できます。アップデート版はsaitodev.co/soycms/soyinquiry/からダウンロード可能です。
/** Geminiが自動生成した概要 **/
SOY Shopに商品管理のみの権限設定が追加されました。外部委託業者などに商品登録業務を依頼する場合、この権限を付与することで、商品ページ関連の操作のみを許可できます。管理画面へのログイン後、ナビゲーションには商品関連の項目のみ表示され、URL直打ちによる未許可ページへのアクセスも制限されます。今回のアップデートでは権限周りのコードもリファクタリングされ、新たな権限の種類を容易に追加できるようになりました。最新版はsaitodev.co/soycms/soyshop/からダウンロード可能です。
/** Geminiが自動生成した概要 **/
植物は、傷つけられるとグルタミン酸を使って他の部位に危険を伝達する。グルタミン酸は動物の神経伝達物質としても知られるが、植物では防御機構の活性化シグナルとして機能する。実験では、蛍光タンパク質でグルタミン酸の移動を可視化し、毛虫にかじられた際にグルタミン酸が血管のような役割を持つ師管を通って全身に広がる様子が観察された。この伝達速度は秒速1ミリメートルに達し、グルタミン酸の増加に伴い防御ホルモンであるジャスモン酸の生成も確認された。このシステムにより、植物は局所的な攻撃から身を守るための全身的な防御反応を迅速に展開できる。
/** Geminiが自動生成した概要 **/
pickadate.jsでHTML5のrequired属性を使うには、`editable: true`オプションを設定する必要がある。ただし、これによりページ読み込み時にrequiredチェックが実行され、未入力エラーが表示される問題が発生する。これを回避するには、フォームにIDを付与し、クリックイベントでpickadateを初期化するよう変更する。さらに、カレンダー表示のために`pickr.pickadate('open')`も追加する必要がある。これにより、フォームクリック時に初めて初期化とバリデーションが行われるようになり、初期エラー表示の問題が解決する。
/** Geminiが自動生成した概要 **/
SOY CMSで、ラベルの利用状況を確認できる機能が追加されました。ラベル詳細画面に、どのページのどのブロックで使用されているかを表示する機能です。ページやブロックが増え、ラベルの管理が複雑になるにつれて、使用状況の把握が困難になるという問題に対応しています。この機能により、どのページでラベルが使用されているかを一覧で確認できるようになり、サイト管理の効率化に繋がります。ブログやカテゴリーで使用されているラベルも表示されます。更新されたパッケージはsaitodev.co/soycms/からダウンロード可能です。
/** Geminiが自動生成した概要 **/
SOY Shopの商品レビュープラグインに、レビュー表示件数設定とページ分割機能が追加されました。商品詳細ページに表示するレビュー数を管理画面で設定可能になり、それを超えるレビューは別ページに表示されます。これにより、レビュー数の増加に対応できるようになりました。また、サイトマッププラグインも改良され、レビュー増加時にXMLに自動で項目が追加されるため、SEO対策も万全です。今回のアップデートにより、ユーザビリティとSEOの両面が強化されました。ダウンロードはsaitodev.co/soycms/soyshop/ から可能です。以前のアップデートでは、5つ星形式の評価を表示するcms:idタグも追加されています。
/** Geminiが自動生成した概要 **/
SOY Shopで販売管理アプリ構築に挑戦中。仕入・入出金管理に注力し、既存の販売管理アプリの課題である価格バリエーションの不足に対応するため、SOY Shopのプラグインを活用し無制限登録を実現。商品規格を応用し、仕入値の異なる同一商品を管理。管理画面からの注文登録時に仕入値パターンを表示する機能も追加。ネットショップにおける仕入の概念の重要性も認識。販売管理機能強化により、ネットショップ機能全体の向上を目指す。
/** Geminiが自動生成した概要 **/
粘土鉱物を肥料として活用する目的は腐植蓄積だが、粘土鉱物と腐植の繋がりは疑問が残る。2:1型粘土鉱物は正電荷が少ないため、有機物とのイオン結合による蓄積モデルでは説明が不十分。しかし、現実には2:1型粘土鉱物投入で土壌改良効果が見られる。これはAl由来の正電荷以外の結合機構を示唆する。ヒントとして、カオリン鉱物と酢酸カリウムの水素結合、スメクタイトとアルキルアンモニウムの正電荷による結合が挙げられる。腐植蓄積にはこれら以外のメカニズムが関与していると考えられ、特定の肥料と現象がその鍵を握る可能性がある。
/** Geminiが自動生成した概要 **/
徳島県吉野川市周辺では「青い石が出る園地は良いミカンが出来る」という言い伝えがある。この青い石は緑泥石片岩で、三波川変成帯でよく見られる。緑泥石片岩は、マグネシウム肥料の原料となる水滑石(ブルーサイト)を生成する場所であることから、土壌にマグネシウムが豊富に含まれる。さらに、緑泥石片岩は風化するとカリウムやマグネシウム、2:1型粘土鉱物を含む肥沃な土壌となる。これらの要素がミカン栽培に適していると考えられ、地元農家からは土地への高い信頼が寄せられている。
/** Geminiが自動生成した概要 **/
SOY Inquiryの住所カラムに、郵便番号入力後、自動で住所検索を行う新機能が追加されました。住所(JS版)カラムで自動住所検索モードを有効にすると、郵便番号入力時にリアルタイムで住所検索を実行し、市区町村カラムに結果を自動挿入します。検索ボタンは非表示となり、入力桁数に応じて検索結果も動的に変化します。ただし、一つのフォームで住所(JS版)カラムは一つしか使用できません。複数利用希望の場合は改修が必要です。新機能搭載パッケージはsaitodev.co/soycms/soyinquiry/ からダウンロード可能です。
/** Geminiが自動生成した概要 **/
ラウリン酸は、ヤシ油やサツマイモなどの熱帯植物に多く含まれる炭素数12の中鎖飽和脂肪酸です。飽和脂肪酸は融点が高いため、ラウリン酸を含むリン脂質で構成される細胞膜は寒さに弱い性質を持ちます。これは、熱帯植物の分布と一致する特性です。
食品成分分析では、グリセリンなどに結合した脂肪酸も測定可能です。また、遊離脂肪酸は細胞内で生理活性に関与する可能性も示唆されています。さらに、長鎖飽和脂肪酸から中鎖飽和脂肪酸への変換の有無も、今後の研究課題です。
中鎖飽和脂肪酸は、ジャガイモそうか病菌の増殖抑制効果も報告されており、農業分野への応用も期待されています。
/** Geminiが自動生成した概要 **/
SOY CMSとSOY ShopがPHP7.4に対応しました。PHP7.4は7.3より高速ですが、マジックメソッド__callの振る舞いの変更が影響し、SOY CMSのsoy:id記法の一部でエラーが発生していました。具体的には、addForm()等のメソッドが__callで抽象化されていたため、PHP7.4ではHTTP 503エラーが発生していました。この問題を解消するため、addForm()等を直接呼び出せるよう修正し、抽象的なコードを減らすことで高速化にも貢献しました。PHP7.4対応版はサイトからダウンロード可能です。今回の修正はPHP5系でも動作します。プラグインの動作確認はまだ完了していないため、エラーが発生した場合は問い合わせフォームから報告をお願いします。
/** Geminiが自動生成した概要 **/
Ubuntu 19.10でSnap版Bracketsのライブプレビューが「ファイルへのアクセスが拒否されました」エラーで動作しない問題の対処法。Brackets 1.14 (snap経由)、Chromium 79.0.3945.79 (snap)環境で、GitHubのIssueを参考に解決。解決策は、Bracketsのメニュー「File」→「Enable Experimental Live Preview」を有効にすること。これにより、設定済みのブラウザ(ChromiumやFirefox)でライブプレビューが正常に動作するようになった。
/** Geminiが自動生成した概要 **/
ウイスキーのモロミに含まれるラウリン酸の由来を探るため、原料の大麦麦芽(モルト)に着目。モルトは発芽させた大麦を粉状にしたもので、発芽時にデンプンが麦芽糖(マルトース)に変換される。この麦芽糖がウイスキーの発酵に関与する。ラウリン酸が発芽過程で増えるかは不明だが、今回は触れずに次に進む。
/** Geminiが自動生成した概要 **/
SOY Shopの商品名サブタイトルプラグインを追加しました。長い商品名が見切れてしまう問題を解消するため、サブタイトルを入力できるフォームを設けました。サブタイトルは別のHTMLタグで出力できるため、商品名と分けて表示できます。このプラグインに合わせて、カスタムサーチフィールド等の検索モジュールでは、商品名とサブタイトルの両方を検索対象に含めました。最新版はsaitodev.co/soycms/soyshop/からダウンロード可能です。
/** Geminiが自動生成した概要 **/
イネ科緑肥の効果について、従来の窒素固定効果への疑問と、土壌物理性改善効果への注目を再考しています。マメ科と比較して窒素固定効果は限定的だが、多量の炭素供給による土壌有機物増加、団粒構造促進、保水性・排水性向上といった物理性の改善効果が大きい。特に、線虫抑制効果や、後作のリン酸吸収促進効果も期待される。ただし、イネ科緑肥単独での窒素供給は不足するため、堆肥など有機物との併用や、土壌窒素量への配慮が必要。緑肥投入後の土壌変化を理解し、適切な管理を行うことで、持続的な土づくりに貢献できる。
/** Geminiが自動生成した概要 **/
SOY Shop用出荷予定日通知プラグインが開発されました。注文から即時出荷を売りにするサイト向けに、サイト上で現在の注文の出荷予定日を表示できます。営業日カレンダーと連携し、定休日を考慮した正確な日付を表示。表示文言は営業日・定休日の午前・午後それぞれ設定可能です。通常版に加え、商品ごとに異なる出荷日・文言を設定できる商品毎出荷予定日通知プラグインも追加されました。パッケージはsaitodev.co/soycms/soyshop/からダウンロード可能です。
/** Geminiが自動生成した概要 **/
MySQL8系にアップグレード後、SOY CMSが「データベースの接続に失敗しました」エラーで起動しない場合の対処法。原因はMySQL8.0の認証方式変更にPHPのPDOが対応していないため。Ubuntu環境で、MySQLの設定ファイル(/etc/mysql/mysql.conf.d/mysqld.cnf)の[mysqld]セクションに`default_authentication_plugin=mysql_native_password`を追加し、MySQLを再起動することで解決する。これはPDOの対応までの応急処置。
/** Geminiが自動生成した概要 **/
Ubuntu 19.10でGoogleフォトにUSB接続のデジカメ画像をアップロードしようとしたら、「Permission denied」エラーが発生。原因はChromiumブラウザの設定でリムーバブルメディアへのアクセスが許可されていなかったため。UbuntuソフトウェアからChromiumの詳細設定を開き、「リムーバブルストレージデバイスのファイルの読み取り/書き込み」を有効化することで解決。
/** Geminiが自動生成した概要 **/
Google Analytics APIの承認取得に苦労した著者が、その過程を詳述。OAuth同意画面の設定から始まり、Googleからの度重なるメールでの指摘に対応していく。 ホームページ、プライバシーポリシーの設置、アプリ操作動画の提出を求められ、動画はクライアントIDの表示や言語設定など細かい指示に従い作成し直した。最終的に承認を得るまで、動画の翻訳やスコープ設定の不備など、多くの修正を余儀なくされた。
/** Geminiが自動生成した概要 **/
SOY CMSの記事一覧表示を自由にカスタマイズできる「記事一覧選択表示ブロックプラグイン」の紹介です。 通常の記事一覧ブロックはカテゴリーや検索結果に基づいて表示されますが、このプラグインでは記事ごとにチェックボックスで表示/非表示を選択可能。 記事編集画面にチェックボックスが追加され、チェックを入れた記事のみがブロックに表示されます。 これにより、ラベルに関係なく任意の記事をピックアップした一覧を作成できます。ブロックの設定方法の詳細はプラグイン詳細画面に記載。プラグインを含むパッケージはsaitodev.co/soycms/からダウンロード可能です。
/** Geminiが自動生成した概要 **/
SOY Shopの管理画面からの注文で、誤操作により在庫管理などに不整合が生じる問題を解消するため、「未登録商品を指定する」ボタンの表示有無を設定できる機能が追加されました。 業務アプリとしてSOY Shopを活用する際、この新機能により、新規スタッフの教育コスト削減と誤操作による損害リスク軽減に繋がります。このアップデートを含む最新パッケージはsaitodev.co/soycms/soyshop/ からダウンロード可能です。
/** Geminiが自動生成した概要 **/
SOY Shopの商品詳細表示プラグインで、パンくずのリンク先をカスタマイズできるようになりました。従来、商品詳細ページのパンくず内の「商品一覧」リンクは固定でしたが、今回のアップデートにより、管理画面の商品情報編集画面で任意のURLに変更可能になりました。 これにより、商品カテゴリページ以外にも、特定の特集ページなど、任意のページへリンクさせることができます。変更したURLは、商品詳細表示プラグインで出力されるパンくずに反映されます。 最新版はsaitodev.co/soycms/soyshop/からダウンロード可能です。
/** Geminiが自動生成した概要 **/
長野県栄村の小滝集落訪問をきっかけに、苗場山麓ジオパークのガイドブックを入手。ガイドブックによると、栄村南東の新潟県津南町結東に苗場山麓最古の地層とグリーンタフ(緑色凝灰岩)が存在するとのこと。結東は現在海から離れているが、太古の昔は海の近くだったためグリーンタフが形成されたと推測される。結東層は安山岩や玄武岩などが変質した緑色凝灰岩から成る。著者は兵庫県竹野海岸で見た鮮やかな緑色のグリーンタフを思い出し、結東のグリーンタフも同様のものか興味を持ち、現地訪問を計画している。信濃川北側はかつて海だったという情報にも触れ、日本列島の形成過程との関連を示唆している。
/** Geminiが自動生成した概要 **/
SOY InquiryがGoogle reCAPTCHA v3に対応しました。reCAPTCHA v3は、ユーザーの行動を分析してボットを判別する仕組みで、従来の文字入力やチェックボックス操作は不要です。SOY CMSのプラグインとして提供され、有効化するとサイト右下にreCAPTCHAロゴが表示されます。v3は学習ベースで精度が向上するため、初期は精度が低い可能性があります. 現時点ではJavaScript無効環境への対策は未対応です。最新版は公式サイトからダウンロード可能です。関連記事では、同一IPからの連続問い合わせをブロックする方法を紹介しています。
/** Geminiが自動生成した概要 **/
SOY Shopの消費税別表示モジュールが軽減税率に対応しました。2019年10月からの消費税増税に伴い、モジュールで増税日と税率を設定できる他、軽減税率の設定も可能になりました。軽減税率対象商品は、各商品の編集画面でチェックボックスにより指定します。対象商品の一覧表示機能は現状ありませんが、要望があれば追加予定です。最新版はsaitodev.co/soycms/soyshop/からダウンロードできます。
/** Geminiが自動生成した概要 **/
SOY CMSのバージョンアップ後、初期管理者でログイン・バージョンアップ手続き・ログアウトを行うと、ログインフォームに自動ログインチェックボックスが追加されるようになりました。この機能はバージョンアップの手間を軽減します。同梱パッケージはsaitodev.co/soycms からダウンロード可能です。
/** Geminiが自動生成した概要 **/
SOY Shopの商品詳細表示プラグインが更新され、商品の公開状態と公開期間が反映されるよう改善されました。さらに、パンくずモジュールと連携して、フリーページで商品詳細ページと同様のパンくず表示が可能になりました。キャッシュ削除時の不具合も修正され、PHP Noticeエラーも表示されなくなりました。この更新により、商品ページの表示が正確かつ安定したものになります。
/** Geminiが自動生成した概要 **/
この記事では、野菜のおいしさについて、筆者の師匠が育てたゴボウを例に考察しています。師のゴボウは太く、味だけでなく香りも素晴らしかったとのこと。ゴボウの旨味成分としてグルタミン酸が挙げられますが、それ以外にクロロゲン酸とイヌリンの存在が重要だと指摘します。クロロゲン酸はポリフェノールの一種で、少量であれば甘味や酸味を感じさせ、味覚を修飾する効果があります。イヌリンは水溶性食物繊維で、加水分解されるとオリゴ糖になり、ゴボウの甘味を増します。また、整腸作用も持つとされています。長期冷蔵によってイヌリンが糖化し甘味が増したゴボウに、クロロゲン酸の味覚修飾効果とグルタミン酸の旨味が加わり、独特の風味とコクが生まれると結論づけています。さらに、優れた栽培者のゴボウは香りも優れていることを指摘し、おいしさの多様性を示唆しています。
/** Geminiが自動生成した概要 **/
この記事では、野菜の美味しさ、特にカロテノイドに着目して考察しています。ニンジンやトウガラシなどの色鮮やかさはカロテノイドによるもので、視覚的に美味しさを喚起します。また、横濱鶏の黄金色の油も飼料由来のカロテノイドによるもので、独特の旨味を持つとされます。カロテノイドは抗酸化作用があり、発がん抑制効果も報告されています。著者は、美味しさの追求が健康につながる可能性を示唆し、B級品ニンジンを摂取した家族の癌が軽減したという逸話を紹介しています。さらに、β-カロテンが免疫グロブリン合成に関与する可能性にも触れ、野菜の持つ健康効果の多様性を示しています。
/** Geminiが自動生成した概要 **/
安満遺跡公園でのイベントで好評だった実体顕微鏡に続き、ROTEKのUSB顕微鏡を購入。パソコン画面で観察できるため、複数人での共有が可能。植物の葉の表面の毛を観察する機会があり、タイムラグはあるものの、おおむね良好な結果を得た。イベントでの活用にも期待。
/** Geminiが自動生成した概要 **/
カプサイシンはトウガラシの辛味成分で、バニリルアミンと分岐脂肪酸がアミド結合した構造を持つ。辛味度はスコビル単位で表され、純粋なカプサイシンは1600万単位と非常に高い。人体への作用は、TRPV1受容体を活性化し、熱さや痛みを感じさせる。また、内臓脂肪の燃焼促進や食欲抑制、血行促進などの効果も報告されている。しかし、過剰摂取は胃腸障害を引き起こす可能性がある。農林水産省はカプサイシンを含むトウガラシの適切な利用と注意喚起を促している。
/** Geminiが自動生成した概要 **/
トウガラシの辛味成分カプサイシンは、バニリル基と脂肪酸が結合した構造を持つ。バニリル基は、シキミ酸経路でフェニルアラニンからカフェ酸を経てバニリンが合成され、さらにバニリンにアミノ基転移酵素の働きでアミノ基が付加されてバニリルアミンとなる。一方、脂肪酸は炭素数10の不飽和脂肪酸が合成される。最終的にバニリルアミンと脂肪酸が結合し、カプサイシンが生成される。
/** Geminiが自動生成した概要 **/
植物におけるカロテノイド生合成は、IPPとDMAPPを前駆体として非メバロン酸経路またはメバロン酸経路で進行する。最終生成物はカロテノイドであり、様々な構造と機能を持つ。例えば、光合成の補助色素や抗酸化物質として働く。カロテノイド生合成の制御は、代謝工学的手法で遺伝子発現を操作することで可能となる。これにより、特定カロテノイドの増産や新規カロテノイドの創出が可能となる。栄養価向上や産業利用などへの応用が期待されている。
/** Geminiが自動生成した概要 **/
SEO対策として表示速度向上に取り組んでいるサイト運営者が、SOY CMSの記事詳細表示を高速化するプラグインを開発した。従来、柔軟性のため記事テーブルのエイリアスカラムにUNIQUEインデックスを貼っていなかったが、今回ユニーク制約を設けることで高速化を実現。同時に、記事の投稿時刻にもインデックスを追加し、アーカイブページの表示速度も向上させた。投稿時刻は同時刻投稿の場合、1秒ずらす仕様とした。このプラグインはダウンロード後、有効化することでデータベースに反映される。
/** Geminiが自動生成した概要 **/
広島の牡蠣養殖に関する話題から、戦前に人糞が養殖に使われていたという噂話に触れ、それが植物プランクトン増加のためだった可能性を、ニゴロブナの養殖における鶏糞利用と関連付けて考察している。鶏糞は窒素・リンに加え炭酸石灰も豊富で、海水の酸性化対策にも繋がる。しかし、富栄養化によるグリーンタイド(アオサの異常繁殖)が懸念される。グリーンタイドは景観悪化や悪臭、貝類の死滅などを引き起こす。人為的な介入は、光合成の活発化による弊害も大きく、難しい。海洋への鶏糞散布は、燃料コストに見合わない。最終的に、牡蠣養殖の観察を通してグリーンタイド発生の懸念を表明し、人為的な海洋介入の難しさについて結論付けている。
/** Geminiが自動生成した概要 **/
共有サーバーのPHPバージョンアップに伴い、サイトに予期せぬエラーが表示されるケースが増加しています。PHPのバージョンアップにより古いコードが非推奨となるため、例えばSOY Shopのサイトマッププラグインでエラーが発生するといった事態が起こりえます。
記事では、PHP 5.6 から 7.3 への変更による影響と、バージョンアップによるエラー発生の可能性について解説しています。例として挙げられたサイトマッププラグインのエラーは既に修正済みで、最新版のパッケージで対応可能です。
PHPのバージョンアップは今後も続くため、同様のエラー発生が予測されます。SOY CMSとSOY ShopもPHPのバージョンアップに対応したアップデートを提供しているので、最新版への更新を推奨しています。
/** Geminiが自動生成した概要 **/
SOY CMSブログ記事SEOプラグインがアップデート。記事詳細ページでメタ情報(キーワード、説明)未入力の場合、従来はトップページのメタ情報を継承していたが、新設定で継承の有無を選択可能に。また、記事にメタ情報がない場合はメタタグ自体を出力しない設定も追加(`b_block:id="is_entry_description"`等を使用)。これにより、メタ情報未入力の記事でも表示速度低下を回避できるようになった。新機能搭載パッケージはsaitodev.co/soycms/ からダウンロード可能。
/** Geminiが自動生成した概要 **/
イネから発見されたジテルペノイドの一種、モミラクトンAとBは、植物の根から分泌される抗菌成分で、幅広い生物活性を持ち、他感作用(アレロパシー活性)を示す。もみ殻に多く含まれるラクトン化合物であることから命名された。近年、動物細胞への抗がん作用も報告され、注目されている。イソプレノイドは、IPPとDMAPPという炭素数5の化合物が結合して生成される。これらの前駆体は、非メバロン酸経路(MEP経路)またはメバロン酸経路(MVA経路)で合成される。モミラクトンは、イネの生育に有利な環境を作り出すことで、稲作の拡大に貢献した可能性がある。
/** Geminiが自動生成した概要 **/
二次代謝産物とは、一次代謝過程で必須ではないが、植物の生存や成長に有益な化合物のこと。主に保護やコミュニケーションに使用される。例として、色素は植物に色を与え、捕食者や病原体から保護し、また花粉を運ぶ動物に視覚的シグナルを送る。また、香りや味を与えるテルペノイドは、虫を寄せたり、捕食者を遠ざける。さらに、病原体に対する防御作用を持つアルカロイドや、紫外線から保護するフラボノイドも二次代謝産物である。
/** Geminiが自動生成した概要 **/
ネナシカズラがイネ科のヨシに寄生する可能性を調査。報告により、ヨシ原でネナシカズラが確認されたが、寄生は確認されず。低い位置に蔓延していたため、別の植物に寄生している可能性がある。ネナシカズラは葉緑素を持たず、高い位置への伸長が必要ないため、低い位置で宿主から養分を吸収していたと推測される。報告された個所を調査することが望ましい。
/** Geminiが自動生成した概要 **/
ワインの熟成において、ポリフェノールは色素のアントシアニンとタンニン(カテキン)が重要です。ブドウ由来のプロアントシアニジンは熟成初期にアントシアニンとカテキンに変化し、ワインの渋味や苦味を形成します。カテキンは鉄や銅、酸素と反応してキノンを生成し、ワイン中のアルデヒドを増加させます。また、ポリフェノール酸化酵素により褐変も進行。オーク樽は微量の酸素と木材由来のタンニンを供給し、ワインの品質に大きく影響します。アルデヒドの更なる役割は次回詳述されます。
/** Geminiが自動生成した概要 **/
SOY Shopでは、商品情報にカスタムフィールドを追加できるようになりました。さらに、カテゴリごとにカスタムフィールド項目の表示/非表示を設定可能に。これにより、商品編集画面が肥大化せず、必要な情報だけを表示できます。具体的には、カスタムフィールドの項目設定でカテゴリを紐付け、編集画面で関連カテゴリを選択すれば、そのカテゴリに紐付いた項目だけが表示されます。この機能により、商品情報を分かりやすく管理できます。
/** Geminiが自動生成した概要 **/
ダイズの原種であるツルマメのマメの色は黒色である。これは、ダイズの祖先は黒色で、長い栽培の歴史の中で黒色色素の合成を失ったことを示唆する。同様に、ブドウも元々は黒色だったが、育種で色素の合成が抑制され白ブドウになった可能性がある。ダイズが黄色の色になったのは、渋いポリフェノールを含む黒色色素を持たない株が好まれたためと推測される。
/** Geminiが自動生成した概要 **/
黒大豆の黒い色は、プロアントシアニジンと呼ばれるポリフェノールによるもの。ポリフェノールは光による障害を防ぐことを目的としている可能性がある。黄大豆がポリフェノールを持たない理由は不明だが、作物の種類によって異なる защитные механизмыが進化している可能性が示唆されている。
/** Geminiが自動生成した概要 **/
SOY CMSとSOY Shopで、キャッシュファイル生成の失敗時に自動的にファイルを削除し再生成する機能が追加されました。これにより、文字抜けなどのキャッシュ生成の不具合が回避され、ウェブサイトが常に正確に表示されるようになります。
/** Geminiが自動生成した概要 **/
SOY Shop用のプラグインで、複数カテゴリの商品一覧を1ページに表示できる機能を追加しました。標準のナビゲーションページではカスタムサーチフィールド等のプラグインとの連携が難しいため、簡易的に商品ブロックと同等の機能を実現するプラグインを開発。管理画面で生成個数を指定すると、`<shop:module>`と`<block:id="item_list">`を使った記述が生成され、`category`属性にカテゴリIDを指定することで各カテゴリの商品一覧が表示されます。カテゴリIDはカテゴリ詳細画面のURL末尾の数字で確認できます。今後はカスタムサーチフィールドにも対応した商品ブロック作成プラグインを開発予定です。現在はカテゴリと表示件数、カスタムサーチフィールドに対応したプラグインを公開中です。
/** Geminiが自動生成した概要 **/
SOY Shopの顧客管理機能を活用し、キャンセル発生頻度の高い就学前児童向けWebサービスの予約カレンダーを開発。Googleアカウントログイン機能、仮登録による会員限定アクセス制限、運営者による本登録承認フローを実装。スマホで空き状況確認・予約を簡素化し、クリック操作で予約完了までスムーズな導線を構築。Bootstrapテンプレートのカスタマイズにより操作性を向上。兄弟利用を想定した予約時情報入力機能も搭載。キャンセル発生時の迅速な空き状況更新にも対応。
/** Geminiが自動生成した概要 **/
SOY Shopの予約サイト構築用プラグインに、レスポンシブ対応のカレンダー表示機能が追加された。PCでは1ヶ月分のカレンダー、スマホでは今日から2週間分の縦型カレンダー表示となり、Bootstrap 4ベースでUIが改善。この機能は「予約カレンダースマホ拡張プラグイン」で利用可能。開発案件のニーズに応え、予約アプリ導入コスト削減を目指し開発された。更新版パッケージはsaitodev.co/soycms/soyshop/からダウンロードできる。
/** Geminiが自動生成した概要 **/
SOY Inquiryで日付入力にカレンダー形式を追加するには、jQuery UIのDatepickerを利用します。まず、フォーム設置ページのテンプレートにjQueryとjQuery UI、日本語化ファイルのCDNを読み込むscriptタグを追加します。次に、SOY Inquiryで日付のカラムを作成し、属性に`id="datepicker"`を設定します。これにより、フォームにフォーカスを当てるとカレンダーが表示され、日付を選択できるようになります。Datepickerは日付選択の制限等、高度な設定も可能です。詳細はjQuery UIの公式ドキュメントを参照ください。
/** Geminiが自動生成した概要 **/
SOY Inquiryで多言語サイトを構築する際、問い合わせ番号や日時が日本語で送信される問題を解決する方法です。mail.user.phpをカスタマイズし、メール本文中の「問い合わせ番号」「問い合わせ日時」を各言語に置換します。コード例では、explodeで本文を分割し、strposで該当箇所を特定、str_replaceで置換後、implodeで再構築しています。この方法で各言語用のフォームを用意すれば、多言語対応の問い合わせメールを実現できます。
/** Geminiが自動生成した概要 **/
画像データが容量の大部分を占めるサイト運営において、さくらのVPS 1Gプランのストレージ容量が逼迫し、バックアップ時の負荷でサイト表示に不調が生じていたため、追加ストレージ(NFS)の導入手順を解説。
まず、VPSコントロールパネルでスイッチを作成し、アプリケーションサーバとNFSのネットワークインターフェースに紐づける。次に、追加ストレージ(NFS)を契約し、IPアドレスとネットマスクを設定、同じくスイッチを紐づける。
その後、SSHでアプリケーションサーバに接続し、マウントポイントを作成、ネットワークインターフェースを設定、NFSをマウントするコマンドを実行。最終的に、再起動後も自動マウントされるようcrontabを設定する。
記事ではUbuntu 18.04.2での手順を記述。また、SOY CMSでNFSを利用するためのプラグイン開発中であり、問い合わせフォームへのリンクを掲載している。
/** Geminiが自動生成した概要 **/
この記事では、ハッショウマメ(ムクナ)というマメ科植物のアレロパシー作用について解説しています。ハッショウマメはL-ドパという物質をアレロケミカルとして分泌します。L-ドパは神経伝達物質ドーパミンやアドレナリンの前駆体で、広葉雑草の生育阻害や昆虫の殻の硬化阻害といった作用を持ちます。人間は体内でチロシンからL-ドパを合成できるため、摂取の必要はありません。アレロパシーに関する書籍「植物たちの静かな戦い」も紹介されており、農業における緑肥活用の可能性を示唆しています。関連として、ヒルガオ科植物の強さについても言及されています。
/** Geminiが自動生成した概要 **/
SOY Inquiryにフォーム毎の通し番号を自動生成する機能が追加されました。この機能は、送信完了画面、自動返信メール、管理画面の受信一覧に表示可能です。通し番号は連番カラムで管理され、非表示設定も可能です。管理画面で連番カラムをフォームの最初に配置すれば、受信一覧での表示も実現できます。「次回お問い合わせ時に生成する番号」を設定することで、番号を飛ばすことも可能です。機能追加版はサイトからダウンロードできます。ただし、自作デザインのフォームを使用する場合は、PHPファイルの修正が必要です。修正方法の解説ページも用意されていますが、難しい場合はサイトから問い合わせも可能です。
/** Geminiが自動生成した概要 **/
SOY CMSの管理画面パスワードを忘れた場合、パスワードリマインダが有効でなければ使えません。有効化は必須です。パッケージを最新版に更新すると手順が簡略化されます。
パスワード無しでログインするには、AdministratorLogic.class.phpのlogin関数とcheckUserIdAndPassword関数に"return true;"を追加します。管理画面へのアクセス制限としてBasic認証を設定しておくのが安全です。
ログイン後、管理者情報ページを開くにはDetailPage.class.phpに初期管理者ID取得のコードを追加します。パスワード変更時はChangePasswordAction.class.phpでエラーチェックとパスワードチェックを無効化し、管理者IDを強制的に初期管理者に設定します。変更後はファイルを元に戻し、ログイン確認後、パスワードリマインダを有効化してください。
/** Geminiが自動生成した概要 **/
SOY CMSでMySQL 8系に接続できない場合、認証方式の違いが原因です。MySQL 8系は`caching_sha2_password`がデフォルトですが、SOY CMSは`mysql_native_password`で接続します。解決策は、MySQLの設定ファイル`mysqld.cnf`の`[mysqld]`セクションに`default_authentication_plugin=mysql_native_password`を追加し、MySQLを再起動します。新規インストール時はインストール時に`mysql_native_password`を指定できます。既存ユーザの場合は、MySQLにログインし`ALTER USER 'ユーザ名'@'localhost' IDENTIFIED WITH mysql_native_password BY 'パスワード';`を実行し、`FLUSH PRIVILEGES;`で変更を適用します。
/** Geminiが自動生成した概要 **/
海苔の種類によるビタミンB12含有量の違いを、Google検索を用いて調べた結果がまとめられている。焼き海苔(紅藻・スサビノリ)は57.6µgと豊富だが、アオサ(緑藻)は1.3µg、スイゼンジノリ(藍藻)は0.4µgと少ない。紅藻にはビタミンB12合成細菌との共生が示唆されている。意外にも褐藻のコンブには含まれず、ワカメには微量(0.3µg)含まれていた。海苔と一口に言っても、生物学的な種の違いによりビタミンB12含有量が大きく異なることが分かり、ビタミンB12合成細菌の研究の必要性が示唆された。
/** Geminiが自動生成した概要 **/
珪藻や褐藻は、紅藻や緑藻とは異なり、ストラメノパイルというグループに属する。ストラメノパイルは、真核生物が紅藻または緑藻を細胞内に取り込む二次共生によって誕生した。つまり、褐藻の細胞内には、さらに紅藻/緑藻由来の細胞内共生体が存在する。
これは系統樹上では、ストラメノパイルと紅藻/緑藻/陸上植物が大きく離れていることを意味する。大型褐藻であるワカメと陸上植物は、見た目とは裏腹に進化的に遠い関係にある。この複雑な進化の過程は、褐藻類が秘めた大きな可能性を示唆している。
/** Geminiが自動生成した概要 **/
海中の太陽光到達深度と藻類の色素の関係が、生育する藻の種類を決定づける。浅瀬では赤色の波長が減衰し、深くなるにつれ黄色、そして青色以外の波長が消失する。藻類の色素は補色の波長を吸収するため、緑色の陸上植物や緑藻は浅瀬で緑色の光を反射し、過剰な受光を防ぐ。一方、紅藻は緑〜青色の補色である赤い色素を持つため、より深い場所で生育する。海苔として食用にされる様々な藻類は、生物学的には大きく異なり、栄養価も異なる。紅藻(スサビノリ)はビタミンB12(コバラミン)を合成する細菌と共生している。
/** Geminiが自動生成した概要 **/
植物の葉が緑色に見えるのは、緑色の光を反射するからである。しかし、なぜ緑色の光を利用しないのか?
アーケプラスチダと呼ばれる酸素発生型光合成生物群は、紅藻、緑藻、灰色藻などに分類される。紅藻のフノリは海苔の一種であり、緑藻のノリも海苔に含まれる。海苔にはビタミンB12が豊富に含まれるが、フノリにも含まれるかは次回の記事で解説される。灰色藻は原始藻類から進化し、陸上植物の祖先となったと考えられている。
/** Geminiが自動生成した概要 **/
SOY Shopで商品ごとにJANコードを登録・バーコード表示するプラグインが開発されました。管理画面の商品詳細画面にJANコード入力欄が追加され、入力するとバーコード画像が生成されます。生成されたバーコードは市販のバーコードリーダーで読み取り可能であることが確認されています。プラグインはsaitodev.coからダウンロードできます。バーコード生成にはPHP Barcode Generatorが使用されています。現状、SOY Shop標準機能でのこのプラグインの用途は未定ですが、活用アイデアは問い合わせフォームから募集中です。
/** Geminiが自動生成した概要 **/
植物にはビタミンB12がない一方で、海苔などの藻類には豊富に含まれる。藻類の起源を探るため、細胞内共生説を概観する。
酸素発生型光合成を行う細菌や酸素呼吸を行う細菌が登場した後、ある古細菌が呼吸を行う細菌を取り込みミトコンドリアを獲得し、真核生物へと進化した。さらに、真核生物の一部は光合成を行う細菌を取り込み葉緑体を得て、灰色藻のような真核藻類となった。この真核生物が他の細菌を取り込んで共生する現象を一次共生と呼ぶ。
海苔のビタミンB12の謎を解く鍵は、このような藻類誕生の過程に隠されていると考えられる。
/** Geminiが自動生成した概要 **/
藻類は酸素発生型光合成を行う生物群の総称で、多様な系統を含む。大きく分けて、シアノバクテリア、紅色植物、灰色植物、緑色植物、クリプト植物、ハプト植物、渦鞭毛植物などがある。緑色植物は陸上植物の祖先を含むグループで、シャジクモ藻類と緑藻類からなる。大型藻類は肉眼で確認できるサイズで、コンブやワカメ、海苔など食用になる種も多い。これらは異なる系統に属し、コンブやワカメは不等毛植物、海苔は紅色植物である。水草は水中生活に適応した植物の総称であり、藻類とは異なる。
/** Geminiが自動生成した概要 **/
この記事は、植物における葉酸の役割について考察しています。筆者は、ヒトではDNA合成に関わる葉酸が植物でも同様の働きをしていると仮定し、ホウレンソウにビタミンB12が含まれると予想しましたが、実際には含まれていませんでした。そこで、植物における葉酸の機能について論文を調べた結果、シロイヌナズナでは葉酸が光合成を行わない色素体において、スクロースからデンプンへの変換を抑制することを発見しました。つまり、葉酸は植物の成長と貯蔵のバランスを調節する役割を担っており、成長期には葉酸合成が盛んになる可能性が示唆されています。このことから、葉酸の存在は植物の活発な成長を示す指標となる可能性がある一方、乾燥ストレスのような環境変化時には貯蔵に切り替わるため、単純に葉酸が多い野菜が常に良いとは言えないと結論付けています。
/** Geminiが自動生成した概要 **/
SOY CMSのGravatar連携プラグインは、ブログ投稿者のプロフィール画像を簡単に表示できるツールです。Gravatarに登録されたメールアドレスと連携し、自動的に画像を取得・表示します。プラグイン設定画面でGravatarの画像サイズを指定でき、記事詳細ページやブログのサイドバーなど、任意の場所に設置可能です。 記事投稿時に投稿者のメールアドレスを入力するだけで、Gravatar画像が反映されるため、ユーザーの手間を省き、サイトの見栄えを向上させます。 画像がない場合はデフォルト画像が表示され、Gravatar未登録ユーザーにも対応しています。このプラグインで、手軽にブログに個性を加えることができます。
/** Geminiが自動生成した概要 **/
SOY CMSブログのカレンダープラグインを改良し、日毎の記事数に応じてリンク先を変更しました。従来は記事数に関わらず日毎アーカイブページへのリンクでしたが、記事が1件だけの日は記事詳細ページへ直接遷移するように変更。これにより、より自然な導線を実現しました。改良版プラグインはsaitodev.co/soycms/からダウンロード可能です。
/** Geminiが自動生成した概要 **/
SOY Shopの新機能紹介プラグインが開発されました。このプラグインは、SOY Shop管理画面の新着ページに、開発ブログで紹介されている新機能の記事一覧を表示します。開発者は、SOY Shopの豊富な機能をユーザーに最大限活用してほしいと考えていますが、新機能の情報が届きにくいことが課題でした。そこで、管理画面に新機能紹介記事を表示することで、ユーザーのオペレーション効率化や売上向上に繋がるヒントを提供することを目指しています。ただし、開発者寄りの情報になる可能性もあるため、掲載内容については、事例紹介なども含めて検討していく予定です。新機能紹介プラグインを含むパッケージはsaitodev.coからダウンロードできます。
/** Geminiが自動生成した概要 **/
SOY Shopの長年の運営でSQLiteからMySQLへのデータベース移行の需要が高まり、今回専用の移行プラグインが開発された。SQLiteはファイルベースでサーバーのスペックに依存する一方、MySQLはサーバーベースでリソース割り当てによるパフォーマンスチューニングが可能となる。ただし、MySQL移行自体が速度改善を保証するわけではなく、サーバー環境によっては逆効果になる場合もある。特に共有サーバーでは注意が必要。移行プラグインは、サーバー移転を伴うデータベース移行作業の簡素化を目的としており、チューニング可能なサーバーへの移転と合わせて検討することが推奨される。プラグインはsaitodev.coからダウンロード可能。
/** Geminiが自動生成した概要 **/
ヘアリーベッチの土壌消毒効果のメカニズムを探るため、その根から分泌されるシアナミドの作用機序に着目。シアナミドは石灰窒素の有効成分で、人体ではアルデヒドデヒドロゲナーゼを阻害し、アセトアルデヒドの蓄積による悪酔いを引き起こす。アセトアルデヒドはDNAと結合し、タンパク質合成を阻害することで毒性を発揮する。この作用は菌類にも影響を及ぼし、土壌消毒効果につながると考えられる。
/** Geminiが自動生成した概要 **/
SOY Shopユーザーから、サイト表示速度の遅延に関する問い合わせを受け、SQLiteの限界(注文件数約1万件)を指摘した。ユーザー自身はデータベース設計の最適化を提案、実行速度の大幅改善に成功した。この貴重なフィードバックを基に、開発初期コードを大幅改修、最新版をリリースした。開発元を離れ孤独な開発を続ける中で、ユーザーによるコードレベルの貢献は開発者として大きな喜びとなった。SOY Shopの普及にはプログラマの参加が不可欠だが、コミュニティの活性化は課題となっている。
/** Geminiが自動生成した概要 **/
SOY Shopでカテゴリごとに商品一覧の並び替え順を変える方法。カスタムフィールドで「使用人数」や「使用温度」などの項目を作成し、ソートに利用する設定にする。データベースのカラム型を数値に変更。soyshop.item.list拡張ポイントでプラグインを作成し、getSortメソッドでカテゴリごとに異なるソート条件を返す。テントなら使用人数の降順、シュラフなら使用温度の昇順など。標準設定は価格の昇順にする。URLを変えずに同一ページで並び替え順を変えられるため、SEOにも有効。
/** Geminiが自動生成した概要 **/
「魚の養殖と鶏糞」は、持続可能な農業の実現に向けた養殖漁業と畜産の連携の可能性を探る記事です。養殖魚のエサには魚粉が多く使われていますが、乱獲による資源枯渇が懸念されています。そこで、鶏糞を原料とした飼料が代替として注目されています。鶏糞は窒素やリンなどの栄養素が豊富で、適切に処理すれば魚の成長を促進する効果的な飼料となります。しかし、鶏糞にはカドミウムなどの有害物質が含まれる可能性もあるため、安全性を確保するための適切な処理技術と品質管理が不可欠です。記事では、具体的な処理方法や課題、将来展望などを紹介し、循環型農業システムの構築に鶏糞飼料が貢献できる可能性を示唆しています。
/** Geminiが自動生成した概要 **/
クロレラは健康食品として有名だが、その背景には培養技術に加え、細胞壁の破砕技術の確立がある。クロレラは栄養豊富だが、強靭な細胞壁のため、そのままでは栄養吸収が難しい。細胞壁を破砕することで、栄養の利用が可能になる。この破砕技術が、クロレラを健康食品として成立させた重要な要素である。栄養豊富なクロレラは、健康食品だけでなく肥料としても効果的で、顕著な発育促進が報告されている。その効能は、健康食品における栄養吸収の観点から類推できる。
/** Geminiが自動生成した概要 **/
健康食品として知られる緑藻クロレラは、藍藻(シアノバクテリア)とは異なり真核生物である。シアノバクテリアは原核生物で、体全体で光合成を行う。一方、クロレラのような緑藻は、シアノバクテリアを細胞内に取り込み共生することで光合成能を獲得した。この共生により葉緑体が誕生し、植物細胞の基礎となった。
クロレラはシアノバクテリアより多機能であり、塩類集積土壌への影響を理解するには、緑藻についての網羅的な知識が必要となる。
/** Geminiが自動生成した概要 **/
PHP 7.3がリリースされ、SOY CMS/Shopも対応しました。7.3は7.2より高速ですが、switch文内のcontinue使用禁止によるエラーが発生しました。for文とswitch文の組み合わせでcontinueを使っていた箇所を修正し、PHP5系でも動作するよう対応済みです。ダウンロードはsaitodev.co/soycms/から。全プラグインの動作確認は未完了のため、PHP7.3でエラー発生時は/soycms/inquiryへの問い合わせをお願いします。
/** Geminiが自動生成した概要 **/
SOY Shopで、カート内の商品から注文時に得られるポイントを事前に表示する機能が追加されました。カートにポイント対象商品があれば獲得ポイントを表示、無ければ「ポイントが発生しません」と表示します。 これは、購入前に獲得ポイントを確認したいという顧客の要望に応えたものです。新機能はカートモジュールに追加され、空カート時やポイント非対象商品のみの場合にも対応しています。詳細なタグ情報や利用方法はサイト(https://saitodev.co/soycms/soyshop/modules/?m=item_list#shop_module_common.parts.cart)で確認でき、最新パッケージは(https://saitodev.co/soycms/soyshop/)からダウンロード可能です。
/** Geminiが自動生成した概要 **/
NHK「サラメシ」への出演を夢見て、投稿するも取材が来ないため、自作のサラメシページを作成したという内容です。ページではカレンダー形式で毎日のお弁当写真が掲載されており、クリックすると詳細とコメントが見られます。 自ら毎日二人分のお弁当を作る作者にとって、このページ作成はモチベーション向上に繋がっています。サイトには11月分のサラメシ写真が掲載されており、クリックするとその日のメニューとコメントが確認できます。このカレンダー形式の記事一覧表示機能はSOY CMSを用いて実装しており、作り方解説記事へのリンクも紹介されています。
/** Geminiが自動生成した概要 **/
ショウガの根茎腐敗病は、卵菌類(フハイカビ)によるもので、根茎が腐敗する。卵菌類はかつて菌類とされていたが、現在ではストラメノパイルという原生生物に分類される。細胞壁にキチンを含まないため、カニ殻肥料によるキチン分解促進や、キチン断片吸収による植物免疫向上といった、菌類対策は効果がない可能性がある。卵菌類はかつて色素体を持っていた藻類であった可能性があり、この情報は防除対策を考える上で重要となる。
/** Geminiが自動生成した概要 **/
SOY CMSのブログでデータベースをMySQLからSQLiteに変更することで、パフォーマンス向上とデータ管理の簡素化が期待できます。特に共有サーバーなど、MySQLのチューニングが難しい環境では効果的です。変更手順は、まずphpMyAdmin等でMySQLのデータをエクスポートし、SQLite形式に変換します。次に、SOY CMSの設定ファイルでデータベース接続設定をSQLiteに変更し、変換したデータをインポートします。記事データが多い場合、変換とインポートに時間がかかるため、夜間などアクセスが少ない時間帯に行うのがおすすめです。また、SQLiteはMySQLと比べて同時アクセス性能が劣るため、高トラフィックのサイトには不向きです。変更前にデータベースのサイズやアクセス状況を確認し、SQLiteのメリット・デメリットを理解した上で検討することが重要です。
/** Geminiが自動生成した概要 **/
Go言語でJSONを扱う方法について解説されています。 `sample.json`ファイルにID、名前、読み仮名などのデータを保存し、`main.go`でそのデータを読み込んで利用する方法が示されています。 `ioutil.ReadFile`でJSONファイルを読み込み、`json.Unmarshal`でGoの構造体`Sample`に変換します。`Sample`構造体はJSONデータのキーに対応するフィールドを持ちます。変換後、`sample.Name`のようにアクセスすることで、JSONデータの値を取得できます。
/** Geminiが自動生成した概要 **/
Go言語でGoogle AnalyticsのページビューをChatworkに送信するコードを紹介しています。 Google Analytics APIを用いて前日のページビューと日付を取得し、Chatwork APIで指定のルームに投稿します。 コードでは、認証情報、GAのプロファイルID、ChatworkのルームIDとAPIトークンが必要です。 `Data.Ga.Get`メソッドで前日のページビューを取得し、`Dimensions("ga:date")`で日付も取得します。 取得したデータはChatwork APIのPOSTリクエストで送信されます。 実行にはGoogle API Consoleで取得した認証情報が必要です。 具体的な手順やコードの全体はGitHubリポジトリを参照ください。
/** Geminiが自動生成した概要 **/
サナギタケ由来の物質コルジセピンは、抗腫瘍効果を持つ。コルジセピンはアデノシンと構造が酷似しており、ガン細胞のDNA複製時にアデノシンの代わりに取り込まれる。しかし、コルジセピンはアデノシンとは異なり3'位にヒドロキシ基を持たないため、DNAの二重螺旋構造が不安定化し、ガン細胞の増殖が抑制される。興味深いことに、コルジセピンは正常細胞や有益な微生物には影響を与えない選択的増殖抑制作用を示す。これは、昆虫に寄生するサナギタケが、宿主の防御反応に対抗するために産生した物質であるコルジセピンが、昆虫の細胞増殖のみを阻害するよう進化したためと考えられる。実際に、昆虫に感染したサナギタケの子実体の方が、人工培養されたものよりもコルジセピンを高濃度で含む。
/** Geminiが自動生成した概要 **/
SOY CMSのブログで、長年の運用による月別アーカイブの増加でデザインが崩れる問題を解決するブログブロックが追加されました。従来の縦に長いアーカイブ表示を、年毎に折りたたみ可能な形式で出力します。 新しいブロック`b_block:id="archive_every_year"`は、`cms:id="year"`で年を、`cms:id="archive"`で各月のアーカイブリンクを生成し、年毎に異なるIDを割り当てます。これにより、jQuery等で年毎の折りたたみ表示を実装可能になります。表示例では2018年、2017年、2016年と年ごとに月別アーカイブをまとめて表示しています。新機能はパッケージに含まれ、サイト(https://saitodev.co/soycms/)からダウンロードできます。ただし、古いバージョンからのアップデートでは、ブログページ毎のブロック使用設定でarchive_every_yearを有効にする必要があります。
/** Geminiが自動生成した概要 **/
サナギタケを利用した鱗翅目害虫対策を検討する中で、その生態、特に発生条件を調べている。サナギタケは地生型で、地上の宿主、落葉下、地中の宿主から発生する。冬虫夏草全般の発生条件として、雑木林や自然林の沢や池周辺など湿度が高い場所が挙げられる。下草が密生する場所は不向き。多くの冬虫夏草は落ち葉の堆積した場所や苔の間から発生し、地中湿度と空中湿度が重要らしい。
/** Geminiが自動生成した概要 **/
この記事では、冬虫夏草の一種であるサナギタケの生育環境について考察しています。サナギタケは鱗翅目の幼虫に寄生し、子実体形成後は周辺の落ち葉や土壌に菌糸を伸ばします。しかし、戦後の針葉樹植林により、抗菌作用を持つスギやヒノキの葉が土壌に堆積し、サナギタケの生育域が狭まっている可能性を指摘しています。
さらに、サナギタケの抗癌作用を持つコルジセピンへの注目から、乱獲による個体数減少も問題視されています。また、NPK主体で腐植を軽視した施肥管理がヨトウガの増加を招き、サナギタケの生育に間接的な悪影響を与えている可能性も示唆。
山、川、海の相互作用、そして土壌環境の重要性を強調し、包括的な視点を持つ必要性を訴えています。
/** Geminiが自動生成した概要 **/
ヨトウムシ被害の多い地域にサナギタケの胞子が少ないのでは、という疑問からサナギタケの生態調査が始まった。調査の結果、サナギタケの胞子は落ち葉や周辺の木の葉に存在することが判明し、腐葉土を入れたハウスでサナギタケが発生したという報告とも一致した。サナギタケは薬効成分が豊富で人工培養も盛んだが、畑への応用はまだ不明確。今後の研究で、人工培養の知見が畑のヨトウムシ対策に繋がるか期待される。さらに、サナギタケ培養液には抗がん作用があるという研究結果もあり、今後の更なる研究が期待される。
/** Geminiが自動生成した概要 **/
Let's Encryptの証明書更新を自動化するため、CertBotを導入した。以前設定したcronでの自動更新が機能せず期限切れメールが届いたため、新しい仕組みに切り替えた。CertBot公式サイトの手順でインストール後、Ubuntu 18.04環境でcronを設定し、毎日2時半に`certbot renew --force-renew`を実行するようにした。Apacheの停止と起動を更新前後に行うように設定し、起動は少し遅らせて実行するようにした。
/** Geminiが自動生成した概要 **/
SOY CMSブログで表示速度低下に悩んでいたところ、MySQL版が遅い共有サーバ環境のため、SQLiteに移行するプラグインを開発しました。ベンチマークは1.3倍改善、表示速度は2秒以下に。MySQL→SQLite、SQLite→MySQLの切り替えが可能で内部SEO対策にも有効です。Gravatar連携など一部プラグインは未対応ですが、カスタムフィールド等は対応済み。使用前にバックアップと注意点記事の確認を推奨。ダウンロードはsaitodev.co/soycms/から。この開発を通して、MySQL専用CMSは共有サーバではSEO的に不利になりやすいと感じました。
/** Geminiが自動生成した概要 **/
Go言語で`f(x) = x + 2`を関数として実装し、x=3の結果を表示する例題。関数の定義は`func f(x int) int { y := x + 2; return y }`となる。`f(x int)`は整数型の引数xを受け取ることを、`int`は整数型の返り値を意味する。関数内では`x + 2`の結果をyに代入し、`return y`でyの値を返す。main関数では`f(3)`の結果をyに代入し、`fmt.Println(y)`で出力する。main関数とf関数では変数yのスコープが異なるため、f関数内のyは新規変数として扱われる。
/** Geminiが自動生成した概要 **/
SOY Shopの管理画面のロゴとアプリ名を変更できる設定が追加されました。これは、SOY Shopがネットショップだけでなく、在庫管理、顧客管理、見積り作成など多様な業務アプリとして利用されるケースが増えたためです。管理画面のロゴをカスタマイズすることで、納品時の説明の手間を省き、それぞれの用途に合わせた表示を実現します。
従来のネットショップとしての利用に加え、プラグインによる機能拡張で、顧客名簿管理や土壌分析アプリ、パイプハウス施工管理アプリなど、多様な業務システム構築が可能となっています。SOY Shopはネットショップ構築だけでなく、様々なビジネスニーズに対応できる柔軟性を備えたプラットフォームへと進化しています。
/** Geminiが自動生成した概要 **/
SOY CMSのラベル一覧画面が見やすくなりました!ラベル数が増えると管理画面が煩雑になる課題に対し、ユーザーからの改修提案を元にアコーディオン機能が実装されました。分類ごとにラベルを折り畳めるようになり、UIが大幅に改善。 HTMLモジュールで共通部分を管理する等の対策も紹介しつつ、ユーザー参加型の開発を推進していることが伺えます。GitHubでのプルリクエストや問い合わせフォームからの連絡を歓迎しており、最新版はsaitodev.co/soycms/からダウンロード可能です。
/** Geminiが自動生成した概要 **/
SOY CMSのブログ説明欄がWYSIWYGエディタに対応しました。従来はHTML編集ができなかったブログの説明文を、リッチテキストで記述できるようになりました。 これを実現する「ブログ説明WYSIWYGプラグイン」が新たに開発され、HTMLを許可する`b_block:id="blog_description_raw"`タグも追加されました。このプラグインにより、ブログページの設定画面で、説明文入力欄がWYSIWYGエディタに切り替わり、より表現力豊かなブログ説明を作成できます。 ダウンロードはsaitodev.co/soycms/から可能です。この改良は、以前のカテゴリー詳細表示プラグインへのWYSIWYGエディタ対応に続くものです。
/** Geminiが自動生成した概要 **/
Go言語とQtでアルバイト給与計算フォームを作成。時給と時間を入力すると、合計金額が自動計算される。 QLineEditで入力値を取得し、strconv.Atoiで数値に変換、掛け算後、strconv.Itoaで文字列に戻し、goukeiInputに表示。入力値の変更を検知するために、jikanInputとjikyuuInputにConnectEditingFinishedを使い、calcAndInsert関数を呼び出している。 Clear()で以前の結果を消去してからInsert()で新しい結果を表示することで、値の更新を正しく行う工夫もされている。
/** Geminiが自動生成した概要 **/
Go言語でQtを用いてQLabelとQLineEditを配置する例を示しています。`widgets.NewQBoxLayout(3, nil)` で垂直方向のボックスレイアウトを作成し、QLineEditとQLabelを配置します。重要なのは、ボックスレイアウトでは追加順が上から下になるので、配置したい順番とは逆の順でウィジェットを追加する必要がある点です。この例では、時間ラベル(QLabel)をテキスト入力欄(QLineEdit)の下に配置したいので、先にQLineEditを追加し、後にQLabelを追加しています。結果として、テキスト入力欄の上に「時間」ラベルが表示されます。
/** Geminiが自動生成した概要 **/
塩類集積地のような過酷な環境でも、藍藻類は光合成と窒素固定を通じて生態系の基盤を築く。藍藻は耐塩性が高く、土壌表面にクラストを形成することで、他の生物にとって有害な塩類濃度を低下させる。同時に、光合成により酸素を供給し、窒素固定によって植物の生育に必要な窒素源を提供する。これらの作用は土壌構造を改善し、水分保持能力を高め、他の植物の定着を促進する。藍藻類の活動は塩類集積地の植生遷移の初期段階において重要な役割を果たし、最終的には植物群落の形成に繋がる。このように、藍藻類は過酷な環境を生命が繁栄できる環境へと変える重要な役割を担っている。
/** Geminiが自動生成した概要 **/
Go言語でQtのQLabelを使い、「時間」と表示する例を紹介しています。QLabelは文字列を表示するウィジェットで、NewQLabel2関数で作成します。引数には表示テキスト、親ウィジェット、フラグを指定します。作成したQLabelはQBoxLayoutに追加しますが、AddWidgetメソッドを使用し、配置オプションを指定する必要があります。 サンプルコードでは、ウィンドウ、ウィジェット、ボックスレイアウトを作成し、QLabelをボックスレイアウトに追加して表示しています。 QLabelを使うことで、シンプルに文字列をGUIに表示できます。
/** Geminiが自動生成した概要 **/
Go言語の構造体について解説しています。大文字で始まるフィールドは外部パッケージからアクセスできますが、小文字で始まるフィールドはアクセスできません。小文字フィールドへのアクセスは、パッケージ内に`Set~`や`Get~`のようなメソッドを定義することで実現します。具体例として、`Person`構造体の`name`フィールド(小文字)へのアクセス方法を説明しています。`pac`パッケージ内で`SetName`メソッドを定義し、`main`パッケージから`person.SetName("ryoko")`のように呼び出すことで、`name`フィールドに値を設定できます。
/** Geminiが自動生成した概要 **/
Go言語のパッケージ内の関数と、構造体に紐づくメソッドの使い分けについて解説。`pac`パッケージ内の`Person`構造体を例に、`pac.GetName()`はパッケージ関数として`usako`を返し、`person.GetName()`は`Person`構造体のメソッドとして、`person`の`name`フィールド値を返す。パッケージ関数は構造体とは無関係だが、メソッドは構造体のフィールドにアクセスできる。`person := pac.NewPerson()`で構造体インスタンスを取得し、`person.SetName()`でフィールド値を設定する例も示している。
/** Geminiが自動生成した概要 **/
SOY Shopがクレジットカード情報の不正取得攻撃対策を強化。クレジットカード入力画面への不自然なリダイレクトを検知した場合、該当IPアドレスからのアクセスを遮断する機能を追加。さらに、PAY.JPクレジットモジュールでは、モジュール内でカード情報送信の試行回数を記録し、一定回数を超えるとカート利用を禁止する。これらの対策により、ネットショップが不正利用の踏み台となるリスクを大幅に低減。今後もセキュリティ強化を継続していく。最新版は公式サイトからダウンロード可能。
/** Geminiが自動生成した概要 **/
Go言語でQtのQGridLayoutを使い、5つのボタンを配置する例です。QGridLayoutはセルの概念に基づき、ウィジェットを配置します。AddWidget関数は、ウィジェットと配置するセルの行と列を指定します。AddWidget3関数は、さらに列と行の跨ぎ数を指定できます。"three"ボタンはAddWidget3関数を用い、第四引数に2を指定することで、2列分のセルを占有しています。各ボタンはグリッドレイアウトに従って配置され、"three"ボタンは横方向に2つのセルを結合した形で表示されます。
/** Geminiが自動生成した概要 **/
SOY CMS用の「記事カレンダー」プラグインが開発されました。ブログ記事をカレンダー形式で表示し、投稿日を視覚的に把握できます。記事タイトルだけでなく、カスタムフィールドの内容も出力可能で、サムネイルプラグインと組み合わせることで画像表示も可能です。これにより、記事一覧をカレンダー上にサムネイル付きで表示するなど、柔軟な表示を実現できます。予約サイト構築など、従来のカレンダー機能とは異なる点が特徴です。サンプルは「毅と亮子のサラメシ」サイトで確認できます。パッケージはsaitodev.co/soycms/からダウンロード可能です。
/** Geminiが自動生成した概要 **/
Go言語でQtのQBoxLayoutの使い方を解説した記事の要約です。
QBoxLayoutはウィジェットを水平または垂直に配置するためのレイアウトです。`widgets.NewQBoxLayout(3, nil)`で下から上に、`widgets.NewQVBoxLayout()`で上から下にウィジェットを配置できます。
記事では、`widgets.NewQMainWindow`でウィンドウを作成し、`widgets.NewQWidget`を中央ウィジェットとして配置しています。そして、`widgets.NewQLabel2`でラベルを作成し、`widget.Layout().AddWidget()`でレイアウトに追加することで、ラベルを垂直に並べています。
`QBoxLayout`では引数で方向を指定しますが、`QVBoxLayout`は上から下に並べる専用のレイアウトです。どちらを使っても同じ結果を得られますが、`QVBoxLayout`を使う方が簡潔に記述できます。
/** Geminiが自動生成した概要 **/
Windows10でGo言語とQtの開発環境を構築する方法を解説。MSYS2とQtをインストールし、Go言語のパッケージを取得・設定後、サンプルコードを実行する手順を説明。環境変数の設定やQtインストール時のコマンド、Goのパッケージ設定コマンド、サンプルコード実行コマンド、発生したエラーと解決策(libicudt61.dll不足)について記述。
/** Geminiが自動生成した概要 **/
Go言語とSQLiteを用いて、ランダムな顧客データ10,000件を生成・登録するコード例です。`orders`テーブル(id, user_id, price)を作成後、ループ処理で10,000回データ挿入を行います。顧客ID(user_id)は1から10の乱数、金額(price)は1,000から10,000の乱数を`rand.Intn()`で生成し、`strconv.Itoa()`で文字列に変換しています。SQL挿入文はプレースホルダを用いず、文字列連結で生成しています。ループ内で都度乱数シードを設定し、変数tとkをループ内で宣言することでデータ生成と挿入を繰り返します。
/** Geminiが自動生成した概要 **/
Go言語とSQLite3を用いて、`sample.db`内の`orders`テーブルから3件のデータを取得するプログラムです。`db.Query`でSQLクエリを実行し、`rows.Next()`で各行を処理、`rows.Scan()`でid、user_id、priceの各列の値を変数に格納します。最後に`fmt.Print`と`fmt.Println`を用いて取得したデータを表示します。出力はid、user_id、priceがそれぞれ一行ずつ表示され、各レコードごとに空行で区切られます。
/** Geminiが自動生成した概要 **/
Android内蔵GPSのキャッシュ問題で、オフライン使用時に以前の緯度経度が返ってくる現象が発生。Geolocation APIのキャッシュ設定変更では解決せず、GPS StatusアプリでGPSキャッシュのリセットを試みた。一時的に改善するも、オフラインでの再発を確認。オンラインでGPS Statusアプリを使用する必要があると推測。Soil & Geoロガーのオフライン使用は5回程度が限度と考えられる。
/** Geminiが自動生成した概要 **/
SQLiteのALTER文を使って既存のusersテーブルにcategoryフィールドを追加し、外部キー制約でcategoryテーブルと紐づけました。usersテーブルにはid、name、fname、genderに加え、categoryテーブルのidを示すcategoryフィールドが追加されました。その後、UPDATE文で各ユーザーにcategoryを割り当て、SELECT文とWHERE句で特定のcategoryを持つユーザーを抽出しました。さらに、INNER JOINを用いてusersテーブルとcategoryテーブルを結合し、category名で検索する方法も示しました。最終的に'tanpopo'に属するユーザーの情報が抽出されました。
/** Geminiが自動生成した概要 **/
Ubuntu 18.04でAndroid Debug Bridge (ADB) を使用してAndroidアプリをデプロイする方法を紹介しています。ADBをインストール後、Go Mobileのサンプルコードをエミュレータと実機(ZTE Blade V580, Android 5.1)にデプロイしました。エミュレータではバージョン不一致でアプリは起動しませんでしたが、実機では開発者モードを有効化し、USBデバッグをONにすることで、`gomobile install`コマンドでアプリのデプロイと起動に成功しました。
/** Geminiが自動生成した概要 **/
Ubuntu 18.04にAndroidエミュレータを導入する方法。必要なライブラリをインストール後、Android Studioをダウンロード、インストールし、パスを通す。次に、KVM関連のライブラリをインストールし、ユーザーにKVMの使用権限を与える。Android Studioを再起動し、AVDマネージャーから好みのエミュレータを作成、実行することで、開発機上でAndroidアプリの動作確認が可能になる。
/** Geminiが自動生成した概要 **/
Windows 10 で SQLite を使い、データを操作する方法を解説しています。SQLite をダウンロード、インストールし、環境変数を設定後、コマンドプロンプトでデータベースファイル(sample.db)を作成します。SQL文を用いて、テーブル作成、データ挿入、削除、並び替え、表示など基本操作を例示しています。`CREATE TABLE` でテーブルを作り、`INSERT INTO` でデータ挿入、`SELECT * FROM` で全データ表示、`DELETE FROM` でデータ削除、`ORDER BY` で並び替え、`LIMIT` で表示件数制限を行います。DB Browser for SQLite での確認方法にも触れています。
/** Geminiが自動生成した概要 **/
Ubuntu 18.04 でGo言語を用いてAndroidアプリ開発を行う手順を解説。Go Mobileを利用し、サンプルコードをAndroid端末で実行するまでを扱う。
開発環境としてJava8、Android NDK r16b、Go 1.10.3を導入。
zshを使用しているため、`.zshrc` にパスを設定。
Go Mobileのインストールと初期化後、サンプルコード`golang.org/x/mobile/example/basic`を取得し、`go run`で動作確認。
`gomobile build`コマンドでapkファイルを生成し、Dropbox経由でAndroid端末に転送、インストール、実行。
端末の設定で「提供元不明のアプリ」を許可する必要がある。
/** Geminiが自動生成した概要 **/
SOY Shop管理画面の業務改善として、BtoC商売に不要な「勤務先名称」などの項目を非表示にする機能が実装されました。これは、特に電話注文時の入力ミスを減らし、オペレーターが入力に迷う状況を解消するためです。不要な項目を非表示にすることで、キーボード操作の時短、確認作業の効率化、新入社員向けマニュアル作成の手間削減など、多岐にわたる業務改善と間接的な経費削減が期待されます。本改修は、業務フローの見直しを促し、よりスムーズなショップ運営に貢献します。最新パッケージは公式サイトからダウンロード可能です。
/** Geminiが自動生成した概要 **/
自作PHPアプリでGoogle検索結果を集計する際、cURLで検索を実行したところ「503 Service Unavailable」エラーが発生した。Googleはスクリプトからの自動検索を制限しており、エラーメッセージは異常トラフィックの検出を示していた。解決策として、`curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER["HTTP_USER_AGENT"]);`をcURLに追加し、ブラウザのユーザーエージェントを送信するように変更した。これによりエラーが解消し、検索結果の集計が可能になった。単に適当なユーザーエージェントを設定するだけでは解決せず、実際に使用しているブラウザの情報を送ることが重要だった。
/** Geminiが自動生成した概要 **/
Sigilは多プラットフォーム対応のEPUB電子書籍エディタ。公式サイトからOS対応版をダウンロード・インストール後、デスクトップにショートカットを作成する。Sigil起動後、初期画面に直接文字入力で文章作成が可能。新規記事追加は「ファイル」→「空のHTMLファイルを追加」から行う。保存は「ファイル」→「名前をつけて保存」を選択し、拡張子を.epubのまま保存する。再度開く際はSigilを起動し、「ファイル」→「開く」からepubファイルを選択する。
/** Geminiが自動生成した概要 **/
agoutiはGo言語用のAcceptanceテストフレームワークです。Selenium WebDriverをラップし、CSSセレクタを用いてページ要素にアクセス、操作できます。`agouti.ChromeDriver()`でChromeDriverを起動、`driver.NewPage()`で新しいページを開き、`page.Navigate()`で指定URLへ遷移します。`page.HTML()`でHTMLソースを取得、`page.FindByButton()`でボタン要素を見つけ、`btn.Submit()`でフォームを送信できます。`agouti.Browser("chrome")` でブラウザを指定可能です。 主にWebアプリケーションのUIテストを自動化するために使用され、ユーザー操作をシミュレートして期待通りの動作をするか検証できます。
/** Geminiが自動生成した概要 **/
`agouti`はGo言語用のAcceptance Testingフレームワークで、ブラウザの自動操作を可能にします。`ChromeDriver()`でChromeドライバーを起動し、`NewPage()`で新しいページを開きます。`Navigate()`で指定URLへ遷移し、`FindByID()`や`FindByButton()`で要素を取得。`Fill()`でフォーム入力、`Submit()`でボタン押下など、ブラウザ操作をコードで表現できます。`godoc`にはAPIの詳細が記載されており、`Selection`インタフェースが要素操作の中核を担い、様々な操作メソッドを提供しています。エラー処理も組み込まれており、`err != nil`で各操作の成否を確認できます。
/** Geminiが自動生成した概要 **/
Go言語でSeleniumとAgoutiを使ってChromeブラウザを自動操作する方法を解説しています。まずJavaとSelenium Serverをインストールし、起動確認を行います。次にChromeドライバーをインストールし、環境変数Pathにドライバのパスを追加します。Go言語のパッケージ管理ツールgo getでAgoutiパッケージを取得後、サンプルコードを作成・実行します。サンプルコードでは、AgoutiでChromeDriverを起動し、新しいページを開いてGoogleのトップページに遷移させる処理を行っています。実行結果として、Chromeブラウザが起動しGoogleのトップページが表示されます。
/** Geminiが自動生成した概要 **/
SOY CMSのブログ機能拡張として、長文記事の見出し自動生成プラグインが開発されました。記事内のH1〜H3タグを解析し、階層構造を持つ目次をHTMLで生成、任意の場所に表示します。出力されるHTMLは、各見出しへのアンカーリンクを含み、見出しにも対応するID属性が付与されるため、スムーズなページ内ナビゲーションが可能です。このプラグインにより、WordPress等のブログ特化CMSに比べて弱かったSOY CMSのブログ機能が強化され、強力なEC機能との連携による販促ブログとしての活用が期待されます。開発者は、SOY CMSをブログとECを統合したプラットフォームとして捉え、今後もブログ機能の改善を進める方針です。関連情報として、SOY Shopとの連携による有料ブログ運営や、下書き自動保存機能の記事へのリンクが提供されています。
/** Geminiが自動生成した概要 **/
Go言語では、変数のスコープ(有効範囲)が存在する。上記コードでは、`main`関数内と`if`ブロック内で同名の変数`str`が宣言されている。ブロック内で宣言された`str`はブロックスコープを持ち、関数内の`str`とは別物として扱われる。そのため、`if`ブロック内では"hello"が、ブロック外では空文字が出力される。変数の優先順位は、ブロック内 > 関数内 > ファイル内 > パッケージ内 の順となる。この例では、ブロック内の`str`が優先され、関数内の`str`は影響を受けない。
/** Geminiが自動生成した概要 **/
SOY Shopの注文詳細画面で、支払い方法の変更方式がテキストエリア入力からラジオボタン選択に変更されました。従来は支払い方法のラベル表示のみ変更可能で、注文データ上のモジュール自体は変更されませんでした。今回の変更により、ラジオボタンで選択した支払い方法のモジュール自体が変更されるようになりました。これにより、注文検索画面での絞り込み検索が正しく機能するようになります。ただし、手数料は変更時に削除されるため、手動で再設定が必要です。将来的には送料の自動計算機能も追加予定です。変更を含むパッケージはsaitodev.co/soycms/soyshop/からダウンロードできます。
/** Geminiが自動生成した概要 **/
SOY2HTMLのIgnoreプラグインの使い方を解説。index.phpに`SOY2HTMLPlugin::addPlugin("ignore", "IgnorePlugin");`を追加することで、HTMLテンプレート内で`<!-- soy:ignore="***" --><!-- /soy:ignore="***" -->`で囲まれた部分がSOY2HTMLによるレンダリング時に無視される。ブラウザで直接HTMLファイルを開いた場合は、無視された部分がそのまま表示される。これにより、SOY CMSに組み込む前のテンプレートファイルにおいて、デザイナ向けの説明文などを記述し、CMS組み込み時には表示させないといった使い方ができる。
/** Geminiが自動生成した概要 **/
Go言語でHTTPクライアントを作成し、サーバーからのレスポンスを確認する方法を解説しています。`http.Get`でサーバーにリクエストを送信し、`httputil.DumpResponse`でレスポンス内容を人間が読める形式で取得します。サンプルコードでは、`localhost:8889`で動作するサーバーにアクセスし、レスポンスのヘッダーとボディを出力しています。出力例から、ステータスコード(200 OK)、コンテンツ長、コンテンツタイプ、日付、HTML本体などが確認できます。これにより、クライアントがサーバーからどのようなデータを受け取っているかを詳細に把握できます。
/** Geminiが自動生成した概要 **/
SOY CMSを使わずにそのテンプレートエンジンであるSOY2HTMLのみを利用する方法を解説。ルートディレクトリにindex.php、webappディレクトリ下に必要なファイルを設置する構成で、index.phpでSOY2ライブラリを読み込み、SOY2HTMLの設定を行う。HTMLファイル(TopPage.html)と対応するPHPファイル(TopPage.class.php)を作成し、soy:idを使った表示内容の変更例を示している。PHPファイルではWebPageクラスを継承し、コンストラクタでHTMLファイルを読み込み、addLabelでsoy:idに対応する値を設定することで、HTMLのsoy:id部分がPHPで指定した値に置き換わって表示される。
/** Geminiが自動生成した概要 **/
kintoneで特定の領域だけを印刷範囲にする方法を紹介しています。kintoneの標準機能では印刷範囲の指定が難しいため、JavaScriptカスタマイズで対応します。具体的には、印刷時に特定の要素に"print-area"というクラスを追加し、CSSでこのクラスに`page-break-inside: avoid;`を指定することで、意図しない改ページを防ぎます。また、印刷ボタンのクリックイベントでJavaScriptを実行し、印刷後にクラスを削除する処理を追加することで、通常の画面表示への影響をなくします。この記事では、カレンダーの印刷を例に、日付行と予定行が分割されないように印刷範囲を制御する具体的なコードを解説しています。
/** Geminiが自動生成した概要 **/
Go言語でlocalhost:8889で動作するシンプルなWebサーバを作成する手順と動作確認方法の説明です。 `server.go` はルートパスへのアクセスに対し、リクエスト内容をコンソールに出力し、"hello world"を含むHTMLをレスポンスとして返します。`httputil.DumpRequest`でリクエスト内容をダンプし、`fmt.Println`でコンソールに表示、`io.WriteString`でレスポンスを書き込みます。`http.ListenAndServe`でサーバを起動し、ブラウザでアクセスすると"hello world"が表示されます。同時にコンソールにはリクエストヘッダ情報(例:GETメソッド、Host、User-Agentなど)が出力されます。
/** Geminiが自動生成した概要 **/
Go言語の並行処理(ゴルーチン)は、`go`キーワードで関数を起動することで実現される。 `go print("hello")`のように記述すると、`print("hello")`は別のコア/スレッドで実行され、`print("world")`と並行して処理される。 例では、helloとworldが交互に表示される。これは、同時アクセス処理やファイルアップロードなど、結果の順序が重要でない処理に有効である。ゴルーチンにより、複数の処理を効率的に並行実行できる。
/** Geminiが自動生成した概要 **/
Go言語では関数を値として扱える。 `greet`関数を`f`変数に代入し、`f()`で実行できる。 `dofunc(f func())` は関数型引数を受け取り、その関数を実行する関数である。 `main`関数で`greet`を`f`に代入し、`dofunc(f)`を呼び出すと、`dofunc`内で`f()`が実行され、`greet`関数の処理("hello"の表示)が行われる。 これは関数を第一級オブジェクトとして扱う例である。
/** Geminiが自動生成した概要 **/
Go言語でコマンドライン引数を扱うflagパッケージの使い方を説明しています。`flag.Int`と`flag.String`でそれぞれ整数型と文字列型のオプションを定義し、デフォルト値と説明文を設定します。`flag.Parse()`でコマンドライン引数を解析し、定義したオプションに値をセットします。
実行例として、`main.exe`をビルドし、オプションなしで実行するとデフォルト値の1111と"default"が出力されます。`--help`オプションでヘルプメッセージが表示されます。`-i 5 -s "おはよう"`のようにオプションを指定して実行すると、指定した値が出力されます。つまり、コマンドライン引数からプログラムに値を渡す方法を解説しています。
/** Geminiが自動生成した概要 **/
SOY2HTMLのHTMLModelは、条件付き出力制御を可能にする。HTMLの一部をHTMLModelで囲み、visible属性に条件式を指定することで、条件を満たした場合のみその部分がレンダリングされる。例として、ブログ記事の「続きを読む」リンクは、追記がある場合のみ表示したい場合に利用できる。HTMLModelは、単に出力の有無だけでなく、外部CSSパスの動的な制御など複雑な処理も可能だが、基本的な使い方はシンプルで、visible属性による表示制御が便利である。HTMLModel自体は何もせず、親クラスであるSOY2HTMLの挙動を理解する必要がある。
/** Geminiが自動生成した概要 **/
Go言語のos.Argsはコマンドライン引数を扱う。`os.Args`はスライスで、最初の要素`os.Args[0]`は実行ファイルのパス。`./main.exe test`と実行すると、`os.Args[1]`は"test"となる。同様に`./main.exe test 5`と実行すれば、`os.Args[1]`は"test"、`os.Args[2]`は"5"となる。つまり、`os.Args`を用いることで、コマンドライン引数にアクセスし、プログラムの動作を制御できる。
/** Geminiが自動生成した概要 **/
Go言語でコマンドを作成する方法を解説。 `~/workspace/go/cmd`ディレクトリに`main.go`を作成し、`fmt.Println("usako")`を出力するコードを記述。MINGW64を用いて`go build main.go`でコンパイルし、`./main.exe`で実行すると、コマンドラインに"usako"と表示される。 `go build`コマンドはGoのソースコードをコンパイルして実行ファイルを作成する。Windowsでは実行ファイルに`.exe`拡張子が付く。
/** Geminiが自動生成した概要 **/
SOY Shopの注文検索機能を拡張し、オーダーカスタムフィールド(日付型)を検索条件に追加できるプラグインを開発しました。管理画面の注文一覧にカスタムフィールドの日付検索欄が追加され、注文詳細に記録した任意の日付情報(例:返答期限)に基づいた検索が可能になります。この機能は「やまどうぐレンタル屋さん」で実装した顧客管理機能強化の一環で、管理画面のみ表示のカスタムフィールドに「○月○日までに返答」といった伝言を記録し、検索で容易に抽出するといった活用が想定されます。プラグインはsaitodev.coからダウンロード可能です。
/** Geminiが自動生成した概要 **/
Go言語で自作ハッシュ関数を作成し、"ryoko"を暗号化する例が示されています。`CreatHash`関数では、入力文字列をバイト配列に変換後、`sha256.Sum256`でSHA256ハッシュ値を計算し、`hex.EncodeToString`で16進数文字列に変換して返します。 `ryoko`のバイト表現`[114 121 111 107 111]`は、SHA256ハッシュ化され、最終的に`db08d212da1b3ec6c2e3c12d1864626c8d125084c4b05767f00627eebb70bede`というハッシュ値が生成されます。
/** Geminiが自動生成した概要 **/
kintoneでカレンダーアプリを印刷する際、標準機能ではカレンダー部分のみを選択できない問題を、jQueryプラグイン「printElement」を用いて解決する方法を紹介。kintoneアプリにカレンダー形式の一覧ページを作成し、printElementとjQueryを読み込むよう設定。カスタマイズ用JavaScriptで印刷ボタンを配置し、クリックイベントにprintElementでカレンダー部分(id="view-list-data-gaia")を指定。これにより、ヘッダー/フッターを除くカレンダー部分のみが印刷範囲となる。kintoneのカスタマイズ性の高さとjQueryプラグインの活用例を示している。
/** Geminiが自動生成した概要 **/
Go言語で`template/header.txt`ファイルを読み込む方法を説明しています。`os.Open`関数でファイルを開き、エラー処理も実装しています。`defer file.Close()`で確実にファイルを閉じます。`ioutil.ReadAll`関数でファイルの内容をバイトスライス`content`に読み込み、`string(content)`で文字列`html`に変換します。最後に`fmt.Println(html)`でファイルの内容を表示します。 添付画像は`header.txt`の内容("string1")が表示された実行結果を示しています。
/** Geminiが自動生成した概要 **/
植物は生育に銅を必要とし、欠乏すると様々な生理障害が現れる。銅は多くの酵素の構成要素であり、特にリグニン生合成に関わるラッカーゼ、光合成に関わるプラストシアニンで重要な役割を果たす。ラッカーゼはリグニンの重合反応を触媒し、植物の強度や抵抗性を高める。プラストシアニンは電子伝達系で機能し、光合成効率に影響する。銅はまた、エチレン受容体、抗酸化酵素などにも関与し、植物の成長、ストレス耐性、病害抵抗性に関わる。銅は土壌中に存在するが、吸収されにくい形態も存在する。植物は銅の吸収、輸送、貯蔵を巧みに制御し、生育に最適な銅濃度を維持している。銅の過剰供給は毒性を示すため、そのバランスが重要である。
/** Geminiが自動生成した概要 **/
トチノキの実のアクの正体は、タンニンとサポニンである。特にサポニンは、界面活性作用で細胞膜を破壊する性質を持ち、人体に毒性がある。このため、生食はできない。しかし、縄文時代の人々は灰汁を用いたアク抜き方法を発見し、トチノキの実を貴重なデンプン源として利用した。サルでさえ食べないトチノキの実を、人は灰の活用によって食料とした。囲炉裏から得られる灰は、暖をとるだけでなく、食料貯蔵にも役立ち、人類の文化発展に貢献したと言える。
/** Geminiが自動生成した概要 **/
Go言語で特定サイトから複数画像を取得する処理を解説しています。まず、対象ページのHTMLを取得し、正規表現を用いて`img`タグの`src`属性から画像パスを抽出します。抽出したパスは`/site/files`を含むものだけをスライスに格納します。次に、スライス内の各パスに対して、サイトのドメインを付加して完全なURLを生成し、`http.Get`で画像データを取得します。取得したデータは`ioutil.ReadAll`でバイト型に変換後、ファイル名を取得するためにパスの最後の`/`以降の文字列をファイル名として新規ファイルを作成し、画像データを書き込み保存します。
/** Geminiが自動生成した概要 **/
複合機のFAX受信をGoogleドライブと連携し、ChatWorkで通知する仕組みを紹介。複合機がFAXをPDFでGoogleドライブに共有する機能を活用し、Google Apps ScriptでPDFを特定フォルダに移動、ファイル名と共にChatWorkへ通知する。これにより、外出先でもFAX内容を即時確認でき、紙の無駄や転送の手間を省ける。5分間隔でスクリプトを実行することで、ほぼリアルタイムな通知を実現。設定には、複合機側のGoogleドライブ連携と、スクリプト内のChatWork API設定が必要。
/** Geminiが自動生成した概要 **/
Googleは常時SSL化をランキング要因の一つとしています。つまり、サイトがHTTPSを使用しているかどうかは、検索結果の順位に影響を与えます。しかし、その影響は軽微であり、他のSEO対策と比べると優先度は低いと言えるでしょう。
常時SSL化の主なメリットはセキュリティの向上です。ユーザーの情報を暗号化することで、盗聴や改ざんのリスクを軽減できます。これはユーザーの信頼感向上に繋がり、間接的にSEO効果に繋がる可能性があります。
また、常時SSL化によってサイトの表示速度が向上する可能性も指摘されています。Googleはサイトの表示速度もランキング要因としているため、結果的にSEOに良い影響を与える可能性があります。
しかし、常時SSL化自体が劇的なSEO効果をもたらすわけではないので、他の重要なSEO対策を疎かにしてまで優先するべきではありません。コンテンツの質やユーザーエクスペリエンスの向上など、他のSEO対策と並行して行うことが重要です。
/** Geminiが自動生成した概要 **/
Go言語でファイルを作成する方法を解説しています。まず、`os.Stat`でファイルの存在確認を行い、存在しなければ`os.Create`で作成、存在すれば`os.Open`で開きます。`defer file.Close()`で確実にファイルを閉じ、`[]byte`に変換した文字列を`file.Write`で書き込みます。
次に、`os.Stat`でディレクトリの存在確認を行い、なければ`os.Mkdir`で作成します。`filepath.Abs(".")`で現在のディレクトリを取得し、`os.Chdir`で作成したディレクトリに移動してから、上記と同様にファイルを作成・書き込みます。結果として、指定したディレクトリにファイルが作成されます。
/** Geminiが自動生成した概要 **/
Go言語のメソッドは、特定の型に紐づく関数です。`sample.go`で`Person`構造体を定義し、`Greet()`メソッドを実装します。`Greet()`メソッドは`Person`型のポインタ`*Person`をレシーバーとして受け取ります。`main.go`で`Person`型の変数`ryoko`を作成し、`ryoko.Greet()`と呼び出すことでメソッドを実行します。メソッド内では、レシーバー`p`を通して`Person`のフィールド(例:`p.Name`)にアクセスできます。初期実装では「こんにちは」と表示されますが、`fmt.Println(p.Name + "さん、こんにちは")`と変更することで「りょうこさん、こんにちは」と表示できます。
/** Geminiが自動生成した概要 **/
登山用品レンタルの「やまどうぐレンタル屋」は、SOY Shopで運営しつつSalesforceを用いて顧客管理を行っていたが、SOY Shop内で完結させたいという要望からCRM機能強化を実施。オーダーカスタムフィールドや拡張ポイントを活用し、レンタル特有の発送・返却管理、納品書・検品書出力管理、配送状況連携、電話注文対応、実店舗受取管理などをSOY Shop内で実現。プラグインによる拡張のみでSalesforce並みの機能を実現し、本体のカスタマイズは行わずバージョンアップへの影響を排除。管理画面の表示速度最適化も実施。この機能強化は拡張ポイントを活用したプラグイン作成で再現可能。
/** Geminiが自動生成した概要 **/
Go言語では、`type`キーワードで構造体(`struct`)を定義できる。構造体は複数の型の値をまとめたもので、例えば`Person`構造体に`id`、`name`、`reading`フィールドを持つ。`main`関数で`Person`型の変数`ryoko`を宣言し、値を代入して出力できる。構造体のフィールドへは`.`でアクセスする。また、構造体はパッケージに含めることができ、`sample`パッケージに`Person`構造体を定義し、`main`関数で`import`して`sample.Person`として利用できる。パッケージ内の構造体を利用する場合、フィールド名の最初の文字は大文字にする必要がある。
/** Geminiが自動生成した概要 **/
Go言語のマップは、キーと値のペアを格納する連想配列です。`map[KeyType]ValueType`で宣言し、`make`関数で初期化します。 キーを指定して値にアクセス (例: `m["name"]`) し、`for...range`ループで全てのキーと値を反復処理できます。上記例では、文字列キーと文字列値のマップを作成し、"name":"Tuyoshi"、"reading":"Saito"を格納、表示しています。 `fmt.Println(m)`でマップ全体、`fmt.Println(m["name"])`で特定の値、`for k, v := range m { fmt.Println(k + ":" + v) }`でキーと値を順に表示します。
/** Geminiが自動生成した概要 **/
Go言語の可変長配列(スライス)は`[]int`で宣言し、`make([]int, 10)`で要素数10の配列を作成する。`s[4] = 5`で5番目の要素に5を代入。要素を追加するには`append`関数を使う。`append(s, 9)`で9を追加。複数の値(例: 5, 3, 7)を追加する場合は、別のスライス`s2`を作成し、`append(s, s2...)`のように`...`を使って展開して追加する。
/** Geminiが自動生成した概要 **/
プログラマは、システム不具合の多くが「想定外の使い方」に起因するため、電話での口頭説明ではなく詳細な情報提供を求める。これは、プログラミングが物理法則に縛られず、思考がそのまま反映されるため、想定外の動作が顕著な不具合となる特性による。効率的な情報伝達と問題解決のため、プログラマはコーディング規約、高機能エディタ、テスト自動化、タスク管理ツール、オープンソースといった手段を活用し、思考すべき点とそうでない点を明確化し、再発防止と情報共有を促進する。妻にプログラミングを教えるのは、これらの思考プロセスと情報伝達の重要性を体験させ、世界中の資産を活用する術を学ばせるためである。
/** Geminiが自動生成した概要 **/
Go言語で配列を扱う方法を示すコード例です。10個の文字列を格納できる配列`array`を宣言し、"ryoko"、"usako"、"kumata"を初期値として代入しています。`fmt.Println(array)`で配列全体、`fmt.Println(array[1])`で特定の要素を表示できます。`for i:=0; i<10; i++`のような通常のforループに加え、`for i, v := range array`を使うことで、インデックス`i`と値`v`を取得しながら配列の各要素にアクセスできます。インデックスが不要な場合は`for _, v := range array`と記述します。
/** Geminiが自動生成した概要 **/
旧サーバーでLet's Encrypt証明書の失効、新サーバーで新規発行の手順を解説。
旧サーバーでは、`certbot`を使わず、`/opt/letsencrypt/letsencrypt-auto revoke`コマンドで証明書を失効、`delete`コマンドで関連ファイルを削除。ドメイン名(saitodev.co)を指定して実行。
新サーバーでの証明書発行手順は別記事を参照。
/** Geminiが自動生成した概要 **/
Googleドキュメントの音声入力とGoogle Apps Scriptを連携させ、チャットワークへの投稿を音声で行う方法を紹介。 「チャットワーク(投稿内容)終了」と話しかけると、内容がチャットワークに送信されるスクリプトを作成。1分毎にスクリプトが実行され、ドキュメントの内容をチェック、投稿後ドキュメントはクリアされる。APIトークン、ルームIDの設定が必要。音声入力はドキュメントのツールから利用可能。Androidスマホでは音声入力の設定を事前に確認する必要がある。この方法で、両手が塞がっている状況でもチャットワークに投稿可能。実用時はタスク登録ルールやToの指定が推奨される。
/** Geminiが自動生成した概要 **/
Go言語の`for`ループは様々な繰り返し処理を実現する。`for i := 0; i < 10; i++` のように初期値、条件、増分を指定する一般的な方法に加え、`for {}`と`break`を組み合わせた無限ループも可能。
`i += 1`は`i++`と同じくインクリメントを意味する。二重ループで九九の計算も容易に実現できる。外側のループ変数 `i`、内側のループ変数 `j` を用いて `fmt.Println(i * j)` で結果を表示する。
/** Geminiが自動生成した概要 **/
Google Apps Script (GAS)を使ってChatWorkに投稿する方法を紹介。ChatWorkClient for Google Apps Scriptライブラリを利用し、APIトークンとルームIDを指定することで簡単にメッセージを送信できる。GASのトリガー機能と組み合わせれば、Gmail受信やGoogleカレンダーの予定に基づいて自動投稿するなど、業務効率化に役立つアプリを簡単に作成可能。ChatWorkとG Suiteの連携で業務改善を実現できる。
/** Geminiが自動生成した概要 **/
Go言語でHTTP GETリクエストを実行する方法を解説しています。`net/http`パッケージの`Get`関数で指定URLにアクセスし、レスポンスを取得します。`ioutil.ReadAll`でレスポンスボディを読み込み、`string`型に変換してHTML内容を表示します。エラー処理も実装し、最後に`response.Body.Close()`でクローズします。記事では、各段階の出力を示しながら、最終的にHTMLを取得するコードを完成させています。
/** Geminiが自動生成した概要 **/
Go言語では、関数の動作を検証するためにユニットテストを行います。テストコードの作成には、以下のような手順があります。
1. テストしたい関数の前に「Test」を付け、テスト関数を作成する。
2. テスト関数に「(t *testing.T)」パラメータを渡す。
3. 関数の引数と期待される値を設定する。
4. 関数を実行し、期待される値と実際の結果を比較する。
テストを実行すると、「ok」または「FAIL」が出力されます。「ok」はテストが成功したことを示し、「FAIL」はテストが失敗したことを示します。
テストを失敗させるには、期待される値と実際の結果を意図的に不一致にします。この場合、テスト結果は次のように表示されます。
```
--- FAIL: TestJudgeEo (0.00s)
func_test.go:10: 5は奇数なのでfalseを返さなければいけない
```
/** Geminiが自動生成した概要 **/
Go言語のif文は条件が真か偽かを判定する制御構文です。変数iが5ならば「iに格納されている文字は5」と表示する例が示されています。==は等価性を表し、!=は不一致を表します。else ifステートメントは複数の条件を処理するために使用できます。elseは、他のすべての条件が失敗した場合に実行されるブロックです。例では、str変数にtestまたはhogeが含まれているかどうかがチェックされ、それ以外の場合は「strに格納されている値はtestもhogeでもありません」と表示されます。最後に、偶数か奇数かを判定する関数を示し、iが偶数であればtrue、奇数であればfalseを返します。
/** Geminiが自動生成した概要 **/
ChatWork APIを使用してPHPからマイチャットに投稿するスクリプトを作成。投稿は成功し、マイチャットに「PHPからテスト投稿」のメッセージが送信された。
また、ChatWorkでは電話代行サービスを開始しており、電話対応を減らす取り組みが進んでいる。仕事における電話が嫌煙される傾向が高まっている。
/** Geminiが自動生成した概要 **/
Go言語のpackage機能は関数をまとめて再利用や配布を可能にする。package名は作成するフォルダ名と同じにする。同じ階層のpackageを読み込むにはimport "./パッケージ名"を使用する。package内に複数の関数があっても、呼び出すときに指定する必要はない。また、Go言語には最初から組み込まれたpackage(例えばtime package)があり、それらを利用することもできる。
/** Geminiが自動生成した概要 **/
SOY CMSで複数のブログページを作成した場合、各ページのカテゴリ一覧を他のページで出力するモジュール「cms:module="common.multi_blog_category"」が追加されました。
使用方法は、モジュール内に「b_block:id="category_on_{ブログページのURI}"」と記述します。これにより、ブログページ毎のカテゴリ一覧を出力できます。
例えば、ブログ1ページ(URI:blog)とブログ2ページ(URI:sub/blog)のカテゴリ一覧を標準ページに出力するには、「b_block:id="category_on_blog"」と「b_block:id="category_on_sub_blog"」を使用します。
このモジュールにより、標準ページから他のブログページのカテゴリ一覧にアクセスし、各ブログのカテゴリページに移動できるようになります。
/** Geminiが自動生成した概要 **/
Go言語では、関数は `func` キーワードを使用して作成され、引数とその型を定義できる関数です。関数は、エントリーポイントである `main` 関数から呼び出されます。
整数同士の和を表示する関数 `sum` を作成する場合、関数は次のようになります。
```go
func sum(i int, j int) int {
return i + j
}
```
返り値がある関数は、その型を関数シグネチャに指定します。たとえば、`sum` 関数は `int` 型の値を返します。
複数の値を返す関数は、関数シグネチャにタプルの型を指定します。たとえば、`sum` 関数が和とブール値を返す場合、そのシグネチャは次のようになります。
```go
func sum(i int, j int) (int, bool)
```
/** Geminiが自動生成した概要 **/
Go言語で変数の使い方を解説しています。整数型(int)は数値、文字列型(string)はダブルクォートで囲みます。実数型(float64)は小数点を含む数値、論理値型(bool)はtrue/falseを扱います。変数を宣言し、値を代入し、print関数で表示します。値を代入しないbool型変数はfalseになります。
/** Geminiが自動生成した概要 **/
Go言語で"Hello World"を表示する方法を解説。Go環境設定後、workspace内のgoディレクトリにmain.goファイルを作成する。`package main`と`func main(){}`は必須。`print("Hello World")`を{}内に記述し、Ctrl+Shift+Bで実行すると"Hello World"が表示される。Atomの設定でBを押すと実行されるよう設定されている。 別の方法として、MINGW64などのコマンドラインから`go run main.go`を実行しても"Hello World"が表示される。
/** Geminiが自動生成した概要 **/
SOY Shop向け返金管理プラグインが開発されました。注文詳細画面から返金・増額の振込額や銀行口座情報を登録可能になり、管理画面の注文一覧検索で返金関連情報による絞り込み検索もできるようになりました。 プラグインはsaitodev.coからダウンロードできます。
このプラグインは、注文毎のキャンセルや変更に伴う返金・増額を記録し、処理状況を追跡する機能を提供します。注文状態に「返金処理待ち」ステータスも追加され、より詳細な注文管理が可能になります。 これは、既存の注文検索フォーム拡張ポイントと注文状態・支払状況フラグ追加拡張ポイントを利用して実現されています。
/** Geminiが自動生成した概要 **/
Lenovo Ideapad 720SにUbuntu 18.04β版をインストールしたが、内蔵Wi-Fiアダプタは使用できなかった。Wi-Fiアダプタ自体はRealtek製で物理的には動作しているものの、対応するドライバが見つからない。ArchWikiやRealtek、Githubのリポジトリを調査した結果、rtl8821ceドライバが必要だとわかったが、Ubuntuに導入できる形では提供されていない。そのため、現時点ではUSB接続のPocketWifiを利用してインターネットに接続している。
/** Geminiが自動生成した概要 **/
地衣類は、光合成を行うシアノバクテリアまたは緑藻と共生している菌類です。地衣類は、菌が光合成生物に必要な栄養を提供し、光合成生物が合成した産物を菌に返します。この共生関係により、地衣類は木の幹などの栄養分に乏しい環境でも生存できます。
地衣類の光合成にはマンガンが必要ですが、地衣類は宿主からマンガンを吸収していると考えられます。これは、死んだ幹に残った微量元素を活用している可能性を示唆しています。つまり、地衣類は木の残りを再利用することで、山の生態系における栄養循環に貢献している可能性があります。
/** Geminiが自動生成した概要 **/
SOY Shopの注文詳細編集機能に、代金合計に含めるかどうかのチェックボックスを追加しました。これにより、内税のように明細には表示するものの、合計額には含まない項目を指定できます。
ただし、注文詳細表示ではどの項目が合計額に含まれているかわかりにくいという課題があります。今後、わかりやすい表示方法の検討が進められます。
/** Geminiが自動生成した概要 **/
php-webdriverを使用して、TinyMCEエディタに値を入力するには、iframeに切り替えてから入力し、その後親フレームに戻す必要があります。値を取得するには、再度iframeに切り替えてからテキストを取得し、親フレームに戻します。具体的には、`driver->switchTo()->frame()`と`driver->switchTo()->defaultContent()`を使用します。
/** Geminiが自動生成した概要 **/
SOY2HTMLのHTMLLinkクラスは、PHPでリンクを生成するためのクラスです。`text`属性でリンクテキストを、`link`属性でhref値を設定します。`SOY2PageController::createLink()`を使うと、管理画面のURLを簡単に生成できます。HTMLには`<a soy:id="detail_link"></a>`と記述します。HTMLActionLinkクラスはHTMLLinkを継承し、URLにトークンを付与することでセキュリティを強化します。`soy2_check_token`と併用し、URL直打ちを防止します。
/** Geminiが自動生成した概要 **/
SOY CMSのブロック内で繰り返し表示される記事に、一定の間隔で任意の文字列を表示するには、下記の手順に従います。
1. HTMLListクラスを継承したPHPクラスを作成し、populateItemメソッドで表示したい内容をHTMLタグで記述します。
2. HTMLファイルで、populateItemメソッドで作成したHTMLタグをsoy:idを使用して囲みます。
3. 表示する間隔をsoy:id="loop"に指定します。
4. 表示する文字列をsoy:id="index"に指定します。
これで、指定した間隔で任意の文字列が繰り返し表示されます。
/** Geminiが自動生成した概要 **/
SOY2HTMLでラジオボタンとチェックボックスを設置する方法を解説。HTMLCheckBoxクラスを用い、PHP側で`addCheckBox`メソッドを使い、HTML側で`<input type="(radio|checkbox)" soy:id="id名">`を記述する。`addCheckBox`の第二引数配列には、name, value, selected(チェック状態), label(ラベルテキスト)を指定する。ラジオボタンはnameを共通にすることでグループ化される。チェックボックスは単独で動作する。HTMLCheckBoxクラスはHTMLInputを継承し、labelタグを自動生成する機能を持つ。`isBoolean`をtrueに設定すると、値が未送信の場合に備えてhiddenで値0を送信する。
/** Geminiが自動生成した概要 **/
SOY2HTMLを使用してテキストフォームを作成する方法を説明します。`HTMLInput`クラスを利用して、フォームにテキストフォームを追加できます。`addInput()`メソッドを使用して、フォーム要素のnameとvalue属性を設定します。これにより、PHPの記述混入を回避しつつ、デザインを崩さずにHTMLファイルを直接表示できます。テキストフォームの実際のコードは、`HTMLFormElement`クラスを継承した`HTMLInput`クラスで定義されています。
/** Geminiが自動生成した概要 **/
HTMLFormクラスは、HTMLのフォーム要素を生成するためのコンポーネントです。formタグを生成し、メソッド(デフォルトはPOST)やアクション、ターゲットなどの属性を設定できます。POSTメソッドの場合、CSRF対策としてsoy2_tokenという隠しフィールドを自動的に追加します。アクションが指定されていない場合は、現在のリクエストURIがアクションとして設定されます。また、JavaScriptのonSubmitイベントを設定することも可能です。disabled属性の設定も可能です。
/** Geminiが自動生成した概要 **/
SOY Shopプラグインの拡張ポイントsoyshop.config.phpは、プラグイン毎に詳細設定画面を作成するための機能です。プラグインディレクトリにsoyshop.config.phpを設置し、インターフェース`SOYShopConfigPageBase`を実装することで、`http://ドメイン/CMSインストールディレクトリ/soyshop/index.php/Config/Detail?plugin=プラグインID` でアクセス可能な設定ページが生成されます。
主要なメソッドは`getConfigPage()`(設定画面のHTMLを出力)、`getConfigPageTitle()`(設定画面のタイトル)、`redirect()`(リダイレクト)です。`getConfigPage()`では、SOY2HTMLを用いてHTMLを生成するのが一般的です。PAY.JPクレジットカード支払いモジュールでは、`PayJpConfigPage`クラスとテンプレートファイルを使用して設定画面を構築しています。`redirect()`メソッドは、設定更新後などにURLパラメータを追加してリダイレクトする際に使用します。
/** Geminiが自動生成した概要 **/
さくらインターネットの最安値VPS上でSQLite版SOY CMSを運用するブログ運営者が、サイト表示速度の低下に対処するためSQLiteのVACUUMを試した。データベースファイルが肥大化し表示が遅くなったため、サーバ移行も検討していたが、SQLiteのVACUUMコマンドで一時データの削除を試みた。実行手順を掲載し、ファイルサイズが約0.3MB減少した結果を報告。速度改善効果への期待を示し、今後はauto_vacuum機能の利用も検討しているが、データベース作成時に設定が必要なため、現状では利用できないという結論に至った。
/** 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")`のように指定することで、注文ステータスが「発送済み」の注文一覧ページへのリンクを生成できます。
/** Geminiが自動生成した概要 **/
Jenkinsの動作が遅くなった場合、まずジョブの実行履歴を確認し、遅いジョブを特定します。次に、そのジョブの設定やビルド手順を見直し、不要な処理やリソースを消費する操作がないか確認します。 Jenkins自体の負荷が高い場合は、プラグインの無効化、古いビルドの削除、ディスク容量の確保などを行います。それでも改善しない場合は、Jenkinsの再起動や、リソースの増強を検討します。 パフォーマンス監視ツールを利用し、CPU、メモリ、ディスクI/Oなどを監視することで、ボトルネックの特定に役立ちます。
/** Geminiが自動生成した概要 **/
SOY2HTMLでPHPの処理結果をHTMLに表示するには、`soy:id`を利用します。PHP側では`addLabel`メソッドを使い、`soy:id`と同じ名前を第一引数、表示する値を`text`か`html`プロパティに設定した配列を第二引数に渡します。`text`は文字列をエンコードし、`html`はHTMLタグをそのまま出力します。`addLabel`は`createAdd`メソッドの簡略形で、本来は第二引数に`HTMLLabel`クラスを指定します。`soy2prefix`を指定すれば`soy:`部分を変更できます。
/** Geminiが自動生成した概要 **/
SOY Shop管理画面の新着に項目を追加できる拡張ポイント「soyshop.admin.top.php」について解説。インターフェースには、表示可否を制御する`allowDisplay`、タイトルを設定する`getTitle`、コンテンツを設定する`getContent`、リンクURLを設定する`getLink`、リンクテキストを設定する`getLinkTitle`のメソッドが存在する。各メソッドの出力箇所は画像で示され、ショップ情報表示プラグインを例に挙げて説明。`getLink`でURLを指定すると、`getLinkTitle`のテキストがリンク化される。
/** Geminiが自動生成した概要 **/
SOY CMS/Shopのモジュール内でSQLを実行するには、SOY2DAOを利用します。データベースへの接続情報はSOYShop_DataSetsクラスで管理されており、`getDataSourceName()`でデータソース名、`getDatabaseUserName()`でユーザー名、`getDatabasePassword()`でパスワードを取得できます。データベースに接続するには、`SOY2DAOFactory::create("データソース名")`を使用します。createメソッドの引数は省略可能で、省略した場合はshopデータベースに接続します。SQLを実行するには、`query()`、`executeQuery()`、`execute()`メソッドを使用します。これらのメソッドは、`SOY2DAO`クラスのインスタンスメソッドとして呼び出します。
/** Geminiが自動生成した概要 **/
SOY Shopの伝票番号プラグインがアップデート!複数個口発送の管理が大幅に向上しました。
従来は複数個口の場合でも注文詳細の状態を一括でしか変更できませんでしたが、今回のアップデートで個々の伝票番号ごとに発送状況を管理できるようになりました。
具体的には、未発送の伝票番号一覧ページで、発送済み/未発送のステータス変更が可能に。さらに、全ての伝票番号が発送済みになると、自動で注文詳細も発送済みに更新されます。
発送漏れ防止に役立つ機能満載!詳しくはサイトで。
/** Geminiが自動生成した概要 **/
SOY Shopの配送拡張ポイント`soyshop.delivery.php`について解説。インターフェースは`onSelect`、`getName`、`getDescription`、`getPrice`など、支払い拡張ポイントと類似のメソッドを持つ。`onSelect`~`getPrice`はカートでの配送方法選択時の動作を定義し、`edit`と`update`はマイページの注文詳細編集で使用される。`edit`は編集フォームを出力するメソッドで、`update`はフォーム送信時の更新処理を行う。標準の配送モジュール(delivery_normal)のコードを読むことで、具体的な実装方法を理解できる。
/** Geminiが自動生成した概要 **/
SOY Shopの支払い拡張ポイント(soyshop.payment.php)は、`onSelect`、`getName`、`getDescription`、`getPrice`、`getMethod`、`hasOptionPage`、`getOptionPage`、`onPostOptionPage`などのメソッドを提供し、支払い方法のカスタマイズを可能にする。各メソッドは支払い方法名や説明、価格、追加ページの有無などを制御する。例として、クレジットカード決済では`hasOptionPage`でtrueを返し、`getOptionPage`で入力フォームを提供する。`getMethod`はカート内容に応じて支払い方法の表示を制御するが、最後のプラグインで全てのモジュールを制御する点に注意が必要。
/** 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/以下にインターフェース定義がある。
/** Geminiが自動生成した概要 **/
SOY Shopの注文状態・支払状況の拡張ポイントが追加されました。従来の注文状態変更項目の柔軟性不足を解消するため、プラグインで項目を追加できるようになりました。例えば、レンタル業務用の返送伝票番号記録プラグインでは、注文状態に「返却済み」フラグを追加できます。追加方法は、在庫確認中状態追加プラグイン(add_status_check_stock_in)を複製し、soyshop.order.status.php内のstatusItem()またはpaymentStatusItem()関数を編集します。配列で任意の数字とフラグ名を指定することで、注文状態と支払状況に項目を追加できます。拡張ポイントに関する詳細は別記事を参照ください。最新版はサイトからダウンロード可能です。
/** Geminiが自動生成した概要 **/
SOY CMSでサイトディレクトリ(例:site)の名前を変更(例:hoge)するには、まずディレクトリ名を変更後、データベースのSiteテーブルを編集します。site_id、url、pathを新しいディレクトリ名に合わせて変更します。MySQL版ではdata_source_nameは変更不要ですが、SQLite版ではpathと同様にdata_source_nameも変更が必要です。これにより、システムが新しいディレクトリ位置を認識し、サイトが表示されます。記載内容は未検証のため、ご注意ください。
/** Geminiが自動生成した概要 **/
SOY CMSのカテゴリー詳細表示プラグインがアップデートされ、WYSIWYGエディタ(TinyMCE)に対応しました。ユーザーからの要望に応え、ラベルの詳細編集画面でHTMLタグだけでなく、画像や動画も手軽に挿入できるようになりました。プラグインの詳細設定でWYSIWYGエディタの使用をチェックすることで有効化できます。このアップデートにより、よりリッチなコンテンツをカテゴリー詳細に表示することが可能になります。最新のパッケージはsaitodev.co/soycms/からダウンロードできます。
/** Geminiが自動生成した概要 **/
SOY CMSはデザイナとプログラマの完全分業を目指し、機能はHTMLコメントタグの`<!-- cms:id="..." -->`に集約。これによりCMSを介さずともデザインが崩れず、改修コストを大幅削減。デザイナはPHP/SQLを触れずに済む一方、PHP記述許可モードで複雑な表示も可能に。不要な複雑さを排除し、クリエイティブな活動に注力させる開発理念が込められている。
/** Geminiが自動生成した概要 **/
SOY CMSは、WordPressなどと機能比較されがちですが、その真価は開発背景にあります。京都大学での業務アプリ開発で度重なる仕様変更によるプロジェクト炎上を経験したことがきっかけで、デザイナーとプログラマーの作業分離を目指しました。
SOY2フレームワークを基盤とし、プログラマーが機能をHTMLタグ(`cms:id`など)として提供し、デザイナーはそれを自身のデザインに組み込む形式を採用。これにより、デザイナーはプログラム知識なしにサイトの構築や変更を容易に行え、プログラマーも独立して修正できる。SOY CMSは、開発時や運営後のWebデザイナーの負担を最小限に抑えることを最大の目標としています。
/** Geminiが自動生成した概要 **/
兵庫県南あわじ市の水田土壌を観察した。白っぽい粘土質で、土壌図では低地水田土に分類される。地質図によれば、この地域は堆積物地形であり、領家変成帯に位置する。北側には花崗岩が広がり、この水田土壌は花崗岩形成時の熱影響を受けた付加体由来と考えられる。現状の知識では地質図からの詳細な土壌特性の推定は難しいが、水田ながら比較的排水性が高い環境と推測される。
/** Geminiが自動生成した概要 **/
Windows 10でGo言語開発環境を構築する手順をまとめた記事です。Git、Go、Atomエディタをインストールし、日本語化やGo開発に必要なパッケージを追加します。AtomでGoファイルを作成し、"hello world"を出力するサンプルコードの実行までを解説しています。Go言語のバージョンは1.9.4、Windowsは64bit版を使用しています。最後に、アンチウイルスソフトの設定が必要になる場合があることに触れています。
/** Geminiが自動生成した概要 **/
COMODO Internet SecurityがGoプログラムの実行をブロックする問題への対処法。COMODOの「アプリケーションのブロック解除」画面で、ブロックされたGoプログラムにチェックを入れ、「すべてのセキュリティコンポーネントのブロックを解除する」を選択する。これでAtomからの実行は可能になる。ただし、go buildで作成したバイナリは実行毎にブロックされるため、Goバイナリを無条件で実行する方法については未解決。
/** Geminiが自動生成した概要 **/
イネ科植物は土壌から吸収したシリカを体内に蓄積し、強度を高める。枯死後、このシリカはプラント・オパールというケイ酸塩鉱物として土壌中に残る。プラント・オパールは土壌の団粒構造形成に重要な役割を果たすと考えられている。特にソルゴーは緑肥として有効で、強靭な根で土壌を破砕し、アルミニウム耐性により根から有機酸を分泌してアルミニウムを無害化する。枯死後はプラント・オパールとなり、活性化したアルミニウムを包み込み、団粒構造形成を促進する可能性がある。
/** Geminiが自動生成した概要 **/
SOY Shopのマイページ注文編集プラグインに、お届け先と請求先住所の編集機能が追加されました。有効化すると、注文詳細画面に編集ボタンが表示され、住所変更が可能になります。ただし、請求先住所を変更してもマイページの会員登録情報は更新されません。この機能追加により、ユーザーは注文後もお届け先や請求先の住所を柔軟に変更できるようになります。最新版はsaitodev.co/soycms/soyshop/からダウンロード可能です。開発段階のため、今後もブログで更新情報を確認しながら利用ください。
/** Geminiが自動生成した概要 **/
SOY Shopの注文詳細に、商品表示順の変更機能が追加されました。従来の納品書出力では、注文商品の表示順が固定でしたが、今回のアップデートで管理画面からドラッグ&ドロップで自由に並び替えが可能になりました。 これは、一度に数十種類の商品を注文するユーザーからの、ピッキングや梱包作業効率化の要望に応えたものです。新しい並び順は納品書にも反映されるため、検品や梱包ミス軽減に繋がります。この機能は、開発中の在庫管理と見積書作成機能にも応用され、業務効率化に貢献します。アップデートパッケージはsaitodev.coからダウンロード可能です。
/** Geminiが自動生成した概要 **/
SOY Shopのマイページで注文編集プラグインに商品の削除機能が追加されました。以前は商品追加のみでしたが、今回のアップデートで注文詳細編集画面から商品の削除が可能になりました。削除したい商品を選択し、削除ボタンを押すことで注文から商品を除外できます。変更内容を保存すると、お客様とショップ管理者に変更通知メールが送信され、管理画面の新着にも反映されます。これにより、顧客はコールセンターに連絡することなく、マイページ上で注文内容の変更をより柔軟に行えるようになりました。ただし、商品削除に伴う金額変更など、クレジット決済への対応は今後の開発課題となっています。完全な注文編集機能の実現に向けて開発は継続中です。
/** Geminiが自動生成した概要 **/
Google Apps Script (GAS)のHTML Serviceでファイルアップロード機能を実装する方法を紹介。サンプルコードでは、HTMLフォームでファイルを選択・送信し、GAS側でGoogleドライブに保存、生成されたURLをHTMLに返す非同期処理を行っている。`google.script.run.withSuccessHandler()`でGAS側の関数を実行し、成功時の処理をHTML側で記述。フォーム送信イベント`onsubmit`でこの処理を呼び出し、アップロード後のURL表示を実現。この仕組みにOCR処理を組み合わせることで、画像アップロードと文字列抽出を同一画面で行うWebアプリ開発が可能になる。
/** Geminiが自動生成した概要 **/
Google Apps ScriptでJPEG画像からOCRで文字列を取得する方法を検証。GoogleドキュメントでのOCRをGASで自動化する方法を紹介している。 Drive APIを有効化し、画像URLを指定して`Drive.Files.insert`メソッドでGoogleドライブに挿入、`ocr:true`オプションでOCRを実行。 生成されたGoogleドキュメントには画像とOCR結果のテキストが含まれる。日付や画像中の文字認識は難しいが、本文は高精度で取得できた。以前試したGoogleドキュメント直接OCRより精度は高い。
/** Geminiが自動生成した概要 **/
SOY Shopの管理画面、特に注文一覧ページの表示速度改善に取り組んでいます。月商数千万円規模のショップで顕著になる速度低下の原因となっていた、顧客名表示等の処理をDAO経由からSQL直書きに変更。顧客情報全体を取得する代わりに必要な名前だけをデータベースから取得することで、処理を効率化しました。他にも例外処理の見直しやテストコードによるエラー修正を行い、体感できる速度改善を実現。今後も処理速度の改善を継続し、最新版はサイトからダウンロード可能です。
/** Geminiが自動生成した概要 **/
社会人・学生向けプログラミング教室で、Googleスプレッドシートの拡張機能開発に関する勉強会が開催されました。参加者はGoogle Apps Scriptを用いて、スプレッドシートの操作やWeb API連携を学ぶことで、業務効率化やデータ分析に役立つ実践的なスキルを習得しました。具体的には、HTML ServiceとSpreadsheet Serviceを活用し、スプレッドシートデータの取得・表示、カスタムメニューの追加、外部サービスとの連携などを実践。参加者からは、日々の業務に活かせる具体的な知識を得られたと好評を得ました。さらに、Google Apps Scriptの基礎から応用までを体系的に学べるため、プログラミング初心者でも安心して参加できたという声も寄せられました。
/** Geminiが自動生成した概要 **/
社会人・学生向けプログラミング教室で、Googleスプレッドシートの拡張機能開発をテーマにした勉強会が開催されました。内容はスプレッドシート操作の自動化をGASを用いて行うもので、参加者は「Google Apps Script完全入門」を教材に学習しました。勉強会では、GASの基本的な使い方、HTML Serviceを用いたWebアプリ作成、スプレッドシート操作、API連携、トリガー設定などを実践的に学びました。参加者からはGASの利便性や可能性を実感する声が上がり、業務効率化やデータ分析への応用について関心を示していました。
/** 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機能についても言及しています。
/** Geminiが自動生成した概要 **/
SOY Shop管理画面の注文商品登録操作を改善し、登録作業削減を実現。従来、商品検索でヒットしない場合のみ商品登録が可能だったが、部品名と規格で登録する際、規格違いの登録で画面遷移が必要となる問題が発生。そこで、検索結果に関わらず常に商品登録フォームを表示するように変更。例えば「ネジ」で検索すると全規格がヒットするが、新規格登録には別ページ遷移が必要だった。今回の改善で、検索後も商品登録フォームが常時表示されるため、規格違いの部品登録もその場でスムーズに行えるように。増加する部品規格への対応を効率化し、登録作業の手間を軽減。
/** Geminiが自動生成した概要 **/
ボルドー液は、硫酸銅と消石灰の混合溶液から成る農薬である。硫酸銅は胆礬(硫酸銅(II)五水和物)を原料とし、酸化帯に存在し水に溶けやすい。消石灰は炭酸石灰から生成され、土壌pH調整に用いられる。ボルドー液は、消石灰の石灰乳に硫酸銅を加えて作られる。酸性条件で活発になるカビ対策として、硫酸銅の銅イオンの殺菌力を利用しつつ、消石灰でアルカリ性にすることで、酸性環境を好むカビの繁殖を抑える効果が期待される。
/** Geminiが自動生成した概要 **/
SOY Shopの施工費計算モジュールに、利益を乗せた金額から作業コストを計算しやすくする機能追加が行われた。 従来、部品ごとに利益を上乗せする計算方法では、全体の利益額が分かりにくかった。そこで、合算に含める/含めない項目を設定できるようになり、詳細画面で合計金額とは別に、含めない金額(主に作業コスト分)を表示できるようになった。これにより、合算から非包含金額を引くことで、実際の利益を容易に把握できる。この改良版モジュールはsaitodev.coからダウンロード可能。
/** Geminiが自動生成した概要 **/
SOY Shopの拡張機能で、部品毎の利益上乗せ方式の施工費計算に対応しました。商品登録時に仕入れ値(定価)と利益込み価格(通常価格)を登録し、注文時に各商品の差額を合計して利益を算出します。通常の施工費固定方式も併用可能です。商品毎の仕入れ値変更があっても過去の注文への影響を防ぐため、注文時の定価を記録し、過去の注文の利益計算には記録された定価を使用します。この機能を含むパッケージはsaitodev.coからダウンロードできます。
/** Geminiが自動生成した概要 **/
記事では、インターネット上のパケットを傍受して中身を確認する方法を解説しています。使用ツールはWiresharkで、無線LANに接続するPCと、傍受対象のスマホを同じネットワークに接続します。スマホと通信するパケットはPCも受信するため、Wiresharkでフィルタリングしてスマホの通信のみを抽出します。HTTP通信の場合は、パスワードなどの重要な情報が平文で送信されていることが確認できます。HTTPS通信の場合は暗号化されているため、傍受しても内容は解読できません。この実験を通して、HTTP通信の危険性とHTTPS通信の重要性を示しています。
/** Geminiが自動生成した概要 **/
SOY Shopを在庫管理業務アプリ化するため、注文合計金額を固定し経費と粗利を確認できるプラグインを開発。施工費20万円の案件で、部品代金合計に加え、人件費などの経費を入力し、粗利を自動計算。合計金額は施工費で固定されるため、利益管理が容易に。注文複製プラグインと組み合わせることで、案件ごとの部品在庫管理が可能になり、見積書・納品書出力機能と連携すれば業務効率化に貢献。この機能は物販サイトには直接関係ないものの、SOY Shopの基本機能を拡張しており、間接的に物販サイト運営にもプラスの効果をもたらす。
/** Geminiが自動生成した概要 **/
SOY Shopで在庫管理業務アプリ用の注文複製プラグインを作成しました。組み立てに必要な材料(部品)の管理において、以前作成した注文(部品の使用量)を複製できる機能を追加。注文詳細画面の拡張機能ボタンに「注文の複製」ボタンを設置し、複製機能を実現。一度の注文で多くの材料を登録する場合に便利。この機能はプラグインなので、不要な場合はボタンを非表示にして誤操作を防止できます。今回の更新を含むパッケージはsaitodev.co/soycms/soyshop/ からダウンロード可能です。
/** Geminiが自動生成した概要 **/
PHP7.2のリリースに伴い、SOY CMS/Shopがcreate_functionとget_class関数の仕様変更によりエラー停止する問題が発生した。これを解消するため、create_functionを無名関数に置き換え、get_classの引数にnullが入らないようチェック処理を追加した。これらの変更はPHP5.3以降で動作するため、現行の推奨バージョン全てに対応。PHP7.2対応版はサイトからダウンロード可能。SOY Inquiry、SOY Mailも同様の修正を実施。また、ファイルマネージャのelFinderもcreate_function関連の修正のためバージョンアップされた。 完全な動作確認はまだだが、エラー発生時は問い合わせフォームから連絡してほしい。
/** Geminiが自動生成した概要 **/
GoogleドキュメントのOCR機能を使って画像ファイルから文字列を抽出する方法を紹介しています。手書きの名前が書かれた画像ファイルをGoogleドライブにアップロードし、Googleドキュメントで開くと、画像の下に文字列が抽出されます。著者は元々オープンソースのOCRライブラリを探しており、NHocrを試しましたが精度が及ばなかったため、GoogleドキュメントのOCR機能の精度の高さに驚いています。GoogleドキュメントがNHocrを組み込んでいる可能性や、GoogleのOCR APIの利用についても言及しています。
/** Geminiが自動生成した概要 **/
php-webdriverでconfirmダイアログのボタンをクリックする方法について解説。`$driver->switchTo()->alert()`でダイアログを取得し、`$dialog->accept()`でOKボタン、`$dialog->dismiss()`でキャンセルボタンをクリックできる。例として「退会する」リンククリック時に表示されるconfirmダイアログを操作するコードを紹介。`findElement`でリンク要素を取得し`click`でクリック、その後`switchTo()->alert()`と`accept()`でOKボタンクリックを処理する。
/** Geminiが自動生成した概要 **/
さくらVPS(Ubuntu 16.04)にJenkinsを導入し、Seleniumとphp-webdriverでUIテストを自動化する方法を紹介。Jenkinsインストール後、初期設定、ジョブ作成、Git連携、ビルドトリガー設定、シェルスクリプト実行設定、メール通知設定を行い、Apacheの設定を調整してテスト実行環境を構築。15分毎にGitリポジトリをポーリングし、変更があれば自動的にテストを実行、結果をメールで通知。これにより、月700円のVPS費用で継続的なUIテストを実現。
/** Geminiが自動生成した概要 **/
さくらVPS(Ubuntu 16.04)にSeleniumとphp-webdriverによるUIテスト環境を構築する方法。Selenium実行には仮想デスクトップ(Xvfb)とChromiumが必要で、手順はApache/PHP設定、Java8、Selenium、Xvfb、Chromium、ChromeDriverインストール、そしてSelenium起動スクリプト(load.sh)作成。load.shはXvfbとSeleniumを同時に起動し、ブラウザは仮想デスクトップ上で動作する。動作確認は http://(VPSのIPアドレス):4444 で行う。Jenkinsの設定とload.shの自動起動設定は今後の課題。
/** Geminiが自動生成した概要 **/
php-webdriverで`target="_blank"`のリンクをクリックした際、新しいタブにフォーカスを移すには`$driver->switchTo()->window(end($driver->getWindowHandles()));`ではなく、`$wins = $driver->getWindowHandles(); $driver->switchTo()->window(end($wins));`のように書く。
また、テスト終了時に単に`close()`を使うとセッションが残ってしまうため、タブが一つの場合は`quit()`を使う必要がある。これを考慮した`close()`関数を定義することで、複数タブでも単一タブでも適切にブラウザを閉じ、テストを終了できる。
/** Geminiが自動生成した概要 **/
php-webdriverを用いて、Selenium経由でSOY CMSにログインする手順を解説。ログイン画面で、ログインIDとパスワードの入力フィールドにそれぞれ「soycms」を入力後、ログインボタンをクリックしてログインするコードを紹介。`findElement`メソッドと`sendKeys`メソッドでフォームに値を入力し、`submit`メソッドでログインボタンをクリックすることでログイン処理を実現。ボタンもフォームも`findElement`で要素を取得し操作できることを示している。結果、SOY CMSの管理画面へログインできたことを確認。
/** Geminiが自動生成した概要 **/
Seleniumとphp-webdriverを使い、SOY CMSのログイン画面を自動操作するテストコードを実行した。ChromeドライバでChromiumを起動し、ログイン画面を表示後、ログインIDフォームに「soycms」と入力するコードを追加。実行結果、コンソールに「soycms」と表示され、Chromium上でもログインIDフォームに「soycms」が入力されていることを確認。基本的な動作確認が完了し、本格的なテストコード作成に移行する。
/** Geminiが自動生成した概要 **/
SOY Shopで商品規格プラグインを利用している場合、全子商品の在庫数を簡単に確認する方法として、在庫管理プラグイン(または在庫数一括設定プラグイン)の活用が推奨されています。商品規格プラグインは子商品を利用するため、CSVエクスポートでの確認が煩雑になるためです。在庫管理プラグインでは、検索条件を指定して商品一覧を表示、在庫数の一括変更が可能ですが、今回、親商品を非表示にする機能が追加されました。具体的には、「表示件数:100件」、「公開状態:公開のみ」、「子商品の表示:通常商品以外」を設定することで、各規格ごとの子商品の在庫数のみが表示されるようになります。アップデート版はサイト(/soycms/soyshop/)からダウンロード可能です。
/** Geminiが自動生成した概要 **/
SOY Shopの顧客管理機能を活用し、新潟県司法書士会の会員検索サイトを構築。標準機能とプラグイン(ユーザーカスタムサーチフィールド、顧客グループ、顧客住所GoogleMaps連携、ストレージ)を組み合わせ、簡裁代理権などのカスタム項目や事務所情報、地図連携を実現。管理画面は不要な注文・商品関連機能を非表示化し、会員管理に最適化。カート・マイページ機能も無効化。都道府県の標準設定を新潟県に設定するなど、ユーザビリティも向上。構築手順を紹介しつつ、検索結果・詳細ページ作成については問い合わせを促している。
/** Geminiが自動生成した概要 **/
SOY Shopの管理画面の新着ページに表示される「最近更新した商品」の表示件数を変更できるプラグインが開発されました。従来は5件固定でしたが、プラグインの設定画面で自由に件数を設定可能になりました。また、更新履歴のない商品は表示されないよう改善されました。このプラグインは、新着ページのコンテンツをプラグイン化することで実現しており、表示内容のカスタマイズを容易にしています。ダウンロードはsaitodev.co/soycms/soyshop/ から可能です。
/** Geminiが自動生成した概要 **/
SOY ShopのPAY.JP定期課金モジュールがアップデートされ、管理画面から顧客の定期課金プラン変更が可能になりました。顧客詳細画面でプラン変更やキャンセル操作が行えます。プランは商品情報としてSOY Shop内で作成・管理します。ただし、商品情報の編集回数が多い場合、プラン一覧取得に不具合が生じる可能性があります。
このモジュールを活用することで、SOY CMSと連携した会員制有料ブログや、SOY Mailと連携した有料メルマガの運営が容易になります。最新版はsaitodev.co/soycms/soyshop/からダウンロード可能です。
/** Geminiが自動生成した概要 **/
宮城県涌谷町の畑で見つかった石の表面に付着した土を観察し、土壌の成り立ちを考察している。排水工事で掘り出された石の表面には、薄く剥がれた層と赤茶色の層が見られた。剥がれた層は畑の土壌と似ており、赤茶色の層はピートモス(脱水した泥炭)を想起させ、土壌インベントリーの情報を参照すると、この地域は表層が無機質、中間層が泥炭であることがわかる。石の表面の層が無機質の表層、赤茶色の層が泥炭の中間層だと推測し、泥炭層は圧縮されている可能性を示唆している。涌谷町の土壌は、石の表面に表層と中間層が堆積した様子から、その成り立ちを窺うことができる。
/** Geminiが自動生成した概要 **/
さくらインターネットの共有サーバーでLet's Encryptを使って簡単に常時SSL化する方法が紹介されています。コントロールパネルから数クリックで設定でき、20分ほどで完了します。SOY CMS利用者は、追加の設定が必要です。記事内の画像パスがHTTPのままになっている場合、ブラウザで警告が表示されるため、SOY CMSの設定画面からサイトURLをHTTPSに変更する必要があります。 記事本文中の画像パスもHTTPSに書き換えるか、.htaccessでリダイレクト設定を行うことで対応できます。 これらの対応により、サイト全体をHTTPSでアクセスできるようになり、セキュリティとSEO効果の向上が期待できます。
/** Geminiが自動生成した概要 **/
SOY Shop用Facebookログインプラグインが開発されました。管理画面で設定後、マイページログイン画面にFacebookログインボタンが表示されます。クリックするとFacebookログイン画面が開き、ログイン後にSOY Shopで新規会員登録とログインが行われます。既に登録済みの場合はログインのみ。シンプルな機能ですが、拡張性も考慮されています。プラグインはsaitodev.co/soycms/soyshop/からダウンロード可能です。
/** Geminiが自動生成した概要 **/
SOY Shop用Googleサインインプラグインが開発されました。このプラグインをインストール・設定すると、マイページログイン画面にGoogleログインボタンが表示され、クリックでGoogleアカウントでのログイン・新規登録が可能になります。既存ユーザーはログイン、新規ユーザーは登録後ログインとなります。シンプルな機能ですが、今後の拡張が予定されています。ダウンロードはsaitodev.co/soycms/soyshop/ から可能です。
/** Geminiが自動生成した概要 **/
SOY Shop用LINEログインプラグインが開発されました。このプラグインをインストール・設定すると、マイページログイン画面にLINEログインボタンが表示されます。ボタンクリックでLINEログイン画面に遷移し、ログインするとSOY Shopサイトにリダイレクトされ、新規会員登録とログインが自動で行われます。既にLINE連携済みの会員はログインのみ行われます。現在は基本的なログイン機能のみですが、今後の拡張が予定されています。プラグインはsaitodev.co/soycms/soyshop/からダウンロード可能です。
/** Geminiが自動生成した概要 **/
SOY Shop用のPAY.JPクレジットカード支払いモジュールが開発され、無料で簡単にクレジットカード決済を導入できるようになった。PAY.JPは初期費用・月額固定費不要のプランもあり、導入障壁が低い。モジュールの利用には、PAY.JPでアカウント作成後、APIキーを取得し、SOY Shop管理画面のモジュール設定に入力する。設定完了後、購入画面でクレジットカード支払いが選択可能になる。カード情報非通過にも対応済み。詳細はサイト(saitodev.co/soycms/soyshop/)で確認できる。定期課金モジュールも提供されている。
/** Geminiが自動生成した概要 **/
SOY Shopの顧客グループプラグインで、顧客登録画面の勤務先項目の表示・非表示設定が追加されました。顧客グループで勤務先を管理する場合、標準の勤務先項目は二重登録の原因となるため、非表示設定が有用です。BtoCの物販サイト等でも勤務先情報が不要な場合に活用できます。非表示設定は管理画面の基本設定で行います。この更新により、顧客情報の入力操作が簡素化され、クライアントへの納品時にも混乱が避けられます。アップデート版はsaitodev.coからダウンロード可能です。
/** Geminiが自動生成した概要 **/
SOY Shopが、特定都道府県のみで商売を行うネットショップ向けに、住所登録画面の初期設定で県を選択できる機能を追加しました。 管理画面の基本設定で都道府県を指定すると、顧客が個人情報を入力する際、住所欄の県が予め選択された状態で表示されます。 これにより、地域限定のショップ運営がよりスムーズになります。 最新版のパッケージはsaitodev.co/soycms/soyshop/ からダウンロード可能です。
/** Geminiが自動生成した概要 **/
Node.jsアプリをサーバ再起動後も自動的に起動し、かつ実行中にエラーで停止しないようにする方法。foreverライブラリを利用し、`npm install -g forever`でインストール。`forever start /path/to/app.js`でアプリを起動・永続化。`@reboot /usr/local/bin/forever start /path/to/app.js`をcronに登録することで、サーバ再起動時に自動的にアプリが起動するようになる。
/** Geminiが自動生成した概要 **/
UbuntuサーバーでNode.jsアプリを再起動する際、cronで@reboot時に実行するとデータベースファイルのパスがずれる問題が発生した。相対パス指定では実行ディレクトリが変わるため、`./_module/db.js` や `./db/sqlite.db` のような記述は`index.js`からの相対パスではなく、実行時のカレントディレクトリからの相対パスとして解釈されていた。これを解決するために、`__dirname` を使用して `index.js` のあるディレクトリを確実に取得し、`__dirname + '/_module/db.js'`、`__dirname + '/db/sqlite.db'` のように絶対パスを指定することで、どのディレクトリから実行してもデータベースに接続できるように修正した。
/** Geminiが自動生成した概要 **/
アップラインの会議室にて、ネットメディア運営者向けにVPSサーバでのWebサーバ構築ハンズオンを実施。お名前.comドメインのVPSサーバへの紐付けから、Apache2.4、PHP7、Let's Encrypt(常時SSL)、HTTP/2を用いたWebサーバの構築までを体験。一見難解なVPSサーバも、手順に沿ってコマンドを実行すれば、SSL設定などはむしろ容易。この機会により高速・安全なWebサイト運営を目指せる。関連として、当サイトもHTTP/2対応で高速化を実現した事例を紹介。
/** Geminiが自動生成した概要 **/
Socket.IOで作成したチャットアプリでXSS脆弱性対策を実施した。HTMLタグを入力するとエスケープされずに表示されてしまうため、`xss-filters`ライブラリを導入。`npm install xss-filters`でインストール後、サーバーサイドのメッセージ送信部分で`xssFilters.inHTMLData()`を用いて送信メッセージをフィルターした。その結果、HTMLタグがエスケープされて表示されるようになり、XSS攻撃を防ぐことができた。
/** Geminiが自動生成した概要 **/
SOY Shop用の顧客グループ分けプラグインを開発しました。顧客ごとにグループを設定し、グループ別に顧客一覧表示が可能になります。顧客管理画面にはカスタムサーチフィールドも追加し、高度な検索機能を提供します。開発の背景には、顧客管理の効率化と多様な検索ニーズへの対応があります。このプラグインを含むパッケージはsaitodev.coからダウンロード可能です。カスタムサーチフィールドの構築に関する詳細は、サイト内の関連記事を参照ください。 カタログサイト構築にも活用できる機能です。
/** Geminiが自動生成した概要 **/
Socket.IOで個別チャットを実現するため、namespacesを利用した検証が行われた。サーバー側では"hoge"と"huga"二つのnamespacesを作成し、クライアント側ではランダムにどちらかに接続するよう変更。結果、同じnamespaceに接続したクライアント間でリアルタイムなチャットが可能になった。namespacesによる個別チャットの可能性が示されたが、roomによる実現方法や動的なグループチャット作成機能の課題が残されている。
/** Geminiが自動生成した概要 **/
Node.jsとSocket.IOで作ったチャットアプリに入力中表示を追加する方法を紹介しています。server.jsでは`start typing`と`stop typing`イベントを定義し、`socket.broadcast.emit()`で自身以外の全ユーザーに通知します。`index.html`では、これらのイベントをリスニングし、入力開始時に`start typing`イベントを発火、入力終了・送信時に`stop typing`イベントを発火します。受信したイベントに応じて、画面に「〇〇が入力中」と表示・非表示を切り替えます。これにより、リアルタイムな入力状況を共有できるチャットアプリが実現できます。
/** Geminiが自動生成した概要 **/
公式パッケージ更新再開に伴い、サイトへの問い合わせが増加した一方、PHPの古いバージョン(PHP5.5系以前)での不具合報告も多い。セキュリティサポートが終了した古いPHPバージョンは重大な脆弱性を持つため、これらの環境での不具合修正は行わない。問い合わせフォームから報告する際は、PHPのバージョン明記が必須。バージョン確認方法は、SOY CMS(1系・3系)共に管理画面にログインし、「ようこそSOY CMSへ!」から「サーバー情報」→「PHP Info」タブで確認できる。
/** Geminiが自動生成した概要 **/
Node.jsとSocket.IOを用いたチャットアプリ構築後、Let's Encryptで常時SSL化する方法を解説。自己署名証明書ではブラウザ警告が出るため、無料のLet's Encryptを利用。Certbotによる証明書取得手順、Nginxの設定変更(SSL設定追加、httpトラフィックのhttpsリダイレクト)を説明。 Socket.IOのサーバー側コード修正では、httpsオプションを追加し、取得した証明書と秘密鍵を指定。これにより、チャットアプリがセキュアなhttps接続で利用可能になる。
/** Geminiが自動生成した概要 **/
ASUS TransBook T304UAのキーボードが突然使えなくなった場合の対処法。Windowsにログイン後、スタートメニューから「デバイス マネージャー」を開く。キーボードが認識されている場合、それをアンインストールし、PCを再起動する。これでキーボードが再び使えるようになるはずだ。もしデバイス マネージャーでキーボードが認識されていない場合は、物理的な故障の可能性が高いため、修理に出すのが賢明である。
/** Geminiが自動生成した概要 **/
SOY CMSのブロックで、タイトルリンクを外部サイトに設定する方法を紹介します。まず、カスタムフィールドアドバンスドをインストールし、リンクタイプのフィールド(例:out_site_link)を追加します。記事投稿時に、このフィールドに外部サイトのURLを入力します。次に、ページテンプレートのブロック内にあるタイトル出力部分の`<a>`タグに、`cms:id="out_site_link"`属性を追加します。例:`<a cms:id="out_site_link"><cms:id="title_plain" /></a>`。これで、ブロックのタイトルが指定した外部サイトへのリンクになります。この方法は、ブログページ専用の`b_block:id="entry"`や`b_block:id="entry_list"`内でも同様に利用可能です。
/** Geminiが自動生成した概要 **/
SOY CMSの常時SSL化後、記事内の画像パスがhttpのままとなり、エラーが発生する問題を解決するプラグインが作成されました。記事内の画像はhttpで始まる絶対パスで挿入されるため、手動またはデータベース操作で修正が必要ですが、このプラグインを使えば記事内の画像パスを一括でスラッシュから始まる絶対パス(例:/site/files/hoge.jpg)に変換でき、常時SSLに対応できます。プラグイン名は「画像URL変換プラグイン」で、saitodev.co/soycms/からダウンロード可能です。
/** Geminiが自動生成した概要 **/
農研機構の「日本土壌インベントリー」は、緯度経度で土質を検索し、詳細情報を提供する画期的なWebサービスです。これにより、訪れたことのない地域の土壌特性を把握し、栽培計画に役立てることが可能になります。
さらに、産業技術総合研究所の「日本シームレス地質図」と組み合わせることで、土壌の母岩や地下水に溶け込む養分まで推測でき、より深い土壌理解に繋がります。記事では、土壌データのアプリケーション連携の課題に触れつつ、京都・京北地域の黒ボク土を例に、地質情報との連携による詳細な土質分析の可能性を具体的に考察しています。
/** Geminiが自動生成した概要 **/
Apacheサーバーのバージョン表示はセキュリティリスクとなるため、非表示設定が推奨されています。Ubuntu 16.04, Apache 2.4.27環境では、`security.conf` 内の `ServerTokens` を `OS` から `Prod` に、`ServerSignature` を `Off` から `On` に変更し、Apacheを再起動することでバージョンを非表示にできます。設定変更後、デベロッパーツールや404ページでApacheのバージョンが表示されなくなっていることを確認します。
/** Geminiが自動生成した概要 **/
SOY CMSの標準ページでブログページのサイドバー(b_block)を使えるようにするモジュールを追加しました。標準では検索結果ページなどでb_blockが使えず、不便でした。このモジュールは `<!-- cms:module="common.blogparts" cms:blog="ブログID" -->` で囲むだけで、指定ブログのb_blockが使用可能になります。ブログIDはブログ詳細画面のURL末尾から取得します。カテゴリ一覧、月別アーカイブ、最近の記事/コメント/トラックバック一覧などに対応。Gravatar連携は別プラグイン推奨。パッケージはsaitodev.co/soycms/からダウンロード可能です。
/** Geminiが自動生成した概要 **/
SOY Shopはカテゴリ向けカスタムサーチフィールドを追加。既存のカスタムサーチフィールドに統合し、カテゴリ詳細検索を強化しました。これにより、親子関係を超え、特定の条件を満たす複数カテゴリに紐付く商品を検索可能に。より詳細な商品検索フォームの設置を実現します。新機能は公式サイトで提供中です。
/** Geminiが自動生成した概要 **/
アミノ酸液肥には動物性と植物性があり、それぞれゼラチン、サトウキビ(黒糖肥料)由来である。ゼラチン由来の動物性肥料はアミノ酸含有量が80%以上と高く、炭水化物はほぼない。一方、黒糖肥料由来の植物性肥料はアミノ酸含有量は少ないが、カロリーとミネラルが豊富。特にカリウム含有量は高く、根張りに効果的。つまり、動物性肥料はアミノ酸を直接供給したい場合に、植物性肥料はアミノ酸に加え、カロリーとミネラルも補給したい場合に適している。植物性肥料は根張りを意識した施肥が効果的。
/** Geminiが自動生成した概要 **/
SOY CMS用の人気記事一覧プラグインが新たに開発されました。 ブログ記事詳細ページの表示回数をカウントし、サイト内の全ブログを集計してランキング表示します。表示時間による重み付けなどは行いません。プラグインの設定方法は画像付きで詳細ページに記載されています。最新版を含むパッケージはsaitodev.co/soycms/からダウンロード可能です。
/** Geminiが自動生成した概要 **/
SOY CMSの記事詳細ページで、同じカテゴリの記事一覧を表示する「同一カテゴリーの記事一覧ブロックプラグイン」が開発されました。このプラグインは、SOY CMSのプラグインブロック上で動作し、ブログページの記事ページでのみ機能します。プラグインブロックの使い方については、別記事「SOY CMSでプラグインブロックを追加してみた」を参照ください。ダウンロードはsaitodev.co/soycms/ から可能です。
/** Geminiが自動生成した概要 **/
SOY Shop 1.17.4はPHP7非対応、常時SSL未対応、税率計算の誤りが未修正のまま公開されたため、筆者はこれらの問題を修正。公式版の差分をマージした独自パッケージ「SOY CMS 1.17.4p7.X」をsaitodev.coで配布開始しました。このバージョンではオーダーカスタムフィールドの表示不具合も修正されています。カート部分の修正が多いため、バージョンアップの際は一部プラグインが動作しなくなる可能性があり、注意が必要です。
/** Geminiが自動生成した概要 **/
SOY Shopの商品ごと送料設定モジュールに、標準送料設定機能が追加されました。以前作成したモジュールでは、商品ごとに送料を設定しない場合、送料が0円になる問題がありました。今回のアップデートで、管理画面に標準送料設定項目が追加され、商品ごとの設定がない場合はこの標準設定が適用されるようになりました。これにより、商品追加時の手間が軽減され、送料設定漏れによる0円表示も防げます。アップデート版はサイト(https://saitodev.co/soycms/soyshop/)からダウンロード可能です。
/** Geminiが自動生成した概要 **/
SOY Shopで、通常価格とセール価格が同じ場合にセール価格を非表示にする機能が追加されました。セール価格が通常価格と同一でも登録必須であるSOY Shopの仕様に対応し、表示の重複を避けるためです。
新タグ`cms:id="is_normal_price_diff_from_sale_price"`を使用すると、価格が異なる時のみセール価格も表示され、同じ場合は通常価格のみ表示されます。これにより商品ページの見栄えが向上し、消費税別表示モジュールとも連携可能です。最新版はダウンロード提供されています。
/** Geminiが自動生成した概要 **/
SOY Shopのサイトマッププラグインに、任意のURLを手動登録する機能が追加されました。カスタムサーチフィールドによる商品一覧ページなど、自動生成されないページをサイトマップに含めることが可能になります。管理画面でURLと最終更新日時を登録すると、サイトマップの末尾に追加出力されます。この機能はカスタムサーチフィールド以外にも、SOY CMSやHTMLファイルで作成されたページにも活用できます。更新版パッケージはサイトからダウンロード可能です。カスタムサーチフィールドは、高度な検索フォームや複数カテゴリのような設定を可能にし、カタログサイト構築にも役立ちます。
/** Geminiが自動生成した概要 **/
京丹後市峰山町二箇で「稲作発祥の地」の旗を発見した著者は、その真偽を確かめようとする。しかし、看板は電気柵の向こうで読めず、アクセスも悪いことから疑問を抱く。丹後地方には徐福伝説があり、京丹後市観光協会のサイトによると、徐福がもたらした技術によって丹後王国が発展したとされている。しかし、なぜ徐福が丹後に辿り着き、文化を伝えたのか、著者は疑問を呈する。地質図を調べると花崗岩質であり、何かを発見したからこそ文化が定着したのではないかと推測し、更なる調査を示唆して終わる。
/** Geminiが自動生成した概要 **/
常時SSL化はSEO上効果がある。GoogleはHTTPSをランキングシグナルとして使用しており、サイトのセキュリティ向上はユーザー体験の向上に繋がるため、間接的にSEO効果が見込める。ただし、HTTPS化自体が劇的なランキング上昇をもたらすわけではない。相対的にHTTPサイトより優位になる程度の影響と考えられる。また、サイト表示速度の向上も期待できるが、適切な設定が必要。常時SSL化は必須事項となりつつあり、SEO対策としてだけでなく、セキュリティ向上とユーザーへの信頼感醸成という観点からも重要である。
/** 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が自動生成した概要 **/
SOY ShopのCSVインポート・エクスポートで0から始まる数字を扱うには、冒頭の0が削除されるのを防ぐ必要があります。LibreOfficeでCSVを編集する際、セル書式設定から「先頭のゼロの値」に桁数を指定することで、0を保持できます。例えば、5桁の数字の場合は「5」を設定します。これにより、SOY Shopへのインポート時に0が削除されずに追加されます。
/** Geminiが自動生成した概要 **/
動画編集ソフトFFmpegとAudacityを使って、動画の音声調整に挑戦した記録。元の動画の音量が小さく、ノイズが多かったため、Audacityで音量増幅とノイズ除去を実施。FFmpegで動画と音声の結合を行い、改善された動画を作成した。具体的には、Audacityで波形を見ながら音量を30dB増幅し、ノイズプロファイルを採取してノイズ除去を2回行った。結果、「サー」というノイズが消え、以前より聞き取りやすい音声になった。
/** Geminiが自動生成した概要 **/
SOY CMSのブログ記事にSOY Shopの商品情報を表示する「SOY Shop商品紹介プラグイン」が、カスタムサーチフィールドの値を出力可能になりました。商品紹介プラグインは、ブログ記事に商品コードを紐づけることで、記事詳細画面に商品情報を表示する機能です。カスタムサーチフィールドは、商品名以外のスペック等で商品検索を可能にするSOY Shopのプラグインです。今回のアップデートにより、商品紹介プラグイン内でカスタムサーチフィールドの値(csf:id)が利用可能になります。最新パッケージはsaitodev.co/soycms/からダウンロードできます。
/** Geminiが自動生成した概要 **/
PHPExcelライブラリを用いたExcelファイル読み込み処理にファイルアップロード機能を追加。$_FILESを利用し、アップロードされたExcelファイル(xls/xlsx)を動的に読み込むよう改修。 フォーム経由でファイルを選択・アップロードすると、セル内の値が表示される。主な変更点は、ファイルアップロードをトリガーとする条件分岐の追加、ファイルパスと拡張子の取得方法の変更、HTMLフォームの追加。これにより、任意のExcelファイルの内容を表示できるようになった。