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

test

レポート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コードの例

シェルスクリプトマガジン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 コラム「ユニケージ式プロジェクト管理法」/シェル魔人

Vol.83

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

 過去に爆発的な人気を博した、プログラミング言語「Ruby」のWebアプリケーションフレームワーク「Ruby on Rails」ですが、現在では「死んだ」と言われています。しかし、昨年11月にRuby on Railsのドキュメントや教育、マーケティングなどを支援する団体「Rails財団」が設立されました。また、昨年末にRubyの新版「Ruby 3.2」がリリースされました。このようにRuby on RailsおよびRubyに対して大きな変化が訪れています。
 特集1では、地図アプリの作成を題材に、Ruby on RailsによるWebアプリケーション開発を紹介します。素早くプログラミングができるRuby on Railsを体験してみてください。
 特集2では、入門編として、AI(人工知能)の機械学習において最近話題の「AutoML」(Automated Machine Learning)を解説します。AutoMLは、機械学習モデルに係る作業を完全に自動化し、機械学習の知識がなくても簡単にAIの実装を可能にする技術です。データサイエンティストなどの専門家でなくてもAIが扱えますので、ぜひ注目してください。
 特別企画では、2023年3月10日にビット・トレード・ワンから発売された拡張ボード「ラズベリーパイ接続 RP2040エッジアクセラレータ」の使い方を2回に分けて紹介します。同ボードは、Raspberry Pi Picoに搭載されているArmプロセッサ「RP2040」を備えていて、Raspberry Pi Pico以外のRaspberry Piと連携して利用します。リアルタイム制御など、Raspberry Pi Pico以外のRaspberry Piのみでは実現できないことも可能です。
 このほか、連載「香川大学SLPからお届け!」では、メッセージの感情表現を絵文字で表すチャットボットの作成方法を、連載「中小企業手作りIT化奮戦記」では、新システム導入時に発生した数々の問題を紹介しています。どちらも大変面白い内容になっています。
 今回も読み応え十分のシェルスクリプトマガジン Vol.83。お見逃しなく!

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

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

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 ページが見つからない場合の表示

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

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

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

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

この画像をクリック

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

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

著者:斉藤博文

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

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

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

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

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

香川大学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()関数の定義コード

特集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マクロのサンプルコード

シェルスクリプトマガジン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.25 | カテゴリー: バックナンバー

 Microsoft Office上での処理を自動化する場合、「BASIC」(VBA)言語によるマクロを記述することがよくあります。オープンソースのオフィスソフト「LibreOffice」でも同様に、BASICによるマクロが記述できて動作します。ただし、Microsoft Office上のBASICとどこまで互換性があるのかは未知数です。
 LibreOfficeでは、BASIC以外に「BeanShell」(Java風のスクリプト言語)、「JavaScript」「Python」の言語でもマクロを記述できます。Pythonは人気のプログラミング言語であり、国内にも多くのプログラマがいます。LibreOfficeだけをビジネスの現場で使うならPythonでマクロを記述するのがよいでしょう。特集1では、このPythonによるマクロ作成の基本を解説しています。
 特集2では、老舗のオンラインストレージサービス「Dropbox」を紹介しています。オンラインストレージは、クラウド上でファイルを保管して管理するだけではありません。共同の編集作業や、ファイルの整理に十分活躍します。本特集を参考にしてDropboxでファイルを自在に扱ってください。
 緊急企画では、Twitterの代替となる「Mastodon」サーバーの構築方法を解説しています。米Twitter社を買収したElon Musk氏によって、収益改善やコスト削減などが進められています。しかし、それと同時にさまざまな不安を感じている人が増えています。Mastodonは、1社運営ではなく、さまざまな団体や企業、個人のサーバーが連携し合ってTwitterと同等のサービスが提供できるオープンソースのソフトウエアです。すぐにTwitterの代替となるわけではありませんが、Twitterの代替として最も注目されています。
 このほか、「行動経済学と心理学で円滑に業務を遂行」の新連載を開始しました。仕事を進めるときに、人間関係は重要です。言い方一つで、意欲的になったり、充実感が得られたりします。行動経済学と心理学による分析結果からチームで円滑に業務を遂行する方法を解説します。
 今回も読み応え十分のシェルスクリプトマガジン Vol.82。お見逃しなく!

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

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

