Skip to content

Instantly share code, notes, and snippets.

View bobbyjam99-zz's full-sized avatar

Tomokazu Imai bobbyjam99-zz

View GitHub Profile

Data Architecture and Management Designer

Data Archiving

  • 'Sforce-Enable-PKChunking' header
  • Loading Time
    • deferring sharing calculation
    • 'Public Read/Write'
    • Data operations such as workflow rules and validation rules can be disalbed
  • Field History Tracking
  • track up to 20 fields
trigger BatchApexErrorTrigger on BatchApexErrorEvent (after insert) {
List<BatchLeadConvertErrors__c> errors = new List<BatchLeadConvertErrors__c>();
for(BatchApexErrorEvent event : Trigger.New) {
BatchLeadConvertErrors__c blcerror = new BatchLeadConvertErrors__c();
blcerror.AsyncApexJobId__c = event.AsyncApexJobId;
blcerror.Records__c = event.JobScope;
blcerror.StackTrace__c = event.StackTrace;
errors.add(blcerror);

ITアーキテクチャのセオリー

目次

第1部: 何をなすべきか?

  • 問題の所在
  • 取り組むべき課題は何か?
  • 取り組みにあたっての留意点

Sharing and Visibility Designer

  • Public Read/Write にすると共有ルールが計算されないからパフォーマンスが良い?
  • 1ユーザが10000レコード以上持つと ownership data skew が発生する
  • Salesforce は、システム定義グループを使用して階層を実装します。
  • Salesforce は、再適用時にロール階層のノードごとに Role グループと RoleAndSubordinates グループの 2 種類のシステム定義グループを作成します。
  • 組織で外部組織の共有設定が有効になっている場合は、3 つ目の種類のシステム定義グループ RoleAndInternalSubordinates が作成されます。
  • Updates to parent records (parent account records) and their children (Opportunities) are being processed simultaneously in separete threads.
  • Updates to child records (related oppotunities) that have the same parent records (accounts) are being processed simultaneously in separete threads.
@bobbyjam99-zz
bobbyjam99-zz / non-functional_requirements_grade.md
Last active July 26, 2021 23:34
非機能要求グレード 2018 早見表

非機能要求グレード 早見表

詳細は システム構築の上流工程強化(非機能要求グレード) 参照。

A.可用性

項番 大項目 中項目 小項目 メトリクス(指標) 重要項目
A.1.1.1 可用性 継続性 運用スケジュール 運用時間(通常)
A.1.1.2 運用時間(特定日)
A.1.1.3 計画停止の有無
A.1.2.1 業務継続性 対象業務範囲
<aura:component implements="flexipage:availableForAllPageTypes" access="global">
<aura:attribute name="notifications" type="List"/>
<aura:attribute name="isMuted" type="Boolean" default="false"/>
<aura:handler name="init" value="{!this}" action="{!c.onInit}"/>
<aura:registerEvent name="toastEvent" type="force:showToast"/>
<div class="countainer">
<!-- Header -->
<div class="slds-p-around_x-small slds-border_bottom slds-theme_shade">
<div class="slds-grid slds-grid_align-spread slds-grid_vertical-align-center">
<div>
Long startTime = DateTime.now().getTime();
Long finishTime = DateTime.now().getTime();
while ((finishTime - startTime) < 9000) {
// sleep for 9s
finishTime = DateTime.now().getTime();
}
System.assertEquals(Integer.valueOf((finishTime - startTime) / 1000), 9);
System.debug('>>> Done from ' + startTime + ' to ' + finishTime);
@bobbyjam99-zz
bobbyjam99-zz / OrgLimitSample.cls
Created March 22, 2019 00:55
OrgLimit クラス 使用サンプル
/**
* https://developer.salesforce.com/docs/atlas.ja-jp.apexcode.meta/apexcode/apex_class_System_OrgLimit.htm
*/
List<System.OrgLimit> limits = OrgLimits.getAll();
for (System.OrgLimit aLimit: limits) {
System.debug('Limit: ' + aLimit.getName());
System.debug('Usage Value is: ' + aLimit.getValue());
System.debug('Max Limit is: ' + aLimit.getLimit());
}
import java.io.*
fun main(args: Array<String>) {
val inputFilePath = "/path/to/inputfile"
val outputFilePath = "/path/to/outputfile"
val times = 1
val lines = ArrayList<String>()
var header = ""

JSUG勉強会

会場 : Pivotal Japan

Spring と SPA

  • ビルドの部