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

test

ユニケージ新コードレビュー(Vol.63掲載)

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

著者:岡田 健

ユニケージでは、小さな道具の「コマンド」をシェルスクリプトで組み合わせて、さまざまな業務システムを構築しています。本連載では、毎回あるテーマに従ってユニケージによるシェルスクリプトの記述例を分かりやすく紹介します。第10回は、グラフ可視化ソフト「Graphviz」を用いたグラフィカルなコード設計書の作成方法について解説します。

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

図1 粗利を計算するシェルスクリプト(Source1.sh)

図3 DOT言語で書かれた中間コード(Source1.dot)

Webアプリケーションの正しい作り方(Vol.63記載)

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

著者:しょっさん

ソフトウエアを正しく作るために、エンジニアたちはどんなことを知らなければならないでしょうか。実際のコードを使って、より良くしていくためのステップを考えてみましょう。第3回は、前回のプロジェクトの計画や方針に基づいて2回の開発サイクル(イテレーション)を回します。

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

図4 TypeScriptに書き換えたメインのプログラム(index.ts)

図5 TypeScriptで作成した自作のモデルファイル(expense.ts)

図6 トランスパイルオプションファイル(tsconfig.json)

図7 gulpfile.jsファイルの内容

図8 jest.config.jsの内容

図9 index.test.tsの内容

図11 super.test.tsファイルの内容

図13 .circleci/config.ymlファイルの内容

図14 書き換えたsuper.test.tsの内容

図15 index.tsファイルの内容

図16 login.tsファイルの内容

図17 payment.tsファイルの内容

図18 submit.tsファイルの内容

図20 分割後のindex.tsファイルの内容

図21 package.jsonファイルの内容

中小企業手作りIT化奮戦記

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

著者:菅 雄一

WordやExcel、PDFビューアなどで外字を含む文書を表示したり、外字を含む文章をメールで受信して閲覧したりすると、文字化けが起きる場合がある。今回は、私が長年、外字と向き合って格闘してきた話を書くことにする。

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

図4 CSSファイルに追加する記述

図5 独自外字を表示するためのHTMLファイルの記述例

漢のUNIX(Vol.63掲載)

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

著者:後藤 大地

Rustは、Mozilla Foundationが開発を支援している比較的新しいプログラミング言語だ。「マルチパラダイムシステムプログラミング言語」と呼ばれており、C/C++の代わりに利用できるプログラミング言語と言われている。C/C++のように見えるが、関数型プログラミングのパラダイムも織り込まれていて、かなり厳密なコーディングができるようになっている。本連載では、しばらく、このRustを取り上げていく。

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

図20 Hello Worldのコード

バーティカルバーの極意(Vol.63掲載)

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

著者:飯尾 淳

本連載は、「縦棒」(バーティカルバー)をキーワードにデータ処理や効果的なアルゴリズムについて考えるものです。ここ何回かバーティカルバーから離れて自由なテーマで論じ過ぎていたような気がするので、今回は初心に戻ってヒストグラムを用いたデータ分析の議論を紹介してみることにしましょう。
テーマは入力効率の問題です。普段、皆さんがお使いのキーボードによるタイピングとスマートフォンのフリック入力、はたしてどちらが効率的に入力できるのでしょうか?

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

図3 hoge hogeタイピングにおけるデータ送信部のコード

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

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

著者:清水 赳

 こんにちは、香川大学修士1年の清水です。2年ぶりの登板です。
 今回から2回にわたり、OSSのシステム監視ツール「Prometheus」と「Itamae」というプロビジョニングツールを使って、サーバー監視システムを構築する方法を紹介します。今回は、Prometheusの配備とサーバー稼働状況の簡単な可視化について解説します。

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

図5 「./cookbooks/prometheus/default.rb」ファイルに記述する内容

図6 「./cookbooks/prometheus/etc/systemd/system/prometh
eus.service」ファイルに記述する内容

図8 「./cookbooks/node_exporter/default.rb」ファイルに記述する内容

図9 「./cookbooks/node_exporter/etc/systemd/system/node
_exporter.service」ファイルに記述する内容

図10 「./cookbooks/prometheus/files/etc/prometheus/prome
theus.yml」ファイルの編集内容

センサーボードで学ぶ電子回路の制御(Vol.63掲載)

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

著者:米田 聡

シェルスクリプトマガジンでは、小型コンピュータボード「Raspberry Pi」(ラズパイ)向けのセンサー搭載拡張ボード「ラズパイセンサーボード」を制作しました。第10 回では、I2C 接続のモノクロ有機ELディスプレイをGroveコネクタにつなぎ、ラズパイセンサーボードだけでセンサーから情報をディスプレイ上に表示します。

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

図6 有機ELディスプレイに日本語を表示するためのライブラリ(OLED.py)

図7 BME280のデータを表示するサンプルプログラム(sample.py)

特別企画 PartiQLをはじめよう(Vol.63記載)

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

著者:岡本 秀高

米Amazon Web Services(AWS)社が2019年8月に発表した「PartiQL」は、RDBだけでなくKVSやJSONデータ、CSVデータに対しても問い合わせが可能な便利なクエリー言語です。文法はSQLのサブセットになっていて、SQLを知っている人であればすぐに使えます。PartiQL対応の実サービスも提供され始めた今、この新しいクエリー言語を始めてみましょう。

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

