シェルスクリプトマガジン

test

Vol.78 補足情報

投稿日:2022.05.25 | カテゴリー: コード

Raspberry Piを100%活用しよう

 「明るさセンサ拡張基板」(ADRSZLX)に搭載されている光学式センサーは、「VCNL4010」ではなく、「VCNL4020」でした。お詫びして訂正します。なお、記事内で利用している「Adafruit_VCNL40xx」ライブラリおよび、サンプルプログラムは、VCNL4020でも問題なく動作します。

情報は随時更新致します。

シェルスクリプトマガジンvol.78 Web掲載記事まとめ

投稿日:2022.05.25 | カテゴリー: コード

004 レポート OpenSSH 9.0/9.0p1リリース
005 レポート ゲームエンジンのUnreal Engine 5
006 製品レビュー マグカップ型電気鍋「Cook Mug」
007 NEWS FLASH
008 特集1 アプリケーション開発基盤 .NET/松井恵一、木下舜、上原将司 コード掲載
023 Hello Nogyo!
024 特集2 UMLを使い始めてみよう/森三貴
040 特別企画 ESP32とラズパイで作る本格IoT 簡易地震計/魔法少女 コード掲載
058 Raspberry Piを100%活用しよう/米田聡 コード掲載
060 Pythonあれこれ/飯尾淳 コード掲載
066 法林浩之のFIGHTING TALKS/法林浩之
068 中小企業手作りIT化奮戦記/菅雄一 コード掲載
072 ダークウェブ/桑原滝弥、イケヤシロウ
074 香川大学SLPからお届け!/樋口史弥 コード掲載
084 タイ語から分かる現地生活/つじみき
092 Bash入門/大津真
098 Techパズル/gori.sh
099 コラム「計画は全体を、問題は点を追求する」/シェル魔人

特集1 アプリケーション開発基盤 .NET(Vol.78記載)

投稿日:2022.05.25 | カテゴリー: コード

著者:松井 恵一、木下 舜、上原 将司

デスクトップパソコンやモバイル、Web、クラウドなど、さまざまな環境で動作するアプリケーションを開発できる基盤が「.NET」です。昨年11月に初の長期サポート版となる.NET 6がリリースされました。本特集では、最新の.NET 6を含め、.NETについて分かりやすく解説します。

シェルスクリプトマガジン Vol.78は以下のリンク先でご購入できます。

図13 Program.csファイルの中身

図14 C#で記述した、「Hello World」を表示するプログラムの例

図15 MyFirstDotnetApp.csprojファイルの中身

特集1 ESP32とラズパイで作る本格IoT(Vol.78記載)

投稿日:2022.05.25 | カテゴリー: コード

筆者:魔法少女

マイコン「ESP32」と小型コンピュータボード「Raspberry Pi」を使って本格的なIoT(Internet of Things、モノのインターネット)環境を構築してみましょう。本企画では、3軸の加速度センサーを用いて簡易地震計を作成し、リアルタイムに揺れをグラフで表示します。

シェルスクリプトマガジン Vol.78は以下のリンク先でご購入できます。

図4 Eclipse Mosquittoの設定スクリプト(mosquitto_setting.sh)

図18 ESP32搭載ボートの起動時に無線LANに接続するプログラム(boot.py)

図19 パブリッシャのプログラム(main.py)

図24 ブスクライバとなるJavaScriptプログラムを含んだHTMLファイル(seismometer.html)

Raspberry Piを100%活用しよう(Vol.78掲載)

投稿日:2022.05.25 | カテゴリー: コード

著者:米田 聡

小型コンピュータボード「Raspberry Pi」(ラズパイ)向けにさまざまな拡張ボードが発売されています。その拡張ボードとラズパイを組み合わせれば、ラズパイでいろいろなことが簡単に試せます。第11回は、光の反射で物体との距離を調べるセンサー搭載の拡張基板を扱います。

シェルスクリプトマガジン Vol.78は以下のリンク先でご購入できます。

図4 VCNL4010から値を読み出すPythonプログラム(sample.py)

