[JavaScript]コールバック関数

コールバック関数について共有します。

コールバック関数とは、上から順番に実行されない関数のことです。

プログラムは上から下へと実行されますが、コールバック関数は何らかの条件の後に登録され実行される関数のことになります。

●コールバック関数とは

コールバック関数とは、他の関数に引数として渡される関数です。

コールバック関数はイベントハンドラとして多く用いられます。

ここでイベントハンドラおてゃ、ボタンリック時のような、何らかのイベントが発生した際に実行する関数を指します。

●コールバック関数の使い方

コールバック関数の使い方は以下の通りです。

以下は、コールバック関数function1を、function2の引数として渡しています。

var function1 = function(){
//
}

function2(function1);

SalesforceのVisualforceを利用して例は以下です。

<apex:page sidebar="false" showHeader="false">
<script language="javascript" type="text/javascript">

    // パラメータなし
    function btnClick1() {
    
        hello('煌木 太郎', funcPrint);

    }

    // パラメータなし
    function hello(name, callback) {
    
        callback(name);

    }

    function funcPrint(name) {

        console.log("こんにちは!", name, "さん");

    }

</script>
<apex:form id="formId" target="_blank">
    <apex:pageBlock >
        <apex:commandButton value="sayHello()" onClick="btnClick1();" />
    </apex:pageBlock>
</apex:form>
</apex:page>

[Technical Method]TortoiseGitインストールと操作例

TortoiseGitインストールと操作例について共有します。

●事前準備

・Git の設定

 - Gitのバージョン確認

  Git の公式ページにアクセスし、最新バージョンのバージョン番号確認

  Windowsの場合はコマンドプロンプト、Macの場合はターミナルを起動

  git --version と入力し、実行

  バージョン番号が表示され、これが最新バージョンと一致しない場合は、Gitインストールする。

  

●TortoiseGitインストール

 - 基本的なソフトウェアをChocolateyを使用してインストール

 - Windowsの場合はコマンドプロンプト(管理者として実行)、Macの場合はターミナルにて、以下のコマンドを実行する。

@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
cinst -y chocolatey
cinst -y googlechrome
cinst -y firefox
cinst -y sakuraeditor 
cinst -y putty.install
cinst -y winscp
cinst -y cyberduck
cinst -y git.install
cinst -y curl
cinst -y jdk8
cinst -y gradle
cinst -y vscode
cinst -y winmerge
cinst -y virtualbox
cinst -y vagrant
cinst -y docker
cinst -y awscli
cinst -y heroku-cli
cinst -y gcloudsdk
cinst -y azure-cli
cinst -y terraform
cinst -y selenium
cinst -y selenium-chrome-driver
cinst -y slack
cinst -y jmeter
cinst -y 7zip
cinst -y heidisql
cinst -y TortoiseGit
cinst -y sourcetree
cinst -y git-lfs
chocolatey upgrade all

●プロジェクトのチェックアウト

・リポジトリのクローン

 C:\git フォルダを作成する

  

cd C:\git

 GitHubで、クローンするリポジトリの「Clone or download」ボタンをクリックしてURLをコピーする。

コマンドプロンプトで、下記コマンドを実行する

git clone [コピーしたURL]

●最新のファイルをダウンロードする

・リモートリポジトリの変更を取り込む(pull)

右クリック→Git Sync…​ を押下する。
Pullボタンを押下し、成功メッセージが表示されることを確認する。

・ファイルを追加する

対象ファイルを右クリック→TortoiseGit→Add を押下し、成功メッセージが表示されることを確認する。

・ローカルリポジトリとリモートリポジトリに変更を書き込む(commit&push)

右クリック→Git Commit を押下する。
チケット番号とコミットコメントを入力してCommit&Pushボタンを押下し、成功メッセージが表示されることを確認する。

・ローカルの変更を取り消す

対象ファイルを右クリック→TortoiseGit→Revert を押下し、成功メッセージが表示されることを確認する。

・競合を解消する

複数のメンバーが同時に同一ファイルを編集した場合、pullまたはpush時に競合が発生する。

  競合の内容を確認し、必要な箇所を修正してマージする。

  対象ファイルを右クリック→Resolve を押下し、成功メッセージが表示されることを確認する。

 

・ファイルを削除する

対象ファイルを右クリック→TortoiseGit→Delete を押下し、成功メッセージが表示されることを確認する。

[Excel]ExcelでSQLite操作

ExcelでSQLite操作手順を共有いたします。

SQLiteForExcelをダウンロードする

https://github.com/govert/SQLiteForExcel/releases

SQLite For Excel Version 1.0 Zipファイルをダウンロードする。

・ダウンロードされたZipファイルを解凍する。

・解凍されたファイルの「Distribution」フォルダを開き、以下のファイルをコピーして作業用フォルダに貼り付ける。

 1.PCのスペックが32Bitの場合

  「Distribution」フォルダの中の以下

  SQLite.dll

  SQLite3_StdCall.dll

SQLiteForExcel.xls

  2.PCのスペックが64Bitの場合

   「Distribution」フォルダの中の以下

SQLite3_StdCall.dll

SQLiteForExcel_64.xls

   「Distribution」フォルダの「x64」フォルダ中の以下

 SQLite.dll

・SQLiteのDBファイルを作業フォルダの下におく。

 例えば、ファイル名:Test.sqlite3

・例えば、64Bitの場合、SQLiteForExcel_64.xlsを開き、標準モジュールの「Sqlite3Demo」のAllTests関数の以下のように変更する。

