モブプログラミングとは3人以上のエンジニアで1つのプログラムを書く手法。
1人がコードを書き、他の人はディスプレイに映した画面を見ながらやいのやいの意見を言って、プログラムを完成させます。コードを書く人をドライバー、意見を言う人をナビゲーターと言います。
または1人ずつ回りながらコードを書き、周りの人も意見を述べて進めていくパターンなどあります。
[Software]Mobster
[Salesforce]salesforce カスタムボタンのjavascriptでレコードタイプ取得
salesforce カスタムボタンのjavascriptでレコードタイプ取得方法の例を共有します。
{!REQUIRESCRIPT("/soap/ajax/29.0/connection.js")}
var result = sforce.connection.query("Select Id, DeveloperName, Name From RecordType Where SobjectType = 'TestCustomObject__c' AND DeveloperName = 'devtest' limit 1");
var records = result.getArray("records");
alert('id='+records[0].Id+",Name="+records[0].Name+",DeveloperName="+records[0].DeveloperName);
ここで、
TestCustomObject__c : カスタムオブジェクトAPI参照名
レコードタイプ名 : devtest
レコードタイプ表示ラベル : test
[Technical terms]ソースコード管理
ソースコード管理とは、
誰が
何を
変更したかの
履歴を管理すること
よって変更によるトラブルが回避できたり、共同作業を可能にするものです。
[Software]VScodeでGit管理
VScodeでGit管理するのを共有します。
・インストールする。
gitインストール
Visual Studio Codeインストール
https://code.visualstudio.com/
・VScodeにて拡張機能で「git history」インストール
自分の環境
Windows 10 Pro
Gitバージョン
C:\Users\xxxx-xx>git --version
git version 2.25.0.windows.1
Visual Studio Code Version
1.40.0
Gitインストールして合わせてインストールされている「Git Bash」起動する。
$ git config --global user.name 'username'
$ git config --global user.email 'username@example.com'
$ git config --global core.editor 'code --wait'
$ git config --global merge.tool 'code --wait "$MERGED"'
$ git config --global push.default simple
VScode起動
Gitへコミットするソースコードを表示する。
左サイドの「Source Control」押下し、「+」マーク(=Initialize Repository)を押下する。
GitコミットするSource Folderを選択する。
Changesにソースコードがぶら下がって表示されることを確認する。
Comit Allリンク押下する。
メッセージ登録してEnterする。
Changesにぶら下がっていたソースが0件であること。
・VSCodeにてコミット履歴を確認する。
Git: View History (git log)
・VSCodeにてソールコードを一部変更する。
Changesにソースコードがぶら下がって表示されることを確認する。
Comit Allリンク押下する。
メッセージ登録してEnterする。
Changesにぶら下がっていたソースが0件であること。
・VSCodeにてコミット履歴を確認する。
Git: View History (git log)
All Branchを表示すると、初回コミット以降にコミットしたBranchが表示される。
初回コミットほかのBranchを選択する。
確認したソースコードを選択する。
例えば、Compare against Previous Version選択する。
前のVersionと現在のVersionの違いを確認できる。
[Excel]セル内文字列を別セルへ分割
Excelのセル内文字列を別セルへ分割する内容を共有します。
A1セルをB1セルとC1セルに分割したい場合
例えば、
A1セル値
name:テスト太郎
B1セル数式
=LEFT(A1,FIND(“:”,A1)-1)
C1セル数式
=MID(A1,FIND(“:”,A1)+1,LEN(A1))
結果
B1セル
name
C1セル
テスト太郎
[Excel]重複データに色付け
Excelで重複データに色付けする手順を共有します。
1.重複チェックしたい列を選択します。
2.「ホーム」→「条件付き書式」→「セルの強調表示ルール」→「重複する値」順にメニューを選択します。
3.重複チェックした列に重複データのセルに背景色が変わっていることを確認する。
[Software]Clibor
コピーした文字列を蓄積する手軽いツール
ダウンロード
https://www.vector.co.jp/soft/winnt/util/se472890.html
ダウンロードして、解凍してから使用する。
使用方法
Ctrlキーを2回連続でたたくと、コピーして文字列リストが表示されます。
表示されたリストから、再度使用する文字列をコピーして使用することができます。
[Salesforce]ObjectNameからPrefix取得
SalesforceのObjectNameからPrefixを取得するのを共有します。
開発コンソル画面にて「Debug」タブの「Open Execute Anonymous Window」画面にて以下を実行する。
String objName ='Account';
schema.sObjectType sObjType = Schema.getGlobalDescribe().get(objName);
system.debug('prefix:'+(sObjType.getDescribe().getKeyPrefix()));
DebugLog結果は以下です。
prefix:001
[Salesforce]You have uncommitted work pending. Please commit or rollback before calling out
Salesforceの「You have uncommitted work pending. Please commit or rollback before calling out」エラーの原因と解決策について共有します。
・原因
開発においては、外部 Web Service から取得した結果に基いてセールスフォース内のレコードを作成/更新するケースが多々あります。
しかしながら、同じトランザクション内で DML(Insert/Update/Upsert/Delete)発行後にコールアウトを行なう事はでません。
・解決策
上記の様なケースに対応するためには、トランザクションを分け、DMLを発行する前のトランザクションでコールアウト処理を実行する必要があります。