AWS Certified Cloud Practitioner 001(モジュール 2まで)

Self-paced digital training on AWS - AWS Skill Builder

Amazon Elastic Compute Cloud (Amazon EC2)

インスタンスタイプ - Amazon EC2 | AWS

  • 汎用
    • コンピューティング、メモリ、ネットワークのリソースをバランスよく提供
  • コンピューティング最適化
    • 高パフォーマンスプロセッサを提供
  • メモリ最適化
    • 高パフォーマンスデータベースに最適
  • ストレージ最適化
    • データウェアハウジングアプリケーションに最適

Amazon EC2 の料金 | AWS 公式

Amazon EC2 Auto Scaling(需要に合わせてコンピューティング性能を拡張)| AWS

メッセージングとキューイング

Amazon SNS(サーバーレスアプリのための pub/sub メッセージングサービス)| AWS

Amazon SQS(サーバーレスアプリのためのメッセージキューサービス)| AWS

サーバーレスコンピューティング

AWS Lambda(イベント発生時にコードを実行)| AWS

  • AWS Lambda
    • サーバーのプロビジョニングや管理を行うことなく、コードを実行できる

その他サービス

Amazon ECS(Docker コンテナを実行および管理)| AWS

  • Amazon Elastic Container Service (Amazon ECS)
    • コンテナ化されたアプリケーションを実行およびスケールできる
    • コンテナ管理

Amazon EKS(AWS でマネージド Kubernetes を実行)| AWS

AWS Fargate(サーバーやクラスターの管理が不要なコンテナの使用)| AWS

  • AWS Fargate
    • コンテナをサーバーレスで実行することができる
    • コンテナ実行

機動戦士ガンダム アーセナルベース の感想(終了)

kameyatakefumi.hatenablog.com

現在 SEASON:04 が稼働しています。

前回の記事は SEASON:02 の終わりに書いていました。
今回、今まで記事を書いていないという事はそういう事です。
プレイしていません。

SEASON:03 前半はやっていたんですが、色々とキツイな、っと思う事が増えてきてやらなくなりました。

つらつら書いて、私のアーセナルベースの終わりとします。

まずエンジョイデッキではオンライン対戦に勝てなくなりました。
SEASON:02 までは、ギリギリ勝てなくもない感じでしたが、SEASON:03 からは無理に近いです。
デッキ構築に制限がないため、SEASON:01からSEASON:03までの強いカードでデッキを組まれると、エンジョイデッキは数値的に無理です。

今後、どんどん強いカードが追加されていって、どんどん勝てなくなるのが SEASON:03 で見えてきました。

次にカードの設計、追加が雑すぎますね。
SEASON:02 で Uレア だったガンダムエクシアなんですが、SEASON:03 では Mレア で追加されました。
しかも、普通に考えて SEASON:03 Mレア ガンダムエクシア の方が使えるんですよね。

Uレアより強いMレアを、次のSEASONに追加するって運営は何を考えているのか、さっぱりわかりません。
こういう事をされると、現行SEASONのカードを手に入れるモチベーションがわかなくなってきます。
せっかく入手しても、次のSEASONでは使えないカードになっている可能性が大です。

これらがあって、プレイ意欲が激減してやらなくなりました。
他にも細かい点で不満がありますが、(去ってしまう私が)あえて書くことではないかな。
ちょっと1プレイ200円で遊ぶゲームではないかなぁ。

お疲れ様でした。

Wilson BURN 100S v4.0 を使ってみた 01回目(ポリツアープロ)

kameyatakefumi.hatenablog.com

届いたので打ってみました。
以下、セッティングです。

  • Wilson BURN 100S v4.0
  • YONEX ポリツアープロ 125 40P
  • トアルソン イオミックショックレス

ガットは(比べやすいように) CLASH 98 v1.0 と同じにしました。

最初は 振動止め を なし で打っていましたが、全然ダメでした。

