ブログ内検索

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

ポリフェノールの分解

/** Geminiが自動生成した概要 **/
ポリフェノールは腸内細菌叢で代謝され、最終的に単純な有機酸となる。ケルセチンを例に挙げると、フロログルシノールと3-(3,4-ヒドロキシフェニル)-プロピオン酸に分解され、それぞれ酪酸・酢酸と4-ヒドロキシ馬尿酸へと変化する。4-ヒドロキシ馬尿酸生成過程ではアミノ酸抱合が関わっていると考えられる。この代謝経路は土壌中での分解と類似すると推測される。ポリフェノール豊富な飼料を家畜に与えると糞中ポリフェノールは減少し、土壌改良効果も低下するため、ポリフェノールを含む食品残渣は直接堆肥化するのが望ましい。

 

アルコールとフェノールの違い

/** Geminiが自動生成した概要 **/
アルコールとフェノールの違いは、ヒドロキシ基(-OH)の性質の違いにあります。アルコールのエタノールでは、酸素(O)が水素(H)を強く引き付けるため中性です。一方、フェノールでは、ベンゼン環が酸素を引っ張るため、酸素と水素の結合が弱まり、水に溶けると水素イオン(H+)が解離し酸性を示します。フェノールはこのように水素イオンが解離しやすい性質が、ポリフェノールの生理作用に重要な役割を果たします。

 

ポリフェノールを順に理解する為にエタノールから触れていく

/** Geminiが自動生成した概要 **/
ポリフェノールを理解するため、まずはその構成要素であるヒドロキシ基(-OH)を含むエタノールから解説します。エタノールは消毒液として身近ですが、水に溶けるものの酸としては非常に弱いです。これは、エタノール中のO-H結合が強く、水素イオン(H+)が解離しにくいことを意味します。それでも水に溶けるのは、ヒドロキシ基が水分子と水素結合を作るためです。

 

紫ニンジンの色素は何だ?

/** Geminiが自動生成した概要 **/
紫ニンジンの紫色は、カロテノイドの一種であるフィトエンではなく、アントシアニンによるものです。アントシアニンはブルーベリーにも含まれる色素で、紫色の発色に関与します。一方、フィトエンは無色のカロテノイドです。通常の橙色や黄色のニンジンではアントシアニンの蓄積状況は不明ですが、紫ニンジンが根にアントシアニンを大量に合成することで何か利点があるのかは興味深いところです。

 

黄色いニンジンのカロテノイドは何だ?

/** Geminiが自動生成した概要 **/
黄色いニンジンは、β-カロテンが少ないため、薄い色をしています。記事では、β-カロテンからゼアキサンチンへの変化が示唆されていますが、検索しても確認できませんでした。実際には、黄色いニンジンはα-カロテンの比率が高い品種です。α-カロテンは黄色い色素で、β-カロテンとは異なるカロテノイドです。農研機構の研究によると、ニンジンにはα-カロテンとβ-カロテンが存在し、簡易的に分別定量する方法が開発されています。

 

植物は核酸系旨味成分を合成するか?の続き

/** Geminiが自動生成した概要 **/
植物が旨味成分であるイノシン酸やグアニル酸を合成する仕組みと、その利用可能性について考察しています。植物はATP合成経路でこれらの旨味成分を生成します。さらに、キノコ由来の発根促進物質である2-アザヒポキサンチン(AXH)が、イノシン酸と構造的に類似していることから、植物がAXHをイノシン酸に変換して利用する可能性も示唆されています。このことから、旨味成分豊富な有機質肥料が作物の食味向上に繋がる可能性が示唆されています。

 

Ubuntu23.04でaptのリポジトリを復元する

/** Geminiが自動生成した概要 **/
Ubuntu 23.04でaptのリポジトリ設定を誤って削除したため、apt updateができなくなった問題とその解決策を記述しています。 まず、ソフトウェアとアップデートのGUIツールを使ってリポジトリ設定をデフォルトに戻そうとしましたが、apt-key形式の廃止によりエラーが発生しました。 解決策として、従来の`/etc/apt/trusted.gpg`に格納されていたキーを`/etc/apt/trusted.gpg.d/`ディレクトリ以下に移動し、`/etc/apt/trusted.gpg`を削除することで、エラーを解消しました。

 

Eルチンとは何か?

/** Geminiが自動生成した概要 **/
Eルチンは、酵素処理によって吸収効率を高めたルチンのことです。ルチンはポリフェノールの一種ですが、そのままでは吸収されにくいため、酵素を用いて糖を結合させることで吸収率を向上させています。 具体的には、ルチンの構造の一部であるクェルセチンに1〜6個の糖を付加することで、吸収率が飛躍的に高まります。この酵素処理は人体に悪影響を及ぼすものではありません。 森永製菓のEルチンは、マメ科のエンジュ由来のルチンを使用しており、吸収効率を高めたことにより、健康機能が期待されています。

 

プロテインバーにEルチンを配合する意図は何だ?

