ブログ内検索

プログラミング教室
オンライン肥料教室を開催しています
検索キーワード:「システム」
 

肥料焼けとは何か?:水溶性肥料

/** Geminiが自動生成した概要 **/
「肥料焼け」の本質を探る本記事は、これまでの土壌中の硝酸に関する考察に疑問を投げかけ、「水溶性肥料」が引き起こすメカニズムに焦点を当てている。水溶性の硝酸カリ(硝石)を例に挙げ、肥料が水に溶けることで根や葉周辺のイオン濃度が高まることを説明。東北大学の論文も引用し、この高濃度により浸透圧が生じ、植物内部の水分が外部へ移動すると解説する。結果として、根や葉の水分量が減少し「萎れ」症状が発生。この水分不足が重度になると植物は回復不能となり、これが「肥料焼け」の実態であると結論付けている。

 

SOY CMSで404NotFoundページのアクセスログの機能を追加しました

/** Geminiが自動生成した概要 **/
SOY CMSに404NotFoundページのアクセスログ収集機能が追加されました。これは、不正ログイン攻撃のパターン把握と、不正アクセスによるサーバー負荷の軽減、悪質なアクセスのブロックを目的としています。SOY Shopは現時点では未対応。ログの肥大化を防ぐため、古いログは自動的に削除されます。今後はバックドア関連の検知機能追加も検討されており、セキュリティ対策の強化が期待されます。この新機能を含むパッケージは公式サイトからダウンロード可能です。

 

SOY CMSでシステム運用管理プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY CMSで誤操作によるトップページ削除と404エラー発生を受け、「システム運用管理プラグイン」が開発されました。本プラグインは、初期権限を持たないアカウントがページの非公開や削除を行った際、初期管理権限を持つアカウントにメールで通知する機能を実装。これにより、重要なコンテンツの誤削除や意図せぬ変更を早期に検知し、サイト運営の安定化に貢献します。今後は運用に必要な機能の強化を目指しており、今回対応分を含むパッケージは指定のサイトからダウンロード可能です。SOY CMSをご利用の皆様は、ぜひ本プラグインをご活用ください。

 

SOY CMSで記事紹介自動投稿プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY CMSで記事紹介自動投稿プラグインを開発。Geminiで記事の紹介文を生成し、X(旧Twitter)へ自動投稿する機能です。背景には、AI概要でブログ閲覧数が減少している現状があり、Geminiを広報担当として活用する目的があります。現在は特定ブログ向けですが、利用希望者は問い合わせください。

 

もみ殻燻炭は土作りで有効であるか?

/** Geminiが自動生成した概要 **/
もみ殻燻炭の土作りへの有効性を検証。栽培者は腐植酸に似た成分を求めており、その基となるリグニンやポリフェノールがもみ殻に含まれているか調査。農研機構の研究で、もみ殻からリグニンとポリフェノールが抽出できることが判明。今後は、炭化によってこれらの成分がどう変化するかを把握する必要がある。

 

葉緑素は窒素肥料の有機態窒素に成り得るか?

/** Geminiが自動生成した概要 **/
葉緑素中の窒素が有機態窒素肥料として機能するのかを、ヘムをモデルに考察。ヘムは土壌微生物に取り込まれ、ヘムオキシゲナーゼによって分解され、ビリベルジン、更にビリルビンへと変化する。この過程で窒素はアンモニア態や硝酸態に変換されるか否かが焦点だが、ビリルビンまでは有機態窒素として存在すると考えられる。つまり、葉緑素由来の窒素は、微生物に利用され分解される過程で、PEONのような有機態窒素肥料として機能する可能性がある。

 

家畜糞の完熟で変化していく臭い

/** Geminiが自動生成した概要 **/
家畜糞の完熟における臭いの変化は、嫌気性菌から好気性菌への活動変化に対応します。初期はインドールなど不快臭が強いですが、水分減少に伴いアンモニアや硫化水素が目立つように変化します。これは、完熟が進むにつれて微生物による分解プロセスが変化し、発生する臭気成分も変化するためです。堆肥化施設の報告書でも、好気・嫌気分解における臭気成分の違いが指摘されています。

 

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

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

 

さくらインターネットの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をダウンロードできないことも補足されています。

 

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

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

 

AD変換器の基準電圧とは何だろう?

/** Geminiが自動生成した概要 **/
AD変換器の基準電圧(VREF)とは、アナログ電圧をデジタル値に変換する際の基準となる電圧です。MCP3208の場合、VREFは2.7V〜5Vの範囲で設定でき、高い電圧ほどデジタル値の分解能が向上します。 記事では、VREFを5Vにすることでサンプリング精度を高め、ノイズの影響を抑えるためにVREFに入力フィルターを入れることを推奨しています。 さらに、AGND(アナロググランド)とDGND(デジタルグランド)についても今後の課題としています。

 