Pythonあれこれ(Vol.78掲載)

投稿日:2022.05.25 | カテゴリー: コード

著者:飯尾 淳

本連載では「Pythonを昔から使っているものの、それほど使いこなしてはいない」という筆者が、いろいろな日常業務をPythonで処理することで、立派な「蛇使い」に育つことを目指します。その過程を温
かく見守ってください。皆さんと共に勉強していきましょう。第8回は、Webアプリケーションフレームワーク「Flask」を使って基本的なWebアプリを作成する方法を紹介します。データベースにアクセスする方法やテンプレートの利用方法も解説します。

シェルスクリプトマガジン Vol.78は以下のリンク先でご購入できます。

図1 「Hello World」に相当するシンプルなWebアプリのコード(app.py)

図4 ルーティングの記述を追加したWebアプリのコード

図5 パスパラメータを使うWebアプリのコードの例

図7 クエリーパラメータを使うWebアプリのコードの例

図9 メモ帳Webアプリのひな型コード

図10 データベースを使うメモ帳Webアプリのコード(その1)

図12 データベースを使うメモ帳Webアプリのコード(その2)

図14 テンプレートファイル「index.html」の内容

図15 テンプレートを使うメモ帳Webアプリのコード(その1)

図17 修正したテンプレートファイル「index.html」の内容

図18 テンプレートを使うメモ帳Webアプリのコード(その2)

中小企業手作りIT化奮戦記(Vol.78掲載)

投稿日:2022.05.25 | カテゴリー: コード

著者:菅 雄一

筆者は2001年、PHP言語とOSS(オープンソースソフトウエア)データベース管理システムのPostgreSQLに出会った。それ以降、データベースが絡んだWebシステムを構築する際は、PHPとPostgreSQLを組み合わせて使っていた。しかし2021年に社内Web業務システムなどをレンタルサーバーに移行させた際には、PHPとOSSデータベース管理システムのMySQLを初めて組み合わせて使った。今回は、その移行作業について紹介する。

シェルスクリプトマガジン Vol.78は以下のリンク先でご購入できます。

図1 自作のメール送信用関数の定義コード

香川大学SLPからお届け!(Vol.78掲載)

投稿日:2022.05.25 | カテゴリー: コード

著者:樋口 史弥

アプリケーションやサービスは、ユーザーの意見や技術状況に合わせた変更をしやすいように開発するのが理想的です。そうした開発を実現するための設計手法の一つが「クリーンアーキテクチャ」です。今回は、クリーンアーキテクチャを用いて簡単な匿名掲示板を作る方法を解説します。

シェルスクリプトマガジン Vol.78は以下のリンク先でご購入できます。

図4 投稿削除機能を追加した場合のコード例

図6 単一責任原則に沿ったコードの例

図8 モジュールに依存したコードの例

図10 モジュールに依存したコードの例

図19 messageモジュールのコード

図20 投稿時刻やハンドルを付加する場合のmessageモジュールのコード

図21 ログイン機能を付加するためのuserモジュールのコード

図22 メッセージを投稿するというユースケースに対応するコード

図23 メッセージを保存するRecordMessageメソッドのコード

図24 mySQLHandler 構造体のdatabaseメンバーに所属するインタフェースの定義コード

図25 MySQLHandler インタフェースで定義されるExecute メソッドのコード

図26 匿名掲示板のMainコンポーネントのコード

図27 データの保存先を変更する際のMainコンポーネント書き換え箇所

特集1 AWKプログラミング入門(Vol.77記載)

投稿日:2022.03.25 | カテゴリー: コード

著者:斉藤 博文

シェルスクリプトで複雑なテキストデータ処理を実行する場合、「AWK」(オーク)というプログラミング言語が利用されます。AWKの処理系(実行環境)はとても小さく、シェルスクリプトと組み合わせて使うのに適しています。本特集では、このAWKのプログラミングを分かりやすく解説します。

シェルスクリプトマガジン Vol.77は以下のリンク先でご購入できます。

