
/** Geminiが自動生成した概要 **/
漫画「ヤンキー君と科学ごはん」で旨味成分の相乗効果に触発され、キノコに豊富なグアニル酸に疑問を持った筆者。グアニル酸はDNAやRNAの主要化合物であるグアノシン三リン酸(GTP)由来だが、なぜキノコに多いのか?Geminiに質問したところ、キノコはRNAを多く含み、乾燥過程でRNAが分解されグアニル酸の前駆体が生成されるためと回答があった。細胞密度や分裂速度からRNA量が多い可能性が考えられ、旨味成分の豊富さに納得した。

/** Geminiが自動生成した概要 **/
漫画「ヤンキー君と科学ごはん」で旨味成分の相乗効果に触発され、キノコに豊富なグアニル酸に疑問を持った筆者。グアニル酸はDNAやRNAの主要化合物であるグアノシン三リン酸(GTP)由来だが、なぜキノコに多いのか?Geminiに質問したところ、キノコはRNAを多く含み、乾燥過程でRNAが分解されグアニル酸の前駆体が生成されるためと回答があった。細胞密度や分裂速度からRNA量が多い可能性が考えられ、旨味成分の豊富さに納得した。

/** Geminiが自動生成した概要 **/
牛糞の初期発酵に関わる真菌は明確には特定されていないが、堆肥化プロセスから推測できる。堆肥化初期の糖分解段階では、アスペルギルス属(コウジカビなど)、ペニシリウム属、ムコール属などの真菌が関与し、発熱を伴う。温度上昇により真菌活性は低下し、好気性細菌が優位になる。 温度低下後のセルロース分解を経て、リグニン分解段階で再び真菌が活性化するが、牛糞の場合は窒素過多により白色腐朽菌の活動は限定的となる可能性があり、主要な真菌は不明である。

/** Geminiが自動生成した概要 **/
この記事は、カリ肥料、特に塩化カリウムについて解説しています。塩化カリウムは海水から食塩を精製した後の残留物から工業的に製造されるため、有機肥料へのカリウム添加に適しています。
しかし、塩化カリウムは不純物として塩化マグネシウムなどを含むため、土壌のEC上昇、塩素イオンによる反応、マグネシウム蓄積といった問題に注意が必要です。
今後は塩素イオンの影響について掘り下げ、有機肥料における塩化カリウムの安全かつ効果的な利用方法を探求していく予定です。

/** Geminiが自動生成した概要 **/
この記事は、二台のコンピュータ間でローカルネットワークを通じてソケット通信を行う方法を解説しています。
まず、Raspberry Piをサーバー側にして、そのローカルIPアドレスを調べます。次に、Pythonで記述したサーバープログラムを、調べたIPアドレスを使って修正します。クライアント側にはLinuxマシンを使用し、同様にローカルIPアドレスを調べます。
その後、クライアントプログラムを実行し、サーバープログラムが実行されているRaspberry PiのIPアドレスとポート番号を指定して接続します。
記事では、接続が成功したことを確認後、NodeMCUとRaspberry Piでのソケット通信に進むことを示唆しています。

/** 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が自動生成した概要 **/
ショウジョウバエは熟した果物や樹液に集まり、糞便や腐敗動物質には集まらない。ウイスキーの原料である発酵麦芽に含まれるラウリン酸は、菌根菌の培養にも使われる。菌根菌は植物の害虫耐性を高めることから、ショウジョウバエが集まる土は菌根菌が豊富で、ひいては植物の生育に良い土壌、秀品率の高い土壌へ遷移している可能性が示唆される。またショウジョウバエは寒さに耐性があるため、彼らが集まる土壌は温かく、植物の根の生育にも良い影響を与えていると考えられる。

/** Geminiが自動生成した概要 **/
JenkinsによるSOY CMS/Shopのテスト自動化で、ビルド時間が5時間超となり、Chromeのクラッシュが発生していた。メモリ使用量削減のため、ヘッドレスChromeを導入。php-webdriverのコードにChromeOptionsを追加することで、ヘッドレスChromeでのテスト実行が可能になった。仮想デスクトップ(Xvfb)も不要となり、メモリ使用量が削減され、格安VPSでの高負荷テスト継続に期待が持てる。

/** Geminiが自動生成した概要 **/
PHPで並行処理を行う方法として、exec関数でジョブファイルを実行する方法が紹介されています。ジョブファイルはバックグラウンドで実行され、メインプロセスとは独立して動作します。ただし、ジョブファイルの結果をメインプロセスに返すことができないという欠点があります。
記事では、Google OAuthを使ったジョブで、メインプロセスのセッション情報をジョブファイルで利用する方法についても説明されています。ジョブファイルの引数にセッションIDを渡し、ジョブファイル内でセッションを復元することで、アクセストークンなどのセッション情報を共有できます。
最終的に、ジョブの結果をメインプロセスで扱う方法については触れられていませんが、Go言語やNode.jsのような並行処理に適した言語の使用が推奨されています。

/** Geminiが自動生成した概要 **/
チーズ製造に不可欠な凝乳酵素レンネットは、従来仔牛の胃から採取していたため屠殺が必要だった。しかし、微生物学と遺伝子工学の発展により、代替酵素が開発された。カビ由来の類似酵素の発見、そしてキモシン遺伝子を大腸菌や酵母に組み込み生産する技術の確立により、仔牛の屠殺を減らすことに成功した。チーズの歴史は、栄養価だけでなく、倫理的な問題解決にも科学の知恵が用いられた好例である。

