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

test

Vol.62

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

 オープンソースでは人気が高いデータベース管理システム「PostgreSQL」。特集1では、このPostgreSQLの概要、WindowsやCentOSへのインストール方法、初期設定と基本操作、知っておきたい機能を解説しました。PsotgreSQLを初めて利用する人にも分かりやすい内容になっています。
 特集2では、本格的なAI(人工知能)を安価に試せるGPU「Jetson Nano」を扱いました。米NVIDIA社の無料オンライントレーニングを基にして、開発者キットの立ち上げ方からAIによる画像分類までを日本語で分かりやすく紹介しています。
 特別企画では、無料の基本ソフト(OS)であるLinuxについて、やさしく解説しました。この企画で「Linuxとは何か」「どう使うのか」を基本からしっかり理解してください。
 このほか、ラズパイセンサーボードに接続した4桁の7セグLEDの制御、Pythonの制御構文、次世代データサイエンス言語「Julia」、MySQL Shellの運用管理ユーティリティなどを連載で紹介しています。
 今回も読み応え十分のシェルスクリプトマガジン Vol.62。お見逃しなく!

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

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

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

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

著者:米田 聡

シェルスクリプトマガジンでは、小型コンピュータボード「Raspberry Pi」(ラズパイ)向けのセンサー搭載拡張ボード「ラズパイセンサーボード」を制作しました。第9 回では、I/Oエキスパンダに7セグメントLEDを四つ接続してセンターからの値を表示します。

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

図5 LEDを表示するライブラリ(led4digits.py)

図6 BME280からの温度を取得・表示するプログラム(sample.py)

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

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

筆者:宇野 光純

 前回に引き続き、Windowsアプリケーションとして動く簡単な2Dゲームの開発を紹介します。汎用プログラミング言語の「C++」と、オープンソースのパソコンゲーム開発用ライブラリの「DXライブラリ」を組み合わせることで、時間と労力は必要ですが、Unityなどのゲームエンジンよりも自由度の高いゲーム開発ができます。

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

図2 「Shot.h」ファイルに記述するコード

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

図4 「Object.h」ファイルに追加するコード

図5 「Player.h」ファイルに追加するコード

図6 「Player.cpp」ファイルに追加するコード

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

図8 「MainScene.cpp」ファイルに追加するコード

図10 「Info.h」ファイルに追加するコード

図11 「Info.cpp」ファイルに追加するコード

図12 「Object.h」ファイルに追加するコード

図13 「Player.h」ファイルに追加するコード

図14 「Player.cpp」ファイルに追加するコード

図15 「Enemy.h」ファイルに追加するコード

図16 「Enemy.cpp」ファイルに追加するコード

図17 「Shot.h」ファイルに追加するコード

図18 「Shot.cpp」ファイルに追加するコード

図19 「MainScene.cpp」ファイルに追加するコード

図20 「Info.h」ファイルに追加する コード

図21 「Info.cpp」ファイルに追加するコード

図22 「TitleScene.h」ファイルに 記述するコード

図23 「TitleScene.cpp」ファイルに記述するコード

図25 「ResultScene.h」ファイルに記述するコード

図26 「ResultScene.cpp」ファイルに記述するコード

図29 「Main.cpp」ファイルに追加するコード

図30 「MainScene.h」ファイルに追加 するコード

図31 「MainScene.cpp」ファイルに追加するコード

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

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

著者:飯尾 淳

 しばらくデータ分析の話題から遠ざかっているような気がしますが、 ちょっとしたトレーニングをするつもりで前回、前々回と同様にプログラミングの話を続けましょう。今回は、状態遷移図に基づくシステムの動作原理を考えます。最初に簡単なケースを考え、その後で少しブラッシュアップして仕様をアップデートします。
 ところで、状態遷移図は「GraphViz1」というツールで描画します。この連載のテーマである「バーティカルバー」(垂直棒または縦棒)を用いた表現も指定できますが、今回は縦横にこだわらず柔軟に表現してみましょう。

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

図2 メッセージ出力プログラム

図4 メッセージ出力プログラムの改良版(gangan2.py)

第10回 写真から場所を調べる

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

 スマートフォンで撮影した写真が増えてくると、いつどこで撮影したものなのかが分からなくなることもあるでしょう。ただし、心配は無用です。スマートフォンの多くは「GPS」(全地球測位システム)の半導体(チップ)を内蔵しています。この半導体から取得した位置(緯度・経度)および、撮影日などの情報を、写真データと一緒に保存しています。その情報を調べれば、いつどこで撮影されたものなのかがすぐに分かります。

 そこで今回は、写真データから撮影の日時や場所の情報を取り出して表示するシェルスクリプトを作成します(図1)。

図1 GPSから取得した位置情報を取り出して表示

仕様やロジックを考える

 それでは、仕様やロジックを考えていきましょう。写真データのファイルには「Exif」(Exchangeable image file format)という形式のメタデータ(データに付属するデータ)で、写真データのサイズ、撮影の日時や場所、撮影時のカメラの設定などの情報が保存されています。このExifデータは、端末などから画像データを操作できるソフトウエア「ImageMagick」の「identify」コマンドで取り出せます。

 例えば、図2の写真(IMG_0001.JPG)の撮影場所が分からないとします。

図2 iPhoneで撮影したどこかの池の写真(IMG_0001.JPG)

第9回 グローバルIPアドレスを通知する

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

 自宅のネットワークにリモートからアクセスしたい人もいるでしょう。その場合、自宅ネットワークの入り口に配置しているルーターに割り振られた「グローバルIPアドレス」を知らなくてはいけません。

 グローバルIPアドレスは、自宅内から次のコマンドを実行すれば確認できます。

 表示されたIPアドレスでアクセスすればよいのですが、常に同じIPアドレスとは限りません。通常、このIPアドレスは動的に変更されます。

 「ダイナミックDNS」というサービスを利用すれば、動的にIPアドレスが変わっても自宅ネットワークへ「ドメイン名」(ドメイン付きホスト名)でアクセスできます。ダイナミックDNSに関しては、Web連載「UbuntuではじめるLinuxサーバー」の「第10回 インターネットに公開する」を参照してください。ダイナミックDNSを使えば解決しますが、作業が面倒です。また、サーバーをインターネットに公開しているわけではないので特定のドメイン名を付ける必要はありません。

 そこで、ダイナミックDNSを使わずに自宅内からグローバルIPアドレスを監視して更新されたら通知するシェルスクリプトを作成します(図1)。

図1 グローバルIPアドレスを通知する

Vol.61

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

 約5年ぶりに企業向け有償Linuxディストリビューションのメジャーアップデート版「Red Hat Enterprise Linux 8」(RHEL8)が2019年5月リリースされました。RHELは、サーバーOSとして小規模なシステムから基幹系のような大規模なシステムまで、幅広く利用されています。
 特集1では、このRHEL8に関する概要や特徴、旧版利用者への注意点、情報入手方法をまとめました。開発元のレッドハットの技術者が自ら執筆していますので、RHELユーザーなら必ず読むべき特集記事です。
 2020年にプログラミング教育が小学校で必修となります。「何をすべきか分からない」と感じている人も多いようです。そのような人にお薦めなのが、教育向けシングルボードコンピュータ「BBC micro:bit」です。
 特集2では、このBBC micro:bitを利用したプログラミングとサンプルを紹介しています。ブロックを組み合わせるだけでプログラムが書けるので、プログラムが苦手な人、初めてのプログラミングする人にピッタリです。
 このほか、特別企画では700円くらいで買えるGPSモジュールの電子基板をパソコンから制御します。また、データベース管理システム「MySQL」の新クライアント「MySQL Shell」の入門連載を開始しました。
 今回も読み応え十分のシェルスクリプトマガジン Vol.61。お見逃しなく!

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

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

Vol.61 補足情報

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

漢のUNIX

p.92の1行目にある「透過」は「等価」の誤りです。お詫びして訂正いたします。

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

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

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

著者:しょっさん

ソフトウエアを正しく作るために、エンジニアたちはどんなことを知らなければならない でしょうか。実際のコードを使って、より良くしていくためのステップを考えてみましょう。第2回は、プロジェクトを開始するまでの準備を解説します。

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

図1 注釈を入れたプログラム

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

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

著者:宇野 光純

 今回は、Windowsアプリケーションとして動く簡単な2Dゲームの開発を紹介します。汎用プログラミング言語の「C++」と、オープンソースのパソコンゲーム開発用ライブラリの「DXライブラリ」を組み合わせることで、時間と労力は必要ですが、Unityなどのゲームエンジンよりも自由度の高いゲーム開発ができます。

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

図1 DXライブラリを使用する際の基本コード(Main.cpp)

図2 「Info.cpp」ファイルに記述するコード

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

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

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

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

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

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

図9 「MainScene.cpp」ファイルに記述するコード

図10 「MainScene.h」ファイルに 記述するコード

図11 コードを追加した「Main.cpp」ファイルの内容

機械学習のココロ(Vol.61掲載)

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

著者:石井 一夫

今回はディープラーニングのバリエーションとして、画像認識によく用いられる「CNN」(Convolutional Neural Network)と、自然言語処理によく用いられる「RNN」(Recurrent Neural Network)について紹介します。

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

