ブログ内検索

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

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

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

 

最高の開発環境を求めて2024

/** Geminiが自動生成した概要 **/
ChromebookとRaspberry Pi 5の組み合わせが最高の開発環境。ChromebookのLinux開発環境(Crostini)の制限をRaspberry Pi 5をサーバーにすることで回避。複数人でRaspberry Pi 5にアクセスし、Micro Editorを使って開発することで、小中学生でも容易にコーディングが可能に。ChromebookのSSH機能強化も貢献。Raspberry Pi 5のストレージはNVMeに換装することで信頼性向上。以前のRaspberry Pi 4B単体での開発環境に比べ、高速でストレスフリー。Chromebookはターミナルとして使用し、開発環境はRaspberry Pi 5に集約することで、ChromebookのPowerwashの影響も回避。

 

木偏に匊で椈

/** Geminiが自動生成した概要 **/
ブナ科は、ブナ、コナラ、カシ、クリなどを含む被子植物の科で、10属約900種が知られています。主に北半球の温帯に分布し、常緑または落葉の高木または低木です。葉は互生し、単葉で鋸歯縁または全縁です。花は単性花で、風媒花です。果実は堅果で、殻斗と呼ばれる構造に一部または全部が包まれます。ブナ科の植物は、木材資源、食用、観賞用など、人間にとって有用なものが多く、森林生態系においても重要な役割を果たしています。

 

マイクロビットのワークショップとこれからの開発

/** Geminiが自動生成した概要 **/
この記事では、筆者が小学生向けのプログラミングワークショップで息子に職業体験の機会を与えた経験と、今後の農業IoT開発への展望について語っています。 ワークショップでは、マイクロビットとスクラッチを用い、息子は教材の準備や参加者のサポートなどを行いました。この経験を通して、子供向けの高度な職業体験の場を提供できる可能性を感じたようです。 また、農業IoTについては、人手不足解消だけでなく、土壌環境改善による作業量の削減こそが重要だと指摘。効率的な肥料の使用など、化学の知識を取り入れた開発が求められると訴えています。 筆者は今後もマイクロビットを用いたプログラミング教育と、農業における化学の知識の探求を続け、農業IoTの発展に貢献したいと考えています。

 

目の疲れのサプリメントのルテイン

/** Geminiが自動生成した概要 **/
記事は、目の疲れ解消のサプリメント成分、ルテインについて解説しています。 ルテインは緑黄色野菜に含まれるカロテノイドの一種ですが、豊富に含む食材は限られるため、日常的な摂取は難しいとされています。 ルテインは体内で生成できないため、食事やサプリメントから摂取する必要があります。 ヨモギはルテインを豊富に含み、アルツハイマー病予防効果も期待されています。 鉄分不足解消には鉄分の多い食品を食べる必要があり、野菜だけでは不十分です。

 

SOY CMSで管理画面のIPアドレス制限を追加しました

/** Geminiが自動生成した概要 **/
SOY CMSの管理画面に、IPアドレス制限機能が追加されました。 従来の.htaccessによる制限だと、出張先などIPアドレスが異なる場所からアクセスする際に、都度設定変更が必要でした。 新機能では、管理画面から一時的に制限を解除する「アンロック」が可能になり、利便性が向上しました。 解除方法は、セキュリティに配慮し、URLを手動で作成する方式を採用しています。 今回のアップデートにより、柔軟かつ安全な管理画面へのアクセス制限が可能になりました。ダウンロードは公式サイトからどうぞ。

 

MCreator 2022.2を使ってみた

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

 

キーボード一体型のRaspberry Pi 400を購入した

/** Geminiが自動生成した概要 **/
子供がRaspberry Pi 4B 8GBでマインクラフトをプレイするため、発熱と火傷が心配で購入に至った。ケースに入れているものの電子工作がしにくいという欠点もあった。マイクラを通してプログラミングに興味を持ち、Pythonでコードを書きながらプレイするようになった。Raspberry Pi 400の発熱がどれ程なのか検証したい。

 

メインの開発機をRaspberry Pi 4Bにしてみる

