2019年6月

【JavaScript】関数スコープとブロックスコープ

  • 2019.06.12

概要 ES6以前は、JavaScriptの変数はvarで宣言することのみが可能でした。ES6以降はletとconstを加えて、3種類で変数を宣言することが可能となりました。本記事では、これらを使って宣言した変数が関数スコープとブロックスコープでどのような違いがあるかを記載します。 関数スコープ 関数内でvarを使用して宣言した変数は、関数外で使用するとエラーとなります。 ブロックスコープ ifやfor等のブロック内でvarを使用して宣言した変数は、ブロック外で使用してもエラーとならず、そのまま使用することができてしまいます。 letやconstを使用した場合 ES6以降で登場したletやconstを使用することで上記のような関数スコープとブロックスコープの差をなくすことができます。※ 本記事ではletとconstの違いは触れません。簡単にいうと上書きできるかできないかです。 関数スコープ ブロックスコープ 参考 The Difference Between Function and Block Scope in JavaScripthttps://medium.com/@josephcardillo/the-difference-between-function-and-block-scope-in-javascript-4296b2322abe

Salesforce CLIを整理してみた

  • 2019.06.02

概要 本記事は、Salesforce CLIで使用可能なコマンドを整理したものとなります。筆者が気になったコマンドついては、個別に実行してどのような結果となるかを試してみました。ただし、これらのコマンドは毎リリースで仕様が更新されているので最新情報は下記のURLで確認してください。https://developer.salesforce.com/docs/atlas.en-us.sfdx_cli_reference.meta/sfdx_cli_reference/cli_reference.htmなお、本記事に記載の情報は、summer’19(Ver46)時点のものとなります。 コマンド整理 alias Commands alias:list CLIのコマンドで使用できる別名をリスト表示 alias:set CLIのコマンドで使用できる別名を設定 sfdx force:alias:listローカルで使用しているユーザIDに対する別名をリストで確認することができます。sfdx force:alias:set YourAlias=username@example.com別名を設定することもできます。 apex Commands apex:class:create Apexクラスの作成 apex:execute Apexクラスの実行 apex:log:get 最後のデバックログを取得 apex:log:list デバックログIDのリストを表示 apex:log:tail ターミナルでデバックログのテイルを有効化 apex:test:report 特定のテストを実行した結果を表示 apex:test:run Apexのテストを実行 apex:trigger:create Apexトリガーの作成 sfdx force:apex:class:create -n sfdxCliApexTest -d ./classes/クラス名とローカルのディレクトリを指定してApexクラスを作成します。 sfdx force:apex:execute -f ./classes/sfdxCliApexTest.clsローカルのApexクラスをファイルを実行することができます。 sfdx force:apex:log:list auth Commands auth:jwt:grant JWTフローで組織へ認証 auth:list 認証済の接続情報をリストで表示 auth:logout 認証済みの組織からログアウト auth:sfdxurl:store SFDXの認証URLを使用して組織へ認証 auth:web:login ブラウザのログイン画面経由で認証 sfdx force:auth:web:login -a <別名> -r <インスタンスURL>通常のWEBのログイン画面でユーザID、パスワードで認証できます。 sfdx force:auth:listローカルでSalesforce組織に対して認証済の接続情報をリストで表示します。 config Commands config:get デフォルトのスクラッチ組織/DebHub/インスタンスURLの設定を取得 config:list CLIのための設定変数をリストで表示 config:set CLIのためのLocalとGlobalの設定変数を更新 sfdx force:config:listローカルでCLIのための設定変数をリストで表示します。 data Commands data:bulk:delete CSVファイルのレコードリストをバッチで削除 data:bulk:status BulkAPIのJob/バッチステータスをポーリング data:bulk:upsert BulkAPIによるUPSERTのJobかバッチを作成 data:record:create レコードをINSERT data:record:delete 単一レコードをDELETE data:record:get 単一レコードを表示 data:record:update 単一レコードをUPDATE data:soql:query SOQLを実行 data:tree:export sObjectとツリーフォーマット(json)で組織からデータをエクスポート data:tree:import sObjectとツリーフォーマット(json)で組織へデータをインポート sfdx force:data:record:update -s Account -i 0017F00000ezMN3QAM -v “Name=GenePoint-Update”-sでオブジェクト名、-iでID、-vで更新カラムと値を引数で渡すことでUPDATEできる sfdx force:data:record:update -s Account -w “Name=’GenePoint'” -v “Name=’GenePoint-Update'”-wでWHERE句のように条件を指定することもできる sfdx force:data:soql:query -q “SELECT Id, Name FROM Account”SOQLを実行して結果を表示する sfdx force:data:tree:export -q “SELECT Id, Name FROM Account”SOQLを実行してjson形式でデータをエクスポートする doc Commands doc:commands:display コマンドのヘルプを表示 doc:commands:list コマンドのリスト表示 sfdx force:doc:commands:listforce名前空間のCLIコマンドを全て一覧で表示 lightning Commands lightning:app:create Lightningアプリケーションを作成 lightning:component:create AuraコンポーネントかLWCの枠を作成 lightning:event:create Lightningイベントの枠を作成 lightning:interface:create Lightningインターフェースの枠を作成 lightning:lint Auraコンポーネントコードに対して静的解析、または「lint」ツールを実行 lightning:test:create Lightningテストを作成 lightning:test:install Lightning Testing Serviceに非管理パッケージを組織にインストール lightning:test:run Auraコンポーネントのテストを実行 limits Commands limits:api:display APIコールやイベントの制限について最大数と残数を表示 sfdx force:limits:api:display mdapi Commands mdapi:convert メタデータAPIで取得したメタデータをDXプロジェクトで利用できるソース形式に変換 mdapi:deploy 作成、更新したコンポーネントを組織にデプロイ mdapi:deploy:cancel 非同期のデプロイをキャンセル mdapi:deploy:report 非同期のメタデータのデプロイ状況をチェック mdapi:describemetadata 組織で有効なメタデータタイプを表示 mdapi:listmetadata 特定のメタデータタイプのプロパティを表示 mdapi:retrieve 対象の組織からメタデータをxmlファイルのZipを取得 mdapi:retrieve:report 非同期のメタデータの取得状況をチェック sfdx force:mdapi:describemetadata sfdx force:mdapi:listmetadata -m CustomObject org Commands org:clone (Beta) 設定ファイルかkey-valueのペアで指定された値を使ってSandbox組織をクローン org:create 設定ファイルかkey-valueのペアで指定された値を使ってSandbox組織かスクラッチ組織を作成 org:delete スクラッチ組織を削除 org:display 対象の組織の説明を表示 org:list CLIで作成したもしくは、認証した組織をリスト表示 org:open ブラウザで組織を表示 org:shape:create […]