図13 「sample.csv」ファイルの内容

図15 項目名を追加したCSVファイル「with_header.csv」の内容

図20 生成されたCSVファイル「out.csv」の内容

図22 生成されたAmazon Ion形式ファイル「out.ion」の内容

特集1 古いラズパイの活用術(Vol.63記載)

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

著者:麻生 二郎

小型コンピュータボードの最新機種「Raspberry Pi 4 Model B」が国内で発売できる状態になりました。Raspberry 4 Model Bは、高機能かつ高性能なハードウエアです。このラズパイが登場することでラズパイの適用範囲が広がりますが、同時に古いモデルが不要になります。いらなくなったラズパイを有効利用する三つの方法を紹介します。

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

活用例1

図5 DMを一斉送信するシェルスクリプト(raspi_dm.sh)

図6 送信メッセージのテンプレートファイル(message.txt)

図7 送信先のメールアドレスと、個別に書き換えたい情報を保存し
たタブ区切りテキストファイル(sendlist.txt)

活用例2

図11 受信メッセージをLINEに転送するシェルスクリプト (raspi_mail_line.sh)

活用例3

図5 エアコン制御のシェルスクリプト(raspi_aircon)

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

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

004 CentOS 8とCentOS Stream公開
005 東京ゲームショウ2019開催
006 特別レポート ハル研究所から超小型PC-8001
008 NEWSFLASH
010 特集1 古いラズパイの活用術/麻生二郎 コード掲載
026 特集2 5Gで広がるモバイルの世界/酒井尚之、安藤高任
035 姐のNOGYO
036 特別企画 PartiQLをはじめよう/岡本秀高 コード掲載
043 ラズパイセンサーボードで学ぶ電子回路の制御/米田聡 コード掲載
046 円滑コミュニケーションが世界を救う!/濱口誠一
048 香川大学SLPからお届け!/清水赳 コード掲載
054 法林浩之のFIGHTING TALKS/法林浩之
056 バーティカルバーの極意/飯尾淳 コード掲載
062 漢のUNIX/後藤大地 コード掲載
070 virus/桑原滝弥・イケヤシロウ
072 MySQL Shellを使おう/梶山隆輔
079 中小企業手作りIT化奮戦記/菅雄一 コード掲載
084 Webアプリの正しい作り方/しょっさん コード掲載
098 ユニケージ新コードレビュー/岡田健 コード掲載
102 Techパズル/gori.sh
104 新しい風が吹いてくる/シェル魔人

Vol.63

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

 人気の小型コンピュータボードの最新版「Raspberry Pi 4 Model B」の国内販売開始が間近にせまっています。Raspberry Pi 4 Model Bは高機能、高性能で、ラズパイの用途が広がることは間違えありません。Raspberry Pi 4 Model Bを購入すると、古いラズパイが不要になるでしょう。そこで、特集1では、シェルスクリプトを用いて、不要になったラズパイを活用する方法を紹介します。メールの一斉配信や転送、エアコン制御を自動化できます。
 2020年に5G(第5世代移動通信方式)の本格サービスが開始します。この5Gによって、無線でつながるあらゆるモバイル環境が大幅に刷新されます。特集2では、5Gの概要や仕組み、5Gが実現する世界について解説します。
 特別企画では、米Amazon Web Services(AWS)社がオープンソースで公開した、データベース問い合わせ言語「SQL」互換の「PartiQL」を紹介します。PartiSQLは、RDB(リレーショナルデータベース)のみならず、JSON(JavaScript Object Notation)データやCSV(カンマ区切りテキスト)ファイルなどに対しても問い合わせが可能です。
 このほか、緊急レポートでは、小型PC-8001の「PasocomMini PC-8001 PCGセット」なども扱っています。
 今回も読み応え十分のシェルスクリプトマガジン Vol.63。お見逃しなく!

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

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

Vol.63 補足情報

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

目次

p.3の連載「MySQL Shellを使おう」の記事タイトル「第3回 MySQL Shellのサーバー運用管理ユーティリティ」は、「第3回 MySQL X DevAPIとドキュメントストア(その1)」の誤りです。お詫びして訂正いたします。

読者プレゼント

p.9の「応募期間」にある「2019年11月25日~2019年1月20日」は「2019年11月25日~2020年1月20日」の誤りです。お詫びして訂正いたします。

MySQL Shellを使おう

p.72の記事タイトル「第3回 MySQL Shellのサーバー運用管理ユーティリティ」は、「第3回 MySQL X DevAPIとドキュメントストア(その1)」の誤りです。お詫びして訂正いたします。

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

第12回 コマンドを作る

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

 前回、「日本語の文字列をURLエンコーディング」できる適当なコマンドがなく、プログラミング言語「Python」でURLエンコーディングの処理を記述しました。シェルスクリプト内に別のプログラミング言語の記述があるのは、違和感があり、またコードも読みにくいでしょう。

 そこで、URLエンコーディングの処理をコマンド化し、シェルスクリプトと別の言語のプログラムを混在させないようにします(図1)。このように、よく使う処理をコマンド化することで、別のシェルスクリプトからも利用できます。

図1 よく使う処理をコマンド化

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

  • -->