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

test

Vol.89 補足情報

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

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

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

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

004 レポート 進研ゼミに生成AI活用新サービス
005 レポート HHKB Studioのキートップカスタム
006 製品レビュー スマートリング「SOXAI RING 1」
007 NEWS FLASH
008 特集1 Amazon EC2入門/飯村望、清水祥伽
023 Hello Nogyo!
024 特集2 コンテンツクラウドのBox/有賀友三、結城亮史、葵健晴、辰己学
040 Markdownを活用する/藤原由来 コード掲載
050 Raspberry Pi Pico W/WHで始める電子工作/米田聡 コード掲載
054 中小企業手作りIT化奮戦記/菅雄一
058 香川大学SLPからお届け!/宇佐美志久眞
062 Pythonあれこれ/飯尾淳 コード掲載
068 Linux定番エディタ入門/大津真 コード掲載
076 Techパズル/gori.sh
077 コラム「顧客と一心同体の精神を育成」/シェル魔人

Markdownを活用する(Vol.89掲載)

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

著者:藤原 由来

本連載では文書の装飾や構造付けを手軽に行える記法である「Markdown」を用いて、さまざまな文書や成果物を作成する方法を紹介します。第1回はMarkdownベースの高機能なノートアプリ「Obsidian」の初歩的な使い方と、Markdownの基本的な記法を説明します。

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

図2 Markdownの記述例

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

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

著者:米田 聡

本連載では、人気のマイコンボード「Raspberry Pi Pico W/WH」を活用していきます。同ボードは、無線LANやBluetoothの通信機能を搭載し、入手しやすく価格も手頃なので、IoT機器を自作するのに最適なハードウエアです。第5回は、DHT-11で測った湿温度をスマートフォンに通知します。

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

図4 LINE Notifyを使って通知を送る「notify()」関数を定義したPythonプログラム

図6 1時間おきに湿温度をスマートフォンに通知するサンプルプログラム(sample.py)

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

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

著者:飯尾 淳

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

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

図7 「magic.py」ファイルに記述するコード

図9 キャッシュを設定するコードの例

図10 山手線の駅の位置を地図上にプロットするWebアプリのコード

図12 ウィジェットをサイドバーに配置するコードの例

Linux定番エディタ入門

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

筆者:大津 真

文章の作成やプログラミングに欠かせないのがテキストエディタ(以下、エディタ)です。この連載では、Linuxで利用できる定番エディタの特徴と使い方を解説していきます。最終回となる今回も、LinuxだけでなくWindowsやmacOSでも利用可能なGUIエディタの定番「Visual Studio Code(VSCode)」を引き続き紹介します。

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

図1 「test1.md」ファイルに記述するテキストデータ

Vol.88 補足情報

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

特集2 自宅Linuxサーバー構築

p.14の「Windows 10のサポートが終了する2024年6月末ごろ」は「Windows 10(バージョン22H2)のサポートが終了する2025年10月14日」の誤りです(詳しくサポート期間は、こちら)。お詫びして訂正いたします。

Windows 10(バージョン22H2)は、まだ1年半以上のサポートが受けられますので、安心してお使いください。

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

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

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

004 レポート Open Source Summit Japan開催
005 レポート 国内開発の日本語LLM
006 製品レビュー スマートテレビ「32S2」
007 NEWS FLASH
008 特集1 CentOS Linux 7からの移行先を考える/弦本春樹
013 Hello Nogyo!
014 特集2 自宅Linuxサーバー構築/麻生二郎 コード掲載
028 特別企画 ゆっくりMovieMaker4で映像制作 シナリオ作り編/ふる(FuruyamD)
038 Raspberry Pi Pico W/WHで始める電子工作/米田聡 コード掲載
042 大規模言語モデル/桑原滝弥、イケヤシロウ
044 Pythonあれこれ/飯尾淳 コード掲載
049 中小企業手作りIT化奮戦記/菅雄一
054 法林浩之のFIGHTING TALKS/法林浩之
056 タイ語から分かる現地生活/つじみき
062 香川大学SLPからお届け!/谷知紘
068 Linux定番エディタ入門/大津真
076 Techパズル/gori.sh
077 コラム「SELiunxとユニケージ」/シェル魔人

特集2 自宅Linuxサーバー構築(Vol.88記載)

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

著者:麻生 二郎

Linuxやサーバーソフト、インターネットの仕組みを知りたいのなら、Linuxサーバーを構築するのが一番です。使わなくなった古いノートパソコンを活用し、自宅内にLinuxサーバーを構築してみましょう。本特集では、その手順を分かりやすく紹介します。

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

Part3 サーバーソフトを導入する

図1 Sambaの設定(/etc/samba/smb.conf)

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

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

著者:飯尾 淳

本連載では「Pythonを昔から使っているものの、それほど使いこなしてはいない」という筆者が、いろいろな日常業務をPythonで処理することで、立派な「蛇使い」に育つことを目指します。その過程を温かく見守ってください。皆さんと共に勉強していきましょう。第18回では、米Google社が提供する機械学習フレームワーク「MediaPipe」の顔検出機能を用いて、お遊びのプログラム作成に挑戦します。

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

図1 顔ランドマーク検出をするコード

図4 「顔ハメ」アプリのコード

Raspberry Pi Pico W/WHで始める電子工作(Vol.88掲載)

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

著者:米田 聡

本連載では、人気のマイコンボード「Raspberry Pi Pico W/WH」を活用していきます。同ボードは、無
線LANやBluetoothの通信機能を搭載し、入手しやすく価格も手頃なので、IoT機器を自作するのに最適なハードウエアです。第4回は、モノクロ有機ELディスプレイと湿温度センサー「DHT-11」で日本語表示の湿温度計を作ります。

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

図9 温度と湿度を日本語で表示するプログラム(temp_hum.py)

Vol.87 補足情報

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

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

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

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