/** Geminiが自動生成した概要 **/
## プログラミング教育におけるARM+Debian+Pythonの可能性(要約) 記事は、高性能化・低価格化したRaspberry Piに代表されるARMデバイスが、プログラミング教育に最適であると主張しています。 その理由は以下の3点です。 1. **安価で入手しやすい:** Raspberry Piは数千円で入手でき、故障時のリスクも低い。 2. **DebianベースのOS:** 安定性・信頼性が高く、豊富なソフトウェアが利用可能。 3. **Pythonの標準搭載:** 初心者に優しく、実用的なプログラミング言語として人気が高い。 これらの要素により、ARMデバイスは教育現場におけるプログラミング学習のハードルを下げ、生徒の学習意欲向上に貢献できると結論付けています。

 

プログラミング教育用のノートパソコンを探せ

/** Geminiが自動生成した概要 **/
Minecraft: Pi Editionを教材にプログラミング教育をしたいが、Raspberry Piは持ち運びに不便なため、代わりのノートパソコンを探している。Ubuntuが動作する中古PCでは性能不足が懸念される。そこで注目しているのが、QualcommのSnapdragonを搭載したSamsungの格安ノートPC「Galaxy Book Go」だ。ARMアーキテクチャを採用し、Ubuntuも動作する可能性があり、Raspberry Piの自由度とChromebookの価格帯の中間をいくマシンとして期待できる。

 

Minecraft: Pi Edition: Reborn on Ubuntu

/** Geminiが自動生成した概要 **/
記事では、子供向け科学雑誌に掲載された「Minecraft: Pi Edition: Reborn」(マイクラリボーン)を、Raspberry Piだけでなく、普段使いのUbuntuパソコンでも動作させた体験談を紹介しています。 記事では、マイクラリボーンがUbuntu 20.04以降で動作すること、amd64、arm64、armhfのdebファイルが配布されていることから、Intel Core i5搭載のUbuntuパソコンにインストールして動作確認を行ったことが記載されています。 その結果、Raspberry Pi版と同様に動作し、ローカルネットワーク経由で一緒に遊ぶこともできたと報告しています。 そして、この経験から、教育用パソコンにおけるARM、Debian、Pythonの重要性について、次回以降の記事で考察していくことを示唆しています。

 

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

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

 

Raspberry Pi 4 Model Bを購入した

/** Geminiが自動生成した概要 **/
子供に初めて与えるPCとしてChromebookを検討していた筆者は、Micro:bitのシリアル通信の課題からRaspberry Pi 4 Model B(8GB)を購入。GPIOピンによる電子工作の可能性、安価でLinux学習に適した点を評価している。Raspberry Piはクレジットカード大の基盤に主要部品を搭載し、microSDカードにOSをインストールして使用する。高スペックゆえの発熱対策として冷却ファン付きケースも購入。Raspberry Piを子供用PCとするには、親のLinux(Debian系)知識やハードウェア管理の理解が必要と結論づけている。

 

コロナウィルスについてを知る再び

/** Geminiが自動生成した概要 **/
ファビピラビルは、RNA依存性RNAポリメラーゼを選択的に阻害する抗ウイルス薬である。インフルエンザウイルスに対して開発されたが、エボラ出血熱やCOVID-19等の様々なRNAウイルス感染症への有効性が示唆されている。ウイルスRNAポリメラーゼに取り込まれることでRNA鎖の伸長を阻害し、ウイルスの複製を抑制する。広域スペクトルの抗ウイルス活性を持つ一方、催奇形性の懸念から妊婦への投与は禁忌とされている。日本ではアビガンとして承認されており、新型または再興感染症に対する備蓄薬としての役割も担っている。

 

内在性レトロウィルスについてを知る

/** Geminiが自動生成した概要 **/
この記事では、植物の生理現象を理解する上でアサガオが優れたモデル生物であることを解説しています。アサガオは、成長が早く、様々な変異体があり、遺伝子情報も豊富であるため、遺伝学、発生学、生理学などの研究に適しています。具体的には、短日植物であるアサガオを使って、花成ホルモン「フロリゲン」の研究が行われ、フロリゲンの存在が証明されました。また、アサガオの様々な色の花は、色素の生合成経路の研究に役立ち、遺伝子の変異による表現型の変化を学ぶことができます。さらに、アサガオはつる植物であり、植物の成長や運動のメカニズムを研究するのにも適しています。このように、アサガオは、植物科学の様々な分野の研究に貢献している重要な植物です。

 

