Help us understand the problem. What is going on with this article?

2019年の自分の OSS 活動について振り返る

こんにちは。Salesforce Platform Advent Calendar 2019 の 15日目のエントリになります。

はじめに

今回は、去年のいまごろから1年間で自分がどれくらいのコードをプライベートで書いてきたかを自分のために振り返りたいと思います。みなさんへの宣伝もかねて :yum:

凡例
:star: 新規
:sunflower: 更新

Dependency Injection Sample for Apex Trigger

:star: https://github.com/takahitomiyamoto/di-sample-apex-trigger

作った時のブログ

Dreamforce 2018 で得たインスピレーションをぶつけた、我ながら自信作です。いまだ Apex トリガのレガシーなパターンを使っているかたも多いようですが、大規模開発においては同じようなコードをコピペしなければならないし、テストコードも書きづらいですし、もっと疎結合に設計したほうがかしこいです。

今後このパターンを浸透させていきたいので、2020年の落ち着いたタイミング(3月あたり)に「Apex トリガ入門」的なステップアップで勉強できるような資料を作成して公開していこうと思います。

Apex Basic

:star: https://github.com/takahitomiyamoto/apex-basic

大阪で定期的に主催している開発者向けの勉強会で使用するために作成しています。自習用の教材となっていて、問題と解答のコードを公開しています。

大阪での Apex 勉強会 #01

Apex 初級の勉強会しか開催していないため、まだ初級編しか公開できていません。前出の「Apex トリガ入門」的なステップアップ教材は、ここに中級編・上級編として作っていくイメージです。

LWC Basic

:star: https://github.com/takahitomiyamoto/lwc-basic

こちらも、大阪で定期的に主催している勉強会で使用するために作成しています。

大阪での LWC 勉強会 #01
大阪での LWC 勉強会 #02

このテーマの勉強会をこれまで 2回開催しましたが、LWC が人気のため早くも第3回目が来年開催決定しています。Apex と比べても日本語のリソースがとても不足しているため、どんどん増やしていきたいと思っています。

Salesforce DX Project Template for Remote Development on VS Code

:star: https://github.com/takahitomiyamoto/vscode-remote-sfdx-project

Salesforce の統合開発環境をサッと作るために用意しました。けっこう便利です。

作った時のブログ

ただ、自分の端末のスペックが弱くて、Docker を動かさずに Salesforce DX Project Template を利用した開発をクイックスタートするシェルスクリプト でテンプレートのみ使ったりしています。これだけでも十分便利なんですけど、やはりセットで使いたいですね。。。:sweat: 新しい端末を買おう。

Heroku Buildpack for Salesforce - Org Development

:star: 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 で作りました。

:star: 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 の自動生成ツールです。

:sunflower: https://github.com/takahitomiyamoto/salesforce-manifest-generator

初めてアドベントカレンダーに参加した時のエントリ で発表して以来、けっこう根強い人気があって今年までメンテナンスを続けていました。今後は、sfpowerkit同様のコマンド が正式リリースされる予定なので、そちらをもって retired しようかと思っているところです。

scraping-trailhead-scores

Trailhead のスコアを selenium の Web Scraping で一気に取ってくるツールです。

:sunflower: https://github.com/takahitomiyamoto/scraping-trailhead-scores

Trailhead のプロファイルページの構造が変更されるたびにメンテナンスを続けてきました。しかし、直近の大幅なアップデートにより、スーパーバッジの数が表示されなくなってしまいました。。。

これにより、スーパーバッジの数を取得する部分のコードをコメントアウトせざるを得ない状況になっています。解消されるとよいのですが :cry:

所感

8個、思ったより少なかったです。もっともっと書かないといけませんね :stuck_out_tongue:

来年に向けて

一発目の大きなイベントとして、1月の Japan Dreamin' 2020 をがんばります。今回は2つの登壇を控えていて、そのためのコードも年末年始で書きあげます!お楽しみに。そして、ぜひ会場で一緒に盛り上がりましょう。

おまけ

幸運にも、Dreamforce 2019 に参加してきました。去年も参加したのですが、今年もいろいろな体験をすることができました。その感動を medium ブログにまとめていますので、よかったらご覧ください。

以上になります。それではまた。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away