ブログ内検索

プログラミング教材開発
大阪府高槻市原地区で肥料教室を開いています
 

Go言語でExcel形式のファイルを作成

/** Geminiが自動生成した概要 **/
Go言語でExcelファイルを作成する方法を解説しています。`tealeg/xlsx`ライブラリを使用し、`xlsx.NewFile()`でファイル構造体を作成、`AddSheet("")`でシートを追加します。`sheet.Cell(行, 列).Value = "値"`でセルに値を入力します。行、列は0始まりで、(0,0)はA1セルを表します。`file.Save("ファイル名.xlsx")`でファイルを保存します。サンプルコードでは"kaeru.xlsx"に"usa"、"kuma"、"dora"、"pao"を書き込んでいます。

 

Go言語とSQLでランダムの顧客10人の注文を10000件登録してみる

/** 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が自動生成した概要 **/
この記事では、光合成の明反応に関わる必須元素を解説しています。明反応は、水から電子を取り出しNADPHを生成する過程で、マンガンクラスターが水の分解にマンガンを必要とすることを説明しています。さらに、光化学系ⅠとⅡではクロロフィルが光エネルギーを吸収するためにマグネシウムが必須であることを述べています。加えて、高エネルギー反応に伴う活性酸素対策としてカロテノイドが存在し、βカロテンは炭素と水素のみで構成されていると補足しています。これらの元素の供給が光合成、ひいては植物の生育に不可欠であることを示唆しています。

 

JavaScriptのWeb Audio APIで録音してみる

/** Geminiが自動生成した概要 **/
Web Audio APIを用いて録音機能を実装した。navigator.getUserMediaでマイクアクセス権を取得し、MediaRecorderで録音、10秒後に停止しsample.wavとしてダウンロードさせる。 現状は問答無用で録音開始・停止する仕様だが、将来的には取得した音の周波数を解析し、音に合わせた処理を実現したい。

 

Go言語とSQLite3でデータを取得する

/** 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が自動生成した概要 **/
コンクリートの隙間に咲く小さな花は、通常なら人の背丈ほどに成長し、たくさんの花を付ける植物だ。しかし、限られた環境でも二枚の葉だけで見事に開花している。本来の姿とは程遠いものの、その場所で精一杯生き、花を咲かせた生命力に感動する。植物は発芽した場所から動けない宿命を持つ。厳しい環境でも諦めず、生命を全うする姿は、私たちも見習うべき強さである。

 

SOY Shopでキャンセルと仮登録の注文の自動削除プラグインを作成してみた

/** Geminiが自動生成した概要 **/
オープンソースのネットショップパッケージは自由度が高い反面、軌道に乗った後に予期せぬ問題に直面することがある。記事ではSOY Shopを例に、月商1000万円を超えるとキャンセルや仮登録注文データの蓄積が処理速度に影響することを指摘。標準機能ではこれらのデータは削除されず残り続けるため、パフォーマンス低下を招く。解決策として、一定期間以前の不要な注文データを自動削除するプラグインを独自開発。管理画面を開く度に自動で削除を実行することで、データ量の増加を抑え、サイトのパフォーマンス維持を図る。この事例は、オープンソース利用における自由と引き換えに、独自対応が必要な場面が存在することを示している。

 

畑作を続けることは難しい-後編

/** Geminiが自動生成した概要 **/
露地野菜の連作障害を防ぐため、輪作に水田稲作を取り入れる意義を解説。連作により特定養分の枯渇、病害虫の増殖、土壌物理性の悪化が生じる。水田化は、湛水による還元状態で土壌病害虫を抑制し、有機物の分解促進と養分バランスを整える。水稲の根は土壌物理性を改善し、後作の野菜生育を促進。さらに、水田転換畑の交付金制度を活用すれば、経済的メリットも得られる。水田稲作は連作障害回避の有効な手段であり、持続可能な農業経営に貢献する。

 

目に見えない銅欠乏

/** Geminiが自動生成した概要 **/
植物の銅欠乏は、目に見えにくい問題です。銅はリグニンの合成に関わり、植物の防御力を高めます。また、腐植蓄積にも関与し、健全な発根を促進します。しかし銅の必要量は微量で、主要肥料にも含まれないため、土壌中の銅は不足しがちです。特に畑作では、鉱物由来の銅が供給されにくいため、欠乏が深刻化します。銅欠乏の初期症状は防御力の低下で、害虫の食害や、それに続く病原菌の侵入として現れます。つまり、害虫被害や病気の発生は、銅欠乏の指標となる可能性があります。

 

畑作を続けることは難しい-前編

/** Geminiが自動生成した概要 **/
ネギの連作障害について、施肥設計の見直しによる発根量の向上で土壌環境の改善を目指したが、極端な連作では効果が見られなかった。病原菌の増加以外に、収穫時の養分持ち出しに着目。NPKなどの主要要素以外に、マンガン(Mn)や銅(Cu)などの微量要素の不足が連作障害に関与している可能性を考察し、次編へ続く。

 