出穂した籾の表面が黒ずむ

/** Geminiが自動生成した概要 **/
出穂した稲の籾の一部が黒ずんでいる現象が観察され、その原因を探っている。黒ずみは、8月中旬の長雨による冷害の影響と考えられる。周辺の田んぼでも同様の現象が見られるため、中干し不足の影響は低いと推測。冷害の種類として、定植初期の低温が影響する遅延型冷害、出穂後の低温が影響する障害型冷害、そして両者が混合した混合型冷害がある。黒ずんだ籾が膨らむかどうか、また黒ずみが遮光によるアントシアニンの蓄積によるものかなど、更なる調査が必要。追記として、長雨による穂いもちの可能性も示唆されている。

 

Raspberry PiをChromebookから操作する

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

 

トマト栽培において最適な根域温度は何℃であるか?

/** Geminiが自動生成した概要 **/
トマト栽培において、最適な根域温度は25℃付近。30℃以上では高温障害が発生する。最適温度では根のオーキシン含有量が増加し、根の生育や木部発達、養分輸送が促進される。高温期の根域温度制御は重要である。

 

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

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

 

センセイトークのオンライン版を開発しました

/** Geminiが自動生成した概要 **/
センセイトークは、学校関係者の協働促進を目的とした対話型カードゲームをオンライン化したものです。Zoom等の画面共有機能を活用し、参加者はスマホ等でアバターを操作しながら、共有デッキ上のトークテーマに基づき会話を行います。テストプレイでは、デッキ上の文章が話の整理に役立ち、画面共有に視線が集中することで、ストレスなく話せるという意見がありました。これは、スタンフォード大が指摘する「Zoom疲れ」の原因、「視線の多さと顔サイズの大きさ」「自分自身を見続けること」「大げさなジェスチャーの必要性」を同時に解決する可能性を示唆しています。センセイトークは、Web会議を円滑にするアイデアを秘めているかもしれません。

 

クロスサイトリクエストフォージェリを回避する方法を探る

/** Geminiが自動生成した概要 **/
記事では、SOY2HTMLでセキュアなフォームを作成する方法を解説しています。具体的には、CSRF対策としてトークンを埋め込んだフォームを生成するHTMLFormクラスの使い方を紹介しています。 buildHiddenToken()でトークンを生成し、isValidToken()で検証することで、悪意のある外部サイトからのリクエストを無効化できます。また、トークンの有効期限を設定することでセキュリティを強化できます。記事では、具体的なコード例を交えながら、これらの機能の使い方を分かりやすく説明しています。 さらに、HTMLFormクラス以外の方法として、独自にトークンを生成・検証する方法についても触れています。

 

クロスサイトスクリプティングを回避する方法を探る

/** Geminiが自動生成した概要 **/
SOY2では、XSS対策としてhtmlspecialcharsを簡便に利用できるHTMLLabelを提供している。記事では、HTMLLabelの基本的な使い方と、soy:idを用いた動的な値の表示方法を解説。HTMLLabelはHTMLタグを自動的にエスケープし、安全に値を表示。例として、ブログ記事のタイトルを表示するコードを紹介し、HTMLLabelを用いることで、タイトルに含まれるHTMLタグがエスケープされ、XSS脆弱性を防ぐ様子を示している。また、HTMLLabelの子要素としてHTMLタグを記述することで、特定のタグを許可することも可能。記事は、HTMLLabelがSOY2でのXSS対策に効果的であることを示唆。

 

様々な依頼からこれからの働き方を見た

/** Geminiが自動生成した概要 **/
新型コロナの影響で事業への影響を覚悟していた筆者は、逆に変化を見越した企業からのWeb開発依頼が殺到した。 非接触型の予約注文システムや、代理販売・寄付サイトなど、コロナ禍のニーズに応える開発が多かった。 また、SEO対策情報の需要も高まった。 特に印象的だったのは、テレワーク向け研修システムの開発だ。 音声チャットとWebアプリを組み合わせたボードゲーム形式で、セールスの模擬体験を行うもので、オフライン研修以上の価値を感じたという。 コロナ禍でWeb技術の活用が模索された一年であり、この流れは今後も加速し、Web技術を活用できない企業は淘汰されるだろうと予測している。

 

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

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

 

VLDでPHPのオペコードを確認する