004 レポート Raspberry Pi 5が登場
005 レポート キーボード「HHKB Studio」が発売
006 製品レビュー 小型パソコン「X68000 Z PRODUCT EDITION BLACK MODEL」
007 NEWS FLASH
008 特集1 ゆっくりMovieMaker4で映像制作 編集作業編/ふる(FuruyamD)
014 特集2 電子帳簿保存法を知る/永禮啓大
021 Hello Nogyo!
022 特別企画 アプリバで業務システム開発/前佛雅人
032 Raspberry Pi Pico W/WHで始める電子工作/米田聡
035 行動経済学と心理学で円滑に業務を遂行/請園正敏
038 Pythonあれこれ/飯尾淳 コード掲載
044 法林浩之のFIGHTING TALKS/法林浩之
046 中小企業手作りIT化奮戦記/菅雄一 コード掲載
052 エコシステム/桑原滝弥、イケヤシロウ
054 香川大学SLPからお届け!/大村空良
060 タイ語から分かる現地生活/つじみき
066 ユニケージ通信/ぱぺぽ
070 Linux定番エディタ入門/大津真
076 Techパズル/gori.sh
077 コラム「ユニケージが実現・目指しているところ」/シェル魔人

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

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

著者:飯尾淳

本連載では「Pythonを昔から使っているものの、それほど使いこなしてはいない」という筆者が、いろいろな日常業務をPythonで処理することで、立派な「蛇使い」に育つことを目指します。その過程を温かく見守ってください。皆さんと共に勉強していきましょう。第17回では、データを記録して残す「永続化」の手法の続編として、O/Rマッパーを使ってデータベースにアクセスする方法について解説します。

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

図3 宣言的マッピングをするコード

図4 データベースエンジンとなるオブジェクトを作成するコード

図5 発行されるSQL

図6 データ操作用オブジェクトを作成するコード

図7 図6のコードを実行した際の画面出力(抜粋)

図8 簡単な検索をするコード

図9 図8のコードを実行した際に発行されるSQL

図10 図8のコードを実行した際に表示される検索結果

図11 少し複雑な検索をするコード

図12 図11のコードを実行した際に発行されるSQL

図13 データ変更のシンプルなコード例

図14 図13のコードを実行した際に発行されるSQL

図15 データ変更の少し複雑なコード例

図16 図15のコードを実行した際に発行されるSQL

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

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

著者:大村 空良

プログラミングにおいて重要な要素の一つが、プログラムの実行速度です。プログラムの実行速度は、より良いアルゴリズムを選択することで大きく改善できます。今回は、巡回セールスマン問題を解くC++プログラムを、アルゴリズムを変更して高速化した例を紹介します。

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

図2 図1の巡回セールスマン問題を解くC++コード「sample1.cpp」

図3 都市数を変えられるように図2のコードを拡張した「sample2.cpp」

図4 ヘッダーファイル生成用のPythonスクリプト「make_header.py」

図5 フィボナッチ数を求めるC++コード「sample3.cpp」

図7 動的計画法を用いて改良したコード「sample4.cpp」

図10 動的計画法を用いて改良したコード「sample5.cpp」

Vol.86 補足情報

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

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

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

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

004 レポート Python in Excelの開発版登場
005 レポート iPhone 15シリーズを発表
006 製品レビュー 電子小物「koko Tag(ココタグ)」
007 NEWS FLASH
008 特集1 Markdown入門ガイド/藤原由来 コード掲載
024 特集2 最新COBOL入門/比毛寛之 コード掲載
034 特別企画 CMSのPlone/酒井忠臣、烈
046 Raspberry Pi Pico W/WHで始める電子工作/米田聡 コード掲載
050 CMS/桑原滝弥、イケヤシロウ
052 Pythonあれこれ/飯尾淳 コード掲載
057 Hello Nogyo!
058 中小企業手作りIT化奮戦記/菅雄一
062 法林浩之のFIGHTING TALKS/法林浩之
064 香川大学SLPからお届け!/石上椋一 コード掲載
072 行動経済学と心理学で円滑に業務を遂行/請園正敏
076 タイ語から分かる現地生活/つじみき
082 Linux定番エディタ入門/大津真
088 ユニケージ通信/田渕智也、高橋未来哉 コード掲載
091 Techパズル/gori.sh
093 コラム「ユニケージアーキテクチャ」/シェル魔人

特集1 Markdown入門ガイド(Vol.86記載)

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

著者:藤原 由来

本特集では、文書の装飾や構造付けを手軽に実施できる記法「Markdown」について解説します。Markdownを使うと、テキストファイルでレポートやスライド、書籍などを作成でき、GitHubなどの各種Webサービスでの投稿やコミュニケーションがより便利になります。

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

図2 Markdownの記述内容

図19 Markdownテキストの例

図46 MarpによるスライドのMarkdownテキスト例

特集1 COBOL入門(Vol.86記載)

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

著者:比毛 寛之

レガシー問題や技術者不足などで話題の多いプログラミング言語が「COBOL」です 。古い言語というイメージがありますが、ISOから2023年の新規格が公表されたことでも分かるように、現在も進化を続けています。本特集では、COBOLの現状を紹介しつつ、「opensource COBOL 4J」というオープンソースソフトウエアのCOBOLコンパイラを使ってCOBOL言語の基本を解説します。

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

図1 「HELLO WORLD!」という文字列を表示するCOBOLのサンプルコード

図4 COBOLのサンプルコード

図5 コンソールからの入力と画面への出力をするサンプルコード

図6 ファイルにデータを出力するサンプルコード

図7 ファイル中のレコードを読み出して画面に表示するサンプルコード

図9 「EMPSEARCH.cbl」ファイルに記述するコード

図10 「EMPREAD.cbl」ファイルに記述するコード

図11 「EmpSearchDemo.java」ファイルに記述するコード

Raspberry Pi Pico W/WHで始める電子工作(Vol.86掲載)

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

著者:米田 聡

本連載では、人気のマイコンボード「Raspberry Pi Pico W」を活用していきます。同ボードは、無線LANやBluetoothの通信機能を搭載し、入手しやすく価格も手頃なので、IoT機器を自作するのに最適なハードウエアです。第2回は、有機ELディスプレイを取り付けます。

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

図6 SSD1306搭載有機ELディスプレイを動作させるサンプルプログラム(ssd1306_sample.py)

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

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

著者:飯尾 淳

本連載では「Pythonを昔から使っているものの、それほど使いこなしてはいない」という筆者が、いろいろな日常業務をPythonで処理することで、立派な「蛇使い」に育つことを目指します。その過程を温
かく見守ってください。皆さんと共に勉強していきましょう。第16回では、データを永続的に残す「永続化」の手法の一つとして、Pythonプログラムからデータベースにアクセスする方法について解説します。

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

図3 データベースにテーブルを作成してデータを格納するコード

図5 テーブルのデータを読み出すコード

図6 commit()を忘れたコードの例

図8 データベースに含まれるテーブルを表示するコード

図9 ファイル内にデータベースを作成するコード

