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

test

作りながら学ぶVue.js入門(Vol.96掲載)

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

著者:大津 真

JavaScriptフレームワークの中でも、学びやすさと柔軟さで人気を集めている「Vue.js」。本連載では、Vue.jsの基礎から実践的な使い方までを、分かりやすく丁寧に解説していきます。一緒にフロントエンド開発の楽しさを体験してみましょう。第1回では、Vue.jsの概要と、簡単なアプリの作成方法を紹介します。

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

図3 Options APIを利用したコードの例(抜粋)

図4 Composition APIを利用したコードの例(抜粋)

図5 SFCファイルの記述例

図6 HTML文書のテンプレート例

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

図10 setup()関数の定義コードをこのように変更

図12 div要素の記述をこのように変更

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

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

筆者:織田 悠暉

今回は、ゲームエンジン「Unity」で2Dキャラクタを動かす方法を紹介します。具体的には、プレーヤのキャラクタと、地形の作成、左右の移動と、ジャンプ動作の実装、各動作に合わせてキャラクタの画像を変更する方法について解説します。とても手軽に実装できるので、皆さんもぜひチャレンジしてください。

図9 「Move」ファイル(「Move.cs」ファイル)に記述するコード

図10 「Move」ファイル(「Move.cs」ファイル)に挿入するコード

図11 「Jump」ファイル(「Jump.cs」ファイル)に記述するコード

図13 「Anime」ファイル(「Anime.cs」ファイル)に記述するコード

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

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

著者:飯尾 淳

本連載では「Pythonを昔から使っているものの、それほど使いこなしてはいない」という筆者が、いろいろな日常業務をPythonで処理することで、立派な「蛇使い」に育つことを目指します。その過程を温かく見守ってください。皆さんと共に勉強していきましょう。第26回では、データを視覚化(ビジュアライゼーション)してデータの傾向を探るためのツール「PyGWalker」の利用に挑戦します。

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

図5 コードセルを追加して実行するコード

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

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

004 レポート 米OpenAI社が「Codex CLI」を公開
005 レポート VSCodeの拡張機能「Docker DX」登場
006 製品レビュー USB電源「Anker Charger(140W,4Ports)」
007 NEWS FLASH
008 特集1 ゼロトラストセキュリティ入門/石井英男、小寺勝仁、荻野隼
019 インタビュー BrainPad AAA 辻陽行氏
020 特集2 開発ツールのプリザンター/内田太志
032 作りながら学ぶVue.js入門/大津真 コード掲載
038 Markdownを活用する/藤原由来
044 Raspberry Pi Pico W/WHで始める電子工作/米田聡
048 Pythonあれこれ/飯尾淳 コード掲載
054 香川大学SLPからお届け!/織田悠暉 コード掲載
060 中小企業手作りIT化奮戦記/菅雄一
066 知っておきたいシェル関連技術/麻生二郎
069 IT関連の新刊
072 Techパズル/gori.sh
073 コラム「毎週開催の金曜勉強会」/シェル魔人

Vol.96 補足情報

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

表紙

表紙の「辻陽 行氏」は、「辻 陽行氏」の誤りです。お詫びして訂正いたします。

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

Vol.96

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

 インターネットの進化や、企業への浸透、リモートワークの広がりなどにより、企業において、強固なセキュリティ対策が求められています。特集1では「常に検証し、何も暗黙のうちに信頼しない」という考えに基づく「ゼロトラストセキュリティ」を紹介しています。ゼロトラストセキュリティによる対策を実施し、企業の資産や信頼を守ってください。
 セキュリティ対策と同様に、企業でのシステム開発の内製化も注目されています。社員自らがシステムを開発して運用する内製化を進める上で、開発環境の選択はとても重要です。特集2では、コードを書かないノーコード、あるいは簡単なコードしか書かないローコードの開発ツールである「プリザンター」を解説しています。プリザンターは、国内で開発されていて、オープンソースであり、どの企業でも無料で利用できます。
 このほか、二つの連載が始まりました。「作りながら学ぶVue.js入門」では、Webのユーザーインタフェースを構築するためのJavaScriptフレームワーク「Vue.js」について分かりやすく紹介していきます。「知っておきたいシェル関連技術」では、毎回異なるテーマで、シェルを活用するためのさまざまな技術やソフトウエアを解説していきます。何かのヒントとして役立ててください。
 今回も読み応え十分のシェルスクリプトマガジン Vol.96。お見逃しなく!

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

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