図3 サンプルコードのCNN 定義部分(抜粋)

図7 サンプルコードのRNN 定義部分

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

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

004 レポート 新版の「Debian 10」を公開
005 レポート 新開発の汎用メモリーアロケータ
006 NEWS FLASH
008 特集1 Red Hat Enterprise Linux 8/森若和雄
018 特集2 micro:bitを動かそう/中田和宏
030 特別企画 GPSモジュールで遊ぼう/麻生二郎 コード掲載
037 姐のNOGYO
038 ラズパイセンサーボードで学ぶ 電子回路の制御/米田聡 コード掲載
041 Webアプリケーションの正しい作り方/しょっさん コード掲載
052 仮想現実/桑原滝弥・イケヤシロウ
054 MySQL Shellを使おう/梶山隆輔
062 中小企業手作りIT化奮戦記/菅雄一
068 バーティカルバーの極意/飯尾淳 コード掲載
074 香川大学SLPからお届け!/宇野光純 コード掲載
080 円滑コミュニケーションが世界を救う!/濱口誠一
082 機械学習のココロ/石井一夫 コード掲載
086 法林浩之のFIGHTING TALKS/法林浩之
088 漢のUNIX/後藤大地
094 ユニケージ新コードレビュー/坂東勝也
102 Techパズル/gori.sh
104 コラム「近未来に起こってほしいこと」/シェル魔人

特別企画 GPSモジュールで遊ぼう(Vol.61掲載)

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

著者:麻生 二郎

「NEO-6M」というGPS(地理情報システム)モジュールを搭載したアンテナ付き基板が数百円に 購入できます。この基板にUART-USB変換ケーブルを接続するだけで、パソコンから位置の情報を取得できます。最新のLinuxディストリビューションとシェルスクリプトで遊んでみましょう。

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

図13 GPSモジュールを利用するシェルスクリプト(gps_data.sh)

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

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

著者:飯尾 淳

 前回から、「GDHP」(Gniibe Distributed HanoiProtocol)というプロトコルでハノイの塔パズルを解き、それを可視化して確認しようという試みに挑戦しています。プログラムはJavaScript で記述し、「p5.js」というグラフィックスライブラリを利用します。
 前回は、初期状態の塔を積み上げるところまで完成させました。今回はアニメーションで実際に動作させ、GDHPでパズルが解けることを確認しましょう。

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

図1 向かい合う2本の塔を点滅させるコード

図3 draw()関数を修正する

図4 円盤を移動させる修正

図6 trun()関数

図7 終了条件を追加

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

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

著者:米田 聡

シルスクリプトマガジンでは、小型コンピュータボード「Raspberry Pi」(ラズパイ)向けのセンサー搭載拡張ボード「ラズパイセンサーボード」を制作しました。第8回では、前回I/Oエキスパンダ「MCP23017」で増やしたGPIO 端子に7セグメントLEDを接続して制御します。

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

図5 7セグメントLEDに数字を出力するクラスライブラリ(ssegled.py)

図6 テストスクリプト(count.py)

第8回 自動でアーカイビングする

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

 大容量のハードディスクやSSD(Solid State Drive)が安価に購入できても、パソコンやコンピュータ内のファイル整理は重要です。しかし、いざファイルを整理しようとして削除してもよいかどうか迷うものも多数あるでしょう。とりあえずは、まとめて圧縮することでアーカイブ(書庫)化して取っておくのがよいでしょう。

 そこで今回は、ファイルを自動でまとめて圧縮するアーカイビングのシェルスクリプトを作成します(図1)。

図1 ファイルをフォルダごとアーカイビング

第7回 DMを自動送信する(STARTTLS編)

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

 第6回では、「ダイレクトメール」(DM)を送信するときにメールサーバーへ接続するプロトコルとして「SMTPS」(SMTP over SSL/TLS)を用いました。もう一つ、安全にメールサーバーにメッセージを送信する著名なプロトコルとして「SMTP STARTTLS」があります。これは、完全に通信が暗号化されたSMTPSと違い、最初は平文で途中から暗号化するという通信方法が可能です。ちなみに、SMTPSでは「465」番のTCPポートを、SMTP STARTTLSでは「587」番のTCPポートを使用します。

 SMTP STARTTLSの場合、SMTPSとはアクセス方法が異なるので、シェルスクリプトの書き方が違います。そこで今回は、SMTP STARTTLSを対応したメールサーバーからDMを自動送信するシェルスクリプトを作成します(図1)。

図1 SMTP STARTTLS対応のメールサーバーからDM送信

第6回 DMを自動送信する(SMTPS編)

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

 電子メールで大量の「ダイレクトメッセージ」(DM)を送りたい場合、手作業よりも自動化しておくとよいでしょう。特に、相手ごとにメッセージの内容を少し変えて送信したいときには、自動化が不可欠です。

 そこで今回は、DMを自動送信するシェルスクリプトを作成します(図1)。

第5回 文書をPDF化する

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

 Microsoft OfficeやLibreOfficeなどのオフィスソフトで作成した文書を皆で閲覧可能にする場合、「PDF」(Portable Document Format)形式に変換しておけばよいでしょう。誤って書き換えてしまったりすることがなく、コメントなども付与できて便利です。最近のオフィスソフトには、PDFファイルへ変更する機能があります。また、印刷するときにPDFファイルに保存することも可能です。ただし、これらは自ら操作しなくてはいけません。

 そこで今回は、オフィス文書をPDF形式のファイルに自動変換するシェルスクリプトを作成します(図1)。

図1 オフィス文書をPDFファイルに変換

ラズパイセンサーボード向けソースコード集

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

シェルスクリプトマガジンとビット・トレード・ワンで共同制作したRaspberry Pi拡張ボード「ラズパイセンサーボード」のソースコード集です。雑誌と一緒にご活用ください。

ソースコードの入手先

2018年12月号(Vol.57)特集1「ラズパイでセンサーを扱う」
2019年2月号(Vol.58)連載「ラズパイセンサーボードで学ぶ 電子回路の制御」第5回
・2019年4月号(Vol.59)連載「ラズパイセンサーボードで学ぶ 電子回路の制御」第6回(コードなし)
2019年6月号(Vol.60)連載「ラズパイセンサーボードで学ぶ 電子回路の制御」第7回
2019年8月号(Vol.61)連載「ラズパイセンサーボードで学ぶ 電子回路の制御」第8回
2019年10月号(Vol.62)連載「ラズパイセンサーボードで学ぶ 電子回路の制御」第9回
2019年12月号(Vol.63)連載「ラズパイセンサーボードで学ぶ 電子回路の制御」第10回
・2020年2月号(Vol.64)連載「ラズパイセンサーボードで学ぶ電子回路の制御」第11回(コードなし)
・2020年6月号(Vol.66)連載「ラズパイセンサーボードで学ぶ電子回路の制御」第13回
2020年8月号(Vol.67)連載「ラズパイセンサーボードで学ぶ電子回路の制御」最終回


※関連記事掲載時に追加していきます。

※ラズパイ入門ボード向けソースコード集はこちら

「Visual Studio Code」を便利に使う(Vol.60掲載)

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

著者:あかね

 米Microsoft社発のオープンソースエディタ「Visual Studio Code」には「Extension」と呼ばれる機能拡張用のソフトウエアが多数提供されています。本連載では便利なExtensionの使い方を中心に紹介します。第3回は、Windowsの OS標準のCL(I シェル環境)「PowerShell」で記述したスクリプトをデバックするためのExtensionを紹介します。

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

図9 サンプルスクリプト(test.ps1)

図16 引数を必要とするサンプルスクリプト

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

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

著者:しょっさん

 ソフトウエアを正しく作るために、エンジニアたちはどんなことを知らなければならないのでしょうか。実際のコードを使って、より良くしていくためのステップを考えてみましょう。第1回は、動くソフトウエアとは何かを解説していきます。

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

図1 経費精算Webアプリケーション

特集1 ラズパイで電子回路の作成と制御(Vol.60掲載)

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

著者:麻生二郎

 電子回路を触ってみたい、作ってみたい、制御してみたいと思ったときに、人気の小型コンピュータボード「Raspberry Pi」(ラズパイ)と組み合わせるのが意外と簡単です。本特集では、市販のモジュールと、ラズパイを使って電子回路
の作成や制御を素早く実現する方法を紹介します。

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

図5 制御プログラム(bme280_sensor.py)

図8 制御プログラム(atd1602_lcd.py)

図11 制御プログラム(bh1750_sensor.py)

図14 制御プログラム(rain_sensor.py)

図17 制御プログラム(fire_sensor.py)

図20 制御プログラム(pir_sensor.py)

図26 制御プログラム(doorphone.py)

図28 制御プログラム(sound_sensor.py)

図31 制御プログラム(soil_sensor.py)

図34 制御プログラム(slope_sensor.py)

図38 制御プログラム(distance_sensor.py)

図42 制御プログラム(music_box.py)

