ABC163 D問題(2020.04.19)

  • 2020.05.06

概要 コンテストの日から少し時間が空いてしまいましたが、2週間前?くらいに参加したABC163(2020/4/19)で相変わらずD問題がクリアすることができなかったので、復習のために解説を確認しながら、概念を理解してACするプログラムを実装しました。 問題 https://atcoder.jp/contests/abc163/tasks/abc163_d 解説 PDF https://img.atcoder.jp/abc163/editorial.pdf 動画(Youtube) 理解 まずM個の数である10^100の部分は非常に大きい数であるため、選択する数が変わると合計の値は他の数の組み合わせとは重複しないので、各選択した数の組み合わせによる合計値を求めれば算出可能となります。本問題でキーとなる部分は、M個からK個選ぶ場合の最大値は大きい方からK個選ぶ場合であり、最小値は小さい方からK個選ぶ場合となり、これらの最大値と最小値の間の値は全てを組み合わせで生成できるという点となります。したがって、作成できる数の総和は最大値-最小値で算出できます。次に、2つの連続するrからlまでの数の合計は、(l+r)*(r-l+1)/2で求めることができます。というポイントを抑えて実装すると下記のようになりました。 実装

Pythonista3でGithubにPushする方法

  • 2020.05.06

Pythonista3とは Pythonista3とは、iPadやiPhoneでPythonのプログラムを書いたり、実行したりすることができるiOSのアプリです。https://apps.apple.com/jp/app/pythonista-3/id1085978097 概要 本記事では、Pythonista3で書いたプログラムをアプリから直接Githubの自分のリポジトリにPushする方法を記載します。iOSのアプリケーションでは基本的にShellスクリプトを実行することができないのですが、Pythonistaのユーザが作成したstashというスクリプトを実行することでShellが擬似的に使用できるにしてGithubへのアクセスをCUIベースで行います。 手順 stashのインストール Pythonistaのアプリケーションで左にスワイプするとコマンドが表示されるので、そこで下記のコマンドを実行してstashをインストールします。 Pythonistaを再起動 インストールが完了したら、Pythonistaを一度タスクリストから削除して、再度アプリの立ち上げを行うことで再起動します。 stashをPythonのバージョン2.7で起動 アプリ内のフォルダ直下(This iPad,This iPhone)にlaunc_stash.pyというプログラムが作成されているので、そのファイルを開いて右上のRun(再生ボタンみたいなやつ)を長押しすると「Run with Python 2.7」が表示されるのでそちらを押下します。すると、unix風のコンソールに切り替わると思うのでそこでコマンドを実行可能となります。ちなみに、Pythonバージョン2.7で起動している理由は、この後で実行するGitコマンドがバージョン3.6で起動すると動作しなかったからとなります。 公開鍵を作成 Githubとの接続に必要となる公開鍵をstash上で作成します。rsaはデフォルトでは1024bitとなりますが、セキュリティを考えて2048bitを指定しています。 作成した公開鍵をGithubへ登録します。GithubのSetting->SSH keysから下記のコマンドで表示される文字列(ssh-rsa から始まる)をコピーして設定します。 Gitコマンド 下記のコマンドでGithubへのPushまでを行います。 参考 stashhttps://github.com/ywangd/stash

ABC162 D問題(2020.4.12)

  • 2020.04.14

