ブログ内検索

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

限りなき旅路

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

 

最高の開発環境を求めて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の影響も回避。

 

Raspberry PiでScratch3.0の開発環境を構築する

/** Geminiが自動生成した概要 **/
Raspberry PiにScratch3.0の開発環境を構築する方法を解説しています。 Node.jsのバージョンはScratch3.0との互換性のため14.20.1を使用し、パッケージ管理にはYarnを採用しています。 まずNode.jsとnpmをインストール後、nを使ってNode.jsのバージョンを管理します。次に、scratch-vmとscratch-guiのリポジトリをクローンし、yarn linkとyarn installコマンドで依存関係を解決します。 最後にyarn startコマンドでVMを起動し、ブラウザからhttp://localhost:8601/ にアクセスするとScratch3.0の画面が表示されます。 記事ではyarn installに時間がかかること、エラーが発生しても問題ない場合があることなど、注意点も解説されています。

 

Minecraft: Pi Edition: RebornのSDKを使ってゴールデンシャベルを追加してみた

/** Geminiが自動生成した概要 **/
この記事は、Minecraft: Pi Edition: Reborn (MCPI++) のSDKを使って、ゲームに「ゴールデンシャベル」を追加する方法を解説しています。 まず、MCreatorを使って16x16ピクセルのゴールデンシャベルのアイコン画像を作成し、既存のitems.pngに挿入します。次に、C++で書かれたgoldenshovel.cppを作成し、アイテムの追加、アイコンの設定、ゲーム内での表示名などを定義します。最後に、CMakeを使ってコードをコンパイルし、生成されたライブラリファイルをmodsディレクトリに配置することで、ゴールデンシャベルがゲームに追加されます。 記事では、コードの各部分がどのような役割を持っているか、また画像ファイルやCMakeLists.txtの設定方法などが詳しく解説されています。

 

ChromebookのCrostiniでMicro:bitのフラッシングをしてみた

/** Geminiが自動生成した概要 **/
ChromebookのCrostiniでMicro:bitのフラッシングを行う際、Crostiniは仮想環境のためUSBを直接認識できない。そこで、Crostini上のMicro:bitの認識先である`/mnt/chromeos/removable/MICROBIT/`を`uflash`コマンドのターゲットとして指定することでフラッシングが可能になる。

 

ChromebookでMinecraft: Pi Edition: Rebornを動かしてみた

/** Geminiが自動生成した概要 **/
LXC (Linux Containers) は、単一のLinuxカーネル上で複数の分離されたLinuxシステム (コンテナ) を実行するためのOSレベルの仮想化手法です。各コンテナは独立したシステムリソース (CPU、メモリ、ネットワークなど) を持ち、ホストOSや他のコンテナから隔離されます。 LXCは、chrootのような従来の分離機構よりも軽量で効率的でありながら、仮想マシンよりもオーバーヘッドが少なくなっています。これにより、開発、テスト、運用環境において、アプリケーションの移植性、セキュリティ、リソース効率を向上させることができます。LXCは、DockerやLXDなどのコンテナ技術の基礎となっています。

 

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

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

 

Chromebookはプログラミングの教育の端末として向いているか?を調査する

/** Geminiが自動生成した概要 **/
ChromebookのLinuxアプリで日本語入力ができない問題を解決する方法を解説した記事の要約です。 ChromebookのLinux環境では標準で日本語入力ができません。この記事では、fcitx-mozcをインストールすることで日本語入力できるようにする方法を、スクリーンショット付きで丁寧に説明しています。 まず、Linuxターミナルを開き、必要なパッケージをインストールします。次に、設定ファイルを作成・編集し、fcitxを起動するように設定します。最後に、Chromebookを再起動し、入力メソッドの設定で日本語(Mozc)を選択すれば、日本語入力が可能になります。記事では、詳細なコマンドや設定内容、トラブルシューティングについても触れています。

 

UbuntuでMySQLのアップグレードが停止する原因を探る

/** Geminiが自動生成した概要 **/
Ubuntu 20.04の開発環境で、MySQL 8系のapt upgradeが停止する問題が発生。原因はMySQLの設定ファイル`mysqld`セクションに`skip-grant-tables`が設定されていたため。この設定はパスワード認証を無効化するためのもので、アップグレード処理と競合した模様。`skip-grant-tables`をコメントアウトすることで問題は解決した。開発環境ではパスワード入力を省略するために設定していたが、セキュリティリスクの高い設定のため、本来の使い方ではない。

 

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

 

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 CMSでMySQL8系に接続できない時の対処

/** Geminiが自動生成した概要 **/
MySQL8系にアップグレード後、SOY CMSが「データベースの接続に失敗しました」エラーで起動しない場合の対処法。原因はMySQL8.0の認証方式変更にPHPのPDOが対応していないため。Ubuntu環境で、MySQLの設定ファイル(/etc/mysql/mysql.conf.d/mysqld.cnf)の[mysqld]セクションに`default_authentication_plugin=mysql_native_password`を追加し、MySQLを再起動することで解決する。これはPDOの対応までの応急処置。

 

Windows10 Apache2.4でlocalhostの接続拒否の解決方法

