ブログ内検索

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

自宅で親子で学ぶプログラミング教室のオープンしました

/** Geminiが自動生成した概要 **/
2025年の振り返りとして、念願だった自宅での「親子で学ぶプログラミング教室」オープンが報告されました。妻が主体となり、補助金申請から生徒募集までを担当し、初年度の目標生徒数を達成。 本教室はmicro:bitを主要教材とし、小学生はMakeCode、希望する保護者はMicroPythonで学びます。特徴は、前半が小学生向け、後半が保護者向けの時間に分けられている点。保護者向けでは、当初予想に反して音響機器のIoT化やGPS機器の自作といった電子工作が人気でした。貸出PCにはRaspberry Pi 5やChromebookを用意。 今後は、LEGOでのラジコンカー製作やIoT機器の仕組み学習を通じ、小さな街の再現を目指す計画です。

 

限りなき旅路

/** Geminiが自動生成した概要 **/
10年間毎日投稿を続けた筆者が、節目を振り返ります。この10年で最も印象深かったのは「緑色片岩」との出会いです。全国各地を巡り、土の始まりである母岩の理解を深める中で、それが農業生産性、特に稲作の品質と密接に関わることを発見しました。また、緑色の岩石には興味深い地域の伝承や日本の歴史との繋がりがあることも知りました。得られた知見を協力者の田で実践し、米の品質・収量を地域トップクラスに向上させ、講演の機会も得ました。今後は知見を共有し、学びの「限りなき旅路」を続けると結んでいます。

 

ロボットによる有機農業の自動化を目指すトクイテンさんの自社圃場を訪問

/** Geminiが自動生成した概要 **/
トクイテンさんの自社農場を訪問し、ロボットによる有機農業の自動化に向けた取り組みを見学しました。特に、トマト栽培の簡易化を目指すロボット開発に感銘を受けました。様々な創意工夫が凝らされており、得られた知見が他の作物にも応用できる可能性を感じました。今後、何らかの形でトクイテンさんの取り組みに関わっていきたいと考えています。

 

もう一つの梓の楸

/** Geminiが自動生成した概要 **/
この記事は、弓の材料として知られる「梓」という漢字の由来について考察しています。現在「梓」と呼ばれる特定の木は存在せず、ミズメやキササゲなどが候補として挙げられています。 キササゲは薬効を持つ実が「梓実」と呼ばれていたことから、梓の候補となりました。その一方で、「楸」という美しい漢字も当てられています。 この記事では、キササゲのしなやかな枝が弓の材料に適していること、薬効を持つ実が「梓実」と呼ばれていたことから、「梓」と当てはめられた可能性を示唆しています。

 

梓弓こそが真の弓

/** Geminiが自動生成した概要 **/
梓弓は、古事記などで「真の弓」とされ、神事に用いられる特別な弓です。材料となる「梓」は、諸説ありますが、現在はカバノキ科のミズメと考えられています。 ミズメは傷つけるとサリチル酸メチルという芳香を放ち、この香りは魔除けの効果があると信じられてきました。神事に用いる弓に魔除けの力を見出すのは自然な流れと言えるでしょう。 なぜ「梓」に木偏の漢字が当てられていないのか、興味深い点は尽きません。

 

いろんな色の結晶片岩

/** Geminiが自動生成した概要 **/
この記事は、異なる色の結晶片岩を観察し、その母岩と土壌への影響について考察しています。 筆者は、黒色片岩、褐色の珪質片岩らしき層、灰色の層からなる結晶片岩を観察し、その成り立ちについて考察しています。特に、褐色と灰色の層が珪質片岩である可能性について触れ、珪質片岩の色は由来となる岩石によって変わることから、どちらも珪質片岩の可能性があることを示唆しています。 そして、園地でこのような結晶片岩が多い場合、ミカン栽培の秀品率向上には期待できないのではないかと推測しています。これは、過去の園地の土壌とミカンの品質に関する記事の内容を踏まえた考察です。

 

プログラミング教育で注目すべきはARM + Debian + Pythonであるはずだ

/** Geminiが自動生成した概要 **/
プログラミング教育の格差解消には、安価で高性能なARMアーキテクチャ搭載PCが有効である。Raspberry PiはDebian系OSとPythonを標準サポートし、電子工作から本格的な開発まで対応可能なため、ChromebookやMicro:bitよりも優れている。ARM対応ソフトの充実が課題だが、低価格でDebianやPythonに触れられる環境は、OSSやサーバー学習へのハードルを下げ、将来的なIT人材育成に貢献する。

 

QRCode.jsを試してみた

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

 

OpenStreetMap + Leafletで設置したマーカーにクリックのイベントを追加した

/** Geminiが自動生成した概要 **/
OpenStreetMapとLeafletを用いて地図上にマーカーを設置し、クリックイベントを追加する方法について解説しています。 まず、Leafletで地図上にマーカーを設置する基本的なコードを示し、クリックイベントを追加するために`L.geoJSON`を使用する方法を説明しています。`L.geoJSON`の第二引数に`onEachFeature`オプションを渡すことで、マーカーごとにクリックイベントを設定できます。 記事では、クリックイベント発生時に任意のURLへ遷移する例を挙げており、PCとスマホそれぞれでクリックとタップイベントに対応するコードを記述しています。

 