/** Geminiが自動生成した概要 **/
プロテインバーにEルチンを配合する目的は、筋肉量の増加を促進するためです。Eルチンは、酵素処理によって吸収率を高めたルチンのことです。ルチンはポリフェノールの一種で、活性酸素を除去する効果があります。 Eルチンを摂取すると、運動時の過剰な酸化ストレスを軽減し、筋疲労を抑えることで、筋肉量の増加を助ける可能性があります。 ただし、Eルチンによる筋肉増加のメカニズムはまだ完全には解明されていません。

 

【SEO対策】Bootstrapを利用しつつ、Core Web Vitalsのスコアを改善する

/** Geminiが自動生成した概要 **/
この記事は、Bootstrapを用いてWebサイトのCore Web Vitalsスコアを向上させる方法を解説しています。具体的には、BootstrapのボタンコンポーネントのCSSのみを抽出し、ページHTMLにインライン挿入する方法を紹介しています。 手順としては、Bootstrapのソースファイルから必要なSCSSファイルをサイトディレクトリに配置し、SOY CMS側でSCSSコンパイルの設定を行います。これにより、ボタン用のCSSがページに直接記述され、外部ファイルの読み込みが不要になります。 さらに、生成されたCSSを圧縮してインライン化することで、ページ表示速度の向上を目指します。ただし、毎回SCSSをコンパイルするのは非効率なので、CSSやページ全体のキャッシュ化が推奨されています。

 

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

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

 

さくらインターネットのVPSでUbuntuのアップグレード後にapt updateが使えなくなった時の対処

/** Geminiが自動生成した概要 **/
さくらインターネットのVPSでUbuntu 20.04から22.04にアップグレード後、`sudo apt update`が使えなくなり、pingも通らなくなった問題の解決策です。 原因は`/etc/resolv.conf`内のnameserver設定にあり、`127.0.0.53`を`8.8.8.8` (Google DNS) に変更することで解決しました。 ただし、`/etc/resolv.conf`の直接編集は再起動時に初期化されるため、正しくは`/etc/systemd/resolved.conf`に`DNS=8.8.8.8`を追記し、`sudo systemctl restart systemd-resolved`を実行する必要があります。

 

MCreator 2022.2を使ってみた

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

 

Minecraft: Pi Edition: RebornのSDKを使ってみる

/** Geminiが自動生成した概要 **/
Minecraft: Pi Edition: Reborn (MCPI) の拡張SDKを使い、ターミナルに"Helloworld"を出力する手順を紹介しています。 まずMCPI++ 2.4.3-3をインストールし、C++コンパイラなどの開発環境を整えます。 次に、"Helloworld"を出力するコードを記述した"hello.cpp"を作成し、共有ライブラリとしてコンパイル、MCPIのmodsディレクトリに配置します。 MCPIを実行すると、起動時に"Helloworld"が出力されます。これは、共有ライブラリ内の特定の関数がエントリポイントとして機能するためです。 記事では最後に、ゲーム画面に影響を与えるコードの作成に意欲を示しています。

 

養液栽培の養液の交換回数を減らすことは可能か?の続き

/** Geminiが自動生成した概要 **/
養液栽培で養液交換を減らすには、根から分泌される物質の影響を抑制する必要がある。根からは二酸化炭素、剥離した細胞、粘液質、有機酸、フラボノイド、無機イオンなどが分泌される。これらの物質が養液中に蓄積されると、溶存酸素の低下や鉄の沈殿などを引き起こし、根腐れのリスクを高める可能性がある。養液交換を減らすには、これらの分泌物の影響を最小限に抑える技術開発が求められる。

 

Rasbperry Piにゲームパッドを繋ぎ、マインクラフトを操作する

/** Geminiが自動生成した概要 **/
この記事は、Raspberry PiまたはUbuntuに接続したLogicool F310ゲームパッドを使用してMinecraft: Pi Edition: Rebornを操作する方法を解説しています。 Windows PC用のゲームパッドをLinux環境で動作させるため、joystickとjstest-gtkドライバをインストールします。jstestコマンドでゲームパッドが認識されていることを確認後、qjoypadをインストールし、GUIで各ボタンにキーボードやマウスの操作を割り当てます。 記事では、マイクラリボーン用に設定したボタン割り当てを紹介し、動作確認を行うよう促しています。

 

電圧について整理する

/** Geminiが自動生成した概要 **/
この記事では、電圧を分かりやすく解説しています。電圧とは「電気を流そうとする力」であり、注射器の例えを用いて説明されています。注射器を押す力が強ければ、水(電流)の勢いも増すように、電圧が高ければ電流も強くなります。さらに、水車の例えを用いて、電圧が高いほど水(電流)の勢いが増し、歯車(電気機器)の動きが活発になることを示しています。電圧の理解を深めるために、抵抗についても次回以降解説される予定です。

 

NodeMCUにファームウェアをインストールする