Vol.60

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

 ラズパイのおかげで電子工作が身近になってきています。とはいえ、誰でもすぐに始められるわけではありません。特集1では、市販されている12種類の電子回路モジュールを使って、やさしく、そして簡単に、ラズパイで電子回路の作成と制御ができる方法を紹介しています。こんなセンサーがほしい、液晶パネルに文字を表示したい人も満足できる内容です。
 特集2では、Webアプリケーションのプログラミング言語「PHP」をやさしく解説しています。短い、簡単なコードを書きながら、データベース管理システムを利用したWebアプリケーションを作成していきます。
 特集3では、本格的な業務システムをシェルスクリプトで構築できる「ユニケージ開発手法」を紹介しています。なぜシェルスクリプトで業務システムが作れるのか、ユニケージ開発手法の専用コマンドのusp Tukubaiとは何か、テキストファイルを利用したデータ管理の仕組みなど、入門者にはぴったりの内容となっています。
 特別企画では、ソフトウエア開発における「コーディング」「ビルド」「実装」「テスト」という一連の作業を楽にする「ツールチェーン」を取り上げました。IBM Cloudにおけるツールチェーンの構築・利用方法を具体的に分かりやすく紹介しています。
 このほか、新連載「Webアプリケーションの正しい作り方」、人気連載の「ラズパイセンサーボードで学ぶ電子回路の制御」なども掲載しています。
 今回も読み応え十分のシェルスクリプトマガジン Vol.60。お見逃しなく!

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

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

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

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

著者:飯尾淳

 本連載の第5 回(Vol.51、2017 年12 月号)で、バーティカルバー(垂直棒)が3 本立っているという理由から「ハノイの塔」というパズルを取り上げました。今回は、そのときの考察を思い出しつつ、ハノイの塔を解くプログラムを再び考えます。
 ただし、今回は三つの塔を「上から見下ろした」状態、俯瞰(ふかん)で考えます。至ってシンプルなルールで解ける面白さを、動作の可視化プログラムを用いて確認してみましょう。

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

図3 sketch.jsを書き換えたコード 

図5 追加した描画に関するコード部分

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

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

004 レポート Windows Subsystem for Linux 2
005 レポート LibrePlanet 2019開催
006 NEWS FLASH
008 特集1 ラズパイで電子回路の作成と制御/麻生二郎 コード掲載
028 特集2 PHP超入門/柏岡秀男 コード掲載
038 特集3 ユニケージ開発手法入門/當仲寛哲 コード掲載
051 姐のNOGYO
052 特別企画 ツールチェーン/小薗井康志、川副博、古川正宏 コード掲載
074 ラズパイセンサーボードで学ぶ 電子回路の制御/米田聡 コード掲載
078 人間とコンピュータの可能性/大岩元
080 Webアプリケーションの正しい作り方/しょっさん コード掲載
088 close/桑原滝弥・イケヤシロウ
090 中小企業手作りIT化奮戦記/菅雄一
096 香川大学SLPからお届け!/山下賢治 コード掲載
101 「Visual Studio Code」を便利に使う/あかね コード掲載
106 円滑コミュニケーションが世界を救う!/濱口誠一
108 バーティカルバーの極意/飯尾淳 コード掲載
114 法林浩之のFIGHTING TALKS/法林浩之
116 機械学習のココロ/石井一夫 コード掲載
121 漢のUNIX/後藤大地
128 UNIXの歴史を振り返る/古寺雅弘
134 ユニケージ新コードレビュー/岡田健 コード掲載
136 Techパズル/gori.sh
140 コラム「令和はサバイバルの時代」/シェル魔人

特別企画 ツールチェーン(Vol.60掲載)

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

 著者:小薗井康志、川副博、古川正宏

 「コーディング」「ビルド」「実装」「テスト」という一連のソフトウエア開発作業を、「ツールチェーン」を使って、効率良く、そして楽にしてみませんか。クラウドサービス「IBM Cloud」が提供するツールチェーンで、その便利さを味わってみましょう。

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

図21 サンプルで用意されているテストスクリプト

特集2 PHP超入門(Vol.60掲載)

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

著者:柏岡秀男

 「PHP」(PHP: Hypertext Preprocessor)は、Webアプリケーションの開発によく使われているプログラミング言語です。本特集では、WindowsやmacOSにPHPプログラムの実行環境やWebサーバー、DBMSサーバーをインストールできる「MAMP」というソフトウエアを使って、PHPプログラミングを手軽に体験する方法を紹介します。これを機会にぜひPHPプログラミングを始めてみてください。

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

図1 現在時刻を表示するWeb ページをPHPで作成した例

図10 helloworld.php

図11 表示したWeb ページのソースコード

図12 sample1.php

図13 以下のサンプルコードの冒頭に付加するコード

図14 sample2.php

図15 sample3.php

図17 if 文の基本構文

図18 input.php

図19 sample_input.php

図20 sample_input2.php

図25 connect.php

図26 input.html

図27 add.php

図28 list.php

図30 list2.php

図31 update.php

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

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

著者:山下賢治

 今回は、Webブラウザでアクセスできる予定共有アプリの作成方法を紹介します。Webアプリケーションフレームワークの「Ruby on Rails」と、JavaScriptのライブラリである「FullCalendar」を組み合わせることで、マウス操作で予定の追加や変更が可能な予定共有アプリを手軽に作成できます。

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

図2 ルーティング設定

図3 アプリのViewを作成する手順

図5 ルーティング設定の変更

図6 登録データをJSON形式で取り出すコードを追加

図7 登録済みのデータを表示するコードを追加

図9 「app/assets/javascripts/application.js」のコード改造例

図10 「app/views/calendar/index.html.erb」ファイルに追加する記述

図11 「app/controllers/schedules_controller.rb」ファイルに追加する記述

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

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

著者:岡田健

 ユニケージでは、小さな道具の「コマンド」をシェルスクリプトで組み合わせて、さまざまな業務システムを構築しています。本連載では、毎回あるテーマに従ってユニケージによるシェルスクリプトの記述例を分かりやすく紹介します。第7回は、書き方のルールとなるお作法と分かりやすいコードの書き方について解説します。

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

図1 売上計算するシェルスクリプト

図2 awkによる長いコードが挿入されたシェルスクリプト

図3 在庫を扱うシェルスクリプトの先頭部分

図4 各種マスターを使って在庫に名称を挿入するシェルスクリプトの一部

図5 図4の修正版

特集3 ユニケージ開発手法入門(Vol.60掲載)

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

著者:當仲寛哲

業務システムを開発するときの選択肢として「ユニケージ
開発手法」があります。ユニケージ開発手法は、Linux/UNIX
のコマンドを基盤としたものです。「シェル魔人」と「りな」
の会話を通して、ユニケージ開発手法で業務システムがど
う作られるのかを理解しましょう。

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

図4 ユニケージ開発手法によるシェルスクリプトの記述例

図19 セールスレポートを作成するシェルスクリプト(demo)

図21 コメントを入れた例

図25 最新のレベル4を出力する

Vol.60 補足情報

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

目次

連載コラム「香川大学SLPからお届け!」の回のタイトルに誤りがありました。「バーコードリーダーを使って手軽なデータ収集システム」ではなく、「Ruby on RailsとFullCalendarで予定共有アプリを作る」です。 お詫びして訂正いたします 。

読者プレゼント

右上のQRコードが誤っていました。正しいQRコードは以下です。 お詫びして訂正いたします 。

姐のNOGYO

左上の別掲記事の「1998年」は「1989年」の誤りです。 お詫びして訂正いたします 。

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

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

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

著者:米田聡

 シェルスクリプトマガジンでは、小型コンピュータボード「Raspberry Pi」(ラズパイ)向けのセンサー搭載拡張ボード「ラズパイセンサーボード」を制作しました。第7 回では、I2C のインタフェースに接続するI/Oエキスパンダ「MCP23017」でGPIO 端子を増やす方法を紹介します。

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

図9 MCP23017のGPIOを読み書きするためのPythonライブラリ(mcpgpio.py)

機械学習のココロ(Vol.60掲載)

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

著者:石井一夫

 今回は、機械学習を実施する際に一番問題となる過学習の問題を取り上げます。過学習というのは、機械 学習のモデルが、ある特定の状況に過剰適合してしまい、新たなサンプルに対してうまく予測ができなくなるという現象です。

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

図5 L1 正則化を実施するコード

図6 過学習の評価結果を表示するコード

第4回 ファイルサーバーを作る

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

 インターネット上にあるサーバー以外で、最も利用されているのが「ファイルサーバー」です。「NAS」(Netowork Attached Storage)や「ネットワーク対応HDD」「ネットワークハードディスク」などとも呼ばれています。このファイルサーバーですが、Linuxパソコンがあれば比較的簡単に構築できます。
 そこで今回は、Linux上にファイルサーバーを構築するシェルスクリプトを作成しましょう(図1)。

図1 シェルスクリプトでファイルサーバーを構築

第3回 写真を整理する

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

 スマートフォンならいつでもどこでも気軽に写真を撮影できます。ただ、その気軽に撮った写真データのせいでスマートフォンのストレージ容量の空き容量が少なくなることがあります。また、新しいスマートフォンを買い換えるときは、多量にある写真データを移し変えることは困難です。これらの場合、写真データをパソコンなどにバックアップする人も多いでしょう。バックアップの際、ファイル名を書き換えることができると便利です。

 そこで今回は、パソコンに保存した写真データのファイル名を書き換えるシェルスクリプトを作成します。

