OmniAICreator/Qiita-1.07M huggingface dataset:
800G光モジュールの応用シナリオ

まとめ：
科学技術の発展に伴い、データセンターにおける光モジュールの需要が大幅に増加しました。 800G光モジュールは高速光伝送技術として応用シーンを拡大し、広く注目を集めています。 高帯域幅と高速データ伝送に対する現代社会のニーズを満たすために、主にデータセンター、クラウドコンピューティング、ネットワーク通信などの分野で使用されています。
文章：
科学技術の継続的な進歩と発展に伴い、データセンターの規模と複雑さは増大し続けており、大容量の光モジュールの需要も増加しています。 最先端の高速光伝送技術として、800G 光モジュールはその応用シナリオを徐々に拡大し、広く注目を集めています。
まず第一に、データセンターは 800G 光モジュールの主要なアプリケーション シナリオの 1 つです。 データセンターは大量の情報を保存、処理、管理する重要な場所であり、クラウド コンピューティングは主要なアプリケーションの 1 つです。 クラウド コンピューティングは、大量のコンピューティング リソースとストレージ リソースをデータセンターに集中させることで、効率的なデータ処理と管理を実現します。 800G 光モジュールの高い伝送速度は、広い帯域幅と低遅延に対するデータセンターのニーズを満たし、高速なデータ伝送と処理を可能にします。
次に、800G 光モジュールはネットワーク通信でも広く使用されています。 ネットワーク通信は現代社会における情報伝達の重要な手段であり、デジタル化、インテリジェンス、モノのインターネットの発展に伴い、ネットワーク伝送速度に対する要求はますます高くなっています。 800G 光モジュールの高速伝送能力は、高速ブロードバンド、高解像度ビデオ、オンライン ゲームなどのネットワーク帯域幅のニーズを満たし、より安定した高速なネットワーク接続を提供します。
さらに、800G 光モジュールは都市圏ネットワークでも広く使用できます。 首都圏ネットワークは、各地にあるローカルエリアネットワークと広域ネットワークとを繋ぐ架け橋であり、光ファイバーネットワークにより、異なる拠点間の高速データ伝送を実現します。 800G 光モジュールの高い伝送速度は、より高い帯域幅とより安定した接続を提供し、高速ネットワークに対する首都圏ネットワークのニーズを満たし、都市の情報化と経済発展を促進します。
最後に、800G 光モジュールには 5G 通信の分野でも応用できる可能性があります。 5G テクノロジーの段階的な推進に伴い、ネットワークの伝送速度と遅延に対する要件がさらに高まっています。 800G 光モジュールの高い伝送速度と低遅延により、信頼性の高いネットワーク接続が提供され、スマート交通、スマート製造、スマート シティなどの 5G 通信アプリケーション シナリオをサポートできます。
つまり、800G光モジュールは高速光伝送技術として、データセンター、クラウドコンピューティング、ネットワーク通信、首都圏ネットワーク、5G通信などの分野で広く利用されています。 高い伝送速度と低い遅延は、現代社会の高帯域幅と高速データ伝送のニーズを満たし、より高速で安定した信頼性の高いデータ伝送接続方法を提供します。 さらなる技術革新と画期的な進歩により、800G 光モジュールは将来のネットワーク開発においてより重要な役割を果たすと考えられています。![18.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3736721/38d990bb-6119-550d-cae5-f5b8dedbbdaf.jpeg)
3 つの 800G 光モジュール ソリューションの紹介 - SR8/DR8/2FR4

まとめ：
800G光モジュールは、高速性、安定性、信頼性を備えた高度な光通信機器です。 800G OSFP または QSFP-DD パッケージを採用し、IEE802.3ck や QSFP-DD 800 MSA などの規格、および CMIS4.0 インターフェイス プロトコルをサポートできます。
文章：
情報技術の急速な発展に伴い、ネットワーク データ伝送の需要は増加し続けています。 増大する帯域幅の需要に応えるために、光モジュール技術も常に革新と改善を続けています。 現在最も先進的な光通信機器の 1 つである 800G 光モジュールは、その高速性、安定性、信頼性により、将来のネットワーク接続の重要な部分となるでしょう。
800G光モジュールとは何ですか?
800G光モジュールは、超高速でデータを伝送できる次世代の光モジュール技術と言えます。 現在の主流のパッケージは、800G OSFP (Octal Small Form-factor Pluggable) および 800G QSFP-DD (Quad Small Form-factor Pluggable Double Density) です。 QSFP-DD と OSFP はどちらも 800G をサポートできますが、この 2 つの主な違いは、OSFP のサイズが若干大きく、消費電力が若干高いことです。 QSFP-DD は QSFP28 および QSFP+ と完全な互換性がありますが、OSFP には互換性がありません。
現在市場にある 800G 光モジュールには、主に 800G SR8、800G DR8、800G DR8+、800G 2*FR4 があり、800G 光モジュールは、IEE802.3ck や QSFP-DD 800 MSA などの規格、CMIS4 をサポートしています。 0インターフェイスプロトコル。 EMIおよびESDに対応するデジタル診断機能を内蔵しています。
800G SR8: 8 チャネル光信号伝送に 100G PAM4 および VCSEL テクノロジーを使用、EML 設計およびシリコン光学材料も使用、波長は 850nm、単一チャネル速度は 100Gbps、16 本の光ファイバーが必要です。 これは、チャネル数が 2 倍になった 400G SR4 のアップグレード版と言えます。 光インターフェースはMPO-16または2列MPO-12で、800G SR8パッケージはOSFP、波長は850nm、消費電力は16W未満、伝送距離は500mです。
800G DR8: 8 Tx と 8 Rx を含み、シングル チャネル レートは 100 Gbps、16 本の光ファイバーが必要、DR8 光インターフェイスは MPO-16。800G DR8 は QSFP-DD としてパッケージ化され、波長 1310nm、消費電力 <16W、伝送距離 2km。
800G OSFP 2*FR4: 800G OSFP 2*FR4 光モジュールは 400G FR4 へのアップグレードです. 4 つの波長 (1271/1291/1311/1331nm) を含みます. 単一チャネル レートは 100 Gbps です. Mux によって光ファイバの数が削減されます光ファイバには、光インターフェイスとしてデュアル CS またはデュアル デュプレックス LC インターフェイスがあります。 パッケージはOSFP、波長CWDM、消費電力は16W未満、伝送距離は2kmです。![17.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3736721/378549f0-6d7a-d6ca-943b-a55b9f078a76.jpeg)
OCI (オラクルクラウド) で外付けディスクの追加 (マウント作業)

OCI (オラクルクラウド) のインスタンスにディスクを追加する場合の手順のメモを記載。

