ブログ内検索

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

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

 

gRPC for PHPのインストール

/** Geminiが自動生成した概要 **/
この記事はUbuntu 19.10環境でGoogle Ads APIを使用するためのgRPC for PHPのインストール手順を解説しています。PEAR/PECL、Composerをインストール後、`pecl install grpc`、`pecl install protobuf`コマンドでgRPCとprotobufをインストールします。その後、`/etc/php/7.4/cli/php.ini`と`/etc/php/7.4/fpm/php.ini`両方に`extension=grpc.so`と`extension=protobuf.so`を追加し、`phpinfo()`や`php -m`でインストールを確認します。記事ではComposerのインストール手順も解説していますが、gRPCのインストール自体はComposerを使わずPECL経由で行っています。

 

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

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

 

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`コマンドでアプリのデプロイと起動に成功しました。

 

Go言語でクライアントのレスポンスを見る

/** Geminiが自動生成した概要 **/
Go言語でHTTPクライアントを作成し、サーバーからのレスポンスを確認する方法を解説しています。`http.Get`でサーバーにリクエストを送信し、`httputil.DumpResponse`でレスポンス内容を人間が読める形式で取得します。サンプルコードでは、`localhost:8889`で動作するサーバーにアクセスし、レスポンスのヘッダーとボディを出力しています。出力例から、ステータスコード(200 OK)、コンテンツ長、コンテンツタイプ、日付、HTML本体などが確認できます。これにより、クライアントがサーバーからどのようなデータを受け取っているかを詳細に把握できます。

 

Go言語でサーバを立ち上げる

/** Geminiが自動生成した概要 **/
Go言語でlocalhost:8889で動作するシンプルなWebサーバを作成する手順と動作確認方法の説明です。 `server.go` はルートパスへのアクセスに対し、リクエスト内容をコンソールに出力し、"hello world"を含むHTMLをレスポンスとして返します。`httputil.DumpRequest`でリクエスト内容をダンプし、`fmt.Println`でコンソールに表示、`io.WriteString`でレスポンスを書き込みます。`http.ListenAndServe`でサーバを起動し、ブラウザでアクセスすると"hello world"が表示されます。同時にコンソールにはリクエストヘッダ情報(例:GETメソッド、Host、User-Agentなど)が出力されます。

 

Go言語で内部コマンドを作成する③

/** Geminiが自動生成した概要 **/
Go言語でコマンドライン引数を扱うflagパッケージの使い方を説明しています。`flag.Int`と`flag.String`でそれぞれ整数型と文字列型のオプションを定義し、デフォルト値と説明文を設定します。`flag.Parse()`でコマンドライン引数を解析し、定義したオプションに値をセットします。 実行例として、`main.exe`をビルドし、オプションなしで実行するとデフォルト値の1111と"default"が出力されます。`--help`オプションでヘルプメッセージが表示されます。`-i 5 -s "おはよう"`のようにオプションを指定して実行すると、指定した値が出力されます。つまり、コマンドライン引数からプログラムに値を渡す方法を解説しています。

 

Go言語で内部コマンドを作成する②

/** Geminiが自動生成した概要 **/
Go言語のos.Argsはコマンドライン引数を扱う。`os.Args`はスライスで、最初の要素`os.Args[0]`は実行ファイルのパス。`./main.exe test`と実行すると、`os.Args[1]`は"test"となる。同様に`./main.exe test 5`と実行すれば、`os.Args[1]`は"test"、`os.Args[2]`は"5"となる。つまり、`os.Args`を用いることで、コマンドライン引数にアクセスし、プログラムの動作を制御できる。

 

Go言語で内部コマンドを作成する①

/** Geminiが自動生成した概要 **/
Go言語でコマンドを作成する方法を解説。 `~/workspace/go/cmd`ディレクトリに`main.go`を作成し、`fmt.Println("usako")`を出力するコードを記述。MINGW64を用いて`go build main.go`でコンパイルし、`./main.exe`で実行すると、コマンドラインに"usako"と表示される。 `go build`コマンドはGoのソースコードをコンパイルして実行ファイルを作成する。Windowsでは実行ファイルに`.exe`拡張子が付く。

 

Dropboxにバックアップする時はパスワード付きzipにしておく

/** Geminiが自動生成した概要 **/
Dropboxへのバックアップ時に、個人情報を含むデータベースをzip圧縮する際のセキュリティ強化策として、パスワード付きzipファイルの作成方法を紹介している。 zipコマンドの-eオプションで暗号化が可能だが、対話式でパスワード入力を求められるため、crontabでの自動化にはexpectコマンドを使用する必要がある。サンプルスクリプトでは、expectでパスワード入力を自動化し、指定ディレクトリをパスワード付きzipファイルとしてDropboxにバックアップする方法を示している。 スクリプトの実行例として、Dropboxへのアップロードとダウンロード後の解凍時にパスワードが要求されることを確認し、セキュリティが向上したことを示している。さらに、パスワードの強度を高める方法や都度生成する仕組みの必要性にも言及している。


Powered by SOY CMS   ↑トップへ