第2回 コメント行を削除する

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

 LinuxやUnix系OSの設定ファイルを見てみると、「#」で始まる行が説明が書かれた「コメント」になります。ドキュメントを見なくても設定が記述できるように、複数行にわたったコメントを使って詳細に説明が書かれていることもあります。
 コメントはとても便利です。しかし、コメントとコメントの間にデフォルト(初期状態)の設定が書き込まれている場合、コメントが邪魔になることもあります。そこで、今回はデフォルトの設定をすぐに確認するための、コメント行を取り除くシェルスクリプトを作成します。

仕様やロジックを考える

 LinuxやUnix系OSの設定ファイルの多くは「/etc」ディレクトリの下に保存されています。いくつかの設定ファイルを開いてみると、前述したように先頭に「#」が付いた行がコメントになっています。よって、今回のシェルスクリプトでは、行頭が「#」を見つけて、その行を削除すればよいわけです。
 また、設定ファイルによっては空白行も残さない方が見やすい場合もあります。そこで、空白行を残す場合と残さない場合の両方の処理ができるようにします。

第1回 Amazonの商品ページURLをきれいにする

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

 シェルスクリプトなどのプログラムを作成する上で、とても重要なのは「ロジック」を考えることです。簡潔で最適なロジックを思いつくのは重要ですが、シェルスクリプトの場合は、いろいろ悩まずにLinux/Unix系OSのコマンドリファレンスなどを見ながらロジックが浮かんだら、すぐに書いてみることです。
 自分が使えればよいので、知っているコマンドを組み合わせるだけで構いません。無駄が多かったり、不思議な処理になっていたりしても正しく動けば問題ありません。とりあえず、完成させることが重要です。
 本連載で紹介するシェルスクリプトの例もその前提で記述しています。後からもっと簡単に書ける方法が思いついてもそのままにしています。

連載 シェルスクリプトを書いてみよう

投稿日:2019.04.2 | カテゴリー: コード
イラスト:ヨーダヒデキ

 シェルスクリプトは、Linux/Unix系OSのコマンドのみで記述できるプログラムです。さまざまな処理を簡単に記述でき、LinuxやUnix系OSの環境があれば、すぐに実行して試せるのでとても便利です。本連載では、役立ちそうなシェルスクリプトを紹介しながら、シェルスクリプトの書き方を説明していきます(隔週更新予定)。
 なお、シェルスクリプトを開発・実行するには、Linux/Unix系OSがインストールされたパソコンが必要です。例えば、「連載 UbuntuではじめるLinuxサーバー」の第1回第4回で紹介した方法でUbuntu Serverをインストールしたパソコンを用意できます。

記事中で紹介したシェルスクリプトのコードは、以下のページから入手できます(WordPressのバグなのか、何らかのパターンで「$」などの文字が消えてしまうことがありますのでシェルスクリプト自体はこちらから入手してください)。
https://github.com/shellscript-magazine/rensai_shellscript1

目次
第1回 Amazonの商品ページURLをきれいにする
第2回 コメント行を削除する
第3回 写真を整理する
第4回 ファイルサーバーを構築する
第5回 文書をPDFファイルに変換する
第6回 DMを自動送信する(SMTPS編)
第7回 DMを自動送信する(STARTTLS編)
第8回 自動でアーカイビングする
第9回 グローバルIPアドレスを通知する
第10回 写真から場所を調べる
第11回 大切なメールだけをチャットルームに送る
第12回 コマンドを作る
最終回 不正アクセスを通知する

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

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

004 レポート Homebrew 2.0.0リリース
005 レポート runcの脆弱性問題
006 NEWS FLASH
008 特集1 Linuxパーフェクトカスタマイズ/麻生二郎 コード掲載
020 特集2 AWS Lambdaを好きな言語で使おう/岡本秀高 コード掲載
028 特別企画 リレー式コンピュータプログラミング/若菜魁、入口雄也、八木武尊
036 ラズパイセンサーボードで学ぶ 電子回路の制御/米田聡
040 試み/桑原滝弥・イケヤシロウ
042 バーティカルバーの極意/飯尾淳
046 円滑コミュニケーションが世界を救う!/濱口誠一
048 中小企業手作りIT化奮戦記/菅雄一
056 法林浩之のFIGHTING TALKS/法林浩之
058 漢のUNIX/後藤大地
064 人間とコンピュータの可能性/大岩元
066 香川大学SLPからお届け!/竹原一駿 コード掲載
071 姐のNOGYO
072 UNIXの歴史を振り返る/古寺雅弘
078 Node.js/Expressで楽々Webアプリ開発/しょっさん コード掲載
089 ユニケージ新コードレビュー/坂東勝也 コード掲載
096 Techパズル/gori.sh
098 コラム「ユニケージお作法のココロ」/シェル魔人

Vol.59

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

 オープンソースのソフトウエアを組み合わせて、好みのOSが作れるのが「Linux」です。特に、好みに近いLinuxディストリビューションがあれば、それをカスタマイズするだけで自分だけのLinuxが作れます。特集1では、軽量で高速なLinuxディストリビューション「Lubuntu」をインストールメディアからカスタマイズして自分好みに仕立てる方法を紹介しています。
 特集2では、AWSのサーバーレスサービス「AWS Lambda」に追加された新機能「AWS Lambda Custom Runtimes」を扱っています。AWS Lambda Custom Runtimesが登場する以前は、サービスとして実行される「Lambda」関数は、Node.jsのJavaScriptやPython、Rubyで記述する方法しかありませんでした。AWS Lambda Custom Runtimesの登場により、言語環境となるランタイムを用意すれば、その言語でLambda関数を記述できるようになりました。
 特別企画では、1960年代に制作された国産リレー式コンピュータである「FACOM138A」のプログラミングに挑戦した大学生の奮闘記を紹介しています。
 このほか、「センサーボードで学ぶ 電子回路の制御」「姐のNOGYO」などの人気連載も掲載しています。

今回も読み応え十分のシェルスクリプトマガジン Vol.59。お見逃しなく!

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

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

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

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

著者:坂東勝也

ユニケージでは、小さな道具の「コマンド」をシェルスクリプトで組み合わせて、さまざまな業務システムを構築しています。本連載では、毎回あるテーマに従ってユニケージによるシェルスクリプトの記述例を分かりやすく紹介します。第6回は、仕入伝票処理システムを例に最新マスターを取得するコードをレビューします。

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

図11 伝票番号で並べ替え

図12 更新された仕入伝票を調べる

図13 指定月の仕入伝票の取得

図14 L1とL3のデータをマージ

特集2 AWS Lambdaを好きな言語で使おう(Vol.59掲載)

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

著者:岡本秀高

カンファレンス「AWS re:invent 2018」にて発表された新サービス「AWS Lambda Custom Runtimes」。これまではサポートをアナウンスした言語でしか「Lambda関数」を作成できませんでした。このサービスの登場により好きな言語で作成可能となりました。本特集では、AWS Lambda Custom Runtimesの使い方から、ランタイム(実行環境)を実際に作って利用するところまでを分かりやすく紹介します。

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

図3 bootstrapファイルの内容

図5 function.shファイルの内容

図6 template.yamlファイルの内容

Vol.59 補足情報

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

訂正・補足情報はありません。

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

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

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

著者:竹原一駿

USB接続のバーコードリーダーを用いてバーコード化されたデータを読み取り、その結果をサーバーに送って集計するデータ収集システムを開発しました。今回は、同システムについて紹介します。クライアントはGo、集計サーバーは主にPerlで記述しています。クライアントもサーバーもDocker環境で簡単に動かせますので、ぜひ試してみてください。

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

図8 バーコードリーダーで読み取ったデータを取得する関数

図9 意見を示す数値を文字列に変換するコード

図10 データを集計サーバーに送るためのコード

図11 HTTPサーバー機能を提供するMyWebServerパッケージの記述

図12 CGIで日本語を表示するための記述

図13 ハッシュ変数にサブルーチンのリファレンスを保存

図14 insertページを表示するコード

図15 analyページを表示するコード

特集1 Linuxパーフェクトカスタマイズ(Vol.59掲載)

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

著者:麻生二郎

Linuxには、「ディストリビューション」と呼ばれるさまざまな種類があります。しかし、その中から自分の好みに合ったものを見つけるのは意外と困難です。そこで、軽量なLinuxディストリビューション「Lubuntu」のインストールメディアをカスタマイズして、自分好みのLinuxディストリビューションを手に入れましょう。

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

図27 スライドショーの設定を書き換える箇所

Node.js/Expressで楽々Webアプリ開発(Vol.59掲載)

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

著者:しょっさん

プログラミング言語「JavaScript」の実行環境「Node.js」と「Express」フレームワークを使って、基本となるWebアプリの開発手法を習得しましょう。最終回は、サンプルの「蔵書管理アプリケーション」の課題を解決し、「SPA」(Single Page Application)として実装します。

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

図2 認証時にアクセストークンを発行する部分のプログラム

図3 URLへのアクセスしたときのアクセストークンの検査部分のプログラム

図4 カスタムコールバックを作成している部分のプログラム

図5 表現に合わせてJSON形式で返却する

図6 エラー画面をJSON形式に変更する

