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

test

第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送信

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

  • -->