Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
【老舗DBベンダーが毎月開催】Git/コンテナを使ってプログラミングコンテストで腕試し
Search
InterSystemsJapan
July 21, 2020
Technology
0
2.6k
【老舗DBベンダーが毎月開催】Git/コンテナを使ってプログラミングコンテストで腕試し
DevSumi 2020 Summer(2020/7/21, 翔泳社開催)インターシステムズの発表スライドです。
InterSystemsJapan
July 21, 2020
Tweet
Share
More Decks by InterSystemsJapan
See All by InterSystemsJapan
InterSystems IRIS Data Platform で高度なデータ分析のための基盤を整備しよう
isjapan
0
1k
Other Decks in Technology
See All in Technology
BidiAgent と Nova 2 Sonic から考える音声 AI について
yama3133
2
150
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
17k
Digitization部 紹介資料
sansan33
PRO
1
6.4k
「アウトプット脳からユーザー価値脳へ」がそんなに簡単にできたら苦労しない #RSGT2026
aki_iinuma
9
4.6k
Models vs Bounded Contexts for Domain Modularizati...
ewolff
0
120
投資戦略を量産せよ 2 - マケデコセミナー(2025/12/26)
gamella
1
630
スクラムを一度諦めたチームにアジャイルコーチが入ってどう変化したか / A Team's Second Try at Scrum with an Agile Coach
kaonavi
0
150
re:Invent2025 セッションレポ ~Spec-driven development with Kiro~
nrinetcom
PRO
2
170
_第4回__AIxIoTビジネス共創ラボ紹介資料_20251203.pdf
iotcomjpadmin
0
180
Redshift認可、アップデートでどう変わった?
handy
1
130
スクラムマスターが スクラムチームに入って取り組む5つのこと - スクラムガイドには書いてないけど入った当初から取り組んでおきたい大切なこと -
scrummasudar
2
1.8k
First-Principles-of-Scrum
hiranabe
3
1.7k
Featured
See All Featured
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
110
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.5k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
55
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
The Curious Case for Waylosing
cassininazir
0
200
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
65
35k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.1k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
First, design no harm
axbom
PRO
1
1.1k
Between Models and Reality
mayunak
1
160
What does AI have to do with Human Rights?
axbom
PRO
0
1.9k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
76
Transcript
【老舗DBベンダーが毎月開催】 Git/コンテナを使って プログラミングコンテストで腕試し インターシステムズジャパン株式会社 飯島美穂子 #devsumiA-6
2 1978年からデータベース一筋 新しい技術に対応しながら、42年間 変わらないコアテクノロジを持つ データベースを開発し続けています。
3
4 直近のコンテスト jp.community.intersystems.com/tags/contest コ ン テ ス ト 勝 者
に 賞 金 あ り ま す
5 本セッションの目標 コンテストでは、参加者にプログラミングを楽しんでいただけるよう 、開発環境のテンプ レートとして、コンテナを利用した開発環境作成手順をご提供しています。 本セッションでは、このテンプレートがどのように作成されているのかをご覧いただきな がら、プログラミングコンテストで 腕試し する準備を行っていただきます! •
テンプレートは、コンテスト以外の用途でも自由にご利用いただけます。 • 実演では、RESTサーバを作成するテンプレートを使用します。
6 毎月違うテーマのコンテスト 開催中! InterSystems IRIS Community Edition を利用した4月~12月までのコンテスト開催内容は 以下の通りです。 •
4月 REST API • 5月 Native API アプリケーション ― Native APIとは、Python/Node.js/Java/.NETからキーバリュータイプで操作できるアクセス方法 • 6~7月 AI/MLソリューション ― IRIS の AutoMLを利用する方法/IRIS から Python を実行できる PythonGateway を利用する方法 • 8月 FHIRアプリケーション • 9月 フルスタックアプリケーション ― IRISをデータサーバとして任意のフレームワークを利用してWeb/デスクトップ/モバイルUIを作成 • 10月 Interoperability(相互運用性)機能のアダプタ作成 • 11月 IRISを使用したマルチモデルソリューション • 12月 IRISを使用したInteroperability(相互運用性)ソリューション ≪準備その2≫ 4月開催分のRESTサーバ 作成用テンプレートを使用し、コンテ スト応募までの流れを実演します。 ≪準備その1≫コンテナを利用した開発 環境準備の例を図解でご説明します。 これからご応募いただけるコンテスト 日本からの最初の応募になるかもしれません!
7 ≪準備その1≫テンプレートで何が提供されるのか プログラミングコンテストでは、アプリケーションの開発に没頭いただけるよう、 短時間で簡単に開発環境の準備が行えるコンテナを利用した開発環境テンプレート をご用意しています。 ≪準備その1≫ テンプレートにより「何ができるか」をご確認いただくため、実際のコンテストで 利用していたテンプレートを例に、中身について解説します。 • 開催するコンテスト毎、テンプレートの内容は異なります。
8 6~7月開催コンテストテンプレート 提供内容 6~7月はAI/MLのソリューションを作る開催月でした。 ご応募いただくために最低限、以下の準備が必要です。 • 機械学習ができる環境(Python、R など)と使用するライブラリのインストール • データベースに接続するために必要なモジュールの準備
• データ提供元となるデータベース(InterSystems IRIS)の準備
9 コンテナを使わず最初から自分で全てを用意するのは 大変! 参加者にコンテストを楽しんでいただくため、具体的なコードの記述から始めていただけるよ うに、便利な開発プロセス(=Gitからテンプレートをダウンロードし docker イメージ pullし た後にコンテナ開始)を利用できるように、開発環境テンプレートをご用意しています。
10 6~7月開催コンテストテンプレート 図解 データベース (IRIS)用コンテナ Docker hub から InterSystems IRIS
Community Edition のイメージを pull Jupyterサーバ Tensorflow2.2 JDBC用Python3ライブ ラリ(JayDeBeAPI) を含んだコンテナ 参加者はブラウザからIRISの管理ツールや Jupyter Notebookにアクセスできます。 具体的なコード記述はテンプレート内の Jupyter Notebook を利用したり、お好みの 利用方法を選択したり自由です。 テンプレートの提供内容は開発環境 の土台のみ (=データベースとその他必要な言 語の実行環境/モジュールの準備)
11 ご参考:InterSystems IRIS Community Edition イメージ docker pull store/intersystems/iris-community:2020.2.0.211.0 docker
pull store/intersystems/iris-community-arm64:2020.2.0.211.0 docker pull store/intersystems/iris-aa-community:2020.3.0AA.331.0 ※ 2020年7月14日時点の情報 InterSystems で検索してください 無料!
12 テンプレート起動までの手順(コンテスト共通) 1、コンテスト告知ページで情報チェック 2、OpenExchangeでテンプレート情報確認 3、Gitからソースコードダウンロード 4、コンテナ起動 5、プログラミング、用意、はじめ!
13 gitから一式をダウンロードして 以下2コマンド実行するだけ! • docker-compose build • docker-compose up –d
コンテストの開催内容により テンプレートの中身は様々ですが 起動までの手順は全て共通です。 version: '3' services: irisimlsvr: build: context: ./iris-aa-server image: iris-aa-server:2020.3AA hostname: irisimlsvr restart: on-failure ports: - 8091:51773 # 51773 is the superserver default port - 8092:52773 # 52773 is the webserver/management portal port volumes: - ./iris-shared:/shared tf2jupyter: # tensorflow with jupyter build: context: ./tf2-jupyter-jdbc image: tf2-jupyter-jdbc:1.0.0-iml-template hostname: tf2jupyter restart: on-failure ports: - 8896:8888 # 8888 is the docker jupyter service port - 6026:6006 # 6006 is the tensorboard port volumes: - ./jupyter-samples:/tf #shared volumes ご参考:docker-compose.yml(6~7月開催分)
14 優勝作品のご紹介 5月 NativeAPIの会で優勝したブラジルのBanzaiさんの作品 • Python Native APIを使用してPythonとIRISを組み合わせ「機械学習チャットボット」を作成されました! ― チャットボットで会話したデータを
IRIS に格納し、機械学習のトレーニングデータとして利用しています。 • さらに、Pythonの便利なグラフ用ライブラリを使用してCOVID19チャートも作成されています。 ― グラフ用のデータは IRIS に格納しています。 コンテストへの応募作品は全てOpenExchangeページで公開されています
15 ≪準備その2≫ご応募までの実際の流れ シンプルなコンテストテンプレート使用してコンテナ開始から、事前に用意される サンプルコードを利用した実行確認と、コンテスト応募までの流れをご紹介します。 • 使用するテンプレートは過去の開催分です。 • 時間の関係でソースコードやイメージのダウンロードは事前に済ませています。 例では、4月開催のREST APIコンテストで使用したRESTサーバ作成用テンプレート
を使用します。 • IRISの独自スクリプト(ObjectScript)を使用することでデータが存在する場所でREST サーバが作成できます! Nativeの言語です
16 テンプレートで準備されるRESTサーバ作成環境 Docker Engine Docker コンテナ InterSystems IRIS Community Edition
ネームスペース(仮想の作業環境)=IRISAPP (IRISAPPデータベースを使用する設定あり) IRISAPPデータベース Sample.Person REST ディスパッチクラス RESTのベースURL /crud の設定 RESTクライアント (Postman) POST要求でSample.Person登録 localhost:52773/crud/persons/ GET要求でSample.Person全件取得 localhost:52773/crud/persons/all テンプレートで準備される内容 RESTクライアントはお好みの ツールをご利用ください テーブル(クラス)定義の作成やREST ディスパッチクラスの開発に利用 ObjectScriptのExtension追加が必要 IDE(VSCode)をご準備ください
17 実演内容と応募までの流れ 1、コンテナ開始 2、準備完了! 4、InterSystems 開発者コミュニティ でアカウント作成 3、リモートGitにPush 5、OpenExchangeに移動しGitにPushした アプリケーションを登録
「Send Approval」ボタンクリック 画面リロード後「Apply for Contest」ボタン クリック 応募 完了 ≪3、から応募の流れ≫
18 コンテナを利用することで環境作成が簡単に! コンテナの利用により、データベースだけでなく必要な開発言語やモジュールを含 めた開発環境が簡単に準備できます。 コンテストのテンプレートに限らず、よく利用する開発/テスト環境についても、 コンテナを再利用することで準備時間が大幅短縮できます。 •本当にやりたいことに専念する時間が増えます。 コンテストのテンプレートは全て公開しています。 • コンテストに限らず、自由にご利用いただけます。
• いつものデータベースの1つとして をぜひご利用ください!
19 コンテストの情報は? InterSystems 開発者コミュニティで公開しています。 jp.community.intersystems.com/tags/contest
20 InterSystems 開発者コミュニティ日本語版公開! 7月16日に日本語版コミュニティ( jp.community.intersystems.com )を公開しました! コミュニティでは、開発者同士の交流の場として技術的な質問&回答はもちろん、 インターシステムズからのイベント情報、技術情報、最新リリース情報を お伝えしていきます! •
コンテストの告知もコミュニティで行います!(contestタグ) https://jp.community.intersystems.com/tags/contest • 「はじめての InterSystems IRIS」セルフラーニングシリーズもあります!(beginnerタグ) https://jp.community.intersystems.com/tags/beginner 祝 ・ 公 開
21 現在のコミュニティ コミュニティ登録者数は2020年6月時点で 7,177名 • 英語版、スペイン語版、日本語版で公開中 プログラミングコンテストを通して 世界の開発者と繋がることができます! コミュニティへのご参加 コンテストへのご応募
お待ちしております!
ありがとうございました