図7 テストコードを変更する

最終回 大切なデータを守る(ディレクトリーの暗号化)

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

 社内に設置したサーバーでは、ストレージやマシン自体の盗難に遭うこともあります。大切なデータを保存しているのなら、保存先のディレクトリーごと暗号化しておくのがお勧めです (図1) 。

図1 暗号化していれば中身が見られない

Vol.58

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

 インターネット上のサイトで欠かせないサーバーソフトウエアが、データを格納・管理する「データベース管理システム」です。特集1では、オープンソースのデータベース管理システムとして人気が高い「MySQL」を紹介します。入手方法、Linuxディストリビューション「CentOS」へのインストール方法だけでなく、データベースの核となる「ストレージエンジン」、運用管理やトラブルシューティングなどで重要な「ログ」、データベース処理で知っておきたい「トランザクション」や「ロック」に触れます。
 特集2では、小型コンピュータボード「Raspberry Pi」上で「IchigoJam BASIC RPi」による「BASIC」プログラミングを紹介します。BASICは、古くからある言語で、プログラミングの基本が学べます。子供から大人まで楽しめますので、親子で一緒にプログラミングを始めましょう。
 特別企画では、サイボウズの業務改善プラットフォーム「kintone」上で実用的な業務システムの「交通費申請システム」を作成します。入力フォームにテキストボックスやボタンなどの部品を配置し、簡単なワークフローを設定するだけなので、プログラムを一切書く必要はありません。無料のアカウントを登録すれば、すぐに試せます。
 このほか、「中小企業手作りIT化奮戦記」「センサーボードで学ぶ 電子回路の制御」などの人気連載も掲載しています。
 今月も読み応え十分のシェルスクリプトマガジン Vol.58。お見逃しなく!

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

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

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

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

著者:竹原 一駿
2018年秋に広島と香川で「オープンソースカンファレンス」(OSC)が開催されました。SLPは、両OSCでブースを出展し、OSC香川では3人の学生がライトニングトーク(LT)を行いました。今回は、これらの活動の内容や、それによって得られた体験などについて報告します。OSCへの一般参加や出展などを考えている読者の方の参考になれば幸いです。

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

図2 自作コンテナエンジンのソースコードの一部
unshareシステムコールによるLinux Namespaceの分離
fork/execシステムコールによるコンテナ内子プロセス生成
図5 「数字に隠された真実」のソースコードの一部
数値を1桁ずつ分解して、すべての和を求める関数
数値を1桁ずつ分解して、すべての積を求める関数
図9 サーバー監視システムのソースコードの一部

Vol.58 補足情報

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

Techパズル 第11回

「タテのカギ」の「18 現実」が抜けていました。お詫びして訂正いたします。

バーティカルバーの極意

p.73のタイトル部分の辰己先生の「己」が「巳」になっていました。お詫びして訂正いたします *

* 2019年1月25日に掲載した訂正情報にも誤りがあり、当該の先生にもご迷惑をおかけしたことをお詫び申し上げます。

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

Node.js/Expressで楽々Webアプリ開発(Vol.58掲載)

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

著者:しょっさん
プログラミング言語「JavaScript」の実行環境「Node.js」と「Express」フレームワークを使って、基本となるWebアプリの開発手法を習得しましょう。第4回は「蔵書管理アプリケーション」のサンプルプログラムで認証機能を実現す
る方法を解説します。

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

図3 「models/user.js」ファイルにLibrariesテーブルとの関係性を追記
図4 モデルファイル「models/library.js」の修正
図5 マイグレーションファイルの追記内容
図6 作成したseed(日付-demo-user.js)
図8 passportストラテジの定義
図9 セッション連携の関数「serializeUser」と「deserializeUser」
図10 ミドルウエアで認証済みか否かの判定
図11 テストコード(supertest-spec.js)の主要部分

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

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

シェルスクリプトマガジン Vol.58で掲載しているコードをまとめています。

プレゼント&アンケートページはこちら

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

004 レポート Linuxカーネル5.0
005 レポート Microsoft社のProject Mu
006 NEWS FLASH
008 特集1 オープンソースのデータベース管理システム MySQL入門/梶山隆輔
030 特集2 ラズパイでBASIC/土肥毅大、岡優樹、納富志津
040 特別企画 kintoneで作る交通費申請システム/佐山ウィリアム 明裕、ぺそ、檀原由香子
050 ラズパイセンサーボードで学ぶ 電子回路の制御/米田聡  コード掲載
055 姐のNOGYO
056 中小企業手作りIT化奮戦記/菅雄一
062 円滑コミュニケーションが世界を救う!/濱口誠一
064 「Visual Studio Code」を便利に使う/山本美穂
068 新年号/桑原滝弥・イケヤシロウ
070 バーティカルバーの極意/飯尾淳
076 法林浩之のFIGHTING TALKS/法林浩之
078 漢のUNIX/後藤大地
084 人間とコンピュータの可能性/大岩元
086 機械学習のココロ/石井一夫  コード掲載
092 Node.js/Expressで楽々Webアプリ開発/しょっさん  コード掲載
100 香川大学SLPからお届け!/竹原一駿  コード掲載
106 UNIXの歴史を振り返る/古寺雅弘
114 ユニケージ新コードレビュー/技術研究員
120 Techパズル/gori.sh
122 コラム「仕事座右の銘」/シェル魔人

機械学習のココロ(Vol.58掲載)

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

著者:石井 一夫
今回は、機械学習による2値分類の方法を紹介します。映画評論のテキストを好評価な内容か悪い評価の 内容かに分類するという例題のTensorFlowのチュートリアルマニュアルに沿って、2値分類のモデリングの定番である「ロジスティック回帰分析」について解説します。

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

図4 ライブラリのインポートとIMDBデータセットの取り込み
図5 IMDBデータセットの中身を表示するコード
図6 元の単語を表示する関数を定義するコード
図7 データをテンソル化するコード
図8 学習モデルを構築するコード
図10 モデルをコンパイルするコード
図11 訓練用データセットを分割するコード
図12 モデルの訓練用コード
図13 モデルの性能評価用コード
図14 損失のグラフを表示するコード
図16 精度のグラフを表示するコード

ラズパイセンサーボードで学ぶ電子回路の制御(Vol.58掲載)

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

著者:米田 聡
シェルスクリプトマガジンでは、小型コンピュータボード「Raspberry Pi」(ラズパイ)向けのセンサー搭載拡張ボード「ラズパイセンサーボード」を制作しました。第5回では、このボードを使った電子回路制御を取り上げます。具体的には、明るさ・近隣センサーに近づく物体の検出です。

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

図3 割り込みに対応したVCNL4020ライブラリ(VCNL4020.py)
図4 物体が近づいたら割り込みを発生させるサンプルプログラム(simpletest.py)

第27回 電源障害からサーバーを守る(UPS)

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

社内サーバーなどの運用管理で見落としがちなのが「電源」に対する保護です。安定した電圧や電流を常に供給しなければ、サーバーが不安定になって停止や故障しかねません。
安定した電源を確保するための重要なハードウエアが「無停電電源装置」(UPS:Uninterruptible Power Supply)です。UPSを用いると、電圧値や電流値が低下したときに補えたり、電源断が発生したときに自動シャットダウンでサーバーを安全に停止させたり、雷などによる異常な高電圧を防いだりできます(図1)。

図1 電源を保護する無停電電源装置(UPS)

今回は、このUPSをサーバーにつないでサーバーの電源を制御する方法を紹介します。管理するサーバーには、Ubuntu Server 16.04 LTSがインストールされているものとします。

第26回 アクセスを制限する(AppArmor)

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

コンピュータを守るセキュリティの仕組みとして「強制アクセス制御」(Mandatory Access Control)があります。強制アクセス制御では、「パーミッション」などで定められているOSの標準的な制限ではなく、ユーザーや実行プログラムに対してより厳しい制限を設定できます。

例えば、あるプログラムに対して、参照しかしないファイルへの書き込み、利用するはずがないファイルへのアクセス、関係がない別のプログラムの呼び出しを禁止できます(図1)。

図1 強制アクセス制御による制限

このような強制アクセス制御をLinuxで実現できるソフトウエアには、いくつかあります。Ubuntu Serverでは「AppArmor」というソフトウエアが標準で導入されていて、有効になっています。このAppArmorは、Linux OSの核となる「カーネル」のセキュリティフレームワーク「Linux Security Modules」(LSM)を使って実装しています。

Python標準モジュール9選(Vol.57掲載)

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

著者:降籏洋行、西川公一朗

Pythonには、豊富な機能を備える標準ライブラリが用意されています。しかし機能豊富すぎるが故に、初心者にとっては「この標準ライブラリモジュールは、実際の開発において、こういう時に役に立つ」という情報を探しにくかったり、リファレンスの説明だけだと使用方法をイメージしづらかったりします。本特集では、知っておくと役立つ便利な標準ライブラリモジュール9個を厳選して、その活用法を紹介します。

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

 

特集1 ラズパイでセンサーを使う(Vol.57掲載)

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

著者:米田聡、麻生二郎

