2023年11月18日土曜日

[雑記]ドローン(DJI Mini 3)

(1)雑記
もともと多趣味の友人masakazu Drone氏が、
最近、ドローンにハマり始めて、
更に、新たな趣味が増えたとのこと。

ドローンを始めてから、
まだ1年も経っていないとのことですが、
旅行先で山や川の景色を空撮して、
Youtubeに公開できるほどの腕前です。
あまりに素晴らしい出来栄えなので、当ブログで紹介します。
masakazu Drone氏には許可済
Youtubeにはmasakazu Drone 氏の名前で公開。

ちなみに、空撮に使用しているドローンは、以下の通り。
初心者にもオススメ
機種名:DJI Mini 3 (2022年12月発売)
 趣味・プライベート用で最高のドローン
 ①携帯性が良い。重量249g未満
 ②スタミナ性が良い。
  通常バッテリーで38分、
  インテリジェントフライトバッテリーで51分
  の飛行可能
 ③4K画像が撮れる。解像度4K/30fps
 ④縦型動画で撮影可能。


ドローンで空撮したらこんな感じ bymasakazu Drone
荘川の桜
 https://www.youtube.com/watch?v=RSk4vhhttMg&t=65s
浜松市遠州海岸
 https://www.youtube.com/watch?v=We8sXDrs2GI&t=21s
2024 開田高原
 https://www.youtube.com/watch?v=5-6nW4GtwFg
2024 奥飛騨栃尾温泉 蒲田川
 https://www.youtube.com/watch?v=Vzi8UEucNBE
ドローンと猫と吾輩
 https://www.youtube.com/watch?v=6tGYjTVzvr0
岐阜県恵那市(保古の湖)
 https://www.youtube.com/watch?v=wj1MBC4QSmA
岐阜県中津川市(愛林公園)
 https://www.youtube.com/watch?v=2iZ6d8llgBQ&t=10s
岐阜県中津川市(根の上高原)
 https://www.youtube.com/watch?v=s8k30qu_qDs
せせらぎ街道 大倉滝
 https://www.youtube.com/watch?v=UYzhKzPjBTc&t=4s
せせせらぎ街道 平滝
 https://www.youtube.com/watch?v=KVrUSdfl9Lk&t=22s


(2)空撮に使ったドローンについて
上記のドローンのリンクです。
これから始めてみたい方など、ご参考にでもなればと思います。






2023年11月3日金曜日

[JavaSctipt]オブジェクト指向の実装(クラスの継承)

[はじめに]
JavaScriptの規格は、
ECMAScript(エクマスクリプト)で定められています。

JavaScriptは時代と共に進化しており、
最近のブラウザの大半は、
ECMAScriptのバージョンとして、ES6(ES2015)以降を取り入れています。

ES6(ES2015)は、
クラスなど、オブジェクト指向の概念を取り込んでおり、
最近のソースでもクラスの記載が散見されます。
もちろん、クラスの継承も可能です。

備忘録として、
クラスの継承についてのサンプルソースを掲載します。
以下は、
親クラス「Mammalクラス(哺乳類)」
子クラス「Dogクラス(犬)」「Catクラス(猫)」とした実装例です。
実行結果_オブジェクト指向の継承_クラス図.png
//【クラス定義(Mammal.js)】
class Mammal{

   //変数宣言(Private)
   //※変数名の先頭に「_」を付加することでPrivate指定になります。
   //名前
   #_name = "";

   //コンストラクタ
   constructor(name){
      this.#_name = name;
   }

   //名前
   get name(){
      return this.#_name;
   }

}
[JavaScript]親クラス(Mammal.js)



//【クラス定義(Dog.js)】
//  Mammalクラスを継承
class Dog extends Mammal{

   //コンストラクタ
   constructor(name){
      //注意:
      //親クラスを継承する際、コンストラクタを定義する場合は、
      //必ずsuper(親クラスのコンストラクタ)を呼び出してください。
      //但し、superを呼び出す前に'this' にアクセスすると、
      //エラーになりますのでご注意ください。
      super(name);
   }

   //挨拶をする。
   sayHello(name){
      window.alert(
         "こんにちは。私の名前は" + this.name + "です。");
   }

   //鳴く
   cry(){
      window.alert("ワンワン");
   }

}
[JavaScript]子クラス(Dog.js)



//【クラス定義(Cat.js)】
//  Mammalクラスを継承
class Cat extends Mammal{

   //コンストラクタ
   constructor(name){
      //注意:
      //親クラスを継承する際、コンストラクタを定義する場合は、
      //必ずsuper(親クラスのコンストラクタ)を呼び出してください。
      //但し、superを呼び出す前に'this' にアクセスすると、
      //エラーになりますのでご注意ください。
      super(name);
   }

   //挨拶をする。
   sayHello(name){
      window.alert(
         "こんにちは。私の名前は" + this.name + "です。");
   }

   //鳴く
   cry(){
      window.alert("にゃーにゃー");
   }

}
[JavaScript]子クラス(Cat.js)



<html>
<head>

<script language="javascript" src="./Mammal.js"></script>
<script language="javascript" src="./Dog.js"></script>
<script language="javascript" src="./Cat.js"></script>
<script language="javascript" >

   function dog_access()
   {
      const mammal = new Dog("ポチ");
      mammal.cry();
      mammal.sayHello();
   }

   function cat_access()
   {
      const mammal = new Cat("タマ");
      mammal.cry();
      mammal.sayHello();
   }


</script>
</head>
<body bgcolor="azure">

<input type="button" value="Dogクラスにアクセス" onclick="dog_access();"><br/>
<input type="button" value="Catクラスにアクセス" onclick="cat_access();"><br/>

