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

test

香川大学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コンポーネント書き換え箇所

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

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

著者:菅 雄一

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

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

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

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)

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

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

著者:米田 聡

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

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

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

特集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)

特集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ファイルの中身

シェルスクリプトマガジン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 コラム「計画は全体を、問題は点を追求する」/シェル魔人

Vol.78

投稿日:2022.05.25 | カテゴリー: バックナンバー

 世の中では、Windows/Linuxパソコン、Mac、スマートフォン、タブレット、Raspberry Piなどのさまざまなコンピュータが利用されています。通常、アプリケーションを開発する場合、CPUやOS、表示するディスプレイなどの動作環境の違いを意識したプログラミングをしなくてはいけません。
 そのような実行環境をあまり意識することなく、一つのソースコードからさまざまなコンピュータで動作するアプリケーションを開発できるのが、マイクロソフトが提供するアプリケーション開発基盤「.NET」です。以前は、実行環境に合わせて「.NET Framework」「.NET Core」「Xamarin」に分かれていましたが、.NET 5で.NETとして統合。昨年11月には、.NET初の長期サポート版となる「.NET 6」が提供されました。
 特集1では、この.NET 6を中心として、.NETの歴史や.NETを構成する主要な要素、.NET Frameworkと.NETの比較を解説し、サンプルを交えた.NETアプリケーション開発を解説します。
 システム開発の全工程をカバーする表現力を持ち、ISO(国際標準化機構)やJIS(日本産業規格)で規格化されている表記法に「UML」(統一モデリング言語)があります。UMLでは、さまざまな図を使ってシステムの仕様や設計情報などを表現します。特集2では、UMLの概要や活用する効果、よく使われる図について分かりやすく紹介します。
 特別企画では、マイコン「ESP32」と小型コンピュータボード「Raspberry Pi」を使って、簡易地震計を製作しました。Webブラウザ上に揺れをリアルタイムにグラフ表示します。
 このほか、今回から「製品レビュー」を開始しました。エンジニア向けに、便利で面白いグッズやサービスを多数紹介していきます。
 今回も読み応え十分のシェルスクリプトマガジン Vol.78。お見逃しなく!

※記事掲載のコードはこちら。記事の補足情報はこちら

※読者アンケートはこちら

Vol.78 補足情報

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

Raspberry Piを100%活用しよう

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

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

香川大学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コード

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」

機械学習ことはじめ(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コード

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

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

筆者:米田 聡

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

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

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

特別企画 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)

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

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

著者:斉藤 博文

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

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

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

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

シェルスクリプトマガジン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.77

投稿日:2022.03.25 | カテゴリー: バックナンバー

 シェルスクリプトで複雑なテキストデータ処理を行う場合によく使われるのが「AWK」(オーク)というプログラミング言語です。AWKは、1977年という古い時代からあり、シェルスクリプトとの親和性が良い点から現在も利用されています。特集1では、このAWKのプログラミングを初めての人でも分かりやすいように解説しています。
 2021年末にRed Hat Enterprise Linux(RHEL) 8互換の無料OSである「CentOS Linux(CentOS) 8」の開発およびサポートが終了しました。今後、業務システムなどでCentOSを使い続けることが難しい状況になっています。特集2では、CentOSの代替となる「MIRACLE LINUX」を紹介しました。国内開発のMIRACLE LINUXで、CentOSからの安心でスムーズな移行を実現しましょう。
 人間が行っていた業務処理などを自動化する技術である「RPA」(Robotic Process Automation)は、まだまだ注目されています。このRPAですが、昨年3月にマイクロソフトが無料提供を開始した「Power Automate for Desktop」により身近なものになりました。特集3では、Power Automate for Desktopの機能や使い方を分かりやすく解説しています。RPAはどのようなもので、どのように構築すればよいのかを、Power Automate for Desktopから学びましょう。
 このほか、特別企画では、マイコン「ESP32」と小型コンピュータボード「Raspberry Pi」を使って、五つの会議室の状態を監視するIoT環境の構築方法を紹介しています。IoTによく利用される「MQTT」(Message Queueing Telemetry Transport)のプロトコルを用いています。さまざまなIoT環境に応用してください。
 今回も読み応え十分のシェルスクリプトマガジン Vol.77。お見逃しなく!

※記事掲載のコードはこちら。記事の補足情報はこちら

※読者アンケートはこちら

Vol.77 補足情報

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

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

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

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

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

特別レポート(Vol.76掲載)

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

著者:松浦智之

2021年6月2~4日に技術カンファレンス「ソフトウェア・シンポジウム 2021 in 大分」がオンラインで開催されました。筆者が所属するユニバーサル・シェル・プログラミング研究所は、そのカンファレンスに二つの論文を投稿しました。その中で最優秀発表賞に選ばれた「UNIX機におけるIoT機器制御のためのタイミング管理」を紹介します。

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

図2 シェルスクリプト(Accurate_interval.sh)

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

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

著者:飯尾 淳

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

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

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

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

図7 バブルソートを実施する関数の実装例

図9 マージソートを実施する関数の実装例

図11 ヒープソートを実施する関数の実装例