打球音が カンカン と甲高い音で、好きじゃないです。
硬いフレームにポリエステルガットを張っているのだから、そうなるんですけどね、、。

あと、ネットにかかりまくってました。
回転がかかりすぎているのもあるんでしょうけど、(感覚的には)糸の本数が少なくてボールに力が伝わらずネットになっている感じです。

振動止めなし だと、挙動が特殊すぎて使うのがシンドイです。(打ち出し角度の調整が必要)
振動止めを付けると、カンカンしなくなり、挙動が安定しました。

とにかくフレームが固いですね。
体への負荷が高いので、力を込めて打つのではなく、リラックスして当てにいくのが良いと感じました。
練習が終わった後、肩とか手首が痛くなるので、ガットは張り替えた方がいいでしょうね、、。
力まないテニスを覚えたいので、できるかぎり、このセッティングでプレイしたいではあります。
(あと、お金がもったいない)
(頼むからテニス肘にはならないで)

100S で、このダメージなので、100 以上のスペックだと、間違いなく体をぶっ壊しますよ、、。

CLASH 98 v1.0 との類似点は、強打してもコントロールが効く所でしょうか。
CLASH 98 v1.0 はフレームがしなり、BURN 100S v4.0 はガットがたわむのが違いですかね。
どちらにせよ、コントロールが効くので、そこは Wilson のラケットの素晴らしい点です。

回転は明らかに BURN 100S v4.0 が、かけやすいです。
持ち上げやすいですし、特にサーブに恩恵がありますね。
コートに収まるし、ボールが跳ねるので、サーブが楽しい。

総合して評価したら BURN 100S v4.0 が、使えるラケットだと思います。

この値段で、この性能は素晴らしいですね。
ただ、価格が上がってもいいから、振動減衰機能を付けて欲しかったです、、。

フレームが硬いので、ガットをどうするのか悩みますね。
次は ナイロンモノ か ナイロンマルチ で打ってみたいです。

BURN 100S v4.0 をメインで使い、体へのダメージがヤバそうなら CLASH 98 v1.0 を使う感じになりそうです。

2022/12/16 追記:
BURN 100S v4.0 を使っていましたが、体へのダメージを気にして、振っていけなくなりました。
CLASH 98 v1.0 を使用します。
パワーのあるラケットは魅力的ですが、振っていけないのなら、使うメリットがないですね、、。
勉強になりました。
ガットを張り替えたら、また使ってみたいと思います。

kameyatakefumi.hatenablog.com

PostgreSQL DCL(GRANT、REVOKE)

GRANT

https://www.postgresql.jp/document/11/html/sql-grant.html

  • GRANT { アクセス権の種類(SELECTなど) } ON [オブジェクト種別(TABLEの場合は省略可)] オブジェクト名 TO ユーザ名(またはロール名) [WITH GRANT OPTION];
    • アクセス権の種類
      • SELECTとCOPY TOの実行を許可する(SELECT)
      • INSERTとCOPY FROMの実行を許可する(INSERT)
      • UPDATEの実行を許可する(UPDATE)
      • DELETEの実行を許可する(DELETE)
      • TRUNCATEの実行(テーブルの全データを高速で削除)を許可する(TRUNCATE)
      • 外部キー制約を作成することを許可する(REFERENCES)
      • トリガーの作成を許可する(TRIGGER)
      • データベースへの接続を許可する(CONNECT)
      • データベースに対するスキーマの作成を許可する(CREATE)
      • スキーマに対するオブジェクトの作成を許可する(CREATE)
    • WITH GRANT OPTION オプションが指定された場合、他のユーザにその権限を与えることができる。
  • GRANT ロール名 TO ユーザ名;

