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

test

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のプログラムで記述

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

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

著者:岩本 和真

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

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

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

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

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

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

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

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

著者:米田 聡

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

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

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

特別企画 本格的なホームサーバーを構築(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)

特集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のコード

特集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()関数のコードを変更

レポート 「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ファイルの内容

レポート テキストエディタ「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 新旧のコードで定義した関数の実行結果と実行時間を表示するコードの例

シェルスクリプトマガジン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 コラム「こうしてユニケージは生まれた」/シェル魔人

Vol.79

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

 LinuxやWindows 11を少し使ってみたい、気になるアプリケーションを試してみたいなど、パソコンを使い続けていると、このような考えを持つことがよくあります。そのようなときに便利なのが「パソコンハードウエア仮想化ソフト」です。この仮想化ソフトを使うと、パソコン内に仮想的なパソコンを構築できます。
 特集1では、無償で使えるパソコンハードウエア仮想化ソフト「Oracle VM VirtualBox」の導入方法や基本操作を解説します。便利な機能、人気のLinuxやWindows 11を試すためのイメージファイルなども紹介しています。
 特集2では、米Google社が開発するGUIアプリ開発環境「Flutter」を使い始めたい人向けに解説します。Flutterでは、AndroidやiPhoneなどのモバイル端末向けアプリから、WindowsやLinux、macOSのデスクトップマシン向けアプリまで、同一のコードで開発できます。
 特集3では、本格的な業務システム開発で利用されている手法「ユニケージ」の専用コマンド群「usp Tukubai」のオープンソース版である「Open usp Tukubai」を利用したシステム開発を紹介します。Open usp Tukubaiなら有償ではなく無償でユニケージ開発を体験でき、さらに開発したシステムをそのまま実運用できます。
 特別企画では、以前から本誌で継続中の、小型コンピュータボード「Raspberry Pi Model 4」と、人気のLinuxディストリビューション「Ubuntu Server」でホームサーバー構築方法を解説しています。今回は、ホームサーバーをインターネットに公開する方法を紹介しました。
 このほか、新連載として「AWKでデジタル信号処理」が始まりました。プログラミング言語「AWK」とシェルスクリプトを用いて、デジタル信号からノイズを取り除くなどの方法を、仕組みを含めながら解説していきます。
 今回も読み応え十分のシェルスクリプトマガジン Vol.79。お見逃しなく!

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

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

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

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

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

  • -->