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 あ…

SOAP API(wsc)で地理位置情報型や時間型を扱う #salesforce

Advent Calendarの季節になりましたね。世のエンジニアの1年間のノウハウが放出されるイベント、楽しみです。 さてそんな中、Advent Calendarとまったく関係のない記事になりますw(エントリを逃したとも言う…) SFDC謹製のJavaのAPIクライアントであるWSC …

Java8のLambda式とGroovy

Spockでテストコードを書く時の備忘録。 Consumer : void accept(T) メソッド public void method1(List<String> list, Consumer<List<String>> consumer) Java hoge.method1(foo, list -> list.add("aaa")); Groovy hoge.method1(foo, { list -> list.add('aaa') }) Predicate : </list<string></string>…

Trailheadはじめました(2) #salesforce

10月も終わろうとしていますが、依然とほぼ同じペースで時間を確保することができ、大分進みました。 ランク: Ranger バッジ: 202(内1つはハロウィーンのイベントバッヂ) ポイント: 165,325 トレイル: 32 50個ごとにSuperbadgeにチャレンジするという計画…

Trailheadはじめました #salesforce

ずっと食わず嫌いで手を付けていなかった、というわけでもないのですが、ドラクエ11も裏ボスまで倒してやることがほぼなくなったということもあり、Trailheadをはじめました。 やってみると、結構楽しいw 今のところのスコアはこんな感じ。 ランク: Expedit…

【一休 × JapanTaxi】サービスを支えるデータ分析基盤に行ってきた #ikyu_japantaxi

8/17(木)に開催された「【一休 × JapanTaxi】サービスを支えるデータ分析基盤」というイベントに行ってきました。 ikyu.connpass.com 資料は上記ページに公開されていますが、一応メモ。 一休.comを支えるデータ分析基盤 実践的な内容でよかったです。 AWS…

Spring BootのRedisCacheManagerでJSONをいろんな型で利用する

Spring Bootのキャッシュ抽象化(Redis)でJSONを利用したい場合のメモです。 ■ 目次 そもそもなんでJSON? Configuration Jackson2JsonRedisSerializerとGenericJackson2JsonRedisSerializerの違いについて GenericJackson2JsonRedisSerializerを使うと、戻…

エラー処理を考慮したコールアウト機構としてプラットフォームイベントが使えないか? #salesforce

昨日の続き。 jappy.hatenablog.com 「Salesforce to 外部ソース」のデータ連携(HTTPコールアウト)時に、プラットフォームイベントが有効に使えないか?と、ふと考えました。 この手の話では、これまでは @future や Queueable Apexを使うのが常套手段だっ…

Summer '17で正式リリースされたプラットフォームイベントの有効な使い方を考えてみた #salesforce

Salesforce Summer ‘17でプラットフォームイベント(エンタープライズメッセージングプラットフォーム)なる機能が正式リリース されました。 新機能については、以下の動画で分かりやすく説明されてます。 Summer ‘17 開発者向け新機能 - YouTube 動画を見…

DynamoDBのTTL機能とLambdaを使ってサーバレスでのタイマー実行処理ができないか考えてみた

バッチ処理の中には、定期実行ではなく、特定の時刻に実行したい、みたいなものがあります。 例えば、今から5分後とか3日後の12:00とか。ジョブスケジューラでよくある感じのやつです。 AWSで、サーバレスなアーキテクチャ(実行基盤はAWS Lambda *1)でこの…

Visual Studio Codeを使いはじめた

今までテキストエディタはSublime Textを使っていたのですが、Visual Studio Codeを使い始めました。まだ使い始めたばかりですが、好感触なので、近いうちに完全に乗り換えようと思います。 感想 デフォルトでの使いやすさ インストールした段階で、ほぼほぼ…

アーカイブ済みの活動をクエリする時はFROM ActivityHistoriesではなくFROM Event ... ALL ROWSを使った方がよさそう #salesforce

あるオブジェクトに関連付いている活動履歴レコードをクエリする場合、SOQLで以下のようにクエリします(関連先のオブジェクトのIDが hogeId の場合) SELECT Id, Subject, Description, StartDateTime, EndDateTime FROM Event WHERE WhatId = :hogeId ORDE…

AWS CodeBuildで依存ライブラリのキャッシュを利用する

2017.12.02 追記 buildspec.yml の cache セクションに記載することで、キャッシュを効かせられるようになりました! 詳細は→How to Enable Caching for AWS CodeBuild | AWS DevOps Blog 会社ブログに書きましたが、その続き、というかAWS CodeBuildのビル…

AWS SDK for Java (DynamoDBMapper)を使った条件付き書き込み

DynamoDBMapperの概要については以下に書かれています。 docs.aws.amazon.com DynamoDBMapper はタイプセーフに扱えて便利な反面、素のAWS API(オペレーション)が色々とラップされてしまっているので、以下によく使う利用法を逆引きリファレンスとして整理…

(続)活動を意図的にアーカイブしてテストしたい #salesforce

この前(というか日付的には昨日)、こんな記事を書きました。 jappy.hatenablog.com 「期日が1年以上前の活動を作ったら、そのうちアーカイブされると思ったが、1日待ってもアーカイブされなかった」というのが要旨ですが、改めて確認するとアーカイブされ…

活動を意図的にアーカイブしてテストしたい #salesforce

Salesforceにおける活動のアーカイブとしては、 期日が365日以上前の活動はアーカイブされる この365日という期限に関しては、サポートデスクに依頼することで(必要であれば)延長できる ことまでは書かれています。 さて、1件も活動が登録されていないクリ…