ユーザ名としてpublicを使うと、全ユーザに対して権限の付与(あるいはpublicに対して付与した権限の剥奪)を行うことができる。
ある個別ユーザのあるオブジェクトの権限を剥奪しても、publicユーザにあるオブジェクトの権限があれば、ある個別ユーザはあるオブジェクトを操作可能になる。
GRANTやREVOKEによるアクセス権限は、各データベース内にある。
スーパーユーザは特殊なユーザで、アクセス権限がなくても、テーブルにアクセスすることができる。
SELECTについては明示的なSELECT文を実行する場合だけでなく、SQLのWHERE句などで参照される場合にも必要になる。
ロールに権限を付与し、そのロールをユーザに付与した場合、その後で ロール に別の権限を追加で付与すれば、ユーザ にもその権限が自動的に付与される。
(権限のコピーではなく、参照を作成している?)

REVOKE

https://www.postgresql.jp/document/11/html/sql-revoke.html

  • REVOKE 権限 ON テーブル名 FROM {ユーザ名 | PUBLIC};

PostgreSQL DML(SELECT、INSERT、UPDATE、DELETE、COPY)

SELECT

https://www.postgresql.jp/document/11/html/sql-select.html

  • SELECT 列名 FROM テーブル名 WHERE 検索条件
ORDER BY
  • SELECT 列名 FROM テーブル名 WHERE 検索条件 ORDER BY ソート対象 [ ASC | DESC ]

返される行は指定した順番でソートされる。

LIMIT と OFFSET

https://www.postgresql.jp/document/11/html/queries-limit.html

  • SELECT 列名 FROM テーブル名 WHERE 検索条件 ORDER BY ソート対象 [ ASC | DESC ] LIMIT 件数 OFFSET 位置

結果は、指定の位置から指定の件数を返す。
LIMIT、最大何件取得するか。
OFFSET、先頭から何件スキップするか。

DISTINCT
  • SELECT DISTINCT [ ON (重複除去対象の列名) ] 列名 FROM テーブル名 WHERE 検索条件

結果から重複行を取く。
DISTINCT ON にはソートを行う作用がある。

GROUP BY と HAVING
  • SELECT 列名 FROM テーブル名 WHERE 検索条件 GROUP BY 対象列名 HAVING 条件

まず、WHERE句が評価され、GROUP BY でグループ化、その後に HAVING が表示される。
HAVING句には、集約関数が使用できる。

副問い合わせ

https://www.postgresql.jp/document/11/html/functions-subquery.html

  • SELECT 列名 FROM (SELECT 列名 FROM テーブル名) エイリアス WHERE 検索条件
  • SELECT 列名 FROM テーブル名 WHERE 検索条件 = (SELECT 列名 FROM テーブル名 WHERE 検索条件)
  • SELECT (SELECT 列名 FROM テーブル名)

WHERE 句の副問い合わせでは、FROM句から取得したデータを副問い合わせで評価する。
SELECT の列名に副問い合わせを指定する場合、複数の結果を返す副問い合わせはエラーになる。
(結果は1件のみ)

IN と NOT IN
  • SELECT 列名 FROM テーブル名 WHERE 列名 IN (値)
  • SELECT 列名 FROM テーブル名 WHERE 列名 NOT IN (値)
ANY
  • SELECT 列名 FROM テーブル名 WHERE 列名 演算子 ANY (副問い合わせ)

IN、NOT IN との違い、副問い合わせの結果は 1列 である事、値は配列形式である事、演算子を使用できる事。

BETWEEN
  • SELECT 列名 FROM テーブル名 WHERE 列名 BETWEEN 値 AND 値
INNER JOIN
  • SELECT 列名 FROM テーブル名1 [INNER] JOIN テーブル名2 ON テーブル名1.列名 = テーブル名2.列名 WHERE 条件
  • SELECT 列名 FROM テーブル名1 [INNER] JOIN テーブル名2 USING (列名) WHERE 条件
  • SELECT 列名 FROM テーブル名1 NATURAL [INNER] JOIN テーブル名2 WHERE 条件

内部結合は、複数のテーブルから一致する要素がある行のみを結合して表示する。
USING、NATURAL を使用した場合、対象の列は左にまとめられる。
ON を使用した場合、双方の列が表示される。