まえおき 最初に記事の本題に入る前に前置きを書きたいと思います。去年くらいから新しくプログラミング言語を勉強していても実務で使用する機会がない言語でアウトプットする場がないと身につかないなと思い始めました。そこで色々考えていたのですが、ある時TwitterのTLでAtCoder(https://atcoder.jp/)という日本発の競技プログラミングが流行りはじめているのをみて興味を持ったのがきっかけでした。試しに参加してみたら割と簡単に参加できて、大体週一回開催というペースがあっているなと感じ少しづつ始めるようになりました。言語は最近勉強し始めていたPythonを使って参加しておりますが、数回参加して感じたのはプログラミング言語の問題や課題ではなく自分のアルゴリズム能力の無さでした。この課題は将来のためにも改善した方が良いと思い、より本腰を入れて毎週末の夜にABCのコンテストに参加するようになりました。ところが、参加するだけではなかなか能力の向上はないので、問題に臨んだけど解くことができなかった問題は回答や他の方の実装を参照して、自分なりの実装を作成するというのを始めることにしました。そして、その内容はなるべくブログで簡単にでもアウトプットしようと思っています。それの初回が本記事となります。また、時間があれば、アルゴリズムについてチーター本、蟻本、螺旋本あたりを読んでブログで整理できればと考えています。ということで、前置きが長くなりましたが、早速先週末(4/12)の夜に開催されたABC162のD問題が解けなかったので、その回答と自分なりの実装を本記事では記載します。 問題 ABC162 D問題 RGB Triplets https://atcoder.jp/contests/abc162/tasks/abc162_d 解説 https://img.atcoder.jp/abc162/editorial.pdf 理解 何も考えないで実装すると、i, j, kについて全探索で処理を行ってしまい計算量はO(N^3)となり、nは最大で4000なのでTLEしてしまいそうです。なので、方針として最初に”R”,”G”,”B”の3つが異なる組み合わせとなる総数を算出してから2つの条件にマッチしないものを引いていくことにします。その理由は、マッチしないパターンであれば問題文の2個目の条件でi, j, kの関係でi, jを固定するとkが算出できるので、その分を総数から引いてあげることができます。その場合の計算量はO(N^2)とすることができそうです。 実装例 自分が作成した実装は下記の通りとなります。

VSCode Onlineを試してみた

  • 2020.04.04

概要 少し前ですがMS社のVisual Studio Onlineのパブリックプレビューで利用可能となったので、実際に触ってみました。個人的に注目していた理由はiPadからコーディングするのにブラウザ経由でVSCodeで使えるのであれば少しくらいなら課金してもいいかなと思って試しました。本記事では検証のために触った際のメモを記載します。※ちなみにブログ投稿と実際の作業試した日に時差があるので画面等が古かったらごめんなさい。 手順 サインアップ 下記のページからサインアップできます。サインアップするには、MSアカウントとAzureのサブスクリプションプラン(課金設定)が必要となります。 https://visualstudio.microsoft.com/ja/services/visual-studio-online/ Visual Studio Onlineの管理画面(?)に遷移するので、Create a Billing Planを実行します。https://online.visualstudio.com/environmentsLocationは、いくつか選択することができましたがSourtheast Asiaを選択しました。 作成したLocationでCreate environmentで環境を作成します。Gitのリポジトリを指定すると環境作成時に自動でCloneされるようです。また、Instance Typeでは、StandardかPlemiumのどちらかが選択できます。Suspendするまでのidle時間もここで選択して環境を作成します。 接続 環境が作成できました。 Connectを押下すると、ブラウザからVSCode Onlineに接続できました。なお、Connectした環境は、明示的にSuspendすることもできそうです。 価格 価格は、こちらにありました。https://azure.microsoft.com/ja-jp/pricing/details/visual-studio-online/課金は、アクティブの時間数と環境を保持していた時間数の2つをベースに計算されるようです。なので、例えば基本消費ユニット × 環境を保持していた時間数:2 × 730時間(約一ヶ月分)アクティブユニット × アクティブの時間数(Connectしていた時間数):125 × 100時間(1日5時間で20日間) 合計 → 7,317.28円まぁまぁいい値段になりました・・・ セルフホステッド 上記の価格表にセルフホステッドが無料と記載されていたので、こちらもどのようなものかを試してみました。https://docs.microsoft.com/ja-jp/visualstudio/online/how-to/vscode#self-hostedローカルのVS Codeのコマンドパレットで、VS Online: Register Local Environmentを実行します。環境名は、デフォルトでPC名となるのでそのままでOKのようです。 セルフホステッドだと、当然クラウドのサーバーは利用しないので課金はされないのですが自宅でサーバーを保有しているとかではない限り常時PCを立ち上げておくとかは現実的ではないので私は使用するのは断念しました。 結論 もうちょっとPrice Downしたら利用しようかなと思いました。プライベートのコーディングであれば、アクティブの時間はそれほど多くないと思うので基本料金の部分がもう少し下がれば、検討しても良いのかなと思っています。

[Salesforceデザイナー資格]Data Architecture and Management デザイナー

  • 2020.03.21

概要 本記事は、Salesforceのデザイナー資格であるData Architecture and Managementを受験するにあたって勉強した際の簡単なメモとなります。私が受験した時のバージョンはWinter’20でしたので、その時点での試験範囲に基づいております。 試験範囲 試験範囲については、リリースごとに変わる可能性があるので最新情報を確認する必要があります。詳細は下記から参照してください。http://tandc.salesforce.com/examguide_cert_data_archi_manage_designer.pdf 勉強内容 基本的な勉強方法は、上記の試験範囲に沿って必要な情報が公開されているヘルプサイトやブログ、Trailheadを参考にインプットをしました。 Data Modeling (20%) BigObject https://developer.salesforce.com/docs/atlas.en-us.bigobjects.meta/bigobjects/big_object.htm https://developer.salesforce.com/docs/atlas.en-us.bigobjects.meta/bigobjects/big_object_example_queueable.htm Roll up summary https://help.salesforce.com/articleView?id=fields_about_roll_up_summary_fields.htm&type=5 https://help.salesforce.com/articleView?id=fields_defining_summary_fields.htm&type=5 Relation https://help.salesforce.com/articleView?id=overview_of_custom_object_relationships.htm&type=5 External Object https://help.salesforce.com/articleView?id=external_object_define.htm&type=5 https://help.salesforce.com/articleView?err=1&id=ext_data_sync_database.htm&type=5 Data Skew https://trailhead.salesforce.com/content/learn/modules/large-data-volumes/design-your-data-model Person Account https://help.salesforce.com/articleView?id=account_person.htm&type=5 Custom Index https://help.salesforce.com/articleView?id=000325247&language=en_US%C2%A0&type=1&mode=1 Data Archiving Strategy http://www.salesforce.org/ask-architect-5-steps-effective-salesforce-data-management-strategy/ Data Storage https://help.salesforce.com/articleView?id=overview_storage.htm&type=5 https://help.salesforce.com/articleView?id=000318951&type=1&mode=1 Set Audit Field https://help.salesforce.com/articleView?id=000334139&type=1&mode=1 Outbound Message https://help.salesforce.com/articleView?err=1&id=workflow_managing_outbound_messages.htm&type=5 Conceptual Design(15%) Lightning Data https://appexchange.salesforce.com/appxStore?type=Data Data.com vs Lightning Data Service https://help.salesforce.com/articleView?id=000317679&type=1&mode=1 Merge https://help.salesforce.com/articleView?id=contacts_merge_classic.htm&type=5 Data.com Prospector and Clean https://help.salesforce.com/articleView?id=000318293&type=1&mode=1 Duplicate Rule https://help.salesforce.com/articleView?id=duplicate_rules_map_of_reference.htm&type=5 Translation workbench https://help.salesforce.com/articleView?id=customize_wbench.htm&type=5 Mater Data Management(10%) 特に参考サイトなし・・・ Metadata Management(7%) Event monitoring https://trailhead.salesforce.com/en/content/learn/modules/event_monitoring/event_monitoring_intro Custom Metadata Types https://help.salesforce.com/articleView?id=custommetadatatypes_package_install.htm&type=5 Package Custom Metadata Types and Record https://help.salesforce.com/articleView?id=custommetadatatypes_package_install.htm&type=5 Define Custom Settings https://help.salesforce.com/articleView?id=custommetadatatypes_package_install.htm&type=5 Metadata API https://help.salesforce.com/articleView?id=custommetadatatypes_package_install.htm&type=5 Audit Trail https://help.salesforce.com/articleView?id=custommetadatatypes_package_install.htm&type=5 Data Archiving(10%) Export Buckup data from Salesforce https://help.salesforce.com/articleView?id=admin_exportdata.htm&type=5 https://developer.salesforce.com/blogs/2015/03/salesforce-backup-and-restore-essentials-part-1-backup-overview-api-options-and-performance.html Outbound Message Actions https://help.salesforce.com/articleView?id=workflow_managing_outbound_messages.htm&type=5 Field Set https://help.salesforce.com/articleView?id=fields_about_field_sets.htm&type=5 Buckup and restore https://developer.salesforce.com/blogs/2015/03/salesforce-backup-and-restore-essentials-part-1-backup-overview-api-options-and-performance.html PK Chunking https://developer.salesforce.com/blogs/engineering/2015/03/use-pk-chunking-extract-large-data-sets-salesforce.html Field History Tracking https://help.salesforce.com/articleView?id=tracking_field_history.htm&type=5 Suspend Event https://developer.salesforce.com/blogs/engineering/2013/05/extreme-force-com-data-loading-part-3-suspending-events-that-fire-on-insert.html Deferred Sharing Calculation https://developer.salesforce.com/blogs/engineering/2013/08/extreme-force-com-data-loading-part-6-taking-advantage-of-deferred-sharing-calculation.html Dataloader CLI https://help.salesforce.com/articleView?id=command_line_intro.htm&type=5 Data backup and recovery Best Practice https://help.salesforce.com/articleView?id=000334121&language=en_US&type=1&mode=1 Data Governance(7%) Data Covernance Best Practice https://www.salesforce.com/video/1779731/ Reporting and Analytics(10%) Performance Turning https://developer.salesforce.com/blogs/engineering/2013/03/long-and-short-term-approaches-for-tuning-force-com-performance.html Custom Index https://developer.salesforce.com/blogs/engineering/2015/06/know-thy-salesforce-field-indexes-fast-reports-list-views-soql.html Run Report Faster https://developer.salesforce.com/docs/atlas.en-us.salesforce_reportperformance_cheatsheet.meta/salesforce_reportperformance_cheatsheet/reportperformance_cheatsheet.htm Improve Report Performance https://help.salesforce.com/articleView?id=improving_report_performance.htm&type=5 Sales Dashboard https://www.salesforce.com/blog/2019/01/sales-management-dashboards.html Report Consideration https://help.salesforce.com/articleView?id=platform_connect_considerations_reports.htm&type=5 Schedule Dashboard https://help.salesforce.com/articleView?id=dashboards_schedule_refresh.htm&type=5 Limit of Custom ReportTypes https://help.salesforce.com/articleView?id=reports_report_type_guidelines.htm&type=5 Data Migration(10%) Duplicate Rules https://help.salesforce.com/articleView?id=duplicate_rules_map_of_reference.htm&type=5 Data loading https://developer.salesforce.com/blogs/engineering/2013/06/extreme-force-com-data-loading-part-4-sequencing-load-operations.html Data aggregation https://developer.salesforce.com/docs/atlas.en-us.salesforce_large_data_volumes_bp.meta/salesforce_large_data_volumes_bp/ldv_deployments_case_studies_data_aggregation.htm  Limits and allocation […]

VS CodeのOrg Browserという機能

  • 2019.09.23

概要 Salesforceのソースコードベースの開発を行う際には、VSCodeとその拡張機能(Extension)を使用しますが、その中にOrg Browserという便利な機能が追加されていたので紹介したいと思います。Org Browserを使用すると、manifest file(package.xml)を作成せずにSandbox等の組織からローカルにソールコードを取得することができます。 VSCodeの基本設定やSalesforceのExtensionについてはこちらに記載していますので、本記事では割愛します。 使用方法 SFDXプロジェクトを作成する VSCodeのコマンドパレットでSFDX: Create Project with Manifestを実行してSFDXプロジェクトを作成します。 接続対象の組織を認証する VSCodeのコマンドパレットでSFDX: Authorize an Orgを実行して対象組織の認証により接続を行います。認証するとVSCodeの一番左のアイコンにSalesforceマークが表示されます。こちらが、Org Browserの機能となります。 対象のメタデータを選択 Salesforceマークを選択すると、接続した組織のメタデータの一覧が表示されます。その中からローカルのプロジェクトにダウンロードしたいメタデータを選び、ボタンを押すとダウンロードされます。 ダウンロードしたファイルは、ソース形式でデフォルトでは下記のパスに格納されます。sfdx project > force-app > main > default これでソースコードによる開発をVSCode上で容易に行うことができます。これまでは、package.xmlを作成しないと対象のメタデータをダウンロードできかったのと比較すると非常に簡単になったと思います。 ちなみに、package.xmlの作成方法については、公式のExtensionではありませんが、下記の記事に記載しているものを使用すればVSCodeのUIベースで作成することもできます。 参考 Org Browserhttps://developer.salesforce.com/tools/vscode/articles/user-guide/org-browser

本番組織へのソース形式でのデプロイ

  • 2019.08.27

概要 本記事はSalesforceにおけるリリースにおいて、CLIを使用する場合にソース形式(メタデータ形式ではなく)で直接、本番組織へデプロイする方法を記載します。これまで(Spring’19以前)もSandboxへはソース形式でもデプロイすることができましたが、本番組織には一度メタデータ形式に変換したのちにデプロイする必要がありました。Summer’19からは、一度クイックリリースでテストを実行したのちに、そこで発行されるジョブIDを元にデプロイをすることができるようになったようです。 リリース方法(コマンド) まずは、クイックリリースでテストを実行してコードカバー率が要件を満たしていることを確認します。 上記のコマンドでSuccessとなった後に、実行した際に発行されているジョブIDを用いてデプロイを行います。 以上でリリース完了となります。 まとめ いちいちメタデータ形式への変換が不要となったので、個人的にはこちらの方が便利かなと思っています。 参考 本番組織へのアプリケーションのリリースhttps://developer.salesforce.com/docs/atlas.ja-jp.sfdx_dev.meta/sfdx_dev/sfdx_dev_build_mdapi_production.htm 任意の組織に対する開発https://developer.salesforce.com/docs/atlas.ja-jp.220.0.sfdx_dev.meta/sfdx_dev/sfdx_dev_develop_any_org.htm source Commandshttps://developer.salesforce.com/docs/atlas.en-us.sfdx_cli_reference.meta/sfdx_cli_reference/cli_reference_force_source.htm#cli_reference_deploy

リストビューで選択したレコードを引数にFlowを実行

  • 2019.08.26

概要 本記事では、Salesforceのオブジェクトのレコードを一覧表示する標準機能のリストビューにて選択したレコードを引数にしてFlowを実行する方法を記載します。リストビューで選択したレコードに対してアクションではできないような少し複雑なロジックをFlowで実装したい場合に利用できるかと思います。 実装方法 Flowを呼び出すVisualforceを作成 事前に呼び出したいFlowは事前に作成しておきます。起点となるリストビューのオブジェクトに対応する標準リストコントーラを定義したVisualforceページを作成します。当該VFページから<flow:interview>タグでフローを呼び出します。finishLocationでは、Flowで完了ボタン押下後の戻り先のURLを指定します。Accoutオブジェクトのサンプルは、以下となります。 カスタムリストボタンを作成 対象のオブジェクトの設定画面で新規ボタンから表示の種類として「リストボタン」-「チェックボックスの表示」を選択します。内容のソースで上記で作成したVisualforceページを選択します。 まとめ 一覧画面で選択したレコードに対してなんらかの処理をしたいという場合のソリューションとして、極力開発する箇所を少なくするための手法として利用できるかと思います。 参考 Visualforce ページへの標準リストコントローラの関連付けhttps://developer.salesforce.com/docs/atlas.ja-jp.pages.meta/pages/pages_controller_sosc_associate.htm Visualforce ページへのフローの埋め込みhttps://developer.salesforce.com/docs/atlas.ja-jp.pages.meta/pages/pages_flows_adding.htm フローの finishLocation 属性の設定https://developer.salesforce.com/docs/atlas.ja-jp.pages.meta/pages/pages_flows_finishlocation.htm 標準リストコントローラを使用したカスタムリストボタンの追加https://developer.salesforce.com/docs/atlas.ja-jp.pages.meta/pages/pages_controller_sosc_custom_button.htm

Mavenで実行可能なJARファイルを作成

  • 2019.07.27

概要 本記事では、Mavenで実行可能なJARファイルを簡単にビルドして作成する方法を記載します。ローカルで実行するようなツール等をJavaで作成する際には、JARファイルをコマンドもしくはダブルクリックで実行可能になるので参考にしていただければと思います。 プロジェクトの作成 mvnコマンドでJavaプロジェクトのスケルトンを作成します。 maven-assembly-plugin maven-assembly-pluginは、プロジェクトの出力をその依存関係、モジュール、ドキュメント、およびその他のファイルと共に単一の配布可能なアーカイブにまとめることを可能にします。今回は、JARファイルの形式でアーカイブしたいので、jar-with-dependenciesを指定します。また、<archive>の<manifest>で実行クラスのパスを指定します。追加で<appendAssemblyId>をfalseに設定しています。そうしないと、作成されるjarファイルに-jar-with-dependenciesが最終的な名前に追加されてしまいます。下記をpom.xmlファイルに記載します。 maven-dependency-plugin maven-dependency-pluginのcopy-dependenciesを使用することで、プロジェクトの直接の依存関係とオプションで推移的な依存関係のリストを取得し、それらを指定された場所にコピーします。下記をpom.xmlファイルに記載します。 サンプル Githubに本記事のサンプルを格納しています。cloneして、mvn packageすることでJARファイルを作成できます。https://github.com/yhayashi30/maven-jar-sample 参考 Apache Maven Assembly Pluginhttp://maven.apache.org/plugins/maven-assembly-plugin/Apache Maven Assembly Plugin Usagehttp://maven.apache.org/plugins/maven-assembly-plugin/usage.htmlApache Maven Dependency Pluginhttps://maven.apache.org/plugins/maven-dependency-plugin/Apache Maven Dependency Plugin Usagehttps://maven.apache.org/plugins/maven-dependency-plugin/usage.html

プラットフォームイベントとは

  • 2019.07.21

概要 本記事ではSalesforceのプラットフォームイベントについての概要や使用方法を簡単に整理します。 イベント駆動型アーキテクチャ イベント駆動型アーキテクチャとは、イベントプロデューサ/イベントコンシューマ/イベントバスから構成されます。イベントプロデューサは、イベント発生時の情報を取得してイベントバスにメッセージとして転送します。転送されたメッセージは、プロデューサとは非同期にイベントコンシューマで受信して処理を実行します。従来の要求-応答通信モデルでは、Webシステムやデータベースに要求を実行して同期で応答を受信していました。したがって、応答するWebシステムやデータベースの可用性に依存していました。イベント駆動型アーキテクチャの使用用途は、外部システムとのインテグレーション等で別トランザクションで非同期に処理を実行したいような場合かと思います。そして、プラットフォームイベントは、Salesforce Platform上でイベント駆動型アーキテクチャを実現する機能となります。 https://developer.salesforce.com/docs/resources/img/ja-jp/220.0?doc_id=images%2Fsalesforce_event_bus.png&folder=platform_events カスタムプラットフォームイベントの定義 カスタムプラットフォームイベントは、カスタムオブジェクト(sObject)と同じように定義することができます。また、カスタムオブジェクトと同様に作成したプラットフォームイベントには、カスタム項目を追加することができます。ただし、レイアウトやLightningレコードページで表示することはできません。プラットフォームイベントのAPI参照名のサフィックスは、__eとなります。(通常のカスタムオブジェクトでは、__cとなる部分です。)例) event__e みたいな感じです。 プラットフォームイベントの公開 上記で定義したプラットフォームイベントに対してレコードを作成することがイベントの公開になります。公開するための方法は以下のいずれかとなります。イベント駆動型アーキテクチャでいうと、イベントプロデュースにあたります。 プロセスビルダー フロー Apex API(SOAP API/REST API/Bulk API etc) それぞれの機能での実装は、通常のカスタムオブジェクトにレコードを作成するのと同じようなイメージとなります。 プラットフォームイベントの登録 上記で公開したプラットフォームイベントのレコードによりメッセージを受信して動作する処理を登録します。登録するための方法は以下のいずれかとなります。イベント駆動型アーキテクチャでいうと、イベントコンシューマにあたります。 プロセスビルダー フロー Apexトリガー Litghtningコンポーネント(empApiコンポーネント) CometDクライアント プロセスビルダーとフローには、プラットフォームイベントを開始のタイミングとして選択することができます。 プロセスビルダー フロー Apexトリガーは、カスタムオブジェクトのトリガーと同様にプラットフォームイベントのオブジェクトに対して作成することができます。処理種別は、after triggerとして実装します。また、通常のカスタムオブジェクトの最大バッチ数は200ですが、プラットフォームイベントは、2000となります。Lightningコンポーネントは、empApiコンポーネントを使用してリスンするプラットフォームイベントを登録することができます。参考(lightning-emp-api)https://developer.salesforce.com/docs/component-library/bundle/lightning-emp-api/documentationCometDは、外部クライアントでプラットフォームイベントの受信を登録できます。CometD クライアントを実装するか EMP コネクタのオープンソースのコミュニティツールを使用して作成することができます。具体的な実装のサンプルは、下記に記載されています。参考(Java クライアントを使用した登録とイベントの再生)https://developer.salesforce.com/docs/atlas.ja-jp.platform_events.meta/platform_events/code_sample_java_client_intro.htm 参考 Platform Events Developer Guide (プラットフォームイベント開発者ガイド)https://developer.salesforce.com/docs/atlas.ja-jp.platform_events.meta/platform_events/platform_events_intro.htm プラットフォームイベントの基礎https://trailhead.salesforce.com/ja/content/learn/modules/platform_events_basics インスタント通知アプリケーションの作成https://trailhead.salesforce.com/ja/content/learn/projects/workshop-platform-events

1 2 7