/** Geminiが自動生成した概要 **/
プロセスチーズは、ナチュラルチーズ(主にチェダーチーズ)を溶解・再加工したもので、普段よく目にするチーズの多くを占める。ナチュラルチーズは牛乳を凝固・熟成させたものだが、プロセスチーズはそれを粉砕し、クエン酸ナトリウムなどの溶解塩を加えて加熱することで再凝固させる。この過程で、ナチュラルチーズの特徴であるカゼインとカルシウムの結合が切断される。結果として、プロセスチーズはナチュラルチーズに比べ、溶解塩由来のナトリウムが増加し、遊離カルシウムの量も変化する。この変化がカルシウムの利用率にどう影響するかは不明だが、カゼインとカルシウムの結合が歯の石灰化に重要という説を踏まえると、プロセスチーズの摂取はカルシウム利用率の低下につながる可能性がある。

/** Geminiが自動生成した概要 **/
ナチュラルチーズは、牛乳にレンネットや酸を加えて凝固させたカードを原料とする。レンネットは仔牛の胃から得られる酵素で、牛乳のタンパク質カゼインを凝固させる役割を持つ。カードを加熱・圧搾し、様々な菌で熟成させることで多様なチーズが作られる。熟成によりタンパク質や脂質が分解され、チーズ特有の風味と味が生まれる。青カビチーズやエメンタールチーズなど、熟成に用いる菌によって風味は異なる。ナチュラルチーズはそのまま食べられる他、プロセスチーズの原料にもなる。

/** Geminiが自動生成した概要 **/
プロセスチーズとは、ナチュラルチーズを粉砕し、クエン酸ナトリウムなどの溶解塩を加えて再加工したチーズのこと。1917年に軍用向けに開発された。ナチュラルチーズの種類や添加物によって風味や栄養価が変わる。チーズ自体が優れた食品だが、再加工によって付加価値をつけるという人類の知恵に感銘を受ける。

/** Geminiが自動生成した概要 **/
海苔のビタミンB12含有量の違いに興味を持った著者は、ビタミンB12産生菌について調査。論文検索で*Propionibacterium freudenreichii*と*Pseudomonas denitrificans*という2種の細菌を発見した。後者は脱窒菌として知られる。前者は土壌細菌で、エメンタールチーズの穴を作る際に働く。エメンタールチーズにもビタミンB12が含まれることから、*P. freudenreichii*由来の可能性が示唆されるが、確証は得られていない。

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

/** Geminiが自動生成した概要 **/
MuninのCPU監視項目を解説。systemはカーネルモード、userはユーザモードのCPU使用時間。niceは低優先度プロセスの数、idleは未使用時間。iowaitはI/O待ち、irqとsoftirqは割り込み処理時間。stealは仮想環境でタスク実行が遅延された時間。guestはゲストOS(Webアプリ)のCPU使用時間。各項目を理解した上で、次にファイルシステムの監視に移る。

/** Geminiが自動生成した概要 **/
MuninのCPU監視グラフ解説の導入部分。CPUは計算処理を行う部分で、ユーザモードとカーネルモード(OSの基礎処理)を使い分ける。カーネルモードではシステムコールを介してOSに処理を依頼する。CPUは割り込み機構により処理を中断できる。CPUは同時処理に見せかけて、実際は処理を切り替えながら実行している。詳細は次回に続く。

/** Geminiが自動生成した概要 **/
本ブログ記事は、Webサービス監視ツールMuninのメモリグラフ項目を理解するため、「詳解 システム・パフォーマンス」を参考に作成された学習メモです。freeコマンドの出力も踏まえ、apps(使用メモリ)、page_tables(OSとCPUが使うメモリ単位のアドレスマッピング)、slab_cache(カーネルキャッシュ)といった主要項目を詳細に解説。さらに、CPU高速化のためのキャッシュや一時データ用のバッファの概念、active/inactiveメモリの役割も説明しています。最終的に、現在のサーバーメモリはオーバースペックであると結論付けています。

/** Geminiが自動生成した概要 **/
SOY CMSサイトのDropboxバックアップ方法を紹介。まずDropboxアカウントを作成し、サーバーに64ビット版CLI版Dropboxをインストール。サーバをDropboxアカウントにリンク後、バックアップスクリプト(dbbackup.sh)を作成し、cronで毎朝3時にサイトディレクトリをzip圧縮してDropboxへ同期させるよう設定。自動起動設定としてcrontabの@rebootを利用。debファイル経由のインストール方法も追記。再起動しない場合はdropbox start -iコマンドを試す。パスワード付きzip化などの関連記事へのリンクも掲載。

/** Geminiが自動生成した概要 **/
Go製WebアプリをHTTP/2で運用するために、Let's EncryptでSSL証明書を取得した。取得手順は、letsencryptコマンドで証明書を作成し、Goのコードに証明書のパスを指定するだけ。`http.ListenAndServe`を`http.ListenAndServeTLS`に変更し、fullchain.pemとprivkey.pemのパスを設定することでHTTPS化。証明書取得後、サイトはHTTP/2で動作するようになった。

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

/** Geminiが自動生成した概要 **/
GoでWebアプリを開発し、Ctrl+Zで停止した後に同じポートで再起動しようとしたら`address already in use`エラーが発生した。停止ではなく、プロセスが生きていたためポートが使用中だった。`ps`コマンドでプロセスIDを確認し、`kill -KILL [PID]`でプロセスを終了させた後、再起動に成功した。ブラウザでWebアプリの画面が表示され、サーバが正常に動作していることを確認。これは土壌分析アプリsoil2の開発中に遭遇した問題で、プロセスをkillすることで解決できた。