/** Geminiが自動生成した概要 **/
ESP8266 NodeMCUモジュールにMicroPythonファームウェアをインストールするには、esptoolツールを使用します。ファームウェアのbinファイルをダウンロードし、`esptool`コマンドを使用してフラッシュを消去してから、新しいファームウェアを書き込みます。 ファームウェアがインストールされたら、Thonny IDEを使用してLチカプログラムを作成します。ThonnyをESP8266に接続し、`main.py`という名前でプログラムを保存します。プログラムを実行すると、NodeMCUのLEDが点滅します。

 

煮出しした麦茶が泡立った

/** Geminiが自動生成した概要 **/
麦茶を煮出し、冷やしたものを容器に注ぐと泡立つことがある。これはサポニンによる界面活性作用だけでなく、麦茶に含まれるアルキルピラジン類の化合物も影響している。カゴメの研究によると、この化合物は焙煎時のメイラード反応で生成され、血液流動性向上作用を持つ。つまり、麦茶の泡立ちと香ばしさは、健康 benefits に繋がる成分によるものと言える。メーカーによって泡立ち具合が違うのは、アルキルピラジン類の含有量が違うためと考えられる。

 

Raspberry PiをChromebookから操作する

/** Geminiが自動生成した概要 **/
プログラミング教室でキーボード・ディスプレイ無しにRaspberry Piを使うため、ChromebookからVNC接続を試みた。Raspberry PiでVNCサーバーを有効化し、ChromebookにVNC Viewerをインストール、IPアドレス指定で接続に成功。しかし、ディスプレイ未接続時は起動時にウィンドウシステムが立ち上がらずエラー発生。解決策として、raspi-configで画面解像度を設定することで、ディスプレイ無しでもVNC接続できるようになった。

 

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

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

 

シダ植物を見分ける為に羽片を学ぶ

/** Geminiが自動生成した概要 **/
シダ植物を見分ける第一歩として、葉身の切れ込み具合に着目する必要がある。シダの葉身にある切れ込みを羽片と呼ぶ。アオネカズラのように大きな羽片に深裂がある葉身を一回羽状深裂、更に細かく羽片が分かれるもの、コタニワタリのような切れ込みがない単葉のものなど、羽片の状態はシダの種類によって様々である。羽片、小羽片、二次小羽片と、切れ込みが深くなるにつれ名称も変わる。シダの同定には、これらの羽片の形状を理解することが重要となる。

 

ヤマブキの花弁の色素は何だ?

/** Geminiが自動生成した概要 **/
ヤマブキの花弁の色素について調べた結果、岐阜大学の資料ではカロテノイドとされているが、和ハーブ協会のサイトではヘレニエン、ルチン、パルミチン酸と記載されていた。パルミチン酸は脂肪酸であり、ルチンは蕎麦に含まれるフラボノイドの一種。ヘレニエンは光や酸素に不安定なカロテノイドで目薬に利用される。ヤマブキとルチン、ヘレニエンの関連性は情報が少なく不明。花弁の先端の白化はヘレニエンの不安定性と関連があるかもしれないが、確証はない。

 

菌の生活環と不完全菌

/** Geminiが自動生成した概要 **/
この記事は、菌類の二つの生活環ステージ(有性生殖を行うテレオモルフと無性生殖を行うアナモルフ)と、それに由来する命名の混乱について解説しています。DNA解析以前は別種とされていたテレオモルフとアナモルフに異なる名前が付けられ、特に無性生殖を行うアナモルフは「不完全菌」と呼ばれていました。現在ではDNA解析により同種と判明しても、産業上の重要性からアナモルフの名前が使用されるケースがあり、混乱が生じています。例としてトリコデルマ(アナモルフ)とボタンタケ(テレオモルフ)の関係が挙げられ、両者の名前を知ることで、目視しづらい菌糸だけでなく、子実体(キノコ)の形から土壌中の存在を推測できるようになります。関連として、マッシュルーム栽培における培土の微生物叢の重要性も示唆されています。

 

トリコデルマを理解する為に古い分類法についてを学ぶ

/** Geminiが自動生成した概要 **/
トリコデルマ理解のためには菌類の分類の歴史的変遷を学ぶ必要がある。トリコデルマ属など一部の菌類は、無性生殖段階で見つかった「不完全菌」として分類され、後に有性生殖段階が確認されたことで完全世代(子のう菌類のツノタケ属など)に分類し直された。しかし、歴史的に「不完全菌」として認識されていた名前も残っているため、トリコデルマのような菌は複数の学名を持つ。古い分類法と新しい分類法の両方を理解することで、トリコデルマのような菌の複雑な命名の理由が理解できる。例えば、アカボタンダケは不完全世代では*Trichoderma viride*、完全世代では*Hypocrea rufa*と呼ばれ、名前からは同一種と分かりづらい。国立科学博物館の『菌類のふしぎ 第2版』は、新旧の分類法を解説し、このような命名の経緯を理解するのに役立つ。

 