図8 ユーザー定義関数「factorial」の実装例

図9 改変した階乗処理のAWKプログラム(factorial.awk)

特別企画 ESP32とラズパイで作る本格IoT(Vol.77記載)

投稿日:2022.03.25 | カテゴリー: コード

著者:魔法少女

マイコン「ESP32」と小型コンピュータ「Raspberry Pi」を使って本格的なIoT(モノのインターネット)環境を構築してみましょう。本企画では、五つの会議室の温度、湿度、利用状況を監視・分析し、会議室内の電源を制御するシステムを構築します。

シェルスクリプトマガジン Vol.77は以下のリンク先でご購入できます。

図4 ユーザー名とパスワードの生成スクリプト(user_create.sh)

図5 Eclipse Mosquittoの認証設定スクリプト(mosquitto_setting.sh)

図7 サブスクライバのプログラム(subscriber.py)

図24 ESP32搭載ボートの起動時に無線LANに接続するプログラム(boot.py)

図25 パブリッシャのプログラム(main.py)

Raspberry Piを100%活用しよう(Vol.77掲載)

投稿日:2022.03.25 | カテゴリー: コード

筆者:米田 聡

小型コンピュータボード「Raspberry Pi」(ラズパイ)向けにさまざまな拡張ボードが発売されています。その拡張ボードとラズパイを組み合わせれば、ラズパイでいろいろなことが簡単に試せます。第10回は、サーボモーターを制御できる拡張基板を扱います。

シェルスクリプトマガジン Vol.77は以下のリンク先でご購入できます。

図6 チャンネル1に接続したSG90を動かすサンプルプログラム(sv.py)

機械学習ことはじめ(Vol.77掲載)

投稿日:2022.03.25 | カテゴリー: コード

筆者:川嶋 宏彰

本連載では、機械学習の基礎となるさまざまな手法の仕組みや、それらの手法のPythonでの利用方法を解説していきます。最終回となる今回は、ニューラルネットの仕組みと、基本的なモデルについて解説します。

シェルスクリプトマガジン Vol.77は以下のリンク先でご購入できます。

図3 単純パーセプトロンを学習するための関数を定義するPythonコード

図4 単純パーセプトロンの学習過程を可視化する関数を定義するPythonコード

図5 単純パーセプトロンの学習と結果表示をするPythonコード

図12 決定境界を可視化するための関数を定義するPythonコード

図13 多層パーセプトロンによる学習をするPythonコード

図15 学習曲線や結合荷重などを表示するPythonコード

図17 Breast Cancerデータセットの準備をするPythonコード

図18 Breast Cancerデータセットによる学習と評価をするPythonコード

図21 PyTorchによる画像認識の準備をするPythonコード

図22 PyTorchによるニューラルネットの学習と結果表示をするPythonコード

Pythonあれこれ(Vol.77掲載)

投稿日:2022.03.25 | カテゴリー: コード

著者:飯尾 淳

本連載では「Pythonを昔から使っているものの、それほど使いこなしてはいない」という筆者が、いろいろな日常業務をPythonで処理することで、立派な「蛇使い」に育つことを目指します。その過程を温
かく見守ってください。皆さんと共に勉強していきましょう。第7回は、Pythonで実装されたWebアプリケーションフレームワーク「Flask」の使い方と、Pythonのユニークな文法である「デコレータ」について紹介します。

シェルスクリプトマガジン Vol.77は以下のリンク先でご購入できます。

図5 ルーティングのサンプルWebアプリケーションのコード

図7 簡単なメッセージを表示するプログラム

図9 デコレータを追加したプログラム

図11 Flaskのルーティング設定処理を模したプログラム

図13 図9のプログラムを修正した「greeting_deco2.py」

図15 デコレータを使わないように修正した「greeting_deco3.py」

図16 関数の挙動を変えるデコレータの使用例

図17 関数に複数のデコレータを適用したプログラム「greeting_deco4.py」

香川大学SLPからお届け!(Vol.77掲載)

投稿日:2022.03.25 | カテゴリー: コード

