スピーカー
|
トランスクリプト
|
| マイケル・エイカーマン |
クリスティー。 |
| クリスティスペイン |
おはようございます、マイケルお元気ですか。 |
| マイケル・エイカーマン |
大丈夫。 |
| クリスティスペイン |
すばらしいメールを閉じさせてください。届きません。 |
| マイケル・エイカーマン |
ええ、私はコンピューターの設定を合理化して、何もpingもしないようにしています。 |
| クリスティスペイン |
ツールバーに何をヒットしたかを知っていますか。 |
| |
私はすべてを持っていると思います。 |
| |
週末何をしましたか。 |
| マイケル・エイカーマン |
よかった、週末はどう? |
| |
良い。 |
| クリスティスペイン |
それで、あなたは暗闇に住んでいますか? |
| マイケル・エイカーマン |
ヘレンは私たちを待っています。 |
| |
ええ、本部にかなり近いので、実際の発見サミットに行くつもりでした。 |
| |
に直接出席します。 |
| |
それも残念でしたが。 |
| |
ええよねえ。 |
| クリスティスペイン |
こんにちはおはようございます、お元気ですか。 |
| ヨハン |
よくやっている。 |
| マイケル・エイカーマン |
ヨハンがいるように、後ろにエルダイトの壁を設置する必要があります。 |
| ヨハン |
私はクリックを入れました。 |
| |
これとそこにあるダニーの本なので、あなたは認識できません。 |
| クリスティスペイン |
いいね。 |
| |
先週の混乱をお詫びしますが。 |
| |
事実上お二人にお会いできてうれしいです。 |
| |
私はノヴァゾーンをサポートするプレミアチームの一員なので、とにかく彼らが私をあなたたちに割り当てるべきではありませんでした。 |
| |
見てみましょう。ディスプレイを2010年19日に設定するために必要なことがいくつかあります。 |
| |
私がやります。 |
| ヨハン |
もう一度確認させてください。 |
| クリスティスペイン |
驚くばかり。 |
| |
と |
| |
あなたの音が良ければ、誰もロゴを着ていないと思います。 |
| |
著作権侵害を引き起こす可能性のあるアイテムが表示されていないことを確認してください。あなたの本が問題になるかどうかはわかりません。 |
| |
念のため、そうしましょう。 |
| マイケル・エイカーマン |
そのうちの1つは、元JMPディスカバリーサミットの基調講演者から形成されたものです。 |
| ヨハン |
誰が。 |
| マイケル・エイカーマン |
ああ、私は彼が来て、そのことの説明者について話しませんでした。 |
| クリスティスペイン |
そうそう、私はその本を持っています。 |
| マイケル・エイカーマン |
ええ、ええ。 |
| ヨハン |
私はしていません。 |
| |
電子メールからそれらのいずれかを保存しましたが、私は先に進んでそれを電子メールから引き出すことができます。 |
| マイケル・エイカーマン |
私はウェブカメラを腕に持っているので、ウェブカメラを自分の方に、前後に、左右に、そして左右に動かすことができます。それは、動かすことができるように、永遠にそれをいじるようなものです。 |
| クリスティスペイン |
ああ、それはいい考えです。 |
| |
決して、正しい場所で私を見たことはありません。 |
| |
そして、誰もが自分のすべてのアプリの見通しを打っています。 |
| |
そのように。 |
| マイケル・エイカーマン |
近いチームは通知を受け取らないはずです。 |
| クリスティスペイン |
そして、あなたは30分を持っていますそれは正しいです。 |
| マイケル・エイカーマン |
それは私の理解です。 |
| クリスティスペイン |
そして、皆さんはそうなりますか。 |
| |
理想的には、始めてまっすぐ進みたいと思います。 |
| |
移行するたびに、画面のテスト共有を実行しますか。 |
| マイケル・エイカーマン |
あなたは私の画面を交換するので、あなたはある時点で画面に表示されているので、最初に私の画面を共有しましょう。 |
| |
音を共有する必要はありません。 |
| |
そう。 |
| マイケル・エイカーマン |
ここから始めましょう。 |
| クリスティスペイン |
こんにちはアレックス右。 |
| |
わかった。 |
| マイケル・エイカーマン |
だから、あなたは私たちがやったことをやった、それをやった、それをやった、そして私たちはあなたに引き渡された。 |
| ヨハン |
ええ、私たちは自分たちで画面共有を制御します、私たちは私たちのためにプロデューサーの男を使うことができます。 |
| クリスティスペイン |
あなたはそうするべきです。 |
| |
ああ、あなたの背景は素晴らしく見えます。 |
| ヨハン |
ありがとう。 |
| クリスティスペイン |
私はそれを持っている必要があります。 |
| マイケル・エイカーマン |
私がもっとできるということは、私たちがもっと均一になることができると思います。 |
| ヨハン |
いいえ、私は私が持っていなかった私たち自身の個人を持つべきです。 |
| |
はい。 |
| クリスティスペイン |
はい、マイケルに行きましょう。 |
| ヨハン |
うん。 |
| |
私はあなたがするであろう画面上のリンクはあまりないだろうと思います、ほとんどの話、そしてそれから私たちは画面共有をするでしょうそしてそれから。 |
| マイケル・エイカーマン |
画面が共有されている間、何が表示されるかわかりません。 |
| クリスティスペイン |
さて、録音を取り戻すときはいつでも。 |
| |
私は4つの異なるものを手に入れます。 |
| |
バージョンには含まれていないときにあなたが含まれているバージョンがあり、ジェフ・パーキンソンがすべてを編集するかどうかはわかりません。そのため、彼がどの丘を選ぶかはわかりません。 |
| |
彼はそのようにスピーカーを見せたいと思います。 |
| マイケル・エイカーマン |
画面に表示されていると思います。 |
| |
ちなみに、右クリックすればアイコンをオフにすることができます。 |
| ヨハン |
なんとかウィンドウを混乱させると、それはのように見えます。 |
| クリスティスペイン |
まあ、それは本当に難しいことですか。 |
| ヨハン |
そうそう。 |
| |
だから何を右クリックして表示します。 |
| マイケル・エイカーマン |
ええ、彼はそれが大丈夫だと思った。 |
| |
cuz私は正確にどこを覚えていません。 |
| |
ガイ私は自分のアイコンをデスクトップでオンにすることは決してないので、何かをインストールするだけなので、それをオンにした場合も同じです。 |
| ヨハン |
うん。 |
| クリスティスペイン |
だから、マイケルはあなたが終わったら、画面共有であなたにそれを渡して大丈夫だと言うでしょう、そしてそれから私たちはそこから行くだけです私たちは本当に休憩するつもりはありません、言い換えれば、そうです。 |
| マイケル・エイカーマン |
そして、あなたは私の部屋に黄色いフィルターを手に入れます。 |
| クリスティスペイン |
ああ、あなたはあなたの空想の赤い光を持っています。 |
| マイケル・エイカーマン |
ええ、私を青くします。 |
| クリスティスペイン |
私の机はとても小さいので、ここにはたくさんのスペースがあります。 |
| マイケル・エイカーマン |
ええ、私は早くから独立してしまいました。上司が私のマイクの品質とカメラの品質について不平を言い続けていたので、あなたが私に新しいマイクカメラを買ってくれているのは大丈夫です。 |
| クリスティスペイン |
この新しいヘッドセットを入手できませんでした。 |
| マイケル・エイカーマン |
すぐにドアを閉めましょう。 |
| クリスティスペイン |
毛皮で覆われた友達や子供たちが走り回っているのを知っているなら、それは重要です。 |
| ヨハン |
ええ、どちらもよくありませんええ、私は閉じたドアを設定します。 |
| クリスティスペイン |
とヨハンどこにいますか。 |
| ヨハン |
会社で。 |
| クリスティスペイン |
私よりもいいね。 |
| |
完全になります。 |
| ヨハン |
ああ、あなたはそうだった。 |
| クリスティスペイン |
結婚した友達がいます。 |
| |
コペンハーゲン出身の男性がデンマーク出身なので、あそこに行ってみました。 |
| |
そうそう、美しい。 |
| クリスティスペイン |
さて、それで、私があなたたちにあなたの名前の会社とあなたの抽象的なタイトルを述べてもらうことができれば、それは素晴らしいことです。 |
| |
そして、これは録音用ではありません。これは、あなたが何であるかを特定するなどのジェフの目的のためだけです。 |
| マイケル・エイカーマン |
名前は確かです、私の名前はマイケルインクリメンタルです私はノボザイムズと一緒です抽象的なタイトルは写真をアップロードするのと同じくらい簡単です。 |
| |
包装と請求書について何か正確なことを忘れました。 |
| クリスティスペイン |
大丈夫。 |
| マイケル・エイカーマン |
みんな。 |
| ヨハン |
そして私の名前は国連です。 |
| |
また、意味がありません。 |
| クリスティスペイン |
そして、これを記録してディスカバリーサミットカンファレンスに投稿し、一般公開されます。その使用でこの記録の許可を得ますか。 |
| マイケル・エイカーマン |
私はします。 |
| |
あなたが行くとき。 |
| ヨハン |
そうそうごめんなさいごめんなさい私はただ私の心でした。 |
| クリスティスペイン |
そして。 |
| |
前にカメラの電源を切りましょう。 |
| |
誰も私に会いたくない。 |
| クリスティスペイン |
そして、私たちは準備ができていると思います、皆さんは準備ができていますか。 |
| マイケル・エイカーマン |
画面から始めようと思います。 |
| クリスティスペイン |
準備ができていないので、時間を見てみましょう。 |
| |
909なので、技術的には939までありますが。 |
| |
準備ができたらいつでも、ヒューズをうまく与えるか、取ってください。 |
| マイケル・エイカーマン |
みなさん、こんにちは。今日の「Y'All」の講演へようこそ。 これは、Novozymesに組み込まれているアドインパッケージマネージャーであり、JMPアドインの共有、およびグローバル企業全体でのスクリプトの更新と保守を自動化します。 私はMichaelAkermanで、共同プレゼンターはJohanOlsenです。 |
| |
今日は、Y'Allについてお話しし、このツールキットも紹介したいと思います。そうすれば、それに興味のある人なら誰でも... |
| |
...個人的な使用や組織でこのツールキットを使用する方法を知っている人は、このツールキットを入手して使用を開始する方法と、それが何であるかを知っています。 それで、私たちは私たちが誰であるか、そしてなぜ私たちがY'Allを構築したのかについて話すことから始めます... |
| |
... Y'Allの主な機能とユーザーエクスペリエンス。 したがって、Johanは、このツールキットを使用しているときにユーザーに表示される内容を確認します。 |
| |
ユーザーがY'Allツールキットを操作したときに、その背後で何が起こっているかについて舞台裏で説明します。次に、要約と要約を行い、組織でY'Allを採用するためのヒントをいくつか紹介します。あなたの目的にとって興味深い。 |
| |
私たちはNovozymesという会社のデータサイエンティストです。 私の共同プレゼンターはヨハン・オルセンです。 彼は、農業および産業用バイオソリューションアプリケーション研究のデータサイエンティストです。 |
| |
私はノボザイムズの同じグループのシニアデータサイエンティストです。 Y'Allやその他のことについて連絡を取りたい場合は、ここに連絡先情報を記載しました。 お気軽にお問い合わせください。 |
| |
Johanのメールアドレスはjpko@novozymes.comで、JMPユーザーコミュニティのJPKOです。 私はmxak@novozymes.comです。 |
| |
JMPユーザーコミュニティのMichaelAkerman Michael mxakです。Y'Allについて、または私たちが構築したものと取り組んでいるものを改善する方法について、質問、フォローアップ、コメントがあれば、遠慮なく連絡してください。 。 |
| |
私たちはノボザイムズで働いています。 ノボザイムズは世界的なバイオテクノロジー企業です。 私たちは持続可能性のための生物学的ソリューションを構築します... |
| |
...そして、世界中のあらゆる種類の業界のパフォーマンスを向上させ、コストを削減します。 したがって、私たちは農業とバイオ燃料、家庭用ケア、食品と飲料、動物の健康、その他多くの産業をサポートしています... |
| |
...これらの生物学的ソリューションで。 世界中に6000人以上の従業員がおり、その一連の従業員には数百人のJMPユーザーがいます。 |
| |
そして、私たちがサポートしているJMPユーザーの非常に多くのコホートがあり、JMPを使用してJMPで物事を構築しているすべてのユーザーと協力しているため、それがY'Allのインスピレーションです。 |
| |
企業としての私たちの目的は、「成長する世界でより良い生活を送るための生物学的答えを一緒に見つけることです。明日を考え直しましょう」です。 |
| |
先に述べたように、ノボザイムズにはJMPユーザーの非常に大規模なコホートがあります。 |
| |
そのため、JMPスクリプトとJMPアドインを使用して彼らの生活をより簡単にし、コードをより再利用可能で発見しやすくしたいと考えました。 |
| |
そこでまず、更新を簡単にしたいと思いました。 ノボザイムズ全体で、人々がスクリプトをメールでやり取りしているのを観察しました。 |
| |
パーソナルネットワークドライブにJSLファイルを送信していました。 それらのいくつかはそれをフラッシュドライブに置いて、それらを手渡していました。 新しいJMPスクリプトと更新されたJMPスクリプトをできるだけ簡単に配布できるようにしたかったのです。 |
| |
コードを保護するアーカイブを作成したかったのです。 多くのJMPユーザーがいますが、このすべての作業は、組織にとって大きな価値を表しています。 |
| |
つまり、貴重なコードがすべて保存され、バックアップされ、アーカイブされる中央リポジトリです。 |
| |
また、バージョンを経時的に追跡したかったので、スクリプトが変更され、改善されたときに、それらの変更を確認し、経時的に追跡できるようにしたかったのです。 |
| |
また、スクリプトを簡単に見つけて再利用できるようにしたかったので、JMP開発者の場合は... |
| |
...あなたがJSLスクリプトを書いている開発者の仕事なら、他の開発者によって書かれた関連するスクリプトを見つけて、それらを改善することができます。 |
| |
あなたが持っているどんなニーズのためにでも、それらから構築してください。 したがって、これらのスクリプトを取得して構築するのに便利なだけでなく、組織の他のメンバーが役立つと思われるJSLの関数を共有、インポート、および再利用するのにも便利です。 |
| |
そこで、これを実現するために、3つのコンポーネントをまとめました。 Pythonビルドスクリプト、GitLabインターフェース、JSLロードおよび更新スクリプトがすべてこのツールキットで連携して機能します。 |
| |
Pythonビルドスクリプトは、Python 3以降で実行される自動スクリプトであり、JSLファイルを自動的に解析してアドインメニュー構造に構造化します。 |
| |
また、アドイン定義ファイルを書き込みます。 インポートされたカスタム関数スクリプトを生成し、これらすべての再利用可能なユーティリティ関数をJMPスクリプトインデックスとJMP IDEに追加し、ユーザーが使用できるようにすべてを.jmpaddinファイルに圧縮します。 |
| |
GitLabは、ユーザーがアドインスクリプトを操作し、アドインビルダー自体を操作するためのインターフェイスです。 GitLabは、GitHubのオープンソースの代替手段または競合製品です。 |
| |
これはNovozymesの内部に投稿されており、この中央リポジトリにスクリプトをアップロードするための非常に簡単なポイントアンドクリックのユーザーインターフェイスを提供します... |
| |
...これらのスクリプトがすべて保存され、ビルドが実際に行われる場所。 |
| |
そして、継続的インテグレーション継続的デプロイを表すCICDパイプラインは、そのPythonビルドスクリプトを自動的に実行し、リリースバージョンとベータバージョンの両方のチャネルを介してアドインを配布するため、ユーザーは次のいずれかを実行できます... |
| |
...安定した品質管理されたリリース、または開発者の場合は、このツールキットで使用されている各スクリプトの最新バージョンを使用して、頻繁にクイックリリースを取得できます。 |
| |
そして最後に、JSLのロードスクリプトと更新スクリプトがあります。 JMPが開いたとき、およびこのアドインがロードされたとき、... |
| |
...チェックできます。選択したチャネル(ベータチャネルまたはリリースチャネル)で新しいバージョンをチェックし、そのアドインパッケージをダウンロードして更新することを提案します。 これにより、カスタム関数もスクリプトインデックスにインポートされます。 |
| |
Y'Allには、あらゆるJMPユーザーからの非常に簡単なスクリプトの貢献があります。 ソーシャルメディアに写真をアップロードするのと同じくらい簡単です。 |
| |
ユーザーインターフェイスに移動し、アップロードボタンをクリックすると、数秒でY'Allのベータチャネルで利用できるようになります。 |
| |
これらのスクリプトの自動バージョン管理と保存、自動または手動のJMPアドイン更新があるため、JMPが開くと、Y'Allは更新を提案します... |
| |
...または、ユーザーは[Y'All]メニューからY'Allを手動で更新することを選択できます。 |
| |
スクリプトを更新して変更を加えるときにアドインの最新バージョンを取得するスクリプトを作成する開発者の場合は、迅速なビルドとテストのためのベータ版チャネルがあります。 また、制御された展開と品質管理のためのリリースチャネルがあります。 |
| |
これにより、検出可能で再利用可能なJSLファイルが提供されるため、Novozymes、Y'Allユーザー全体のユーザーによって送信されたスクリプトのこのファイル構造を調べて、調べて見ることができます... |
| |
...必要なものに近い目的を満たすスクリプトを見つけて、独自の目的に合わせて変更します。 |
| |
また、便利なユーティリティ関数をスクリプトインデックスに追加します。あなたはその小さなスクリーンショットを見ることができます... |
| |
...左側とJSLエディターに、ビルドスクリプトは、インポート可能で、JMPスクリプトインデックスに再利用可能な関数を、この関数の動作と使用方法を説明するために利用できる場合は、小さなドキュメント文字列とともに自動的に追加します。それ。 |
| |
デモの目的でY'Allに含まれているコードのいくつかを確認するために少し時間をかけたかったのです。 Novozymes内で使用されるコードの多くは、Novozymesのシステムに固有であり、社外では使用できません。 |
| |
そこで、すでにJMPユーザーコミュニティにあるスクリプトをいくつか入手し、デモンストレーションの目的でそれらを含めました。 これらを保持するか、Y'Allから削除することができます... |
| |
...望んだ通りに。 そのため、XanGreggとCraigeHalesからjsonパーサースクリプトを入手しました。 JMP Discovery Summit2020で発表されたデータクリーニングスクリプトアシスタントがあります... |
| |
...ジョーダンヒラーとミアスティーブンスによる。 Discovery Summit 2020には、HeidiHardnerとSerkayOlmezによる画像テーブルツールがあります。 |
| |
NickHolmesによる色行selection.jsl。 Byron Wingerdによる複数のY軸チャート、および自動検証のセットアップは、JMP DiscoverySummitでも発表されたと思います... |
| |
...昨年はMikeAndersonによるもので、RiffynデータキャプチャソフトウェアであるRiffynNexus用のインポート可能な関数スイートがあります... |
| |
...許可を得てRiffynツールJMPアドインに組み込まれ、そこから取得されたRiffynによって作成されたAPIを使用する。 これは、Novozymesで頻繁に使用するツールです。 他のRiffynユーザーがいる場合は、このコードも自由に使用できるため、これを含めました。 |
| |
それで、ユーザーエクスペリエンスと、ユーザーがY'Allツールキットを使用して作業するときに表示および実行する内容から始めて、いくつかのライブデモに飛び込みたいと思いました。 そのために、共同プレゼンターのJohanに制御を渡します。 |
| |
ヨハン、あなたはミュートされています。 |
| ヨハン |
ありがとう、マイケル。 |
| |
申し訳ありません。 画面を共有しましょう。 |
| |
あなたはこれを見ていますか? |
| マイケル |
はい。 |
| ヨハン |
わかった。 |
| |
マイケルが言ったように、私はY'Allを使用するユーザーエクスペリエンスについて説明します。 |
| |
Y'Allのユーザーになることは本当に3層のことです。 大多数のユーザーは基本的に、組み込みのJMPプラットフォームであるかのように使用します。 彼ら... |
| |
...スクリプトをポイントアンドクリックして、意図した目的で実行します。 かなり大規模なユーザーグループもあり、スクリプトを使ってどのように作業を行っているのか... |
| |
簡単なスクリプトを投稿できます。 そして、より高度なことを行う開発者とメンテナ(??)の小さなグループがあり、それも少し引き出してみます。 |
| |
しかし、まず第一に、Y'Allの本当の単純な使用法。 インストールは、GitLabリポジトリに作成されたビルドアーティファクト(??)へのこのリンクをクリックし、JMP編集ファイルをダウンロードしてJMPで実行するだけです。 |
| |
さて、これは私に更新を促しました、私は今度はキャンセルするつもりです、しかしあなたは私のメニューバーでそれをここで見ることができます、そして私はY'Allメニューを持っています... |
| |
...マイケルが言及したこれらのデモスクリプトのいくつかで。 これらのスクリプトは実際にはY'Allパッケージの一部ではなく、デモンストレーションの目的で含まれているため、詳細については説明しません。 しかし、私がすることは、私が入ってみようとすることです... |
| |
...おっと、有効にします。申し訳ありませんが、これはすでに有効になっています。ベータテストを有効にして、すぐに確認できるものを作成し始めました。 |
| |
ほとんどのユーザーはベータテストを無効にしており、メジャーリリース(数週間に1回)後にJMPを開くと、更新プログラムが表示されます。 ただし、ベータテストが有効になっているユーザーの場合、ベータブランチが更新されるのは、1日に数回から週に数回までです。 |
| |
つまり、これが基本的に通常のユーザーにとっての内容です。 |
| |
これにスクリプトを提供したい場合は、いくつかの方法があります。 1つは、GitLabUIを使用することです。 これで、今見たメニュー構造がミラーリングされます... |
| |
...ディレクトリ構造... |
| |
...リポジトリ。 だから新しいを作成する... |
| |
...メニューまたはサブメニューは、新しいディレクトリを作成するのと同じくらい簡単です。 ここでは、これを単に呼びましょう... |
| |
...「デモ」 |
| ヨハン |
そしてそれを追加します。 |
| ヨハン |
また、スクリプトを追加したい場合は、JMP IDEでスクリプトを作成するだけなので、非常に簡単に作成できます。 |
| |
こんにちは世界。 |
| |
これで十分です。 実際には、ツールチップを取得するための良い方法でメニュー項目に名前を付けるという、少し余分な詳細があります。[???]またはコードマジックを実装しました。つまり、コメントアウトを書き込むことから始めた場合は、おっと。 |
| |
あなたも。 |
| |
メニュー名。 |
| マイケル・エイカーマン |
みんな。 |
| |
メニュー名。 |
| ヨハン |
Y 'すべてのメニュー名 |
| マイケル・エイカーマン |
古い習慣。 |
| ヨハン |
こんにちはと呼びましょう。 次に、Y'allツールチップ。 |
| |
さて、先に進んでこれを保存しましょう。 |
| |
どこにでも、デスクトップを見てみましょう。 そして、ここにアップロードします。 |
| |
テストでしたか? |
| マイケル・エイカーマン |
スクリプトでしたが、問題ないはずです。 |
| ヨハン |
今... |
| |
このファイルをアップロードしたら、この自動化された[inaudible]でパイプラインをトリガーしました。 |
| |
[inaudible]システム。最初にリポジトリのクローンを作成し、次に... |
| |
...後でアドインをビルドすると、JMPの再起動時にプロンプトが表示されます。 |
| ヨハン |
そして、すべての編集の更新。 |
| ヨハン |
更新することを選択すると、デモメニューがテストスクリプトとともに表示されます。 |
| |
したがって、これはJMPにスクリプトを提供する最も簡単な方法です。 Gitの使用に精通している場合は、より古典的なGitワークフローを使用することもできます。 ここでバッチウィンドウを開きます。 ただ... |
| |
そして、リポジトリのクローンを作成できます。 に戻りましょう... ここで示しているもののいくつかは、ここで使用しているGitLabの使用に固有のものです。 |
| |
しかし、それは他のリモートリポジトリコーディング、コードホスティングシステムでも同様です。 |
| |
これで、リポジトリのクローンを作成し、ローカルシステムにリポジトリの完全なミラーを作成します。 以前と同様に、ここにミラーリングされたディレクトリ構造を確認できます。作成できるかどうかを確認してみましょう... |
| |
別のスクリプト。 |
| |
このため。 Y 'すべてのメニュー名が改善されました |
| |
こんにちは。 |
| |
たぶん今回はやりたいと言ってください。 |
| |
...代わりにプロンプトを開きます。 |
| |
Helloworldと書いてあります。 |
| |
さて、今回は、JMPに含まれている組み込み関数の1つを使用できます。 スクリプトインデックスに行きましょう、私たちは... |
| |
... Y'Allutilsを検索します。 |
| |
そして、errorModal関数を見つけてください。ここには、その使用方法の小さなドキュメント文字列が付属しています。 |
| |
そして、それはすでにインポートされているので... |
| |
Y 'すべてのutilserrorModal |
| ヨハン |
そして、HelloWorldと言うことができます。 |
| ヨハン |
これを見てみましょう。 |
| |
私たちのリポジトリに... |
| |
...デモ中。 そして、コードをプッシュします。 |
| |
これで、コードがリモートリポジトリにプッシュされ、CICDパイプラインがトリガーされます。 |
| |
...秒、パイプラインが実行されていることを確認できるはずです... |
| |
...すぐに。 |
| |
まだ始まっていません。 |
| |
多分私は少し得ています... |
| |
...せっかち。 そこに行きます。 |
| |
確かに、Y'Allの更新を確認すると、新しい更新が表示されます。 それですか? |
| |
更新することを選択します... |
| |
...アドイン、そして今、デモは私たちの改善されたhelloworldを持っています。 |
| |
さて、それは私がユーザーデモのために持っていたものだったと思います。 |
| マイケル・エイカーマン |
ありがとう、ヨハン。 よろしければ、画面共有を引き継ぎます。 |
| ヨハン |
はい。 |
| マイケル・エイカーマン |
そして、このユーザーエクスペリエンスが行われているときに、舞台裏で何が起こっているのかについて少し説明したいと思いました。 そこで、このコードをVisual StudioCodeで見ていきます。 |
| |
Zipファイルをダウンロードすれば、どこでもこれを見ることができます。少し見やすくするために、Zenモードにすばやく入ります。 どうぞ。 |
| |
これが、Johanがスクリプトをアップロードするたびに実行されるこのGitLabCICDパイプラインです。 そこで彼はGitリポジトリに入りました... |
| |
...そして彼はプラスボタンを押してスクリプトをアップロードし、それがこのCICDパイプラインを起動しました。 したがって、これはサーバーがその状況にどのように反応するかを定義する小さなスクリプトです。 |
| |
プレステップとビルドステップ... |
| |
...ここで、Gitリポジトリとその中のすべてのファイル(Johanの新しいスクリプトを含む)を作業ディレクトリに複製しました... |
| |
...ランナーと呼ばれるこの処理モジュールは、そのコードで動作できます。 そしてそれをビルドしたので、このビルドステージを実行します... |
| |
CD-ディレクトリを変更します-そのビルドディレクトリに移動し、そのPythonビルドスクリプトを実行します。 ですから、それは本当に簡単です。 これらの新しいファイルをすべて作業フォルダーに複製し、そのフォルダーに移動して、Python3でPythonビルドスクリプトを実行します。 |
| |
それでは、そのPythonビルドスクリプトを見てみましょう。 タブをその上に制御します。 これはbuild_yall.pyです。 |
| |
したがって、これは多くのコードですが、これを見ていて、それを調べる方法のガイドが必要な場合は、このプロセス関数までスクロールしてください。 それはdefプロセスを言います。 |
| |
これは、Y'Allを構築し、段階的に実行するメインコードです。 ですから、これを覗いていきます。 |
| |
最初に発生するのは、Pythonスクリプトがメニュー階層を構築することです。 それでは、それを覗いてみましょう。 ネストされたPython辞書を作成し、src / scriptsの下のフォルダー構造を調べます... |
| |
...そして、見つかったすべてのJSLファイルを、そのJSLファイルの名前とツールチップおよびファイルの場所を含む辞書にプルします。 つまり、ネストされた辞書を一度に1つのフォルダーごとに構築し、基本的にクロールします。 |
| |
次に、これらの各JSLファイルのコマンド名を確認します。 これらのファイルを解析して、Johanがスクリプトの先頭に配置したY'Allメニュー名とY'Allツールチップを探します... |
| |
... JMPのアドインメニューでボタン名とツールチップを定義します。 Y'Allがインストールされているときはいつでも、そのY'allメニューが表示され、それらにカーソルを合わせると、それらの名前とツールチップの内容が表示されます。 |
| |
Y'Allメニュー名またはY'Allツールチップの種類の魔法のコマンドが見つからない場合は、代わりにツールチップのないスクリプトの名前にフォールバックします。 したがって、test.jslは、Johanから見たようにテストになります。 |
| |
メニュー内のコマンドの辞書は、物事を見つけやすくするためにアルファベット順にソートされています。ただし、ヘルプと設定メニューは上部にポップアップ表示され、常にメニューの上部に表示されます。 |
| |
ヘルプと設定が重要だからです。 そして、そのすべての情報がJMPcustファイルに書き込まれます。 |
| |
したがって、.jmpcustファイルは本質的に、JMP用に次の方法を定義する一種のマークアップ言語ドキュメントです... |
| |
メニューボタンの位置、メニュー自体の位置、ツールチップの位置は、すべてこの.jmpcustファイルで定義されています。 |
| |
タブをY'Allに制御して、これがどのように見えるかを確認します。 それは文字通りメニューが何であるかについての定義の束です... |
| |
..そしてメニューの名前と内容。 そのため、ヘルプと設定メニューにY'Allアップデートのチェック、ベータテストモードのオン/オフの切り替えなどが含まれていることがわかります。 |
| |
したがって、Pythonスクリプトは、このwritejmpcustファイル関数を使用してそれを自動的に書き込みます。 |
| |
次に、アドイン定義ファイルを作成します。 したがって、addin.defとversion.txtです。 Addin.def-その例に切り替えます-少しです... |
| |
... JMPがアドインを識別し、バージョン番号を見つけるために使用する説明のビットと、サポートされているJMPの最小バージョン。 |
| |
私たちは12と言います。 これは私たちの側では一種の恣意的な選択であり、12より前のことを心配する必要はありません。 自分で作業を開始する場合は、Pythonコードでこれを変更できます。 ご覧のとおり、アドインバージョンもここで定義されています。 |
| |
そして、これをversion.txtというファイルに書き込んで、addin.defで見たのと同じ整数がversion.txtでも終わるようにします。 |
| |
その理由は、リモートで読み取ることができる小さなファイルだからです。 サーバーでJMPoverHTTPで開くことができます... |
| |
...そして、そのversion.txtファイルでそのバージョン番号をすばやく確認して、現在のバージョンと比較します。 したがって、現在インストールされているバージョンがversion.txtと一致しない場合... |
| |
...つまり、更新する必要があるか、少なくとも更新できます。 使用するバージョン番号は、UTCタイムゾーンで実行された日時です。 |
| |
そして、それを1970年以降の基本的に秒に変換します。 つまり、日時形式に変換できる整数です。 |
| |
したがって、2つの数値を整数ベースで比較できます。これは素晴らしいことです。 それらが互いに大きいか小さいかを簡単に確認できますが、それでも日付に戻すことができます。 したがって、そのバージョン番号をJMPに保存するのは非常に効率的な方法です。 |
| |
ついに。 |
| |
次に行うこと-つまり、これらの追加の詳細ファイルを作成したこと-カスタム関数スクリプトを作成します。 ですから、これは少し奇妙で、説明するのが少し難しいです。 迅速かつ簡潔にできるように最善を尽くします。 |
| |
JMPには、カスタム関数を定義する2つの方法があります。 1つは、JMPスクリプト言語でfunctionと呼ばれる関数を使用することです。これにより、utils.jslとY'Allのimportablesサブサブディレクトリに切り替えます。 |
| |
関数は、他の場所から使用および呼び出すことができるカスタム関数を定義します。 そして、これを名前空間で定義できます。 したがって、この場合、名前空間Y'All utils ..があります。 |
| |
...関数名を使用してrecodeif。 そして、これらの引数を取り、このドキュメント文字列とこの関数コードをここに記述します。 |
| |
JSLでカスタム関数を作成する2つ目の方法は、関数と同じではない新しいカスタム関数関数を使用することです。 これが追加されたと思います。JMP14。 |
| |
新しいカスタム関数の機能は、関数をJMPスクリプトインデックスとJSL IDEに追加して、その関数の操作を非常に簡単にし、ドキュメントを使用して他の場所で再利用できるようにすることです。 |
| |
したがって、関数の利点は、JMPのバージョンがわからないまでずっと機能することです... |
| |
... JMPを使用する前。 新しいカスタム関数の利点は、もう少し堅牢であり、ドキュメントとJMPスクリプトインデックスを取得し、JSLIDEで色を付けて取得できることです... |
| |
...コードを書いているときのヒント。 したがって、新しいカスタム関数が好きですが、JMP14より前にJMPをサポートしたいと考えています。 したがって、ビルドスクリプト... |
| |
...ここでは、基本的にimportablesディレクトリを解析し、その関数に一致する関数定義を探しますfunction function function ... |
| |
...ドキュメント文字列を使用したJSLで。 そのため、スラッシュのアスタリスク境界の間のドキュメント文字列を解析し、それを新しいカスタム関数にプルしようとします。 したがって、ここで例を見ることができます。 |
| |
そのrecodeif関数を取得し、recodeifと呼ばれるY'Allutils名前空間の新しいカスタム関数に自動的に書き換えます。 |
| |
そして、これがすべて表示されるプロトタイプと説明、およびスクリプトインデックスカテゴリがあります。 つまり、JMP開発者はこれをすべて自動的に利用できます。 したがって、JSLの古い関数関数を使用して記述しても、このJMPスクリプトインデックスを取得できます... |
| |
...能力、Y'Allビルドスクリプトを自動的に使用します。 ここで私のプロセスコードまでスクロールして戻ります。 |
| |
このすべてが書かれているので、今度はアドインを構築します。 JMPアドインは、変更されたZip形式を使用しています。 そこで、Python 3を使用して一緒にZipし、名前をYALL.jmpaddinに変更すると、CICDランナーが機能している作業ディレクトリで利用できるようになります。 |
| |
したがって、このビルドスクリプトが完了した後のこのCICDパイプラインの最後のステップは、その作業ディレクトリに移動してアーティファクトをアップロードすることです。 |
| |
ビルドアーティファクトはGitLabCICDの概念であり、これら2つのファイルYALL.jmpaddinとversion.txtを取得してサーバーにアップロードし、特定のURLで利用できるようにします。 |
| |
そのため、URLは常に一貫しており、GitLabでこれを実行しているブランチに関連付けられているため、ベータ版とメインリリース版を使用している場合。 |
| |
さて、JMPで-私は飛び越えるつもりです、ハ!... |
| |
... autoUpgrade.jslに。 ここで、アドインの新しいバージョンを確認します。 JMPがロードされると、Y'Allはこの自動アップグレードスクリプトを実行します... |
| |
... GitLabリポジトリでそれらの新しいバージョンを探します。 ここで、ベータモードかメインモードかに関係なく、ベータフラグをロードしていることがわかります。 |
| |
そして、そのモードの特定のチャネルを調べます。 だから私たちは引っ張っています... |
| |
...そのチャネル選択に基づく特定のURLから。 したがって、ベータモードの場合は、ベータチャネルが表示されます。 メインモードの場合は、メインチャネルを確認します。 そして、YALL.jmpaddinファイルとversion.txtを探します |
| マイケル・エイカーマン |
次に、そのバージョン番号をインストール済みのバージョン番号と比較し、異なる場合は、ユーザーに更新を要求します。 Johanの画面に表示されたダイアログボックスをポップアップします... |
| マイケル・エイカーマン |
...更新が必要かどうかを尋ね、そのバージョン番号を教えてくれます。 そして、彼らはそうするかしないかを選ぶことができます。 |
| |
そう。 |
| |
本当にこれですべてです。 ユーザーのために、すべてが舞台裏で行われます。 プラスボタンを使用してGitLabUIからスクリプトをアップロードし、ファイルをアップロードして新しいファイルを作成します... |
| |
... JMPアドイン、そのY 'すべてのJMPアドイン、および同じリポジトリに接続している他のユーザーが利用できるようにします。 |
| |
それはすべて舞台裏で起こります。 ユーザーにとっては、JMPの赤いホットスポットからJMPスクリプトを保存し、それをGitLabリポジトリにアップロードするのと同じくらい簡単です。 |
| |
そこで、Y'Allの機能を要約したいと思いました。 |
| |
スクリプトへの貢献は非常に簡単です。 これまで見てきたように、ファイルをアップロードしたり、JSLスクリプトをアップロードしたり、それらを利用できるようにするための優れたユーザーインターフェイスがあります。 |
| |
そしてそれに伴い、自動バージョン管理とコードアーカイブが行われます。 つまり、これはすべてNovozymesサーバーに保存されている中央のGitLabリポジトリを介して行われているため、すべてが追跡および保存されます... |
| |
...永久に。 自動更新により、開発者はスクリプトをユーザーに非常に簡単にリリースでき、常に最新バージョンを使用できます... |
| |
...適切に機能し、品質管理されているスクリプトのうち。 そして、ベータ版とリリース版のチャンネルがあります。 |
| |
したがって、ベータチャネルは基本的に即座に構築され、新しいスクリプトがY'Allにヒットしてから数秒以内に利用可能になり、頻繁に更新されます。 そして、リリースチャネルはよりゆっくりと制御されるリリース構造になります。 その方法について触れたかったのです。 |
| |
ここで、GitLabリポジトリのブランチ構造を確認できます。 多くの更新を含むベータブランチがあります。 リリースブランチがあります。 メインブランチがあります。 Novozymesで行うこと-これは完全にユーザーの選択次第です- |
| マイケル・エイカーマン |
...このベータブランチは、リリースしたい状態になったら取得します。 ベータ版とリリース間のマージリクエストを開き、リリースブランチに移動します。 それは本質的に画面リリースブランチをフリーズするでしょう... |
| マイケル・エイカーマン |
...それを行ったコードバージョンでは、このリリースブランチでコードがロックされます。 |
| |
ベータ版はまだ変更できます。 ベータ版でも、スクリプトを追加したり、スクリプトを変更したりできます。 しかし、リリースは現在凍結されています。 私たちはそれを品質チェックし、準備ができたら、その状態に満足したら... |
| |
...メインにリリースしてそこにマージすると、Y'Allのメインブランチユーザーが利用できるようになります。 |
| |
発見可能なコードがあります。 すべてが中央リポジトリのファイル構造で利用できます。 開発者はスクリプトを調べて... |
| |
...構築して改善するための同様のものを見つけます。 また、ユーティリティ関数がスクリプトインデックスに自動的に追加され、開発者が自動的に利用できるようになっているため、開発者は次の場合に再コード化するようなコードのブロックを再利用できます... |
| |
...または、デモとして含めたデータベースクエリなどもあります。 だから、あなたがY'Allを通して見るならば... |
| |
... Y'AllがインストールされたJMPスクリプトインデックスの名前空間。 いくつかのpostgresデータベースクエリとpostgresデータベースツールが含まれていることがわかります。これらは、それをどのように使用するかを示すためにも含まれています。 |
| |
これはすべて、Y'Allユーザーベースの他の誰かと共有したいユーザー作成のJSLスクリプトを使用してJMPで開始することによって行われます。 |
| |
彼らはGitLabに入ります。 そして、ユーザーインターフェイスで、Y'Allで必要なメニューの場所に一致するサブディレクトリにアップロードします。したがって、デモで必要な場合は、デモテストを行います... |
| |
...彼らはそれをsrcslashスクリプトslashdemos slashdemosサブディレクトリに置きます。 それを行うと、自動ビルドパイプラインが起動し、Pythonビルドスクリプトが起動します。このスクリプトは、構造を解析してアドオンをビルドします。 |
| |
...アドインとそれをGitLabサーバーに再アップロードします。 次に、JMPはその新しい更新を検出し、それをダウンロードしてJMPのY'Allアドインを更新することを自動的に提案します。 そして、そのスクリプトは、そのベータチャネルのユーザーがわずか数秒で利用できるようになります。 |
| |
ですから、Y'Allに興奮していることを願っています。Y'Allを自分自身または組織で使用することに興味があることを願っています。 もしそうなら、私たちは始める方法についていくつかのヒントを与えたいと思いました。 |
| |
JMPユーザーコミュニティでこのビデオを視聴している場合にJMPユーザーコミュニティに投稿されるZipファイル(同じページにある必要があります)には、開始するために必要なすべての要素が含まれています。 それらのいくつかは変更が必要になります。 それらのいくつかはあなたが遊ぶためのデモコードです。 |
| |
しかし、それをダウンロードして見てください。 そのZipファイルのPythonビルドスクリプトは、ネイティブのPython3ライブラリでビルドされます。 ビルドシステムにはPython以外は何もインストールされていません。 また、標準のPython3インストールで実行する必要があります。 |
| |
継続的インテグレーションとデプロイのためにGitLabfor CICDで行う中央リポジトリのストレージと自動化。これは、他のプロバイダーから利用できます。 GitLab、GitHub、Azure、AWSはすべて同様の実装を持っています。 |
| |
そこにはオプションの巨大なエコシステムがあるので、実装の詳細は組織に固有のものになります。 |
| |
その不幸な副作用は、CICDパイプラインファイルgitlab-ci.ymlを、独自のシステムで自動化された方法で実行する場合は、変更が必要になることです。 もちろんあなたがNovozymesの従業員でない限り、それはあなたのシステム上でそのままでは機能しません。 |
| |
内部ベータデータベースを反映したユーティリティ関数内の接続文字列はすべて、ODBCアンダースコア接続アンダースコア文字列に置き換えられました。 |
| |
これらの関数のいずれかを使用する場合は、作業ディレクトリのコードに移動し、データベースを反映するようにこれらの文字列を変更する必要があります。 |
| |
ですから、もう一度、Y'Allに興奮していることを願っています。 Y'Allにご興味をお持ちいただければ幸いです。 ご意見、ご質問、コメントがございましたら、お気軽に私またはヨハンまでご連絡ください... |
| |
...彼らと。 また、このコードを使用して改善したり、このツールキットを使用して興味深い方法で使用したりする場合は、貢献していただければ幸いです。 ありがとうございました。 |
| クリスティスペイン |
さて、それは素晴らしかった。 |
| マイケル・エイカーマン |
時間。 |
| クリスティスペイン |
合理的な完璧なええうん。 |
| マイケル・エイカーマン |
しますか。 |
| |
ヨハンがJMPが望んでいないと言ったことは問題ではありません。 |
| クリスティスペイン |
ほら。 |
| マイケル・エイカーマン |
ほとんどの人はおそらくそれを捕まえないだろうと私は感じます。 |
| クリスティスペイン |
新しい言葉として、私はそれが好きです。 |
| ヨハン |
それで、それを使わないように言われたので、名前を変更しなければならず、IIは私が持っていたバージョンを削除しなかったために捨てられました。 |
| |
以前にインストールされました。 |
| |
ですから、私がすでにベータ版になっていることに気付いたとき、それは私をやっつけました。 |
| |
いずれかの方法。 |
| クリスティスペイン |
ええ、それでいいと思いますが、とても面白かったので、みんな見てみたいと思いますので、よろしくお願いします。 |
| |
私が言ったように、私はジェフが編集するためにビデオをアップロードするつもりです。それがいつ完了するかはわかりませんが。 |
| |
とにかく、皆さんはその10月のすべてを見るでしょう、しかし何かが起こったら私は確かにあなたに知らせますが。 |
| |
もう一度ありがとう。 |
| ヨハン |
あなたは通常のJMPについての新しい品種を持っています。 |
| マイケル・エイカーマン |
あなたがどこか別の場所にいると言っていることについて、それはちょっとだけです。 |
| |
うん。 |
| ヨハン |
Y 'すべてのディレクトリ。 |
| クリスティスペイン |
はい、どうもありがとうございました、私はそれを知っています。 |
| |
病気への多くの仕事、そして私たちはそれを感謝しています。 |
| マイケル・エイカーマン |
どういたしまして。 |
| |
についてありがとうございました。 |
| マイケル・エイカーマン |
次のアップの後すぐに移動します。 |
| クリスティスペイン |
はい、もちろん、あなたとの両方に会えて良かったです。 |
| |
うまくいけば、次回。 |
| |
少なくともマイケルとは直接会うでしょう、ヨハンはあそこにいて、あなたにも会いたいのですが。 |
| |
うん。 |
| マイケル・エイカーマン |
彼が出席しているかどうか、特に彼が発表していてすべてのサミットだけであるかどうか、または過去に直接会ったことがあるかどうかは常にわかります。ローリーで開かれているすべてのものと同じ週なので、まる1週間のように行うことができます。 |
| |
計算会議。 |
| |
地元の地元の従業員の束を見てください。 |
| ヨハン |
旅行の予算について議論する方が簡単かもしれません。 |
| クリスティスペイン |
1つの権利のために2つ。 |
| |
うん。 |
| ヨハン |
わかった。 |
| クリスティスペイン |
さてさて、皆さんは月曜日の素晴らしい週の素晴らしい残りをお過ごしください。 |
| |
あなたもまたすぐにあなたと話すことができます。 |
| ヨハン |
さよなら。 |
| |
さよなら。 |