php-webdriverでcontent-visibility:auto;を利用しているページのリンクをクリックする

/** Geminiが自動生成した概要 **/
php-webdriverで`content-visibility:auto;`を使用したサイトのリンクをクリックする際、遅延読み込みにより要素が見つからない問題が発生する。`getLocationOnScreenOnceScrolledIntoView()`だけでは不十分で、一度スクロール後にページトップに戻り、再度徐々にスクロールすることで要素を確実に表示させクリックを成功させる方法を紹介。これはページ表示速度の高速化と遅延読み込みによる影響への対策。また、SeleniumによるアクセスをGoogle Analyticsから除外する方法についても言及し、誤った計測を防ぐための設定についても触れている。さらに、関連するelement click interceptedエラーへの対処法の記事へのリンクも提供。

 

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

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

 

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

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

 

PHPのハッシュテーブルを見る

/** Geminiが自動生成した概要 **/
PHPのハッシュテーブルの実装を調査した。`HashTable`は`_zend_array`構造体で定義され、`Bucket`構造体の配列`arData`を持つ。`Bucket`は値(`zval`)、ハッシュ値(`h`)、キー(`key`)を保持する。`zval`は`zend_value`共用体を含み、関数ポインタ`zend_function`もそのメンバの一つ。`zend_function`自体は共用体で、内部関数やユーザー定義関数の情報を保持する構造を持つ。関数登録は`HashTable` - `Bucket` - `zval` - `zend_value` - `zend_function`と複数のデータ構造を介して行われることが判明した。

 

PHPの関数の登録

/** Geminiが自動生成した概要 **/
PHPの関数登録について`get_defined_functions`関数を用いて調査。ユーザー定義関数は'user'配列に、ビルトイン関数は'internal'配列に格納される。関数の定義箇所に関わらず、実行前に`get_defined_functions`を実行すると、定義済みの全関数が取得できる。これはPHPがマルチパス方式を採用し、実行前にファイル全体を読み込んで関数登録を完了させているためと考えられる。

 

SOY InquiryでRCE(Remote Code Execution)の脆弱性に対応しました

/** Geminiが自動生成した概要 **/
SOY Inquiry 2.0.0.3以前のバージョンにリモートコード実行(RCE)の脆弱性が見つかりました。これは非常に危険な脆弱性であり、全ての旧バージョンが影響を受けます。早急に最新版へアップデートしてください。対応版は下記URLからダウンロード可能です。 https://saitodev.co/soycms/soyinquiry/

 

PHPのzvalと変数の作成を見る

/** Geminiが自動生成した概要 **/
PHPの変数はzval構造体とzend_value共用体で表現される。zvalは型情報を持ち、zend_valueは実際の値を保持する。整数、文字列、配列など、型の違いはzend_valueの異なるメンバを使用することで実現される。変数名とzvalの関連付けはシンボルテーブルを介して行われる。`$a = 1`のような代入では、zvalが初期化され、zend_valueの`lval`に1がセットされ、シンボルテーブルに"a"というキーでzvalへのポインタが登録される。これにより、変数名から対応する値にアクセスできるようになる。

 

PHPのOPCacheで生成されるキャッシュを見る

/** Geminiが自動生成した概要 **/
PHPのオペコードを確認するにはVLD拡張モジュールを使用します。VLDはPHPスクリプトをコンパイルし、生成されたオペコードを人間が読める形式で出力します。出力には、各オペコードの行番号、オペコードの種類、オペランド、結果などが含まれます。これにより、PHPスクリプトの実行方法を詳細に理解し、パフォーマンスのボトルネックを特定するのに役立ちます。VLDのインストールはPECLを利用し、php.iniで`vld.active=1`などを設定することで有効化できます。関数`vld_dump()`で特定の関数のオペコードを出力することも可能です。

 

ケイ酸苦土肥料から稲作を模索する

/** Geminiが自動生成した概要 **/
稲作において、カルシウム過剰を避けつつ苦土を補給できる「ケイ酸苦土」が推奨されます。重要なのは、植物が利用できるケイ酸が、石英のような風化しにくいものと異なり、風化しやすいケイ酸塩鉱物である点です。ケイ酸苦土の原料である蛇紋岩は、風化しやすいかんらん石から変質した蛇紋石を主成分とします。蛇紋岩が豊富な上流からの水が、非コンクリート水路を通じて田んぼに供給される環境であれば、猛暑下でも稲の登熟不良を防ぐ効果が期待されます。しかし、このような理想的な自然環境は、広範な水田地域では稀であると結論付けています。

 

フラボノイドに意識を向けて

/** Geminiが自動生成した概要 **/
植物は紫外線から身を守るためフラボノイドを合成します。強い紫外線下で特異的に増えるフラボノイド(ケルセチンなど)は、UVカットのビニールハウス栽培では合成量が減る可能性があると指摘。ケルセチンは抗酸化・抗ウイルス効果も期待されるため、筆者は資材に頼らない栽培が健康に繋がると提唱しています。

 

