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

test

特別レポート(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 | カテゴリー: コード

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

  • shell-mag ブログの 2022年1月 のアーカイブを表示しています。

  • -->