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

test

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

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

著者:樋口 史弥

アプリケーションやサービスは、ユーザーの意見や技術状況に合わせた変更をしやすいように開発するのが理想的です。そうした開発を実現するための設計手法の一つが「クリーンアーキテクチャ」です。今回は、クリーンアーキテクチャを用いて簡単な匿名掲示板を作る方法を解説します。

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

図4 投稿削除機能を追加した場合のコード例

図6 単一責任原則に沿ったコードの例

図8 モジュールに依存したコードの例

図10 モジュールに依存したコードの例

図19 messageモジュールのコード

図20 投稿時刻やハンドルを付加する場合のmessageモジュールのコード

図21 ログイン機能を付加するためのuserモジュールのコード

図22 メッセージを投稿するというユースケースに対応するコード

図23 メッセージを保存するRecordMessageメソッドのコード

図24 mySQLHandler 構造体のdatabaseメンバーに所属するインタフェースの定義コード

図25 MySQLHandler インタフェースで定義されるExecute メソッドのコード

図26 匿名掲示板のMainコンポーネントのコード

図27 データの保存先を変更する際のMainコンポーネント書き換え箇所

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

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

著者:菅 雄一

筆者は2001年、PHP言語とOSS(オープンソースソフトウエア)データベース管理システムのPostgreSQLに出会った。それ以降、データベースが絡んだWebシステムを構築する際は、PHPとPostgreSQLを組み合わせて使っていた。しかし2021年に社内Web業務システムなどをレンタルサーバーに移行させた際には、PHPとOSSデータベース管理システムのMySQLを初めて組み合わせて使った。今回は、その移行作業について紹介する。

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

図1 自作のメール送信用関数の定義コード

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

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

著者:飯尾 淳

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

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

図1 「Hello World」に相当するシンプルなWebアプリのコード(app.py)

図4 ルーティングの記述を追加したWebアプリのコード

図5 パスパラメータを使うWebアプリのコードの例

図7 クエリーパラメータを使うWebアプリのコードの例

図9 メモ帳Webアプリのひな型コード

図10 データベースを使うメモ帳Webアプリのコード(その1)

図12 データベースを使うメモ帳Webアプリのコード(その2)

図14 テンプレートファイル「index.html」の内容

図15 テンプレートを使うメモ帳Webアプリのコード(その1)

図17 修正したテンプレートファイル「index.html」の内容

図18 テンプレートを使うメモ帳Webアプリのコード(その2)

Raspberry Piを100%活用しよう(Vol.78掲載)

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

著者:米田 聡

小型コンピュータボード「Raspberry Pi」(ラズパイ)向けにさまざまな拡張ボードが発売されています。その拡張ボードとラズパイを組み合わせれば、ラズパイでいろいろなことが簡単に試せます。第11回は、光の反射で物体との距離を調べるセンサー搭載の拡張基板を扱います。

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

図4 VCNL4010から値を読み出すPythonプログラム(sample.py)

特集1 ESP32とラズパイで作る本格IoT(Vol.78記載)

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

筆者:魔法少女

マイコン「ESP32」と小型コンピュータボード「Raspberry Pi」を使って本格的なIoT(Internet of Things、モノのインターネット)環境を構築してみましょう。本企画では、3軸の加速度センサーを用いて簡易地震計を作成し、リアルタイムに揺れをグラフで表示します。

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

図4 Eclipse Mosquittoの設定スクリプト(mosquitto_setting.sh)

図18 ESP32搭載ボートの起動時に無線LANに接続するプログラム(boot.py)

図19 パブリッシャのプログラム(main.py)

図24 ブスクライバとなるJavaScriptプログラムを含んだHTMLファイル(seismometer.html)

特集1 アプリケーション開発基盤 .NET(Vol.78記載)

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

著者:松井 恵一、木下 舜、上原 将司

デスクトップパソコンやモバイル、Web、クラウドなど、さまざまな環境で動作するアプリケーションを開発できる基盤が「.NET」です。昨年11月に初の長期サポート版となる.NET 6がリリースされました。本特集では、最新の.NET 6を含め、.NETについて分かりやすく解説します。

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

図13 Program.csファイルの中身

図14 C#で記述した、「Hello World」を表示するプログラムの例

図15 MyFirstDotnetApp.csprojファイルの中身

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

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

004 レポート OpenSSH 9.0/9.0p1リリース
005 レポート ゲームエンジンのUnreal Engine 5
006 製品レビュー マグカップ型電気鍋「Cook Mug」
007 NEWS FLASH
008 特集1 アプリケーション開発基盤 .NET/松井恵一、木下舜、上原将司 コード掲載
023 Hello Nogyo!
024 特集2 UMLを使い始めてみよう/森三貴
040 特別企画 ESP32とラズパイで作る本格IoT 簡易地震計/魔法少女 コード掲載
058 Raspberry Piを100%活用しよう/米田聡 コード掲載
060 Pythonあれこれ/飯尾淳 コード掲載
066 法林浩之のFIGHTING TALKS/法林浩之
068 中小企業手作りIT化奮戦記/菅雄一 コード掲載
072 ダークウェブ/桑原滝弥、イケヤシロウ
074 香川大学SLPからお届け!/樋口史弥 コード掲載
084 タイ語から分かる現地生活/つじみき
092 Bash入門/大津真
098 Techパズル/gori.sh
099 コラム「計画は全体を、問題は点を追求する」/シェル魔人

Vol.78

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

 世の中では、Windows/Linuxパソコン、Mac、スマートフォン、タブレット、Raspberry Piなどのさまざまなコンピュータが利用されています。通常、アプリケーションを開発する場合、CPUやOS、表示するディスプレイなどの動作環境の違いを意識したプログラミングをしなくてはいけません。
 そのような実行環境をあまり意識することなく、一つのソースコードからさまざまなコンピュータで動作するアプリケーションを開発できるのが、マイクロソフトが提供するアプリケーション開発基盤「.NET」です。以前は、実行環境に合わせて「.NET Framework」「.NET Core」「Xamarin」に分かれていましたが、.NET 5で.NETとして統合。昨年11月には、.NET初の長期サポート版となる「.NET 6」が提供されました。
 特集1では、この.NET 6を中心として、.NETの歴史や.NETを構成する主要な要素、.NET Frameworkと.NETの比較を解説し、サンプルを交えた.NETアプリケーション開発を解説します。
 システム開発の全工程をカバーする表現力を持ち、ISO(国際標準化機構)やJIS(日本産業規格)で規格化されている表記法に「UML」(統一モデリング言語)があります。UMLでは、さまざまな図を使ってシステムの仕様や設計情報などを表現します。特集2では、UMLの概要や活用する効果、よく使われる図について分かりやすく紹介します。
 特別企画では、マイコン「ESP32」と小型コンピュータボード「Raspberry Pi」を使って、簡易地震計を製作しました。Webブラウザ上に揺れをリアルタイムにグラフ表示します。
 このほか、今回から「製品レビュー」を開始しました。エンジニア向けに、便利で面白いグッズやサービスを多数紹介していきます。
 今回も読み応え十分のシェルスクリプトマガジン Vol.78。お見逃しなく!

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

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

Vol.78 補足情報

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

Raspberry Piを100%活用しよう

 「明るさセンサ拡張基板」(ADRSZLX)に搭載されている光学式センサーは、「VCNL4010」ではなく、「VCNL4020」でした。お詫びして訂正します。なお、記事内で利用している「Adafruit_VCNL40xx」ライブラリおよび、サンプルプログラムは、VCNL4020でも問題なく動作します。

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

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

  • -->