黄色い色素のフラボノイド

/** Geminiが自動生成した概要 **/
アサガオの青色はアントシアニン色素によるが、幻の黄色いアサガオの謎をフラボノイドから探る。フラボノイドは黄色い化合物の語源を持ち、ミヤコグサの黄色はフラボノイドの一種ケルセチンによる。アサガオはケルセチン合成経路を持つものの、アントシアニン合成が優先される。淡黄色のアサガオはアントシアニン合成が欠損した変異体と考えられ、ケルセチン合成の増加で黄色が濃くなる可能性がある。アサガオの鮮やかな青はアントシアニンと補助色素のフラボノールの共存によるものかもしれない。

 

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

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

 

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

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

 

ミヤコグサの花弁の色はなぜ珍しいのだろう?

/** Geminiが自動生成した概要 **/
ミヤコグサの花弁は黄色と赤色が混在し、珍しい。黄色はフラボノイドの一種ケルセチンの配糖体とカロテノイドに由来する。赤色はカロテノイドの酸化によるものと考えられる。ケルセチンの配糖体は安定しているが、カロテノイドは酸化されやすい。花弁形成後、時間の経過とともにカロテノイドが酸化し赤くなるため、黄色と赤が混在する。フラボノイドとカロテノイドの組み合わせを持つ花は少なく、これがミヤコグサの花弁の色の珍しさの一因と考えられる。ケルセチンはハチミツにも含まれるフラボノイドで、人体への良い影響も示唆されている。

 

gRPC for PHPのインストール

/** Geminiが自動生成した概要 **/
この記事はUbuntu 19.10環境でGoogle Ads APIを使用するためのgRPC for PHPのインストール手順を解説しています。PEAR/PECL、Composerをインストール後、`pecl install grpc`、`pecl install protobuf`コマンドでgRPCとprotobufをインストールします。その後、`/etc/php/7.4/cli/php.ini`と`/etc/php/7.4/fpm/php.ini`両方に`extension=grpc.so`と`extension=protobuf.so`を追加し、`phpinfo()`や`php -m`でインストールを確認します。記事ではComposerのインストール手順も解説していますが、gRPCのインストール自体はComposerを使わずPECL経由で行っています。

 

SOY CMSの静的化プラグインで高速化

/** Geminiが自動生成した概要 **/
SOY CMSの静的化プラグインが改良され、ページ単位での静的化設定、全プラグイン実行後の静的化処理、ページ更新時の静的ファイル一括削除、サイトキャッシュ削除時の静的ファイル削除が可能になった。従来の静的化はフロントコントローラやRewriteモジュールの処理を回避することで高速化を実現していたが、今回の改良でさらに柔軟性と効率性が高まった。HTMLキャッシュプラグインと併用することで、標準ページは静的化、ブログページはHTMLキャッシュと使い分け、サーバー負荷軽減に効果的。改良版はsaitodev.coからダウンロード可能。高速化に加え、SEO対策にも有効。

 

SOY CMSのHTMLキャッシュプラグインで高速化

/** Geminiが自動生成した概要 **/
SOY CMSのHTMLキャッシュプラグインは、サイト高速化を実現する強力なツールです。従来の静的化プラグインの欠点を克服し、標準ページを含む全ページをキャッシュ対象としつつ、ページごとにキャッシュの有効/無効を設定できる柔軟性を備えています。これにより、SOY Shop連携など動的なコンテンツを含むページでも最適なパフォーマンスを実現できます。HTMLキャッシュは、PageSpeed Insightsのスコア向上に貢献するだけでなく、メディア露出時の急激なアクセス増加にも対応できる安定性を提供します。内部SEO対策としても有効で、情熱大陸放送後のアクセス集中を乗り切った事例からもその効果が実証されています。パッケージはsaitodev.coからダウンロード可能です。SEO対策に関する詳細はsaitodev.co/category/SEOをご覧ください。

 

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

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

 

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

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

 

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

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

 

【SEO対策】データベースチューニング

/** Geminiが自動生成した概要 **/
SOY Shopのデータベースパフォーマンス改善にはインデックスの見直しが効果的です。 商品点数やアクセス数の増加に伴い、データベースへの負荷が増大し表示速度が低下することがあります。 特に商品検索や絞り込み機能は複雑なクエリを実行するため、適切なインデックスが設定されていないとパフォーマンスに大きな影響を与えます。 インデックスはデータベース内の特定の列に付与されることで、データ検索の高速化を実現します。 SOY Shopでは、商品コードや商品名、公開状態など、頻繁に検索される項目にインデックスを設定することが推奨されています。 しかし、不要なインデックスは更新処理のオーバーヘッドとなるため、適切なインデックスを選択することが重要です。 記事では、phpMyAdminを用いたインデックスの確認方法、SOY Shop管理画面からのインデックス設定方法、そしてインデックス設定の注意点が解説されています。 インデックスを適切に設定することで、データベースの負荷を軽減し、表示速度の向上、ひいてはユーザーエクスペリエンスの向上に繋がるとしています。

 

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

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

 