著者:石上椋一

毎年年末に開催されている競馬の「有馬記念」というレースをご存知でしょうか。今回は、その有馬記念の順位を予測するAIを開発した話を紹介します。2021年12月には、開発したAIを使って第66回有馬記念の順位を予測してみました。結果がどうだったのかについては、記事の最後に書いています。

シェルスクリプトマガジン Vol.77は以下のリンク先でご購入できます。

図2 RankNetを実装するPythonコード

図3 データの整理とラベル付けをするPythonコード

図4 学習用データと評価用データを仕分けるPythonコード

図5 コンパイルと学習を実施するPythonコード

図8 ResNet50を使った学習モデルを実装するPythonコード

図9 コンパイルと学習を実施するPythonコード

Vol.77 補足情報

投稿日:2022.03.25 | カテゴリー: コード

特別企画 ESP32とラズパイで作る本格IoT

 p.41の左側中央にある「>>> upip,install(‘umqtt.simple’)」の「,」(カンマ)は「.」(ピリオド)の誤りです。お詫びして訂正します。

 p.47の右側中央やや上にある「最後の「COM5」がCOM番号です。「5」の数字は、使っているパソコンの環境によって変わりますので、」の「COM5」は「COM9」、「5」は「9」の誤りです。お詫びして訂正します。

情報は随時更新致します。

シェルスクリプトマガジンvol.77 Web掲載記事まとめ

投稿日:2022.03.25 | カテゴリー: コード

004 レポート 古いPC向けOS「Chrome OS Flex」
005 レポート WebブラウザでDebianが動作
006 NEWS FLASH
008 特集1 AWKプログラミング入門/斉藤博文 コード掲載
017 Hello Nogyo!
018 特集2 MIRACLE LINUXという選択肢/弦本春樹
022 特集3 デスクトップ版Power Automateを活用しよう/三沢友治
032 特別企画 ESP32とラズパイで作る本格IoT/魔法少女 コード掲載
050 先端技術 量子コンピュータ
052 Raspberry Piを100%活用しよう/米田聡 コード掲載
056 機械学習ことはじめ/川嶋宏彰 コード掲載
068 Pythonあれこれ/飯尾淳 コード掲載
074 JSON/桑原滝弥、イケヤシロウ
076 中小企業手作りIT化奮戦記/菅雄一
080 法林浩之のFIGHTING TALKS/法林浩之
082 タイ語から分かる現地生活/つじみき
088 香川大学SLPからお届け!/石上椋一 コード掲載
094 Bash入門/大津真
104 Techパズル/gori.sh
105 コラム「ユニケージ流の業務システム開発」/シェル魔人

Vol.76 補足情報

投稿日:2022.01.25 | カテゴリー: コード

訂正・補足情報はありません。
情報は随時更新致します。

シェルスクリプトマガジンvol.76 Web掲載記事まとめ

投稿日:2022.01.25 | カテゴリー: コード

004 レポート Visual Studio 2022と.NET 6
005 レポート 超高速リンカー「mold」
008 特集1 Linuxカーネルの仕組み/平田豊 コード掲載
024 特集2 micro:bit v2を使おう/斉暁
034 特集3 国産のGroupSession/大場雄一郎
048 Raspberry Piを100%活用しよう/米田聡  コード掲載
050 機械学習ことはじめ/川嶋宏彰  コード掲載
061 Hello Nogyo!
062 香川大学SLPからお届け!/三枝泰士
066 法林浩之のFIGHTING TALKS/法林浩之
068 タイ語から分かる現地生活/つじみき
072 中小企業手作りIT化奮戦記/菅雄一
076 デジタル庁/桑原滝弥、イケヤシロウ
078 Pythonあれこれ/飯尾淳  コード掲載
084 特別レポート/松浦智之  コード掲載
090 Bash入門/大津真
098 Techパズル/gori.sh
099 コラム「ユニケージ流プロジェクトの初期段階」/シェル魔人

特集1 Linuxカーネルの仕組み(Vol.76記載)