シェルスクリプトマガジンでは、小型コンピュータボード「Raspberry Pi」のオリジナル拡張ボード第2弾として「ラズパイセンサーボード」を製作しました。サンプルプログラムで、搭載されている湿温度・気圧センサー、
ガスセンサー、照度センサーの使い方を紹介します。

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

Vol.57

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

シェルスクリプトマガジンでは、小型CPUボード「Raspberry Pi」のオリジナル拡張ボード第2弾として「ラズパイセンサーボード」を制作しました。このセンサーボードには湿温度・気圧センサー、ガスセンサー、明るさセンサーを搭載しています。特集1では、サンプルプログラムを基にしてラズパイセンサーボードの使い方を紹介します。

特集2では、プログラミング言語「Python」の標準ライブラリに含まれる便利で役立つモジュールを9個紹介します。機能が豊富なため、初心者には使い方が分からないものもあります。実際の活用方法を含めながら、分かりやすく解説します。

特集3では、注目のデザインアプリ「Adobe XD CC」を紹介します。Adobe XD CCは、UI/UXデザイン、プロトタイプ、共同作業ツールとして動作します。一部の制限はありますが、無料でも使えます。Adobe XD CCで次世代のデザインアプリを体験してみてください。

特別企画では、ユーザー企業向けにセキュリティ人材不足を解消する方法を解説します。どのような人材が必要なのか、どうすれば人材を育てられるか、アウトソースをどう活用すべきかなど、有益な情報を紹介します。

このほか、「1960年代から現在まで UNIXの歴史を振り返る」「Extensionで機能追加 オープンソースエディタ「Visual Studio Code」を便利に使う」という二つの新連載が始まりました。

今月も読み応え十分のシェルスクリプトマガジン Vol.57。お見逃しなく!

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

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

漢のUNIX(Vol.57掲載)

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

著者:後藤大地

これまで、JSONデータを読み込んで処理する方法を取り上げてきた。JSONデータをパースしながら処理する方法や、メモリー上に展開したJSONデータを、指定したフォーマットで出力する方法を解説した。今回も引き続き同じ「Jansson」ライブラリを使うが、JSONデータを読み込んで処理するのではなく、生成する方法を紹介する。

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

 

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

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

シェルスクリプトマガジン Vol.57で掲載しているコードをまとめています。

プレゼント&アンケートページはこちら

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

004 レポート LPI-Japanインタビュ
005 レポート 第34回のTechLION開催
006 NEWS FLASH
008 特集1 ラズパイでセンサーを使う/米田聡、麻生二郎 コード掲載
020 特集2 Python標準モジュール9選/降籏洋行、西川公一朗 コード掲載
038 特集3 Adobe XD CCに触れてみよう/湯口りさ、北村崇
052 特別企画 セキュリティ人材不足を解決する/園田道夫
058 c人間とコンピュータの可能性/大岩元
060 UNIXの歴史を振り返る/古寺雅弘
066 法林浩之のFIGHTING TALKS/法林浩之
068 スズラボ通信/すずきひろのぶ コード掲載
073 姐のNOGYO
074 バーティカルバーの極意/飯尾淳 コード掲載
080 RESEARCHES FOR FUTURE/飯尾淳
082 中小企業手作りIT化奮戦記/菅雄一
088 円滑コミュニケーションが世界を救う!/濱口誠一
090 「Visual Studio Code」を便利に使う/山本美穂 コード掲載
094 香川大学SLPからお届け!/飯國隆志 コード掲載
098 統合/桑原滝弥・イケヤシロウ
100 アジャイル開発 Let’s Practice!/熊野憲辰
104 Node.js/Expressで楽々Webアプリ開発/しょっさん コード掲載
112 漢のUNIX/後藤大地 コード掲載
122 ユニケージ新コードレビュー/村本禎実 コード掲載
128 Techパズル/gori.sh
130 コラム「世の中の流れとは別に」/シェル魔人

「Visual Studio Code」を便利に使う(Vol.57掲載)

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

著者:山本美穂

米Microsoft 社発のオープンソースエディタ「Visual Studio Code」には「Extension」と呼ばれる機能拡張用のソフトウエアが多数提供されています。本連載では便利なExtension の使い方を中心に紹介します。第1回は、PaaS「Azure App Service」と連携できるExtension です。

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

 

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

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

著者:飯尾淳

バーティカルバー(垂直棒)の集合体「バーコード」の読み取りに挑戦します。すでに、スマートフォンのアプリなどでは、カメラでバーコードを認識する機能が当たり前になっています。この機能を自前のアプリに組み込むことができれば、いろいろな応用が考えられそうです。そのためにも、まずは、バーコード写真を読み込んで認識する基本的な機能を実現してみましょう。

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

 

Vol.57 補足情報

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

特集1「ラズパイでセンサーを扱う」

p.14の下から12行目、p.17の下から5行目、図23のキャプションの「smaple.py」は「sample.py」の誤りです。

お詫びして訂正いたします。

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

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

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

著者:飯國 隆志

前回は、我々が開発した小規模利用向けプライベートPaaS「LiPP」の概要と環境構築手順を紹介しました。LiPPは、ユーザーが開発したアプリケーションをDockerコンテナ上にリリースする機能を提供します。またLiPPは、GitHubと連携して、リポジトリにpushしたアプリケーションを自動的にデプロイできます。今回は、前回構築したLiPP環境に、サンプルWebアプリをデプロイする手順を紹介します。

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

 

スズラボ通信(Vol.57掲載)

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

著者:すずきひろのぶ

前回は、Arduino IDEを使って、中国Espressif Systems社のSoC「ESP32」を搭載する開発ボード「ESP32-DevKitC v2」で動作するサンプルプログラムを作成しました。今回は、前回作成したサンプルプログラムを省電力化してみます。

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

 

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

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

著者:村本 禎実

ユニケージでは、小さな道具の「コマンド」をシェルスクリプトで組み合わせて、さまざまな業務システムを構築しています。本連載では、毎回あるテーマに従ってユニケージによるシェルスクリプトの記述例を分かりやすく紹介します。第4回は、Webブラウザからデータを参照・削除するためのサーバー側の処理です。

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

 

Node.js/Expressで楽々Webアプリ開発(Vol.57掲載)

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

著者:しょっさん

プログラミング言語「JavaScript」の実行環境「Node.js」と「Express」フレームワークを使って、基本となるWebアプリの開発手法を習得しましょう。第3回は「テストファースト」(最初にテストプログラムを作る)を意識したテストコードの作成方法を解説します。

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

第25回 アクセスを制限する(ACL)

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

一般的に、ファイルやディレクトリーへのアクセス制限には「パーミッション」を利用します。このパーミッションでは「所有者」「所有グループ」「その他のユーザー」に対して「読み出し」「書き込み」「実行」の権限(許可/禁止)しか設定できません。日々のサーバー運用管理において、もっと柔軟にアクセス制限を設定したい場合もあります。

ext4やXFSなどのファイルシステムには「ACL」(Access Control List)と呼ばれる、ユーザーやグループ単位でアクセスを制限する仕組みが用意されています(図1)。それを使うと、柔軟にアクセス制限を設定できます。

図1 パーミッションとACL

第24回 定期的にジョブを実行する(cron)

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

日々のサーバーの運用管理として、決まった時間、決まった曜日、決まった日にちに、ある処理(ジョブ)を実行するという作業はよくあります。Linuxには、そのような時間、曜日、日付を指定してジョブを自動実行するための仕組みの「cron」(クローンまたはクーロン)があります。

今回は、このcronを紹介します。cronでは、あらかじめ実行日時や曜日、ジョブとして実行するためのコマンドを記したファイルを用意しておきます。そのファイルの内容に従って、常駐プログラム(デーモン)「crond」が決められた日時や曜日に、指定されたコマンドを実行します(図1)。

図1 決まった日時や曜日にジョブを自動実行する「cron」

第23回 バックアップを取得する(増分と差分)

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

前回は「tar」コマンドによる基本的なバックアップ方法を紹介しました。紹介した方法は、バックアップ対象となるすべてのファイルやディレクトリーをアーカイブ化して一つのファイルに保存する「フルバックアップ」です。このフルバックアップは、毎日実施するバックアップには向きません。バックアップに時間がかかりますし、日々のアーカイブファイルには重複するファイルやディレクトリーが数多く含まれてバックアップデータが肥大化する恐れがあるからです。

日々のサーバー運用管理では、フルバックアップだけでなく、「差分バックアップ」(Partial backup)または「増分バックアップ」(Incremental backup)を併用します。それにより、バックアップ時間を短く、バックアップ保存先の容量を無駄なく抑えられます(図1)。

図1 日々のバックアップ

第22回 バックアップを取得する(tarコマンド)

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

サーバーの運用管理で日々のバックアップは重要な作業です。第7回第12回で説明したRAID(Redundant Arrays of Inexpensive/Independent Disks)のよるデータ保護では、操作ミスや不正アクセス、ウイルスなどによる、データの変更(改ざん)や消去を防げません(図1)。バックアップを併用することで、大切なデータがすべてなくなってしまう最悪の事態を避けられます。

図1 データの変更(改ざん)や消去に有効なのはバックアップ

サーバーのバックアップツールには、さまざまなものがあります。また、第6回で説明した、Linuxなどのストレージを柔軟に管理する仕組み「LVM」(Logical Volume Manager)のスナップショット機能を用いればバックアップの取得が可能です。