pickadate.jsでHTML5のrequired属性を使いたい

/** Geminiが自動生成した概要 **/
pickadate.jsでHTML5のrequired属性を使うには、`editable: true`オプションを設定する必要がある。ただし、これによりページ読み込み時にrequiredチェックが実行され、未入力エラーが表示される問題が発生する。これを回避するには、フォームにIDを付与し、クリックイベントでpickadateを初期化するよう変更する。さらに、カレンダー表示のために`pickr.pickadate('open')`も追加する必要がある。これにより、フォームクリック時に初めて初期化とバリデーションが行われるようになり、初期エラー表示の問題が解決する。

 

蛇紋石という名の粘土鉱物

/** Geminiが自動生成した概要 **/
蛇紋石は、蛇紋岩の主成分である珪酸塩鉱物で、苦土カンラン石や頑火輝石が熱水変質することで生成される。肥料として利用される蛇紋石系苦土肥料は、残留物として1:1型粘土鉱物を土壌に残す可能性がある。蛇紋石自身も1:1型粘土鉱物に分類される。1:1型粘土鉱物は、一般的にCECや比表面積が小さく保肥力が低いとされるが、蛇紋石は他の1:1型粘土鉱物と比べて高いCECを持つ。この特性は、土壌への養分供給に影響を与える可能性があり、更なる研究が必要である。

 

Ubuntu19.10でSnapのBracketsのライブプレビューが動作しなかった時の対処

/** 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 CMSでMySQL8系に接続できない時の対処

/** 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の対応までの応急処置。

 

ApacheでLet's Encryptの自動更新する為にCertBotを導入した

/** Geminiが自動生成した概要 **/
Let's Encryptの証明書更新を自動化するため、CertBotを導入した。以前設定したcronでの自動更新が機能せず期限切れメールが届いたため、新しい仕組みに切り替えた。CertBot公式サイトの手順でインストール後、Ubuntu 18.04環境でcronを設定し、毎日2時半に`certbot renew --force-renew`を実行するようにした。Apacheの停止と起動を更新前後に行うように設定し、起動は少し遅らせて実行するようにした。

 

Go言語でQtを扱ってみる on Windows

/** Geminiが自動生成した概要 **/
Windows10でGo言語とQtの開発環境を構築する方法を解説。MSYS2とQtをインストールし、Go言語のパッケージを取得・設定後、サンプルコードを実行する手順を説明。環境変数の設定やQtインストール時のコマンド、Goのパッケージ設定コマンド、サンプルコード実行コマンド、発生したエラーと解決策(libicudt61.dll不足)について記述。

 

Go言語でQtを扱ってみる on Ubuntu

/** Geminiが自動生成した概要 **/
Ubuntu 18.04にGo言語とQtをインストールし、GoでQtアプリケーションを開発する手順を記録した記事です。Go 1.11、Qt 5.11.1をインストールし、QtのサンプルWebブラウザの実行を確認後、GoのQtバインディングパッケージ`github.com/therecipe/qt`をインストールしました。`qtsetup`コマンドでパッケージの準備中に問題が発生しましたが、`generate`終了時点で中断し、サンプルプログラムを実行したところ、正常に動作することを確認しました。

 

JavaScriptのAnalyzerNodeで拾った音の周波数を可視化してみる3

/** Geminiが自動生成した概要 **/
BiquadFilterNodeは、2次セクションを持つデジタルフィルターで、オーディオ信号の変更に使用されます。`type`プロパティでフィルターの種類を指定し、`frequency`でカットオフ周波数または中心周波数を設定します。`Q`プロパティはフィルターの帯域幅を制御します。`gain`は特定のフィルタータイプでのみ使用されます。主なフィルタータイプは、ローパス、ハイパス、バンドパス、バンドストップ、ローシェルフ、ハイシェルフ、ノッチ、オールパスです。ローパスは指定周波数以下の周波数を通過させ、ハイパスは指定周波数以上の周波数を通過させます。バンドパスは特定の周波数帯域を通過させ、バンドストップはその帯域を減衰させます。シェルフフィルターは特定の周波数以上または以下のゲインを調整し、ノッチフィルターは特定の周波数を除去します。オールパスフィルターはすべての周波数を通過させますが、位相を変化させます。

 

JavaScriptのAnalyzerNodeで拾った音の周波数を可視化してみる2

/** Geminiが自動生成した概要 **/
Web Audio APIを用いてマイク入力の音声の周波数を可視化するJavaScriptコード例を紹介している。AnalyzerNodeでFFTを行い、得られた周波数データをcanvasにグラフとして描画する。コードでは、マイクへのアクセス、AudioContextとAnalyserNodeの作成、周波数データの取得と描画処理を解説。実行すると音声入力に応じてリアルタイムに周波数グラフが変化するが、ハウリングが発生しやすい点についても言及している。

 