投稿日:2022.01.25 | カテゴリー: コード

著者:平田 豊

LinuxというOSの中核となるのが「Linuxカーネル」というソフトウエアです。Linuxカーネルの動作を理解するには、ソースコードを追いかける必要があります。しかし、いきなりソースコードを読んでもよく分からないものです。本特集記事では、学習の「入り口」となるように、学習用の環境を構築する方法を紹介します。また、Linuxカーネルの一部の機能をピックアップして、その実装について解説します。本特集をきっかけにLinuxカーネルのソースコード読解を始めましょう。

シェルスクリプトマガジン Vol.76は以下のリンク先でご購入できます。

図1 OS レスプログラムのイメージ

図7 QEMU の起動用シェルスクリプト

図8 Linux カーネルに追加するコード

図11 init デーモンを起動する箇所のソースコード

図12 buildroot 環境のC ライブラリにおけるsyscall 関数の実装

図13 システムコールに対応する関数を呼び出すためのマクロ定義の例

図14 machine_halt() 関数のコード

図15 machine_power_off() 関数のコード

図17 schedule() 関数のコード

図18 FIFO からのデータを出力するプログラムのコード

図19 wait_event_interruptible_exclusive() 関数のマクロ定義

図20 msleep() 関数のコード

図21 process_timeout() 関数とschedule_timeout() 関数のコード

図22 mutex_lock() 関数のコード

図23 preempt_enable() 関数のマクロ定義

図24 ヘッダーファイルでのjiffies 変数の宣言

図25 jiffies_64 変数の実体の定義

図26 INITIAL_JIFFIES 定数の定義

Raspberry Piを100%活用しよう(Vol.76掲載)

投稿日:2022.01.25 | カテゴリー: コード

著者:米田 聡

小型コンピュータボード「Raspberry Pi」(ラズパイ)向けにさまざまな拡張ボードが発売されています。その拡張ボードとラズパイを組み合わせれば、ラズパイでいろいろなことが簡単に試せます。第9回は、人感センサーを搭載する拡張基板を扱います。

シェルスクリプトマガジン Vol.76は以下のリンク先でご購入できます。

図3 焦電赤外線センサ拡張基板のサンプルプログラム(ADRSZPY.py)

機械学習ことはじめ(Vol.76掲載)

投稿日:2022.01.25 | カテゴリー: コード

著者:川嶋 宏彰

本連載では、機械学習の基礎となるさまざまな手法の仕組みや、それらの手法のPythonでの利用方法を解説していきます。今回は、複数のモデルを束ねて用いるアンサンブル学習について解説します。

シェルスクリプトマガジン Vol.76は以下のリンク先でご購入できます。

図2 データセットの読み込みから、散布図のプロットまでを実施するPythonコード

図3 決定木による2クラス分類をするPythonコード

図13 アンサンブル学習された決定木の表示用関数を定義するPythonコード

図14 ランダムフォレストによる分類器の学習をするPythonコード

図16 構成モデルに決定木を用いたバギングをするPythonコード

図18 構成モデルに決定木を用いたアダブーストをするPythonコード

図20 構成モデル(回帰木)の数を変えながら勾配ブースティングをするPythonコード

図22 XGBoost による学習をするPythonコード

Pythonあれこれ(Vol.76掲載)

投稿日:2022.01.25 | カテゴリー: コード

著者:飯尾 淳

本連載では「Pythonを昔から使っているものの、それほど使いこなしてはいない」という筆者が、いろいろな日常業務をPythonで処理することで、立派な「蛇使い」に育つことを目指します。その過程を温かく見守ってください。皆さんと共に勉強していきましょう。第6回は、やや趣向を変えてアルゴリズムを解説します。前半では関数の再帰的定義とその効率化、後半ではソーティングアルゴリズムについて紹介します。

シェルスクリプトマガジン Vol.76は以下のリンク先でご購入できます。

図1 再帰を使わずに階乗を求める関数を定義した例

図4 メモ化アルゴリズムを使って効率化したfib() 関数の定義例