図10 ファイル内データベースのテーブルからデータを読み出すコード

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

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

著者:石上 椋一

今回は、私が開発した文章校正用のWebアプリケーションについて紹介します。文章校正機能は「textlint」というNode.js上で稼働するアプリケーションを使って実現しているため、少ないコード量で実装できました。米Google社のアプリケーション開発プラットフォーム「Firebase」を利用したユーザー認証機能を付加する方法も解説します。

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

図1 テンプレートファイル「index.html」に記述するコード

図2 テンプレートファイル「result.html」に記述するコード

図3 「web_app.py」ファイルに記述するコード

図4 「.textlintrc.json」ファイルに記述する設定の例

図10 「~/webapp/static/json/firebase.json」ファイルに記述する設定の例

図11 テンプレートファイル「create_account.html」に記述するコード

図12 テンプレートファイル「login.html」に記述するコード

図13 「web_app.py」ファイルの「app = Flask(name)」行の前後に追加するコード

図14 「web_app.py」ファイルの既存のルーティング設定にコードを追加

図15 「web_app.py」ファイルにルーティング設定を追加

ユニケージ通信(Vol.86掲載)

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

著者:田渕 智也、高橋 未来哉

業務システム開発手法の「ユニケージ」では、データベース管理システムやフレームワークなどを使わずにシステムを構築します。システムの中身が見えやすい分、仕組みやルールを理解していないと正しい開発ができません。第5回は、排他制御について紹介します。

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

図2 ulockコマンド

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

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

004 レポート Wasm向けPOSIX互換ライブラリ「WASIX」
005 レポート 手のひらネットワーク機器
006 製品レビュー ロボット「NICOBO(ニコボ)」
007 NEWS FLASH
008 特集1 ゆっくりMovieMaker4で映像制作 準備編/ふる(FuruyamD)
015 Hello Nogyo!
016 特集2 ZabbixのAWS監視機能を使ってみよう/寺島広大、渡邊隼人、水谷和弘、狩俣樹
026 特集3 ChatGPTで注目の対話型AI/三沢友治
034 特別企画 成功するアジャイル開発/奥村剛史
044 Raspberry Pi Pico W/WHで始める電子工作/米田聡 コード掲載
054 Pythonあれこれ/飯尾淳
060 行動経済学と心理学で円滑に業務を遂行/請園正敏
064 中小企業手作りIT化奮戦記/菅雄一
068 SEO/桑原滝弥、イケヤシロウ
070 タイ語から分かる現地生活/つじみき
076 法林浩之のFIGHTING TALKS/法林浩之
078 香川大学SLPからお届け!/谷知紘 コード掲載
084 Linux定番エディタ入門/大津真
091 ユニケージ通信/田渕智也、高橋未来哉
096 Techパズル/gori.sh
097 コラム「ユニケージはデータ移行も得意」/シェル魔人

Raspberry Pi Pico W/WHで始める電子工作(Vol.85掲載)

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

著者:米田 聡

本連載では、人気のマイコンボード「Raspberry Pi Pico W/WH」を活用していきます。同ボードは、無線LANやBluetoothの通信機能を搭載し、入手しやすく、価格も手頃なので、IoT機器を自作するのに最適なハードウエアです。第1回は、プログラムの開発環境を構築します。

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

図17 初期化プログラム(boot.py)

図18 簡易ネットワークサーバー(main.py)

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

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

著者:谷 知紘

 今回は、C言語を用いて作成した、コンピュータと対戦できるリバーシを紹介します。あまり強くはありませんが、きちんとコンピュータが相手をしてくれます。C99以降の規格に対応するCコンパイラと標準Cライブラリがあれば、環境を問わずに動作するプログラムになっていますので、皆さんもコンパイルして楽しんでください。

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

図5 盤面の生成用コード

図6 check_plc()関数のコード

図8 check_dir()関数のコード

図9 place_stn()関数のコード

図10 think()関数のコード

図11 copydata()関数のコード

図12 calcweight()関数のコード

Vol.85 補足情報

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

特集1 ゆっくりMovieMaker4で映像制作 準備編

p.12の表1の一番下の行にある「00d.png」は「00e.png」の誤りです。お詫びして訂正いたします。

特集2 ZabbixのAWS監視機能を使ってみよう

 p.18に記した「後述するAWS用のテンプレートの利用を含め、すべてAWSの無料利用枠で試せる」という情報は誤りでした。正しくは、AWS用のテンプレート利用時には、CloudWatchからGetMetricData APIでメトリクスを取得する料金がかかります。料金は、メトリクス1000件当たり0.01ドルです。お詫びして訂正いたします。なお、Kindle版とPDF版(定期購読特典)は修正済みです。

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

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

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

筆者:菅 雄一

自社サーバーからレンタルサーバーへの移行が世の流れだ。本連載の第58回「PHP+MySQL環境にシステムを移行」に書いたが、筆者の勤務先でも保守作業の軽減や故障回避のためにレンタルサーバーに移行する方針になった。2023年1月に、四苦八苦しながら顧客向けWeb検索システムを移行し、ようやくレンタルサーバーへの移行が一段落した。今回は、この難航した移行作業について書くことにする。

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

図2 バックアップファイル内の文字コード設定を変更

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

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

著者:三井 颯剛

SLPでは、Webページの公開などに使用しているサーバーを立て直す計画が進行中です。再建後のサーバーでは、「Traefik(トラフィック) 」というコンテナ環境向けのリバースプロキシソフトウエアを採用する予定です。今回は、Dockerでサーバーコンテナを稼働させて、それに対するアクセスをTraefikで制御する場合を例に、Traefikの利用方法について紹介します。

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

図3 「docker-compose.yml」ファイルに記述する設定

図6 ダッシュボードを有効にする場合の「docker-compose.yml」ファイルの記述

図9 「traefik.yml」ファイルに記述する内容

図10 設定を分離した場合の「docker-compose.yml」ファイルの記述例

AWKでデジタル信号処理(Vol.84掲載)

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

著者:斉藤 博文

プログラミング言語「AWK」は、データストリーム(データの流れ)を逐次処理するのに適しています。本連載では、電子回路の分野でその特徴を生かし、シェルスクリプトを組み合わせてデジタル信号を処理します。最終回は前回の続きとして、心電図データの解析について解説します。

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

図5 ecg.awk内のlpf()関数

図6 ecg.awk内の最終結果を出力するprintf()文で群遅延を補正