Androidの内蔵GPSのキャッシュを削除したい

/** Geminiが自動生成した概要 **/
Android内蔵GPSのキャッシュ問題で、オフライン使用時に以前の緯度経度が返ってくる現象が発生。Geolocation APIのキャッシュ設定変更では解決せず、GPS StatusアプリでGPSキャッシュのリセットを試みた。一時的に改善するも、オフラインでの再発を確認。オンラインでGPS Statusアプリを使用する必要があると推測。Soil & Geoロガーのオフライン使用は5回程度が限度と考えられる。

 

Go言語のSQLiteドライバでデータを挿入してみる

/** Geminiが自動生成した概要 **/
Go言語でSQLiteを操作し、データを挿入する手順を説明しています。まず、MSYS2を用いてSQLiteドライバをインストールします。次に、`sql.Open`でデータベースを開き、`db.Exec`でSQL文を実行します。テーブル作成の例では、`CREATE TABLE`文を変数`s`に格納し、`db.Exec(s)`で実行します。データ挿入の例では、`INSERT INTO`文を変数`t`に格納し、`db.Exec(t)`で実行します。`_ "github.com/mattn/go-sqlite3"`は必須で、手動で追記する必要があります。

 

SQLiteで集計をしてみる

/** Geminiが自動生成した概要 **/
SOY ShopのSQLiteデータベースから、姓が「齋藤」の顧客の注文回数を集計する方法を説明しています。`soyshop_order`テーブルと`soyshop_user`テーブルを`user_id`と`id`で結合し、`WHERE`句で名前を絞り込み、`GROUP BY`句でユーザーごとに集計します。注文金額の合計は`SUM(price)`、注文回数は`COUNT(o.id)`で算出できます。結果として、各「齋藤」さんの注文回数と名前が表示されます。

 

紫色の葉のカタバミ

/** Geminiが自動生成した概要 **/
道端で見かける紫色の葉のカタバミは、アントシアニンを多く含む。通常、アントシアニンは光合成と成長のバランス調整に用いられるが、カタバミの場合は「紫の舞」という園芸品種の可能性が高い。アントシアニンの合成は負担が大きいと思われがちだが、過酷なアスファルト環境では他の植物との競争が少ないため、繁栄できているのかもしれない。カタバミが多い場所では紫色の葉は少ないため、観察場所の環境要因も影響していると考えられる。

 

突然の入水が草たちの住処を奪う

/** Geminiが自動生成した概要 **/
近所の水田で水入れが始まり、それに伴い水路の環境が大きく変化。これまで土が堆積し草が繁茂していた場所は一転して水没し、草たちの生存が危ぶまれている状況です。地域全体の入水が終わるまで水が引くことはなく、多くの植物がその住処を失う危機に直面しています。しかし、厳しい環境の中でも、画面中央のシバは水に浮き、葉の一部を水面に出してたくましく生き残ろうとしている様子が伺えます。この出来事は、自然の営みによる環境変化と、それに適応し力強く生き抜こうとする植物たちの生命力の強さを改めて印象付けるものとなりました。

 

SQLiteのALTER文で新たなフィールドを追加してみる

/** 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'に属するユーザーの情報が抽出されました。

 

Soil & Geoロガーで現在地の土質と地質を調べよう

/** Geminiが自動生成した概要 **/
Android端末で現在地の土壌と地質を調べるWebアプリをHTML5、Service Worker、IndexedDBを用いて開発。GPSで緯度経度を取得し、オフラインでも動作。取得した情報は農研機構の土壌図、産総研の地質図、Googleマップへのリンク生成に利用。現在Android Chromeのみ対応で、ログは10件保持。Service Worker使用による位置情報取得の不具合調査中。開発中のロガー機能の一部公開で、正式版は非公開。機能追加要望や不具合報告は受け付けていない。Githubでソースコード公開中。

 

木の新陳代謝と地衣類たち

/** Geminiが自動生成した概要 **/
木は倒木となってキノコに分解されるだけでなく、生きた状態でも土壌形成に貢献している。木の幹に地衣類が定着し有機物を蓄積、その後にコケが生育する。やがてこの表皮は剥がれ落ち、根元に堆積する。剥がれた表皮を観察すると、地衣類の活動の痕跡である黒ずみが見られる。これは地衣類が生成した有機物が表皮内部に浸透したためと考えられる。このように、木の代謝活動と地衣類の働きが土壌形成の一端を担っていると言える。これは、倒木や落葉による土壌生成に加え、生きた木による緩やかな土壌生成プロセスを示している。

 

攻めるアサガオ

