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

test

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

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

著者:池内稜來斗

各都道府県の都道府県庁所在地を尋ねるクイズを出題するWebサイトをPHPで作成しました。今回は、そのWebサイトの概要や作成手順などを紹介します。PHPの実行環境や、各種サーバーソフトウエアは、「XAMPP」(https://www.apachefriends.org/)を使ってインストールします。

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

図2 「db.sql」ファイルに記述するSQL文

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

図4 「question.php」ファイルに記述するコード

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

図6 「result.php」ファイルに記述するコード

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

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

著者:藤原 由来

本連載では文書の装飾・構造付けを手軽に行える記法であるMarkdownを用いて、さまざまな文書や成果物を作成する方法を紹介します。今回は前回に引き続き、Markdownを用いて書籍を制作できる組版アプリ「Vivliostyle」について解説します。特に、技術同人誌の制作方法と、印刷所へ入稿する際の注意
点について説明します。 

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

図7 書き換えたVivliostyleの設定ファイル

図8 扉のindex.mdファイル

図9 奥付のcolophon.mdファイル

図11 my-theme.cssファイル内のCSSを反映する設定

図12 扉と奥付用のCSS

図13 扉のindex.mdファイルの変更

図14 奥付のcolophon.mdファイルの変更

図17 目次を自動設定する設定

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

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

著者:飯尾 淳

本連載では「Pythonを昔から使っているものの、それほど使いこなしてはいない」という筆者が、いろいろな日常業務をPythonで処理することで、立派な「蛇使い」に育つことを目指します。その過程を温かく見守ってください。皆さんと共に勉強していきましょう。第22回では、機械学習ライブラリ「PyTorch」を使って、画像内の、歩行者が写っている領域を自動認識するPythonプログラムを作成します。

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

図3 47番のデータを確認するPythonコード

図5 PennFudanDataSetクラスを定義するPythonコード

図6 get_model_instance_segmentation()関数を定義するPythonコード

図7 get_transform()関数を定義するPythonコード

図8 追加学習の準備をするためのPythonコード

図9 物体認識と領域セグメンテーションを実施するPythonコード

図11 Penn-Fudanデータセットを用いて追加学習するPythonコード

特別企画 イノシシ撃退機を作る ソフト作成編(Vol.92記載)

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

著者:米田 聡

「Interface」「CQ ham radio」「トランジスタ技術」などの雑誌を出版するCQ出版社の電子部品セット「イノシシ撃退機部品セットVer.1」を組み立て、ソフトウエアに一工夫を加えてイノシシ撃退機を作ります。今回は完成したハードウエア向けにソフトウエアを作成します。

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

図18 PWM機能の初期化

図20 割り込みハンドラ

図21 ダブルバッファを使用する修正

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

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

004 レポート 仮想化ソフト「VirtualBox」の新版リリース
005 レポート マイコンボード「Raspberry Pi Pico 2」登場
006 製品レビュー 組み込み機器「CH32V003ボード」
007 NEWS FLASH
008 特集1 古いRaspberry Piを復活させる/麻生二郎
016 特集2 統合運用管理ソフトウエア Hinemos入門/倉田晃次、加藤達也
026 特別企画 イノシシ撃退機を作る ソフト作成編/米田聡 コード掲載
036 特別企画 Rocky Linux 9のインストール/麻生二郎
042 Pythonあれこれ/飯尾淳 コード掲載
048 Markdownを活用する/藤原由来 コード掲載
058 中小企業手作りIT化奮戦記/菅雄一
062 香川大学SLPからお届け!/池内稜來斗 コード掲載
068 これだけは覚えておきたいLinuxコマンド/大津真
078 Techパズル/gori.sh
079 コラム「SEの働き方の新しい仕組みを作る」/シェル魔人 

Vol.92

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

 小型コンピュータボード「Raspberry Pi」が登場して約12年が過ぎました。現在では、AI(人工知能)処理ができ、パソコン並みの性能を持つものに進化しています。ただ、センサーなどの制御、液晶や有機ELなどのパネルへの出力といった分野では、初期のRaspberry Piでも十分活躍できます。特集1では、初期のRaspberry Piを復活する方法を紹介しています。具体的には、無線通信機能を付加して使い勝手を向上します。
 特集2では、NTTデータ最先端技術が開発する統合運用管理ソフトウエア「Hinemos」を解説しています。同ソフトウエアは、オープンソースであり、誰でも無料で利用できます。サーバーやネットワークなどのシステムの監視やジョブ管理、運用の自動化を実現します。
い。
 特別企画では、前号に引き続きイノシシ撃退機、加えてCentOS Linuxの代替となるLinuxディストリビューション「Rocky Linux」を扱っています。
 このほか、連載「Pythonあれこれ」では機械学習ライブラリ「PyTorch」でAIによる歩行者認識の実現方法を紹介しています。
 今回も読み応え十分のシェルスクリプトマガジン Vol.92。お見逃しなく!

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

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

Vol.92 補足情報

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

連載 香川大学SLPからお届け!

記事中で作成したクイズWebサイト用のコードや、データベースへのデータ入力用のファイルをまとめたアーカイブファイルがここからダウンロードできます。

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

これだけは覚えておきたいLinuxコマンド(Vol.91掲載)

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

著者:大津 真

本連載では、Linuxの初心者に覚えておいてほしいコマンドを紹介していきます。ここで紹介するコマンドさえ押さえておけば、基本的な操作に困ることはなくなるでしょう。第2回では、主にテキストファイルを処理するための基本コマンドについて解説します。

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

図6 「members.csv」ファイルの内容

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

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

著者:佐藤 楓真

今回は、「焼きなまし法」と呼ばれる手法で、すべての都市を1回訪問して出発地点に帰るまでの最短経路を求める「巡回セールスマン問題」を近似的に解いてみます。焼きなまし法のベースとなる「山登り法」についても解説します。使用するプログラミング言語は、C++です。

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

図3 図1の巡回セールスマン問題を山登り法で解くC++プログラムの例

図4 都市数「5000」のテスト用データを作成するC++プログラム

図5 テスト用データに基づく巡回セールスマン問題を山登り法で解くC++プログラムの例

図7 テスト用データに基づく巡回セールスマン問題を焼きなまし法で解くC++プログラムの例

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

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

著者:藤原 由来

本連載では文書の装飾・構造付けを手軽に行える記法であるMarkdownを用いて、さまざまな文書や成果物を作成する方法を紹介します。今回は、Markdownを用いて書籍を制作できる組版アプリ「Vivliostyle」の導入と、書籍作成の基本について説明します。

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

図11 chap1.mdファイルの内容

図12 chap2.mdファイルの内容

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

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

著者:飯尾 淳

本連載では「Pythonを昔から使っているものの、それほど使いこなしてはいない」という筆者が、いろいろな日常業務をPythonで処理することで、立派な「蛇使い」に育つことを目指します。その過程を温かく見守ってください。皆さんと共に勉強していきましょう。第21回では、「ハノイの塔」の解法「GDHP(Gniibe Distributed Hanoi Protocol)」の手順をアニメーションで表示するPythonアプリを作成します。

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

図2 GDHPの手順をアニメーションで表示するJavaScriptコード

図3 Pygameを用いて描画ウィンドウを表示するPythonコード

図5 GDHPの手順をアニメーションで表示するPythonコード

特集2 ChatGPTで手軽に実現(Vol.91記載)

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

著者:佐藤 秀輔

対話型AIサービス「ChatGPT」が注目を集めています。特に、2023年3月に登場した「GPT-4」という大規模言語モデル(LLM)を利用可能になってからは自然言語の理解力が飛躍的に向上し、指示に基づいて、さまざまな処理を自動化できるようになっています。本特集では、ChatGPTを個人で活用する例として、家計簿レビューをさせる方法と、API(Application Programming Interface)を利用してWebスクレイピングをさせる方法を紹介します。

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

図1 ランダムな家計簿データを生成するPythonスクリプト

図10 Webスクレイピング対象となるWebページの例

図11 Webスクレイピング用のPythonスクリプトの例

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

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

004 レポート 統合開発環境「Theia IDE」正式版リリース
005 レポート サイバーエージェントがVLM、新LLM公開
006 製品レビュー パソコン「ASUS Vivobook S 15 S5507QA」
007 NEWS FLASH
008 特集1 Oracle Cloud Infrastructure入門/福島耕平、中村峻大
020 特集2 ChatGPTで手軽に実現/佐藤秀輔 コード掲載
028 特別企画 イノシシ撃退機を作る ハード製作編/米田聡
036 Pythonあれこれ/飯尾淳 コード掲載
042 Markdownを活用する/藤原由来 コード掲載
052 香川大学SLPからお届け!/佐藤楓真 コード掲載
058 中小企業手作りIT化奮戦記/菅雄一
064 これだけは覚えておきたいLinuxコマンド/大津真 コード掲載
073 ユニケージレポート/田中湧也
076 Techパズル/gori.sh
077 コラム「要求工学を取り入れる」/シェル魔人

Vol.91

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

 オラクルといえば、基幹システムでも利用されるリレーショナルデータベース管理システム(RDBMS)製品を開発・販売する企業というイメージがあります。しかし、それだけではありません。「AWS」(Amazon Web Services)や「Microsoft Azure」、「GCP」(Google Cloud Platform)と同等のクラウドサービスとして「Oracle Cloud Infrastructure」(OCI)を提供しています。
 特集1では、このOCIの特徴を分かりやすく解説しています。また、30日間無料で試せる「OCI Cloud Free Tier」を利用してIaaS(Infrastructure as a Service)によるコンピュートインスタンスの立ち上げ方法も紹介しています。実際に触ってみて、データベースだけでないOCIの魅力を感じてください。
 特集2では、生成AIチャット「ChatGPT」の実用例として、支出を分析する「家計簿レビュー」と、Webページから必要な情報を抽出する「Webスクレイピング」の二つを紹介しています。前者は対話形式で分析、後者はAPI(Application Programming Interface)を用いて情報を抽出しています。話題のChatGPTの能力を体験してみてください。
 特別企画では、「Interface」「CQ ham radio」「トランジスタ技術」などの雑誌を出版するCQ出版社の協力を得て、同社が販売する「イノシシ撃退機部品セットVer.1」の組み立て方を紹介しています。農業分野でもITを活用することで、さまざまなメリットが生まれます。このイノシシ撃退機は、イノシシの鳴き声を使うため、安全にイノシシを追い払えます。
 このほか、ユニケージレポートでは、長崎県で2024年6月12~14日に開催された「ソフトウェア・シンポジウム2024」でのユニケージ技術発表と、シェルやシェルスクリプトに関するワークショップを紹介しました。
 今回も読み応え十分のシェルスクリプトマガジン Vol.91。お見逃しなく!

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

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

Vol.91 補足情報

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

特集2 ChatGPTで手軽に実現

 クラウド型家計簿アプリ「Dr.Wallet」のサンプルデータがここからダウンロードできます。家計簿を付けていない人は、こちらを利用してください。なお、本サンプルデータ中のショップ名、電話番号、住所の情報はすべて架空のものです。実在の企業や事業者とは関係ありません。

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

Pythonあれこれ

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

筆者:飯尾 淳

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

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

図4 プルダウンメニューでサブページに移動できるようにしたコード

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

図11 「2_new.py」ファイルに記述するコード

図11 「2_new.py」ファイルに記述するコード

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

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

著者:小河原 直道

Raspberry Pi 5(以下、ラズパイ5)が日本でも発売され、私も購入しました。センサーとの接続やサーバーの構築をしてみたいと思ったため、湿温度/気圧/CO₂濃度を測定できるセンサーを接続し、その値をWebブラウザから確認できるシステムを作成しました。このシステムの作成ポイントについて解説します。

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

図8 BME280のチップIDを読み出すPythonコード

図9 BME280の気温データを読み出すPythonコード

図10 MH-Z19CのCO2濃度データを読み出すPythonコード

図12 測定データをデータベースに保存するPythonコード

図13 「db/db_pool.js」ファイルに記述するコード

図14 「route/api_v1.js」ファイルに記述するコード(抜粋)

図15 「route/index.js」ファイルに記述するコード

図16 「app.js」ファイルに記述するコード

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

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

著者:藤原 由来

本連載では文書の装飾や構造付けを手軽に行える記法である「Markdown」を用いて、さまざまな文書や成果物を作成する方法を紹介します。今回も前回に引き続き、Markdownベースの高機能なノートアプリ「Obsidian」を扱います。前回の内容を踏まえて、Obsidianの発展的な使い方を紹介します。

図11 デイリーノートのテンプレート(テンプレート_カレー日記)

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

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

著者:米田 聡

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

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

図2 10 分おきに湿温度を測定して配列に保存する「DhtDataLogger」クラスのコード(ddl.py)

図3 蓄積した湿温度をグラフとして表示する簡易Webサーバーのプログラム(main.py)

特集2 NVIDIA NeMoで独自の生成AIを構築する(Vol.90記載)

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

著者:澤井 理紀、藤田 充矩

大規模言語モデル(LLM)に基づく生成AIが注目を集めています。そうした生成AIを活用するには、LLMを特定のタスクやデータセットに最適化する「ファインチューニング」が欠かせません。本特集では、生成AIを支える技術を解説した上で、NVIDIAが提供する生成AI向けのフレームワーク「NVIDIA NeMo」を使って独自の生成AIをローカル環境に構築し、LLMをファインチューニングする方法を紹介します。

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

図2 LLMダウンロード用のPythonスクリプト

図4 PEFTに使用するデータセットの形式を変換するPythonスクリプト

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

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

004 レポート 米OpenAI社の新LLM「GPT-4o」登場
005 レポート JPEGライブラリ「jpegli」公開
006 製品レビュー バイク用エアバッグ「TECH-AIR 5」
007 NEWS FLASH
008 特集1 2024年大注目のMicrosoft Copilot/三沢友治
018 特集2 NVIDIA NeMoで独自の生成AIを構築する/澤井理紀、藤田充矩 コード掲載
026 特集3 Raspberry Pi 5を使う/麻生二郎
036 特別企画 AlmaLinux 9のインストール/麻生二郎
042 Raspberry Pi Pico W/WHで始める電子工作/米田聡 コード掲載
046 Markdownを活用する/藤原由来 コード掲載
052 中小企業手作りIT化奮戦記/菅雄一
056 香川大学SLPからお届け!/小河原直道 コード掲載
062 Pythonあれこれ/飯尾淳 コード掲載
068 これだけは覚えておきたいLinuxコマンド/大津真
076 Techパズル/gori.sh
077 コラム「プロジェクトリーダーの役割」/シェル魔人

Vol.90

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

 AI(人工知能)による文章、画像、映像、会話、音楽などの自動生成技術「生成AI」がとても注目されています。特に、レポートで紹介した、米OpenAI社の大規模言語モデル(LLM)「GPT-4o」は、人と会話しているように話せる驚きの技術です。シェルスクリプトマガジンでもこの生成AIに着目し、特集1と特集2でも生成AIに関するサービスや技術を取り上げました。
 特集1では、マイクロソフトが提供する生成AIサービス「Microsoft Copilot」を紹介しています。同サービスは、オフィスソフト「Microsoft Office」を含むクラウドサービス「Microsoft 365」から利用できます。そのため、ビジネス分野における生成AIの活用が期待できます。
 特集2では、米NVIDIA社の生成AIフレームワーク「NVIDIA NeMo」による独自生成AI環境を構築する方法を解説しています。同社は、生成AIや機械学習などに不可欠な半導体チップ(素子)「GPU」(Graphics Processing Unit)において世界トップシェアの企業であり、AIに関する多くの最先端技術を有しています。
 特集3では、2024年2月に国内販売が開始された小型コンピュータボードの最上位機種「Raspberry Pi 5」を紹介しています。Raspberry Pi 5では、CPUやGPUの性能が向上し、PCI Expressの外部インタフェースが追加されています。このPCI ExpressにSSDを接続することで、ストレージの高速化と大容量化が期待できます。AI分野でも活用が進む小型コンピュータとして注目の製品です。
 特別企画では、2024年6月末でサポートが切れるLinuxディストリビューション「CentOS Linux」の代替となる「AlmaLinux」のインストール方法を紹介しました。AlmaLinuxは無料で利用でき、サポートが必要なら国内でも有償で受けられます。ビジネスの分野で利用する場合なら、お薦めの代替候補です。
 このほか、新連載として「これだけは覚えておきたいLinuxコマンド」が始まりました。数回に分けて、初心者向けに知っておくべきLinuxコマンドをまとめています。
 今回も読み応え十分のシェルスクリプトマガジン Vol.90。お見逃しなく!

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

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

Vol.90 補足情報

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

特別企画 AlmaLinux 9のインストール

 p.36の「2024年6月31日」は「2024年6月30日」の誤りです。同じページの最初から4行目の「をして」は「として」の誤りです。p.37の右段下から2行目の「Ubuntu Server」は「AlmaLinux」の誤りです。お詫びして訂正します。
 p.37で紹介したISOイメージの書き込みツール「balenaEtcher」の最新版(バージョン1.19.×)では、「PORTABLE」版が提供されていません。記事で紹介したバージョン1.18.11のPORTABLE版(balenaEtcher-Portable-1.18.11.exe)はここからダウンロードできます。

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

Linux定番エディタ入門

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

筆者:大津 真

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

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

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

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

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

著者:飯尾 淳

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

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

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

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

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

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

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)