SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

【デブサミ2020夏】セッションレポート(AD)

プログラミングコンテストに挑戦を――効率の良いアプリケーション開発方法を実演【デブサミ2020夏】

【A-6】【老舗DBベンダーが毎月開催】Git/コンテナを使ってプログラミングコンテストで腕試し

  • このエントリーをはてなブックマークに追加

テンプレートの準備からサンプルの実行確認までを実演

 続いて飯島氏は、4月開催の「REST APIコンテスト」で使用した「RESTサーバ作成用テンプレート」を用いて、実行確認とコンテスト応募までの流れを紹介した。IRISの独自スクリプト、ネイティブ言語である「ObjectScript」を使用することで、データが存在する場所でRESTサーバが作成できる。

 まずテンプレートで準備されるのは、下図の緑のラインで囲まれた範囲だ。まずDockerでIRISのイメージをPullしてコンテナを開始する。その時、微細な初期設定も行うが、今回は「RESTディパッチクラス」と呼ばれるロジックのサンプルコードがあらかじめおかれた。また不変であるのが一般的だが、この中では簡単に試せるように「Sample.Person」というテーブル定義でデータが入れられるよう準備されている。

 図ではデータベースの中にテーブルとコードが同居していることを不思議に思われるかもしれないが、データも定義、ロジックも全てデータベースに収めるのがIRISの標準構造だ。また、データベースを利用するにはVSCodeなどと同様、ワークスペース相当のもの、仮想の作業の環境が必要になる。IRISの場合、ネームスペースといい、データベース名と同じ「IRISAPP」と名付けられる。

 この時点でサンプルコード、データの格納場所がそろい、さまざまなテストができるが、さらにRESTクライアントから接続する部分が必要になる。なおテンプレートにRESTクライアントは含まれていないため、コンテストでは新たに作成するのもよし、またサーバー側の機能をより開発する、新しいものを登録するのでも構わない。

 実演ではRESTクライアントとしてPostmanのツールを使用した。RESTでアクセスするためのベースURLがあり、IRISに接続してURLがきたらRESTサーバの機能が動く仕組みになっている。初期の設定の中で、Webアプリケーション定義ができる場所があり、その中でベースURLが来たらディスパッチクラスが動くように設定されている。そのため、コンテナを開始して環境が立ち上がったら、すぐに準備しているサンプルコードを動かせるというわけだ。

 そしてRESTディスパッチクラスを改良するためには、IDEが必要になる。その場合はVisual Studio Codeでつなげ、ソースコードを修正する必要がある。標準ではInterSystemsのネイティブ言語「ObjectScript」の操作ができないため、Extensionからの追加が必要となる。

 飯島氏はこれらを実演するため開発用テンプレートのコンテナを開始し、準備されているサンプルコードがIRISで動くまでをテストしてみせた。

テンプレートで準備されるRESTサーバ作成環境
テンプレートで準備されるRESTサーバ作成環境

InterSystems開発者コミュニティの日本語版が公開

 こうしてテンプレートを活用し、そのままコンテナを開始してプログラミングを行った後は、リモートGitにソースコードをPushしてInterSystems開発者コミュニティでアカウント作成を行い、Open Exchangeに移動してGitにPushしたアプリケーションを登録し、画面をリロードして応募ボタンを押すとコンテストへの応募が完了する。

 飯島氏は「コンテナの利用により、データベースだけでなく必要な開発言語やモジュールを含めた開発環境が簡単に準備できる。コンテストに限らず、開発/テスト環境についても、コンテナを再利用すれば準備時間が大幅に短縮でき、本当にやりたいことに専念する時間が増える」と語り、「ぜひとも、いつものデータベースの1つとしてInterSystems IRISを活用してほしい」と強調した。

 また7月16日には、開発者同士の交流の場である「InterSystems開発者コミュニティ」の日本語版が公開されている。インターシステムズからのイベント情報や技術情報などが提供される他、コンテストの告知はもちろん、「はじめてのInterSystems IRIS」としてセルフラーニングも用意されている。現在、英語版/スペイン語版が公開されていて、2020年6月時点で7177名の登録があり、日本語版が公開されることでますます増えることが予想される。

 飯島氏は「プログラミングコンテストなどを通じて、世界の開発者とつながることができる。ぜひともコミュニティに参加し、コンテストに応募をしていただきたい」と語り、セッションを終えた。

関連リンク

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
【デブサミ2020夏】セッションレポート連載記事一覧

もっと読む

この記事の著者

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/12696 2020/09/15 12:28

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング