KEEPTIME モバイルモニター 15.6インチ 1920*1080 モバイルディスプレイ ポータブルモニター IPS液晶パネル 非光沢画面 薄型 軽量 マグネット保護カバー付き USB Type-C ミニHDMI PS4/XBOX/Switch/PC/Macなど対応 在宅勤務 リモートワーク
¥14,990 (2025年5月6日 13:15 GMT +09:00 時点 - 詳細はこちら価格および発送可能時期は表示された日付/時刻の時点のものであり、変更される場合があります。本商品の購入においては、購入の時点で当該の Amazon サイトに表示されている価格および発送可能時期の情報が適用されます。)

Salesforceのプログラミング言語”Apex”を楽しく学べるサイト”ApexSandbox.io”を紹介します。
ApexSandbox.io
環境構築が不要で自動テストできるので初学者にもおすすめです。
1.”ApexSandbox.io”とは
Salesforceのプログラミング言語であるApexを学習するためのサイトです。
Salesorceの開発環境を使って、サイトにログインします。
練習問題が用意されていて、実際にコードを書いて実行します。
問題に挑戦することでApexのスキルが効率的に身につきます。
単体テストが用意されていて、実行するとAssert結果を即座に確認できます。
練習問題は103問あり、8つのセクションに分かれています。
2.”ApexSandbox.io”の楽しみ方
①Google翻訳を活用する
②”Apex 開発者ガイド”や”Trailblazerコミュニティ”を活用する
実装方法がわからないときは、どんどん調べましょう。
・Apex 開発者ガイド : Stringクラス
・Trailblazerコミュニティ : #109 – Two Sum II [Spoiler alert – code included]
③別解を探す
問題によっては複数の実装方法があります。
リファクタリングしてパフォーマンスや可読性を高めましょう。
④”開発者コンソール”や”VS Code”でデバッグする
処理が複雑になったら”System.debug()”でトレースしましょう。
3.練習問題の紹介
お気に入りの問題をひとつ紹介します。
・122 – Same String
2つの文字列を修正して比較する問題です。
‘#’をバックスペースに見立てています。
2つ以上繋がった’#’の処理が難しいです。
Javaと違いchar型や関連メソッドが使えないので文字の取得に工夫が必要です。
ApexのcharAtメソッドは、文字ではなく文字の値を返します。
※”‘a’.charAt(0)”なら’a’ではなく’97’を返す
“str.split(”)”で文字をひとつずつ取得しました。
// 回答例(122 - Same String)
public static Boolean sameString(String str1, String str2){
// solution
str1 = modifiedString(str1);
str2 = modifiedString(str2);
return str1.equals(str2);
}
/**
* 文字列からハッシュタグ(#)でマークされた部分を除外し、残りの文字を返す
*
* @param str 処理対象の文字列
* @return ハッシュタグとその前の文字を除いた文字列
*/
private String modifiedString (String str){
ListString> chars = str.split(''); // 入力文字列を個々の文字に分割するリスト
Integer currPosition = chars.size() - 1; // 文字列の末尾からのカーソル位置
Integer hashTagCount = 0; // 現在処理中のハッシュタグの数
String result = ''; // 出力される文字列
// 文字列を末尾から先頭に向かって走査
while (currPosition >= 0){
// 現在の位置がハッシュタグの場合、カウンターを増加
if (chars.get(currPosition).equals('#'))
hashTagCount++;
// 現在の位置がハッシュタグでなくカウンターがあれば、カウンターを減少
else if (hashTagCount > 0)
hashTagCount--;
// 結果に文字を追加
else
result = result + chars.get(currPosition);
currPosition--;
}
return result;
}
4.各セクションの概要
①Apex 101
Apexの基礎を学ぶための入門セクションです。
以下の内容が含まれます。
・制御構造(ループ、条件分岐)
・標準関数(Listクラス、Mathクラス、Stringクラス)
・コレクションの基礎(List、Map)
・アルゴリズムの基礎(フィボナッチ数列、偶数・奇数、うるう年)
②Database 101
Salesforceのデータベース操作を学ぶセクションです。
Salesforceの開発環境に管理パッケージをインストールします。
[引用]
Note: This problem requires installation of a packaged data model. Install package in your org and read up on the data model
以下の内容が含まれます。
・クエリ言語の基礎(SOQL)
・DML操作(insert)
・データの検索とフィルタリング
・例外処理
③Apex Language Features
Apex固有の言語機能について学ぶセクションです。
以下の内容が含まれます。
・型チェック(instanceof)
・標準関数(Jsonクラス、Listクラス、Stringクラス)
・例外処理
④SObjects
Salesforceの標準オブジェクトとカスタムオブジェクトの操作方法を学びます。
以下の内容が含まれます。
・sObjectの基本的な操作
・標準関数(Systemクラス、Listクラス、Stringクラス、Systemクラス)
・参照関係
⑤Lists
リストコレクションの操作方法を学びます。
以下の内容が含まれます。
・Listクラスの操作
・リストのソート
・インデックスによるアクセス
・実践的な使用パターン
⑥Sets
セットコレクションの特徴と使用方法を学びます。
以下の内容が含まれます。
・Setクラスの操作
・重複しない要素の管理
・実践的な使用パターン
⑦Maps
マップコレクションの特徴と使用方法を学びます。
以下の内容が含まれます。
・Mapクラスの操作
・キーと値のペア管理
・効率的な検索と更新
・実践的な使用パターン
⑧Data Structures & Algorithms
より高度なデータ構造とアルゴリズムについて学びます。
以下の内容が含まれます。
・スタックとキューの実装
・ソートアルゴリズムの実装
・検索アルゴリズムの実装
・その他アルゴリズムの応用(文字処理、配列操作)
4.まとめ
“ApexSandbox.io”でApexを楽しく学んで実践的な技術を身につけましょう。
5.参考リンク
・ApexSandbox.io
・Apex 開発者ガイド
・Apex Practice Problems – ApexSandbox.io
Views: 2