mRNAワクチンの技術の凄さに感動した

/** Geminiが自動生成した概要 **/
免疫向上に亜鉛が重要である。亜鉛は細胞分裂やタンパク質合成に関与し、免疫細胞の活性化に不可欠。特にT細胞、B細胞、NK細胞など、様々な免疫機能に影響を与える。亜鉛不足は免疫不全を招き、感染症リスクを高める可能性があるため、バランスの良い食事で亜鉛を摂取することが重要。野菜の栄養価を高めることで亜鉛摂取量を増やし、免疫力を向上させることが感染症予防に有効と考えられる。

 

セントラルドグマを踏まえてコロナウィルスについてを知る

/** Geminiが自動生成した概要 **/
コロナウイルスは一本鎖+鎖RNAウイルスで、宿主細胞に侵入すると自身のRNAをmRNAとして利用し、リボソームでウイルスのタンパク質を合成させる。同時に複製用のRNAも作成し、ウイルス自身を大量に複製する。この過程で宿主細胞のDNAの複製やタンパク質合成は停止させられる。免疫は、このウイルス侵入への防御機構である。自然免疫は侵入したウイルスを直接攻撃し排除する初期防御で、獲得免疫は特定のウイルスを記憶し、再感染時に迅速に排除する高度な防御システムとなる。ウイルスは細胞表面の受容体に結合することで細胞内に侵入する。

 

コロナウィルスについてを知る

/** Geminiが自動生成した概要 **/
コロナウイルスはコロナウイルス科に属する一本鎖プラス鎖RNAウイルス(ssRNA(+))です。RNAウイルスはDNAウイルスに比べ変異しやすく、さらに一本鎖であるため複製ミスが修復されず、変異が助長されます。コロナウイルスは既知のRNAウイルスの中で最大級のため、変異しやすい性質を持ちます。ssRNA(+)は、RNAを直接mRNAとして利用できるため、宿主細胞内で速やかにタンパク質合成を開始できます。コロナという名前の由来は、ウイルスの表面にある突起が王冠(コロナ)のように見えることにちなんでいます。

 

WSLのApacheをWindows起動時に自動起動させる [WSL/Ubuntu環境]

/** Geminiが自動生成した概要 **/
Windows起動時にWSL上のApacheを自動起動させる方法。まず、sudoers.dディレクトリにmy-auto-startファイルを作成し、Apache起動コマンドをパスワードなしで実行できるように設定する。次に、.bashrcファイルにApache再起動コマンドを追加。最後に、スタートアップフォルダにmy-auto-start.vbsファイルを作成し、WSLを起動するVBScriptを記述する。Windows再起動後、Apacheが自動的に起動する。

 

WSL2でSOY CMSの開発環境を作ってみた

/** Geminiが自動生成した概要 **/
さくらのVPSにUbuntu 18.04を導入し、SOY CMSを稼働させる手順を解説した記事の要約です。まず、OSインストール後、Apache、PHP、必要なPHP拡張機能、MySQLをインストールします。次に、MySQLにSOY CMS用のデータベースとユーザーを作成し、ファイアウォールでHTTPとHTTPSを許可します。SOY CMSのzipファイルをダウンロードし、ドキュメントルートに展開後、ブラウザからインストールを実行します。SQLite版ではなくMySQL版を利用するため、データベースの設定が必要です。最後に、サイトURLと管理者情報を入力してインストールを完了します。記事ではコマンド操作の詳細やトラブルシューティングも紹介されています。

 

SOY Shop版HTMLキャッシュプラグインを追加しました