CROSS JOIN
  • SELECT 列名 FROM テーブル名1 CROSS JOIN テーブル名2 WHERE 条件
  • SELECT 列名 FROM テーブル名1, テーブル名2 WHERE 条件

クロス結合は、テーブルt1の1行ごとに、テーブルt2の全行を結合して表示する。
クロス結合で得られる結果の行数は、テーブルt1とテーブルt2の行数の積となります。

OUTER JOIN
  • SELECT 列名 FROM テーブル名1 { LEFT | RIGHT | FULL } [OUTER] JOIN テーブル名2 ON テーブル名1.列名 = テーブル名2.列名 WHERE 条件
  • SELECT 列名 FROM テーブル名1 { LEFT | RIGHT | FULL } [OUTER] JOIN テーブル名2 USING (列名) WHERE 条件
  • SELECT 列名 FROM テーブル名1 NATURAL { LEFT | RIGHT | FULL } [OUTER] JOIN テーブル名2 WHERE 条件

外部結合は、複数のテーブルから一致する要素の有無にかかわらず結合して表示する。

EXISTS と NOT EXISTS
  • SELECT 列名 FROM テーブル名 WHERE EXISTS (副問い合わせ)
  • SELECT 列名 FROM テーブル名 WHERE NOT EXISTS (副問い合わせ)

副問い合わせの結果、1件以上あれば真、0件であれば偽となる。
真であれば、テーブル名から対象の列名をすべて取得する。
副問い合わせに、テーブル名に関する条件が指定された場合、その条件に合致する行のみを取得する。

UNION(和)、EXCEPT(差)、INTERSECT(積)

https://www.postgresql.jp/document/11/html/queries-union.html

  • SELECT文 UNION [ALL] SELECT文
  • SELECT文 EXCEPT [ALL] SELECT文
  • SELECT文 INTERSECT [ALL] SELECT文

同じ列数で、列のデータ型がそれぞれ互換性を持っている必要がある。
ALL を付けないと、重複を排除する。
優先度は INTERSECT が高く、UNION と EXCEPT は同じ。(左から処理される)

INSERT

https://www.postgresql.jp/document/11/html/sql-insert.html

  • INSERT INTO テーブル名 [(列名)] VALUES (挿入データ)
  • INSERT INTO テーブル名 [(列名)] SELECT文

UPDATE

https://www.postgresql.jp/document/11/html/sql-update.html

  • UPDATE テーブル名 SET 列名 = 値[, 列名 = 値...] [WHERE 条件];
  • UPDATE テーブル名 SET (列名[, 列名...]) = (値[, 値...]) [WHERE 条件];

DELETE

https://www.postgresql.jp/document/11/html/sql-delete.html

  • DELETE FROM テーブル名 WHERE 条件

COPY

https://www.postgresql.jp/document/11/html/sql-copy.html

  • ファイルの内容をテーブルにコピー
    • COPY table_name FROM 'filename'
  • テーブルの内容をファイルにコピー
    • COPY table_name TO 'filename'
    • COPY テーブル名 TO {'絶対パスのファイル名' | STDOUT} [WITH] [オプション];
      • COPY sample TO '/Users/local/sample.csv' WITH (FORMAT csv);
    • COPY テーブル名 FROM {'絶対パスのファイル名'} [WITH] (FORMAT csv, HEADER);

標準SQLにはない、PostgreSQLの独自拡張機能
デフォルトではタブ区切りファイルを入出力する。
入出力先としてファイル名を指定する場合、実行には管理者権限が必要になる。
ファイルのパス名も絶対パスで指定すべき。
psqlの\copyメタコマンドは、内部的にはCOPYコマンドが実行される。
COPY文ではテーブルしか指定できない(例えば、ビューを指定できない)という制限がある。
SQLのINSERTを使うよりも高速に処理される。
サーバー側のファイルにアクセスする。クライアント側は \copy を利用する。
ファイル名を指定しない場合はスーパーユーザーである必要はない。