/** 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が自動生成した概要 **/
イネの窒素肥料過剰による葉色濃化の原因を探求。湛水土壌ではアンモニア態窒素が主だが毒性があり、葉色変化やいもち病の真因に疑問が生じる。記事は、土壌表層の酸化層やイネ根近傍での硝化により硝酸態窒素が生成・蓄積される可能性を指摘。これが葉色濃化といもち病発生の一因であり、有機態窒素・アミノ酸利用が重要だと示唆している。

 

農薬を使う必要がない野菜こそが健康に繋がるはず

/** Geminiが自動生成した概要 **/
農薬不要な野菜は、食害昆虫や病原菌への耐性向上のため香り化合物(二糖配糖体)を蓄積し、食味や香りを向上させる。青葉アルコール等の香気成分は健康にも良く、慢性疲労症候群の疲労に伴う機能低下を改善する効果も報告されている。野菜を咀嚼すると香り化合物が鼻腔に届き香りを認識するが、香り化合物は損傷を受けた際に揮発するため、咀嚼によって効率的に摂取できる。つまり、香り化合物を多く含む野菜は、虫や病気に強く農薬防除を必要としない。食害を受けにくく病気にもなりにくい野菜を育てるには、香り化合物の合成を高める草生栽培が有効である可能性がある。ウィルス流行等の脅威に対し、野菜の質向上、特に香り化合物に着目した品質向上が重要となる。

 

農薬を使う必要がない野菜こそが美味しいはず

/** Geminiが自動生成した概要 **/
美味しい野菜は虫に食われにくい、という論理を香気成分から解説した記事です。植物は害虫や病原菌から身を守るため、青葉アルコールなどの香気成分を生成します。この香気成分は野菜の味や香りを良くする重要な要素です。つまり、食味の優れた野菜は、害虫に強い傾向があると言えます。「虫に食われる野菜は安全でおいしい」という通説は誤りで、香気成分を持つ野菜こそ高品質で美味しい可能性が高いのです。ただし、農薬使用の是非については別の記事で議論されています。

 

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

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

 

SOY CMSでDropboxバックアッププラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY CMS向けDropboxバックアッププラグイン(β版)を開発しました。CLI版不要で、Dropbox APIを利用しサーバからDropboxへ直接バックアップファイルを転送します。PHPのZipArchive、またはコマンドラインzip、サイトディレクトリへの圧縮権限、サーバの空き容量が必要です。詳細はサイト(saitodev.co/soycms/)で確認し、手動バックアップの上、利用ください。

 

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

/** 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系でも動作します。プラグインの動作確認はまだ完了していないため、エラーが発生した場合は問い合わせフォームから報告をお願いします。

 

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

/** Geminiが自動生成した概要 **/
だだちゃ豆の美味しさの秘密を探る中で、GABAの役割が注目されている。だだちゃ豆は他の枝豆に比べ、オルニチン、GABA、アラニンといった旨味や甘味に関わるアミノ酸が豊富に含まれている。特にGABAは味蕾細胞内の受容体を刺激し、塩味を感じさせる可能性があるという。これは、少量の塩味が甘味や旨味を増強する現象と同様に、GABAも他の味覚を増強する効果を持つことを示唆している。GABAはグルタミン酸から合成されるため、旨味を持つグルタミン酸との相乗効果も期待できる。GABAの豊富な野菜は、減塩調理にも役立ち、健康的な食生活に繋がる可能性を秘めている。アミノ酸肥料による食味向上も期待され、野菜の美味しさは健康に繋がるという仮説を裏付ける重要な要素となっている。

 

SOY CMS / Shopでキャッシュファイルの作成失敗の対策を追加しました

/** Geminiが自動生成した概要 **/
SOY CMSとSOY Shopで、キャッシュファイル生成の失敗時に自動的にファイルを削除し再生成する機能が追加されました。これにより、文字抜けなどのキャッシュ生成の不具合が回避され、ウェブサイトが常に正確に表示されるようになります。

 

歯の形成の先に乳がある

/** Geminiが自動生成した概要 **/
チーズは、牛乳由来の栄養素を効率的に摂取できる食品です。牛乳の主要タンパク質であるカゼインは、カルシウムと結合し、体へのカルシウム供給を助けます。興味深いことに、カゼインは哺乳類以前から存在し、歯の形成に関わっていました。進化の過程で、このカゼインを利用したカルシウム供給システムが乳へと発展したと考えられています。チーズはカゼインやミネラルが豊富で、pHも高いため、虫歯予防に効果的である可能性が示唆されています。特にハードタイプのチーズは、その効果が高いと期待されています。

 

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

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

 

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

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

 

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

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

 

IoTによる施設栽培の自動制御の今後は?

