こんにちは。Salesforce Platform Advent Calendar 2019 の 15日目のエントリになります。
はじめに
今回は、去年のいまごろから1年間で自分がどれくらいのコードをプライベートで書いてきたかを自分のために振り返りたいと思います。みなさんへの宣伝もかねて
凡例
新規
更新
Dependency Injection Sample for Apex Trigger
https://github.com/takahitomiyamoto/di-sample-apex-trigger
Dreamforce 2018 で得たインスピレーションをぶつけた、我ながら自信作です。いまだ Apex トリガのレガシーなパターンを使っているかたも多いようですが、大規模開発においては同じようなコードをコピペしなければならないし、テストコードも書きづらいですし、もっと疎結合に設計したほうがかしこいです。
今後このパターンを浸透させていきたいので、2020年の落ち着いたタイミング(3月あたり)に「Apex トリガ入門」的なステップアップで勉強できるような資料を作成して公開していこうと思います。
Apex Basic
https://github.com/takahitomiyamoto/apex-basic
大阪で定期的に主催している開発者向けの勉強会で使用するために作成しています。自習用の教材となっていて、問題と解答のコードを公開しています。
Apex 初級の勉強会しか開催していないため、まだ初級編しか公開できていません。前出の「Apex トリガ入門」的なステップアップ教材は、ここに中級編・上級編として作っていくイメージです。
LWC Basic
https://github.com/takahitomiyamoto/lwc-basic
こちらも、大阪で定期的に主催している勉強会で使用するために作成しています。
このテーマの勉強会をこれまで 2回開催しましたが、LWC が人気のため早くも第3回目が来年開催決定しています。Apex と比べても日本語のリソースがとても不足しているため、どんどん増やしていきたいと思っています。
Salesforce DX Project Template for Remote Development on VS Code
https://github.com/takahitomiyamoto/vscode-remote-sfdx-project
Salesforce の統合開発環境をサッと作るために用意しました。けっこう便利です。
ただ、自分の端末のスペックが弱くて、Docker を動かさずに Salesforce DX Project Template を利用した開発をクイックスタートするシェルスクリプト でテンプレートのみ使ったりしています。これだけでも十分便利なんですけど、やはりセットで使いたいですね。。。 新しい端末を買おう。
Heroku Buildpack for Salesforce - Org Development
https://github.com/takahitomiyamoto/salesforce-buildpack-org-dev
Heroku Pipeline を Salesforce のデプロイにどうしても使ってみたくて、でも CI に Scratch org は使いたくなくて、自作しました。Heroku Advent Calendar 2019 にも寄稿しています。
個別の設定をハードコードしちゃってるので、汎用性はまだありません。これからいい感じにしていきたいと思っているところです。
Einstein Platform Service App
Einstein Platform Service API を気軽にコールするためのクライアントを LWC で作りました。
https://github.com/takahitomiyamoto/einstein-platform-service
今年 Einstein Champions Program に選ばられたこともあり、ますます Einstein Platform Service API について詳しくならないといけないと思っています。
Winter '20 のアップデート では JSON 構造に変化があったことと、LWC から Apex 経由で外部の Web API をコールアウトする方法を試してみたかったため、Developers meetup での登壇の機会 で挑戦してみました。今後もバージョンアップに合わせて、コードを追加していこうと思います。
salesforce manifest generator
Salesforce を Org Development Model で開発する際によく利用する package.xml の自動生成ツールです。
https://github.com/takahitomiyamoto/salesforce-manifest-generator
初めてアドベントカレンダーに参加した時のエントリ で発表して以来、けっこう根強い人気があって今年までメンテナンスを続けていました。今後は、sfpowerkit の 同様のコマンド が正式リリースされる予定なので、そちらをもって retired しようかと思っているところです。
scraping-trailhead-scores
Trailhead のスコアを selenium の Web Scraping で一気に取ってくるツールです。
https://github.com/takahitomiyamoto/scraping-trailhead-scores
Trailhead のプロファイルページの構造が変更されるたびにメンテナンスを続けてきました。しかし、直近の大幅なアップデートにより、スーパーバッジの数が表示されなくなってしまいました。。。
Hi @trailhead , I would like to get the number of superbadges on new trailhead profile page, but I cannot see it. pic.twitter.com/Sz9Y9sKTck
— Taka *heat* Miyamoto (@takahito0508) October 28, 2019
これにより、スーパーバッジの数を取得する部分のコードをコメントアウトせざるを得ない状況になっています。解消されるとよいのですが
所感
8個、思ったより少なかったです。もっともっと書かないといけませんね
来年に向けて
一発目の大きなイベントとして、1月の Japan Dreamin' 2020 をがんばります。今回は2つの登壇を控えていて、そのためのコードも年末年始で書きあげます!お楽しみに。そして、ぜひ会場で一緒に盛り上がりましょう。
おまけ
幸運にも、Dreamforce 2019 に参加してきました。去年も参加したのですが、今年もいろいろな体験をすることができました。その感動を medium ブログにまとめていますので、よかったらご覧ください。
以上になります。それではまた。