OpenStreetMap + Leafletを試してみた

/** Geminiが自動生成した概要 **/
この記事では、Google Maps JavaScript APIの代わりにOpenStreetMapとLeafletを使って地図を表示する方法を紹介しています。OpenStreetMapは無料で利用でき、Leafletは簡単に地図を表示できるJavaScriptライブラリです。 記事では、大阪府高槻市の摂津峡を例に、緯度経度を指定して地図を表示し、マーカーを設置する手順をコード付きで解説しています。結果として、少ないコードで簡単に地図上にマーカーを表示することができました。

 

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

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

 

SOY Board on SOY Shop

/** Geminiが自動生成した概要 **/
SOY Shop向け掲示板アプリプラグイン「SOY Board on SOY Shop」を開発中。顧客とマイページ機能を活用し、手軽に掲示板を設置できる。中小企業のWeb活用増加を背景に、古くからある掲示板の価値が見直されていると判断。既存のSOY Boardの改修が困難だったため、SOY Shop上に構築する形とした。PHP最新バージョンへの対応、多様なXML出力、HTML投稿を重視し、既存のOSSではなく独自開発を選択。特にXML出力は、サイトマップ登録や新着通知の細分化に活用予定。HTML許可によるXSS対策の難しさは課題。ローカル環境での動作確認推奨、試用時は新規ショップサイト作成必須。最新パッケージはsaitodev.co/soycms/soyshop/からダウンロード可能。

 

陰樹の耐陰性とは何か?

/** Geminiが自動生成した概要 **/
陰樹の耐陰性は、暗い林床でも生存できる能力を指す。陰樹の葉は陽樹に比べ薄く、構成する層も少ないため、維持コストが低い。これは光合成量が限られる環境では有利となる。また、呼吸量が少ないことも、ネズミによる食害リスクを減らす点で生存に寄与する。陰樹の中でも、ツブラジイはスダジイより耐陰性が高い。葉の厚さや呼吸量の差に加え、クチクラ層による遮光なども耐陰性に関係する。これらの要素が、成長は遅いが長期間生存できる陰樹の特性を支えている。

 

陽葉と陰葉

/** Geminiが自動生成した概要 **/
常緑樹の暗い林床でシイのような樹木が育つ仕組みを、陽葉と陰葉の違いから説明している。光合成を行う葉肉細胞を含む葉は、光が十分に当たる場所では陽葉として厚く、柵状組織が発達する。一方、林床のような光が少ない場所では陰葉となり、柵状組織の層が薄く、海綿状組織の密度も低い。これは、葉緑体の維持コストと光利用効率の最適化によるもの。陰葉は少ない光を効率的に利用する構造になっているため、暗い林床でも成長できる。

 

WSL2でSOY CMSの開発環境を作ってみた(virtualhost編)

/** 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の管理画面が表示されれば成功です。

 

SOY InquiryでParsley.jsを利用する

/** Geminiが自動生成した概要 **/
SOY InquiryにParsley.jsを組み込むと、見栄えの良い入力内容チェックが利用できます。フォームテンプレートにParsley.jsのスクリプトを挿入し、SOY Inquiryのフォーム設定画面で各項目にdata-parsely-triggerとrequired属性を設定します。さらに、data-parsely-required-message属性を追加すると、エラーメッセージをカスタマイズできます。これにより、各項目に合わせたエラーメッセージが表示され、ユーザーフレンドリーなフォームが作成できます。

 

グリーンタフはどこにある?

/** Geminiが自動生成した概要 **/
岩石が土壌に変化する過程は、鉱物の風化と植物の死骸の分解によって起こる。鉱物は、水や酸素、二酸化炭素などと反応し、化学的に組成が変化して風化する。物理的な風化は、温度変化や氷の凍結・融解などによって岩石が砕ける現象である。植物の死骸は微生物によって分解され、腐植と呼ばれる有機物を生成する。腐植は土壌に養分を供給し、保水性や通気性を向上させる役割を持つ。これらの風化生成物と腐植が混ざり合うことで、植物の生育に適した土壌が形成される。風化と分解は時間をかけて進行し、様々な要因が複雑に絡み合って土壌の性質を決定づける。

 

妻がプログラミングをはじめてGo言語とQtでアプリを公開するまで

/** Geminiが自動生成した概要 **/
妻にプログラミングを教えた動機は、事務職希望の女性こそプログラミングスキルを身につけるべきだという考えに基づいている。事務作業はルーティン化しやすい反面、変化への対応が求められる。プログラミングは論理的思考力や問題解決能力を養い、変化への対応力を高める。これらは事務職で役立つだけでなく、キャリアの幅を広げる可能性も秘めている。妻は最初の実験台であり、私自身にとっても新たな言語を教える貴重な経験となった。将来的には、プログラミング教育の普及を通じて、女性がより活躍できる社会を目指したいと考えている。

 

