GitHubで2FAを有効にした時にgit pushでAuthentication failedや403エラーになった時の対応

GitHubで途中でアカウントの2FAを有効にした場合、今まで使っていたリポジトリで git push origin xxx を実行すると、 remote: Invalid username or password. fatal: Authentication failed for 'https://github.com/hoge/some-repo.git/' とか、 fatal: un…

Spring × SpockのテストでsetupSpecにAutowiredされたコンポーネントを使いたい

今のプロジェクトではJUnit5よりも好んでSpock (Groovy)を使ってます。 Spring Boot製アプリケーションのテストを行う際に、 setupSpec (テストクラス内で一度きりの初期化)メソッド内で、 Autowired されたコンポーネントを使いたかったのですが、使えな…

MacでGitのバージョンを上げる

brew upgrade git → これだけだと反映されず… sudo vim /etc/paths で、/usr/local/bin を先頭行に移動 ターミナル再起動 git --version で最新バージョンに上がっていることを確認

インストール済みパッケージ情報をApex or SOQLで取得したい #salesforce

[設定] - [インストール済みパッケージ] から確認できる、インストール済みのパッケージとそのバージョンを、プログラム的に取得したい、というメモです。 結論から言うと、インストール済みパッケージの取得はTooling APIで提供されているみたいなので、以…

Lightning Web Components(LWC)をVisualforceで表示してみる#salesforce

巷で話題の(?)Lightning Web Components(LWC)をVisualforceで表示できないか試してみました。 LWCをAura Componentでラップして、Lightning Outを使う 最初に思いついたのは、LWCをAura Componentでラップして、Lightning Out for Visualforceを使う方法…

pyenv利用時にパッケージコマンド実行時に出るcommand not found...command exists in these Python versionsエラーを治す