TestFile = “保存フォルダ\Test.sqlite3”

InitReturn = SQLite3Initialize(ThisWorkbook.Path)
ここで、ThisWorkbook.Path(=ActiveのExcelファイルがあるフォルダ)にSQLite.dllあることを再確認しておく。

・Select文確認

例えば、関数TestSqliteSelect作成して、以下のコードを埋め込む。

Public Sub TestSelectCustomize()
    #If Win64 Then
    Dim myDbHandle As LongPtr
    Dim myStmtHandle As LongPtr
    #Else
    Dim myDbHandle As Long
    Dim myStmtHandle As Long
    #End If
    Dim RetVal As Long
    
    Dim stepMsg As String
    
    Debug.Print "----- TestSelect Start -----"
    ' Open the database - getting a DbHandle back
    RetVal = SQLite3Open(TestFile, myDbHandle)
    Debug.Print "SQLite3Open returned " & RetVal
    
    '-------------------------
    ' Select statement
    ' ===============
    ' Create the sql statement - getting a StmtHandle back
    RetVal = SQLite3PrepareV2(myDbHandle, "SELECT * FROM " & TableName, myStmtHandle)
    Debug.Print "SQLite3PrepareV2 returned " & RetVal

    ' Start running the statement
    RetVal = SQLite3Step(myStmtHandle)
    If RetVal = SQLITE_ROW Then
        Debug.Print "SQLite3Step Row Ready"
        PrintColumns myStmtHandle
    Else
        Debug.Print "SQLite3Step returned " & RetVal
    End If
    
    
    Dim colCount As Long
    Dim colName As String
    Dim colType As Long
    Dim colTypeName As String
    Dim colValue As Variant
    
    Dim i As Long
    
    colCount = SQLite3ColumnCount(myStmtHandle)
    Debug.Print "Column count: " & colCount
    For i = 0 To colCount - 1
        colName = SQLite3ColumnName(myStmtHandle, i)
        colType = SQLite3ColumnType(myStmtHandle, i)
        colTypeName = TypeName(colType)
        colValue = ColumnValue(myStmtHandle, i, colType)
        Debug.Print "Column " & i & ":", colName, colTypeName, colValue
    Next
    
    
    ' Close the database
    RetVal = SQLite3Close(myDbHandle)

    Debug.Print "----- TestSelect End -----"
End Sub

[Server Connection]vs codeでXserver接続

vscodeでXserver接続手順を共有します。

・Tera Term起動する。

・公開鍵、秘密鍵生成する。

Tera Termメニュー > 設定 > SSH鍵生成

鍵の種類:RSA

生成ボタン押下

鍵のパスフレーズ入力する

例:test

パスフレーズの確認

例:test

公開鍵の保存する。

秘密鍵を保存する。

・Xserverにて、SSHに公開鍵を登録する。

サーバーパネル > SSH設定 > 変更を「ONにする」選択 >設定する。

公開鍵を登録する。

・vs codeにて「SSH FS」インストールする。

・メニュー > View > SSH FS : Create a SSH FS Configuration

以下の登録する。

Name :xserver

Label : xserver

host : sv1111.server.jp

※ホスト名:sv1111.server.jp

Port : 10022

Root : /home/svname

   ※サーバーID : svname

Username : svname

    ※Tera Termで鍵作成時にUsername : svname

Password : true

Private key : /TEST/rsa/id_rsa

     ※秘密鍵の保存場所とファイル指定

Passphrase : test

     ※Tera Termで鍵作成時にパスプレース : test

・vs codeの「SSH FILE SYSTEMS」の「xserver」を右クリックして、「Connect Workspace Folder」選択

・SSH FS -xserverの下にツリー構造でDirectoryが表示されること。

[Server Connection]Tera TermでXserver接続

Tera TermでXserverに接続する手順を共有します。

・Tera Term起動する。

・公開鍵、秘密鍵生成する。

Tera Termメニュー > 設定 > SSH鍵生成

鍵の種類:RSA

生成ボタン押下

鍵のパスフレーズ入力する

例:test

パスフレーズの確認

例:test

公開鍵の保存する。

秘密鍵を保存する。

・Xserverにて、SSHに公開鍵を登録する。

サーバーパネル > SSH設定 > 変更を「ONにする」選択 >設定する。

公開鍵を登録する。

・Tera Termにてホスト入力する

ホスト:Xserverのホスト名

例、sv1111.xserver.jp

・TCPポート入力

TCPポート : 10022

・サービス選択

SSH

・OKボタン押下する。

・ユーザ名を入力する

XserverのサーバーID

例、svname

・パスフレーズ

Tera Termで公開鍵、秘密鍵作成時に「パスフレーズ」登録する。

・RSA/・・・の「秘密鍵」ボタン押下して、Tera Termで作成して秘密鍵を選択する。

・OKボタン押下する。

・接続されることを確認する。

正常に接続されると、

Last login: Mon Jun 1 12:34:56 1234 from m111111111111.v4.enabler.ne.jp
[svname@sv1111 ~]$

[Salesforce]Sandboxと本番環境の判定

Sandboxと本番環境の判定について共有します。

Organization org = [select Id, IsSandbox from Organization limit 1];
System.debug(‘—– org.IsSandbox : ‘+org.IsSandbox);

実行結果

Sandbox環境の場合
—– org.IsSandbox : true

本番環境の場合
—– org.IsSandbox : false

Visualforceページタグ表示切替


確認方法

VFページを表示し、短縮キーCtrl-u押下して、Sandbox環境には表示されないが、本番環境では表示されることを確認する。