図12 ecg.awk内のしきい値(val_data_sma_threshold)を設定している箇所

図13 ecg.awk内のval_data_flgを「1」に設定している箇所

図14 ecg.awk内のidx_data_hpf_maxを求めている箇所

図15 ecg.awk内のarr_data_flg[idx_data_hpf_max]を「1」に設定している箇所

図18 ecg.awk内のRRIを求めている箇所

Linux定番エディタ入門(Vol.84掲載)

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

著者:大津 真

文章の作成やプログラミングに欠かせないのがテキストエディタ(以下、エディタ)です。この連載では、Linuxで利用できる定番エディタの特徴と使い方を解説していきます。第1回に取り上げるのは、CU(I Character User Interface)環境で利用できるシンプルで扱いやすい「GNU nano」です。

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

図12 nanoの設定ファイル「~/.nanorc」の記述例

Vol.84 補足情報

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

製品レビュー コーヒー豆焙煎機 MR-F60A

p.6に記した発売日の「2023年3月30日」は誤りでした。正しくは「2023年4月4日」です。お詫びして訂正いたします。

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

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

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

004 レポート オープンソースLLM「MPT-7B」登場
005 レポート メタバースファッションフェア初開催
006 製品レビュー 調理家電「コーヒー豆焙煎機 MR-F60A」
007 NEWS FLASH
008 特集1 pandasを使いこなそう/鶴長鎮一
020 特集2 AutoML徹底解説 応用編/田村孝、山口武彦、新田陸、細野友基
034 特別企画 Raspberry Piを100%活用しよう 拡大版/米田聡 コード掲載
046 注目技術「XR BASE」/井上香
048 Pythonあれこれ/飯尾淳 コード掲載
054 法林浩之のFIGHTING TALKS/法林浩之
056 中小企業手作りIT化奮戦記/菅雄一 コード掲載
060 ツールキット/桑原滝弥、イケヤシロウ
062 タイ語から分かる現地生活/つじみき
068 香川大学SLPからお届け!/三井颯剛 コード掲載
075 Hello Nogyo!
076 行動経済学と心理学で円滑に業務を遂行/請園正敏
080 Linux定番エディタ入門/大津真 コード掲載
086 AWKでデジタル信号処理/斉藤博文 コード掲載
094 Techパズル/gori.sh
095 コラム「ユニケージにおける独特なドキュメント」/シェル魔人

特別企画 Raspberry Piを100%活用しよう 拡大版(Vol.84記載)

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

著者:米田 聡

小型コンピュータボード「Raspberry Pi」(ラズパイ)向けにさまざまな拡張ボードが発売されています。その拡張ボードとラズパイを組み合わせれば、ラズパイでいろいろなことが簡単に試せます。本企画では、前回に引き続き、ラズパイと連携して使用するマイコンボードを扱います。

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

図8 I★2★CアドレスとGPIOピン番号の設定(ADRS2040U_i2c.h)

図9 I2CとI2C Slaveライブラリの初期化

図10 コールバック関数「i2c_slave_handler()」

図11 ADCの初期化で呼び出す関数

図12 adc_fifo_setup()関数の引数パラメータ

図13 ADCの受信FIFOバッファ割り込み処理のサンプルコード

図14 サンプリングレート設定のサンプルコード

図15 リングバッファのサンプルコード

図16 クリティカルセクションの保護

図17 サンプルファームウエアのレジスタ番号定義(ADRS2040U_i2c.h)

図18 I2Cスレーブ動作時に使えるFIFOバッファ読み書き関数

図19 サンプルファームウエアのi2c_slave_handler()関数とその関連個所(main.cpp)

図20 受信FIFOバッファからデータを取り出すための前処理

図22 ADCへアクセスするサンプルプログラム(adcsample.py)

図23 ADCから取得したデータをグラフ化するサンプルプログラム(adctest.py)

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

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

著者:飯尾 淳

本連載では「Pythonを昔から使っているものの、それほど使いこなしてはいない」という筆者が、いろいろな日常業務をPythonで処理することで、立派な「蛇使い」に育つことを目指します。その過程を温
かく見守ってください。皆さんと共に勉強していきましょう。第14回では、話題のAIチャットボット「ChatGPT」を使ったPythonプログ「ラムの作成にチャレンジします。ChatGPTは、どの程度のプログラムを生成してくれるのでしょうか。

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

図2 1回目にChatGPTが生成したPythonプログラム

図3 2回目にChatGPTが生成したPythonプログラム

図4 3回目にChatGPTが生成したPythonプログラム

図5 4回目にChatGPTが生成したPythonプログラム

図6 5回目にChatGPTが生成したPythonプログラム

Vol.83 補足情報

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

特別企画 Raspberry Piを100%活用しよう 拡大版

 同企画で扱いました、PlatformIO向けのRP2040用ソフトウエア基盤(フレームワーク)が「https://github.com/Wiz-IO/wizio-pico」から入手できなくなってしまいました。原作者に問い合わせましたが、返答はなく理由は不明です。ご迷惑をおかけして申し訳ございません。
 「https://github.com/Wiz-IO/wizio-pico」にアクセスして図1のように表示されたときは、以下の方法で入手・導入してください。
(1)特別企画記事の通りに開発ツール「Visual Studio Code」(VSCode)とWindows版Gitクライアント「Git for Windows」をインストールします。
(2)PlatformIO向けのRP2040用ソフトウエア基盤(フレームワーク)を「https://future.quake4.jp/wizio-pico.zip」からダウンロードします。
(3)VSCodeを起動しているならいったん終了します。
(4)「C:¥Users¥ユーザー名¥.platformio¥」(ユーザー名はWindowsのアカウント名)の下にダウンロードした「wizio-pico.zip」ファイルを展開します。

図1 ページが見つからない場合の表示

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

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

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

004 レポート モーションキャプチャ「mocopi」 サンプル動画掲載
005 レポート ChatGPT API公開 コード掲載
006 製品レビュー ウエアラブルデバイス「Redmi Smart Band2」
007 NEWS FLASH
008 特集1 Ruby on Rails入門/安川要平 コード掲載
020 特集2 AutoML徹底解説 入門編/田村孝、山口武彦、新田陸、細野友基
034 特別企画 Raspberry Piを100%活用しよう 拡大版/米田聡 コード掲載
044 Pythonあれこれ/飯尾淳 コード掲載
049 Hello Nogyo!
050 香川大学SLPからお届け!/安田大朗 コード掲載
056 法林浩之のFIGHTING TALKS/法林浩之
058 中小企業手作りIT化奮戦記/菅雄一
062 SCM/桑原滝弥、イケヤシロウ
064 タイ語から分かる現地生活/つじみき
070 行動経済学と心理学で円滑に業務を遂行/請園正敏
074 AWKでデジタル信号処理/斉藤博文
082 ユニケージ通信/田渕智也、高橋未来哉
086 Bash入門/大津真 コード掲載
096 Techパズル/gori.sh
097 コラム「ユニケージ式プロジェクト管理法」/シェル魔人