</body>
</html>
[JavaScript]利用例

[実行結果]
実行結果_オブジェクト指向の継承.png

2023年10月29日日曜日

[JavaSctipt]オブジェクト指向の実装

[はじめに]
JavaScriptの規格は、
ECMAScript(エクマスクリプト)で定められています。

JavaScriptは時代と共に進化しており、
最近のブラウザの大半は、
ECMAScriptのバージョンとして、ES6(ES2015)以降を取り入れています。

ES6(ES2015)は、
クラスなど、オブジェクト指向の概念を取り込んでおり、
最近のソースでもクラスの記載が散見されます。

たまに使うこともあるので、備忘録として、
クラスを用いたサンプルソースを掲載します。
//【クラス定義(Person.js)】
class Person{

   //【プロパティの初期化】 ※Start
   // ※ES6(ES2015)までは、
   //   プロパティを設定する場合は、
   //   必ずコンストラクタ内で実施する必要がありました。
   //   ES2022から、
   //   クラスのトップレベルで
   //   プロパティを宣言できるようになりました。
   //   また、プロパティ名の先頭に「#」を付加することで、
   //   Private指定となります。(ES2022から)
   //   [注意]
   //     但し、ES2022以降のバージョンは、
   //     古いブラウザでは
   //     機能が実装されていない可能性がある為、注意が必要です。

   //名前
   #_name = {first:"権兵衛", last:"名無し"};
   //生年月日
   #_birthday = this.#getSystemDate();

   //【プロパティの初期化】 ※End

   //【コンストラクタ定義】 ※Start
   // ※インスタンス化の際に実行されるメソッド。

   constructor(name, birthday){
      this.#_name = name;
      this.#_birthday = birthday;
   }

   //【コンストラクタ定義】 ※End

   //【ゲッター/セッター定義】 ※Start
   // ※ES6(ES2015)までは、
   //   ゲッター/セッターを実装するには、
   //   Javaのようにメソッド(getXXX() / setXXX())で
   //   定義する必要がありましたが、
   //   ES2022から、
   //   ゲッター/セッター向けの構文を利用できるようになりました。
   //   [注意]
   //     但し、ES2022以降のバージョンは、
   //     古いブラウザでは
   //     機能が実装されていない可能性がある為、注意が必要です。

   //名前
   get fullName(){
      return this.#_name.first + " " + this.#_name.last;
   }

   //生年月日
   get birthday(){
      return this.#_birthday;
   }

   //生年月日
   set birthday(value){
      this.#_birthday = value;
   }

   //【ゲッター/セッター定義】 ※End


   //【メソッド定義(Public)】 ※Start
   // ※他の関数と同様に定義することで、
   //   Publicなメソッドを定義できます。

   //あいさつをする。
   sayHello(){
      window.alert(
         "こんにちは。" + 
         this.#_name.first + " " + 
         this.#_name.last + "です。");
   }

   //生年月日を出力する。
   sayBirthDay(){
      window.alert(this.#_birthday);
   }

   //年齢を出力する。
   sayAge(){
      let age = this.#calculateAge();
      window.alert("私は" + age + "歳です。");
   }

   //【メソッド定義(Public)】 ※End

   //【メソッド定義(Private)】 ※Start
   //※メソッド名の先頭に「#」を付加することで、
   //  アクセス元を自クラス内に限定(Private)することができます。
   //   [注意]
   //     但し、ES2022以降のバージョンは、
   //     古いブラウザでは
   //     機能が実装されていない可能性がある為、注意が必要です。

   //システム日付を取得する。
   #getSystemDate(){
      const rtn = new Date();
      return rtn;
   }

   //年齢を算出する。
   #calculateAge(){
      let sysDate = this.#getSystemDate();
      let age = sysDate.getFullYear() - this.#_birthday.getFullYear();

      if(sysDate.getMonth() * 100 + sysDate.getDate() < 
         this.#_birthday.getMonth() * 100 + this.#_birthday.getDate())
      {
         //システム日付が誕生日前の場合は、
         //年齢を [システム日付の年] - [生年月日の年] - 1 とする。
         return age - 1;
      }

      //システム日付が誕生日以降の場合は、
      //年齢を [システム日付の年] - [生年月日の年] とする。
      return age;
   }

   //【メソッド定義(Private)】 ※End
}
[JavaScript]オブジェクト指向を意識したコード


<html>
<head>

<script language="javascript" src="./Person.js"></script>
<script language="javascript" >
   //クラスへのアクセス
   function sayHello()
   {
      const person = new Person(
         {first:"太郎", last:"山田"},
         new Date(1953,8-1,15));
      person.sayHello();
   }

   function sayBirthDay()
   {
      const person = new Person(
         {first:"太郎", last:"山田"},
         new Date(1953,8-1,15));
      person.sayBirthDay();
   }