/** Geminiが自動生成した概要 **/
ヤンマーは、ICTを活用した自動運転トラクターを発売しました。GPSと慣性航法システムにより、高精度な位置情報と姿勢制御を実現し、直進や旋回などの自動運転を可能にしています。これにより、オペレーターの負担を軽減し、作業効率の向上と燃料消費の削減に貢献します。また、タブレット端末で走行ルートの作成や作業状況の確認ができ、農作業の省力化・省人化を推進します。さらに、有人監視下での遠隔操作にも対応しており、将来的には完全無人化を目指しています。この自動運転トラクターは、スマート農業の実現に向けた重要な一歩となります。

 

水草と開花と花粉

/** Geminiが自動生成した概要 **/
水草は、陸上植物が水中で生き残るための進化を遂げた植物である。水中で効率的に酸素や二酸化炭素を獲得する仕組みだけでなく、繁殖方法も水に適応している。被子植物である水草は、花粉をどのように扱うかが重要となる。バイカモの例では、水に弱い花粉を守るため、花を水面に咲かせることで昆虫による受粉を可能にしている。多くの水草は水面で開花し、水に触れずに花粉を媒介させる戦略をとっている。中には特殊な花粉運搬機構を持つ水草も存在するが、ここでは詳細は割愛する。

 

Go言語でsyncパッケージを使ってみる

/** Geminiが自動生成した概要 **/
Goの`sync`パッケージは、複数のゴルーチン間での共有リソースへのアクセスを同期するためのプリミティブを提供します。`Mutex`は相互排他ロックを提供し、一度に1つのゴルーチンだけがクリティカルセクションにアクセスできるようにします。`RWMutex`は、複数の読み取りゴルーチンと単一の書き込みゴルーチンを許可する読み取り/書き取りロックです。`WaitGroup`は、ゴルーチンのグループが完了するのを待つためのメカニズムを提供します。`Cond`は、ゴルーチンが条件変数で待機し、他のゴルーチンによって通知されることを可能にします。`Once`は関数が一度だけ実行されることを保証します。これらのプリミティブを使用して、データの競合を回避し、ゴルーチン間の協調を実現できます。

 

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

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

 

SQLiteでデータを入れて取り出してみる

/** Geminiが自動生成した概要 **/
Windows 10 で SQLite を使い、データを操作する方法を解説しています。SQLite をダウンロード、インストールし、環境変数を設定後、コマンドプロンプトでデータベースファイル(sample.db)を作成します。SQL文を用いて、テーブル作成、データ挿入、削除、並び替え、表示など基本操作を例示しています。`CREATE TABLE` でテーブルを作り、`INSERT INTO` でデータ挿入、`SELECT * FROM` で全データ表示、`DELETE FROM` でデータ削除、`ORDER BY` で並び替え、`LIMIT` で表示件数制限を行います。DB Browser for SQLite での確認方法にも触れています。

 

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

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

 

塩類集積土壌でも平然とたたずむスベリヒユ

/** Geminiが自動生成した概要 **/
牛糞堆肥の土壌改良効果に着目し、植物ホルモンの視点からそのメカニズムを考察している。牛糞堆肥は植物ホルモン様物質を生成する微生物の活動を促進し、植物の生育を促す。一方、化学肥料は土壌微生物の多様性を低下させ、植物ホルモン産生を阻害する可能性がある。土壌の物理性改善だけでは植物の健全な生育は難しく、微生物との共生関係が重要となる。牛糞堆肥は土壌微生物の活性化を通じて植物ホルモン様物質の産生を促し、結果として植物の生育を促進、病害抵抗性を高める効果が期待できる。現代農業における化学肥料偏重の風潮に対し、微生物生態系を重視した土壌管理の必要性を提唱している。

 

kintoneで指定の個所だけ印刷範囲にしてみる

/** Geminiが自動生成した概要 **/
kintoneでカレンダーアプリを印刷する際、標準機能ではカレンダー部分のみを選択できない問題を、jQueryプラグイン「printElement」を用いて解決する方法を紹介。kintoneアプリにカレンダー形式の一覧ページを作成し、printElementとjQueryを読み込むよう設定。カスタマイズ用JavaScriptで印刷ボタンを配置し、クリックイベントにprintElementでカレンダー部分(id="view-list-data-gaia")を指定。これにより、ヘッダー/フッターを除くカレンダー部分のみが印刷範囲となる。kintoneのカスタマイズ性の高さとjQueryプラグインの活用例を示している。

 

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

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

 

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

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

 

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

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

 

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

/** Geminiが自動生成した概要 **/
妻にGo言語を教えることにした。プログラミングを教えることで、教える側も理解を深め、学習効率が上がるためだ。Go言語を選んだ理由は、初心者にも扱いやすい点が多いからである。go runでLL言語のように手軽に実行でき、go buildでコンパイルもできる。システムプログラミングにも触れられるため、コンピュータの仕組み理解に役立つ。go fmtやgo importによる自動整形・補完でコードの書き方に迷うことも少ない。また、オブジェクト指向がないため学習コストが低い。冗長になりやすい、他言語学習時に混乱する可能性があるという欠点はあるものの、プログラミング入門には最適だと考える。妻の変化が楽しみだ。

 

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

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

 