レポート2(Vol.83掲載)

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

著者:末安 泰三

話題のAIチャットボット「ChatGPT」のAP(I Application Programming Interface)を、開発元の米OpenAIが有償公開した。APIの公開により、自作プロダクトにChatGPTの機能を手軽に組み込めるようになった。2023年3月時点の利用料金は、1000トークン当たり0.002ドルだ。

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

図1 ChatGPT APIを利用するPythonコードの例

特集1 Ruby on Rails入門(Vol.83記載)

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

著者:安川要平

本特集では、地図アプリの作成を題材に、Webアプリケーションフレームワーク「Ruby on Rails」によるWebアプリの開発手順を紹介します。説明は、米GitHub社が提供するクラウド開発環境「GitHub Codespaces」を使って進めます。そのため、Webブラウザさえあれば紹介する手順を確認できます。Webブラウザだけで体験できるようになった最新のRubyとRailsを一緒に触ってみましょう。

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

図15 「app/models/spot.rb」ファイルに追加する1行

図16 「app/views/apots/_form.html.erb」ファイルに追加する記述

図18 「app/controllers/spots_controller.rb」ファイルに追加する記述

図19 「app/helpers/spots_helper.rb」ファイルに追加する記述

図25 提供されるサンプルデータの内容

図26 サンプルデータを取得して画面に表示するコード

図28 サンプルデータを自動入力するコード

特別企画 Raspberry Piを100%活用しよう 拡大版(Vol.83記載)

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

著者:米田 聡

小型コンピュータボード「Raspberry Pi」(ラズパイ)向けにさまざまな拡張ボードが発売されています。その拡張ボードとラズパイを組み合わせれば、ラズパイでいろいろなことが簡単に試せます。本企画では、ラズパイと連携して使用するマイコンボードを扱います。

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

図A uf2conv.pyの修正箇所

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

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

著者:飯尾 淳

本連載では「Pythonを昔から使っているものの、それほど使いこなしてはいない」という筆者が、いろいろな日常業務をPythonで処理することで、立派な「蛇使い」に育つことを目指します。その過程を温
かく見守ってください。皆さんと共に勉強していきましょう。第13回では、PyTorchという機械学習ライブラリを使って、手書きの数字を画像認識によって分類してみます。実際に作業することで、機械学習の効果を感じてください。

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

図1 MNISTデータセットをダウンロードするためのコード

図4 MNISTデータセットのデータを1セット表示するコード

図6 学習データと検証データを用意するコード

図9 ニューラルネットワークモデルを定義するコード

図11 学習前の準備をするコード

図12 画像認識の精度を検証するコード

図13 モデルを学習させるコード

図15 個別の判定結果を確認するコード

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

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

著者:安田 大朗

最近、さまざまな場面でチャットbotなどの対話システムを見かけます。その中には、感情表現の機能を持ち、より人間らしい振る舞いをするものもあります。私はそうした対話システムに興味があり、ユーザーが入力したテキストの感情を分析し、それに応じた反応をする対話システムを作成しました。今回は、私が開発したその対話システムについて紹介します。

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

図4 「telegram-bot.py」ファイルに記述するコード

図5 「aim_system1.py」ファイルに記述するコード

図6 「aim.xml」ファイルに記述するルールの例

図8 「aim_system2.py」ファイルに記述するコード

Bash入門(Vol.83記載)

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

著者:大津 真

LinuxやmacOSなど、UNIX系OSのコマンドラインで使用されるコマンドインタプリタをシェルと呼びます。本連載では高機能シェルとして人気の高い「Bash」の基本操作について説明していきます。最終回となる今回は、シェルで実行可能なプログラミング言語である「シェルスクリプト」について解説します。

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

図2 図1のコマンド行と同様の処理をするシェルスクリプトの例

図5 図2のシェルスクリプトを変数を使うように書き換えた例

図6 図5のシェルスクリプトをコマンドライン引数を参照するように書き換えた例

図7 if文を使用したシェルスクリプトの例

図8 図6のシェルスクリプトを条件式とif文を使って書き換えた例

図9 for文を使ったシェルスクリプトの例

図10 図8のシェルスクリプトをfor文を使って書き換えた例

図12 配列を使ったシェルスクリプトの例

レポート1(Vol.83掲載)

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

シェルスクリプトマガジン Vol.83(2023年4月号)で紹介したモーションキャプチャデバイス「mocopi」で作成したモーションキャプチャ画像(サイズ:12Mバイト)です。

この画像をクリック

特集1 LibreOfficeでPythonマクロ(Vol.82記載)

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

著者:荒川 雄介

オープンソースのオフィスソフト「LibreOffice」は、Pythonで記述されたマクロ(簡易スクリプト)を実行できます。しかしデフォルト状態では、Pythonマクロを作成しやすい環境が整備されていません。本特集では、開発環境を整備する手順を中心に、Pythonマクロ作成についての基礎知識を紹介します。使い慣れた言語を使って、LibreOfficeのさまざまな処理を効率化しましょう。

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

図3 「Hello!」と書かれたダイアログを表示するPythonマクロのコード

図9 CSVファイルからCalcのシートにデータを読み込むPythonマクロのコード

図11 図9のコードを新規のCalcシートを開くように変更したもの

図12 文書ファイルがある場所からCSVファイルを読み込めるように図9のコードを変更したもの

図13 データベースからデータを読み込んで集計/グラフ表示をするPythonマクロのコード

図18 図9のコードをイベント駆動できるように修正

図19 Calcのシート(Sheet1)の内容をすべて消去するPythonマクロのコード

図20 外部ライブラリ(NumPy)を利用するythonマクロのサンプルコード

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

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