UbuntuにAndroidのエミュレータを入れる

/** Geminiが自動生成した概要 **/
Ubuntu 18.04にAndroidエミュレータを導入する方法。必要なライブラリをインストール後、Android Studioをダウンロード、インストールし、パスを通す。次に、KVM関連のライブラリをインストールし、ユーザーにKVMの使用権限を与える。Android Studioを再起動し、AVDマネージャーから好みのエミュレータを作成、実行することで、開発機上でAndroidアプリの動作確認が可能になる。

 

トチノキの実のアクとは何か?

/** Geminiが自動生成した概要 **/
トチノキの実のアクの正体は、タンニンとサポニンである。特にサポニンは、界面活性作用で細胞膜を破壊する性質を持ち、人体に毒性がある。このため、生食はできない。しかし、縄文時代の人々は灰汁を用いたアク抜き方法を発見し、トチノキの実を貴重なデンプン源として利用した。サルでさえ食べないトチノキの実を、人は灰の活用によって食料とした。囲炉裏から得られる灰は、暖をとるだけでなく、食料貯蔵にも役立ち、人類の文化発展に貢献したと言える。

 

複合機とGoogleドライブを連携して、出先でFAXの内容を確認する

/** Geminiが自動生成した概要 **/
複合機のFAX受信をGoogleドライブと連携し、ChatWorkで通知する仕組みを紹介。複合機がFAXをPDFでGoogleドライブに共有する機能を活用し、Google Apps ScriptでPDFを特定フォルダに移動、ファイル名と共にChatWorkへ通知する。これにより、外出先でもFAX内容を即時確認でき、紙の無駄や転送の手間を省ける。5分間隔でスクリプトを実行することで、ほぼリアルタイムな通知を実現。設定には、複合機側のGoogleドライブ連携と、スクリプト内のChatWork API設定が必要。

 

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

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

 

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

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

 

米は炊飯時に糊化される

/** Geminiが自動生成した概要 **/
米の美味しさは、デンプンの量よりデンプン分解酵素アミラーゼの効率性に依存する。アミラーゼはタンパク質と補酵素(カルシウムイオン)から成るが、カルシウムは土壌に豊富なので、米の美味しさへの直接的影響は少ないと考えられる。 米は炊飯時に糊化(アルファ化)し、デンプンの水素結合が切れ、酵素が分解しやすくなる。 糊化が進むほど、唾液中の酵素で糖に分解されやすくなり、甘みが増す。 記事では、米の美味しさの鍵となるアミラーゼの効率性、関連する酵素、タンパク質、アミノ酸、補酵素について解説し、糊化に関する論文を紹介している。

 

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

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

 

SOY CMSでサイト用ディレクトリのディレクトリ名を変更したい場合

/** Geminiが自動生成した概要 **/
SOY CMSでサイトディレクトリ(例:site)の名前を変更(例:hoge)するには、まずディレクトリ名を変更後、データベースのSiteテーブルを編集します。site_id、url、pathを新しいディレクトリ名に合わせて変更します。MySQL版ではdata_source_nameは変更不要ですが、SQLite版ではpathと同様にdata_source_nameも変更が必要です。これにより、システムが新しいディレクトリ位置を認識し、サイトが表示されます。記載内容は未検証のため、ご注意ください。

 

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

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

 

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

/** 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関連の修正のためバージョンアップされた。 完全な動作確認はまだだが、エラー発生時は問い合わせフォームから連絡してほしい。

 

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

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

 

Ubuntu版BracketsのBeautifyの設定

/** Geminiが自動生成した概要 **/
BracketsエディタのプラグインBeautifyでPHPファイル保存時の自動改行を停止しようと試みたが、設定変更は断念。PHPの終了タグ`?>`の後の改行が不要だったのが理由。しかし、最近のPHPコード規約では、PHPのみのファイルでは終了タグ自体が不要と知り、全ファイルから`?>`を削除することに。結果として、Bracketsの自動改行挿入設定は変更せずそのままとした。

 

D3.jsの4.X系で折れ線グラフを作成してみた

/** Geminiが自動生成した概要 **/
D3.jsを3系から4系にバージョンアップして折れ線グラフを作成した際の変更点についての記事です。4系ではscale関連の記述方法が変わり、`d3.scale.linear()`が`d3.scaleLinear()`に、`d3.scale.ordinal().rangePoints()`が`d3.scalePoint()`に変更されました。特に`scalePoint()`を見つけるのに苦労したようです。また、`d3.axis.svg.axis()`が`d3.axisBottom()`のようにシンプルになりました。これらの変更点に苦労しつつも、無事にグラフ作成できたことが記述されています。

 

ネットショップの開発に関わっていて一番すごいと感じたサイトについて