   function sayAge()
   {
      const person = new Person(
         {first:"太郎", last:"山田"},
         new Date(1953,8-1,15));
      person.sayAge();
   }
</script>
</head>
<body bgcolor="azure">

<input type="button" value="あいさつをする。" onclick="sayHello();"><br/>
<input type="button" value="生年月日を言う。" onclick="sayBirthDay();"><br/>
<input type="button" value="年齢を言う。" onclick="sayAge();"><br/>

</body>
</html>
[JavaScript]使用例

[実行結果]
JavaScript実行結果.PNG

2023年10月14日土曜日

[Book's Review (Develop)]Java言語で学ぶデザインパターン入門第3版

(1)レビュー
 10年以上前からある書籍ですが、昨今のJavaのバージョンに合わせて、
 リニューアルされましたので、改めて紹介いたします。

 GOFが提唱したデザインパターンについて、とてもわかりやすくまとめた1冊です。
 各パターンを章毎にまとめてあり、クラス図・サンプルコードと合わせて解説しています。
 コードはJavaで記述されていますが、
 オブジェクト指向言語での開発経験がある方ならば、楽に読みこなせる内容だと思います。
 .NET系の言語で開発される方も、ぜひ1度は目を通すことをお勧めします!!

(2)リンク
Java言語で学ぶデザインパターン入門第3版

Java言語で学ぶデザインパターン入門第3版

  • 作者: 結城 浩
  • 出版社/メーカー: SBクリエイティブ
  • 発売日: 2021/11/13
  • メディア: Kindle版


Java言語で学ぶデザインパターン入門 マルチスレッド編

Java言語で学ぶデザインパターン入門 マルチスレッド編

  • 作者: 結城 浩
  • 出版社/メーカー: ソフトバンククリエイティブ
  • 発売日: 2023/10/14
  • メディア: 単行本

2023年7月8日土曜日

リンク_メモ(セールスフォース学習サイト、Salesforce勉強ヒロバ)

【Salesforce勉強ヒロバ】
【オブジェクト・レコード・項目・レポート】
 Salesforce基本用語徹底解説【初心者向け】
 https://www.youtube.com/watch?v=OuyAEmlehtU&t=162s

【標準項目、ページレイアウト、Lightnigアプリケーションビルダー】
 Salesforce基本用語徹底解説【初心者向け】
 https://www.youtube.com/watch?v=cPjP4i1iVIE&t=257s

【標準オブジェクト、カスタムオブジェクト、リレーション】
 Salesforce基本用語徹底解説【初心者向け】
 https://www.youtube.com/watch?v=uNY3KWWVaxY&t=490s

 Salesforce主従関係参照関係違い徹底解説
 https://www.youtube.com/watch?v=cvMkX-L01b0

【レコードタイプ、ページレイアウト、ビジネスプロセス】
 Salesforce基本用語徹底解説【初心者向け】
 https://www.youtube.com/watch?v=wxHHk0-xw2g

【プロファイル・権限セット】
 Salesforce基本用語徹底解説【初心者向け】
https://www.youtube.com/watch?v=5orZte7tJzM

【共有設定・ロール階層・共有ルール】
 Salesforce基本用語徹底解説【初心者向け】
 https://www.youtube.com/watch?v=yL6OWYYbY6w&t=2151s

【セキュリティコントロール】
 Salesforce基本用語徹底解説【初心者向け・練習問題】
 https://www.youtube.com/watch?v=6XFkEzuGARE

 Salesforceリード徹底解説【公式練習問題あり】
 https://www.youtube.com/watch?v=viOnflTa3FQ

 Salesforceキャンペーン徹底解
 https://www.youtube.com/watch?v=RMe4LCyY7GQ&t=27s

【入力規則】Salesforce基本用語徹底解説【初心者向け】
 https://www.youtube.com/watch?v=0Va7o9UUoE4

 Salesforceデータローダとインポートウィザード解説
 https://www.youtube.com/watch?v=ckdIF6usirA

 【フロー、プロセスビルダー、ワークフロールール】Salesforce基本用語徹底解説【初心者向け】
 https://www.youtube.com/watch?v=Nj9PVv_m_8o

 Salesforce認定アドミニストレーター試験合格勉強方法解説
 https://www.youtube.com/watch?v=14m8fLHLTw8&list=PLz8HSF-SrLeEl7BSmyLcT0nWUuQ695d9z&index=15

 Salesforceレコードページに文字や画像表示【初心者向け】
 https://www.youtube.com/watch?v=N-LL1kW767w

【初心者向け】Salesforce一括メール送信方法
 https://www.youtube.com/watch?v=L-KiIFts-nY

【標準項目、ページレイアウト、Lightnigアプリケーションビルダー】Salesforce基本用語徹底解説【初心者向け】
 https://www.youtube.com/watch?v=cPjP4i1iVIE&t=257s


標準項目、ページレイアウト、Lightnigアプリケーションビルダー】Salesforce基本用語徹底解説【初心者向け】

■Salesforce認定アドミニストレーター試験公式練習問題解説【合格】
 01Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=1z_jjNf6JCE&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=1

 02Salesforce認定アドミニストレーター試験問題解説
https://www.youtube.com/watch?v=eE5esrjoadU&list=PLz8HSF-  SrLeH8jCOj9cfAljXfVNQkQlkS&index=2

 03Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=F35kX_hjcM8&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=3

 04Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=4OzzVqmGeqo&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=4

 05Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=LrkGLvQeqRE&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=5

 06Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=DUgB5GVp4Wk&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=6

 07Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=jfjLizp8dEE&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=7

 08Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=YEPyrTs1alg&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=8

 09Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=rHBHjpEjIH8&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=9

 10Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=M8eB4IXUxi0&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=10

 11Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=hWPNzGyv4RI&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=11

 12Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=ospmi4mC8v8&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=12

 13Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=MqwqReYCCv0&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=13

 14Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=cSeUI8TGciM&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=14

 15Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=g1Fw9F0t3CA&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=15

 16Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=6lWDVr-D9EY&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=16

 17Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=plzqeWameqw&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=17

 18Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=p9upfJBmssI&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=18

 19Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=gMBC6yCVX_8&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=19

 20Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=i7YY4VeA0g8&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=20

 21Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=fkwGltvBHV0&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=21

 22Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=If9JP5yEM3E&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=22

 23Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=6JOWYdv6ElA&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=23

 24Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=oqO7ft6Oh5E&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=24

 25Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=afdeRD125KU&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=25

 26Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=gq6XKyCMIhY&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=26

 27Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=PsK8pHVCQkE&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=27

 28Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=CiyH4Ojg0Mc&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=28

 29Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=zHKiZIe3ZIA&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=29

 30Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=LrQIJovTp6o&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=30

 31Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=rHy4GYEQy6k&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=31

 32Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=6FxVu5zzvfY&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=32

 33Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=79KxSeRgaWQ&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=33

 34Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=PzGXHe7Bf58&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=34

 35Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=aaHHBl3sQwQ&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=35

 36Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=zWjzA0Pq0PM&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=36

 37Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=P1MhwvJDHUs&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=37

 38Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=coyBk_nc1_E&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=38

 39Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=PPBaxsnHxGo&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=39

 40Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=mjC-U_gdu18&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=40

 41Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=XjLLUZJpz3Y&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=41

 42Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=vyypCeCrX-M&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=42

 43Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=bsXKhgHTDZs&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=43

 44Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=nbiFH9EuYno&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=44

 45Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=ZGoE4nPAC8I&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=45

 46Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=9XwZZHHnVDc&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=46

 47Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=PdBVJHU0Kak&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=47

 48Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=BfpJsEAaFCM&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=48

 49Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=qL3YlETH74Q&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=49

 50Salesforce認定アドミニストレーター試験問題解説
 https://www.youtube.com/watch?v=07rnYr-xbuw&list=PLz8HSF-SrLeH8jCOj9cfAljXfVNQkQlkS&index=50

2023年4月30日日曜日

[VBA]Excelのシートを並べ替え

[はじめに]
Excelでシートを昇順に並べ替える機会があったので、
備忘録としてサンプルソースを掲載します。
サンプルは昇順ソートですが、引数を変更すると降順にも対応できるようにしています。

[ソース]
Option Explicit

'''<summary>
'''ソートの向き
'''</summary>
'''<remarks></remarks>
Public Enum SortType
    '昇順
    Asc = 1
    '降順
    Desc = -1
End Enum

'''<summary>
'''シートをソートする。
'''</summary>
'''<remarks></remarks>
Public Sub SortSheet()

    Dim sht As Worksheet
    Dim i As Integer
    Dim shtName As Variant
    Dim shtNameList() As String
    
    'シート名を配列で取得する。
    For Each sht In ThisWorkbook.Worksheets
        ReDim Preserve shtNameList(i)
        shtNameList(i) = sht.Name
        i = i + 1
    Next

    '配列でソートする。
    SortByQuick shtNameList, SortType.Asc, 0, UBound(shtNameList)

    '配列の順番でシートをソートする。
    Dim strWork As String
    strWork = shtNameList(UBound(shtNameList))
    
    For i = 0 To UBound(shtNameList)
        ThisWorkbook.Sheets(shtNameList(i)).Move after:=ThisWorkbook.Sheets(strWork)
        strWork = shtNameList(i)
    Next

End Sub

'''<summary>
'''Stringの配列を名称の昇順にソートする。
'''</summary>
'''<param name="argAry">ソート対象の配列</param>
'''<param name="sort">ソートの向き ※省略時:Asc(昇順)</param>
'''<param name="lngMin">対象範囲の最小インデックス ※省略時:argAryの最小インデックス</param>
'''<param name="lngMax">対象範囲の最大インデックス ※省略時:argAryの最大インデックス</param>
'''<remarks></remarks>
Private Sub SortByQuick( _
        ByRef argAry() As String, _
        Optional ByVal sort As SortType = SortType.Asc, _
        Optional ByVal lngMin As Long = -1, _
        Optional ByVal lngMax As Long = -1)
    
    Dim i As Long
    Dim j As Long
    Dim vBase As String
    Dim vSwap As String
    
    If lngMin < 0 Then
        lngMin = LBound(argAry)
    End If
    
    If lngMax < 0 Then
        lngMax = UBound(argAry)
    End If
    
    vBase = argAry((lngMin + lngMax) \ 2)
    
    i = lngMin
    j = lngMax
    
    Do
        Do While StrComp(argAry(i), vBase) * sort < 0
            i = i + 1
        Loop
        
        Do While StrComp(argAry(j), vBase) * sort > 0
            j = j - 1
        Loop
        
        If i >= j Then
            Exit Do
        End If
        
        vSwap = argAry(i)
        argAry(i) = argAry(j)
        argAry(j) = vSwap
        
        i = i + 1
        j = j - 1
    Loop
    
    If lngMin < i - 1 Then
        SortByQuick argAry, sort, lngMin, i - 1
    End If
    
    If lngMax > j + 1 Then
        SortByQuick argAry, sort, j + 1, lngMax
    End If

End Sub

[VBA]シートの並べ替え

2022年12月11日日曜日

リンク_メモ(セールスフォース学習サイト)

【認定アドミニストレータ対策コース(1) (日本語)】
・Salesforce ユーザの基本
  https://trailhead.salesforce.com/ja/content/learn/modules/lex_salesforce_basics
  Salesforce へようこそ https://trailhead.salesforce.com/ja/content/learn/modules/lex_salesforce_basics/lex_salesforce_basics_welcome
  Salesforce の使用開始
https://trailhead.salesforce.com/ja/content/learn/modules/lex_salesforce_basics/lex_salesforce_basics_getting_started
  Salesforce システム管理者との連携   https://trailhead.salesforce.com/ja/content/learn/modules/lex_salesforce_basics/lex_salesforce_basics_your_admin

・Salesforce Platform の基礎
  https://trailhead.salesforce.com/ja/content/learn/modules/starting_force_com
  Salesforce Platform の使用開始
   https://trailhead.salesforce.com/ja/content/learn/modules/starting_force_com/starting_intro
  プラットフォームの使用事例の確認
   https://trailhead.salesforce.com/ja/content/learn/modules/starting_force_com/starting_discovering
  Salesforce アーキテクチャについてhttps://trailhead.salesforce.com/ja/content/learn/modules/starting_force_com/starting_understanding_arch
  [設定] の操作
   https://trailhead.salesforce.com/ja/content/learn/modules/starting_force_com/starting_tour
  AppExchange による強化https://trailhead.salesforce.com/ja/content/learn/modules/starting_force_com/starting_developer_console

・会社全体の組織設定
  https://trailhead.salesforce.com/ja/content/learn/modules/company_wide_org_settings
  地域設定の概要
   https://trailhead.salesforce.com/ja/content/learn/modules/company_wide_org_settings/org_settings_regional
  マルチ通貨設定の概要
   https://trailhead.salesforce.com/ja/content/learn/modules/company_wide_org_settings/org_settings_currency

・ユーザ管理
  https://trailhead.salesforce.com/ja/content/learn/modules/lex_implementation_user_setup_mgmt
  新規ユーザの追加
   https://trailhead.salesforce.com/ja/content/learn/modules/lex_implementation_user_setup_mgmt/lex_implementation_user_setup_mgmt_adding_users
  ユーザがアクセスできる情報の管理
   https://trailhead.salesforce.com/ja/content/learn/modules/lex_implementation_user_setup_mgmt/lex_implementation_user_setup_mgmt_configure_user_access

【認定アドミニストレータ対策コース(2) (日本語)】
・データセキュリティ
  https://trailhead.salesforce.com/ja/content/learn/modules/data_security
  データセキュリティの概要
   https://trailhead.salesforce.com/ja/content/learn/modules/data_security/data_security_overview
  組織へのアクセスの制御
   https://trailhead.salesforce.com/ja/content/learn/modules/data_security/data_security_org
  オブジェクトへのアクセスの制御
   https://trailhead.salesforce.com/ja/content/learn/modules/data_security/data_security_objects
  項目へのアクセスの制御
   https://trailhead.salesforce.com/ja/content/learn/modules/data_security/data_security_fields
  レコードへのアクセスの制御
   https://trailhead.salesforce.com/ja/content/learn/modules/data_security/data_security_records
  ロール階層の作成
   https://trailhead.salesforce.com/ja/content/learn/modules/data_security/data_security_roles
  共有ルールの定義
   https://trailhead.salesforce.com/ja/content/learn/modules/data_security/data_security_sharing_rules

・データモデリング
  https://trailhead.salesforce.com/ja/content/learn/modules/data_modeling
  カスタムオブジェクトと標準オブジェクトについて
   https://trailhead.salesforce.com/ja/content/learn/modules/data_modeling/objects_intro
  オブジェクトリレーションを作成する
   https://trailhead.salesforce.com/ja/content/learn/modules/data_modeling/object_relationships
  スキーマビルダーを使う
   https://trailhead.salesforce.com/ja/content/learn/modules/data_modeling/schema_builder

・Lightning Experience のカスタマイズ
  https://trailhead.salesforce.com/ja/content/learn/modules/lex_customization
  組織の設定
   https://trailhead.salesforce.com/ja/content/learn/modules/lex_customization/lex_customization_custom_objects
  Lightning アプリケーションの作成およびカスタマイズ
   https://trailhead.salesforce.com/ja/content/learn/modules/lex_customization/lex_customization_apps
  リストビューの作成およびカスタマイズ
   https://trailhead.salesforce.com/ja/content/learn/modules/lex_customization/lex_customization_list
  コンパクトレイアウトを使用したレコードの強調表示のカスタマイズ
   https://trailhead.salesforce.com/ja/content/learn/modules/lex_customization/lex_customization_compact_layouts
  ページレイアウトを使用したレコードの詳細のカスタマイズ
   https://trailhead.salesforce.com/ja/content/learn/modules/lex_customization/lex_customization_page_layouts
  カスタムボタンとカスタムリンクの作成
   https://trailhead.salesforce.com/ja/content/learn/modules/lex_customization/lex_customization_buttons_links
  クイックアクションによるユーザ操作の強化
   https://trailhead.salesforce.com/ja/content/learn/modules/lex_customization/lex_customization_actions

・【認定アドミニストレータ対策コース(3) (日本語)】
 Lightning Experience の取引先と取引先責任者
  https://trailhead.salesforce.com/ja/content/learn/modules/accounts_contacts_lightning_experience
  顧客に関する情報を保存する
   https://trailhead.salesforce.com/ja/content/learn/modules/accounts_contacts_lightning_experience/accounts-and-contacts-lightning
  取引先と取引先責任者のリレーションの説明
   https://trailhead.salesforce.com/ja/content/learn/modules/accounts_contacts_lightning_experience/understand-account-and-contact-relationships-lightning

・商品、見積、契約
  https://trailhead.salesforce.com/ja/content/learn/modules/sales_admin_products_quotes_contracts
  価格表を作成して商品を追跡する
   https://trailhead.salesforce.com/ja/content/learn/modules/sales_admin_products_quotes_contracts/sales_admin_products_quotes_contracts_unit_1
  顧客見積の設定と契約の追跡を行う
   https://trailhead.salesforce.com/ja/content/learn/modules/sales_admin_products_quotes_contracts/sales_admin_products_quotes_contracts_unit_2

・Lightning Experience の Service Cloud
  https://trailhead.salesforce.com/ja/content/learn/modules/service_lex
  カスタマーサービスジャーニーの開始
   https://trailhead.salesforce.com/ja/content/learn/modules/service_lex/service_lex_cloud
  Service Cloud の管理
   https://trailhead.salesforce.com/ja/content/learn/modules/service_lex/service_lex_connect
  ケース管理の自動化
   https://trailhead.salesforce.com/ja/content/learn/modules/service_lex/service_lex_case_manage
  複数のチャネルでのデジタルエンゲージメントの作成
   https://trailhead.salesforce.com/ja/content/learn/modules/service_lex/service_lex_channels

・Lightning Experience のナレッジの基本
  https://trailhead.salesforce.com/ja/content/learn/modules/lightning-knowledge-basics
  Lightning Knowledge の使用開始
   https://trailhead.salesforce.com/ja/content/learn/modules/lightning-knowledge-basics/get-started-with-lightning-knowledge
  Salesforce 知識ベースを準備する
   https://trailhead.salesforce.com/ja/content/learn/modules/lightning-knowledge-basics/prepare-the-kb-for-success
  簡単な知識ベースの設定
   https://trailhead.salesforce.com/ja/content/learn/modules/lightning-knowledge-basics/set-up-a-simple-knowledge-base

・Experience Cloud の基本
  https://trailhead.salesforce.com/ja/content/learn/modules/community_cloud_basics
  Experience Cloud の使用開始
   https://trailhead.salesforce.com/ja/content/learn/modules/community_cloud_basics/communities_intro_to_community_cloud
  顧客との交流
   https://trailhead.salesforce.com/ja/content/learn/modules/community_cloud_basics/communities_setting_goals_for_community
  パートナーと協力する
   https://trailhead.salesforce.com/ja/content/learn/modules/community_cloud_basics/communities_partner_community

【認定アドミニストレータ対策コース(4) (日本語)】
・Lightning Experience の Chatter の管理
  https://trailhead.salesforce.com/ja/content/learn/modules/lex_implementation_chatter
  Chatter の使用開始
   https://trailhead.salesforce.com/ja/content/learn/modules/lex_implementation_chatter/lex_implementation_chatter_intro
  Chatter グループとのコラボレーション
   https://trailhead.salesforce.com/ja/content/learn/modules/lex_implementation_chatter/lex_implementation_chatter_groups
  フィード追跡の有効化
   https://trailhead.salesforce.com/ja/content/learn/modules/lex_implementation_chatter/lex_implementation_chatter_feed_tracking
  Chatter フィードからのレコードの承認
   https://trailhead.salesforce.com/ja/content/learn/modules/lex_implementation_chatter/lex_implementation_chatter_approvals
  ロールアウト計画の策定
   https://trailhead.salesforce.com/ja/content/learn/modules/lex_implementation_chatter/lex_implementation_chatter_adoption

・データ品質
  https://trailhead.salesforce.com/ja/content/learn/modules/data_quality
  データ品質の使用開始
   https://trailhead.salesforce.com/ja/content/learn/modules/data_quality/data_quality_getting_started
  データ品質の評価
   https://trailhead.salesforce.com/ja/content/learn/modules/data_quality/data_quality_assess_your_data
  データ品質の向上
   https://trailhead.salesforce.com/ja/content/learn/modules/data_quality/data_quality_improve_quality

・データ管理
  https://trailhead.salesforce.com/ja/content/learn/modules/lex_implementation_data_management
  データのインポート
   https://trailhead.salesforce.com/ja/content/learn/modules/lex_implementation_data_management/lex_implementation_data_import
  データのエクスポート
   https://trailhead.salesforce.com/ja/content/learn/modules/lex_implementation_data_management/lex_implementation_data_export

・データ管理ツールを使用したインポートとエクスポート
  https://trailhead.salesforce.com/ja/content/learn/projects/import-and-export-with-data-management-tools
  データインポートウィザードの使用
   https://trailhead.salesforce.com/ja/content/learn/projects/import-and-export-with-data-management-tools/use-the-data-import-wizard
  dataloader.io を使用したデータのエクスポート
   https://trailhead.salesforce.com/ja/content/learn/projects/import-and-export-with-data-management-tools/use-data-loader-to-export-data
  dataloader.io を使用したデータの更新
   https://trailhead.salesforce.com/ja/content/learn/projects/import-and-export-with-data-management-tools/use-data-loader-to-import-data

【認定アドミニストレータ対策コース(5) (日本語)】
・Lightning Experience のレポートおよびダッシュボード
  https://trailhead.salesforce.com/ja/content/learn/modules/lex_implementation_reports_dashboards
  Lightning Experience のレポートおよびダッシュボードの概要
   https://trailhead.salesforce.com/ja/content/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_overview
  レポートビルダーを使用したレポートの作成
   https://trailhead.salesforce.com/ja/content/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_using_report_builder
  レポートの形式設定
   https://trailhead.salesforce.com/ja/content/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_report_formats
  Lightning ダッシュボードビルダーでのデータの視覚化
   https://trailhead.salesforce.com/ja/content/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_visualizing_data
  AppExchange を使用したレポート戦略の拡張
   https://trailhead.salesforce.com/ja/content/learn/modules/lex_implementation_reports_dashboards/lex_implementation_reports_dashboards_appexchange

・営業マネージャとマーケティングマネージャ用のレポートとダッシュボードの作成
  https://trailhead.salesforce.com/ja/content/learn/projects/create-reports-and-dashboards-for-sales-and-marketing-managers?assignmentId=a5c3m000001C8MgAAK
  レポートフォルダとダッシュボードフォルダの作成
   https://trailhead.salesforce.com/ja/content/learn/projects/create-reports-and-dashboards-for-sales-and-marketing-managers/run-and-modify-a-report
  簡単なカスタムレポートの作成
   https://trailhead.salesforce.com/ja/content/learn/projects/create-reports-and-dashboards-for-sales-and-marketing-managers/create-a-simple-custom-report
  レポートの絞り込み
   https://trailhead.salesforce.com/ja/content/learn/projects/create-reports-and-dashboards-for-sales-and-marketing-managers/filter-your-reports
  データのグループ化と分類
   https://trailhead.salesforce.com/ja/content/learn/projects/create-reports-and-dashboards-for-sales-and-marketing-managers/group-and-categorize-your-data
  レポートでの集計項目の使用
   https://trailhead.salesforce.com/ja/content/learn/projects/create-reports-and-dashboards-for-sales-and-marketing-managers/use-summary-formulas-in-your-reports
  レポートデータの管理
   https://trailhead.salesforce.com/ja/content/learn/projects/create-reports-and-dashboards-for-sales-and-marketing-managers/manage-reported-data
  データの視覚化
   https://trailhead.salesforce.com/ja/content/learn/projects/create-reports-and-dashboards-for-sales-and-marketing-managers/visualize-your-data-with-conditional-highlighting-report-charts-and-dashboards

・クイックスタート: プロセスビルダー
  https://trailhead.salesforce.com/ja/content/learn/projects/quickstart-process-builder
  取引先オブジェクトに対する新しいプロセスを作成する
   https://trailhead.salesforce.com/ja/content/learn/projects/quickstart-process-builder/quickstart-process-builder1
  プロセス条件を追加する
   https://trailhead.salesforce.com/ja/content/learn/projects/quickstart-process-builder/quickstart-process-builder2
  プロセスアクションを追加する
   https://trailhead.salesforce.com/ja/content/learn/projects/quickstart-process-builder/quickstart-process-builder3
  プロセスをテストする
   https://trailhead.salesforce.com/ja/content/learn/projects/quickstart-process-builder/quickstart-process-builder4

・割引承認プロセスの作成
  https://trailhead.salesforce.com/ja/content/learn/projects/build-a-discount-approval-process
  組織での事前準備
   https://trailhead.salesforce.com/ja/content/learn/projects/build-a-discount-approval-process/prepare-your-org
  承認プロセスの作成
   https://trailhead.salesforce.com/ja/content/learn/projects/build-a-discount-approval-process/create-an-approval-process
  申請時のアクションの作成
   https://trailhead.salesforce.com/ja/content/learn/projects/build-a-discount-approval-process/create-initial-submission-actions
  最終承認時と却下時のアクションの指定
   https://trailhead.salesforce.com/ja/content/learn/projects/build-a-discount-approval-process/specify-final-approval-and-rejection-actions

【認定アドミニストレータ対策コース(6) (日本語)】
・Salesforce モバイルアプリケーションのカスタマイズ
  https://trailhead.salesforce.com/ja/content/learn/modules/salesforce1_mobile_app
  Salesforce モバイルアプリケーションの使用開始https://trailhead.salesforce.com/ja/content/learn/modules/salesforce1_mobile_app/salesforce1_mobile_app_intro
  ナビゲーションのカスタマイズhttps://trailhead.salesforce.com/ja/content/learn/modules/salesforce1_mobile_app/salesforce1_mobile_app_navigation
  グローバルクイックアクションの作成https://trailhead.salesforce.com/ja/content/learn/modules/salesforce1_mobile_app/salesforce1_mobile_app_actions_global
  オブジェクト固有のクイックアクションの作成https://trailhead.salesforce.com/ja/content/learn/modules/salesforce1_mobile_app/salesforce1_mobile_app_actions_objectspecific
  コンパクトレイアウトのカスタマイズhttps://trailhead.salesforce.com/ja/content/learn/modules/salesforce1_mobile_app/salesforce1_mobile_app_compact_layouts

・AppExchange の基本
  https://trailhead.salesforce.com/ja/content/learn/modules/appexchange_basics
  AppExchange 入門https://trailhead.salesforce.com/ja/content/learn/modules/appexchange_basics/appexchange_basics_overview
  AppExchange をナビゲートするhttps://trailhead.salesforce.com/ja/content/learn/modules/appexchange_basics/appexchange_basics_navigate
  AppExchange リストを確認するhttps://trailhead.salesforce.com/ja/content/learn/modules/appexchange_basics/appexchange_basics_listings
  AppExchange パッケージをインストールするhttps://trailhead.salesforce.com/ja/content/learn/modules/appexchange_basics/appexchange_basics_install
  AppExchange コミュニティとつながって貢献するhttps://trailhead.salesforce.com/ja/content/learn/modules/appexchange_basics/appexchange_basics_community

2022年1月30日日曜日

リンク_メモ(セールスフォース初心者講座)

【Sales4box】
・模擬問題
 https://sales4box.com/admin_exam/

【セールスフォース初心者講座】
・Salesforce セールスフォース 認定アドミニストレーター試験対策
 ①組織の設定
 https://www.youtube.com/watch?v=Xi9iZYkPHZg&t=761s

・Salesforce セールスフォース 認定アドミニストレーター試験対策
 ②ユーザの設定
 https://www.youtube.com/watch?v=73FAFVBw6UE

・Salesforce セールスフォース 認定アドミニストレーター試験対策
 ③セキュリティとアクセス
 https://www.youtube.com/watch?v=5Kz_30SLitE

・Salesforce セールスフォース 認定アドミニストレーター試験対策
 ④標準オブジェクトとカスタムオブジェクト
 https://www.youtube.com/watch?v=wvKj1_B77OE&t=702s

・Salesforce セールスフォース 認定アドミニストレーター試験対策
 ⑤営業アプリケーションとマーケティングアプリケーション
 https://www.youtube.com/watch?v=xl0rSerwbFU

・Salesforce セールスフォース 認定アドミニストレーター試験対策
 ⑥サービスアプリケーションとサポートアプリケーション
 https://www.youtube.com/watch?v=AReGHRMtPz0

・Salesforce セールスフォース 認定アドミニストレーター試験対策
 ⑦活動の管理
 https://www.youtube.com/watch?v=w3JfUXW52dI
 
・Salesforce セールスフォース 認定アドミニストレーター試験対策
 ⑧データの管理
 https://www.youtube.com/watch?v=bNSC9kwLUag
 
・Salesforce セールスフォース 認定アドミニストレーター試験対策
 ⑨分析 レポートとダッシュボード
 https://www.youtube.com/watch?v=UvI50068-_I&t=25s

・Salesforce セールスフォース 認定アドミニストレーター試験対策
 ⑩ワークフロー/プロセスの自動化
 https://www.youtube.com/watch?v=BFuJNyQT1zs

・Salesforce セールスフォース 認定アドミニストレーター試験対策
 ⑪ デスクトップとモバイルの管理
 https://www.youtube.com/watch?v=lAKnmFF3iKI

・Salesforce セールスフォース 認定アドミニストレーター試験対策
 ⑫ APPEXCHANGE
 https://www.youtube.com/watch?v=MWhu8LeKe4Y

2021年12月26日日曜日

[Book's Review (Develop)]独習JavaScript 新版

(1)レビュー
 JavaScriptは古くからあり、時代と共に進化してきています。
 JavaScriptの独習シリーズは過去にもありましたが、
 最近(2021年)、独習シリーズでJavaScriptの新版が登場しました。

 クラス反復処理非同期処理など、
 サンプルプログラムを例示しながらわかりやすく解説されています。
 
 例えば、反復処理を実装するために、
 他の言語(C#、Python等)ではyieldキーワードを採用していますが、
 新版のJavaScriptでもyieldが採用されています。

 今どきの新しいJavaScriptを習得するには、
 重宝の1冊だと思います。

   例えば、反復処理を実装するために、
 他の言語(C#、Python等)ではyieldキーワードを採用していますが、
 新版のJavaScriptでもyieldが採用されています。

 今どきの新しいJavaScriptを習得するには、
 重宝の1冊だと思います。

 試しに、当書籍を参考にしながら、
 オブジェクト指向を意識したコードを書いてみました。
 今となっては珍しいコードではないかと思いますが、
 従来のJavaScriptよりもやれることが拡がったように思えます。

 以下は、Perosnクラスに、
 NameBirthdayのプロパティを定義し、
 sayHello()saysayBirthday()sayAge()の各々のメソッドで、
 あいさつ、誕生日出力、年齢出力をするサンプルです。

<html>
<head>

<script language="javascript">
   //【テスト関数】
   function sayHello()
   {
      const person = new Person(
         {first:"太郎", last:"山田"},
         new Date(1953,8-1,15));
      person.sayHello();
   }

   function sayBirthDay()
   {
      const person = new Person(
         {first:"太郎", last:"山田"},
         new Date(1953,8-1,15));
      person.sayBirthDay();
   }

   function sayAge()
   {
      const person = new Person(
         {first:"太郎", last:"山田"},
         new Date(1953,8-1,15));
      person.sayAge();
   }

   //【クラス定義】
   class Person{
      constructor(name, birthday){
         this.name = name;
         this.birthday = birthday;
      }

      //【メソッド定義】
      //あいさつをする。
      sayHello(){
         window.alert(
            "こんにちは。" + 
            this.name.first + " " + 
            this.name.last + "です。");
      }

      //生年月日を出力する。
      sayBirthDay(){
         window.alert(this.birthday);
      }

      //年齢を出力する。
      sayAge(){
         let age = 0;
         let today = new Date();

         if(today.getMonth() * 100 + today.getDate() < 
            this.birthday.getMonth() * 100 + this.birthday.getDate())
         {
            //今日が誕生日前の場合
            age=today.getFullYear() - this.birthday.getFullYear() -1;
         }
         else
         {
            //今日が誕生日以降の場合
            age=today.getFullYear() - this.birthday.getFullYear();
         }

         window.alert("私は" + age + "歳です。");
      }

   }

</script>
</head>
<body bgcolor="azure">

<input type="button" value="あいさつをする。" onclick="sayHello();"><br/>
<input type="button" value="生年月日を言う。" onclick="sayBirthDay();"><br/>
<input type="button" value="年齢を言う。" onclick="sayAge();"><br/>

</body>
</html>
[JavaScript]オブジェクト指向を意識したコード

[実行結果]
JavaScript実行結果.PNG

(2)リンク
独習JavaScript 新版

独習JavaScript 新版

  • 作者: CodeMafia 外村将大
  • 出版社/メーカー: 翔泳社
  • 発売日: 2021/11/15
  • メディア: Kindle版

[雑記]ドローン(DJI Mini 3)

(1)雑記 もともと多趣味の友人 masakazu Drone 氏が、 最近、 ドローン にハマり始めて、 更に、新たな趣味が増えたとのこと。 ドローン を始めてから、 まだ1年も経っていないとのことですが、 旅行先で山や川の景色を 空撮 して、 Youtube ...