/** Geminiが自動生成した概要 **/
「あの美味しい焼き芋の裏にはアサガオがいる」は、焼き芋の甘さの秘密とアサガオの意外な関係について解説しています。焼き芋の甘さは、サツマイモに含まれるデンプンが糖に変化することで生まれます。この変化を促す酵素β-アミラーゼは、低温で活性化するという特性があります。 通常、収穫後のサツマイモは貯蔵庫で低温保存されますが、実はこの過程でβ-アミラーゼが働き、じっくりと糖化が進むのです。そして、じっくり糖化したサツマイモを高温で焼き上げることで、より甘く美味しい焼き芋が完成するのです。 驚くべきことに、このβ-アミラーゼの研究にアサガオが貢献しています。アサガオはβ-アミラーゼを豊富に含み、研究材料として活用されたことで、酵素の特性や働きが解明されました。 つまり、私たちが美味しい焼き芋を楽しめるのは、アサガオの研究のおかげでもあるのです。

 

エノコロ、それはまるで犬の尻尾のようだ

/** Geminiが自動生成した概要 **/
エノコログサは、夏の終わりを告げる植物として、そのふさふさとした穂が犬の尻尾に似ていることから「狗尾草」という和名がつけられています。C4型光合成を行うため、夏の強い日差しの中でも効率的に光合成を行い、大きく成長します。穂が風に揺れる様子は秋の訪れを感じさせます。 記事「夏に活躍!C4回路の植物たち」では、エノコログサのようにC4型光合成を行う植物は、高温や乾燥に強く、通常の植物よりも効率的に二酸化炭素を固定できるため、夏の暑い時期に繁茂すると説明されています。

 

Go MobileでAndroidアプリの実行までを見てみる

/** Geminiが自動生成した概要 **/
Go Mobileは、GoでAndroidおよびiOSのネイティブアプリを構築するためのツールとライブラリを提供します。クロスコンパイルにより、Goのコードをモバイルプラットフォームのネイティブライブラリに変換し、既存のモバイルアプリに統合することも、スタンドアロンアプリとして構築することも可能です。 OpenGL ES 2や、タッチ、センサーイベントへのアクセスなど、モバイルプラットフォームの機能を活用するためのAPIを提供しています。ただし、Go Mobileはまだ実験的な段階にあり、完全な機能提供には至っていません。詳細な情報や最新の状況は、公式Wikiを参照ください。

 

道路や公園の清掃後

/** Geminiが自動生成した概要 **/
道路や公園の清掃で集められた落ち葉や刈草は、現状では焼却・埋め立てされています。筆者は、これらの落ち葉を土に還せる場所が町にあれば良いと提案しますが、住宅地化や管理、コスト面での困難を指摘。手軽で安価に思える焼却処分は、二酸化炭素排出による温室効果ガス増加という環境負荷をもたらし、将来的な「しっぺ返し」を懸念しています。経済的効率を追求すると環境負荷が増大するという、効率と環境の両立の難しさに直面している現状を訴える記事です。

 

UbuntuでAndroid Debug Bridgeを使ってみる

/** Geminiが自動生成した概要 **/
Ubuntu 18.04でAndroid Debug Bridge (ADB) を使用してAndroidアプリをデプロイする方法を紹介しています。ADBをインストール後、Go Mobileのサンプルコードをエミュレータと実機(ZTE Blade V580, Android 5.1)にデプロイしました。エミュレータではバージョン不一致でアプリは起動しませんでしたが、実機では開発者モードを有効化し、USBデバッグをONにすることで、`gomobile install`コマンドでアプリのデプロイと起動に成功しました。

 

SQLiteでWHER句を使ってみる

/** Geminiが自動生成した概要 **/
SQLiteのWHERE句の使い方を解説した記事の要約です。SELECT文で特定のデータを取得する方法を説明し、WHERE句で条件を指定する方法を示しています。名前の取得、名前と苗字の両方の取得、特定の名前のデータ取得などを例に挙げ、WHERE句の基本的な使い方を解説しています。さらに、LIKE演算子とワイルドカード%を使った部分一致検索、AND演算子による複数条件の指定、!=演算子による条件の否定、NOT LIKE演算子による否定一致検索などを紹介しています。具体的なSQL文と実行結果を示しながら、それぞれの演算子の使い方を分かりやすく説明しています。

 

発根に関することをまとめてみると

/** Geminiが自動生成した概要 **/
名古屋大学の研究チームは、植物ホルモン・オーキシンが植物の発根を促進する詳細なメカニズムを解明しました。オーキシンは、植物の細胞壁を緩める酵素を活性化させることで発根を促進します。 具体的には、オーキシンが細胞内の受容体と結合すると、特定の転写因子が活性化されます。この転写因子は、細胞壁を分解する酵素群の遺伝子の発現を促し、細胞壁を緩めます。これにより細胞の伸長が起こりやすくなり、発根が促進されることが分かりました。この発見は、発根を制御する農薬の開発に貢献する可能性があります。

 

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

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

 

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

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


Powered by SOY CMS  ↑トップへ