/** Geminiが自動生成した概要 **/
オープンソースのネットショップパッケージは自由度が高い反面、軌道に乗った後に様々な問題に直面する。初期の低コストは魅力だが、カスタマイズの自由が仇となり、複雑化・属人化しやすい。機能追加や修正に開発者への依存度が高まり、コストも増加。また、セキュリティ対策やバージョンアップの手間も発生する。さらに、事業拡大に伴うアクセス集中や多言語対応など、予期せぬ課題への対応が必要となる。結果として、運用コストが肥大化し、当初のメリットが失われる可能性がある。長期的な視点で、拡張性・保守性・運用コストを考慮したプラットフォーム選びが重要となる。

 

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

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

 

オイラーの公式をガウス平面に表示してみた

/** Geminiが自動生成した概要 **/
オイラーの公式e^(θi) = cosθ + i*sinθ を検証するために、θに1〜360を代入し、Pythonでガウス平面にプロットした。右辺をプロットすると半径1の円が描かれた。同様に左辺e^(θi)をプロットしても同じ円が得られた。オイラーは右辺を4回微分することで左辺を発見したが、こうして視覚的に確認すると、その発見の凄さが改めて実感できる。

 

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

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

 

Pythonの内包表記

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

 

非殺虫性のBTは人の癌細胞を選択的に破壊する

/** Geminiが自動生成した概要 **/
非殺虫性のバチルス・チューリンゲンシス菌が生成する結晶性タンパク質「パラスポリン」が、ヒトの癌細胞を選択的に破壊することが九州大学の研究で判明した。このタンパク質は、培養した癌細胞を顕微鏡で観察すると破壊していく様子が確認できる。この発見は、以前話題になった遺伝子組み換え作物と土壌微生物の関係性を見直す契機となるかもしれない。土壌微生物が哺乳類に作用するタンパク質を生成する理由は不明だが、パラスポリンの安全性検証が進めば、癌治療や遺伝子組み換え作物の活用に新たな展開が期待される。

 

IP偽装をしてみた

/** Geminiが自動生成した概要 **/
IPアドレス隠蔽のため、StealthyというFirefoxアドオンでプロキシ接続を試した。結果、What Is My IP Address? で確認すると、所在地が隠蔽され「Hide IP」と表示された。仕組みは、プロキシサーバを中継することで、接続先サイトにはプロキシサーバのIPアドレスが表示されるというもの。体感として表示速度が遅くなったため、攻撃目的には不向きと感じた。また、海外のプロキシアクセスを禁止すればサイト攻撃のリスク軽減になる可能性も考えたが、企業のプロキシ利用も多いため、一概に禁止はできないと考察した。

 

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

/** Geminiが自動生成した概要 **/
SOY CMSで総当たり攻撃への対策として、ログイン試行回数制限とアカウントロック機能を実装する方法が解説されている。記事では、PHPでログイン処理をカスタマイズし、データベースにログイン試行回数を記録、一定回数を超えるとアカウントをロックする仕組みを構築している。具体的なコード例も示され、ログイン試行回数の記録方法、ロック時間の管理、管理画面からのロック解除方法などが説明されている。これにより、総当たり攻撃による不正ログインを防ぎ、サイトのセキュリティを高めることができる。さらに、ログイン画面にCAPTCHAを導入することで、ボットによる自動攻撃への対策も強化できる。

 

さくらのVPSにGoの環境を構築してみた

/** Geminiが自動生成した概要 **/
さくらのVPSにGo環境を構築し、アプリケーションサーバを起動した際のメモ。UbuntuにGit, Go, MySQLをインストールし、アプリをビルド、実行した。ポート80での起動はroot権限が必要だったため、`sudo ./app -addr=:80`で実行。バックグラウンド実行は`&`を追加し、停止は`kill -KILL プロセスID`を使用。セキュリティ設定は別途必要。

 

土壌分析アプリsoil2 by Go

/** Geminiが自動生成した概要 **/
Go言語で開発された土壌分析Webアプリ「soil2」の紹介。 入力された土壌分析値をグラフ化し、将来的にはサードパーティアプリとの連携も視野に入れている。Go言語採用理由は、コンパイル言語のためサーバー環境によるコード変更の手間を省き、処理速度の向上も見込めるため。REST APIと管理者機能を実装し、グラフ表示にはChart.jsを使用。当初は身内向け公開予定だったが、最終的にはSOY Shopのマイページ機能に統合された。

 

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

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

 

SOY CMSで総当たり攻撃に対応してみた

/** Geminiが自動生成した概要 **/
SOY CMSのセキュリティ強化として、総当たり攻撃対策機能を追加しました。同一IPからの短期間でのログイン試行を検知し、警告表示を行います。突破された場合は試行回数も表示し、対策のヒントを提供します。将来的にはブラックリストやメール通知機能も検討中。管理画面URLの特定防止対策と合わせて利用することで、より安全性を高めることができます。本機能を含むパッケージはsaitodev.co/soycms/からダウンロード可能です。メール通知機能も追加済みです。

おすすめの検索キーワード
おすすめの記事

Powered by SOY CMS   ↑トップへ