ただし、専用のバックアップツールを導入していない、LVMを利用していない環境でもバックアップを取得できるように、まずはLinuxが標準で備える「tar」コマンドによるバックアップ取得方法を知っておきましょう。

第21回 ログを収集する(rsyslogによる一元管理)

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

カーネルやシステムに関連するログを収集・制御するソフトウエア「rsyslog」は、1台のサーバーで複数のサーバーのログを一元的に管理する機能を備えています(図1)。

図1 複数のサーバーのログを一元管理

今回は、3台のサーバーを用意し、その中の1台をログ管理サーバーとしてログを一元的に管理してみます。なお、いずれのサーバーもOSとしてUbuntu Server 16.04 LTSが稼働しているものとします。

番外編2 Webブラウザーからサーバーへリモートアクセス

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

連載「UbuntuではじめるLinuxサーバー」の第4回で紹介しましたが、サーバーにリモートからアクセスする場合、アクセスする側のパソコンやMacに「SSHクライアントソフト」が必要です。主要なLinuxディストリビューションやmacOSなら、SSHクライアントとなる「ssh」コマンドが標準で導入されています。それを使えばよいでしょう。

しかし、Windowsでは「Tera Term」などのSSHクライアントソフトを導入しなくてはいけません。WindowsでもSSHクライアントソフトを導入せずにSSHクライアントソフトが使えると便利です。

そこで今回は、Webブラウザー「Google Chrome」の拡張機能として提供されているSSHクライアントの「Secure Shell Extension」を導入して、サーバーにリモートからアクセスする環境を構築します(図1)。

図1 Google Chromeの「Secure Shell Extension」によるリモートアクセス

Google Chrome(以下、Chrome)に一度だけこの拡張機能を導入・有効しておけば、Google Chromeを導入している別のパソコンからもサーバーへリモートアクセスがすぐにできます。

ラズパイ入門ボードで学ぶ電子回路の制御(Vol.56)

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

著者:米田 聡

シェルスクリプトマガジンでは、小型コンピュータボード「Raspberry Pi」(ラズパイ)のプログラミングが楽しめる拡張ボード「ラズパイ入門ボード」を制作しました。本連載では、ラズパイ入門ボードを使った電子回路制御を取り上げていきます。第4 回は、赤外線レシーバを扱います。

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

漢のUNIX(Vol.56掲載)

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

著者:後藤 大地

プログラムでJSONデータを自動処理する場合、フォーマットはどうでもよい。ただし、人間が読むとなると、フォーマットを変換して整理する必要がある。整理されていないJSONデータは、人間にはあまりにも読みにくいからだ。自分の読みやすいようにJSONデータを変換するコマンドといったものが、Janssonライブラリを利用すると簡単に開発できる。これが今回のテーマである。

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

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

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

著者:飯國 隆志

アプリケーションの開発やデプロイを容易にするPaaS(Platform as a Service)は非常に便利なサービスです。しかし、Google App Engineや、Herokuなどのパブリッククラウドサービスは、料金体系や学習コストの面から、サークルで利用するには難がありました。そこで、プライベートで構築できるPaaS「LiPP」を開発しました。今回から数回にわたってLiPPの利用方法を紹介します。

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

 

スズラボ通信(Vol.56掲載)

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

著者:すずき ひろのぶ

今回は、開発ボード「ESP32-DevKitC v2」の省電力モードに挑戦してみた奮戦記の前半部分です。プログラミング設定から、まずWi-Fiが動くまでの流れを追ってみます。次回は、省電力のためにDeep SleepやLight Sleepに移行した際にWi-Fiはどんな動作となるのかを試行錯誤した結果を紹します。

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

Node.js/Expressで楽々Webアプリ開発(Vol.56掲載)

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

著者:しょっさん

プログラミング言語「JavaScript」の実行環境「Node.js」と「Express」フレームワークを使って、基本となるWebアプリの開発手法を習得しましょう。第2回は「蔵書管理アプリケーション」を作成しながら、少し複雑なデータベースを扱う方法を紹介します。

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

 

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

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

シェルスクリプトマガジン Vol.56で掲載しているコードをまとめています。

プレゼント&アンケートページはこちら

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

004 レポート バッファローの新無線LANブランド
005 レポート パッケージ管理システム「Flatpak 1.0」
006 NEWS FLASH
008 特集1 Zabbix入門/寺島広大、田中敦
029 姐のNOGYO
030 特集2 「HCI」に乗り遅れるな!/羽鳥正明
038 特集3 Visual Studio Codeを使おう/山本美穂 コード掲載
048 特別企画 シェルスクリプトで作るTwitter bot/Piro(結城洋志) コード掲載
056 ラズパイ入門ボードで学ぶ電子回路の制御/米田聡  コード掲載
060 スズラボ通信/すずきひろのぶ コード掲載
064 機械学習のココロ/石井一夫 コード掲載
068 中小企業手作りIT化奮戦記/菅雄一
072 人間とコンピュータの可能性/大岩元
074 バーティカルバーの極意/飯尾淳 コード掲載
080 RESEARCHES FOR FUTURE/米澤拓郎
082 香川大学SLPからお届け!/飯國隆志 コード掲載
086 円滑コミュニケーションが世界を救う!/濱口誠一
088 漢のUNIX/後藤大地 コード掲載
096 法林浩之のFIGHTING TALKS/法林浩之
098 アジャイル開発 Let’s Practice!/熊野憲辰
102 Node.js/Expressで楽々Webアプリ開発/しょっさん コード掲載
110 ユニケージ新コードレビュー/村本禎実 コード掲載
116 統合/桑原滝弥・イケヤシロウ
118 Techパズル/gori.sh
120 コラム「世の中の流れとは別に」/シェル魔人

Vol.56 補足情報

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

目次

p.2の「雄大」は「広大」の誤りです。

Node.js/Expressで楽々Webアプリ開発