/** Geminiが自動生成した概要 **/
SOY Shop 2にHTMLキャッシュプラグインが追加され、高速化が可能になった。カートウィジェットの問題は非同期通信で解決し、カート内商品数と合計金額をJSONで取得できる。ヤマトリップショップではこの機能とLazyLoadプラグイン、jpegoptimにより、ページ表示速度が3.3秒から1秒以下になり、PageSpeed InsightsのスコアもPCで90を超えた。スマホは90に届かなかったが、Gueztliによる画像最適化で改善が見込まれる。SOY Shop 2正式版は近日公開予定。

 

【SEO対策】HTMLの圧縮

/** Geminiが自動生成した概要 **/
HTMLの圧縮は、Webページの表示速度向上とデータ転送量削減に効果的なSEO対策です。HTMLソースコードには、可読性向上のために改行やタブが含まれていますが、これらは表示には不要なため、転送前に削除することでデータ量を減らせます。SOY CMSでは、HTML圧縮プラグインを利用することで、テンプレート編集時の可読性を維持しつつ、転送時には自動的にHTMLを圧縮できます。このプラグインは、HTMLキャッシュプラグインや静的化プラグインと併用することで、圧縮処理の負荷を軽減し、更なる高速化を実現します。HTML圧縮プラグインを含むパッケージはsaitodev.co/soycms/からダウンロード可能です。

 

【SEO対策】IPv6

/** Geminiが自動生成した概要 **/
IPv6はSEO対策に有効な通信速度改善策。IPv4アドレス枯渇問題を解決する後発の規格で、理論上アドレス割り当ては無限大。16ビット単位の16進数表記で、IPv4より最適化されている。saitodev.coのようなWebサイトアクセスでは、DNSサーバでドメイン名からIPv4/IPv6アドレスを取得し、サイトサーバへアクセスする。IPv6設定はサーバ会社ごとに異なるが、DNS設定ではIPv4をAレコード、IPv6をAAAAレコードに登録する。設定確認は`ping -4/-6 ドメイン名`コマンドで可能。

 

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

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

 

【SEO対策】HTTP/2

/** Geminiが自動生成した概要 **/
HTTP/2は、HTTP/1.1以前のバージョンに比べて、複数のファイルを並列でダウンロードできるため、ウェブサイトの表示速度を大幅に向上させます。これにより、リクエスト回数とインターネット全体の回線使用量が削減されます。しかし、一度に送受信されるデータ量が増えるため、画像サイズの最適化が重要になります。ApacheサーバーでHTTP/2を有効にする方法は、別記事で紹介されています。より詳細な情報は、オライリーの"Real World HTTP"で学ぶことができます。現在、LiteSpeedのようなサーバーでは、さらに高速なHTTP/3(QUIC)が利用可能ですが、当サイトはApacheのHTTP/3対応を待っています。

 

【SEO対策】データの転送量の削減の為の圧縮

/** Geminiが自動生成した概要 **/
個人事業主がSEO対策として行ったデータ転送量削減策を紹介。コンテンツの充実を最優先としつつ、今回はデータ圧縮に着目。GoogleのPageSpeed Insightsを参考に、Brotliアルゴリズムを用いてデータ転送量の削減を試みた。Brotliは対応サーバーが限られるため、Deflateやgzipも選択肢として提示。HTMLや画像のデータ量削減は今後の課題とし、データ転送に関する更なる改善策を予告している。

 

ROTEKのUSB顕微鏡を購入した

/** Geminiが自動生成した概要 **/
安満遺跡公園でのイベントで好評だった実体顕微鏡に続き、ROTEKのUSB顕微鏡を購入。パソコン画面で観察できるため、複数人での共有が可能。植物の葉の表面の毛を観察する機会があり、タイムラグはあるものの、おおむね良好な結果を得た。イベントでの活用にも期待。

 

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

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

 

Windows10のApache2.4でVirtual Hostを設ける

/** Geminiが自動生成した概要 **/
Windows10のApache2.4でバーチャルホストを設定する方法。httpd.confの`#Include conf/extra/httpd-vhosts.conf`の#を外し、httpd-vhosts.confを編集する。既存の`<VirtualHost *:80>`の設定に加え、新たな`<VirtualHost *:81>`ブロックを追加し、DocumentRootに任意のディレクトリを指定、アクセス許可を設定する。追加のバーチャルホストは、Listenポートと`<VirtualHost>`ブロックを追加することで設定可能。コマンドプロンプトで`httpd -k restart`を実行しApacheを再起動後、ブラウザで`localhost:81`等にアクセスし、意図したファイルが表示されれば設定完了。

 

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

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

 