SOY CMSの開発秘話前編

/** Geminiが自動生成した概要 **/
SOY CMSは、WordPressなどと機能比較されがちですが、その真価は開発背景にあります。京都大学での業務アプリ開発で度重なる仕様変更によるプロジェクト炎上を経験したことがきっかけで、デザイナーとプログラマーの作業分離を目指しました。 SOY2フレームワークを基盤とし、プログラマーが機能をHTMLタグ(`cms:id`など)として提供し、デザイナーはそれを自身のデザインに組み込む形式を採用。これにより、デザイナーはプログラム知識なしにサイトの構築や変更を容易に行え、プログラマーも独立して修正できる。SOY CMSは、開発時や運営後のWebデザイナーの負担を最小限に抑えることを最大の目標としています。

 

WindowsでGo言語

/** Geminiが自動生成した概要 **/
Windows 10でGo言語開発環境を構築する手順をまとめた記事です。Git、Go、Atomエディタをインストールし、日本語化やGo開発に必要なパッケージを追加します。AtomでGoファイルを作成し、"hello world"を出力するサンプルコードの実行までを解説しています。Go言語のバージョンは1.9.4、Windowsは64bit版を使用しています。最後に、アンチウイルスソフトの設定が必要になる場合があることに触れています。

 

Google Apps ScriptのHTML Serviceで自作した関数の結果を出力してみる

/** Geminiが自動生成した概要 **/
社会人・学生向けプログラミング教室で、Googleスプレッドシートの拡張機能開発をテーマにした勉強会が開催されました。内容はスプレッドシート操作の自動化をGASを用いて行うもので、参加者は「Google Apps Script完全入門」を教材に学習しました。勉強会では、GASの基本的な使い方、HTML Serviceを用いたWebアプリ作成、スプレッドシート操作、API連携、トリガー設定などを実践的に学びました。参加者からはGASの利便性や可能性を実感する声が上がり、業務効率化やデータ分析への応用について関心を示していました。

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

産地ができるまで。京丹後九条ネギの露地栽培

/** Geminiが自動生成した概要 **/
京丹後の厳しい環境(真砂土土壌、豪雪地帯)で露地九条ネギ栽培は不可能と言われていた。しかし、関係者の熱意と協力により、九条ネギ組合が設立され、京都市内への定期便が実現した。 きっかけは、京丹後から京都市内への野菜輸送ルートの相談。それを機に、九条ネギ栽培の相談が京都農販に持ち込まれた。困難な環境にも関わらず、栽培指導が成功し、周辺農家にも波及。京都市内の販売ルートも確保され、定期便が実現した。 この成功は、京丹後の新規就農者にとって希望の光となり、地域活性化への期待も高まっている。

 

SOY Shopの簡易予約カレンダー使用時のメール文面の変更について