著者:谷﨑 勇太

 最近、さまざまな場面で「VTuber」が活躍しています。VTuberとは、2D/3Dアバターの表情や身体をリアルタイムに動かしながら動画配信をする人、あるいはそのアバターのことです。多くの場合は、カメラで人の動きを検知し、それをトレースするようにアバターを動かしています。今回は、私がPythonを使って作成した簡易VTuberシステムについて紹介します。

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

図1 Webカメラの映像を読み取るためのベースコード

図2 感情を検出するためのコード

図3 左右の目の縦横比の平均値を算出する関数の定義コード

図5 目の縦横比を計算する関数の定義コード

図6 目の開閉を判定して処理を分岐させるコード

図7 顔の座標と幅の情報を取得するコード

図8 overlayImage ()関数の定義コード

図9 insert()関数の定義コード

図10 setting ()関数の定義コード

図11 eye_int()関数の定義コード

AWKでデジタル信号処理(Vol.82掲載)

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

著者:斉藤博文

プログラミング言語「AWK」は、データストリーム(データの流れ)を逐次処理するのに適しています。本連載では、電子回路の分野でその特徴を生かし、シェルスクリプトを組み合わせてデジタル信号を処理します。第4回は「微分フィルタ」を使って目的の波形を取り出す方法を紹介します。

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

図10 微分フィルタの差分方程式のAWKプログラム(dif.awk)

図12 群遅延を考慮したAWKプログラム(dif_gd.awk)

図14 係数の補正を加えた関数dif()

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

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

004 レポート ポッキーでプログラミング
005 レポート WebAssembly対応Ruby 3.2.0
006 製品レビュー 制御機器「NFCタグ」
007 NEWS FLASH
008 特集1 LibreOfficeでPythonマクロ/荒川雄介 コード掲載
016 特集2 Dropboxを活用しよう/岡崎隆之、進藤麻礼子、井川恵理
028 緊急企画 Mastodonサーバーを構築しよう/麻生二郎
046 Raspberry Piを100%活用しよう/米田聡
050 行動経済学と心理学で円滑に業務を遂行/請園正敏
052 中小企業手作りIT化奮戦記/菅雄一
057 Hello Nogyo!
058 Pythonあれこれ/飯尾淳
066 法林浩之のFIGHTING TALKS/法林浩之
068 タイ語から分かる現地生活/つじみき
072 Emotet/桑原滝弥、イケヤシロウ
074 香川大学SLPからお届け!/谷﨑勇太 コード掲載
080 AWKでデジタル信号処理/斉藤博文 コード掲載
086 ユニケージ通信/田渕智也、高橋未来哉
090 Bash入門/大津真
098 Techパズル/gori.sh
099 コラム「ユニケージ流思考法」/シェル魔人

Vol.82 補足情報

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

Pythonあれこれ

 記事中で使用するデータファイルは以下のWebページから入手できます。

https://github.com/shellscript-magazine/python_this_and_that/releases/tag/ver2.0

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

Vol.81 補足情報

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

執筆・編集後記

p.103の執筆・編集後記のページが広告になっていました。以下が掲載する予定だった執筆・編集後記です。Kindle版やPDF版は差し替えています。お詫びして訂正いたします。

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

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

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

004 レポート Windows 11が動くVirtualBox
005 レポート Webブラウザ動作のPostgreSQL
006 製品レビュー 玩具「coemo(コエモ)」
007 NEWS FLASH
008 特集1 本格的なホームサーバーを構築/麻生二郎 コード掲載
018 特集2 Google AppSheet入門/伊藤勇斗、石野耀久、江口隆司
038 特集3 さくらのクラウド/前佛雅人
050 特別企画 MySQL HeatWave Database Serviceの新機能/生駒眞知子
057 Hello Nogyo!
058 Raspberry Piを100%活用しよう/米田聡 コード掲載
062 Pythonあれこれ/飯尾淳 コード掲載
066 法林浩之のFIGHTING TALKS/法林浩之
068 中小企業手作りIT化奮戦記/菅雄一
074 メタバース/桑原滝弥、イケヤシロウ
076 タイ語から分かる現地生活/つじみき
080 香川大学SLPからお届け!/永田歩 コード掲載
086 AWKでデジタル信号処理/斉藤博文 コード掲載
094 ユニケージ通信/田渕智也、高橋未来哉
098 Bash入門/大津真
104 Techパズル/gori.sh
105 コラム「ユニケージの学術論文が出ました」/シェル魔人

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

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

著者:麻生 二郎

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

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

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

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

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

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

著者:米田 聡

小型コンピュータボード「Raspberry Pi」(ラズパイ)向けにさまざまな拡張ボードが発売されています。その拡張ボードとラズパイを組み合わせれば、ラズパイでいろいろなことが簡単に試せます。第14回は、高品質なアナログ音声を出力する拡張基板を扱います。

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

図7 MP3形式の音楽ファイルを再生するPythonプログラム(player.py)

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

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

筆者:飯尾 淳

本連載では「Pythonを昔から使っているものの、それほど使いこなしてはいない」という筆者が、いろいろな日常業務をPythonで処理することで、立派な「蛇使い」に育つことを目指します。その過程を温
かく見守ってください。皆さんと共に勉強していきましょう。第11回では、永続的な非同期通信を簡単に実現できる「WebSocket」というプロトコルを利用するシンプルなチャットアプリの作成に挑戦しま
す。

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

図1 エコーサーバーを実現するコード

図2 エコーサーバーに接続するクライアントのコード

図4 チャットサーバーのコード

図5 チャットクライアントのHTMLコード

図6 チャットクライアントのJavaScriptコード

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

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

著者:永田 歩

今回は、米Google社が提供するメディアデータ向けの機械学習ライブラリ「MediaPiPe」を用いて、動画内にある人の顔を検出し、そのデータを基に3D CGアニメーションを生成するプログラムを紹介します。AIを3D CGに利用する試みの一つとして参考にしてください。

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

図1 動画をフレームに分割するプログラム「video2img.py」のコード

図2 顔のランドマーク座標を出力するコード「images2npy.py」のメイン部分

図3 get_landmark()関数の定義コード

図5 get_original_scalexyz()関数の定義コード

図6 make_landmarkimg()関数の定義コード

図8 3D CGアニメーションを作成するコード「npy2blender.py」のメイン部分

図9 generate_ver()関数の定義コード

図10 move_ver_anyframe()関数の定義コード

AWKでデジタル信号処理(Vol.81掲載)

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

著者:斉藤 博文