サイトで業者を選ぶのに、何を参考にする?

/** Geminiが自動生成した概要 **/
不用品回収業者を探す際、検索上位の「最安値」を謳う業者に惹かれたが、高額な見積りに遭遇。その後、「くらしのマーケット」で人柄が伝わるコメントや高評価の口コミのある業者を選び、満足のいく結果を得た。 この経験から、価格競争の激しいサービス業のサイト構築においては、価格ではなく人柄をアピールすることの重要性を学んだ。ブログで個性を出し、顧客とのエピソードを交え信頼感を醸成する。最安値を謳うより、他社との差別化を明確にする。そして、顧客との良好な関係構築に基づく口コミ獲得とアフターフォローが、成功の鍵となる。

 

JavaScriptのAnalyzerNodeで音に反応して動きを変えてみる

/** Geminiが自動生成した概要 **/
Web Audio APIのAnalyzerNodeを用いて、音声でアニメーションを制御する方法を紹介しています。 円が画面端で跳ね返る単純なアニメーションに、音声の周波数データ解析を組み込みました。 周波数データが一定閾値を超えると、円の進行方向がランダムに変化します。 音が途切れてもデータが残るため、setTimeoutを用いて一定時間反応しないように制御しています。 具体的には、`analyser.getByteFrequencyData(data)`で周波数データを取得し、`data[20]`の値が閾値を超えた場合に円の移動方向を反転させています。

 

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

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

 

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

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

 

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

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

 

Go言語 + Selenium + Agoutiでブラウザ操作の自動化

/** Geminiが自動生成した概要 **/
Go言語でSeleniumとAgoutiを使ってChromeブラウザを自動操作する方法を解説しています。まずJavaとSelenium Serverをインストールし、起動確認を行います。次にChromeドライバーをインストールし、環境変数Pathにドライバのパスを追加します。Go言語のパッケージ管理ツールgo getでAgoutiパッケージを取得後、サンプルコードを作成・実行します。サンプルコードでは、AgoutiでChromeDriverを起動し、新しいページを開いてGoogleのトップページに遷移させる処理を行っています。実行結果として、Chromeブラウザが起動しGoogleのトップページが表示されます。

 

チャットワークとGoogle Apps Scriptで音声入力で投稿してみる

/** Geminiが自動生成した概要 **/
Googleドキュメントの音声入力とGoogle Apps Scriptを連携させ、チャットワークへの投稿を音声で行う方法を紹介。 「チャットワーク(投稿内容)終了」と話しかけると、内容がチャットワークに送信されるスクリプトを作成。1分毎にスクリプトが実行され、ドキュメントの内容をチェック、投稿後ドキュメントはクリアされる。APIトークン、ルームIDの設定が必要。音声入力はドキュメントのツールから利用可能。Androidスマホでは音声入力の設定を事前に確認する必要がある。この方法で、両手が塞がっている状況でもチャットワークに投稿可能。実用時はタスク登録ルールやToの指定が推奨される。

 

Go言語で変数

/** Geminiが自動生成した概要 **/
Go言語で変数の使い方を解説しています。整数型(int)は数値、文字列型(string)はダブルクォートで囲みます。実数型(float64)は小数点を含む数値、論理値型(bool)はtrue/falseを扱います。変数を宣言し、値を代入し、print関数で表示します。値を代入しないbool型変数はfalseになります。

 

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

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

 

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

/** Geminiが自動生成した概要 **/
妻にプログラミングを教えるのは、SOY Shop開発への協力を期待しているからではなく、プログラミングを通して「相手に的確に指示を伝える能力」を身につけてほしいからだ。事務職希望者が多い一方、経営者側は事務作業をコストと捉える現状がある。プログラミングは、パソコンを部下に見立て、明確な指示を出す訓練となる。これは事務作業の効率化にも繋がる。また、電話での行き違いによる業務の非効率性を指摘し、プログラミング的思考で事前に情報を整理し伝えることの重要性を説く。最終的には、どんな業種でも発生する事務作業を効率化し、円滑なコミュニケーション能力を養うことが目的である。

 