植物の根への酸素の運搬とROLバリア

/** Geminiが自動生成した概要 **/
湿地の植物は、根への酸素供給のために特殊なメカニズムを持つ。イネなどの湿性植物は、ROLバリアと呼ばれるスベリン層で根を覆い、酸素漏出(ROL)を防ぎながら根の先端まで酸素を送る。一方、非湿性植物はROLバリアを持たず、酸素が根の上部で漏れてしまうため、水没に弱い。ROLバリアは、還元状態で毒性を示す土壌中の金属イオンからも根を守り、酸素を供給することで無毒化にも貢献する。酸素漏出は水没時だけでなく日常的に起こる可能性があり、この現象が別の疑問の解決につながるかもしれない。

 

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`終了時点で中断し、サンプルプログラムを実行したところ、正常に動作することを確認しました。

 

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

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

 

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

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

 

表層無機質中間泥炭土の周辺にあった石

/** Geminiが自動生成した概要 **/
宮城県涌谷町の畑で見つかった石の表面に付着した土を観察し、土壌の成り立ちを考察している。排水工事で掘り出された石の表面には、薄く剥がれた層と赤茶色の層が見られた。剥がれた層は畑の土壌と似ており、赤茶色の層はピートモス(脱水した泥炭)を想起させ、土壌インベントリーの情報を参照すると、この地域は表層が無機質、中間層が泥炭であることがわかる。石の表面の層が無機質の表層、赤茶色の層が泥炭の中間層だと推測し、泥炭層は圧縮されている可能性を示唆している。涌谷町の土壌は、石の表面に表層と中間層が堆積した様子から、その成り立ちを窺うことができる。

 

火山のあるところと再び京都夜久野高原の宝山に目を向けてみると

/** Geminiが自動生成した概要 **/
日本の火山の形成は、プレートの沈み込みに関係している。海溝からの距離に規則性があり、南海トラフのような海溝に沿って火山が分布する。兵庫、鳥取、島根などにも火山が存在し、京都夜久野高原の宝山も南海トラフの影響を受けた火山と考えられる。

 

日本列島誕生。フォッサマグナ

/** Geminiが自動生成した概要 **/
日本列島は、ユーラシア大陸東端がプレートの衝突によって分離、二つの島となり、その後再び衝突して形成された。この衝突で生まれた巨大な溝「フォッサマグナ」は、激しい火山活動によって火山灰で埋め立てられ、特徴的な地質と土壌を生み出した。フォッサマグナ西側の西日本は付加体によって隆起し、岐阜の最古の石や滋賀・奈良の石灰岩地形、京都のチャートなどが見られる。一方、フォッサマグナ内部は火山灰質の地層が6000m以上堆積し、長野県栄村の深い腐植層を持つ黒ボク土もこの成り立ちと関連する。西日本と東日本では地質・土壌が大きく異なるため、フォッサマグナは日本列島の形成を理解する上で重要な地域と言える。

 

フォッサマグナ 糸魚川-静岡構造線

/** Geminiが自動生成した概要 **/
フォッサマグナは、日本の本州中央部を南北に走る大きな地溝帯で、ナウマン博士によって発見された。糸魚川-静岡構造線はその西縁を画し、ユーラシアプレートと北アメリカプレートの境界にあたる。フォッサマグナパークではこの断層が観察でき、西側の変成したはんれい岩と東側の火山岩である安山岩が地質の違いを明確に示している。フォッサマグナは火山由来の堆積物で埋められており、この地質学的特徴は富士山の西側を境界として土壌や地質に大きな変化をもたらし、人々の生活や農業に影響を与えている。

 

SOY CMS1.8.14分の差分をマージしました

/** Geminiが自動生成した概要 **/
開発元退職後もSOY CMS開発を続ける筆者は、顧客からの要望とOSSへの貢献を動機としています。退職前は開発に携われなかったものの、現在は時間的制約がなくなり、積極的に取り組んでいます。PHP7対応など、公式版では対応が遅れている部分も独自に対応することで、顧客のニーズに応え、より良いCMSの提供を目指しています。また、オープンソース化によってコミュニティへの貢献も実現し、開発の喜びを感じています。将来的には公式版への還元も視野に入れ、SOY CMSの発展に尽力していく姿勢を示しています。

 

Webデザイナー向けのGitのハンズオンを行いました

/** Geminiが自動生成した概要 **/
アップラインの会議室にて、Webデザイナー向けにGitのハンズオンを開催。Webデザイナーは細かい編集作業が多く、バージョン管理の恩恵が大きい。今回はWindows向けTortoiseGitを用い、Gitの基本操作を体験、用語解説も行った。TortoiseGitはGUIで操作できるため、Gitへの苦手意識なく学習できる。共同作業の共有コスト削減、快適なサイト制作にGitの活用を推奨している。

 

私にとっての農業とSOY Shop

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

 

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

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

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

Powered by SOY CMS   ↑トップへ