p.106の10行目にある「外部キー({{ foreignKey: ‘book_id’ })」は、「外部キー({ foreignKey: ‘book_id’ })」の誤りです。

ユニケージ新コードレビュー

p.110の注釈(*1)にある「https://github.com/shellscript-magazine/newcodereview/201810/」は、「https://github.com/shellscript-magazine/newcodereview」の誤りです。

p.112の本文の最終行にある「プロセスID-name」は「プロセスID-flg」の誤りです。

 

以上、お詫びして訂正いたします。

特別企画 シェルスクリプトで作る Twitter bot(Vol.56掲載)

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

著者:結城 洋志

つぶやき投稿サイト「Twitter」に自動でつぶやくBot「Twitter bot」を、Bash
のシェルスクリプトで作ってみましょう。このTwitter botは、日経Linuxで好評
連載中の人気まんが「シス管系女子」の著者である私自身が作成し、シス管系女子宣伝用アカウントでも利用しています。

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

 

機械学習のココロ(Vol.56掲載)

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

著者:石井一夫

今回は、人工知能プラットフォーム「TensorFlow」のインストール手順と、TensorFlow を使った機械学習と画像分析の一例を紹介します。TensorFlow をベースにした機械学習環境の構築や利用には、やや難易度の高い作業がかつては必要でした。しかし最近、ニューラルネットワークライブラリの「Keras」が開発されたことで、非常に楽になっています。

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

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

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

著者:飯尾 淳

本連載の第2 回(2017 年6 月号掲載)では、SNS(Facebook)のデータを分析しました。そこでは、投稿時間別のヒストグラムを作り、自分が何時頃によく投稿しているのかを考えてみました。今回は、バーティカルバー(垂直の棒)による代表的な表現に立ち戻り、再度、ヒストグラムを描いて分析してみましょう。分析の対象は、会議録です。国会議員による発言の状況を、ざっくりと捉えてみようという試みです。

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

Visual Studio Codeを使おう(Vol.56掲載)

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

著者:山本 美穂

高機能、クロスプラットフォームで最近話題になっている、米Microsoft 社
発のオープンソースのエディタ「Visual Studio Code」。その概要、導入方法、画面構成や基本操作、カスタマイズ、デバックなど、便利な機能を含めながらVisual Studio Code を紹介します。

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

 

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

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

筆者:村本 禎実

ユニケージでは、小さな道具の「コマンド」をシェルスクリプトで組み合わせて、さまざまな業務システムを構築しています。本連載では、毎回あるテーマに従ってユニケージによるシェルスクリプトの記述例を分かりやすく紹介します。第3回は、Webブラウザからデータを登録するためのサーバー側の処理です。

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

 

Vol.56

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

Linuxサーバーやネットワーク機器の運用管理に、それらを監視するツールは欠かせません。特集1では、有償の監視ツールにも劣らない多くの機能を有する「Zabbix」を取り上げました。Zabbixの導入方法や基本的な使い方、今秋にリリースされるバージョン4.0について分かりやすく紹介しています。
特集2では、企業ITインフラの新しいコンセプト「パイパーコンバージドインフラストラクチャ」(HCI)について分かりやすくまとめました。仮想化技術でハードウエアをシンプルにまとめたHCIの特徴を誰でも理解できます。
特集3では、Microsoft発のオープンソースエディタ「Visual Stuido Code」を紹介しました。バージョン管理システム「Git」と連携した導入方法、基本操作、カスタマイズ、デバッグなどを、多数の画面写真を使って解説しています。
特別企画では、日経Linuxで超人気のITまんが「シス管系女子」の筆者が、自らがシェルスクリプトで作ったTwitter Botを紹介しています。実際に「@sysadgirl_mint」で動いている本格的なものです。
このほか、「香川大学SLPからお届け!」では、独自開発の小規模利用向けプライベートPaaS(Platform as a Service)「LiPP」の使い方を紹介しています。好評連載の「ラズパイ入門ボードで学ぶ電子回路の制御」では、赤外線リモコンによるラズパイの遠隔操作を扱っています。シェルスクリプトマガジン特製の「ラズパイ入門ボード」を活用してください。

今月も読み応え十分のシェルスクリプトマガジン Vol.56。お見逃しなく!

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

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

第20回 ログを収集する(rsyslogのログメッセージ)

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

前回は、カーネルやシステムに関連するログを収集・制御するソフトウエア「rsyslog」によって、Ubuntu Server 16.04 LTSではどのような種類のログが取得されているのかを確認しました。また、rsyslogでログを取得して処理するためのルールの書き方も簡単に説明しました。
今回は、rsyslogによって出力されるログメッセージのフォーマットについて解説します。このフォーマットは「テンプレート」を使って、サーバー管理者が自由に変更できます。

図1 カーネル関連のログメッセージ

第19回 ログを収集する(rsyslogの設定)

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

前回は、カーネルやシステムに関連するログを収集・制御しているソフトウエア「rsyslog」の概要を紹介しました。その中で、「/etc/rsyslog.d/50-default.conf」の設定ファイルに、カーネルやシステムに関するログ出力のための設定が書き込まれていると説明しました。

今回は、このデフォルトで用意されている/etc/rsyslog.d/50-default.confの内容から、Ubuntu Server 16.04 LTSでは、どのようなログが取得されているのかを確認します(図1)。

図1 デフォルトのログ設定を確認する

第18回 ログを収集する(rsyslogの概要)

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

サーバーの運用管理で各種ログを収集することは重要です。Linuxでは「rsyslog」(https://www.rsyslog.com/)というソフトウエアでカーネルやシステムに関連するログを収集・制御しています(図1)。今回から、このrsyslogについて解説します。

図1 rsyslogによるログ収集

このrsyslogは、UNIXやLinux標準のログ転送およびログ取得の規格「syslog」に準拠しています。そのため、多くのLinuxディストリビューションで利用されています。

第17回 ネットワークの可用性を高める(チーミング)

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

複数のネットワークインタフェースを束ねて、一つのネットワークインタフェースとして扱う技術に「チーミング」(または「ボンディング」)があります。このチーミングには、帯域幅を広げる効果と、冗長化により可用性を向上させる効果があります(図1)。後者の可用性向上は、RAIDと同様にLinuxサーバーでは重要です。サーバーの運用管理の一つとして、チーミング方法を覚えておきましょう。

図1 チーミングの利点

ネットワークのプロトコルには「IPv4」と「IPv6」がありますが、広く利用されているIPv4でチーミングを設定する方法を紹介します。
今回もUbuntu Server 16.04 LTSをインストールしたサーバーを例にします。チーミングのためにネットワークインタフェースカードを二つ追加し、三つのネットワークインタフェースを搭載した状態としました。

第16回 複数のユーザーを効率良く管理する(有効期限の制御)

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

前回は、複数のユーザーを一括登録する方法を紹介しました。ユーザーの管理は、登録だけではありません。パスワードを頻繁に変えさせたり、ユーザーの利用期限を設定したり、一時的にログインを不可にしたりなど、登録後のユーザー管理の方が重要です(図1)。

そこで、今回は既存ユーザーに関する管理について紹介します。

図1 既存ユーザーの管理

第15回 複数のユーザーを効率良く管理する(ユーザー登録)

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

複数のユーザーでLinuxサーバーを共用する場合、個々のユーザーを効率良く管理することが重要です(図1)。ユーザーの一括登録、パスワード変更の義務付け、退社や退会などによるログイン自動停止などができると便利です。

図1 Linuxサーバーの運用管理としてユーザー管理は重要

そこ、Linuxサーバーにおけるユーザー管理方法を解説します。今回は、ユーザーの一括登録を紹介します。ここでも「Ubuntu 16.04 LTS」を例にします。

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

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

シェルスクリプトマガジン Vol.55のWeb掲載部分まとめです。

プレゼント&アンケートページはこちら

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

004 レポート テキストエディタ「Vim 8.1」公開
005 レポート トークイベント「TechLI ON」開催
006 NEWS FLASH
008 特集1 Linuxサーバー構築/麻生二郎 コード掲載
032 姐のNOGYO
033 特集2 IBM Cloud Functions を試す/小薗井康志、岸田吉弘、十川恵美、佐藤光太
048 特集3 GitHubの使い方/松浦隼人、水谷翔、鈴木順子
056 特別企画 仮想通貨マイニング/末安泰三 コード掲載
066 ラズパイ入門ボードで学ぶ電子回路の制御/米田聡 コード掲載
070 Node.js/Expressで楽々Webアプリ開発/しょっさん コード掲載
078 RESEARCHES FOR FUTURE/中村聡史
080 中小企業手作りIT化奮戦記 菅雄一
086 それプロのエバンジェリストから愛をこめて/山本美穂
088 漢のUNIX/後藤大地 コード掲載
098 人間とコンピュータの可能性/大岩元
100 バーティカルバーの極意/飯尾淳
106 法林浩之のFIGHTING TALKS/法林浩之
108 アジャイル開発 Let’s Practice!/熊野憲辰
112 機械学習のココロ/石井一夫
117 スズラボ通信/すずきひろのぶ
120 円滑コミュニケーションが世界を救う!/濱口誠
122 香川大学SLPからお届け!/山田昂平
128 ユニケージ新コードレビュー/伊藤和正 コード掲載
134 雲/桑原滝弥・イケヤシロウ
136 Techパズル/gori.sh
138 コラム「オールマイティーさを身に付けよう」/シェル魔人

Vol.55

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

Linuxやオープンソースに関連する技術者の需要が高まっています。特集1では、企業で人気のRed Hat Enterprise Linux(RHEL)のクローンOS「CentOS」による自宅サーバーの構築方法を解説しました。仮想化ソフト「Oracle VM VirtualBox」を用いてサーバーを構築しているので、Linux専用のパソコンやサーバー機を用意する必要はなく、気軽に始められます。
特集2では、米IBM社が提供する「IBM Cloud Functions」を扱いました、IBM Cloud Functionsは、最近話題のサーバーレス/マイクロサービスです。無料のアカウントを利用しての使い方、AIサービス「Watson」と組み合わせた実用的なアプリの作り方、導入事例を紹介しています。
特集3では、コードホスティングサービス「GitHub」のコラボレーション機能を中心に解説しました。また、そのほかの便利な機能もいくつか紹介しています。
特別企画は、仮想通貨のマイニング(採掘)です。専用のハードウエアを使うことなく、パソコンだけで採掘できる方法を紹介しました。
このほか、注目のサーバーサイド実行環境「Node.js」と「Express」フレームワークを活用するための新連載を開始しました。好評連載の「ラズパイ入門ボードで学ぶ電子回路の制御」では、OLEDへの画像表示を扱っています。シェルスクリプトマガジン特製の「ラズパイ入門ボード」を活用してください。

今月も読み応え十分のシェルスクリプトマガジン Vol.55。お見逃しなく!

※記事掲載のコードはこちら
※読者アンケートはこちら

第14回 ストレージの使用量を制限する(クオータの設定2)

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

前回は、ルートファイルシステム以外のファイルシステム(/home)に対して、ユーザーやグループのストレージ使用量を制限する「クオータ」の設定方法を紹介しました。今回は、ルートファイルシステムに対するクオータの設定です(図1)。ルートファイルシステムの場合、クオータが使えるようにするオプション、ユーザーやグループの設定ファイルの作成方法が異なります。今回も「Ubuntu Server 16.04 LTS」を例にします。

図1 ルートファイルシステムにクオータを設定する

Node.js/Expressで楽々Webアプリ開発(Vol.55掲載)

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

著者:しょっさん

プログラミング言語「JavaScript」の実行環境「Node.js」と「Express」フレームワークを使って、基本となるWebアプリの開発手法を習得しましょう。第1回は「MVC」(Model View Controller)で「見た目」と「ロジック」を分離したWebアプリの開発手順を紹介します。

記事本文掲載のシェルスクリプトマガジンvol.55は以下のリンク先でご購入できます。


 

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

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

著者:伊藤 和正

ユニケージでは、小さな道具の「コマンド」をシェルスクリプトで組み合わせて、さまざまな業務システムを構築しています。本連載では、毎回あるテーマに従ってユニケージによるシェルスクリプトの記述例を分かりやすく紹介します。第2回は、データを分割・保存した複数のテキストファイルの抽出や読み出しです。

記事本文掲載のシェルスクリプトマガジンvol.55は以下のリンク先でご購入できます。


 

もっと見る

新しい記事一覧へ戻る

  • -->