続・Ideapad 720SにUbuntuを入れてWi-Fiを使用する

/** Geminiが自動生成した概要 **/
modprobeコマンドはLinuxカーネルモジュールを管理する。カーネルモジュールは、デバイスドライバやファイルシステムなど、カーネルの機能を拡張するコンポーネント。modprobeを用いて、これらのモジュールを動的にロードまたはアンロードできる。これは、システムリソースを効率的に使用し、必要に応じて機能を追加/削除する柔軟性を提供する。 ArchWikiのカーネルモジュールページでは、モジュールの種類、ロード方法、設定ファイル、トラブルシューティングなど、詳細な情報が提供されている。

 

Ideapad 720SにUbuntuを入れてWi-Fiを使用する

/** Geminiが自動生成した概要 **/
Lenovo Ideapad 720SにUbuntu 18.04β版をインストールしたが、内蔵Wi-Fiアダプタは使用できなかった。Wi-Fiアダプタ自体はRealtek製で物理的には動作しているものの、対応するドライバが見つからない。ArchWikiやRealtek、Githubのリポジトリを調査した結果、rtl8821ceドライバが必要だとわかったが、Ubuntuに導入できる形では提供されていない。そのため、現時点ではUSB接続のPocketWifiを利用してインターネットに接続している。

 

Ryzen搭載のノートパソコンにUbuntuのインストールで苦戦した

/** Geminiが自動生成した概要 **/
Ryzen 5 2500U APU搭載のノートPCにUbuntuをインストールすると、フリーズが発生し失敗した。翌朝、研究すると、Ryzen APUにはLinuxカーネル4.15のAMD GPUドライバーが必要であることが判明。Ubuntu 18.04のβ版イメージを作成し、UEFIから起動させるとインストールが成功した。現在は問題なく動作するが、正式版がリリースされる4月末までは仕事を保留する。

 

COMODO Internet Securityを利用しながらGoで書かれたプログラムを実行する

/** Geminiが自動生成した概要 **/
COMODO Internet SecurityがGoプログラムの実行をブロックする問題への対処法。COMODOの「アプリケーションのブロック解除」画面で、ブロックされたGoプログラムにチェックを入れ、「すべてのセキュリティコンポーネントのブロックを解除する」を選択する。これでAtomからの実行は可能になる。ただし、go buildで作成したバイナリは実行毎にブロックされるため、Goバイナリを無条件で実行する方法については未解決。

 

Ubuntuでタッチパッドでアイコンの上を軽く触れるだけでドラックしてしまう問題について

/** Geminiが自動生成した概要 **/
Ubuntu 17.10にアップグレード後、ASUS U37VCのタッチパッドで、軽く触れるだけでアイコンがドラッグされる問題が発生。Synapticsタッチパッドの設定ファイル(/etc/X11/xorg.conf.d/70-synaptics.conf)の"FingerHigh"オプションの下に、"MaxTapTime" "50"を追加し、再起動することで解決。このパラメータはタップ認識の強さを設定するもので、値を小さくすると誤認識を減らせる。設定反映には再起動が必要。

 

ASUS TransBook T304UAのキーボードが使用できない時の対処

/** Geminiが自動生成した概要 **/
ASUS TransBook T304UAのキーボードが突然使えなくなった場合の対処法。Windowsにログイン後、スタートメニューから「デバイス マネージャー」を開く。キーボードが認識されている場合、それをアンインストールし、PCを再起動する。これでキーボードが再び使えるようになるはずだ。もしデバイス マネージャーでキーボードが認識されていない場合は、物理的な故障の可能性が高いため、修理に出すのが賢明である。

 

タンポポの最初で最後の大きな旅の終焉

