Skip to content

Instantly share code, notes, and snippets.

View bobbyjam99-zz's full-sized avatar

Tomokazu Imai bobbyjam99-zz

View GitHub Profile
@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 業務継続性 対象業務範囲
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);

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

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.
<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

  • ビルドの部