プログラミング言語「AWK」は、データストリーム(データの流れ)を逐次処理するのに適しています。本連載では、電子回路の分野でその特徴を生かし、シェルスクリプトを組み合わせてデジタル信号を処理します。第3回は低周波成分を減らす「ハイパスフィルタ」について解説します。

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

図7 ハイパスフィルタの移動平均プログラム(hpf.awk)

図12 群遅延を補正したプログラム(hpf_gd.awk)

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

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

004 レポート 6GHz帯の無線LAN国内解禁
005 レポート Zen 4採用のRyzenプロセッサ出荷
006 製品レビュー パソコン「LAVIE GX(GX750/EAB)」
007 NEWS FLASH
008 特集1 Red Hat Enterprise Linux 9/森若和雄
022 特集2 Linux初心者テストにチャレンジ!/長原宏治 コード掲載
042 緊急特集 チャットサービスを立ち上げよう/麻生二郎
058 Raspberry Piを100%活用しよう/米田聡 コード掲載
062 Pythonあれこれ/飯尾淳 コード掲載
068 NFT/桑原滝弥、イケヤシロウ
070 中小企業手作りIT化奮戦記/菅雄一
075 Hello Nogyo!
076 法林浩之のFIGHTING TALKS/法林浩之
078 香川大学SLPからお届け!/佐々木龍之介 コード掲載
082 タイ語から分かる現地生活/つじみき
088 AWKでデジタル信号処理/斉藤博文 コード掲載
096 Bash入門/大津真
104 Techパズル/gori.sh
105 コラム「ユニケージ黎明(れいめい)期」/シェル魔人

特集1 Linux初心者テストにチャレンジ!(Vol.80記載)

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

著者:長原 宏治

Linuxエンジニアの認定試験としては「LPIC」が有名ですが、より幅広くLinux初学者を対象とする「Linux Essentials」という認定試験が2020年から開始されています。本特集では出題範囲に対する理解を確認できる例題を挙げながら、Linux Essentials試験の内容を紹介します。つまずきがちな部分について問う例題を盛り込みましたので、腕に覚えがある人もぜひチャレンジしてみてください。

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

Part3 演習問題集の解答と解説

図1 問3-3-1の解答例

図2 問3-3-2の解答例

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

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

著者:米田 聡

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

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

図5 LEDの明るさを制御するプログラム(ADRSZSW.py)

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

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

著者:飯尾 淳

本連載では「Pythonを昔から使っているものの、それほど使いこなしてはいない」という筆者が、いろいろな日常業務をPythonで処理することで、立派な「蛇使い」に育つことを目指します。その過程を温
かく見守ってください。皆さんと共に勉強していきましょう。第10回は、データを可視化する例として、プログラムの対話型実行環境「Jupyter Notebook」をローカル環境で動かして簡単な地理情報を表示させてみます。

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

図7 町丁目データを地図上に重ねて表示するためのコード

図10 駅の位置と乗降客数のデータをまとめるためのコード

図12 駅の位置を地図に表示するためのコード(その1)

図14 駅の位置を地図に表示するためのコード(その2)

図16 「緯度」「経度」「乗降客数」のカラムを持つデータフレームを作成するためのコード

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

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

著者:佐々木 龍之介

今回は、数値解析アルゴリズムの一つである「ニュートン法」を紹介します。ニュートン法を利用すると、反復計算によって方程式の解を近似的に求められます。C言語を使ったサンプルプログラムを挙げながら、同手法について簡単に解説します。

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

図3 「x2 – 1 = 0」という方程式の解を求めるCプログラムの例

図4 「x2 – 1 = 0」という方程式の解を求めるCプログラムの改良版

図5 √2の近似解を求めるCプログラムの例

AWKでデジタル信号処理(Vol.80掲載)

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

著者:斉藤 博文

プログラミング言語「AWK」は、データストリーム(データの流れ)を逐次処理するのに適しています。本連載では、電子回路の分野でその特徴を生かし、シェルスクリプトを組み合わせてデジタル信号を処理します。第2回は、高周波ノイズを除去する「ローパスフィルタ」について解説します。

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

図6 移動平均のプログラム(lpf.awk)

図10 ずれ補正を加えた移動平均のプログラム(lpf_gd.awk)

Vol.80 補足情報

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

Pythonあれこれ

 記事中で使用するデータファイルは以下のWebページから入手できます。

https://github.com/shellscript-magazine/python_this_and_that/releases/tag/ver1.0

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

Vol.79 補足情報

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

特集3 ユニケージ開発のシステム

 p.30の中央右段に「163mm」の不要な文字が入り込み、本文と重なってしまいました。お詫びして訂正いたします。

特別企画 本格的なホームサーバーを構築 インターネット公開編

 p.46の左段にある「$ wget -O /home/pi/DDNSNow_update.log “https://f5.si/update.php?domain=ユーザー名&password=パスワード”」の「pi」は「Ubuntu Serverのユーザー名」の誤り、右段にある「0-59 * * * * wget -O DDNSNow_update.log “https://f5.si/update.php?domain=ユーザー名&password=パスワード”」の「 -O DDNSNow_update.log」は「 -O /home/Ubuntu Serverのユーザー名/DDNSNow_update.log」の誤りです。お詫びして訂正いたします。

IPアドレスの調べ方

 ルーターのDHCP(Dynamic Host Configuration Protocol)のリース情報から、Raspberry Piに割り当てられたIPアドレスを、次のように調べます。
 パソコンのWebブラウザを開いて、ルーターの管理画面にログインします。ログイン方法は、ルーターのマニュアルや、インターネットの情報で調べてください。
 管理画面が開いたら、DHCPのリース情報を表示します。こちらもルーターの機種によって操作方法や名称が異なりますが、一般的な家庭用ルーターには必ずあります。例にしたルーターでは、「詳細設定」から「LAN」「DHCPリース」でネットワーク機器に割り当てられているIPアドレスを表示できます(図1)。

図1 リース情報

 リース情報を表示した状態で、Raspberry Piを起動するとRaspberry Piに割り当てられたIPアドレスの情報が追加されます(図2の赤枠)。IPアドレスを使ってリモートからアクセスできます。

図2 Raspberry Piの情報が追加された

 ちなみに、このリース情報画面でRaspberry PiのMACアドレスと、割り当てたいIPアドレスを設定すれば、Raspberry Pi側のネットワーク設定を変更せずとも常に同じIPアドレス、固定IPアドレスを設定できます。