ユニケージ通信(第1回)

投稿日:2025.05.22 | カテゴリー: 記事

ファイルによるデータ管理

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


 業務システムの開発手法である「ユニケージ」では、システムの開発においてデータおよびその管理が最も重要と考えています。
 一般的なシステム開発では、テーブルなどは定義するものの、データの保存・操作・管理をリレーショナルデータベース管理システム(RDBMS)というソフトウエアに任せています。そして、データの操作や管理には、問い合わせ言語の「SQL」を使用しています。
 一方、ユニケージでは、データの保存にテキストファイルを利用します。入力されたデータはほぼそのままの状態で保管し、最新のデータを抽出できるような工夫が加えられています。データの操作や管理には、UNIX系OSやLinuxに備わっている標準のコマンドおよび、基本的なデータ操作のための独自コマンド(usp Tukubai)を使います。
 データベースエンジニアにとって、ユニケージにおけるデータの扱い方や操作・管理方法は特殊に見えます。しかし、ユニケージのやり方は、一般的な業務処理や業務システムに対して多くの利点があります。
 ユニケージの開発元であるユニバーサル・シェル・プログラミング研究所では、データベースエンジニアやシステムエンジニア、または企業のシステム管理者がユニケージ開発について学べるようにさまざまな教育を用意しています。まずは教育講座「速習・SQLからの移行編」を基に、SQLによるデータ操作がユニケージではどのように実現されているのかを数回に分けて解説します。第1回は、ユニケージのファイル管理です。

ユニケージとは

 ファイル管理を紹介する前に、ユニケージの特徴をまとめておきます。ユニケージは、UNIX系OSやLinuxなどのOSの基本機能を使いこなして、企業システムを構築する手法です。主なプログラムをシェルスクリプトで開発し、データの保存や管理にはテキストファイルを用います。テキストファイルで管理するといってもデータの永続性を保証する「CRUD」(Create Read Update Delete)はユニークな方法で実現しています。
 RDBMSやフレームワークを使う一般的なシステムに比べて、ユニケージで開発したシステムは次のような利点があります。

(1)データ管理の仕組みが簡単なため、参照中心のシステムなどではデータ処理の高速化が期待できる。
(2)スクリプトとして処理速度がネックになる部分には独自コマンドを用意し、データを逐次処理しているため、業務処理に対する高速化が期待できる。
(3)システムすべてをテキストベースのファイルで開発しているため、プログラムのデバッグだけでなく、データ自体のデバッグがやりやすい。また、スクリプトによりすぐに修正や確認ができる。
(4)RDBMSやフレームワークに頼らないため、型にはまらない、思い切ったシステム設計やパフォーマンス改善ができる。
(5)業務という単位で処理を単一のスクリプトにまとめているため、構造が分かりやすく動作も調べやすい。

 ただし、ユニケージでシステムを開発する場合に他の開発手法に比べて、次の点が重要です。

(1)データの配置やレイアウト、ワークフローなどでシステムの性能や設計難易度が変わるため、データを扱う深い知識が必要である。
(2)データをストリーム(流れ)で逐次処理するような設計に慣れておく必要がある。
(3)データに対する排他制御などの仕組みは、自身で用意しなくてはいけないのでシステム設計に対するさまざまな知識が必要である。
(4)不用意なバグの発生を防いだり、高度なパフォーマンス改善を実施したりするには、OSやハードウエアの知識が不可欠である。

 シェルスクリプトとテキストファイルでシステムを開発できるといった、誰でも始めやすいユニケージですが、ユニケージ流のやり方を身に付けないと失敗します。

RDBMSとユニケージのデータ管理・処理の違い

 通常、RDBMSではデータベース内のテーブルでデータを保存・管理し、標準化された問い合わせ言語のSQLを使ってアクセスして更新や検索などのデータ処理を実施します(図1)。一方、前述したようにユニケージでは、テキストファイルにデータを保存し、シェルスクリプトを使ってデータを処理します(図2)。表1に示したように、ユニケージにはSQLの各文や句に相当するコマンドがいくつか用意されています。
 なお、ユニケージでは、データベースの管理するプログラムに相当するものがありません。「ulock」コマンドなどを用意していますが、基本的にはUNIX/Linuxのファイル管理機能を利用して排他制御などのデータ管理を実現しています。
 データベースの排他制御は、RDBMSにとっても重たい処理です。ユニケージではファイルに対する排他制御を使わずにデータの更新処理を実現しています。これについては、本連載で少しずつ触れています。