/** Geminiが自動生成した概要 **/
窓を開けて換気していたら、タンポポの種がパソコンの上に落ちてきた。春の訪れを感じながら、学生時代に学んだタンポポの種の飛散距離について思い出す。平均飛散距離は10メートルだが、平均値は外れ値の影響を受けやすく、実際にはもっと遠くまで飛ぶ種もある。もしかしたら、引っ越し業者の車に乗って遠くから来たのかもしれない、と想像を膨らませる。そして、このブログ記事が1000回目の投稿であることを記し、パソコンの上の種は土のある場所に移した。

 

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

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

 

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

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

 

人はネットワーク内から新しい信用のあり方を発見した

/** Geminiが自動生成した概要 **/
ビットコインの信用は、ブロックチェーンという技術に基づいています。取引記録をブロックにまとめ、暗号技術を用いて安全性を確保し、世界中のコンピュータに分散保存することで改ざんを防ぎます。マイナーと呼ばれる人々がトランザクションを検証しブロックチェーンに追加することで、ビットコインが生成されます。この検証作業には高度な計算が必要で、成功したマイナーは報酬としてビットコインを受け取ります。この報酬システムと分散管理によって、ビットコインの信用と不正防止が実現されています。

 

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

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

 

SOY CMSのサイトのバックアップをDropboxで行う

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

 

SOY Shopで顧客毎にファイルを保存できる様にしました