機械学習ことはじめ(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コード

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

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

著者:米田 聡

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

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

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

特集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 定数の定義

シェルスクリプトマガジン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 コラム「ユニケージ流プロジェクトの初期段階」/シェル魔人

Vol.76

投稿日:2022.01.25 | カテゴリー: バックナンバー

 サーバーOSとして広く利用されているLinux OS。その中核(コア)となるソフトウエアが「Linuxカーネル」です。ちなみに狭い意味でのLinuxは、このカーネルのことを指します。特集1では、Linuxカーネルがオープンソースである点を生かし、ソースコードを見ながら、その仕組みを詳しく解説します。
 特集2では、教育向けマイコンである「BBC micro:bit」のプログラミングを紹介します。BBC micro:bitは、2000円程度で購入でき、小中学生でも扱えるビジュアルプログラミングツールが用意されています。本特集で扱うBBC micro:bit v2は、マイクやスピーカのほか、LEDディスプレイ、各種センサーなどが標準実装されています。BBC micro:bit単体でも十分にプログラミングが楽しめるハードウエアです。
 特集3では、無料でも本格的に利用できるグループウエアソフト「GroupSession」を紹介します。GroupSessionは、スケジュール管理、掲示板、施設予約、ファイル管理、回覧板、日報など、21種類の機能を提供します。日本国内で開発されているので、いずれの機能も日本の企業に適した使い勝手を提供します。
 Vol.76では、シェルスクリプト関連の記事として特別レポートを掲載しました。この特別レポートでは、ソフトウェア・シンポジウム2021 最優秀発表賞を受賞した「UNIX機におけるIoT機器制御のためのタイミング管理」の論文を紹介しています。リアルタイム処理が難しいLinux OSで、ミリ秒レベルでのタイミング制御を実現するコマンドを作成したという面白い内容となっています。
 このほかに、連載「Raspberry Piを100%活用しよう」では、人感センサーを搭載したボードを扱いました。今回も読み応え十分のシェルスクリプトマガジン Vol.76。お見逃しなく!

※記事掲載のコードはこちら。記事の補足情報はこちら

※読者アンケートはこちら

Vol.76 補足情報

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

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

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

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

著者:飯尾 淳

本連載では「Pythonを昔から使っているものの、それほど使いこなしてはいない」という筆者が、いろいろな日常業務をPythonで処理することで、立派な「蛇使い」に育つことを目指します。その過程を温かく見守ってください。皆さんと共に勉強していきましょう。第5回は、「Google Colaboratory」というクラウドサービスで、対話的にPythonコードを実行する方法を紹介します。

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

図13 タートルグラフィックスで幾何学模様を描くPythonコード

図19 指定ファイルの各行をリストとして読み込み、その内容を表示するPythonコード

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

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

著者:平西 宏彰

 プログラミング言語で記述されたプログラムを解釈して、実行可能な形式に変換するのがコンパイラの役割です。コンパイラは、簡単なものであれば200行程度のコードで作成できます。今回は、整数の四則演算用の数式を処理できるコンパイラを作成します。

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

図4 「main.go.y」ファイルに最初に記述するコード

図5 「main.go.y」ファイルの宣言部に追加するコード

図6 「main.go.y」ファイルのプログラム部に追加するコード

図7 「main.go.y」ファイルの規則部に記述するコード

図8 「main.go.y」ファイルのプログラム部に追加するコード

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

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

著者:川嶋 宏彰

本連載では、機械学習の基礎となるさまざまな手法の仕組みや、それらの手法のPythonでの利用方法を解説していきます。今回は、入力データがどのようなクラス(カテゴリ)であるかを予測する分類の問題を扱います。

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

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

図3 ロジスティック回帰の準備をするPythonコード

図4 特徴量一つ(体重)のみでロジスティック回帰をするPythonコード

図6 特徴量二つ(くちばしの高さと体重)でロジスティック回帰をするPythonコード

図9 ロジスティック回帰による各点での予測値をプロットするPythonコード

図12 線形SVM による学習と決定境界の表示をするPythonコード

図17 非線形SVMとパラメータCの関係を示すPythonコード

図20 グリッドサーチをするPythonコード

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

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

著者:米田 聡

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

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

図4adrszCS_CSmode_sample.pyの変更箇所

特別企画 ラズパイで作る簡単VPN環境(Vol.75記載)

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

著者:魔法少女

職場と自宅のネットワークをインターネット経由で安全につなぐ方法として「VPN」(Virtual Private Network)があります。本企画では、小型コンピュータボード「Raspberry Pi」を利用して誰でも簡単にできるVPN環境構築方法を紹介します。

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

図43 NAPTの追記

特集2 Javaの最新動向(Vol.75記載)

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

著者:伊藤 智博

エンタープライズシステムの分野で活用されている、プログラミング言語および開発・実行環境の「Java」。開発元である米旧Sun Microsystems社の買収、OpenJDKとしてのオープンソース化など、さまざまな変化がありました。本特集では、Javaの最新動向について分かりやすく解説します。

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

図13 HelloWorld.javaのソースコード

図17 GreetingResource.javaのソースコード

図20 変更後のソースコード

図23 NullPointerExceptionが発生するコード

図26 HTMLによるコード

図27 HTMLによるコードをJavaでエスケープと結合で実装

図28 HTMLによるコードをテキストブロックで実装

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

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

004 レポート Windows 11の導入メディア作成
005 レポート YouTube配信に便利なOBS Studio
006 NEWS FLASH
008 特集1 Windows 11 徹底解説/三沢友治
022 特集2 Javaの最新動向/伊藤智博 コード掲載
036 特集3 Debian 11の新機能&改善点/やまねひでき
044 特別企画 ラズパイで作る簡単VPN環境/魔法少女 コード掲載
058 Raspberry Piを100%活用しよう/米田聡 コード掲載
061 Hello Nogyo!
062 機械学習ことはじめ/川嶋宏彰 コード掲載
072 テレワーク/桑原滝弥、イケヤシロウ
074 Pythonあれこれ/飯尾淳  コード掲載
080 タイ語から分かる現地生活/つじみき
084 法林浩之のFIGHTING TALKS/法林浩之
086 中小企業手作りIT化奮戦記/菅雄一
090 香川大学SLPからお届け!/平西宏彰   コード掲載
096 Bash入門/大津真
104 Techパズル/gori.sh
105 コラム「システムエンジニアを育てる」/シェル魔人

Vol.75

投稿日:2021.11.25 | カテゴリー: バックナンバー

 2021年10月5日、Windowsの新版である「Windows 11」がリリースされました。約6年ぶりとなるメジャーアップデートです。特集1では、このWindows 11の新機能や改善点、Windows 10からのアップデート方法について詳しく紹介します。また、Windowsが備える注目のLinux環境「Windows Subsystem for Linux 2」(WSL 2)に関してもWindows 11での更新内容に触れます。
 特集2では、Javaの最新動向について解説します。Javaが正式にリリースされてから約25年がたちました。開発元の米旧Sun Microsystems社の買収、OpenJDKやJakarta EEへのオープンソース化、オンプレミスからクラウドへの変化――など、Javaを取り巻く環境が大きく変わってきています。これらを含めて、現状のJava環境を分かりやすく紹介します。
 特集3では、2021年8月に正式リリースされたLinuxディストリビューションの新版「Debian 11」の新機能と改善点を解説します。併せて、Debian 11を使い始めたい人や、旧版のDebian 10から更新したい人向けにインストールおよび更新の手順も紹介します。
 特別企画では、小型コンピュータボード「Raspberry Pi」を使用してVPN(Virtual Private Network)環境を簡単に構築する方法を解説します。利用するVPNソフトは「WireGuard」です。WindowsやmacOS、Android、iOSを搭載した機器からVPNを利用できます。
 このほかに、連載「Raspberry Piを100%活用しよう」では、カラーセンサー搭載ボードを扱います。連載「タイ語から分かる現地生活」では、タイ王国におけるバイクや車の乗り方について紹介します。今回も読み応え十分のシェルスクリプトマガジン Vol.75。お見逃しなく!

※記事掲載のコードはこちら。記事の補足情報はこちら

※読者アンケートはこちら

Vol.75 補足情報

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

特別企画 ラズパイで作る簡単VPN環境

p.48の『ユーザー名の「pi」を入力して[Enter]キーを押します。』の後に『「Password:」が表示されたら、パスワードの「raspberry」を入力して[Enter]キーを押します。』が抜けていました。お詫びして訂正いたします。

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

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

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

著者:増田 嶺

 前回に引き続き、SLPで開発したリズムゲームを紹介します。前回はゲームで使用する譜面作成ツールについて解説しました。今回は、ゲーム本体について解説します。ゲーム本体は「Visual Studio Code」(VSCode)で開発します。

図5 「js/game/singleNote.js」ファイルに記述するコード

図6 「js/game/backLane.js」ファイルに追加するコード

図7 「js/game/singleNote.js」ファイルに追加するコード

図8 「js/game/backLane.js」ファイルに追加するコード

図9 「js/game/singleNote.js」ファイルに追加するコード

図11 「js/game/backLane.js」ファイルに追加するコード

図13 「js/game/backLane.js」ファイルに追加するコード

図15 「js/game/singleNote.js」ファイルに追加するコード

図16 「js/game/singleNote.js」ファイルに追加するコード

図18 「js/game/gameScoreManager.js」ファイルに追加するコード

図19 「js/game/backLane.js」ファイルに追加するコード

図20 「js/game/singleNote.js」ファイルに追加するコード

図22 「js/game/backLane.js」ファイルに追加するコード

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

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

著者:飯尾 淳

本連載では「Pythonを昔から使っているものの、それほど使いこなしてはいない」という筆者が、いろいろな日常業務をPythonで処理することで、立派な「蛇使い」に育つことを目指します。その過程を温かく見守ってください。皆さんと共に勉強していきましょう。第4回は、フラクタル図形の一種である「ヒルベルト曲線」を描く方法を解説します。

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

図1 1次のヒルベルト曲線を描くPythonコード

図4 1 次のヒルベルト曲線を描くPythonコードの改良版

図7 2 次のヒルベルト曲線を描くPythonコード

図9 書き換えた2 次のヒルベルト曲線を描くPythonコード

図10 図9 の赤枠部分を置き換えるPythonコード

図13 1 ~ 7 次のヒルベルト曲線を重ねて描画するPythonコード

機械学習ことはじめ

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

著者:川嶋 宏彰

本連載では、機械学習の基礎となるさまざまな手法の仕組みや、それらの手法のPythonでの利用方法を解説していきます。今回は、入力から予測値を出力する「回帰モデル」と、その教師あり学習について紹介します。

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

図5 気温に対するチョコレート菓子支出金額の散布図をプロットするPython コード

図7 チョコレート菓子支出金額の単回帰の結果を示すPythonコード

図10 チョコレート菓子支出金額の単回帰における残差をプロットする
Pythonコード

図13 年を説明変数とした単回帰のためのPythonコード

図15 平均最高気温と年の二つを説明変数とした重回帰のためのPythonコード

図18 平均最高気温と年の二つを説明変数とした重回帰の残差をプロットするPythonコード

図20 平均最高気温とアイスクリーム支出金額の散布図をプロットするPythonコード

図22 多項式回帰モデルを使ったPythonコード

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

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

著者:米田 聡

小型コンピュータボード「Raspberry Pi」(ラズパイ)向けにさまざまな拡張ボードが発売されています。その拡張ボードとラズパイを組み合わせれば、ラズパイでいろいろなことが簡単に試せます。第7回は、ボリュームスイッチのような操作を実現する拡張基板を扱います。

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

図4 サンプルプログラム(sample.py)

特集1 本格的なホームサーバーを構築(Vol.74記載)

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

著者:麻生 二郎

小型コンピュータボードの最上位モデルである「Raspberry Pi 4 Model B」の4G/8Gバイト版と、人気のLinuxディストリビューション「Ubuntu」のサーバー版を組み合わせて、本格的なサーバーを構築しましょう。本特集では、テレワークに役立つサーバーアプリの導入方法を紹介します。

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

図11 Sambaをインストールして実行するシェルスクリプト(samba_install.sh)

図14 MediaWikiを導入するシェルスクリプト(mediawiki_install.sh)

図25 ownCloudをインストールするシェルスクリプト(owncloud_install.sh)

図29 RainLoopをインストールするシェルスクリプト(rainloop_install.sh)

図36 Mattermostをインストールするシェルスクリプト(mattermost_install.sh)

図43 MosP勤怠管理をインストールするシェルスクリプト(mosp_install.sh)

図A3 ラズパイサーバーの初期設定(ubuntu_init1.sh)

図A4 ラズパイサーバーの初期設定(ubuntu_init2.sh)

図A3 データ領域を拡張するシェルスクリプト(storage_expand.sh)

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

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

004 レポート UNIX基本コマンド集の新版
005 レポート IBMのフリー日本語ソフト
006 NEWS FLASH
008 特集1 本格的なホームサーバーを構築 アプリ編/麻生二郎 コード掲載
023 コラム「ユニケージは従来のやり方と何が違うのか(前編)」/シェル魔人
024 特集2 オープンソースのJitsiで構築しよう/橋本知里
034 特集3 キーボードを自作しよう/東峰沙希
044 特別企画 MDSを始めよう!(応用編)/生駒眞知子
054 Raspberry Piを100%活用しよう/米田聡 コード掲載
057 Hello Nogyo!
058 機械学習ことはじめ/川嶋宏彰 コード掲載
068 タイ語から分かる現地生活/つぎみき
072 MySQLのチューニング/稲垣大助
080 PPAP/桑原滝弥、イケヤシロウ
082 中小企業手作りIT化奮戦記/菅雄一
086 法林浩之のFIGHTING TALKS/法林浩之
088 Pythonあれこれ/飯尾淳  コード掲載
094 香川大学SLPからお届け!/増田嶺  コード掲載
102 Bash入門/大津真
110 Techパズル/gori.sh
111 コラム「ユニケージは従来のやり方と何が違うのか(後編)」/シェル魔人

Vol.74

投稿日:2021.10.15 | カテゴリー: バックナンバー

 小型コンピュータボードの最上位モデル「Raspberry Pi 4 Model B」と、人気のLinuxディストリビューション「Ubuntu」を組み合わせれば、省スペースの本格的なホームサーバーを構築できます。しかし、無料でも利用できるさまざまなクラウドサービスが存在している今、ホームサーバーで何をすればよいのでしょうか。特集1では、テレワークをテーマに自宅での職場環境を豊かにするサーバーアプリの導入方法を解説します。
 特集2では、オープンソースのWeb会議システムソフト「Jitsi」(ジッツィ)を紹介しました。新型コロナ感染症拡大によりWeb会議が普及・一般化しています。これにより、Web会議の利便性が多くの人に伝わりました。ただし、Zeem MeetingsやCisco Webex Meetings、Microsoft TeamsのようなWeb会議サービスはとても便利ですが、無料で利用する場合は制限があります。有料版は、複数の会議を同時に行う場合はその数だけ契約したくてはいけません。この機会に無料で使えるJitsiの実力を体験してみてください。
 特集3では、自作キーボードを扱いました。自宅でのテレワークが増えてノートパソコンにもつなげられるキーボードの需要は高まっています。市販のキーボードでもよいでしょうが、この機会に自分だけのキーボードを自作してみましょう。オリジナルキーボードならきーの設定をカスタマイズできるので、複数のキーを使った特別な操作も一つのキーで実現できます。
 特別企画では、オープンソースのデータベース管理システムクラウドサービス「MySQL Database Service」(MDS)が備えるインメモリークエリーアクセラレータ「HeatWave」を紹介しました。HeatWaveならオンライン分析処理(OLAP)を高速に実行できます。MDSのトライアルアカウントでも利用できますので、ぜひ試してください。
 このほかに、タイ王国独特の文化が分かる連載「タイ語から分かる現地生活」を開始しました。タイ在住の日本人が経験した、タイの不思議な文化に触れられます。現在のタイ(チェンマイ)の写真も多数掲載しています。今回も読み応え十分のシェルスクリプトマガジン Vol.74。お見逃しなく!

※記事掲載のコードはこちら。記事の補足情報はこちら

※読者アンケートはこちら

Vol.74 補足情報

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

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

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

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

著者:岩本 和真

SLPでは最近、Webブラウザで動作するリズムゲームをチームで開発しました。さまざまな曲でプレーできるように、リズムゲーム本体と並行して、ゲームで使用する譜面を作成するツールも開発しました。このツールもWebブラ
ウザで動作します。今回は、この譜面作成ツールの実装について紹介します。

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

図3 最初に実行されるコード

図4 getMusicInfoViaElement()関数のコード

図5 getWidth()関数のコード

図6 numberQLine()関数のコード

図7 setCanvas()関数のコード

図8 setQLine()関数のコード

図9 QuarterLineクラスのコード

図10 setXLine()関数のコード

図11 update()関数のコード

図12 draw()関数のコード

図13 draw()関数のコード

図14 レーン上のノーツをマウスクリックで制御するためのコード

図15 スライダ機能のコード

図16 apply()関数のコード

図17 convert()関数のコード

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

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

筆者:川嶋 宏彰

本連載では、機械学習の基礎となるさまざまな手法の仕組みや、それらの手法のPythonでの利用方法を解説していきます。今回は「確率モデル」による機械学習である、ガウス分布を用いた教師あり学習と教師なし学習の手法を紹介します。

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

図2 二つの特徴量を抽出して散布図をプロットするPythonコード

図4 各クラス(ペンギン種)の体重分布をプロットするPythonコード

図6 1次元での決定境界を求めるPythonコード

図8 2次元ガウス分布とその等高線を表示するPythonコード

図10 2次元ガウス分布の等高線と元データの散布図を表示するPythonコード

図12 2次の識別による決定境界を表示するPythonコード

図15 ガウス分布によるデータの生成をするPythonコード

図18 混合ガウス分布によるソフトクラスタリングをするPythonコード

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

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

著者:飯尾 淳

本連載では「Pythonを昔から使っているものの、それほど使いこなしてはいない」という筆者が、いろいろな日常業務をPythonで処理することで、立派な「蛇使い」に育つことを目指します。その過程を温かく見守ってください。皆さんと共に勉強していきましょう。第3回は、Pythonの言語機能である「ジェネレータ」に親しむための活用例を紹介します。

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

図2 「jugem.txt」の内容を行単位で反転して表示するPythonコード

図5 lines変数を使わないコード例

図6 ジェネレータを使用したPythonコード「reverse2.py」

図7 関数readJugemu()が返すデータの種類を調べるPythonコード「test.py」

図8 ジェネレータ関数readJugemu()が返すデータの種類を調べるPythonコード「test2.py」

図9 ジェネレータ関数readJugemu()をfor文で使用するPythonコード「reverse3.py」

図11 ハノイの塔の解を求めるPythonコード「hanoi.py」

図12 yield from構文を使わない場合のコード

特集3  ラズパイでコロナ感染症対策(Vol.73記載)

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

著者:麻生 二郎

新型コロナウイルス感染症対策として、日々の手洗いと検温は重要です。ただ、1人暮らしの人など、それらを習慣化するのは難しいかもしれません。本特集では、小型コンピュータボード「Raspberry Pi」(ラズパイ)と電子回路を用いて、新型コロナウイルス感染症対策を習慣化できるような支援システムを構築します。

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

Part2 感染症対策システムを完成する

図2 pirm_sensor.pyのソースコード

図3 temp_sensor.pyのソースコード

図4 go_out.shのソースコード

図5 handwash_mouthwash.pyのソースコード

図6 go_home.shのソースコード

図7 open_close.pyのソースコード

図8 ventilation.shのソースコード

図9 spo2_sensor.pyのソースコード

図10 spo2.shのソースコード

特集2 JenkinsによるCI/CD(Vol.73記載)

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

著者:長久保 篤、酒井 利治

ソフトウエアの開発・生産性を高めるには「CI(Continuous Integration)/CD(Continuous Delivery)」が不可欠となっています。本特集では、CI/CDとは何か、オープンソースソフトウエアの「Jenkins」を用いてCI/CD環境を構築する方法を分かりやすく解説します。

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

図9 Dockerfileの内容

図21 Jenkinsfileの内容

図41 説明した内容を反映したJenkinsfile

特集1 PowerShellを学ぼう(Vol.73記載)

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

著者:三沢 友治

PowerShellとは、米Microsoft社が開発したシェルおよびスクリプト言語です。Windows OSや、Microsoft Office製品に関連するサービス「Microsoft 365」を管理するのに活用されています。本特集では、これからPowerShellに取り組み始めたい人を対象に、PowerShellについて基本から分かりやすく解説します。

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

図47 時刻を取得するスクリプト(writeTime.ps1)

図48 ランダムな名前、ランダムな作成日でファイルを作成するスクリプト(CreateRandomFiles.ps1)

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

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

004 レポート Windows 11発表
005 レポート HE C++ Transpiler
006 NEWS FLASH
008 特集1 PowerShellを学ぼう/三沢友治 コード掲載
024 特集2 JenkinsによるCI/CD/長久保篤、酒井利治 コード掲載
042 特集3 ラズパイでコロナ感染症対策/麻生二郎 コード掲載
066 特別企画 新・地球シミュレータ(ES4)への招待/今任嘉幸、上原均
074 Raspberry Piを100%活用しよう/米田聡
076 機械学習ことはじめ/川嶋宏彰 コード掲載
085 Hello Nogyo!
086 CRM/桑原滝弥、イケヤシロウ
088 レッドハットのプロダクト/宇都宮卓也
096 MySQLのチューニング/稲垣大助
104 法林浩之のFIGHTING TALKS/法林浩之
106 中小企業手作りIT化奮戦記/菅雄一
110 Pythonあれこれ/飯尾淳 コード掲載
114 香川大学SLPからお届け!/岩本和真 コード掲載
120 Bash入門/大津真
130 Techパズル/gori.sh
131 コラム「ユニケージは従来のやり方と何が違うのか(前編)」/シェル魔人

Vol.73

投稿日:2021.07.25 | カテゴリー: バックナンバー

 UNIXやLinuxなどのOSでは、コマンドや、コマンドをプログラムのように記述したシェルスクリプトを利用してさまざまな操作が可能です。実は、Windowsでもそのようなコマンドやシェルスクリプトに相当する仕組みが「PowerShell」として用意されています。特集1では、このPowerShellを使い始めたい人向けに、PowerShellの基本操作や構文、使いこなしなどを分かりやすく解説しています。
 特集2では、「Jenkins」というオープンソースソフトウエアを紹介しています。Jenkinsは、CI(継続的インテクレーション/CD(継続的デリバリ)を実現するツールであり、アプリやシステムの開発におけるコード管理、ビルド、テスト、デプロイ(配備)などを自動化します。開発者の負担を減らし、開発効率を上げるのにはとても最適です。
 特集3では、小型コンピュータボード「Raspberry Pi」(ラズパイ)と電子回路を組み合わせて新型コロナ感染症対策を支援する四つのシステムを構築しています。電子回路を初めて触る人でも簡単に作成できますので、ぜひチャレンジしてみてください。
 特別企画では、2021年3月に稼働を開始した、海洋研究開発機構が運用するスーパーコンピュータ「地球シミュレータ」の第4世代を紹介しています。地球シミュレータがどのようなもので、何に利用されていて、どのような仕組みで動作しているのかを知るにはよい記事です。
 そのほか、2021年内の提供されるWindows 11をラズパイで試すレポート、入門者や初心者向けの機械学習連載など、面白い記事満載です。今回も読み応え十分のシェルスクリプトマガジン Vol.73。お見逃しなく!

※記事掲載のコードはこちら。記事の補足情報はこちら

※読者アンケートはこちら

Vol.73 補足情報

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

特集1 PowerShellを学ぼう

pp.18-21の図33~図34のキャプション内容に誤りがありました。キャプションの内容が一つずつずれています。正しくは、以下の通りです。お詫びして訂正いたします。

図33 テーマ「powerlevel10k_rainbow」を適用した画面
図34 フォントのインストール
図35 インストールしたフォントをPowerShellに適用する
図36 プロファイルの配置を確認する
図37 Windows PowerShell ISEの起動
図38 ISEの初期画面
図39 インテリセンスにより候補を表示する
図40 コマンド アドオンからコマンドレットを調べる
図41 コマンド アドオンからコマンドレットを選択したら、パラメータを付けてそのまま実行できる
図42 ISEのデバックメニュー
図43 ブレークポイントは茶色で表示される
図44 スニペットを表示して挿入できる
図45 ISEが意図しない状態で停止した場合に表示されるダイアログ
図46 復元されたスクリプトはタブに「回復済み」と表示される
図47 時刻を取得するスクリプト(writeTime.ps1)

p.22の「図48 ランダムな名前、ランダムな作成日でファイルを作成するスクリプト(CreateRandomFiles.ps1)」の最終行として「}」が抜けていました。 お詫びして訂正いたします。

特集3  ラズパイでコロナ感染症対策

p.59の「図2 pirm_sensor.pyのソースコード」の先頭にある「1 !/usr/bin/env python3」は「2 #!/usr/bin/env python3」の誤りです。お詫びして訂正します。

コラム「ユニケージは従来のやり方と何が違うのか(前編)」

2021年6月号(Vol.72)と同じ内容でした。2021年8月号(Vol.73)のコラムはこちらから閲覧できます(Kindle版やPDF版は反映済みです)。次号となる2021年10月号(Vol.74)にも掲載する予定です。お詫びして訂正します。

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

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

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

著者:重松 亜夢

今回は、「gRPC」という通信プロトコルを使った、Webアプリケーションの作成方法を紹介します。gRPCを使うことで、通信量が減らせます。最近注目のマイクロサービスの連携にも活用できます。

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

図3 「pb/picture.proto」ファイルに記述する内容

図4 「pb/protoc-web/Dockerfile」ファイルに記述する内容

図5 「pb/scripts/picture-compile.sh」ファイルに追記する内容

図6 「Makefil e」ファイルの変更内容

図8 「docker-compose.yaml」ファイルに追加する内容

図9 「services/client/src/components/Picture.tsx」ファイルの内容

図10 「services/client/src/App.tsx」ファイルに記述する内容

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

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

著者:川嶋 宏彰

本連載では、機械学習の基礎となるさまざまな手法の仕組みや、それらの手法のPythonでの利用方法を解説していきます。第1回となる今回は、機械学習の概要についても解説します。また、「k近傍法」という手法を使いながら機械学習の重要な概念をいくつか紹介します。

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

図7 データセットを読み込んで散布図行列をプロットするPythonコード

図9 二つの特徴量を抽出して散布図をプロットするPythonコード

図11 k-NNによる判定をするシンプルなPythonコード

図12 k-NNによる判定をする改良版のPythonコード

図13 分類器の決定境界を描画するPythonコード

図16 スケーリング後に決定境界を描画するPythonコード

図21 kの値を変えた場合の3種のペンギンの決定境界を描画するPythonコード

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

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

著者:米田 聡

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

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

図4 温度、湿度、気圧を測定するサンプルプログラム(sample.py)

特集1 本格的なホームサーバーを構築(Vol.72記載)

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

著者:麻生 二郎

小型コンピュータボードの最上位モデルである「Raspberry Pi 4 Mobel B」の4G/8Gバイト版と、人気のLinuxディストリビューションのサーバー版「Ubuntu Server」を組み合わせて、本格的なサーバーを構築しましょう。本特集では、サーバー向けにハードウエアを強化する方法を紹介します。

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

図20 無線LANの設定

図27 固定IPアドレスを割り当てる

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

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

004 レポート eBPF for Windows
005 レポート TechLIONが10周年
006 NEWS FLASH
008 特集1 本格的なホームサーバーを構築/麻生二郎 コード掲載
020 特集2 MDSを始めよう!(基礎編)/生駒眞知子 
029 Hello Nogyo!
030 特別企画 ローコード開発基盤 OutSystems/阿島哲夫
040 Raspberry Piを100%活用しよう/米田聡 コード掲載
042 機械学習ことはじめ/川嶋宏彰 コード掲載
052 インタプリタ/桑原滝弥、イケヤシロウ
054 レッドハットのプロダクト/暮林達也
066 Pythonあれこれ 飯尾淳
070 香川大学SLPからお届け!/重松亜夢 コード掲載
076 法林浩之のFIGHTING TALKS/法林浩之
078 中小企業手作りIT化奮戦記/菅雄一
082 MySQLのチューニング/稲垣大助
090 Bash入門/大津真
098 Techパズル/gori.sh
099 コラム「ロールオーバーラップのススメ」/シェル魔人

Vol.72

投稿日:2021.05.25 | カテゴリー: バックナンバー

 緊急事態宣言などにより自宅にいる時間が増えています。外出できずにイライラしている、こんなときこそ、小型コンピュータボード「Rapsberry Pi」(ラズパイ)でホームサーバーを立ててみましょう。特集1では、人気のLinuxディストリビューションのサーバー版「Ubuntu Server」とラズパイを用いて、ホームサーバーを構築します。
 なお、ラズパイにUbuntu Serverをインストールして初期設定を施せば、あとはパソコンとほぼ同じようにサーバーアプリを導入・できます。したがって、リアルタイムクロック(RTC)、電源バックアップ、ストレージ拡張などのハードウエア強化を中心にホームサーバーの構築を紹介します。
 特集2では、オープンソースのデータベース管理システム「MySQL」のクラウドサービス「MySQL Database Service」(MDS)を紹介します。MDSは、MySQLの開発元である米Oracle社および日本オラクルが提供します。データ分析の分野では注目のサービスです。
 特別企画では、大規模システムの構築可能なローコード開発基盤「OutSystems」を扱います。このOutSystemsは、無償でも使えます。OutSystemsの開発環境となる「Service Studio」を触りながら、特別企画をお楽しみください。
 このほかに、入門者や初心者向けに機械学習について解説した連載「機械学習ことはじめ」が始まりました。AI(人工知能)の技術を学びたい人には最適です。今回も読み応え十分のシェルスクリプトマガジン Vol.72。お見逃しなく!

※記事掲載のコードはこちら。記事の補足情報はこちら

※読者アンケートはこちら

Vol.72 補足情報

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

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

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

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

著者:飯尾淳

本連載では「Pythonを昔から使っているものの、それほど使いこなしてはいない」という筆者が、いろいろな日常業務をPythonで処理することで、立派な「蛇使い」に育つことを目指します。その過程を温かく見守ってください。皆さんと共に勉強していきましょう。第1回は、アンケート結果から非定型なデータを取り出して集計します。

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

図5 形態素解析の処理をするPythonコード

図7 名詞の連接処理と抽出をするPythonコード

図9 データを分析してプロットするPythonコード

特別企画 ゼロから始めるEthereum(Vol.71記載)

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

著者 志茂博、高畑祐輔

「インターネット誕生以来の革命」と称されることもあるブロックチェーン。そのブロックチェーン技術を利用したものの中で、幅広い用途での活用が注目されている「Ethereum(イーサリアム)」という分散アプリケーション基盤について解説します。後半では、実際に自分専用のブロックチェーンを立ち上げて操作する方法を紹介します。Ethereumとブロックチェーンの世界を体験してみてください。

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

図4 「genesis.json」ファイルに記述する内容

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

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

著者:樋口史弥

COVID-19の流行により、香川大学でもサークル活動に制限がかかっています。そこで、ICカードと非接触ICカードリーダーを用いて、部室の入退室をモニタリングするシステムを作成しました。部室の利用状況をリアルタイムに確認できれば密を避ける目安になりますし、何かあったときのための記録としても有用です。

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

図6 IDmを読み取って表示するPythonコード

図7 サーバーと連携させるために挿入するPythonコード

図12 退出かどうかを調べるSQL 文

図13 入室情報を表示するコード(index.js)により追加される情報の例

図15 音を鳴らすために挿入するPythonコード

特集3 ラズパイでQ&Aサイトを構築(Vol.71記載)

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

著者 麻生二郎

小型コンピュータボード「Raspberry Pi」(ラズパイ)の最大の特徴(Picoを除く)は、LinuxなどのOSが動作することです。そのOSとして「Ubuntu」という、パソコンやサーバー向けで人気の高いLinuxディストリビューションが利用できます。本特集では、ラズパイとUbuntuを組み合わせて、Stack Overflowに似たサービスを提供できるQ&Aサイトを構築します。

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

図20 無線LANの設定

図27 固定IPアドレスを割り当てる

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

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

004 レポート Linuxシス管向け日本語講座
005 レポート Windows 10用無償RPAツール
006 NEWS FLASH
008 特集1 はじめてのExcel VBA/松井元
018 特集2 1Rでも快適なテレワーク環境/北谷明日香
030 特集3 ラズパイ4でQ&Aサイトを構築する/麻生二郎 コード掲載
040 特別企画 ゼロから始めるEthereum/志茂博、高畑祐輔 コード掲載
051 Hello Nogyo!
052 Raspberry Piを100%活用しよう/米田聡
056 レッドハットのプロダクト/田中司恩
065 MySQLのチューニング/稲垣大助
064 Webhook/桑原滝弥、イケヤシロウ
074 香川大学SLPからお届け!/樋口史弥 コード掲載
080 法林浩之のFIGHTING TALKS/法林浩之
082 中小企業手作りIT化奮戦記/菅雄一
086 Pythonあれこれ/飯尾淳 コード掲載
092 Bash入門/大津真
098 Techパズル/gori.sh
100 コラム『ユニケージの作法は「生き方」に通じる』/シェル魔人

Vol.71

投稿日:2021.03.25 | カテゴリー: バックナンバー

 社会人になって最も使っているソフトウエアといえば、「表計算ソフト」でしょう。その表計算ソフトの代表ともいえるのが「Micrsoft Excel」です。
 それでは、「Microsoft Excelが備える『マクロ』を利用したことはありますか」という質問には、多くの人がノー(NO)と答えるでしょう。マクロは、表の作成や計算に伴う手作業を自動化し、業務効率を大幅に向上できる大切な機能です。
 特集1では、Microsoft Excelのマクロを利用するためのプログラミング言語である「VBA」を紹介します。VBAを使い始めたい人向けの内容で、プログラミングスキルがない人でも理解しやすいように解説しています。
 特集2では、一人暮らしの人向けに、テレワーク時代におけるインテリアコーディネーションのポイントを解説しました。コロナ禍によって在宅勤務を強いられ、自宅でのテレワークが一般的になっています。ただ、ワンルームや1Kといった1部屋の空間では、仕事とプライベートを分けることが難しく、「仕事がぜんぜん進まない」「休憩がまったく取れない」のような状況に陥ることが多いでしょう。インテリアの観点からそのような状況に陥らない工夫を紹介しています。
 特集3では、小型コンピュータボード「Raspberry Pi」(ラズパイ)と、人気のLinuxディストリビューション「Ubuntu」を組み合わせて、実用性の高いサーバーを構築する方法を紹介しました。Stack Overflowライクな「Q&Aサイト」が簡単に立ち上げられるので、ぜひ試してみてください。
 特別企画は、グロックチェーンの「Ethereum」(イーサリアム)を解説しました。ビットコインのような仮想通貨だけではなく、企業間取引の中核システムにも活用できるEthereumなので、ぜひこの機会にEthereumを学んでみましょう。
 このほかに、2本の連載が始まりました。一つは、プログラミング言語「Python」をさまざまなことを利用する「Pythonあれこれ」、もう一つは、Linuxの標準シェル「Bash」の入門です。今回も読み応え十分のシェルスクリプトマガジン Vol.71。お見逃しなく!

※記事掲載のコードはこちら。記事の補足情報はこちら

※読者アンケートはこちら

Vol.71 補足情報

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

目次

 p.3の先頭の行にあるページ数の「44」は「56」の誤りです。お詫びして訂正いたします。

レポート

 p.4で紹介した20%割引クーポンは、Linux30周年に伴って30%割引に変更されました。

連載 Red Hatのプロダクト

 p.62の右上にある『を実行して「oc」コマンドを入手します』は、『を実行して「oc」コマンドのパスを確認します』の誤りです。お詫びして訂正いたします。

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

Webアプリケーションの正しい作り方(Vol.70記載)

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

著者:しょっさん

ソフトウエアを正しく作るために、エンジニアたちはどんなことを知らなければならないでしょうか。実際のコードを使って、より良くしていくためのステップを考えてみましょう。最終回は、本番環境として恥ずかしくないシステムをリリースする方法を解説します。

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

図3 最終的に実装された各レイヤーのソースコード

■「src/api/expense.ts」の経費精算部分

■「src/interfaces/expenseController.ts」の経費精算部分

■「src/adapters/ExpenseRepository.ts」の経費精算部分

図5 アクセス認可を制御する方法

■ロールによって実行するモデル操作を変更する

■経費精算テーブルにアクセス認可用の「role」カラムを追加してアクセス認可させる

シェルスクリプトの書き方入門(Vol.70記載)

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

著者:大津真

本連載ではシェルスクリプトの書き方をやさしく紹介します。対象とするシェルは、多くのLinuxディストリビューションが標準シェルとして採用する「Bash」です。最終回となる今回は、関数について解説します。

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

図1 シェルスクリプト「hello1.sh」の内容

図2 シェルスクリプト「param_test1.sh」の内容

図3 シェルスクリプト「scope1.sh」の内容

図4 シェルスクリプト「file_test1.sh」の内容

図5 ライブラリファイル「my_lib.sh」の内容

図6 シェルスクリプト「file_test2.sh」の内容

図7 シェルスクリプト「sum_test1.sh」の内容

図8 シェルスクリプト「test1.sh」の内容

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

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

著者:高嶋真輝

 今回は、本物に限りなく近いデータを生成できる「敵対的生成ネットワーク」(Generative Adversarial Networks)という機械学習の技術と、「Fashion-MNIST」という服飾画像のデータセットを用いて、靴の画像生成に挑戦します。

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

図3 各種ライブラリをインポートするためのコード

図4 モデルの入力次元を設定するためのコード

図5 生成器のモデルを構築する関数を定義するためのコード

図9 生成器のモデルを構築する関数を定義するためのコード

図11 GANのシステムモデルを構築する関数を定義するためのコード

図12 学習モデルをコンパイルするためのコード

図13 損失などのデータを格納する変数を定義するためのコード

図14 学習用データを準備するためのコード

図15 学習処理用の関数を定義するコード

図16 画像の表示と保存をする関数を定義するコード

バーティカルバーの極意(Vol.70掲載)

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

著者:飯尾淳

コロナ禍の影響を受けて、2020年度は大学の講義の多くがオンライン講義になりました。対面での講義に比べると、情報伝達の面でオンライン講義はかなり不利です。また、受講状況がどうだったかについても気になります。最終回となる今回は、久しぶりに棒グラフが登場します。棒グラフで、講義コンテンツがいつ視聴されたのかを可視化します。

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

図4 未読率を計算するRubyスクリプト「midoku.rb」

図7 視聴率の総計を計算するRubyスクリプト「hours.rb」

レッドハットのプロダクト(Vol.70記載)

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

著者:森和哉

近年、ビジネスのさまざまな分野において、業務の熟練者の高齢化と、後継者不足が深刻化しています。中でも、「計画策定」業務は、豊富な経験や特殊なスキルが必要とされることから、特に属人化が進行しています。「Red Hat Business Optimizer」は、そのような企業の計画策定業務を標準化し、より効率的な計画の立案を可能にします。

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

図8 制約条件「すべてのシフトに従業員が割り当てられていること」のコード

■employeeRosteringScoreRules.drl

■RosterConstraintConfiguration.java

図9 制約条件「従業員が勤務を希望している時間帯へのシフトの割り当て」のコード

■employeeRosteringScoreRules.drl

■RosterConstraintConfiguration.java

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

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

著者:米田聡

小型コンピュータボード「Raspberry Pi」(ラズパイ)向けにさまざまな拡張ボードが発売されています。その拡張ボードとラズパイを組み合わせれば、ラズパイでいろいろなことが簡単に試せます。第3回は、電源断でもラズパイを正常終了するための拡張基板を扱います。

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

図3 ADRSZUPコマンドのソースコード(ADRSZUP.c)

図4 /etc/systemd/system/adrszup.serviceファイルの内容

特集2 FIDO2の最新動向(Vol.70記載)

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

著者:五味秀仁、板倉景子

パスワード課題の解決に注力する業界団体FIDO(ファイド)アライアンスは、
フィッシング攻撃に耐性のある、シンプルで堅牢な認証の展開を推進してい
ます。その新しい仕様「FIDO2」は、標準化団体W3Cで策定されるWeb認証仕
様「WebAuthn」(ウェブオースン)を包含し、さらにAndroidとWindowsに加えて、iOSやmacOSにも対応するなど、プラットフォーム拡大を進めています。本特集では、FIDO2の概要や仕組み、最新動向について解説します。

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

図8 publicKeyデータの例

図9 認証器に登録要求を出すJavaScriptプログラムの例

図10 PublicKeyCredentialデータの例

図11 attestationObject項目に設定される情報の例

図12 clientDataJSON項目に設定される情報の例

図14 publicKeyデータの例

図15 認証器に認証要求を出すJavaScriptプログラムの例

図16 PublicKeyCredentialデータの例

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

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

004 レポート RHEL互換OSのCentOS終了
005 NEWS FLASH
008 特集1 第4世代Ryzenプロセッサ/麻生二郎
014 特集2 FIDO2の最新動向/五味秀仁、板倉景子 コード掲載
026 特別企画 Forguncyを使ってみよう/須山亜紀
040 Raspberry Piを100%活用しよう/米田聡 コード掲載
044 レッドハットのプロダクト/森和哉 コード掲載
054 MySQLのチューニング/稲垣大助
059 バーティカルバーの極意/飯尾淳 コード掲載
064 CI/CD/桑原滝弥、イケヤシロウ
066 中小企業手作りIT化奮戦記/菅雄一
070 法林浩之のFIGHTING TALKS/法林浩之
072 香川大学SLPからお届け!/高嶋真輝 コード掲載
082 円滑コミュニケーションが世界を救う!/濱口誠一
084 Webアプリの正しい作り方/しょっさん コード掲載
096 シェルスクリプトの書き方入門/大津真 コード掲載
102 Techパズル/gori.sh
104 コラム「ユニケージとその将来」/シェル魔人

Vol.70

投稿日:2021.01.25 | カテゴリー: バックナンバー

 パソコン向けのCPUとして快進撃を続けているプロセッサがあります。米Advance Micro Devices(AMD)社が開発する「Ryzen」(ライゼン)です。PlayStation 5のCPUにも採用されました。
 特に、2020年11月に発売した新アーキテクチャ「Zen 3」を採用する「Ryzen 5000シリーズ」は、同程度のインテルCPUを凌駕する性能を備えています。特集1では、Ryzen 5000シリーズのZen 3アーキテクチャと対応マザーボードについて触れました。
 今の時代、何をするのも個人を特定する、認証が欠かせないものになっています。しかし、古くからあるID/パスワード認証だけでは、セキュリティ上不安です。特集2では、生体認証など、新しい認証技術の業界標準「FIDO」(ファイド)の最新規格である「FIDO2」を紹介します。
 ITシステムの「内製化」は、さまざまな業界で大きなキーワードになりそうです。この内製化を実現するには、複雑なプログラムや開発スタイルを排除し、誰でもシステムを作れるようにしなくてはいけません。それを実現するのが、コードを書かない、または少しのコードしか書かない「ノンコード・ローコード開発」です。
 特別企画では、最もビジネスマンに浸透しているであろう表計算ソフト「Microsoft Excel」を操作するようにWebアプリを開発できるシステム構築基盤「Forguncy」(フォーガンシ―)を紹介します。
 このほか、さまざまな用途に合わせてオープンソースのデータベース管理システム「MySQL」をチューニングする新連載が始まりました。今回も読み応え十分のシェルスクリプトマガジン Vol.70。お見逃しなく!

※記事掲載のコードはこちら。記事の補足情報はこちら

※読者アンケートはこちら

Vol.70 補足情報

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

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

Jetson & Pi 電力測定ボードの販売開始

投稿日:2021.01.20 | カテゴリー: コード
Jetson Nano & Pi 電力測定ボード

 シェルスクリプトマガジン Vol.69(2020年12月号)の特集1で扱った、Jetson Nano 開発キットとRaspberry Piの両方で利用できる拡張基板「Jetson Nano & Pi 電力測定ボード」の販売を、自社サイトでも開始いたしました。特別価格の4540円(別途送料360円)で購入できます。
 Jetson Nano & Pi 電力測定ボードは、デジタル電流・電圧・電力計モジュール「INA260」と単色有機ELディスプレイ「SSD1306」(OLEDモジュール)を搭載しています。INA260で、Jetson Nano 開発キットやRaspberry Piの消費電力をリアルタイムに測定できます。そして、SSD1306にはさまざまな情報を表示可能です。

単色有機ELディスプレイ「SSD1306」

 Jetson Nano & Pi 電力測定ボードを購入して、Jetson Nano 開発キットとRaspberry Piを便利に使いましょう。

購入ページはこちらです。

シェルスクリプトの書き方入門(Vol.69記載)

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

筆者:大津 真

本連載ではシェルスクリプトの書き方をやさしく紹介します。対象とするシェルは、多くのLinuxディストリビューションが標準シェルとして採用する「Bash」です。第5回は、複数の文字列を柔軟なパターンで指定できる正規表現の基礎について解説します。

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

図2 シェルスクリプト「pref1.sh」の内容

図3 シェルスクリプト「whileRead1.sh」の内容

図4 シェルスクリプト「whileRead2.sh」の内容

図5 シェルスクリプト「tokyo.sh」の内容

図6 シェルスクリプト「addpref.sh」の内容

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

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

著者:菅 雄一

 2000年にLinuxサーバーを導入して以来、筆者は、主に費用面での手軽さからOSS(オープンソースソフトウエア)を活用したシステム構築に取り組んできた。だが、2020年になってWindowsサーバーに初めて触れることになった。勤務先の会社が、バッファローの「TeraStation」という法人向けのNAS(Network Attached Storage)製品を購入し、そのOSがWindowsサーバーだったからだ。今回は、そのWindowsサーバー搭載のNAS製品を設定した話を書く。

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

図3 Sambaの設定ファイル(smb.conf)の記述例

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

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

著者:石塚 美伶

今回は、音楽の「耳コピ」を支援する音源可視化ツールをPythonで制作する方法について紹介します。制作するツールは、WAVファイルを読み取って音を判別し、その音をピアノの鍵盤で示すGIFアニメーションを生成します。

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

図4 「main.py」ファイルに記述する内容(その1)

図5 「main.py」ファイルに記述する内容(その2)

図6 「main.py」ファイルに記述する内容(その3)

図8 「main.py」ファイルに記述する内容(その4)

図9 「main.py」ファイルに記述する内容(その5)

バーティカルバーの極意(Vol.69掲載)

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

著者:飯尾 淳

Twitterのトレンドを分析に関する解説の最終回です。これまで、TwitterのトレンドAPIを叩いてトレンドを集め、Twitter Standard search APIでトレンドに関するツイートを収集、そのデータに基づいてトレンドの構造を分析する手法を紹介しました。今回は、その日の主要なトピックは何だったかを可視化する方法を解説します。

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

図7 JSONデータを得るスクリプト(get_data.py)

図9 コサイン類似度を計算するスクリプト(calc_cos_sim.py)

図11 dotスクリプトを作成するスクリプト(mk_net.rb)

レッドハットのプロダクト(Vol.69記載)

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

著者:伊藤 智博

最近は昔と比べ、ビジネス要件のレベルが高くなりました。この要件を実現するためさまざまな技術が新たに誕生していますが、それらの技術を開発者が組み合わせて使用するのは非常に困難です。第5回では、これらの技術を組み合わせて高いレベルの要件を簡単に実現するJavaフレームワークの「Quarkus」を紹介します。

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

図7 「quarkus-getting-started/src/main/java/sample/GreetingResource.java」ファイルの内容

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

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

著者:米田 聡

小型コンピュータボード「Raspberry Pi」(ラズパイ)向けにさまざまな拡張ボードが発売されています。その拡張ボードとラズパイを組み合わせれば、ラズパイでいろいろなことが簡単に試せます。第2回は、赤外線信号の受信が可能な拡張基板を扱います。

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

図3 /boot/config.txtファイルの末尾に追加する2行

図4 /etc/lirc/lirc_options.confファイルの変更箇所

特集2 1日で理解するGoプログラミング(Vol.69記載)

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

著者:KinoCode、ハリー

「エンジニアが次に学びたい言語」のランキングでたびたび上位にランクインしているGo言語。本特集では、Goの特徴やプログラミングについての概要を、1日で学習できるようにコンパクトに解説します。この機会にぜひGoを学んでみてください。

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

図13 挨拶文を表示するサンプルプログラム「greeting.go」のコード

特集1 Jetson & Pi 電力測定ボードの使い方(Vol.69記載)

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

著者:北崎 恵凡

ユーザーコミュニティ「Jetson Japan User Group」のメンバーである筆者が設計した、小型コンピュータボードの「Jetson Nano」と「Raspberry Pi」で共通に使える拡張基板「Jetson & Pi 電力測定ボード」をシェルスクリプトマガジンオリジナルとして作成しました。本特集では、このJetson & Pi電力測定ボードの使い方を紹介します。

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

Part1 Jetson & Pi 電力測定ボードを動かす

図7 電源電圧を表示するサンプルプログラム「ina260.py」のソースコード

図9 ina260_adafruit.pyのソースコード

図12 ina260_plot.pyのソースコード

図14 ssd1306_stats.pyのソースコード

図19 ina260_oled.pyのソースコード

図21 ssd1306_jp_font.pyのソースコード

図28 imagenet-console_oled.pyのソースコード

図32 imagenet-camera_oled.pyのソースコード

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

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

004 レポート MacのApple M1
005 レポート セキュリティゲーム「TERMINAL」
006 NEWS FLASH
008 特集1 Jetson & Pi 電力測定ボードの使い方/北崎恵凡 コード掲載
026 特集2 1日で理解するGoプログラミング/KinoCode、ハリー コード掲載
036 特別企画 Redmineで始めるプロジェクト管理/前田剛
048 Raspberry Piを100%活用しよう/米田聡 コード掲載
051 Hello Nogyo!
052 レッドハットのプロダクト/伊藤智博 コード掲載
062 Docker/桑原滝弥、イケヤシロウ
064 バーティカルバーの極意/飯尾淳 コード掲載
070 法林浩之のFIGHTING TALKS/法林浩之
072 香川大学SLPからお届け!/石塚美伶 コード掲載
076 円滑コミュニケーションが世界を救う!/濱口誠一
078 中小企業手作りIT化奮戦記/菅雄一 コード掲載
084 シェルスクリプトの書き方入門/大津真 コード掲載
092 Techパズル/gori.sh
094 コラム「長続きの秘訣」/シェル魔人

Vol.69

投稿日:2020.11.25 | カテゴリー: バックナンバー

 Jetson Japan User Groupの協力を得て、シェルスクリプトマガジン特製オリジナル拡張基板の第3弾となる「Jetson & Pi 電力測定ボード」を開発しました。この拡張基板は、Jetson Nanoの開発キットとRaspberry Pi(ラズパイ)の小型コンピュータボードの両方で利用できます。特集1では、Jetson & Pi 電力測定ボードの概要や使い方などを詳しく紹介します。
 特集2では、人気YouTuberであるKinoCode(キノコード)氏が解説するGoプログラミングです。Goは、米Google社が開発したプログラミング言語です。コンパイル型のために高速な上、プログラムが書きやすく、安全性も高く作られています。最近、最も注目されています。
 特集3では、オープンソースのプロジェクト管理ツール「Redmine」を分かりやすく紹介します。Redmineは「チケット」という単位でさまざまなタスクを管理できます。とても柔軟性が高く、設定次第ではプロジェクト管理だけでなく、さまざまな用途に活用できます。
 このほか、市販の拡張ボードでラズパイを100%利用する記事や、中小企業のシステム管理者の実体験を紹介した奮戦記なども連載として掲載しています。今回も読み応え十分のシェルスクリプトマガジン Vol.69。お見逃しなく!

※記事掲載のコードはこちら。記事の補足情報はこちら

※読者アンケートはこちら

Vol.69 補足情報

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

Techパズル

p.92の問題①は、

ではなく、

です。お詫びして訂正いたします。
※ PDF版とKindle版では訂正を反映する予定です。

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

シェルスクリプトの書き方入門(Vol.68記載)

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

著者:大津 真

本連載ではシェルスクリプトの書き方をやさしく紹介します。対象とするシェルは、多くのLinuxディストリビューションが標準シェルとして採用する「Bash」です。第4回は、繰り返し処理を実現する制御構造を中心に解説します。

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

図1 リストにある果物名を一つずつ表示するシェルスクリプトの例

図2 シェルスクリプト「showArgs1.sh」の内容

図3 シェルスクリプト「showArgs2.sh」の内容

図4 シェルスクリプト「showArgs3.sh」の内容

図5 シェルスクリプト「colon_to_comma2.sh」の内容

図6 シェルスクリプト「colon_to_comma3.sh」の内容

図7 シェルスクリプト「hello10.sh」の内容

図8 シェルスクリプト「case1.sh」の内容

図9 シェルスクリプト「case2.sh」の内容

図10 シェルスクリプト「pat1.sh」の内容

図11 シェルスクリプト「cgExt1.sh」の内容

図12 シェルスクリプト「while1.sh」の内容

図13 シェルスクリプト「while2.sh」の内容

図14 シェルスクリプト「cgExt2.sh」の内容

バーティカルバーの極意(Vol.68掲載)

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

著者:飯尾 淳

Twitterのトレンド分析に関する解説も、とうとう3回目に突入しました。今回は、共起ネットワークグラフの描画処理について説明します。描画にはD3.jsというグラフ描画フレームワークを使います。この描画処理では、データの受け渡し方法にちょっとした工夫をしており、それについても解説します。

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

図2 トレンド表示画面を構成するビューのソースコード

図5 サーバー側の処理をするRailsのコントローラのコード

図6 クライアント側の処理をするコード

Webアプリケーションの正しい作り方(Vol.68記載)

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

著者:しょっさん

ソフトウエアを正しく作るために、エンジニアたちはどんなことを知らなければならないでしょうか。実際のコードを使って、より良くしていくためのステップを考えてみましょう。第8回は、第1回で述べた「クリーンアーキテクチャ」に習って、ロジックと、フレームワークやライブラリ、その他の処理を分離します。

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

図1 経費精算申請を処理しているコード

図3 「User Entity」オブジェクト

図5 「common/index.ts」ファイル

図6 「domains/expenseEntity.ts」ファイル

図7 「usecases/SubmitExpense.ts」ファイル

図8 「usecases/IExpenseRepository.ts」ファイル

図9 「interfaces/ExpenseController.ts」ファイル

図10 「interfaces/ExpenseRepository.ts」ファイル

図11 「expense.ts」ファイル

図13 「index.ts」ファイル

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

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

著者:山下 賢治

初めまして。香川大学 工学研究科 修士1年の山下賢治です。今回は、JavaScriptライブラリ「React」と、API向けのクエリー言語「GraphQL」を用いて、GitHubで公開されているリポジトリの検索Webアプリケーションを作成します。リポジトリの絞り込みには、開発言語とスター数を利用します。

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

図3 「src/auth.js」ファイルに記述する内容

図4 「src/index.js」ファイルに記述する内容

図5 「src/graphql/index.js」ファイルに記述する内容

図6 「src/components/RepoInfo.jsx」ファイルに記述する内容

図9 変更後の「src/components/RepoInfo.jsx」ファイルの内容

レッドハットのプロダクト(Vol.68記載)

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

著者:小杉 研太

前回(第3回)に引き続き、アプリやデータの連携を実現するためのミドルウエア製品「Red Hat Integration」を紹介します。第4回はRed Hat Integrationに含まれる「Red Hat AMQ」と「Red Hat Fuse」のアップストリームとなる「Strimzi」と「Apache Camel」について触れます。

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

図17 KafkaとSlackを統合できるコード

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

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

著者:米田 聡

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

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

図3 電子ペーパーディスプレイに文字を表示するサンプルプログラム(text.py)

図5 電子ペーパーディスプレイに画像を表示するサンプルプログラム(logo.py)

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

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

004 レポート 暗号通信のTLS1.2以前に脆弱性
005 NEWS FLASH
008 特集1 Windows 10でWSL 2を使おう/三沢友治
020 特集2 高機能CMS Drupal入門/小薗井康志
034 特別企画 量子コンピュータの基礎を知る/沼田祈史、小林有里
046 Raspberry Piを100%活用しよう/米田聡 コード掲載
049 Hello Nogyo!
050 レッドハットのプロダクト/小杉研太 コード掲載
059 中小企業手作りIT化奮戦記/菅雄一
064 法林浩之のFIGHTING TALKS/法林浩之
066 香川大学SLPからお届け!/山下賢治 コード掲載
072 RPA/桑原滝弥、イケヤシロウ
074 Webアプリの正しい作り方/しょっさん コード掲載
084 円滑コミュニケーションが世界を救う!/濱口誠一
086 バーティカルバーの極意/飯尾淳 コード掲載
092 シェルスクリプトの書き方入門/大津真 コード掲載
100 Techパズル/gori.sh
102 コラム「人生の入り口」/シェル魔人

Vol.68

投稿日:2020.09.25 | カテゴリー: バックナンバー

 Linuxを使ってみたいと思っても環境を用意するのはかなりの手間です。しかし、その状況は変わりつつあります。パソコンのOSとしてデファクトスタンダード(事実上の標準)となる「Windows」を開発している米Microsoft社が、Linuxに関連する技術やソフトウエアに対して積極的に取り組んでいるからです。
 そこで、特集1では、Windows 10の標準機能となった、WindowsとLinuxを一緒に動作させるための仕組み「Windows Subsystem for Linux」(WSL)を取り上げます。2020年5月に登場したWSL 2では、Linuxとして使える機能や性能が大幅に向上しています。本特集では、このWSL 2のインストールおよび、Linuxディストリビューション「Ubuntu」の導入、GUIアプリの実行、Dockerの起動などのやり方を初心者にも分かりやすく解説しています。
 特集2では、コンテンツ管理システム(CMS)の「Drupal」を紹介しています。このDrupalは、簡単に導入してそのまま使えるだけでなく、高い拡張性によりカスタマイズして使えます。米国の政府機関、米Johnson & Johnson社などの製薬会社、米IBM社や米Red Hat社といったIT企業などのWebサイトで利用されている本格的なものです。
 特別企画では、最近話題の「量子コンピュータ」を扱いました。量子コンピュータは、現在のコンピュータと異なる仕組みや原理で動いています。簡単な計算の処理を理解するだけでも一苦労です。そこで「Minecraft」風のクイズゲームで楽しみながら、量子コンピュータについて学びましょう。
 このほか、Raspberry Pi(ラズパイ)に関する新連載、詩とアートを組み合わせたIT用語の連載も開始しました。今回も読み応え十分のシェルスクリプトマガジン Vol.68。お見逃しなく!

※記事掲載のコードはこちら。記事の補足情報はこちら

※読者アンケートはこちら

Vol.68 補足情報

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

特集1 Windows 10でWSL 2を使おう

WSL 2ですが、Windows 10 May 2020 Updateを適用したWindows 10 バージョン2004以降だけでなく、バージョン1909や1903にもバックポートされて使えるようになりました。詳しくは、こちらを参照してください。

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

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

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

著者:山内 真仁

以前、ゲームエンジン「Unity」を使ったレースゲームをSLPのチーム活動で
作成しました。その経験を生かして今回は、Unityとプログラミング言語「C#」を使って、簡単なレースゲームを作成する方法を紹介します。Unityの物理エンジンを使用することで、複雑なコードを書かなくてもリアルな挙動のゲームを作成できます。

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

図12 「CarController.cs」ファイルに記述する内容

図14 CarController.csファイルに追加する記述

図16 「Timer.cs」ファイルに記述する内容

Webアプリケーションの正しい作り方(Vol.67記載)

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

著者:しょっさん

ソフトウエアを正しく作るために、エンジニアたちはどんなことを知らなければならないでしょうか。実際のコードを使って、より良くしていくためのステップを考えてみましょう。第7回は、JavaScriptフレームワーク「Vue.js」でアプリを作成し、テストとリリースの方法を紹介します。

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

図2 Vue.js および各ライブラリを利用するための定義(simple.htmlから抜粋)

図3 Vue RouterのHTMLファイル側の定義

図4 Vue RouterのJavaScript側の定義

図5 認証部分のVueコンポーネントとVue Router定義

図6 認証部分のHTMLテンプレート

図7 請求処理ののVueコンポーネントとVue Router定義

図8 請求処理のHTMLテンプレート

図9 支払処理のVueコンポーネントとVue Router定義

図10 支払処理のHTMLテンプレート

図14 controllers/auth/authentication.tsファイルの追加・改修部分

図15 controllers/auth/authorization.tsファイル

図16 API用のモジュールとルーティング定義

図18 請求処理(/api/expense.ts)

図19 支払処理(/api/payment.ts)

図35 修正した/src/index.tsファイル

もっと見る

新しい記事一覧へ戻る

  • -->