pyenvとpipを使っている環境で、下記のようなエラーが出た時の解消法についてのメモです。 $ hoge pyenv: hoge: command not found The `hoge' command exists in these Python versions: 3.5.2 解消法 まずはコマンドが存在するというPythonバージョンに切…

CodePipeline経由と直接実行の場合でCodeBuildのファイルパーミッションが異なるという話

CodeBuildでソースにGitHubを指定した場合のビルドで、 直接CodeBuildで「ビルドの開始」を押した時 CodePipelineのBuildから実行された時 のそれぞれで、ファイルパーミッションが変わってしまっている?という話です。 Java(Gradle)でビルドするジョブで、…

API Gateway WebSocketのコストメリットやLambdaの同時実行数について

Amazon API GatewayでWebSocketが利用可能になりました。 使用感などは、下記のAWSブログでのチャットアプリのサンプルを構築してみると、わかってきます。それにしても、チャットアプリはWebSocketのサンプルとして定番中の定番ですねぇ…。 [発表]Amazon AP…

gradle-jooq-pluginでカスタムジェネレータを試してみる

JOOQではコード生成に利用するジェネレータを差し替えることで、デフォルトの命名やパッケージのレイアウトをカスタマイズすることができます。 これをgradle-jooq-pluginで試してみました。 結論、プラグインページのサンプルを素直に真似すれば、できます…

JPQLで複数の項目をもつValueObjectを条件にクエリする

よく忘れるのでメモ。 ValueObject(条件クラス) public class FooCondition { private final String col1; private final String col2; public FooCondition(String col1, String col2) { this.col1 = col1; this.col2 = col2; } // getterは省略 } クエリ…

JOOQ使い始め(gradle-jooq-pluginによるコード生成)

JPAが辛くなってきたので、JOOQへの乗り換えを検討中。 Why JOOQ? MyBatisの方が手堅い気がしますが、JOOQを選んだ理由としては、以下のものです。 タイプセーフ Annotation Processingではなく、プラグインによるコード生成 今後のJavaのリリースサイクルを…

Lightning ComponentでLightning ContainerなしでD3.jsを使う #salesforce

凝ったチャートを作りたい場合、D3.jsを使いたいことがあります。 Lightning ComponentでD3.jsを使う場合、v3以下だと以下のようなエラーが起き、表示できません。 [Cannot read property 'document' of undefined] eval()@https://xxxxxx-dev-ed.lightning.…

「アセットファイル」メタデータ #salesforce

あんまり馴染みがなかったのですが、Salesforceには「アセットファイル」というメタデータがあるんですね。 Salesforce Developers 上記に書かれている通り、サフィックスは .asset で、contentassets フォルダに保存されます。 package.xml においてはワイ…

最強のLightningページレイアウト #salesforce

(タイトルはネタですが) テラスカイさんのブログ「Lightningページレイアウトについて考えてみる - TerraSkyBase」を読んで、以前から考えていたアイディアを試してみました。 それは、「組み込みで用意されているページレイアウトから選択する」ではなく…

Salesforce DXのforce:source:pushで「The "path" argument must be of type string.」エラーが出る時 #salesforce

ある時Salesforce DX (SFDX)の force:source:push で次のエラーが出ました。 $ sfdx force:source:push ERROR: The "path" argument must be of type string. その時の対処法についてのメモです。 いきなり結論 *-meta.xml に対応するファイル(もしくはフォ…

Lightning Componentのコンポーネントライブラリが便利 #salesforce

Spring'18の時点でベータリリースはされていましたが、正式リリースされたっぽいです。 コンポーネントライブラリとは developer.salesforce.com 実際のURLは https://developer.salesforce.com/docs/component-library/overview/components ですね。 上記の…

Java10でLombokを使ったプロジェクトをGradleビルドする

業務プロジェクトのJavaのバージョンアップは8→11を目論んでいますが、新しいJavaの機能にも少しずつ慣れていかなくてはと思ってます。 というわけで、あるプロジェクトを試しにJava10でビルドしてみたところ、Lombokで躓いたのでその解消方法についてのメモ…

sfdx形式のソースとメタデータAPI形式のソースの違いについて #salesforce

メモ。 sfdxとスクラッチ組織を使った開発をしていく上で、従来のメタデータAPIに慣れている場合、sfdx形式のソースとメタデータAPI形式のソースでは違いがあることを知っておく必要があります。 「具体的にどんな違いがあるんだろう?」と疑問に思って、Sal…

イマドキのSalesforce開発のプロジェクト雛形を作った #salesforce

sfdx, React, react-lightning-renderer, webpack, Lightning Testing Service全部入りのプロジェクト雛形兼サンプルを作ってみた。 / https://t.co/qH13Mkv52r— t.endo (@tq_jappy) 2018年1月13日 ひとまず取り入れたかった技術要素が盛り込めたので、公開…

Salesforce CLI (SFDX)のコマンドがわかる一枚絵 #salesforce

いっぱいあるsfdxのコマンドの勘所をつかむための一枚絵を作ってみました。 (探せばありそうな気もしますが…) 参考 qiita.com

適当に作ったDE組織のメタデータをSFDXのプロジェクト化する #salesforce

作業メモです。 developer.salesforce.com 非管理パッケージを作った後で、取ってきたメタデータをコピーしてあげればよいみたいですね。 CLI: プロジェクトの土台を作成 $ sfdx force:project:create --projectname sample-project 慣れないうちはレイアウ…

Bulk API 2.0のJavaクライアントを作った #salesforce

Winter '18にて、Bulk API 2.0が正式リリースされました。 Bulk API 2.0 (正式リリース) あんまり話題になっていないような気がするので、簡単にまとめてみます。 Bulk API 2.0とは 新機能については上記ページでも言及されていますが、主観で重要そうだなと…

継続的なアウトプットのために、ひとりAdvent Calendarを目論んだが、10/25でFinishした

一度は「ひとりAdvent Calendar」をやってみたいなーと思っていて、密かな目標として12月は25日まで毎日更新を目論んでいたのですが、半分にも満たない10日でFinishしました。 予定外に風邪をひいたりしてしまったことも多少は影響していますが、いやはや、…

古いDev Hub Trial Orgを消す #salesforce

Dev Hub Trial Orgはトライアル期限が過ぎてしまうと無用の長物になるわけなので、削除したいことがあります。 ~/.sfdx の下にある、 {Dev Hub Orgのユーザ名}.json を消せばいいみたいです。 あと、~/.sfdx/alias.json の方も修正する必要もあるかもしれま…

sfdxのカスタムプラグインを作ってみる #salesforce

sfdxにも少しずつ慣れていきたいなと思い、色々試してみようとしているところです。 手始めに $ sfdx help とヘルプコマンドを打ち、そこで初めて、sfdxはプラグイン機構を備えていることを知りました。 sfdxのカスタムプラグインはどんな感じに作られるのか…

Lightning基本コンポーネントのライブエディタを作ってみる #salesforce

昨日のエントリで検討した通り、シンプルな画面を新規開発する場合においては、Lightning基本コンポーネントを極力使って開発する、というのも、今後は一つの選択肢なんじゃないかなーという仮説を立ててみました。 Lightning基本コンポーネントについては、…

Lightning Experience流のUIを作る4つの方法と比較 #salesforce

アプリをSalesforce ClassicからLightning Experience(LEX)に移行するにあたり、検討・整理した事項についてのメモです。 Salesforceの新しいUIであるLEXですが、開発する画面のLook & FeelをLEXに合わせるためには、私が知る範囲では少なくとも以下の4つの…

$A.createComponentsでちょっと複雑なコンポーネントを動的に作成してみる #salesforce

Lightningコンポーネントには $A.createComponent や $A.createComponents メソッドを利用して、コントローラ(or ヘルパー)側で動的にコンポーネントを作成する手段が用意されています。 developer.salesforce.com 2つのメソッドの違いは単一のコンポーネ…

Salesforce開発デザインパターン集 #salesforce

Salesforce Platformの上でApexクラス・トリガやLightningコンポーネントを開発していく上でのデザインパターンについてのまとめ。 他にもあるかもしれないです(知っていたら教えてください) 先人の知恵、大事。 トリガ Trigger Frameworks and Apex Trigg…

AWS CodeBuildでいつの間にかDependency Cacheがサポートされてた

re:Inventの流れが早くて見逃していたのですが、AWS CodeBuildで依存関係のキャッシュ機構が使えるようになっていました。 aws.amazon.com 昔、自前で似たようなことをするためのやり方を試行錯誤してたのですが、もう不要ですね。 jappy.hatenablog.com あ…