/** Geminiが自動生成した概要 **/
SOY Shop用のストレージプラグインにより、顧客ごとにPDFやZIPなどのファイルを保存・管理できるようになりました。顧客専用ページでファイルのアップロードが可能で、ダウンロードURLの発行にも対応。管理画面からはelFinderを用いてファイルマネージャ形式でアクセスできます。ファイル保存パスは`/サイトID/files/user/顧客ID`です。アップロード可能なファイル形式の仕様は未確定ですが、プラグインは利用可能です。パッケージはGitHub(https://github.com/inunosinsi/soycms/tree/master/package)で公開されています。

 

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

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

 

インターネット内に流れているパケットを傍受してみる

/** Geminiが自動生成した概要 **/
WordPressなどのCMSは総当り攻撃の標的になりやすく、特にログインページがhttpの場合、IDとパスワードが傍受されやすい。Wiresharkのようなツールを使えば、ネットワーク上のパケットを解析し、http通信のログイン情報を簡単に盗み見ることが可能。httpsは通信を暗号化するため、傍受されても内容は解読できない。カフェなどのフリーWi-Fiでhttpのログインページを使うのは危険。https化はセキュリティ対策だけでなく、HTTP/2.0による高速化にも繋がるため重要。また、メールもhttpと同様に暗号化されていないと傍受される可能性があるため注意が必要。

 

CMSに不正にログインした後、何をする?

/** Geminiが自動生成した概要 **/
SOY CMSに不正ログイン後、ファイルマネージャからのPHPアップロードは不可だが、フロントコントローラ(index.php)に悪意あるPHPコードを埋め込み可能。これにより、サイト閲覧時に勝手にメール送信などの踏み台攻撃が可能になる。対策はindex.phpの書き込み権限を外すこと。SOY ShopのテンプレートやPHPモジュールも悪用されうる。

 

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

/** Geminiが自動生成した概要 **/
Go言語でサーバのバックアップを作成するため、SSH接続を用いたファイルコピーから、Zipファイルのダウンロード方式に変更された。 `golang.org/x/crypto/ssh` パッケージを利用し、SSH接続を確立、リモートでコマンドを実行するテストコードが作成された。このコードは、指定したサーバに接続し、空のファイル`empty.txt`を作成することに成功。今後の開発は、このSSH接続とコマンド実行機能をベースに、Zipファイルのダウンロード処理を実装する方向で進められる。

 

Go言語でサーバのバックアップの仕組みを作ろう。ファイルの更新編

/** Geminiが自動生成した概要 **/
Go言語でサーバのバックアップスクリプトを改良し、ファイルの更新日時をチェックするようにした。前回は全ファイルをコピーしていたが、今回はバックアップ元と先のファイルの更新日時を比較し、元ファイルが新しい場合のみコピーする処理を追加。`os.FileInfo`の`ModTime()`メソッドで更新日時を取得し、Unixタイムに変換して比較することで実現した。コード例では`filepath.Walk`でファイルを走査し、更新日時が新しいファイルのみ`io.Copy`でコピーしている。

 

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を左右に配置する理想的な開発環境を実現した。今後の記事では、環境構築の詳細な手順を公開予定。

 

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

/** Geminiが自動生成した概要 **/
中学生にプログラミングを教える中で、整数の割り算による正解率計算で予期せぬ結果になる例を紹介。C言語で整数の4割る5に100を掛けても、結果は0.000000%と表示される。これは整数演算で切り捨てが発生するため。また、0.2 + 0.12 の計算でも、結果は0.3200001と微妙にずれる。これはコンピュータが2進数で小数を表現する際の誤差によるもの。これらの例は、プログラミングを通して数学の理解を深める機会となるが、詳細な説明には数学的知識が必要となる。

 

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

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

 

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のインストールについて。

 

SSHの鍵認証でログイン設定

/** Geminiが自動生成した概要 **/
外部からのSSHログインを安全にするため、鍵認証を設定する方法を解説。新規アカウント(hoge)作成後、ssh-keygenで鍵ペアを生成し、公開鍵をサーバにコピー、authorized_keysにリネーム、パーミッション変更。その後、/etc/ssh/sshd_configでPasswordAuthenticationをnoに変更し、sshdを再起動することでパスワード認証を無効化。WindowsではPuTTYgenを使用。無線LANのセキュリティ確認も重要。

 

SSHで外部のネットワークからログインできるようにする

/** Geminiが自動生成した概要 **/
Sambaサーバに外部からSSH接続できるよう設定した手順の記録。まずSambaサーバにSSHをインストールし、プライベートIPアドレス(192.168.11.8)を設定、ルーターのIPアドレスをゲートウェイに設定した。次に外部からのSSH接続のため、rootログインを禁止し、無線LANルーターでポートフォワーディング(外部ポート71823→内部ポート22)を設定。外部IPアドレス(例:127.0.0.1)へポート71823を指定してSSH接続を確認した。パスワード認証はセキュリティ的に不安なので、次回は鍵認証を設定予定。

 

使わなくなったパソコンにSambaを入れて、ファイル共有用のサーバを構築してみた

/** Geminiが自動生成した概要 **/
使わなくなったWindows7マシンにUbuntuをインストールし、Sambaでファイル共有サーバーを構築する方法。 手順は、Ubuntuインストール後、端末でSambaをインストールし、共有フォルダ`/home/share`を作成、パーミッションを設定。`/etc/samba/smb.conf`を編集し、ゲストアクセスを許可する設定を追加。Sambaを再起動し、ファイアウォールで必要なポートを開放。自動起動設定も実施。 Windowsからは、ネットワークドライブの割り当て機能を使い、`\\SambaサーバーのIPアドレス\Share`でアクセス可能。`Share`部分はsmb.confで設定した共有名。

 

Goのgoroutineで平行処理を試してみる

/** Geminiが自動生成した概要 **/
Goのgoroutineを用いた並行処理の練習として、偶数奇数判定プログラムを例に解説。通常は上から順に実行されるコードを、計算(sender)と表示(receiver)に分け、channelで繋ぐことで並行処理を実現。senderは計算結果をchannel(ch,ch2)に送り、receiverはselect文でch,ch2から値を受け取り表示する。例ではgoroutineの利点は活かされていないが、マルチコア風な処理を記述できた。

 

サイバー攻撃の前にパスワードの管理を

/** Geminiが自動生成した概要 **/
Facebook乗っ取り広告をきっかけに、パスワード使い回し問題の危険性を指摘。FacebookやTwitterで盗まれたパスワードがGmail等の重要サービス不正アクセスに繋がり、個人情報漏洩やサイト乗っ取り、踏み台攻撃に発展する可能性を解説。さらに、知人PCにログイン状態のGmailから重要書類を発見した事例を紹介し、ログアウトの重要性とパスワード管理の徹底を強調。Webサービス利用時は、サービス毎に複雑なパスワードを設定し、メモ帳等での管理を避けるべきだと警鐘を鳴らしている。

 

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

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

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

Powered by SOY CMS   ↑トップへ