The Poetry and Art Collection

 p.64の右上に前号で掲載した詩の一部(複雑のひと 単純のこころ 唯一のひかり 無限のやみ)が入ってしまいした。お詫びして訂正いたします。

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

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

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

004 レポート テキストエディタ「Vim 9.0」リリース コード掲載
005 レポート 「Raspberry Pi Zero 2 W」国内版発売 コード掲載
006 製品レビュー イヤホン「LinkBuds」
007 NEWS FLASH
008 特集1 仮想化ソフト「VirtualBox」 徹底活用/麻生二郎
020 特集2 FlutterでGUIアプリを開発しよう/三好文二郎 コード掲載
030 特集3 ユニケージ開発のシステム/松浦智之 コード掲載
042 特別企画 本格的なホームサーバーを構築 インターネット公開編/麻生二郎 コード掲載
051 Hello Nogyo!
052 Raspberry Piを100%活用しよう/米田聡 コード掲載
056 Pythonあれこれ/飯尾淳
064 マルウエア/桑原滝弥、イケヤシロウ
066 中小企業手作りIT化奮戦記/菅雄一
070 タイ語から分かる現地生活/つじみき
076 法林浩之のFIGHTING TALKS/法林浩之
078 香川大学SLPからお届け!/岩本和真 コード掲載 
084 AWKでデジタル信号処理/斉藤博文 コード掲載
090 Bash入門/大津真
098 Techパズル/gori.sh
099 コラム「こうしてユニケージは生まれた」/シェル魔人

レポート テキストエディタ「Vim 9.0」リリース(Vol.79掲載)

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

著者:末安 泰三

テキストエディタ「Vim」の最新版「Vim 9.0」が2022年6月28日に公開された。前版「Vim 8.2」の公開は2019年12月のため、約2年半ぶりのリリースとなる。Vim 9.0の目玉となる新機能は、文法を見直して大幅な高速化を実現したスクリプト言語「Vim9 Script」のサポートである。

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

図2 新旧のコードで定義した関数の実行結果と実行時間を表示するコードの例

レポート 「Raspberry Pi Zero 2 W」国内版発売(Vol.79掲載)

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

著者:末安 泰三

超小型コンピュータボード「Raspberry Pi Zero」シリーズの最新版、「Raspberry Pi Zero 2 W」の国内版が2022年6月に発売された。Raspberry Pi財団が2021年10月に発売した製品だが、国内版には技適マークが付く。同シリーズの従来製品と比べ、マルチスレッド性能が4~5倍程度向上した。

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

図2 LinuxカーネルのRaspberry Pi Zero 2 W用のDTSファイルの内容

特集2 FlutterでGUIアプリを開発しよう(Vol.79記載)

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

著者:三好 文二郎

「Flutter」は、米Google社がOSS(オープンソースソフトウエア)として提供する、GUI アプリ開発用のSDK(Software Development Kit)です。単一のコードで複数のプラットフォーム向けのGUIアプリを作成できるほか、標準で用意されるUIコンポーネントが豊富、Hot Reloadによる開発者体験が素晴らしいことなどから開発者の間で人気が高まっています。Flutterの概要と、Flutterを利用したアプリ開発方法について紹介します。

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

図18 ウィジェットに関する記述の例

図19 ボタンウィジェットを追加するコードの例

図21 my_first_appプロジェクトの「pubspec.yaml」ファイルの内容

図22 go_routerパッケージを利用する場合の記述例

図23 画面を追加するためのコード

図24 画面遷移のためのコード

図25 ボタンウィジェットに画面遷移処理を割り当てるコード

図26 main()関数のコードを変更

特集3 ユニケージ開発のシステム(Vol.79記載)

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

著者:松浦 智之

システム開発手法「ユニケージ」では、データ保存用に「ファイル」を使い、ユニケージ専用コマンド群「usp Tukubai」と「シェルスクリプト」で業務システムを開発します。usp Tukubaiは有償ソフトですが、無償のオープンソース版「Open usp Tukubai」もあります。このOpen usp Tukubaiを使って、ユニケージ開発を無料で始めてみましょう。

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

図6 Apache HTTP Serverの郵便番号・住所検索システム用設定ファイル(/etc/apache2/sites-available/zip2addr.conf)

図10 MK_ZIPTBL.SHのソースコード

図12 ZIP2ADDR.AJAX.cgiのコード

図13 ZIP2ADDR.htmlのコード

図14 ZIP2ADDR.jsのコード

特別企画 本格的なホームサーバーを構築(Vol.79記載)

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

著者:麻生 二郎

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

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

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

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

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

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

著者:米田 聡

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

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

図6 本連載で作成したサンプルプログラム(sample.py)

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

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

著者:岩本 和真

人間の言語をコンピュータで処理する自然言語処理の分野は、近年、急速に進歩しています。それによって例えば、自然な翻訳や文章生成をする技術などが開発されています。同分野の学習成果として筆者は、「秘書チャット」と名付けたチャットボットアプリを作成しました。今回は、このアプリに盛り込んだ機能について、技術的に解説します。

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

図5 形態素解析処理をするmorpheme()関数の定義コード

図8 予定の内容を抽出するcontent_extract()関数の定義コード

図9 Webページのテキスト情報を抽出するscraping()関数の定義コード

図12 曜日や豆知識を答える機能のコード

AWKでデジタル信号処理(Vol.79掲載)

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

著者:斉藤 博文

プログラミング言語「AWK」は、データストリーム(データの流れ)を逐次処理するのに適しています。本連載では、電子回路の分野でその特徴を生かし、シェルスクリプトを組み合わせてデジタル信号を処理します。第1回は「デジタルフィルタ」と「リングバッファ」について解説します。

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

図14 1~10000の出力データから末尾の10行を取り出すAWKプログラム(tail.awk)

図15 リングバッファを用いたAWKプログラム(tail_ring.awk)

図17 「get_buf」関数をPythonのプログラムで記述

特集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コンポーネント書き換え箇所

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 コラム「計画は全体を、問題は点を追求する」/シェル魔人

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 コラム「ユニケージ流の業務システム開発」/シェル魔人

特集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.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() 関数の定義例

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

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

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

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

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

著者:松浦智之

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

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

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

Vol.76 補足情報

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

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

Vol.75 補足情報

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

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

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

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

シェルスクリプトマガジン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 コラム「システムエンジニアを育てる」/シェル魔人

特集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によるコードをテキストブロックで実装

もっと見る

  • カテゴリー コード のアーカイブを表示しています。

  • -->