Vol.82 補足情報

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

Pythonあれこれ

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

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

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

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

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

著者:斉藤 博文

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

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

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

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

香川大学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()関数の定義コード

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

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

筆者:飯尾 淳

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

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

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

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

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

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

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

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

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

著者:米田 聡

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

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

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

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

シェルスクリプトマガジン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 コラム「ユニケージの学術論文が出ました」/シェル魔人

Vol.81

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

 ホームサーバーも本格的な運用を始めるなら、常時動き続けるための「可用性」と、データなどの保護を目的とした「信頼性」の向上は不可欠です。特集1では、小型コンピュータボードの「Raspberry Pi 4 Model B」で構築したホームサーバーの可用性や信頼性を高める方法を解説しています。
 特集2では、注目のノーコード開発ツール「Google AppSheet」を紹介しています。Google AppSheetでは、とても簡単な操作で、Webブラウザ、スマートフォンやタブレットなどからアクセスできるWebアプリケーションを開発できます。。また、ローコード開発ツールの「Google Apps Script」で作成したアプリケーションと組み合わせることで、クラウド上のさまざまなシステムと連携したシステムの構築が可能です。
 特集3では、国産パブリッククラウドサービス「さくらのクラウド」を紹介しています。AWSやGCP、Azureなど、海外の企業のクラウドサービスが人気ですが、国産クラウドにも良い点が多数あります。特に、日本人が運用して管理している点で、日本人に適したクラウドサービスになっています。
 特別企画では、米Oracle社が提供するデータベースクラウドサービス「MySQL HeatWave Database Service」(旧名は「MySQL Database Service」)を紹介しました。機械学習による「AutoPilot」や「HeatWave ML」が追加されて、さらに大規模なOLTPやOLAPの処理をより効率良くできるようになった点を詳しく解説しています。
 このほか、業務システムの開発手法「ユニケージ」の連載が開始しました。ユニケージは、エンジニアが生み出した手法ではなく、業務という現場から生まれた手法です。そのため、エンジニアには理解しにくい部分もあります。この連載では、エンジニアが疑問に感じる点に焦点を当てながらユニケージ流のやり方を紹介していきます。
 今回も読み応え十分のシェルスクリプトマガジン Vol.81。お見逃しなく!

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

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

Vol.81 補足情報

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

執筆・編集後記

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

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

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

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

著者:斉藤 博文

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

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

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

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

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

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

著者:佐々木 龍之介

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

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

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

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

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

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

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

著者:飯尾 淳

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

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

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

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

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

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

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

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

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

著者:米田 聡

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

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

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

特集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の解答例

シェルスクリプトマガジン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 コラム「ユニケージ黎明(れいめい)期」/シェル魔人

Vol.80

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

 2022年5月、企業向けLinuxディストリビューション「Red Hat Enterprise Linux 9」(RHEL 9)がリリースされました。多くのシステムで利用されているRHEL 7のライフサイクルは、2024年6月(延長しても2026年6月)で終了するので、アップデートの有力な候補です。特集1では、このRHEL 9に関して、サブスクリプション、無償利用、主要ソフト、主要サービス、リリーススケジュール、ライフサイクル、導入・使用方法、RHEL 7/8利用者に役立つ情報などを分かりやすく解説しています。
 特集2では、Linux初心者向けのテストを用意しています。このテストは、非営利組織「LPI」(Linux Professional Institute)が実施しているLinux技術者認定試験「Linux Essentials」を基にしています。Linuxを勉強し始めた人にお薦めの内容になっていますので、ぜひお読みください。
 このほか、緊急特集として、オープンソースソフトウエア「Mattermost」で人気の「Slack」と似たチャットサービスを無料で立ち上げる方法を紹介しています。インターネット上には無料でも使える魅力あるサービスが多数あります。ただし、SlackやHerokuのように利用規約が変更されると、無料で使える範囲が変わったり、無料で使えなくなったりします。影響を受けないように自分でサービスを立ち上げてみるのはいかがでしょうか。
 今回も読み応え十分のシェルスクリプトマガジン Vol.80。お見逃しなく!

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

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

Vol.80 補足情報

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

Pythonあれこれ

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

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

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

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

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

香川大学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」ファイルに記述する内容

もっと見る

新しい記事一覧へ戻る

  • -->