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.4k
【老舗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
820
Other Decks in Technology
See All in Technology
プロダクト観点で考えるデータ基盤の育成戦略 / Growth Strategy of Data Analytics Platforms from a Product Perspective
yamamotoyuta
0
220
レイクハウスとはなんだったのか?
akuwano
15
2k
2025/1/29 BigData-JAWS 勉強会 #28 (re:Invent 2024 re:Cap)/new-feature-preview-q-in-quicksight-scenarios-tried-and-tested
emiki
0
310
Redmineの意外と知らない便利機能 (Redmine 6.0対応版)
vividtone
0
190
アーキテクチャわからん、の話
shirayanagiryuji
0
150
GraphRAG: What I Thought I Knew (But Didn’t)
sashimimochi
1
230
攻撃者の視点で社内リソースはどう見えるのかを ASMで実現する
hikaruegashira
4
2.1k
20250125_Agent for Amazon Bedrock試してみた
riz3f7
2
110
private spaceについてあれこれ調べてみた
operando
1
170
SREとしてスタッフエンジニアを目指す / SRE Kaigi 2025
tjun
15
6.5k
顧客の声を集めて活かすリクルートPdMのVoC活用事例を徹底解剖!〜プロデザ!〜
recruitengineers
PRO
0
200
Grafanaのvariables機能について
tiina
0
180
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
990
RailsConf 2023
tenderlove
29
980
Building an army of robots
kneath
302
45k
Documentation Writing (for coders)
carmenintech
67
4.6k
Bash Introduction
62gerente
610
210k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
220
How to Ace a Technical Interview
jacobian
276
23k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
How to Think Like a Performance Engineer
csswizardry
22
1.3k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
The Invisible Side of Design
smashingmag
299
50k
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名 • 英語版、スペイン語版、日本語版で公開中 プログラミングコンテストを通して 世界の開発者と繋がることができます! コミュニティへのご参加 コンテストへのご応募
お待ちしております!
ありがとうございました