/** Geminiが自動生成した概要 **/
Windows10のアップデート後、Apache2.4のlocalhostが接続拒否となった。httpd.confのInclude行のコメントアウトを外す際に、VirtualHost行のコメントも外してしまったことが原因でsyntaxエラーが発生していた。さらに、httpd-vhosts.confのVirtualHost設定で指定されたDocumentRootのsoycmsディレクトリが欠落していたため、Apache再起動時にエラーが発生。管理者権限でコマンドプロンプトを実行し、Apacheを再起動することでlocalhostへの接続が復旧した。httpd.confのDocumentRoot設定は修正不要であったが、httpd-vhosts.confで指定したDocumentRootディレクトリは必須であることが判明した。

 

Go言語でQtのQMainWindowを使ってみる

/** Geminiが自動生成した概要 **/
Go言語でQtのQMainWindowを用いて、シンプルなウィンドウアプリケーションを作成する方法を解説した記事です。Qtのメインウィンドウ構造を図解し、赤枠部分に相当する基本的なフレームワークを作成するコード例を提示しています。 `widgets.NewQMainWindow`でメインウィンドウを生成し、サイズやタイトルを設定、`widgets.NewQWidget`で空のウィジェットを作成して中央に配置しています。Go言語でのQt開発環境構築に関する記事へのリンクも含まれています。最終的に"Hello Ryoko"というタイトルの400x300ピクセルのウィンドウが表示されます。

 

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

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

 

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

 

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

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

 

Go言語のGo MobileでAndroidアプリを開発してみる

/** Geminiが自動生成した概要 **/
Ubuntu 18.04 でGo言語を用いてAndroidアプリ開発を行う手順を解説。Go Mobileを利用し、サンプルコードをAndroid端末で実行するまでを扱う。 開発環境としてJava8、Android NDK r16b、Go 1.10.3を導入。 zshを使用しているため、`.zshrc` にパスを設定。 Go Mobileのインストールと初期化後、サンプルコード`golang.org/x/mobile/example/basic`を取得し、`go run`で動作確認。 `gomobile build`コマンドでapkファイルを生成し、Dropbox経由でAndroid端末に転送、インストール、実行。 端末の設定で「提供元不明のアプリ」を許可する必要がある。

 

WindowsでGo言語

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

 

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

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

 

Node.js、Socket.IOとLet's Encryptでチャットアプリの常時SSL化

/** Geminiが自動生成した概要 **/
記事では、インターネット上のパケットを傍受して中身を確認する方法を解説しています。使用ツールはWiresharkで、無線LANに接続するPCと、傍受対象のスマホを同じネットワークに接続します。スマホと通信するパケットはPCも受信するため、Wiresharkでフィルタリングしてスマホの通信のみを抽出します。HTTP通信の場合は、パスワードなどの重要な情報が平文で送信されていることが確認できます。HTTPS通信の場合は暗号化されているため、傍受しても内容は解読できません。この実験を通して、HTTP通信の危険性とHTTPS通信の重要性を示しています。

 

PHPExcelを使ってみた

/** Geminiが自動生成した概要 **/
PHPExcelライブラリを使ってExcelファイルからデータ抽出する方法を紹介。Ubuntu 17.04、PHP 7.1.5環境で、php7.1-xml、php7.1-gd、php7.1-zipをインストール後、PHPExcelをダウンロード。サンプルxlsファイルからデータを読み込むPHPコードを掲載し、セル番号と値を出力する例を示している。コードは拡張子による読み込み方法の切り替え、複数シートへの対応、行とセルのイテレータによる値の取得を実装。出力結果の画像も掲載。

 

Terminator上でEmacsを起動すればxclipが使えるのか?

/** Geminiが自動生成した概要 **/
Emacsでxclipを使いたいが、tmuxではコピーモードの仕様でうまくいかない。そこで、itermのような端末を探し、terminatorをインストール。分割もでき、Emacsからシステムのクリップボードへコピー、貼り付けが期待通りに動作した。さらに、terminatorの別ウィンドウのEmacs間でもコピー、貼り付けができた。結果、開発環境をTerminator + Zsh + Emacsにすることに決定。

 

Emacsでクリップボードを使ってコピペしたい

/** Geminiが自動生成した概要 **/
Emacsでクリップボードの共有設定をしたが、GUI環境では動作するものの、端末(emacs -nw)では動作しない問題に直面。xclipをインストールし設定を追加することで端末上でもコピペが可能になった。しかし、tmux上でEmacsを起動した場合はxclipが機能せず、更なる設定が必要な状況に陥っている。

 

zshの起動と同時にtmuxも起動してほしい

/** Geminiが自動生成した概要 **/
zsh起動時にtmuxも自動起動させる方法について解説。zshの設定ファイル`.zshrc`に`[[ -z "$TMUX" && ! -z "$PS1" ]] && tmux`を追記することで実現。この設定により、端末起動時にtmuxが既に起動しているかどうかを`$TMUX`で確認し、起動していない場合は`tmux`コマンドを実行する。結果、端末起動と同時にtmuxも起動し、ステータスバーが表示されるようになる。

 

最高の開発環境を求めて

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

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

Powered by SOY CMS   ↑トップへ