データ保存のファイル形式

 ユニケージでは、次の3種類の形式でデータをテキストファイルに保存しています。

(1)フィールド形式 … フィールド(列)に分けてデータを保存する(図3)
(2)タグ形式 … 1行目にデータの項目名が並び、2行目以降にデータをフィールドごとに分けて保存する(図4)
(3)ネーム形式 … 1列目に項目名が並び、2列目以降にデータを分けて保存する(図5)

 実際のシステムでは(1)のフィールド形式でデータを保存することが多いといえます。ただし、本連載ではRDBMSとの比較が分かりやすいように、(2)のタグ形式を扱います。
 前述したように、タグ形式は1行目にデータの項目名が並びます。2行目以降が実際のデータです。項目ごとのデータは、一つの半角スペースで区切られています。項目名やレコード(行)の長さに制限はありません。
 シェルスクリプトやファイルの特性上、「int」や「date」といったデータ型は存在しません。「1.23」のような浮動小数点や、「2022/10/25」のような日付も単なる文字列として扱われます。型はないですが、ユニケージでは文字列を数字や日付として演算するための独自コマンドを用意しています。

データ更新処理

 ユニケージでは、基本的に図6のようなコマンドでテキストファイルを加工してデータの更新を実現します。入力ファイルとしてデータを保存したテキストファイルを渡し、コマンドで加工後にその結果を別のテキストファイルに出力します。この出力ファイルから更新後のデータが取得できるわけです。

 このような処理を実施する場合にいくつかの注意点があります。まず、入力ファイルのサイズが100Gバイトあれば、加工後の出力ファイルも同じサイズになる可能性があります。データを絞り込んで処理しない限り、それだけの領域を確保しなくてはいけません。また、データ加工時にはストレージからのファイルの読み込みと書き込みが発生します。そのため、ファイルI/Oがボトルネックなって期待していた性能が出ないことが考えられます。
 よって、RDBMSよりもデータを保存するテキストファイルには工夫が求められます。例えば、商品マスターであれば、キーとなる「商品コード」(CODE)と各項目(NAME、PRICE、VENDOR、ATTR1、ATTR2、ATTR3)を横に並べた1ファイルよりも、キーと項目を1対ずつセットにしたファイル群の方が一つのファイルサイズを小さくできます(図7)。ちなみに、このようにキーバリュー形式のデータファイルを、ユニケージでは「分割マスター」と呼んでいます。

 このように、ユニケージでは一つのレコードに多くの項目を持つよりも不要な項目を削り、区分別にファイルを用意するなどの工夫が必要です。ファイルの数は増えても、ファイル内の項目数を減らすことで効率に処理できるといった特徴があります。

ファイルにはマスターとトランザクションがある

 RDBMSでは、データベース内のテーブルにデータを保存しています。基本的にほとんどのテーブルはマスターとして扱われます。ユニケージでは、入力ファイルか、出力ファイルか、マスターとして保存するファイルか、一時ファイルかなどの利用目的の違いを常に意識しなくてはいけません。特に、「マスター」と「トランザクション」という名前で性質の違うファイルを分けています。
 マスターと呼ばれるファイルは、前述の分割マスターのように各レコードが行頭のキーとなるユニーク(唯一無二)なコードによって識別できます。その後に項目ごとの値(バリュー)が並びます(図8)。このマスターの特徴は次のようになります。

・キーが昇順に整列されている
・キーがユニークである
・キーがレコードの一番左側に配置する

 一方、トランザクションと呼ばれるファイルは、随時発生する情報(データ)をレコード単位にまとめたものです(図9)。例えば、次のような特徴があります。

・レコードを識別する明確なキーが存在しない
・時間の経過とともに随時レコードが増えたり減ったりする
・マスターにひも付くキーを左側に配置する
・項目ごとの値を右側に配置する
・キーはユニークとは限らない

 今後の連載でマスターやトランザクションが登場しますが、そのときまでにこれらの特徴を捉えておいてください。

 次回は、ファイルおよびデータ処理に必要となるコマンドと、実際にRDBMSからテーブルを取り出してユニケージで処理する例を紹介します。

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

※本記事は、シェルスクリプトマガジン Vol.81(2022年12月号)に掲載した記事からの転載です。

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

  • -->