1. [OCIでディスク追加＆Linuxのパーティション/LVM拡張](https://crieit.net/posts/OCI-Linux#2.2+%E2%91%A1fdisk%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%A7%E3%83%91%E3%83%BC%E3%83%86%E3%82%A3%E3%82%B7%E3%83%A7%E3%83%B3%E4%BD%9C%E6%88%90) を参考資料として、Webコンソールで追加されたディスクがOSに認識するまで実施する。

2. その後以下のコマンドで認識させる。  
作業のイメージとしては

    * osでは`/dev/nvme1n1`が見えている
    * `/var/data` としてマウントする

    ```bash
    $ sudo lsblk
    $ sudo mkfs -t ext4 /dev/nvme1n1
    $ sudo file -s /dev/nvme1n1
    $ sudo mkdir -p /var/data
    $ sudo mount /dev/nvme1n1 /var/data
    ```
QSFP パッケージの特徴と利点

まとめ：
QSFP は、優れた互換性、高速、高密度、低消費電力、優れた柔軟性、優れた安定性という特徴を備えた高速データ伝送ソリューションです。
文章：
QSFP (Quad Small Form-factor Pluggable) パッケージングは​​、高速データ伝送に一般的に使用されるソリューションであり、より高密度の高速プラガブル ソリューションに対する市場の需要を満たすために生まれました。 標準の MSA (Multi-Source Agency) および IEEE (Institute of Electrical and Electronics Engineers) 規格を採用しています。 このパッケージには、優れた互換性、高速、高密度、低消費電力、優れた柔軟性、優れた安定性など、多くの特徴と利点があります。
優れた互換性: QSFP パッケージは標準 MSA および IEEE 規格に準拠しており、異なるメーカー間の互換性と相互運用性を保証します。 この互換性により、QSFP モジュールを異なるブランドのデバイスで互換的に使用できるようになります。 柔軟性と拡張性を提供します。
高速: QSFP パッケージは高速データ伝送をサポートし、最大 40 Gbps を提供できます。 この高速伝送能力により、大規模データセンターや高性能コンピューティング環境における高速データ伝送の要件を満たすことができます。
高密度: QSFP パッケージ設計はコンパクトです。 小型軽量で占有スペースが少ないため、限られたスペースでより多くのポートを展開でき、デバイスのインターフェイス密度が向上します。 XFP の多くの成熟した主要テクノロジーが QSFP 設計に使用されており、その速度と密度は 4 チャネル CX4 インターフェイスよりも優れています。 QSFP の密度は XFP の 4 倍、SFP+ の 3 倍に達し、CX4 よりも高密度な 4 チャネルの QSFP インターフェイスが InfiniBand 規格に採用されています。
低消費電力: QSFP パッケージは、特に一部の古い伝送ソリューションと比較して、消費電力が比較的低くなります。 低消費電力により、QSFP モジュールはデータセンターなどの大規模アプリケーション環境でのコスト効率が向上し、エネルギー消費とメンテナンスコストが削減されます。
優れた柔軟性: QSFP カプセル化は、イーサネット、ファイバー チャネル、InfiniBand などのさまざまな伝送プロトコルをサポートします。 この柔軟性により、QSFP モジュールはスイッチ、ルーター、ホスト アダプテーション バス、エンタープライズ ストレージ、マルチチャネル相互接続などのさまざまなタイプのアプリケーション シナリオに適しており、幅広い接続ソリューションを提供できます。
優れた安定性: QSFP パッケージには高品質の光学コンポーネントと高度な製造プロセスが使用されており、モジュールに優れた信号伝送品質と安定性を与えます。 高速データ伝送でも安定した性能を維持し、信号損失や干渉を軽減します。 これは、データセンターやハイパフォーマンス コンピューティング環境における大規模なデータ転送にとって重要です。
要約すると、QSFP パッケージングは​​一般的に使用される高速データ伝送ソリューションです。 高密度、高速伝送、強力な互換性、柔軟性、低消費電力、高い安定性という利点があります。 データセンターとハイパフォーマンスコンピューティング環境が進化し続けるにつれて、QSFP パッケージは高速で効率的なデータ伝送を提供する上で重要な役割を果たし続けるでしょう。![16.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3736721/d2897184-511f-00d4-1cad-b28e12643e38.jpeg)
光モジュールの分類の説明と相違点

まとめ：
この記事では、伝送速度、パッケージタイプ、波長、モード、伝送距離、リングカラー、動作温度、ブランドによる分類など、光モジュールの分類について説明します。 さまざまなタイプの光モジュールが、さまざまな需要シナリオに適しています。
文章：
光モジュールは光ファイバー通信の重要な部分であり、さまざまな分類方法に従って多くの種類に分類できます。 この記事では、光モジュールの分類について説明し、光モジュールの種類ごとの違いを詳しく紹介します。
1. 伝送速度による分類
速度に応じて、光モジュールは複数の速度グレードに分かれています。 一般的なものには、ギガビット光モジュール (GBIC)、10G 光モジュール (SFP+)、40G、100G、200G、400G、800G 光モジュールなどがあります。 異なるレートの光モジュールは、さまざまな需要シナリオに適しています。
2. 包装形態による分類
    パッケージング タイプに応じて、現在の主流の光モジュールには、SFP、SFP+、SFP28、QSFP+、QSFP28、QSFP-DD、および OSFP が含まれます。
3. 波長による分類
波長に応じて、光モジュールは850nm、1310nm、1550nm、CWDM、DWDMなどに分類できます。 850nm 光モジュールは、データセンター内のサーバー相互接続などの短距離伝送に適しており、1310nm 光モジュールは、ローカル エリア ネットワークなどの中距離および短距離伝送に適しており、1550nm、CWDM、および DWDM 光モジュールは、首都圏ネットワークなどの長距離伝送。
4. モードによる分類:
光モジュールは、シングルモードとマルチモードの 2 つのモードに分類できます。 シングルモード光モジュールは長距離伝送に適しており、マルチモード光モジュールは2km以内の短距離伝送に適しています。
5. 伝送距離による分類
短距離光モジュール: 短距離光モジュールの伝送距離は、光ファイバー通信シナリオでは通常 2 km 以内です。
中距離光モジュール: 中距離光モジュールの伝送距離は、光ファイバー通信シナリオでは一般に 10 km ～ 20 km です。
長距離光モジュール: 長距離光モジュールの伝送距離は、光ファイバー通信シナリオでは一般に 30 km 以上です。
6. タブの色による分類
光学モジュールは、黒、青、黄、紫などの色に分けることができます。 異なる色のタブは異なる波長を表します。
7. 使用温度による分類
温度に応じて、光モジュールは商用グレード、拡張グレード、産業グレードに分類できます。 商用グレードの通常使用温度は0～+70℃、拡張グレードは-20℃～+85℃、工業グレードの使用温度は-40℃～+85℃です。
8. ブランドによる分類
ブランドによれば、オリジナルモジュールとサードパーティ互換モジュールに分類できます。 一般に、サードパーティの互換モジュールは、品質、技術、パフォーマンスなどの点で純正モジュールと大きな違いはなく、費用対効果の点で最初の選択肢として使用できます。
以上が光モジュールの分類と違いについて簡単に紹介しましたが、光モジュールの種類によって伝送速度、実装形態、波長、伝送距離が異なります。 実際のアプリケーションでは、さまざまな光ファイバー通信シナリオのニーズを満たすために、特定のニーズに応じて適切な光モジュール タイプを選択する必要があります。![17.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3736721/5c22474c-3546-a5e1-9701-4b9978c099bc.jpeg)
光モジュールへの熱伝導吸収材の応用

まとめ：
光モジュールに熱伝導性吸収材料を適用すると、信号品質が向上し、放熱の問題が改善され、耐用年数と信頼性が向上します。
文章：

光モジュールは、光通信の中核コンポーネントの 1 つとして、現代の通信分野で重要な役割を果たしています。 通信技術の急速な発展に伴い、光モジュールに対する要求性能はますます高くなっています。 光モジュールの信号品質を向上させ、放熱の問題を改善し、耐用年数と信頼性を向上させるために、熱伝導性吸収材料が光モジュールに広く使用されています。 本稿では、光モジュールにおける熱伝導吸収材の応用について詳しく紹介します。
熱伝導吸収材とは何ですか？
熱伝導吸収材は、熱伝導性と波動吸収性を併せ持つ特殊な素材で、電磁波を効果的に吸収し、電磁波エネルギーを熱エネルギーに変換し、分散させることができます。 同時に、熱伝導性吸収材料は良好な熱伝導率を有し、熱を素早く放散して光モジュールの過熱を防ぐことができます。
光モジュールへの熱伝導吸収材の応用
熱伝導吸収材は光モジュールに主に以下のような用途で広く使用されています。
まず第一に、熱伝導性吸収材料は光モジュールの信号品質を向上させることができます。 光通信では、信号の伝送品質はデータの正確な伝送と解釈にとって非常に重要です。 熱伝導性吸収材料は、反射信号や散乱信号を効果的に吸収し、光モジュールが受信する信号の強度と品質を向上させます。
第二に、熱伝導性吸収材料は光モジュールの熱放散の問題を改善できます。 光モジュールの動作中、大量の熱が発生します。 熱を効果的に放散できないと、光モジュールの温度が高くなりすぎ、光モジュールの性能と寿命に影響を与えます。 熱伝導吸収材は熱伝導性に優れており、熱を素早く伝導、分散させることができるため、光モジュールの温度を効果的に下げ、光モジュールの安定した動作を維持します。
第三に、熱伝導性吸収材料は光モジュールの耐用年数を向上させることができます。 光モジュールは高精度かつ複雑な装置であり、その使用環境は高温、高湿、高電界などの過酷な条件にさらされることがよくあります。 熱伝導性吸収材料は光モジュールの保護と絶縁の役割を果たし、光モジュールに対する電磁放射と過熱の影響を軽減し、光モジュールの耐用年数を延ばします。
最後に、熱伝導性吸収材料は光モジュールの信頼性を向上させることができます。 熱伝導吸収材は、耐衝撃性、耐衝撃性、耐振動性などに優れた物性を持っています。 これにより、複雑な作業環境における光モジュールの安定性と信頼性が向上し、故障の発生率が減少し、機器の効率と信頼性が向上します。
光モジュールにおける熱伝導性吸収材料の応用は、光通信の分野にとって非常に重要です。 光モジュールの信号品質を向上させ、放熱の問題を改善し、耐用年数を延ばすだけでなく、光モジュールの信頼性も向上します。 科学技術の継続的な進歩と光通信の需要の増加に伴い、熱伝導性吸収材料の応用の可能性はさらに広がるでしょう。![14.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3736721/a6c787d7-3833-6a1c-9140-c665b09ced21.jpeg)
シングルファイバ光モジュールとデュアルファイバ光モジュールの違いと比較

まとめ：
この記事では、光通信で一般的に使用されるシングルファイバ光モジュールとデュアルファイバ光モジュールを紹介します。 シングルファイバ光モジュールは双方向伝送に1本の光ファイバのみを使用するためスペースの面で有利ですが、デュアルファイバ光モジュールは信号伝送に2本の光ファイバを使用するため、安定性と信頼性が高くなります。 アプリケーションのシナリオとニーズに応じて、適切な光モジュールのタイプを選択してください。
文章：
光通信技術の継続的な発展に伴い、光モジュールはさまざまな通信機器で使用されることが増えています。 その中で、シングルファイバ光モジュールとデュアルファイバ光モジュールの 2 つの一般的なタイプの光モジュールがあります。 この記事では、シングルファイバ光モジュールとデュアルファイバ光モジュールについて紹介します。
1. シングルファイバー光モジュール
シングルファイバ光モジュールは、BIDI シングルファイバ双方向光モジュールとも呼ばれ、データの送信に 1 本の光ファイバのみを使用する光モジュールを指します。 この光モジュールは、WDM（波長分割多重）双方向伝送技術を使用し、同一光の光チャネル内で同時双方向伝送を実現します。 シングルファイバー光モジュールは、ファイバーケーブル配線のスペースをさらに節約します。 シングルファイバ光モジュールは双方向伝送技術を採用しているため、同じジャンプファイバを双方向通信に使用でき、使用する光ファイバの本数を効果的に削減できます。 これにより、光ファイバーの投資コストを節約できるだけでなく、配線スペースの占有を削減し、ネットワーク機器の密度を高めることができます。 単芯光モジュールはペアで使用する必要があります。
2.デュアルファイバー光モジュール
デュアルファイバー光モジュールとは、2 本の光ファイバーを使用してデータを送信する光モジュールを指します。 デュアルファイバー光モジュールは、2 本の光ファイバーを使用して信号を送信します。1 つは光信号の送信用、もう 1 つは光信号の受信用です。
3. シングルファイバ光モジュールとデュアルファイバ光モジュールの比較
シングルファイバ光モジュールとデュアルファイバ光モジュールは、2 つの一般的なタイプの光モジュールです。 これらはすべて光ファイバー通信において重要な役割を果たします。 シングルファイバ光モジュールは、WDM テクノロジーを使用して 1 本の光ファイバで双方向伝送を実現し、ファイバの利用率を向上させます。 デュアルファイバー光モジュールは光信号の双方向伝送を実現し、ネットワークの安定性と信頼性を向上させます。 実際の使用では、アプリケーションのシナリオとニーズに基づいて、適切な光モジュールのタイプを常に選択する必要があります。![13.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3736721/19e17852-6a10-bfc6-6be7-562235792783.jpeg)
光ファイバーコネクタ：光通信のキーブリッジ

まとめ：
光ファイバーコネクタは光通信の分野で重要な役割を果たしており、光信号の安定伝送の確保、システム性能の向上、コスト削減に重要な役割を果たしています。 光ファイバーコネクタには、伝送媒体とインターフェースのタイプに基づいてさまざまなタイプがあります。 実際のアプリケーションでは、システムの正常な動作を確保するために、挿入損失、反射損失、動作温度などの要素を考慮して、適切な光ファイバ コネクタを選択する必要があります。
文章：
光通信の分野を深く掘り下げる場合、無視できないコンポーネントの 1 つは光ファイバー コネクタです。 光通信システムに不可欠なコンポーネントである光ファイバーコネクタは、安定した信号伝送の確保、システムパフォーマンスの向上、コスト削減に重要な役割を果たしています。
1. 光ファイバーコネクタの定義と分類
光ファイバコネクタは、光モジュールに接続する光ファイバコネクタです。 これは、光ファイバー、光ファイバーと光電子デバイスの間の機械的接続と光学的接触を確立するコンポーネントです。 光ファイバーコネクタには、さまざまな分類方法に応じて多くの種類があります。 例えば、伝送媒体に応じてシングルモード光ファイバコネクタとマルチモード光ファイバコネクタに分けられ、インターフェースの種類に応じてFC、SC、ST、LCなどのタイプがあります。
2. 光ファイバコネクタの動作原理と特徴
光ファイバーコネクタの基本構造には通常、ピン、フェルール、シェルが含まれます。 光ファイバーの 2 つの部分がコネクターを介して接続されると、ピンを正確に突き合わせることができ、光信号を損失なく連続的に送信できます。 このプロセスでは、挿入損失、反射損失が極めて低く、優れた再現性と互換性を備えたコネクタが必要です。
3. 光ファイバコネクタの用途と市場動向
光通信ネットワークの構築や保守において、光ファイバーコネクタは欠かせない役割を果たしています。 長距離光ファイバー バックボーン ネットワークからローカル エリア ネットワークやデータ センター、光モジュールなどの一部のコンポーネント製品に至るまで、光ファイバー コネクタはあらゆる場所にあります。 5G、モノのインターネット、クラウドコンピューティングなどの技術の普及に伴い、高速・大容量の光通信の需要は拡大し続けており、光ファイバーコネクタ市場に大きなチャンスをもたらしています。
4. 事例分析: SFP 光モジュールと光ファイバーコネクタの関係
SFP光モジュールは、光の送受信機能を統合した光デバイスで、さまざまなデータ通信や電気通信機器に広く使用されています。 SFP 光モジュールと光ファイバ コネクタは密接な関係にあり、光通信システムのパフォーマンスと安定性を共同で決定します。 SFP 光モジュールの正常な動作を保証するには、適切な光ファイバー コネクタを選択することが重要です。 実際のアプリケーションでは、システムの長期にわたる信頼性の高い動作を保証するために、挿入損失、反射減衰量、動作温度、機械的強度などのさまざまな要素を考慮する必要があります。
光通信システムの重要な部分である光ファイバーコネクタの性能は、システム全体の性能と安定性に直接影響します。 光通信技術の継続的な発展と応用シナリオの拡大に伴い、光ファイバーコネクタの技術的要件と市場の見通しは上昇傾向を示しています。 今後、新材料の開発・応用、製造プロセスの改善、光学設計技術の進歩により、光ファイバコネクタの高性能化と低コスト化が期待され、光通信技術の開発・応用がさらに促進されることが期待されます。![12.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3736721/234965ff-021f-979c-8f84-baf15655a7cb.jpeg)
データセンター ネットワーク アーキテクチャ: 10G 電気インターフェイス モジュールの重要な役割

まとめ：
データセンターのネットワーク アーキテクチャでは、10G 電気インターフェイス モジュールは高速かつ効率的なネットワーク接続ソリューションとして重要な役割を果たします。 最大10Gbpsの伝送速度を持つRJ45インターフェースを採用しており、高速データ伝送機能、伝送遅延の低減、信頼性やセキ​​ュリティの向上などの機能を実現します。
文章：
ビッグデータ時代の到来に伴い、データの保存、処理、分析の中核施設としてのデータセンターは、ネットワーク アーキテクチャにおいてますます重要になっています。 データセンターのネットワーク アーキテクチャにおいて、10G 電気インターフェイス モジュールは、高速かつ効率的なネットワーク接続ソリューションとして非常に重要な役割を果たします。
1. 10G電気ポートモジュールの概要
10 ギガビット電気ポート モジュールは、高速伝送機能を備えたネットワーク デバイスであり、ネットワーク デバイス間の高速相互接続を実現するために使用されます。 RJ45インターフェースを使用した伝送速度は10Gbpsに達し、最長伝送距離は80mに達します。 10 ギガビット電気インターフェイス モジュールは、データ センター ネットワーク アーキテクチャで広く使用されており、高速データ伝送機能を提供し、伝送遅延を削減し、信頼性とセキュリティを向上させ、データ センターの効率的な運用とアプリケーションをサポートします。
2. データセンターネットワークアーキテクチャにおける10G電気ポートモジュールの適用
アクセス層: サーバー アクセス層はサーバーとコア スイッチ間の重要なリンクであり、その主な機能はデータ センター内のサーバーと外部ネットワークを接続することです。 従来のデータセンター アーキテクチャでは、通常、サーバーの接続にギガビット電気ポートが使用されます。 クラウドコンピューティングとビッグデータの急速な発展に伴い、データセンターのユーザー数は増加し続けており、サーバー間のデータ転送の需要はますます巨大になっています。 これに関連して、10G 電気インターフェース モジュールを使用すると、サーバー間のデータ伝送速度が大幅に向上し、データセンター全体の運用効率が向上します。 10G 電気ポート モジュールの高速伝送機能は、データ伝送速度に対するユーザーのニーズをより適切に満たすことができるため、ユーザーのアクセス エクスペリエンスが保証されます。
アグリゲーション レイヤー: アグリゲーション レイヤーはデータ センター アーキテクチャの重要なレイヤーであり、その主な機能はデータ センター内のさまざまなサーバーのトラフィックを集中管理し、コア レイヤーに接続することです。 アグリゲーション層に 10 ギガビットの電気ポートを適用すると、アグリゲーション層のデータ伝送速度が大幅に向上し、データセンター全体の動作速度と効率が向上します。 10G 電気ポート モジュールの高速伝送機能は、大量のデータセンター トラフィックを処理し、アグリゲーション レイヤでのデータの迅速な送受信を保証することで、データセンター ネットワーク全体のパフォーマンスを向上させることができます。
コア層: コア層はデータセンター アーキテクチャで最も重要な層であり、主に高速データ伝送とコア スイッチングを担当します。 10 ギガビット電気インターフェース モジュールは、その高速伝送能力によりデータセンター間の迅速な相互接続を実現し、データ伝送速度と効率を向上させることができます。 コア層に 10 ギガビット電気インターフェース モジュールを適用すると、大容量データの高速伝送要件を満たすことができ、データ センター間の効率的な通信が確保されます。
ビッグデータ時代の急速な発展に伴い、中核インフラとしてのデータセンターの地位がますます高まっています。 高速かつ効率的なネットワーク接続ソリューションとして、10G 電気インターフェイス モジュールはデータセンター ネットワーク アーキテクチャにおいて重要な役割を果たします。 10 ギガビット電気インターフェイス モジュールは、サーバー アクセス層、アグリゲーション層、コア層でのアプリケーションを通じて、高速で安定した信頼性の高いネットワーク接続を提供し、高性能と高信頼性に対するデータセンターのニーズを満たすことができます。 将来の開発においても、10G 電気インターフェース モジュールはデータセンター技術の進歩とアプリケーションの開発を促進する上で重要な役割を果たし続けるでしょう。![11.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3736721/aa79a188-7267-863c-646f-37736915b57e.jpeg)
高速通信リンク ソリューション: 10G 電気ポート モジュール

まとめ：
ビッグ データ、クラウド コンピューティング、モノのインターネットなどのテクノロジーの広範な適用により、大規模なデータ送信の必要性があらゆる分野で共通の課題となっています。 従来のギガビット電気ポート モジュールでは需要を満たすことができなくなり、10G 電気ポート モジュールが徐々に高速で効率的なネットワーク接続ソリューションになってきました。 10 ギガビット電気ポート モジュールは、主に 10 ギガビット イーサネットで使用され、RJ45 インターフェイスを使用し、最大伝送距離は 80 m です。
文章：
情報社会の急速な発展と、ビッグデータ、クラウドコンピューティング、モノのインターネットなどのテクノロジーの普及に伴い、大規模なデータ伝送の必要性があらゆる階層にとって共通の課題となっています。 従来のギガビット電気ポート モジュールでは、この需要を満たすことができなくなり、高速で効率的なネットワーク接続ソリューションとして、10 ギガビット電気ポート モジュールが大規模なデータ伝送のニーズを満たす理想的な選択肢になりつつあります。
10G 電気ポート モジュールは、高速通信リンク用に特別に設計されており、主に 10G イーサネットで使用されます。10G 光モジュールの規格には、IEEE 802.3ae、IEEE 802.3ak、IEEE 802.3an が含まれ、レートは 10G、RJ45 インターフェイスが付いています。最長伝送距離は80mに達します。 主にスイッチやネットワーク カードなどのネットワーク機器で使用されます。10G SFP+ 電気ポート モジュールは、ネットワーク ケーブルを介して送信する初の 10G 光モジュールです。スイッチまたはネットワーク カードの SFP+ ポートで使用して、ネットワークを実装できます。 RJ45 インターフェイス、デバイス接続。 電気ポート モジュールは、SFP+ 高速ケーブル伝送距離の不足を補うだけでなく、既存の銅線ケーブル配線システムを直接使用して 10G データ伝送を実現し、ネットワーク導入コストを大幅に削減します。 10 ギガビット電気インターフェースのモジュール性は、低消費電力、高安定性、長寿命、そして全体的な費用対効果が高いという利点があるため、データセンター、クラウド コンピューティング サービス、ビデオ伝送、科学研究機関にとって一般的なソリューションとなっています。 、企業ネットワークなど。
データ センター: データ センターは、大規模なデータ伝送を行う重要な通信事業者です。 10G 電気インターフェイス モジュールの高速、高密度、信頼性により、データセンターの内部接続には理想的な選択肢となります。 高速で安定したデータ伝送チャネルを提供し、サーバー、ストレージデバイス、ネットワークデバイス間の通信をサポートし、データセンターのパフォーマンスとエネルギー効率を向上させることができます。
クラウド コンピューティング サービス: クラウド コンピューティング サービス プロバイダーは、ユーザーに高速で安定したデータ ストレージとコンピューティング サービスを提供する必要があります。 10 ギガビット電気インターフェイス モジュールは、クラウド コンピューティング サービスにおける大規模なデータ送信をサポートし、高速なデータの読み取りと書き込み、バックアップとリカバリを保証し、クラウド コンピューティング サービスのパフォーマンスと信頼性を向上させることができます。
ビデオ送信: ビデオ送信には大量の帯域幅リソースが必要であり、高いデータ送信速度が必要です。 10G 電気ポート モジュールの高速特性はビデオ伝送に最適であり、高解像度でスムーズなビデオ ストリーミング伝送をサポートし、ビデオ会議、遠隔教育、セキュリティ監視などの分野で広く使用されています。
科学研究機関: 科学研究機関は、ビッグデータ分析や科学計算を実行する際に大量のデータを処理する必要があり、データ伝送の安定性と信頼性に対して高い要件が求められます。 10 ギガビット電気インターフェース モジュールは、科学研究機関の高速かつ信頼性の高いデータ伝送のニーズを満たし、科学研究を強力にサポートします。
エンタープライズ ネットワーク: 大規模なエンタープライズ ネットワークは通常、大量のデータと情報を処理する必要があり、ネットワーク伝送機能に対する高い要件があります。 10 ギガビット電気インターフェイス モジュールは、大規模な企業ネットワークの高帯域幅と低遅延の要件を満たし、大規模なデータの迅速な送信と処理をサポートし、企業内のデータ通信の効率と柔軟性を向上させることができます。![10.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3736721/d9a3bf16-5a01-0055-61ed-37f18b0984a6.jpeg)
10 ギガビット電気ポート モジュール: 大規模なデータ伝送のニーズを満たすソリューション

まとめ：
10G電気ポートモジュールは、高速伝送、良好な互換性、および高い信頼性という利点を備えており、大規模なデータ伝送のニーズを満たし、ネットワーク技術の発展を促進できます。
文章：
今日のインターネット時代では、大規模なデータを送信する必要性がますます重要になっています。 ギガビット電気ポート モジュールは、多くのネットワーク環境で標準構成になっていますが、データ サイズが継続的に増加するため、ギガビット電気ポート モジュールでは特定のネットワーク環境のニーズを満たすことができなくなり、時代の要求に応じて 10 ギガビット電気ポート モジュールが登場しました。 。
まず、10G電気インターフェースモジュールの最大の利点は高速伝送です。 ギガビット電気ポート モジュールの伝送速度はわずか 1 Gbps ですが、10 ギガビット電気ポート モジュールの伝送速度は、ギガビット電気ポート モジュールの 10 倍の 10 Gbps に達します。 高速伝送はデータ伝送効率を向上させるだけでなく、ネットワーク遅延を削減し、より良いユーザー エクスペリエンスを提供します。
次に、10G 電気ポート モジュールの互換性は非常に優れています。 10 ギガビット電気ポート モジュールの伝送速度は 10 倍ですが、ギガビット電気ポート モジュールと互換性があるため、既存のネットワーク機器と互換性があります。 これは、ユーザーがネットワーク機器のセット全体を交換する必要がなく、電気ポート モジュールのみを交換するだけで、ネットワーク データ伝送の改善に対する需要を満たし、アップグレード コストを大幅に削減できることを意味します。
10ギガビット電気インターフェースモジュールは信頼性も高く、電気信号をデジタル信号に変換してケーブルで伝送する機能を持っています。 10 ギガビット電気ポートは、伝送品質を自動的に調整し、信号の安定性を向上させます。 さらに、10G 電気ポート モジュールは高度な技術と材料を使用して、耐干渉能力と信号の安定性を向上させ、データ伝送の信頼性を高めています。
10G 電気ポート モジュールの出現により、ネットワーク伝送技術の開発が促進されました。 大規模なデータ伝送のニーズを満たすだけでなく、ネットワーク アプリケーション シナリオにより多くの可能性をもたらします。 たとえば、高解像度ビデオ ストリーミング、クラウド ストレージ、データ センター、および大帯域幅と高速伝送を必要とするその他のアプリケーションをより適切にサポートできます。 同時に、10G 電気インターフェイス モジュールの使用は、ネットワーク機器メーカーにとってより広範な市場を提供し、業界全体の発展を促進します。
つまり、大規模なデータ伝送のニーズを満たすソリューションとして、10G 電気インターフェース モジュールには、高速伝送、良好な互換性、および高い信頼性という利点があります。 ネットワークの伝送効率を向上させるだけでなく、ネットワーク技術の発展も促進します。![9.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3736721/734d452e-9c04-7e6d-b6fd-ebde9da991aa.jpeg)
ネットワーク通信の未来: 電気ポートモジュールの開発の見通し

まとめ：
高速かつ効率的なネットワーク接続ソリューションとして、電気ポート モジュールはますます注目を集めています。 高速伝送機能、安定性、柔軟性を備えており、データセンター、科学研究および教育分野、スマートホーム、医療、産業オートメーションなどのさまざまなアプリケーションシナリオのニーズを満たすことができます。
文章：
ネットワーク通信技術の急速な発展に伴い、データ伝送の需要は爆発的な増加傾向を示しています。 このような状況において、高速かつ効率的なネットワーク接続ソリューションとして、電気インターフェースモジュールの開発の見通しが大きな注目を集めています。
電気ポート モジュールの利点は、主に高速伝送機能、安定性、柔軟性に反映されます。 これにより、電気ポートモジュールはさまざまなアプリケーションシナリオのニーズを満たし、高速で安定したネットワーク通信システムを構築できます。 。 適応技術をサポートし、ネットワークの速度を自動的に識別して適応し、より安定した効率的なデータ伝送を提供して、最高の伝送効果を実現します。 また、電気ポートモジュールは信頼性も高く、データセンターの長期安定稼働を保証します。
電気ポート モジュールのアプリケーション シナリオは非常に多岐にわたります。
データセンター: 大規模なデータセンターでは、電気ポートモジュールを使用してサーバーとストレージデバイスを接続し、大規模なデータ送信と処理を実現します。 データセンターは通常、大量のデータを処理する必要があるため、ネットワーク通信の要件も高くなります。 電気ポート モジュールの高速伝送と安定性の利点により、データセンターにおける高速で信頼性の高い通信のニーズを満たすことができます。
科学研究と教育: 科学研究機関や学校では、ハイパフォーマンス コンピューティングや科学実験でのデータ送信に電気インターフェイス モジュールが使用されます。 電気ポートモジュールの高速伝送能力と安定性は、科学研究におけるビッグデータ処理とリアルタイム通信のニーズを満たすことができます。 さらに、電気インターフェイス モジュールは、遠隔教育やオンライン学習などのシナリオでも使用され、生徒や教師に効率的なネットワーク環境を提供します。
上記の応用分野に加えて、電気インターフェースモジュールはスマートホーム、医療、産業オートメーションなどの分野でも広く使用されています。 エレクトリカルポートモジュールは、安定した高速ネットワーク接続によりスマートデバイス間の通信やデータ伝送を実現し、スマートホームやスマートシティの発展を促進します。 医療分野では、電気ポート モジュールは医療情報システムや遠隔医療技術をサポートするために使用され、リアルタイムの画像送信や遠隔診断などの機能を提供します。 産業オートメーションの分野では、電気インターフェースモジュールを使用して機械間の通信とデータ収集を実現し、生産効率と品質を向上させます。
ネットワーク通信の重要なコンポーネントとして、電気ポート モジュールはさまざまな分野のあらゆる場所で使用されています。 全体として、電気ポート モジュールはネットワーク通信に不可欠な部分として、さまざまなアプリケーション分野で重要な役割を果たしています。 高速伝送能力、安定性、柔軟性により、電気ポート モジュールは高速で安定したネットワーク通信システムを構築するための理想的な選択肢となります。![8.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3736721/8d6b13ef-4ba5-fb8f-51e6-b8b5a8773df3.jpeg)
Sparkでテキストの行数を数える

2024/4/12に翔泳社より**Apache Spark徹底入門**を出版します！

<a href="https://www.amazon.co.jp/dp/4798182281/"><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/87910d7c-8a63-c198-8e82-216ea7a8ee07.jpeg" width=300></a>

書籍の[サンプルノートブック](https://github.com/databricks/LearningSparkV2/blob/master/notebooks/LearningSparkv2.dbc)をウォークスルーしていきます。`Python/Chapter02/2-1 Line Count`となります。

翻訳ノートブックのリポジトリはこちら。

https://github.com/taka-yayoi/SparkSample/tree/main

ノートブックはこちら

https://github.com/taka-yayoi/SparkSample/blob/main/Chapter02/2-1%20Line%20Count.py

```py
spark.version
```
```
'3.5.0'
```

```py
strings = spark.read.text("/databricks-datasets/learning-spark-v2/SPARK_README.md")
strings.show(10, truncate=False)
```
```
+------------------------------------------------------------------------------+
|value                                                                         |
+------------------------------------------------------------------------------+
|# Apache Spark                                                                |
|                                                                              |
|Spark is a fast and general cluster computing system for Big Data. It provides|
|high-level APIs in Scala, Java, Python, and R, and an optimized engine that   |
|supports general computation graphs for data analysis. It also supports a     |
|rich set of higher-level tools including Spark SQL for SQL and DataFrames,    |
|MLlib for machine learning, GraphX for graph processing,                      |
|and Spark Streaming for stream processing.                                    |
|                                                                              |
|<http://spark.apache.org/>                                                    |
+------------------------------------------------------------------------------+
only showing top 10 rows
```

```py
strings.count()
```
```
95
```

```py
filtered = strings.filter(strings.value.contains("Spark"))
filtered.count()
```
```
17
```

### はじめてのDatabricks

[はじめてのDatabricks](https://qiita.com/taka_yayoi/items/8dc72d083edb879a5e5d)

### Databricks無料トライアル

[Databricks無料トライアル](https://databricks.com/jp/try-databricks)
ギガビットから 10 ギガビットへ: 10 ギガビット電気インターフェイス モジュールはネットワーク技術の革新を促進します

まとめ：
この記事では、10 ギガビット電気インターフェイス モジュールがネットワーク テクノロジの革新をどのように促進するかを検討します。 ギガビット電気ポート モジュールと比較して、10G 電気ポート モジュールは高い伝送速度と広い帯域幅を備えており、10 倍のデータ伝送速度とより高い伝送品質と安定性を実現できます。
文章：
インターネットの急速な発展とデータ量の爆発的な増加に伴い、ネットワーク通信技術の継続的な革新があらゆる分野から注目を集めています。 この過程において、10G 電気インターフェース モジュールは、新世代の高速ネットワーク接続ソリューションとしてますます重要な役割を果たしています。 この記事では、ギガビットから 10G への移行において、10G 電気インターフェイス モジュールがネットワーク テクノロジーの革新をどのように促進するかを深く探ります。
10G 電気ポート モジュールには、ギガビット電気ポート モジュールに比べて大きな利点があります。 ギガビット電気ポート モジュールの伝送速度は 1Gbps ですが、10G 電気ポート モジュールでは伝送速度が 10Gbps に向上し、データ伝送速度が 10 倍向上します。 これにより、大容量データの高速伝送が可能となり、ネットワーク全体の通信効率や応答速度が向上します。 さらに、10G 電気インターフェース モジュールは帯域幅が広く、遅延が少ないため、より高い伝送品質と安定性を実現できます。
ネットワーク技術の分野における 10G 電気ポート モジュールの推進的な役割は無視できません。 まず第一に、データセンターでのアプリケーションは、その主要なアプリケーション シナリオの 1 つです。 大量のデータを保存および処理するセンターとして、データセンターにはネットワークの伝送速度と帯域幅に対する非常に高い要件が求められます。 10 ギガビット電気インターフェイス モジュールの登場により、データ センターは大容量データをより高速に送信および処理できるようになり、データ センターの全体的なパフォーマンスと効率が向上します。 さらに、データセンター間の相互接続は、高速データ伝送を提供し、データセンター間の相互接続に重要なネットワーク インフラストラクチャを提供できる 10G 電気インターフェイス モジュールのサポートとも切り離すことができません。
第二に、10G 電気インターフェース モジュールの推進的な役割は企業ネットワークにも反映されています。 企業の規模が拡大し、ビジネスが拡大し続けるにつれて、ネットワーク帯域幅と伝送速度に対する需要もますます高まっています。 10G 電気ポート モジュールのアプリケーションは、高速データ伝送に対する企業の要件を満たし、企業内のデータ通信の効率と柔軟性を向上させることができます。 さらに、10G 電気ポート モジュールの拡張性と互換性により、企業はニーズに応じてネットワークをアップグレードおよび拡張でき、企業ネットワークの開発を確実にサポートします。

ギガビットから 10 ギガビットへの移行において、10 ギガビット電気インターフェイス モジュールは、その優れた技術的利点により、ネットワーク技術革新を促進する重要な原動力となっています。 前述のデータセンター、エンタープライズネットワーク、またはその他のデータ通信分野のいずれであっても、10G 電気インターフェイスモジュールの適用は、ネットワーク技術の開発に新たな機会と課題をもたらしました。 10G 電気インターフェイス モジュールは、幅広いアプリケーション シナリオと新世代のネットワーク テクノロジの推進における役割により、ネットワーク テクノロジ開発の重要な原動力となっています。![7.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3736721/7e81f471-d482-15c0-9e11-a2148c7232d4.jpeg)
LAN内PCのCPU&GPU使用率を表示するWebサイトを作成

# はじめに
研究室で計算機サーバーを管理していると、PCの使用率などを常に確認する必要があります。しかし、Linuxに不慣れな研究室メンバーもいるため、「大きな計算を実行する前にPCのCPU使用率をチェックしてください」とアドバイスしても、その方法を知らない人が多いです。そこで、Streamlitを使用して、研究室内のPCのCPU使用率とGPU使用率を一目で確認できるウェブサイトを作成しました。

# 仕組み
Pythonのparamikoライブラリを利用してSSH接続でログインし、あらかじめ登録しておいたコマンドでCPUとGPUの使用率を取得する仕組みです。取得した情報はStreamlitを通じて表示されます。

# 使用コマンド
以下のコマンドを使用してCPUとGPUの使用率を一括で取得しました。awkを含むこれらのコマンドは、実は私も完全には理解していませんが、ChatGPTのアドバイスを得て作成しました。

```python:使用率を一発で出すコマンド
COM_USE_CPU = "top -b -n 1 | grep 'Cpu(s)' | awk '{print $2+$4}'"
COM_USE_GPU = "nvidia-smi --query-gpu=utilization.gpu --format=csv,noheader"
```

# ログイン情報
ログイン情報は以下の形式で保存しています。

```python:ログイン情報
host_user = {
    PC名: ['ホストIP', 'ユーザ名', 'パスワード'],
}
```

# メインとなるクラスを定義

Clientクラスを定義して、認証とデータ取得を担当します。このクラスのインスタンスはst.session_stateに保存され、使用率の更新時に再認証が不要になるように設計しました。

```python:RemoteClient
class RemoteClient:
    def __init__(self):
        self.cpu_outs = {}
        self.gpu_outs = {}
        
        self.auth_client()
        
    def auth_client(self):
        self.clients = {}
        for key in host_user.keys():
            with paramiko.SSHClient() as client:

                HOSTNAME = host_user[key][0]
                USERNAME = host_user[key][1]
                PASSWORD = host_user[key][2]

                # SSH接続
                client = paramiko.SSHClient()
                client.set_missing_host_key_policy(paramiko.AutoAddPolicy())

                # パスワード認証認証方式
                client.connect(hostname=HOSTNAME, port=22, 
                               username=USERNAME, password=PASSWORD)
                
                self.clients[key] = client
                
    def get_useing_cpu(self):
        for key, client in self.clients.items():
            # CPUの使用率を確認する
            res_cpu = client.exec_command(COM_USE_CPU)
            # 出力結果をきれいにする
            out = float([i for i in res_cpu[1]][0].replace("\n", ""))
            self.cpu_outs[key] = out
        return self.cpu_outs.copy()
            
    def get_useing_gpu(self):
        # GPUがあればその利用率も取得
        # 事前にkey設定しておく
        for key in self.gpu_outs.keys():
            res_gpu = self.clients[key].exec_command(COM_USE_GPU)
            out = [i.replace("\n", "").replace(" ","") for i in res_gpu[1]]
            self.gpu_outs[key] = out
        return self.gpu_outs.copy()
```

# Webサイト部分

Streamlitを用いて、読み込み中にスピナーを表示し、認証と情報取得、表示を行います。使用率の更新はボタンを押すことで行われます。

```python:Streamlitによる実装
# 一度認証したらそれ以降しないようにする
with st.spinner("Loading..."):
    if 'client' not in st.session_state:
        rc = RemoteClient()
        st.session_state["client"] = rc
    else:
        rc = st.session_state["client"]
        
    cpu_outs = rc.get_useing_cpu()
    gpu_outs = rc.get_useing_gpu()

    # 記録したものをstreamlitで表示
    st.markdown("# CPU使用率")
    for item in cpu_outs.items():
        st.markdown(f"- {item[0]}: CPUの使用率 {item[1]}%")
        
    st.markdown("# GPU使用率")
    for item in gpu_outs.items():
        st.markdown(f"- {item[0]}: GPUの使用率 {item[1]}")
            
    st.button("更新")
```

# 終わりに
このシステムを使って実際に日常の作業を効率化できています。グラフィカルな表示ができればさらに良いのですが、現時点で研究室内の用途には十分機能しています。
10GBase-T 10G 電気インターフェース モジュールは、データセンターによる効率的なデータ伝送の実現を支援します

まとめ：
10GBase-T 10G 電気インターフェイス モジュールは、高速伝送速度、安定性と信頼性を備えた、高速で効率的なネットワーク接続ソリューションです。 データセンターで広く使用でき、優れたネットワーク パフォーマンスと拡張性を提供し、データセンターの発展に重要な貢献をしてきました。
文章：
10GBase-T 10G 電気インターフェイス モジュールは、高速伝送速度、安定性、信頼性を備えた高速かつ効率的なネットワーク接続ソリューションです。 データセンターで広く使用でき、優れたネットワーク パフォーマンスと拡張性を提供し、データセンターの発展に重要な貢献をしてきました。
1. 10GBase-T 10G 電気ポート モジュールの機能と利点
高速伝送: 10GBase-T 10G 電気インターフェイス モジュールは、大規模データの高速伝送に対するデータセンターの需要を満たす最大 10 Gbps の伝送速度を提供します。
高い安定性: 10GBase-T 10G 電気ポート モジュールは、高度な信号処理および伝送技術を採用し、データ伝送の安定性と信頼性を確保します。
優れた互換性: 10G 電気ポート モジュールは従来のギガビット電気ポート モジュールと互換性があり、データセンターのスムーズなアップグレードと移行を促進します。
省エネと環境保護: 10GBase-T 10G 電気インターフェイス モジュールは低消費電力特性を備えており、グリーン データ センターの構築ニーズを満たし、エネルギー消費と炭素排出量を削減します。
2. データセンターにおける 10GBase-T 10G 電気ポート モジュールのアプリケーション シナリオ
サーバー接続: データセンター内のサーバー間で大量のデータを交換する必要がありますが、10GBase-T 10G 電気インターフェース モジュールは高速で安定した接続を提供し、サーバー間のデータ転送効率を向上させることができます。
ストレージ エリア ネットワーク: データ量が増加し続けるにつれて、データ センターにはより高いストレージ容量とより高速なデータ転送速度が必要です。 10 ギガビット電気ポート モジュールは、高速ネットワーク接続を通じて高速データ転送とストレージを実現し、データセンターのストレージ効率と信頼性を向上させます。
クラウド コンピューティング アプリケーション: クラウド コンピューティング プラットフォームは大量のデータを処理する必要があり、10GBase-T 10G 電気インターフェイス モジュールは効率的なデータ伝送チャネルを提供し、クラウド コンピューティング サービスの迅速な応答と拡張をサポートします。
仮想化テクノロジー: 仮想化テクノロジーにより、複数のオペレーティング システムとアプリケーションがハードウェア リソースを共有できるようになり、10G ネットワーク 10G 電気インターフェイス モジュールは、仮想マシン間の高速通信のニーズを満たすことができます。
災害復旧のバックアップとリカバリ: データセンターはデータの信頼性とセキュリティを確保する必要があり、10G ネットワーク 10G 電気インターフェイス モジュールは、災害復旧のバックアップとリカバリ ソリューションで効率的なデータ伝送を保証します。
3. データセンターの開発促進における 10GBase-T 10G 電気インターフェース モジュールの役割
データ処理機能の向上: 10G ネットワーク 10G 電気インターフェイス モジュールの高速性と安定性により、データ センターはデータをより高速に処理および送信でき、データ処理効率が向上します。
データセンターのネットワーク アーキテクチャのアップグレードを推進する: データ量の増加とビジネス ニーズの多様化に伴い、データセンターのネットワーク アーキテクチャは継続的にアップグレードおよび改善する必要があります。 10GBase-T 10G 電気インターフェイス モジュールの適用により、データセンター ネットワーク アーキテクチャの開発をより高速かつより柔軟な方向に促進できます。
運用コストの削減: 10GBase-T 10G 電気インターフェイス モジュールは、データ伝送効率を向上させ、故障率を低減することで、データ センターの運用コストを削減し、全体的な利益を向上させるのに役立ちます。
グリーン データ センターの建設の促進: 低電力 10GBase-T 10G 電気インターフェイス モジュールは、グリーン データ センターの建設コンセプトに沿っており、エネルギー消費と炭素排出量の削減に役立ち、持続可能な開発を促進します。
データセンターの競争力の強化: 10GBase-T 10G 電気インターフェース モジュールなどの先進テクノロジーを適用することで、データセンターはデータ処理能力を向上させ、運用コストを削減し、高帯域幅と低遅延に対する顧客の要求を満たすことができます。
最先端のテクノロジー製品として、10GBase-T 10G 電気インターフェイス モジュールは、データセンター アプリケーションにおいて大きな利点と価値を示します。 データ伝送効率と処理能力を向上させ、運用コストを削減するだけでなく、ネットワーク アーキテクチャのアップグレードとデータ センターのグリーン構築も促進します。 テクノロジーの継続的な進歩とアプリケーション要件の継続的な進化に伴い、10GBase-T 10G 電気インターフェイス モジュールはデータセンター分野でより重要な役割を果たし、より効率的で信頼性が高く、環境に優しいデータ伝送と処理の実現に貢献します。
[Chrome拡張] Chrome拡張記事のまとめ

Chrome拡張に関する記事を投稿していましたが、
記事の数が増えたせいでせっかく備忘録のためにまとめた記事が
探しにくくなったので一覧にまとめてみました。

|No|概要|記事|
|---|---|---|
|1|ツールバーのアイコンをクリックして拡張ページ(menu)を表示|[[Chrome拡張] ツールバーのアイコンをクリックしてHTMLページを表示する方法](https://qiita.com/doran/items/743f687eb413c41432e1)|
|2|拡張ページ(menu)からWebページ(content scripts)へメッセージ送信|[[Chrome拡張]　Chrome拡張メニューからページを操作する方法](https://qiita.com/doran/items/9203789b570632e2456e)|
|3|Webページ(content scripts)から拡張ページ(menu)へメッセージ送信|[[Chrome拡張]　Webページ(content scripts)からChrome拡張画面へメッセージを送る方法](https://qiita.com/doran/items/faf21f816b168606cfbe)|
|4|拡張ページ(menu)での定期実行処理|[[Chrome拡張]　Chrome拡張画面でタイマー(定期実行処理)を使用する方法](https://qiita.com/doran/items/c2c5c225691fd423b2e6)|
|5|Webページ(content scripts)での定期実行処理|[[Chrome拡張]　Content Scriptsでタイマー(定期実行処理)を使用する方法](https://qiita.com/doran/items/2620b2c8f2ac2c5548b6)|
|6|拡張ページ(menu)からWebページを操作|[[Chrome拡張]　Chrome拡張メニューからWebページを操作する方法](https://qiita.com/doran/items/8045701ba688f50d6295)|
|7|拡張ページ(menu)からWebページ(content scripts)を操作。動的にcontent scriptsを埋め込む|[[Chrome拡張]　Chrome拡張メニューからWebページを操作する方法(jQueryを使う)](https://qiita.com/doran/items/817432932bf77c781002)|
|8|拡張ページ(menu)とWebページの双方でのやりとり|[[Chrome拡張]　Chrome拡張メニューとWebページでやりとりする方法](https://qiita.com/doran/items/7ccf10bb310ab46478d4)|
|9|拡張ページ(menu)とWebページ(content scripts)の双方でのやりとり。動的にcontent scriptsを埋め込む|[[Chrome拡張]　Chrome拡張メニューとWebページでやりとりする方法(Content Scriptsを使う)](https://qiita.com/doran/items/e69ba19cbd2f5049bc97)|
|10|拡張ページ(menu)からWebページの情報を取得。ajaxを利用|[[Chrome拡張]　Chrome拡張メニューから開いていないWebページの情報を取得する方法](https://qiita.com/doran/items/c2d3249c53b97ddeed0d)|
|11|ポップアップメニュー(default_popup)の表示|[[Chrome拡張]　ポップアップメニューを表示する方法](https://qiita.com/doran/items/6684c939c5dc2b9d091a)|
|12|ポップアップメニュー(default_popup)からWebページを操作|[[Chrome拡張]　ポップアップメニューからWebページを操作する方法](https://qiita.com/doran/items/c34be1c03353a02cd04f)|
|13|ポップアップメニュー(default_popup)からWebページ(content scripts)を操作。動的にcontent scriptsを埋め込む|[[Chrome拡張]　ポップアップメニューからWebページを操作する方法(jQueryを使う)](https://qiita.com/doran/items/6b7181e369cd1be7dfc4)|
|14|ポップアップメニュー(default_popup)からWebページのCSSを変更|[[Chrome拡張]　ポップアップメニューからWebページを操作する方法(スタイル変更)](https://qiita.com/doran/items/00ea4f88862031811ed4)|
|15|ローカルストレージ(chrome.storage.local)の利用方法|[[Chrome拡張]　ストレージ(chrome.storage.local)を利用する方法](https://qiita.com/doran/items/38a89bcaf4b89c758725)|
|16|オプションページ(options_page)の表示|[[Chrome拡張]　オプションページを表示する方法](https://qiita.com/doran/items/8154f96c200b73bb9e38)|
|17|Webページにアラートを表示|[[Chrome拡張]　ページにアラートを表示する方法](https://qiita.com/doran/items/7544bb1b963f9fa36ac3)|
|18|特定の要素が出現するまで待機する方法|[[Chrome拡張]　ページ読込後に生成される要素が出現するまで待つ方法](https://qiita.com/doran/items/e158810971c3f3ee1e78)|

これらの技術を利用して作成したChrome拡張の内、記事にしてある拡張です。
|対象サービス|サービス概要|記事|
|---|---|---|
|KING OF TIME|勤怠管理|[[Chrome拡張]　KING OF TIMEのMyレコーダーを便利に使う](https://qiita.com/doran/items/8c3ca80de3f149dce0e0)|
|Slack|コミュニケーションツール|[[Chrome拡張]　Slack スライドバーのチャンネル名をカスタマイズする](https://qiita.com/doran/items/b44a59bfc1c9f5a39027)|
|ChatWork|コミュニケーションツール|[[Chrome拡張]　ChatWork 全ての画像とビデオをサムネイル表示させる](https://qiita.com/doran/items/4ee3e865a5906c5b7a20)|
|楽天RMS|モール|[[楽天RMS]　楽天市場の商品情報CSVを無料でダウンロードする](https://qiita.com/doran/items/6613ea2d92b330bae2c9)|

<br>
<br>
おしまい。。
AWS healthcare

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3688241/5d2033ed-2525-0059-ed6e-74878a60df28.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3688241/5c0636f4-fc59-e2f1-202d-fe547727c9dd.png)
[Google Forms API(V1)] JavaでGoolgeフォームの変更監視中リストを取得する

Gmail API v1（Java）を使用して、
Goolgeフォームの変更監視中のリストを取得する方法
についてご紹介します。

:::note info
APIを利用する環境の準備から始める場合や、コードを実行する際は、
[⧉[Google Forms API(V1)] JavaでForms APIを使う](https://qiita.com/doran/items/6a25c15309f442c4d679)
を参照ください。
:::

|No||目次|
|---|---|---|
|1||[監視中リストの取得](#1-監視中リストの取得)|
||1|[スコープ](#11-スコープ)|
||2|[実行](#12-実行)|
||3|[レスポンスの内容](#13-レスポンスの内容)|

## 1. 監視中リストの取得
監視中のリストを取得します。

### 1.1. スコープ
このAPIを実行するには、以下のいずれかのスコープを指定してください。
```
FormsScopes.DRIVE
FormsScopes.DRIVE_FILE
FormsScopes.DRIVE_READONLY
FormsScopes.FORMS_BODY
FormsScopes.FORMS_BODY_READONLY
FormsScopes.FORMS_RESPONSES_READONLY
```
[⧉[Google Forms API(V1)] JavaでForms APIを使う(2.2 Gmailインスタンスを取得)](https://qiita.com/doran/items/6a25c15309f442c4d679#22-formsインスタンスを取得)
でスコープを指定してください。

### 1.2. 実行
```java
public static void main(String[] args) throws Exception{
    Forms forms = getForms();
    FormsOperations op = forms.forms();
    
    FormsOperations.Watches watches = op.watches();
    FormsOperations.Watches.List list = watches.list("フォームID");
    
    ListWatchesResponse res = list.execute();
    System.out.println(res);
}
```
#### 1.2.1. HTTPリクエスト
GET:　https:\//forms.googleapis.com/v1/forms/{フォームID}/watches
が実行されます。

#### 1.2.2. クエリパラメータ
クエリパラメータはありません。

### 1.3. レスポンスの内容
#### ListWatchesResponse

|メソッド|戻り値|説明|
|---|---|---|
|getWatches|List\<[Watch](#watch)\>|監視情報リスト|

#### Watch
|メソッド|戻り値|説明|
|---|---|---|
|getId|String|ウォッチID|
|getTarget|[WatchTarget](#watchtarget)|通知の送信先|
|getEventType|[EventType(enum)](#eventtype)|監視するイベントタイプ|
|getCreateTime|String|作成された時点のタイムスタンプ|
|getExpireTime|String|有効期限を示すタイムスタンプ|
|getErrorType|[ErrorType(enum)](#errortype)|試行された配信に対する最新のエラータイプ|
|getState|[State(enum)](#state)|ウォッチの現在の状態|

#### WatchTarget
|メソッド|引数|説明|
|---|---|---|
|getTopic|[CloudPubsubTopic](#cloudpubsubtopic)|Pub/Subの設定|

#### CloudPubsubTopic
|メソッド|引数|説明|
|---|---|---|
|getTopicName|String|Pub/Subのトピック名|

#### EventType
|定義値|説明|
|---|---|
|EVENT_TYPE_UNSPECIFIED|未指定|
|SCHEMA|コンテンツ設定の変更を通知|
|RESPONSES|フォームの回答が送信されると通知|

#### ErrorType
|定義値|説明|
|---|---|
|ERROR_TYPE_UNSPECIFIED|未指定|
|PROJECT_NOT_AUTHORIZED|監視対象フォームへのアクセス権がない|
|NO_USER_ACCESS|監視対象フォームにアクセスできなくなった|
|OTHER_ERRORS|別のタイプのエラー|

#### State
|定義値|説明|
|---|---|
|STATE_UNSPECIFIED|未指定|
|ACTIVE|アクティブ|
|SUSPENDED|停止中(解決可能なエラー発生中)|

<br>
<br>
おしまい。。
[Google Forms API(V1)] JavaでGoogleフォームの情報を取得する

Google Forms API V1（Java）を使用して、
Googleフォームの情報を取得する方法
についてご紹介します。

:::note info
APIを利用する環境の準備から始める場合や、コードを実行する際は、
[⧉[Google Forms API(V1)] JavaでForms APIを使う](https://qiita.com/doran/items/6a25c15309f442c4d679)
を参照ください。
:::

|No||目次|
|---|---|---|
|1||[フォームを取得](#1-フォームを取得)|
||1|[スコープ](#11-スコープ)|
||2|[実行](#12-実行)|
||3|[レスポンスの内容](#13-レスポンスの内容)|

## 1. フォームを取得
指定したGoogleフォームの情報を取得します。

### 1.1. スコープ
このAPIを実行するには、以下のいずれかのスコープを指定してください。

```
FormsScopes.DRIVE
FormsScopes.DRIVE_FILE
FormsScopes.DRIVE_READONLY
FormsScopes.FORMS_BODY
FormsScopes.FORMS_BODY_READONLY
```
[⧉[Google Forms API(V1)] JavaでForms APIを使う(2.2 Gmailインスタンスを取得)](https://qiita.com/doran/items/6a25c15309f442c4d679#22-formsインスタンスを取得)
でスコープを指定してください。

### 1.2. 実行
取得したいGoogleフォームのフォームID(ファイルID)を指定します。

Googleフォームを開いた際のURLの下記の部分がフォームIDになります。
https:\//docs.google.com/forms/d/{フォームID}

```java
public static void main(String[] args) throws Exception{
    Forms forms = getForms();
    Forms.FormsOperations op = forms.forms();
    
    Forms.FormsOperations.Get get = op.get("フォームID");
    
    Form res = get.execute();
    System.out.println(res);
}
```
#### 1.2.1. HTTPリクエスト
GET:　https:\//forms.googleapis.com/v1/forms/{フォームID}
が実行されます。

#### 1.2.2. クエリパラメータ
クエリパラメータはありません。

### 1.3. レスポンスの内容

#### Form
[⧉[Google Forms API(V1)] GoogleフォームとFormクラス(Form)](https://qiita.com/doran/items/4eeae5ce3fe92bd59d75#form)
を参照ください。

<br>
<br>
おしまい。。
cronで定期実行できなかった時のエラー対処

## cronで定期実行できなかった時のエラー対処

### 対処法①：cronの編集結果が反映されなかった時
- フルディスクアクセスでcronを追加していること
- フルディスクアクセスでterminalを追加していること
iTermやVScodeなど編集ツールをフルディスクアクセスに追加していないとcronの編集ができなくてこまった

### 対処法②
随時追加

----
実際にcronでファイルを定期実行する方法はめちゃくちゃ書かれてるのでスキップ。僕は以下記事を参考しました
参考記事
https://qiita.com/hirockio2206/items/5055c44246ca5239d3da
Github Actionsで成功後にReviewersにコメントを飛ばす！

# まえがき
Github Actionが終わる前にapprovalしてもらって、テストこけて残念みたいな経験はないですか？
私は結構ありますw
テスト失敗する前にapprovalをすると、再度approvalしないといけない。それを阻止したく、こちらを作成しました。

# 概要
Github Actionsで成功後したら、Reviewersにメンションつけて、githubにコメントします。
下記の手順で作ります。
1. githubのPersonal access tokens (classic)でtokenを作成する
1. 利用する組織やリポジトリに、tokenを登録する
1. Github Actionsにコメントを作る処理を書く

## 完成品
``` yml
name: Flutter CI

on: pull_request

jobs:
  build:
    runs-on: ubuntu-20.04  # 実行するOS
    steps:
    - uses: actions/checkout@v3
    - name: something when command success
      run: |
        comment_body="テストが通りました！ レビューをお願いします。"
        reviewers=$(echo "${{ toJson(github.event.pull_request.requested_reviewers.*.login) }}")
        for reviewer in $reviewers; do
          comment_body+=" @$reviewer"
        done
        comment_body=${comment_body//@\[}
        comment_body=${comment_body//@\]}
        curl -X POST -H "Authorization: token $GH_TOKEN" -d "{\"body\": \"$comment_body\"}" "https://api.github.com/repos/$GH_REPO/issues/$NUMBER/comments"
      env:
        GH_TOKEN: ${{ secrets.xxxxxxx }} # 2番で設定したトークン名にする
        GH_REPO: ${{ github.repository }} # リポジトリ名
        NUMBER: ${{github.event.number}} # PR番号
      if: success()  # Github Actions成功のみ動く
```

# 1. githubのPersonal access tokens (classic)でtokenを作成する
1. https://github.com/settings/tokens/new　にアクセスする
1. 認証を解除する
1. 下記の部分にチェックする
![スクリーンショット 2024-04-08 6.54.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/115405/c47ea84a-853e-06a8-dbdd-b9bca24077ef.png)

1. 一番下にあるGenerate tokenを押下する

完了！

# 2. 利用する組織やリポジトリに、tokenを登録する
1. リポジトリに遷移して、Settingsを押下する
1. secrets and variablesのactionsを押下する
1. Repository secretsを新規登録する
![スクリーンショット_2024-03-27_11_16_14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/115405/85caa31f-0985-f12b-db06-693600d4722a.png)
1. 次の画面で名前と登録する
1. tokenをSecretに登録する

完了！

# 3. Github Actionsにコメントを作る処理を書く
下記をGithub Actionsの一番下に置く

``` yml
    - name: something when command success
      run: |
        comment_body="テストが通りました！ レビューをお願いします。"
        reviewers=$(echo "${{ toJson(github.event.pull_request.requested_reviewers.*.login) }}")
        for reviewer in $reviewers; do
          comment_body+=" @$reviewer"
        done
        comment_body=${comment_body//@\[}
        comment_body=${comment_body//@\]}
        curl -X POST -H "Authorization: token $GH_TOKEN" -d "{\"body\": \"$comment_body\"}" "https://api.github.com/repos/$GH_REPO/issues/$NUMBER/comments"
      env:
        GH_TOKEN: ${{ secrets.xxxxxxx }} # 2番で設定したトークン名にする
        GH_REPO: ${{ github.repository }} # リポジトリ名
        NUMBER: ${{github.event.number}} # PR番号
      if: success()  # Github Actions成功のみ動く
```

補足コメントして、下記の部分で `@[` と `@]`を削除しています。
``` yml
comment_body=${comment_body//@\[}
comment_body=${comment_body//@\]}
```

`comment_body="テストが通りました！ レビューをお願いします。"` はご自由に置き換えください。

ここまで読んでいただきありがとうございました！
【PHP】PHPで3の倍数と3がつく数の時にだけアホになるプログラム書いてみた(1から200まで)

# はじめに
こんにちは! 中学2年生のWardHamamatsu67です! 今回はプログラミング界で有名な、「世界のナベアツ」をPHPでやりたいと思います。本家は40までなのですが、今回は200までやります。
# コード
```php
<?php
    
    for($num=1;$num<=200;$num++){

        if($num%3 == 0 || strstr($num, '3') ) {
            echo $num."????????<br/>";
        } else {
            echo $num."<br/>";
        }
    }
?>
```
結構短めに書くことができました。
# 解説
for文で$numという変数が1スタート200ゴールの範囲で1ずつ増えていく処理を書き、if文で$numを3で割ったときの余りが0になるか、$numに3がつけば、アホになり、それ以外は普通に$numの値を表示します。
# おわりに
意外と簡単にできました。「世界のナベアツ」は面白く、プログラミングの良い練習となってくれるので、皆さんも試してみてはいかがでしょうか。この記事が良いと思った方はいいねとフォローをしてくれると嬉しいです。
【AtCoder】なぜ、自分は緑コーダーになれないのか

## 自己紹介

茶色で停滞しているwhile-true-ifです。

## 対象者

- AtCoderやってる人・興味ある人 etc

## この記事を書いたきっかけ

色んな人が緑Coderになった記事を書いているのに、自分は緑Coderになれていないので、悔しくなりました。そのため、今までを振り返り、分析して、緑Coderになろうと思います。

## AtCoderの始めたきっかけ

情報オリンピックの過去問がのっていて、実際に解けると聞いたので始めました。

その後、ABCを知り、ABCに参加するようになりました。

## AtCoderに参加して

### 今までのperf

自分の話が想像しやすいように自分のperfとレートを載せておきます。
![AtCoder_perf346.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3740518/5a6ab2e5-7baf-2425-23ef-d4b4ae7da76c.png)
![スクリーンショット (223).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3740518/cc576301-7f44-0f2b-3ee2-c4cc7a1caf76.png)

### 最初のコンテスト

最初はABCで、A問は4ペナで20分程度、B問は3ペナで70分程度で解けました。

結果はperfが207でした。

そして、レートが10になりました。

そのときは、レートが上がって、黒Coderから灰Coderになったことに喜びました。

### その次のコンテスト

その次はARCで、一生懸命考えましたが、一問も解けませんでした。

そこで、ARCの難しさを知りました。しかし、一問も解けなくても、perfが130であったため、レートが25になりました。

### 茶Coderに

自分なりにはわからないながらも、復習をしていたため、比較的、アルゴリズムはわかりました。当時はDPが少し、二分探索が少し、累積和も少し理解していました。

しかし、問題をどの解法で解くかがあまり理解してなかったので、perfが400程度でした。

とあるコンテスト(Rated8回目)で奇跡がおこります。

なんと、ABCE4完しました。そのため、perfが1280となり、レートが469になりました。

### 暗黒期

しかし、その奇跡のコンテストから2回目でperfが350という、perfが400を割ってしまいました。自分の中では初めてのレートが下がった経験でした。レートが下がったのは初めてなので、その時はとてもショックを受けました。

さらに、その後も不調でどんどんレートが下がっていきました。

いったんはレートが上がったものの、また下がり、一番下がった時にはレートが434になってしまいました。そのときのperfは211。自分の中ではかなり低いため、一番ショックを受けたコンテストだと思います。

### 分析

ショックを受けても変わらないので、当時、分析しました。

その時の結論は

1.アルゴリズムの知識が足りていない。
2.アルゴリズムを使いこなせていない。

というものでした。

その中で、「アルゴリズムの知識が足りていない」というものを改善しようと思いました。

### 分析後

レートは大きく上昇し、6回連続でレートを上げ、灰Coderになる危機から緑Coderになるチャンスにまでなりました。レートは592でした。

### レートの停滞

その後はレートが下がってしまいました。

しかし、実力は以前よりもついているため、550前後で停滞しました。

ここで、緑Coderになりたいので、分析しました。

### 2回目の分析

とりあえず、過去問をたくさん解くことにしました。

[AtCoder Problems](https://kenkoooo.com/atcoder/#/table)でたくさん解きました。

このことで、自分の知っているアルゴリズムの応用問題を解けるようにすることが目的です。

### 2回目の分析後

一時的にレートは上がりましたが、少しずつ下がってしまいました。

しかし、良くなった点もあります。

それは、perfが安定してきたところです。今までは、悪い時だと、perfが300くらいになってしまうこともありました。しかし、最近は悪くてもperfが400くらいです。そのため、悪くてもレートがあまり下がらなくなりました。

### 3回目の分析(現在)

今度はアルゴリズムの知識をもう少し増やそうと思いました。自分は、DFSとBFSがあまり使いこなせません。そのため、その2つを克服しようと思います。

## おわりに

自分の中だと、「アルゴリズムの知識を増やして、そのアルゴリズムを使って応用がきくようにする」という循環を繰り返すことにしました。そして、いつかは緑Coderになりたいです。

---

よかったらいいねとフォローをお願いします。

フォローされたらフォロー返しします。
changekeyを使ってキー配列を変更する方法

# 対応OS
- Windows(**windows10**、**windows11**で動作すること確認済み)
# 手順
### 1. changekeyを以下のサイトからインストールする

https://forest.watch.impress.co.jp/library/software/changekey/
### 2. ChgKey15.LZHがダウンロードされたらLhaplusを使って解凍する 
Lhaplusのダウンロードは以下で行える

https://forest.watch.impress.co.jp/library/software/lhaplus/

解凍されたら**ChgKey.exe**を実行する
<font color="red">※ 右クリックをして、管理者権限で実行すること。</font>

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3756681/ec342eb0-454f-a412-d038-15d14c2d7a67.png)


### 3. 配置を変更したいキーにカーソルを合わせてクリックする
**例：**「カタカナ/ひらがな」のキーに「半角全角」を割り当てたい場合は、
この画面で「カタカナ/ひらがな」をクリックする
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3756681/8e661c3f-2c85-6212-4a42-77c9b7cc3d87.png)

### 4. 適用させたいキーにカーソルを合わせてクリックする
**例：**「カタカナ/ひらがな」のキーに「半角全角」を割り当てたい場合は、
この画面で「半角全角」をクリックする

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3756681/7e066f28-eef2-2561-018c-80d5261b75b5.png)

### 5. 登録を押して、現在の設定内容で登録しますをクリック

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3756681/b0436f18-531c-7af0-5bc3-e4c1fe05a70e.png)


クリック後に再起動のダイアログが出るのでOKを押して再起動を行う
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3756681/7395ceac-ac53-4646-4e0b-480f6e913a0d.png)
【PHP】(多分)楽しい言語、PHP

# はじめに
こんにちは! 中学2年生のWardHamamatsu67です! 今回は、最近自分がはまっているプログラミング言語、<font color="red">PHP</font>について話していきたいと思います。
# PHPの良さ
- 難易度が<font color="red">**低め!!**</font>
- 文法が独特で<font color="green">**楽しい!!**</font>
- 将来性が<font color="blue">**高い!!**</font>
## 難易度が低め!!
まず、PHPは難易度が結構低めです。それはPythonやJavaScriptといった、初心者にお勧めとされる言語に匹敵します。"Hello, world!"の表示も、条件分岐も、変数も、繰り返し処理もPHPなら短く書くことが可能です。Web開発を極めたい方はPHPの学習もお勧めします!!
## 文法が独特で楽しい!!
PHPの文法は他と比べて独特です。例えば、"Hello, world!"を表示するとき、Pythonなどの言語ならもちろん、**print**を使います。しかし、PHPでは、**echo**がメインです。メインというのは、一応、printでもできるからです。
他にも、PHPには変数名に規則があり、必ず最初に「$」をつける必要があります。
人によって良い悪いは分かれますが、自分は楽しいので<font color="red">ヨシ!!</font>
## 将来性が高い!!
PHPについて調べている中でよく見かけるのが、「オワコン」や、「時代遅れ」というワードですが、断言します。そんなことありません!!確かにPHPはあまり好まれていない言語ですが、まだまだ残ります。Web開発で最も使用されている言語のひとつだからです。Pythonほど将来性は高くないですが、PHPも将来性は高いです。もしWeb開発関連の仕事に就くなら、PHPを使うのをお勧めします。
# おわりに
皆さん、PHPに興味が湧いてきましたか?最初は文法になかなか慣れないと思いますが、徐々に楽しくなってくると自分は考えています。この記事が良いと思った方はいいねとフォローをしてくれると嬉しいです。
# 参考
https://www.sejuku.net/blog/97598
Salesforce認定アドミニストレーター過去問+時々解説　Q111 ~ Q120

## Q111. 営業ユーザーは自分が所有する商談のみを参照できる. 営業マネージャーは企業全体の進行中商談のダッシュボードから会社の業績を確認したいと思っている. 管理者は, 共有設定を変更せずにダッシュボードをどのように作成する必要がありますか？

A すべての商談を表示できるユーザーとして実行中のユーザーを設定してダッシュボードを作成します。
B ダッシュボードを、営業マネージャーへのフォルダー設定に更新します。
C 企業全体の結果を確認する必要があるプロファイルの個別のダッシュボードを作成します。
D ダッシュボードにフィルターを追加して、所有者のロールで商談をフィルターします。

<details><summary>解答</summary>
A

解説: 通常ば閲覧者がアクセスできる範囲でしかダッシュボードに表示されることはないが, ダッシュボードのプロパティ(歯車マーク)編集から[別のユーザ]としてダッシュボードを参照するようにして, 全ての商談を表示できるユーザーを指定することでダッシュボードを開いた時に全商談データを表示するダッシュボードを開くことができる.
</details>

## Q112. 異なるユーザーで, 同じレコードの「作成日」や「最終更新日」などのタイムスタンプ項目内が異なる時刻を表示していることに気づいた. 原因調査のため, システム管理者は何を確認する必要がある？

A [私の個人情報] > [言語とタイムゾーン]
B 監査項目の作成権限
C [会社の設定] > [営業時間]
D [組織情報] > [タイムゾーンのデフォルト値]

<details><summary>解答</summary>
A

解説:　個人設定のタイムゾーンが違うことが原因.
</details>

## Q113. 階層を使用したアクセス許可は, 標準オブジェクトでは常に有効ですか？

<details><summary>解答</summary>
いいえ

解説:　ほとんどの標準オブジェクトで有効ですが, 一部のオブジェクトでは無効だから常(全て)に有効ではない.
</details>

## Q114. スケジュールレポートのメールオプションを選択できるものを2つ選択してください.

A サマリーのみ
B サマリー + レポート
C マトリクス + レポート
D レポートのみ

<details><summary>解答</summary>
A, B
</details>

## Q115. 組織で個人取引先が有効になると, 「個人取引先」という名前の個人取引先レコードタイプが自動的に作成されますか？

<details><summary>解答</summary>
はい
</details>

## Q116. コンソールの取引先オブジェクト下のリストビュー表示は, どこに行けば作成できる？

A コンソールでリストビューを作成します。
B 取引先のリストビューを作成します。
C 取引先責任者のリストビューを作成します。
D コンソールにフィールドを作成します。

<details><summary>解答</summary>
B
</details>

## Q117. 組織情報ページでは, 次のどれを知ることができますか？

A システム管理者の数
B Salesforceライセンスの数
C 組織名
D Salesforce組織ID
E 非アクティブなユーザーの数

<details><summary>解答</summary>
B, C, D
</details>

## Q118. 管理者は, Salesforceモバイルアプリケーション用にカスタマイズされたページを作成する必要がある. 管理者がLightningアプリケーションビルダーを使用して作成およびカスタマイズできるページのタイプはどれ？答えを2つ選べ.

A ユーザーページ
B アプリページ
C ダッシュボードページ
D レコードページ

<details><summary>解答</summary>
B, D
</details>

## Q119. ユーザーがSalesforceへのログインに問題を抱えている. ユーザーは複数回の試行の結果としてロックアウトされていた. 管理者がユーザーのSalesforceへのログインを支援する方法はどれですか？答えを2つ選択せよ.

A ユーザーのレコード詳細ページでパスワードをリセットします。
B パスワードポリシーをリセットして、ユーザーがログインできるようにします。
C ユーザーのレコード詳細ページのロック解除ボタンを使用します。
D ユーザーとしてログインしてユーザーのロックを解除し、パスワードをリセットします。

<details><summary>解答</summary>
A, C

解説: パスワードをリセットするとユーザーのアカウントは自動的にロック解除されて, ログインを再試行できるようになる.　また, 設定→ユーザーからロックアウトされたユーザーの詳細ページに移動しロック解除ボタンを押すことでもロック解除できる.
</details>

## Q120. 承認プロセスに関して正しい説明はどれ？2つ選べ.

A 委任された承認者は承認リクエストを再割り当てできます
B 承認アクションは、レコードの承認または拒否の結果を定義します
C 割り当てルールは、各プロセスステップの承認者を定義します
D 承認履歴関連リストを使用してプロセスを追跡できます

<details><summary>解答</summary>
B, D
</details>


## Q121~Q130
https://qiita.com/taiga-shiokawa/items/ede04eb464c5d710ea6c
Salesforce認定アドミニストレーター過去問+時々解説　Q101 ~ Q110

## Q101. ユーザーは経費報告書を作成し, 承認を得る前に経費アプリケーションで領収書を添付する. Salesforceモバイルでこのアプリケーションを有効にする場合, 管理者はユーザーの観点から何を考慮すべきですか？

A ユーザは、Salesforceレコードを検索し、レシートを写真として添付し、Chatterからのレコードを承認できます。
B ユーザは、レコードを作成し、レシートを写真として添付し、承認のために送信できます。
C ユーザは、リストビューを作成し、レシートを写真として添付し、承認のためにレコードを送信できます。
D ユーザは、検索を使用し、リストビューを作成し、Chatterからレコードのプッシュ通知を受信できます。

<details><summary>解答</summary>
B
</details>

## Q102. 標準システム管理者プロファイルを持つユーザーが取ることのできるアクションはどれ？

A ユーザが参照したレコードのログへアクセス
B カスタムプロファイルを定義し、ユーザに割り当てる
C ユーザレコードの削除
D ユーザに機能ライセンスを割り当てる
E すべてのユーザのパスワードをリセット

<details><summary>解答</summary>
B, D, E
</details>

## Q103. レポートの集計項目で行われない操作は次のうちどれ？

A 合計
B 最大
C 最小
D 件数
E 平均

<details><summary>解答</summary>
D
</details>

## Q104. カスタムオブジェクト上で項目履歴管理出来る項目数を選択せよ.

A 10
B 20
C 30
D 40

<details><summary>解答</summary>
B

解説: 標準オブジェクトもカスタムオブジェクトも, 履歴が取れる項目数の上限は1オブジェクトあたり20項目まで.
</details>

## Q105. 入力規則はリードの取引開始時でも動作しますか？

<details><summary>解答</summary>
はい

解説: 「リードの設定」を選択し, [取引開始済みのリードに入力規則が必須]を有効化することで, リードの取引開始時にも入力規則が動作するようになる.
</details>

## Q106. 次のうちどれがユーザーのプロファイルによって制御されていますか？

A IP制限
B デフォルトタイムゾーン
C 表示されるタブ
D システム管理者権限 および 一般ユーザ権限
E 会計年度
F ログイン時間

<details><summary>解答</summary>
A, C, D, F
</details>

## Q107. カスタム集計項目について正しい説明はどれですか？

A カスタムレポートでのみ使用できます。
B グラフでは使用できません。
C 標準レポートでのみ使用できます。
D オブジェクト内の他の数式項目を参照することはできません。

<details><summary>解答</summary>
D
</details>

## Q108. APIアクセスのあるSalesforceエディションはどれですか？

A Developer Edition
B Professional Edition
C Enterprise Edition
D Unlimited Edition

<details><summary>解答</summary>
B

解説: 公式ヘルプ参照
https://help.salesforce.com/s/articleView?id=000385436&type=1
</details>

## Q109. リストビューと関連レコードを異なるフレームを用いて1つの画面にまとめ, 必要な情報全てがすぐ見られるようにしたSFDCの機能はどれ？

A アセット
B 取引先
C コンソール
D キャンペーン
E コールセンター

<details><summary>解答</summary>
C

解説: Salesforceコンソールについて 公式ヘルプ参照
https://help.salesforce.com/s/articleView?id=sf.console2_about.htm&type=5
</details>

## Q110. ユーザー作成時の別名の最大文字数はどれ？

A 8
B 10
C 12
D 255

<details><summary>解答</summary>
A

![スクリーンショット 2024-03-27 10.22.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3674514/b83b007c-b64e-f3c2-86cd-e2eeb63f581e.png)
</details>

## Q111~Q120
https://qiita.com/taiga-shiokawa/items/0d0850f8ed76f8561031