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
2.6k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
【老舗DBベンダーが毎月開催】Git/コンテナを使ってプログラミングコンテストで腕試し
DevSumi 2020 Summer(2020/7/21, 翔泳社開催)インターシステムズの発表スライドです。
InterSystemsJapan
July 21, 2020
More Decks by InterSystemsJapan
See All by InterSystemsJapan
InterSystems IRIS Data Platform で高度なデータ分析のための基盤を整備しよう
isjapan
0
1.1k
Other Decks in Technology
See All in Technology
SIer20年! 培ったスキルがスタートアップで輝く時
shucho0103
0
830
自律型AIエージェントは何を破壊するのか
kojira
0
150
Claude Code×Terraform IaC テンプレート駆動開発
itouhi
1
490
「エンジニア進化論」2028年の開発完全自動化、エンジニアはどう進化するか
cyberagentdevelopers
PRO
4
4.4k
個人最適 から 全体最適 へ AI情報共有会・AIギルド・AI-DLC で進める カンリーの組織展開
rfdnxbro
0
2.2k
ルールやカスタム機能、どう活かす?ハンズオンで体感するIBM Bobの出力コントロール
muehara
1
130
Agentic Web
dynamis
1
200
価格.comをAI駆動で全面刷新する ー 30年分の技術的負債を返し、次の30年の土台をつくる ー / AI Engineering Summit Tokyo 2026
tkyowa
53
59k
JSAI2026 オーガナイズドセッションOS-27「不動産とAI」趣旨説明 / JSAI2026 Organized Session OS-27 “Real Estate and AI”: Statement of Purpose
ykiyota
0
220
Disciplined Vibes: Scaling AI-Assisted Engineering
sheharyar
0
130
AGENTS.mdとSkillsで始めるAIエージェント活用
sonoda_mj
2
190
FDE という解 ― 暗黙知と明示知をつなぐ、伴走型エンジニアリング ―
otanet
0
130
Featured
See All Featured
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
390
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.7k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.5k
First, design no harm
axbom
PRO
2
1.2k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Discover your Explorer Soul
emna__ayadi
2
1.1k
A better future with KSS
kneath
240
18k
WENDY [Excerpt]
tessaabrams
11
38k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
Designing Powerful Visuals for Engaging Learning
tmiket
1
410
Java REST API Framework Comparison - PWX 2021
mraible
34
9.3k
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名 • 英語版、スペイン語版、日本語版で公開中 プログラミングコンテストを通して 世界の開発者と繋がることができます! コミュニティへのご参加 コンテストへのご応募
お待ちしております!
ありがとうございました