/** Geminiが自動生成した概要 **/
SOY Shopの簡易予約カレンダーで、注文メールの表記を「商品名」から「予約名、日付、ラベル」に変更できる連携機能が追加されました。 メールビルダープラグインで`#RESERVED_LIST#`という置換文字列を使用することで実現可能です。 従来は商品名、商品コード、数量、価格が表示されていましたが、この変更により、例えば「カレンダーA 2017-5-29 午前」のような予約情報が表示されるようになります。 この機能を利用するには、簡易予約カレンダーとメールビルダープラグインがインストールされている必要があります。 注文関連メールの自動出力箇所はメールビルダーで変更可能です。最新版は公式サイト(https://saitodev.co/soycms/soyshop/)からダウンロードできます。

 

ロードアベレージ

/** Geminiが自動生成した概要 **/
サーバ監視の重要指標であるロードアベレージは、CPUリソースへの需要を示す。実行中のスレッドと実行待ちスレッドの合計から計算され、uptimeコマンドで1分、5分、15分間の平均値を確認できる。ロードアベレージがCPU数を超えると、CPUが不足しスレッドが待機している状態を示す。逆に下回ればCPUに余裕がある。例として、2コア2スレッドCPU(論理CPU4)でロードアベレージ0.47は余裕がある状態と言える。

 

CPUの監視2

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

 

CPUの監視

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

 

メモリーの監視

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

 

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

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

 

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

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

 

熊本JAやつしろの栽培者向け勉強会で施肥設計の話をしました

/** Geminiが自動生成した概要 **/
熊本JAやつしろで、京都農販の技術顧問として、栽培者向けの肥料勉強会の講師を務めました。JAやつしろは養液栽培やシステム化を進めており、ロックウール栽培も増加傾向にあります。土耕と養液栽培を組み合わせる場合、元肥の重要性が高いため、その見直しと肥効向上による秀品率向上を目指した講演を行いました。JAやつしろ、関係者への感謝を述べ、ロックウールと水耕栽培に関する関連記事へのリンクも掲載されています。

 

硫安が出来るところ

/** Geminiが自動生成した概要 **/
肥料成分の偽装問題に関する記事の要約です。栽培者視点から、硫安の生成について解説しています。硫安は硫酸とアンモニアから合成される他、石炭ボイラーの排ガス中の亜硫酸ガスをアンモニア液で中和する過程で副産物として回収される方法がありました。しかし、近年は石油製品の品質向上に伴い硫酸排出量が増加し、アンモニア注入法に代わり溶解塩噴霧システムが主流となっています。このシステムではNa系塩やMg系塩がコストパフォーマンスに優れ、Ca系塩はコストが悪いとのこと。以前は火力発電所などで副産物として硫安が得られましたが、新技術の普及により減少している可能性があります。肥料としても有用な水マグの使用が別用途に転用され、肥料価格の高騰につながらないことを願っています。

 

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

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

 

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

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

 

SOY Shopの商品詳細ページで商品コードの置換文字列を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの商品詳細ページでSEO対策と商品コード表示の課題を解決するため、タイトルフォーマット等のメタタグに商品コードとカテゴリ名の置換文字列を追加。商品名に商品コードを含めることで発生するデータベース肥大化や表示変更の煩雑さを解消。商品名は本来の役割に特化させ、商品コードはメタタグで管理することで、システムの効率化と柔軟な表示を実現。この変更はGitHub上の最新SOY Shopパッケージに含まれており、SEO効果の向上と運用コストの削減に貢献する。

 

Ubuntuサーバのメモリ開放

/** Geminiが自動生成した概要 **/
SOY CMSサイトのバックアップをDropboxで自動化する方法を紹介しています。記事では、Dropbox Uploaderを利用したバックアップ方法を解説し、cronで定期実行を設定することで手間を省いています。具体的な手順として、Dropbox Uploaderのインストール、トークンの取得、アップロードコマンドの作成、cronへの登録方法を詳しく説明。さらに、バックアップ後のメモリ解放コマンドも追記し、サーバー負荷軽減にも配慮しています。この方法により、安全かつ効率的なバックアップ体制を構築できるでしょう。

 

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

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

 

SOY Shopで注文に対して誰が対応したかを表示する

/** Geminiが自動生成した概要 **/
SOY Shopの複数アカウント運用で、誰が顧客対応したか履歴を把握できる機能追加を行いました。注文状態変更履歴に対応者IDを表示するように変更。空欄はシステム自動対応。これにより、メール送信や注文情報変更の担当者を明確化できます。パッケージはGitHub(https://github.com/inunosinsi/soycms/tree/master/package)からダウンロード可能です。

 

元CMSの開発として、CMSの過剰カスタマイズは止めた方が良いと伝えたい

/** Geminiが自動生成した概要 **/
CMS開発経験者として、CMSの過剰カスタマイズは避けるべきだと主張しています。標準機能で不足する場合はプラグイン活用を推奨し、どうしてもカスタマイズが必要なら汎用化し開発元に取り込んでもらうべきです。 成功するネットショップは過剰なカスタマイズを避け、標準機能のバージョンアップによる恩恵を最大限に活用しています。HTMLやPhotoshopを使いこなし、小規模な修正を繰り返すことで魅力的なLPページを作成し売上向上を実現しています。 カスタマイズ依頼の際は、標準機能への実装可能性や他サイトでの汎用性を重視し、CMSカスタマイズが難しい場合はAPI連携可能な外部サービスを検討します。この柔軟な姿勢がサイトの急成長を支えています。

 

私にとっての農業とSOY Shop

/** Geminiが自動生成した概要 **/
新規就農者は、野菜の栽培で手一杯のため、販売に割く時間がない。そのため、野菜の価格決定権が市場に握られ、価格が下がった際に収入が不安定になりやすい。この問題を解決するために、営業不要で販路を確保できるネットショップ活用が有効だ。研修中に開発したECサイト構築システム「SOY Shop」を導入し、自ら販売サイトを構築。ブログやSNSで情報発信し、顧客との直接的な関係を築くことで、安定した経営を実現した。この成功事例は他の新規就農者にも参考になるだろう。

 

SOY2DAOでプリペアードステートメントを利用する

/** Geminiが自動生成した概要 **/
SOY2DAOでプリペアードステートメントを使う方法を解説します。SQLインジェクション対策として、SQL内に直接値を埋め込むのではなく、プレースホルダ(:name)を使用します。 例: $sql = "SELECT * FROM soyshop_user WHERE mail_address = :mail AND password = :pass"; $binds = array(":mail" => $m, ":pass" => $p); $results = $dao->executeQuery($sql, $binds); executeQueryの第二引数にプレースホルダと値の連想配列を渡すことで、SOY2DAOが安全にSQLを実行します。これにより、$mや$pにSQL構文が挿入されても、悪意のあるクエリの実行を防ぎます。

 

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

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

 

SOY Shopのメールビルダから出力される商品一覧に並び順設定を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopのメールビルダープラグインに、注文メールの商品一覧の並び順設定機能が追加されました。 従来、自動出力される商品一覧の並び順は固定でしたが、このアップデートにより変更が可能になります。 メールビルダーの管理画面から、商品名、商品コード、数量、価格の各項目を昇順/降順に指定することで、希望の並び順で商品一覧を出力できます。 ダウンロードと詳細はSOY CMSフォーラムにて提供されています。 この機能により、注文メールの可読性向上や業務効率化に繋がります。

 

SOY CMSに総当り攻撃を仕掛けてみる。その2

/** Geminiが自動生成した概要 **/
Go言語でSOY CMSへの総当り攻撃コードを改良した。前回はトークンチェックで攻撃が無効化されたため、今回はトークン取得とセッションキー保持の処理を追加した。具体的には、ログインページからトークン値を抽出し、自作のCookieJarを用いてセッションキーを保持することで、正規のログインと同様にトークンを送信できるようにした。この改良により、辞書攻撃が可能になった。 最後に、管理画面URLの特定の容易性と攻撃のしやすさを指摘し、URLを複雑にする、IDを辞書攻撃されにくいものにするなどの対策の必要性を訴えている。

 

Go言語でサーバのバックアップの仕組みを作ろう。Walk編

/** Geminiが自動生成した概要 **/
Go言語でファイルサーバのバックアップを作成する過程の記録。今回は同一PC内でのディレクトリとファイルコピーを実装。`filepath.Walk`でディレクトリ構造を走査し、`os.Stat`でバックアップ先にディレクトリが存在しなければ`os.Mkdir`で作成。ファイルは`os.Open`、`os.Create`、`io.Copy`でコピー。`tree`コマンドでコピー結果を確認し、ディレクトリ構造とファイル内容が正しくコピーされたことを確認。ただし、ファイル更新日時を考慮したコピー処理は未実装。

 

最高の開発環境を求めて

/** Geminiが自動生成した概要 **/
レシピのない環境で最高の開発環境を目指し、WindowsからUbuntuに移行した筆者は、Emacsを選択。シェルモードの使いにくさに悩み、zshを導入するもEmacsとシェルを同時に表示できない問題に直面。最終的にターミナルマルチプレクサtmuxを用いて、Emacsとzshを左右に配置する理想的な開発環境を実現した。今後の記事では、環境構築の詳細な手順を公開予定。

 

中学生にプログラミングを教えてみて。その4

/** Geminiが自動生成した概要 **/
中学生にプログラミングを教える中で、コンピュータが0と1で動く仕組みを理解させるため、C言語で書いたコードをアセンブリ言語、さらにバイナリの実行ファイルに変換する過程を見せた。苦Cとコンピュータサイエンスの教科書を参考に、gccコマンドでアセンブルとコンパイルを行い、出力されたhoge.sとa.out(バイナリ)を提示。バイナリエディタで16進表示されたa.outから2進数での動作を想像させ、理解を促した。後々「コンピュータシステムの理論と実装」が理解を深める上で役立つと気づいた。

 

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

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

 

PHPで楽天市場の商品登録を楽しよう:Apacheのインストール編

/** Geminiが自動生成した概要 **/
楽天市場の商品登録作業効率化のため、PHPによるローカル検証環境構築を目指し、複数PCへのインストール手順を記録している。今回はApache2.4のインストール方法を紹介。まずPCが64ビットか確認後、Apache動作に必要なVisual C++再頒布可能パッケージをインストールする。次にApacheの64ビット最新版をダウンロード、解凍し、Apache24フォルダをCドライブ直下に配置。httpd.confのServerNameをlocalhost:80に修正する。Windows環境変数のPathにC:\Apache24\bin;を追加し、コマンドプロンプトでhttpd -k startを実行。ブラウザでhttp://localhostにアクセスし"It Works!"が表示されればApacheのインストールは完了。次回はPHPのインストールについて。

 

土壌分析で施肥の癖を知る

/** Geminiが自動生成した概要 **/
土壌分析は、畑全体の状況把握には費用対効果が低いと思われていたが、生育が悪かった箇所の土壌を分析することで、栽培者の施肥設計の癖を把握できる。土壌の良さは、各要素の量の多さではなく、バラつきの少なさで決まるため、生育の悪い箇所のデータから、無意識に投入しすぎている要素を特定できる。つまり、土壌の状態だけでなく、施肥の癖を知るために、バラつきのあるデータでも有効活用できる。

 

かね正アグリシステムさんで土壌分析についての話をさせていただきました

/** Geminiが自動生成した概要 **/
京丹後のかね正アグリシステムで、土壌分析結果の見方と鶏糞堆肥の注意点についての講演を行いました。ヤンマー南丹支店での講演と同様に、土壌分析の各要素の過剰による弊害、無意識的な過剰摂取の要因を解説しました。養鶏農家のコトブキ園との連携で得られた知見に基づき、鶏糞の適切な活用方法について説明しました。土壌分析結果を栽培に活かすための情報を今後も提供していきます。

 

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

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

 

「虫が付いてる野菜は美味しい」は嘘 エンジニア思考で考える新しい農業という記事に対して

/** Geminiが自動生成した概要 **/
筆者は、日本情報化農業研究所で農業事業に従事していたが、CEO古荘氏の言動に不信感を募らせ退職した。古荘氏は、筆者らの農業調査を誇張したプレゼンを行い、西前氏が立ち上げたセレクトファームの成果を自分のもののように語り、資金調達に利用した。筆者らは畑で地道に努力していたにも関わらず、古荘氏は現場に来ず、農業を軽視する態度を取り続けた。その結果、関係者や取引先からの信頼を失墜させ、筆者も西前氏も会社を去ることになった。筆者は農業をエンジニアリングと同一視する古荘氏の考えに反論し、生き物を育てる仕事は知識を駆使したサポートだと主張する。 開発元退職後のSOY CMS開発継続理由は、オープンソース化により生まれたコミュニティへの責任感、ユーザーからの信頼、そしてSOY CMS自体への愛着による。退職後も開発を続け、改良を重ねることで、ユーザーにとってより良いCMSを提供し続けたいと考えている。

 

ヨガスタジオCORE様サイトの予約管理アプリを開発しました

/** Geminiが自動生成した概要 **/
池田・川西・箕面・北摂の空中ヨガスタジオCORE様の予約管理アプリを開発。SOY ShopとSOY Calendarをベースに、複数インストラクター・レッスンの登録、会員による予約状況確認・予約機能を実現。会員管理はSOY Shopの顧客管理機能を活用し、ネットショップ展開やSOY Mail連携によるメルマガ配信も容易に実現可能。少ない労力で多様なニーズに対応できる設計となっている。予約ページは https://ys-core.com/schedule/ 。

 

肥料成分としての窒素(N)

/** Geminiが自動生成した概要 **/
ブログ記事は、肥料のN:P:Kに記載される窒素(N)が全て同じではないと指摘。一般的な硫安(硫酸アンモニウム)のNと黒糖肥料(アミノ酸由来)のNは、同じ「窒素」でもその性質が大きく異なると解説しています。硫安Nは作物に吸収されなければ流出しやすい一方、アミノ酸Nはカルボキシル基を持つため保肥力向上や微生物の餌となり、土壌改善に貢献。筆者は、性質の異なるこれらNを同一視すべきではないと強く主張し、従来の土壌診断の根本を問う重要な問題提起をしています。

 

検索フォームと検索結果ページを作ってみた1

/** Geminiが自動生成した概要 **/
スクリプトモジュールブロックを使用して記事検索機能をSOY CMSに追加する方法について説明しています。まず、user.config.phpでスクリプトモジュールを許可し、次にブロックタイプリストにScriptModuleBlockComponentを追加します。記事中の特定の文字列を検索したり、記事をグループ化したりできるようになります。このモジュールを使用することにより、ブログに検索機能を追加し、ユーザーが記事をより簡単に検索できるようにすることができます。

 

SOY CMSでどのページでも使えるブログのサイドバーを作ってみた

/** Geminiが自動生成した概要 **/
SOY CMSのPHPモジュールを使用して、ブログページのサイドバーコンテンツを他のページでも表示できるようになった。最新の投稿、カテゴリー一覧、月別アーカイブを取得するロジックを実装し、表示を整形した。これにより、ブログページと同様のコンテンツを非ブログページでも表示できるようになった。また、使用したSOY2DAOFactoryとSOY2Logicはデータベース操作やロジック処理を行うために使用された。

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

Powered by SOY CMS   ↑トップへ