はてなキーワード: SETとは
次のツイートにブクマが集まっていたが、論点が整理されていないようなので、主にCookieの出自について記述する。
cookieは命名で失敗し「魔術的な」技術と勘違いされてる。実際はすごくシンプル。①サーバがSet-CookieヘッダでIDを通知する、②クライアントは以降CookieヘッダにそのIDを設定する、③それによりサーバはクライアントを区別できるようになる。ただそれだけ。もったいぶってる説明はほぼ間違ってる。
Cookieという単語に「魔術的な」意味など元々なかったし、本来単なるデータストアである(ゆえにセッションIDも格納できる)。元ツイートの主張はおかしいし、元ツイートが腐しているspeakerdeckの内容はそんなに間違っていない。
結論として、元ツイが「現在のCookie」の話しかしていないから論点がずれている。歴史的なCookieの在り方はデータストアだった。また、現在でも一部でデータストア的に使用されている
なるほどね。それでは1つずつ見ていこう。
現在にフォーカスを当てれば、Cookieは「基本的にセッションIDを格納する場所」と説明すれば良いが(Slideもそう書いてるよ?)、元々はデータストアである。元ツイは歴史的ファクトと現代的実装のスタンダードを混同しているように感じる。2022年に「Cookieっていうのはー、ユーザ名とか個人情報を保存しておける便利なデータストアだよ」っていうと単なるやべー奴だが、1997年から2000年ごろまでは普通にそういった実装がなされていた。性善説の時代だったのである。
「嘘だろ」と言われそうなので、1997年のRFC2109を引用する
https://datatracker.ietf.org/doc/html/rfc2109
POST /acme/shipping HTTP/1.1 Cookie: $Version="1"; Customer="WILE_E_COYOTE"; $Path="/acme"; Part_Number="Rocket_Launcher_0001"; $Path="/acme" [form data]
普通にユーザー名とか買い物かごの中身をCookieに保存している。今この実装をする奴はヤベーが、1997年はそういう時代だったのである。
Cookie: $Version="1"; session_id="1234"; session_id="1111"; $Domain=".cracker.edu"
セッションIDの例もあるが、なんと数字4桁である。今こんなことをしたら確実に徳丸本の角で頭を殴られる。当時のインターネットがいかに性善説の上に成り立っていたか分かるだろう。
この主張も誤りである。例えばja.wikipedia.orgでは、アカウント名や利用者のおおよその住所などをCookieに仕込んでいる。セキュリティ的にザルだと思うなら、ぜひ直接殴り合って欲しい。
元ツイではMagic Cookieを「魔術的なクッキー」と解釈している(なんでも魔法のようにできる多機能な……って感じ?)ようだが、ここでいうMagicとは魔術のことではないだろう。Magic NumberとかMagic WordのMagic(利用者が理解していなくても有効なもの)と考えた方が意味が通る。これはMagic Cookieの語源となったfotune cookieの語義に通じるところもある。
fortune cookieとは。文字が書かれた紙片を封入した焼き菓子である。HTTP Cookieはクライアント・サーバとも内容について問わない(紙片に何を書いてもいい)し、捨てても無視しても構わない(食べなくても割らなくても良い)ためにこの名前がついたのだろう。任意の情報をラップしたものというメタファーとして適切に思えるし、Magicという形容詞も適切であると考える。
1つあたり容量が4kBしかないのも可愛らしい。クッキーでいいんじゃないか。逆に何だったら良かったのか。
そんなに間違ったことは書いていない気がするが……。現在ほとんど使われない技術が書いてあったとして、それが何……?とはなる。Slideはaxiosの使い方を示してるだけだし、2年前の記事に対して「情報が古い」ってツッコミも微妙ではある。
結局何に怒って何を否定しているのかよく分からなかった。SunのX端末を使っていたということなので、最近の事情しか知らないというわけでもなさそうなのだが。
ツリーを眺めているとあまり期待はできなさそうだが、元ツイの人はもう少し丁寧な議論をして欲しいところだ。
増 "Well… do you have something you want to tell to Japanese people?"
B "well, I would say something not only to the Japanese, but to many other people. how should I put this?
"Most people began to hate Russians by default. But this war was started by our government, not by us. Of course, we don't want this war, nobody wants it. And I assure you, our people have repeatedly gone to rallies against the government. But always people who participate in such events are sent to prison. Even people on the Internet who express a point of view that the government does not like are jailed for misinformation.
And I will not deny that some Russians have succumbed to the propaganda of our government and are expressing support for this "military operation". But many people in other countries are actually the same. They hypocritically pretend that they are concerned about the fate of Ukraine, although in fact they have only recently learned that this country even exists. In reality, if you ask them "What do they think about the DNR and LNR?", they will have absolutely no idea what are you talking about.
It's good if you sincerely worry about Uraina. But the majority worry about Ukrina and hate Russians only and only because it's a trend that their government has set. In other words, this is the same propaganda.
Well, to summarize, I just wanna say "let's just be friendly to each other." Even if our governments are not friendly to each other, this doesn't mean that we should be the same." "
C*
https://anond.hatelabo.jp/20220429233816
•what do you think about zelenskii
•do you know other politicians except him
•how future is you predict, how future is you want (i mean politically and concretely)
•What do you think about ukranians language law
•how DNR and LNR people life is?
•did you see people which changed after starting this war
•what do you think that Russian army kidnap ukranians
•what do you think about that Russian language uses «в» for any country but «он» for yours?
•and anything you want to say to Japanese
Aの露訳
①の回答
О своем будущем скажу только одно, что после войны усыноввлю и удочерю детей которые потеряли своих родителей
Aの英訳
About my future, I'll say that after the war I'll adopt children who lost their parents in this bloodshed.
Bの露訳と②の回答
1. Что ты думаешь на счёт Зеленского?
Моё мнение, что Зеленский является лучшим президентом, который не бросил Украину и народ во время войны, как сделал это Янукович. Зеленский, его команда и наш народ делают всё возможное и невозможное для сохранения нашей страны.
2. Знаешь ли ты других политиков кроме Зеленского?
Знаю многих.
3. Какое будущее ты видишь для своей страны?
Хотелось бы чтобы территории Украины вернулись в полном составе, так как это было признано международным правом.
4. Что ты думаешь о законе про украинский язык?
Я поддерживаю этот закон, хотя в нашей стране люди общаются на разных языках, в том числе и на русском, но я ни разу не слышал информации о преследовании или конфликтах на этой почве.
5. Видишь ли ты как люди сменились после начала войны?
Наш народ очень сплотился, каждый старается помочь друг другу, война наложила отпечаток на всех, это бесконечные переживания и боль.
6. Что ты думаешь по поводу того, что российская армия похищает украинцев?
Это является ужасным преступлениям.
7. Что ты думаешь о том, что русские для любой страны говорят "в", но в случае с Украиной говорят "на"?
Я считаю что это очень не красиво по отношению к украинскому государству и людям которые там живут.
8. Что ты хочешь сказать японцам?
Хочу поблагодарить за поддержку нашей страны, пожелать мира, добра и процветания.
9. Что ты хочешь меня спросить?
Почему тебя так детально интересует ситуация в моей стране?
Надеюсь всё правильно понял
•what do you think about zelenskii?
I belive Zelensky is the best president who did not abandon Ukraine and the people during the war, as Yanukovych did. Zelensky, his team and our people are doing everything possible and impossible.
•do you know other politicians except him?
•how future is you predict, how future is you want (i mean politically and concretely)?
I would like the territories of Ukraine to return in full force, because this is what was recognized by international law.
•What do you think about ukranians language law?
I support this law. Despite the fact that in our country people communicate in different languages, including Russian, I have never heard information about persecution or conflicts on this basis.
•how DNR and LNR people life is?
skipped
•did you see people which changed after starting this war?
Our people are very united, everyone is trying to help each other, the war left its mark on everyone in the form of endless experiences and pain.
•what do you think that Russian army kidnap ukranians?
•what do you think about that Russian language uses "в" for any country but "на" for yours?
I think this is very discourteous in relation to the Ukrainian state and the people who live there.
•and anything you want to say to Japanese?
I want to thank you for the support of our country. I wish you peace, kindness and prosperity.
D*
増 "Ah, turkestan ban Russian language?"
D "Not really "ban" but "limitation". This sounds more suitable in this case. it is the natural phenomenon for the mononational states. And multinational, actually. Using the one language as official. To strengthen the statehood. Same thing with Ukraine. More separation from the "big brother". That is the point, I guess.
By the way, they strengthened much more after these 8 years. I think it is too late to start an invasion now than these 8 years ago back then in any case. That does not mean that I support it, of course. You knew my point. We talked about it earlier. 🙂 I think that it is just "balls to the wall" (like the title from the one of Accept's albums). Recklessly in a word. It is naive to believe that they have stagnated all this time and have not developed or strengthened.
A*
1) Another Ukranian president that just had "the luck" to get the war. Looks funny and trustworthy. Though he sometimes lacks the experience.
2) Yes I do.
3) I predict OK future for Ukraine, bad future for Russia. Russia lost any trust and contacts that it made for over 30 years. Dark decades ahead. I want good future, with no wars and with everyone helping each other.
4) Ukrainian language law? Well, it's their country. Let them speak what they want to speak. Besides, most Ukrainians speak Russian, and they even have mostly Russian cities, like Khar'kiv. I saw no oppression of Russian.
5) DNR and LNR are basically buffer states for Russia like North Korea with the same amount of freedom. It's hell on earth.
6) Had no information about that, but I had info about killing civilians and looting their homes. It's horrible. Those soldiers are monsters and they do not represent Russia. I don't count themselves as my fellow Russians. They're monsters. Barbarians. Putin's orcs. Not Russians.
7) I say let us use whatever we want. I use "на Украину" simply because I spoke it like that over 20 years and it's the correct one.
8) I love Japan and its people. I wish we could achieve peace and could work together. Please don't think bad of Russian people, we don't support this war. We're the same victims, like Ukrainians. Victims of Putin and his police state.
--
この本は5章まであるが、4章と5章はハンズオンであるため、文字としてまとめるのは1から3章に留める。
1章
【コンテナとは】
他のプロセスとは隔離された状態でOS上にソフトウェアを実行する技術
コンテナにはアプリの稼働に必要となるランタイムやライブラリを1つのパッケージとして全て含めることができる。そうすることでアプリの依存関係をすべてコンテナ内で完結できる。
全ての依存関係がコンテナ内で完結するため、オンプレでもクラウドでも起動する。
ステージング環境でテスト済みのコンテナイメージをプロダクション環境向けに再利用することで、ライブラリ差異による環境ごとのテストに必要な工数を削減できる。
サーバー仮想化では、仮想マシンレベルでリソースを分離し、ゲストOS上でアプリが起動する。つまり、アプリだけでなく、ゲストOSを動かすためのコンピューティングリソースが必要。
一方コンテナは、プロセスレベルで分離されてアプリが稼働する。OSから見ると単に1つのプロセスが稼働している扱いになる。
【Dockerとは】
アプリをコンテナイメージとしてビルドしたり、イメージの取得や保存、コンテナの起動をシンプルに行える。
イメージ(アプリケーションと依存関係がパッケージングされる。アプリ、ライブラリ、OS)
レジストリに保存
【Dockerfileとは】
このファイルにコマンドを記述することで、アプリに必要なライブラリをインストールしたり、コンテナ上に環境変数を指定したりする。
1章まとめ、感想
コンテナの登場により、本番・開発環境ごとに1からサーバーを立ててコマンドや設定ファイルを正確に行い、環境差異によるエラーをつぶしていき...というこれまでの数々の労力を減らすことができるようになった。
2章
ECSとEKSがある。
オーケストレーションサービスであり、コンテナの実行環境ではない。
ECSの月間稼働率は99.99%であることがSLA として保証。
デプロイするコンテナイメージ、タスクとコンテナに割り当てるリソースやIAMロール、Cloud Watch Logsの出力先などを指定する。
指定した数だけタスクを維持するスケジューラーで、オーケストレータのコア機能にあたる要素。サービス作成時は起動するタスクの数や関連づけるロードバランサーやタスクを実行するネットワークを指定。
2種類ありECSとFargateがある。 Fargateに絞って書く
Fargateとは
コンテナ向けであるためEC2のように単体では使用できず、ECSかEKSで利用する
サーバーのスケーリング、パッチ適用、保護、管理にまつわる運用上のオーバーヘッドが発生しない。これにより、アプリ開発に専念できるようになる
・コンテナごとにENIがアタッチされるため、コンテナごとにIPが振られるため起動に若干時間がかかる
ECR
・App Runner
利用者がコードをアップロードするだけでコードを実行できるサービス。AWS側で基盤となるコンピューティングリソースを構築してくれるフルマネージドサービス。
App Runner
2021年5月にGA(一般公開)となったサービス。プロダクションレベルでスケール可能なwebアプリを素早く展開するためのマネージドサービス。Githubと連携してソースコードをApp Runnerでビルドとデプロイができるだけでなく、ECRのビルド済みコンテナイメージも即座にデプロイできる。
ECSとFargateの場合、ネットワークやロードバランシング、CI/CDの設定などインフラレイヤに関わる必要があり、ある程度のインフラ知識は必要になる。App Runnerはそれらインフラ周りをすべてひっくるめてブラックボックス化し、マネージドにしていることが特徴である。
ECS Fargateを利用した場合のコスト、拡張性、信頼性、エンジニアリング観点
【コスト】
EC2より料金は割高。ただし、年々料金は下がってきている。
【拡張性】
デプロイの速度 遅め
理由1 コンテナごとにENIが割り当てられるため。ENIの生成に時間がかかる
理由2. イメージキャッシュができないため。コンテナ起動時にコンテナイメージを取得する必要がある。
タスクに割り当てられるエフェメラルストレージは200GB。容量は拡張不可。ただし永続ストレージの容量が必要な場合はEFSボリュームを使う手もある。
割り当て可能リソースは4vCPUと30GB。機械学習に用いるノードのような大容量メモリを要求するホストとしては不向き
【信頼性】
Fargateへのsshログインは不可。Fargate上で起動するコンテナにsshdを立ててsshログインする方法もあるが、セキュアなコンテナ環境にsshの口を開けるのはリスキーである。他にSSMのセッションマネージャーを用いてログインする方法もあるが、データプレーンがEC2の時に比べると手間がかかる。
しかし、2021年3月にAmazon ECS Execが発表され、コンテナに対して対話型のシェルや1つのコマンドが実行可能となった。
Fargateの登場からしばらく経過し、有識者や経験者は増え、確保しやすい。
多数のユーザーに使ってもらう
CI/CDパイプラインを形成し、アプリリリースに対するアジリティを高める
各レイヤで適切なセキュリティ対策(不正アクセス対策、認証データの適切な管理、ログ保存、踏み台経由の内部アクセス)を施したい
2章まとめ、感想
AWSが提供するコンテナサービスにはいくつかあり、なかでもFargateというフルマネージドなデータプレーンがよく使われている。ホスト管理が不要でインフラ関連の工数を削減できる一方、EC2より料金が高く、起動に若干時間がかかるのが難点である。
3章
この章では運用設計、ロギング設計、セキュリティ設計、信頼性設計、パフォーマンス設計、コスト最適化設計について述べている。
Fargate利用時のシステム状態を把握するためのモニタリングやオブザーバビリティに関する設計、不具合修正やデプロイリスク軽減のためのCI/CD設計が必要である。
モニタリングとは
システム内で定めた状態を確認し続けることであり、その目的はシステムの可用性を維持するために問題発生に気づくこと
オブザーバビリティとは
オブザーバビリティの獲得によって、原因特定や対策の検討が迅速に行えるようになる
・cloud watch logs
・Firelens
AWS以外のサービスやAWS外のSaaSと連携することも可能
Firehoseを経由してS3やRed shift やOpenSearch Serviceにログを転送できる
fluent bitを利用する場合、AWSが公式に提供しているコンテナイメージを使用できる
- ソフトウェアやライブラリの脆弱性は日々更新されており、作ってから時間が経ったイメージは脆弱性を含んでいる危険がある。
- 方法
脆弱性の有無はECRによる脆弱性スキャン、OSSのtrivyによる脆弱性スキャン
継続的かつ自動的にコンテナイメージをスキャンする必要があるため、CI/CDに組み込む必要がある。しかし頻繁にリリースが行われないアプリの場合、CICDパイプラインが実行されず、同時にスキャンもなされないということになるため、定期的に行うスキャンも必要になる。
cloud watch Eventsから定期的にLambdaを実行してECRスキャンを行わせる(スキャン自体は1日1回のみ可能)
Fargateの場合、サービス内部のスケジューラが自動でマルチAZ構成を取るため、こちらで何かする必要はない。
・障害時切り離しと復旧
ECSはcloud watchと組み合わせることでタスク障害やアプリのエラーを検知できるうえに、用意されてるメトリクスをcloud watchアラームと結びつけて通知を自動化できる
ALBと結びつけることで、障害が発生したタスクを自動で切り離す
AWS内部のハードウェア障害や、セキュリティ脆弱性があるプラットフォームだと判断された場合、ECSは新しいタスクに置き換えようとするその状態のこと。
Fargateの場合、アプリはSIGTERM発行に対して適切に対処できる設定にしておかなくてはならない。そうしておかないとSIGKILLで強制終了されてしまう。データ不整合などが生じて危険。
ALBのリスナールールを変更し、コンテンツよりもSorryページの優先度を上げることで対処可能
自動でクォータは引き上がらない
cloud watch メトリクスなどで監視する必要がある。
パフォーマンス設計で求められることは、ビジネスで求められるシステムの需要を満たしつつも、技術領域の進歩や環境の変化に対応可能なアーキテクチャを目指すこと
利用者数やワークロードの特性を見極めつつ、性能目標から必要なリソース量を仮決めする
FargateはAutoscalingの利用が可能で、ステップスケーリングポリシーとターゲット追跡スケーリングポリシーがある。どちらのポリシー戦略をとるかを事前に決める
既存のワークロードを模倣したベンチマークや負荷テストを実施してパフォーマンス要件を満たすかどうかを確認する
・スケールアウト
サーバーの台数を増やすことでシステム全体のコンピューティングリソースを増やそうとする概念。可用性と耐障害性が上がる。既存のタスクを停止する必要は原則ない。
スケールアウト時の注意
・Fargate上のECSタスク数の上限はデフォルトでリージョンあたり1000までであること。
ECSタスクごとにENIが割り当てられ、タスク数が増えるごとにサブネット内の割当可能なIPアドレスが消費されていく
Application Autoscaling
Cloud Watchアラームで定めたメトリクスの閾値に従ってスケールアウトやスケールインを行う
CPU使用率が60~80%ならECSタスク数を10%増加し、80%以上なら30%増加する、という任意のステップに従ってタスク数を増減させる
--
この本は5章まであるが、4章と5章はハンズオンであるため、文字としてまとめるのは1から3章に留める。
1章
【コンテナとは】
他のプロセスとは隔離された状態でOS上にソフトウェアを実行する技術
コンテナにはアプリの稼働に必要となるランタイムやライブラリを1つのパッケージとして全て含めることができる。そうすることでアプリの依存関係をすべてコンテナ内で完結できる。
全ての依存関係がコンテナ内で完結するため、オンプレでもクラウドでも起動する。
ステージング環境でテスト済みのコンテナイメージをプロダクション環境向けに再利用することで、ライブラリ差異による環境ごとのテストに必要な工数を削減できる。
サーバー仮想化では、仮想マシンレベルでリソースを分離し、ゲストOS上でアプリが起動する。つまり、アプリだけでなく、ゲストOSを動かすためのコンピューティングリソースが必要。
一方コンテナは、プロセスレベルで分離されてアプリが稼働する。OSから見ると単に1つのプロセスが稼働している扱いになる。
【Dockerとは】
アプリをコンテナイメージとしてビルドしたり、イメージの取得や保存、コンテナの起動をシンプルに行える。
イメージ(アプリケーションと依存関係がパッケージングされる。アプリ、ライブラリ、OS)
レジストリに保存
【Dockerfileとは】
このファイルにコマンドを記述することで、アプリに必要なライブラリをインストールしたり、コンテナ上に環境変数を指定したりする。
1章まとめ、感想
コンテナの登場により、本番・開発環境ごとに1からサーバーを立ててコマンドや設定ファイルを正確に行い、環境差異によるエラーをつぶしていき...というこれまでの数々の労力を減らすことができるようになった。
2章
ECSとEKSがある。
オーケストレーションサービスであり、コンテナの実行環境ではない。
ECSの月間稼働率は99.99%であることがSLA として保証。
デプロイするコンテナイメージ、タスクとコンテナに割り当てるリソースやIAMロール、Cloud Watch Logsの出力先などを指定する。
指定した数だけタスクを維持するスケジューラーで、オーケストレータのコア機能にあたる要素。サービス作成時は起動するタスクの数や関連づけるロードバランサーやタスクを実行するネットワークを指定。
2種類ありECSとFargateがある。 Fargateに絞って書く
Fargateとは
コンテナ向けであるためEC2のように単体では使用できず、ECSかEKSで利用する
サーバーのスケーリング、パッチ適用、保護、管理にまつわる運用上のオーバーヘッドが発生しない。これにより、アプリ開発に専念できるようになる
・コンテナごとにENIがアタッチされるため、コンテナごとにIPが振られるため起動に若干時間がかかる
ECR
・App Runner
利用者がコードをアップロードするだけでコードを実行できるサービス。AWS側で基盤となるコンピューティングリソースを構築してくれるフルマネージドサービス。
App Runner
2021年5月にGA(一般公開)となったサービス。プロダクションレベルでスケール可能なwebアプリを素早く展開するためのマネージドサービス。Githubと連携してソースコードをApp Runnerでビルドとデプロイができるだけでなく、ECRのビルド済みコンテナイメージも即座にデプロイできる。
ECSとFargateの場合、ネットワークやロードバランシング、CI/CDの設定などインフラレイヤに関わる必要があり、ある程度のインフラ知識は必要になる。App Runnerはそれらインフラ周りをすべてひっくるめてブラックボックス化し、マネージドにしていることが特徴である。
ECS Fargateを利用した場合のコスト、拡張性、信頼性、エンジニアリング観点
【コスト】
EC2より料金は割高。ただし、年々料金は下がってきている。
【拡張性】
デプロイの速度 遅め
理由1 コンテナごとにENIが割り当てられるため。ENIの生成に時間がかかる
理由2. イメージキャッシュができないため。コンテナ起動時にコンテナイメージを取得する必要がある。
タスクに割り当てられるエフェメラルストレージは200GB。容量は拡張不可。ただし永続ストレージの容量が必要な場合はEFSボリュームを使う手もある。
割り当て可能リソースは4vCPUと30GB。機械学習に用いるノードのような大容量メモリを要求するホストとしては不向き
【信頼性】
Fargateへのsshログインは不可。Fargate上で起動するコンテナにsshdを立ててsshログインする方法もあるが、セキュアなコンテナ環境にsshの口を開けるのはリスキーである。他にSSMのセッションマネージャーを用いてログインする方法もあるが、データプレーンがEC2の時に比べると手間がかかる。
しかし、2021年3月にAmazon ECS Execが発表され、コンテナに対して対話型のシェルや1つのコマンドが実行可能となった。
Fargateの登場からしばらく経過し、有識者や経験者は増え、確保しやすい。
多数のユーザーに使ってもらう
CI/CDパイプラインを形成し、アプリリリースに対するアジリティを高める
各レイヤで適切なセキュリティ対策(不正アクセス対策、認証データの適切な管理、ログ保存、踏み台経由の内部アクセス)を施したい
2章まとめ、感想
AWSが提供するコンテナサービスにはいくつかあり、なかでもFargateというフルマネージドなデータプレーンがよく使われている。ホスト管理が不要でインフラ関連の工数を削減できる一方、EC2より料金が高く、起動に若干時間がかかるのが難点である。
3章
この章では運用設計、ロギング設計、セキュリティ設計、信頼性設計、パフォーマンス設計、コスト最適化設計について述べている。
Fargate利用時のシステム状態を把握するためのモニタリングやオブザーバビリティに関する設計、不具合修正やデプロイリスク軽減のためのCI/CD設計が必要である。
モニタリングとは
システム内で定めた状態を確認し続けることであり、その目的はシステムの可用性を維持するために問題発生に気づくこと
オブザーバビリティとは
オブザーバビリティの獲得によって、原因特定や対策の検討が迅速に行えるようになる
・cloud watch logs
・Firelens
AWS以外のサービスやAWS外のSaaSと連携することも可能
Firehoseを経由してS3やRed shift やOpenSearch Serviceにログを転送できる
fluent bitを利用する場合、AWSが公式に提供しているコンテナイメージを使用できる
- ソフトウェアやライブラリの脆弱性は日々更新されており、作ってから時間が経ったイメージは脆弱性を含んでいる危険がある。
- 方法
脆弱性の有無はECRによる脆弱性スキャン、OSSのtrivyによる脆弱性スキャン
継続的かつ自動的にコンテナイメージをスキャンする必要があるため、CI/CDに組み込む必要がある。しかし頻繁にリリースが行われないアプリの場合、CICDパイプラインが実行されず、同時にスキャンもなされないということになるため、定期的に行うスキャンも必要になる。
cloud watch Eventsから定期的にLambdaを実行してECRスキャンを行わせる(スキャン自体は1日1回のみ可能)
Fargateの場合、サービス内部のスケジューラが自動でマルチAZ構成を取るため、こちらで何かする必要はない。
・障害時切り離しと復旧
ECSはcloud watchと組み合わせることでタスク障害やアプリのエラーを検知できるうえに、用意されてるメトリクスをcloud watchアラームと結びつけて通知を自動化できる
ALBと結びつけることで、障害が発生したタスクを自動で切り離す
AWS内部のハードウェア障害や、セキュリティ脆弱性があるプラットフォームだと判断された場合、ECSは新しいタスクに置き換えようとするその状態のこと。
Fargateの場合、アプリはSIGTERM発行に対して適切に対処できる設定にしておかなくてはならない。そうしておかないとSIGKILLで強制終了されてしまう。データ不整合などが生じて危険。
ALBのリスナールールを変更し、コンテンツよりもSorryページの優先度を上げることで対処可能
自動でクォータは引き上がらない
cloud watch メトリクスなどで監視する必要がある。
パフォーマンス設計で求められることは、ビジネスで求められるシステムの需要を満たしつつも、技術領域の進歩や環境の変化に対応可能なアーキテクチャを目指すこと
利用者数やワークロードの特性を見極めつつ、性能目標から必要なリソース量を仮決めする
FargateはAutoscalingの利用が可能で、ステップスケーリングポリシーとターゲット追跡スケーリングポリシーがある。どちらのポリシー戦略をとるかを事前に決める
既存のワークロードを模倣したベンチマークや負荷テストを実施してパフォーマンス要件を満たすかどうかを確認する
・スケールアウト
サーバーの台数を増やすことでシステム全体のコンピューティングリソースを増やそうとする概念。可用性と耐障害性が上がる。既存のタスクを停止する必要は原則ない。
スケールアウト時の注意
・Fargate上のECSタスク数の上限はデフォルトでリージョンあたり1000までであること。
ECSタスクごとにENIが割り当てられ、タスク数が増えるごとにサブネット内の割当可能なIPアドレスが消費されていく
Application Autoscaling
Cloud Watchアラームで定めたメトリクスの閾値に従ってスケールアウトやスケールインを行う
CPU使用率が60~80%ならECSタスク数を10%増加し、80%以上なら30%増加する、という任意のステップに従ってタスク数を増減させる
これは楽天モバイルアドベントカレンダーの出遅れ記事です。嘘です。すいません。
インディアンスの楽天モバイルネタ最高だったのでこの記事を書きました。
1プランでわかりやすい料金体系、最低金額は無料、契約して1年間無料というすごい携帯キャリアです。
私は今年の3月から使っており、その品質には概ね満足していました。ところが11月中頃(曖昧)から楽天モバイルの圏外が頻発するようになりました。
ローミング終了に伴い一部エリアでは使えなくなるかもという話は知っていましたが、私がいるのは都内の3線利用できる駅前エリアで今ままでもパートナー回線を使ったことがありません。
おかしいなーと思いつつちゃんとログを取ろうと思い、楽天モバイル端末のWiFiアクセスポイントをONにして手元のノートPCから疎通確認をしてログをとることに。
楽天モバイルのDNSが落ちたことはあった時はDNS設定いじればどうにかなったけど、そもそも圏外はどうしようもありません。
crontabもないし、shじゃないし、tail,awk,uniqもないし面倒でした。
5分に一回 1.1.1.1 にpingを飛ばしてその結果をログに残しました。
以下はbatで書いた処理
@echo off ping -n 1 1.1.1.1 | findstr /i "TTL" > nul if %ERRORLEVEL% equ 0 ( set ret=success ) else ( set ret=failure ) echo %date% %time% %ret% >> %~dp0check_net.log
-- tail -3 相当のps type .92;check_net.log | select -last 3 2021/12/27 22:20:02.44 success 2021/12/27 22:25:06.00 failure 2021/12/27 22:30:05.99 failure -- awk '{print $1, ":", $3}' | uniq -c 相当のps type .92;check_net.log | %{$tmp=($_.toString() -split("92;s+"));echo ($tmp[0] + ":" +$tmp[2])} | group -NoElement Count Name ----- ---- 143 2021/12/19:success 6 2021/12/19:failure 208 2021/12/20:success 81 2021/12/20:failure 279 2021/12/21:success 9 2021/12/21:failure 221 2021/12/22:success 67 2021/12/22:failure 101 2021/12/23:failure 188 2021/12/23:success 277 2021/12/24:success 12 2021/12/24:failure 144 2021/12/25:success 69 2021/12/25:failure 287 2021/12/26:success 2 2021/12/26:failure 43 2021/12/27:failure 225 2021/12/27:success -- 時間ごと type .92;check_net.log | sls failure | %{echo $_.toString().Substring(11,2)} | group -NoElement | sort Name Count Name ----- ---- 21 0 17 1 19 2 20 3 40 4 47 5 42 6 41 7 21 8 9 9 17 10 14 14 18 15 8 16 23 17 14 18 6 19 1 20 6 21 7 22 5 23
ログが不十分なのは途中でログファイル消しちゃったのと、ノートPCを閉じちゃってタスクスケジューラが止まってたタイミングがあるため
途中まで `findstr /i "TTL"` がなかったのでsuccessだけど実際は疎通できてないものがあります(pingの宛先ホストに到達できませんはsuccess扱いだった)
12/23がひどい。1日の35%繋がらない。「日本のスマホ代は高すぎる」けど繋がらないんじゃ意味ないんよ。
11~13時台は落ちてない。逆に何故。
5分に一回の計測なのでたまたまそのタイミングだけ疎通したりしなかったりってのはあるけど、その割合は落ち具合の体感と一致します。
テザリング利用では1日10GBの制限があるらしいですが、制限には引っかかっていません。
今も利用しているのは無料期間中なのと、楽天モバイル回線はYoutubeとかネットサーフィンとか止まっても許せる範囲で使っているからです。
これをメイン回線にしてたら緊急の連絡とか取れないだろうし、だいぶ困りそう。
書き込もうとしたけど、楽天モバイル回線は圏外で書き込めないので別の回線で書き込んでます。
RSRQは-15でした、どいひー
データ分析の練習や説明用によく使われる、「1970年代の」ボストンの不動産価格データセットは、"ethical problem" があって、いろんな機械学習ライブラリから排除されるのね。
“B”
Just in case you’ve gotten this far without somehow paying attention, the column in question is called “B”:
B: Black proportion of population. (1970 US Census)
This is already offensive to 2019 eyes (and hopefully 1975 eyes). But let’s try to give the authors the benefit of some doubt that I’m missing something historical, or otherwise relevant, that would warrant the inclusion of this field in the “common specification” of hedonic house pricing.
racist data destruction?. a Boston housing dataset controversy | by M Carlisle | Medium
https://medium.com/@docintangible/racist-data-destruction-113e3eff54a8
Deprecated since version 1.0: This function is deprecated in 1.0 and will be removed in 1.2. See the warning message below for further details regarding the alternative datasets.
sklearn.datasets.load_boston — scikit-learn 1.0.1 documentation
https://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_boston.html
データに含まれる "B" という「地域住民のうちの黒人の割合」を示す列がいかんらしいね。まぁ、日本で「〇〇市の不動産価格データセット」があったとして、そこに「地域住民のうちの部落出身者の割合」が同じく "B列" であったら燃えるだろうしなぁ。でも、実際に目的変数である不動産価格に負の影響を及ぼしてるんだけどねぇ。
This post is the at first time for Anonymous Diary.
At first, I would like to introduce myself, I move to overseas due to the ordering of my company about 2 years ago when my TOIEC score is just 400, but I don't know it now.
Probably, I almost grown up skill of English.
I forgot that this is a diary, today, I went to laundry shop via the car by my drive.
After, I went to the Japanese restaurant and ate the Karaage-teishoku(this is the Japanese-style fried chicken with steamed rice and miso soup, Teisyoku meaning is a meal set, like a salad and soup for main dish.). It was very delicious, I was sure that it can be supplied in Japan.
And, I tried to the credit card that is new one, but it was not working. This country's infrastructure is not good then I assumed that that is a cause, but I met same problem other places then I think this card or my information have a cause, I went to the bank, but it is closed, I'm too late.
演出チーム
野村萬斎 開会式・閉会式の総合統括、チーフ・エグゼクティブ・クリエーティブ・ディレクター
2020年8月ごろ 佐々木宏から小林賢太郎に開会式の演出の協力を求められ承諾
2020年8月18日 完成前B案 佐々木宏がMIKIKOに説明
2020年12月9日 ケラリーノ・サンドロヴィッチ パラリンピック開会式ステージ演出担当発表#
2020年12月9日 小林賢太郎 パラリンピック開会式ステージ演出担当発表#
2020年12月23日 野村萬斎演出チーム解散 佐々木宏に一任#
2021年3月18日 佐々木宏辞任 後任おかず# 小林賢太郎が演出統括扱い
2021年7月8日 五輪 東京・神奈川・埼玉・千葉 無観客#
2021年7月14日 五輪演出チーム発表 エグゼクティブプロデューサー 日置貴之 聖火台デザイナー 佐藤オオキ
■開会式
Director of Choreography 平原慎太郎
Scenographer 種田陽平
Set Disigner 冨澤奈美
Composer 小山田圭吾
Composer 徳澤青弦
Composer 原摩利彦
Composer 景井雅之
Assistant Music Director ナカムラヒロシ
Costume Designer 櫻井利彦
他
■閉会式
Director of Choreography 平原慎太郎
Scenographer 種田陽平
Set Disigner 冨澤奈美
Video Director 平牧和彦
Multimedia Director メリッサ・ウィーゲル
Composer 徳澤青弦
Assistant Music Director ナカムラヒロシ
Stylist 森田晃嘉
Costume Designer 飯嶋久美子
他
演出チーム
野村萬斎 開会式・閉会式の総合統括、チーフ・エグゼクティブ・クリエーティブ・ディレクター
2020年8月ごろ 佐々木宏から小林賢太郎に開会式の演出の協力を求められ承諾
2020年8月18日 完成前B案 佐々木宏がMIKIKOに説明
2020年12月9日 ケラリーノ・サンドロヴィッチ パラリンピック開会式ステージ演出担当発表#
2020年12月9日 小林賢太郎 パラリンピック開会式ステージ演出担当発表#
2020年12月23日 野村萬斎演出チーム解散 佐々木宏に一任#
2021年3月18日 佐々木宏辞任 後任おかず# 小林賢太郎が演出統括扱い
2021年7月8日 五輪 東京・神奈川・埼玉・千葉 無観客#
2021年7月14日 五輪演出チーム発表 エグゼクティブプロデューサー 日置貴之 聖火台デザイナー 佐藤オオキ
■開会式
Director of Choreography 平原慎太郎
Scenographer 種田陽平
Set Disigner 冨澤奈美
Composer 小山田圭吾
Composer 徳澤青弦
Composer 原摩利彦
Composer 景井雅之
Assistant Music Director ナカムラヒロシ
Costume Designer 櫻井利彦
他
■閉会式
Director of Choreography 平原慎太郎
Scenographer 種田陽平
Set Disigner 冨澤奈美
Video Director 平牧和彦
Multimedia Director メリッサ・ウィーゲル
Composer 徳澤青弦
Assistant Music Director ナカムラヒロシ
Stylist 森田晃嘉
Costume Designer 飯嶋久美子
他
こうして比較してみると、"radioactive water" はどちらかと言えば強い方の表現だなと思った。
contaminated Fukushima water, contaminated water
Japan says it will release more than one million tonnes of contaminated water from the ruined Fukushima nuclear power station back into the sea, in a decision that drew swift condemnation from China, South Korea and environmental groups and is likely to anger the fishing industry.
ttps://www.aljazeera.com/news/2021/4/13/japan-to-release-contaminated-fukushima-water-into-sea
Fukushima radioactive water, contaminated water
Japan to announce Fukushima radioactive water release into sea
Tokyo appears set to formally announce its final decision on the release of contaminated water from its wrecked Fukushima nuclear power plant into the sea.
ttp://www.arirang.com/News/News_View.asp?nSeq=275277
wastewater, contaminated water
Japan has approved a plan to release more than one million tonnes of contaminated water from the destroyed Fukushima nuclear plant into the sea.
ttps://www.bbc.com/news/world-asia-56728068
treated Fukushima water, contaminated water
Japan to release treated Fukushima water into the sea: PM Yoshihide Suga
The Japanese government plans to release more than 1 million tonnes of contaminated water from the destroyed Fukushima nuclear plant into the ocean, Prime Minister Yoshihide Suga said on Tuesday (Apr 13), in a controversial decision that follows years of debate.
ttps://www.channelnewsasia.com/news/asia/japan-fukushima-nuclear-plant-water-sea-yoshihide-suga-14610968
Fukushima wastewater, radioactive water
Japan determined to release Fukushima wastewater despite backlash
Japanese Prime Minister Yoshihide Suga said on Monday that the disposal of radioactive water from the crippled Fukushima nuclear power plant cannot be postponed amid plans to rebuild the plant, despite the looming backlash from both home and abroad, broadcaster NHK reported.
ttps://news.cgtn.com/news/2021-04-12/The-plan-to-release-Fukushima-wastewater-sparks-backlash-ZoFTbhBjG0/index.html
treated Fukushima water, treated radioactive water
Japan to start releasing treated Fukushima water into sea in 2 years
Japan will start releasing more than 1 million metric tons of treated radioactive water from its destroyed Fukushima nuclear plant into the ocean in two years, the government said Tuesday -- a plan that faces opposition at home and has raised "grave concern" in neighboring countries.
ttps://edition.cnn.com/2021/04/12/asia/japan-fukushima-water-intl-hnk/index.html
radioactive water
Fukushima: South Korea summons Japan's envoy over dumping decision
The Japanese government has approved a controversial plan to release radioactive water from the wrecked Fukushima nuclear plant into the ocean. South Korea expressed 'strong regret' over the decision.
ttps://www.dw.com/en/fukushima-south-korea-summons-japans-envoy-over-dumping-decision/a-57177353
Japan to dump contaminated water from Fukushima nuclear station into sea
Japan plans to release into the sea more than 1 million tonnes of contaminated water from the destroyed Fukushima nuclear station, the government said on Tuesday.
ttps://www.france24.com/en/asia-pacific/20210413-japan-to-release-contaminated-water-from-fukushima-nuclear-station-into-sea
Japan's Prime Minister Suga Yoshihide says a decision on how to dispose of treated water from the Fukushima Daiichi nuclear power plant should not be put off.
ttps://www3.nhk.or.jp/nhkworld/en/news/20210412_18/
irradiated water, Contaminated wastewater
Japanese government says it WILL release irradiated water from Fukushima nuclear plant into the sea
Contaminated wastewater at the Fukushima Dai-ichi nuclear plant will be released into the ocean “in around two years,” the Japanese government has announced, despite calls from China and South Korea urging against the move.
ttps://www.rt.com/news/520856-fukushima-contaminated-water-release/
増田諸兄はAI Dungeonというゲームをご存知だろうか。
テキストベースのRPGで、AIに対して対話形式で物語を作って遊ぶ基本プレイ無料のゲームである。
「DO(~する)」「SAY(~と言う)」「STORY(地の文含めて物語を1から書く)」などを使うことで、AIがこちらが書いた内容に応じて次の展開を示してくれる。
形式としてはAIを相手にTRPGをするというか、AIとリレー小説を書くような感覚に近い。
残念ながら対応言語は英語のみだが、日頃からこの場で高尚かつ熱い議論を交わしている増田諸兄は中学英語レベルなら余裕で使いこなせるだろう。
本当になんでもできる。英語で書ければだが。
剣と魔法のファンタジー世界で銃をぶっ放して遊ぶこともできるし、個人で楽しむ範囲なら、再現した版権世界に異世界転生することもできる。
NSFWな遊び方ももちろんできる。というか自分はもっぱらその使い方ばかりしている。
では実際にどうやって遊ぶか、軽く実例をお示ししよう。
まずはサイトに登録し、Homeから「NEW GAME」をクリック。
すると色々出てくるので、わかりやすいシナリオ群である「PROMPTS」から、「Fantasy」、続けて「Knight」をクリック。
すると、
You are Masuda, a knight living in the kingdom of Larion. You have a steel longsword and a wooden shield. You are on a quest to defeat the evil dragon of Larion. You've heard he lives up at the north of the kingdom. You set on the path to defeat him and walk into a dark forest. As you enter the forest you see a ogre.
こんなのが出てくる。
しかし同じことをした諸兄は全く違う文章が出力されているだろう。
それもそのはず、AI Dungeonは遊ぶたびに異なる物語を提供してくれるからだ。
なので同じシナリオでも、進め方次第で全く異なる結末を迎えることがよくある。
このシナリオでは騎士の増田がドラゴン退治に向かったらオーガに出会ったようだ。
せっかくなので倒してみよう。
>you slay ogre
You defeat the ogre with your sword, but as you go to loot his body you are engulfed in flames. You have awoken in Hell.
あっさり倒せたが、戦利品を得ようとするとなぜか急に地獄に飛ばされた。
思っていたのと違うのでやり直そう。
>you slay ogre
You run forward and slay the ogre with a mighty swing of your sword. Ogre blood spills out on to the ground and you continue. Suddenly you hear a roar.
全く違う展開になった。
もっと違う展開を見るため、一度やり直してみる。
因みに戻しすぎた場合は「REDO」で同じ文章が再展開されるし、「RESTORE」でなかったことにした文を引っ張り出すこともできる。
ここさえなんとかなればなぁ~という惜しい文章は、直接「EDIT」で自分好みに変えてしまうのもいいだろう。
You are Masuda, a knight living in the kingdom of Larion. You have a steel longsword and a wooden shield. You are on a quest to defeat the evil dragon of Larion. You've heard he lives up at the north of the kingdom. You set on the path to defeat him and walk into a dark forest. As you enter the forest you see a ogre.
「SAY」モードで「Excuse me, do you know where the dragon is?」とでも書いたらどうなるだろうか。
>You say "Excuse me, do you know where the dragon is?"
The ogre looks at you and says "The dragon? He is in the next cave!"
さっき殺したのが申し訳なくなるくらいフレンドリーに答えてもらった。
相手はかなりの頻度でこちらを殺しにかかってくるので何度かRETRYしたが。
では「Story」モードでは何ができるだろうか。同様の手順で文を戻し、こんな感じに入力してみる。
「The ogre is bathing in the river. She may be around your age, and she reveals her muscular but feminine body under the sun.」
You are Masuda, a knight living in the kingdom of Larion. You have a steel longsword and a wooden shield. You are on a quest to defeat the evil dragon of Larion. You've heard he lives up at the north of the kingdom. You set on the path to defeat him and walk into a dark forest. As you enter the forest you see a ogre.
The ogre is bathing in the river. She may be around your age, and she reveals her muscular but feminine body under the sun. She has a large bosoms and butts and her skin is a light green. She has long black hair and she is rubbing it with a white cotton rag. The ogre turns to you and gasp in surprise.
このゲームがいかに素晴らしいか、諸兄にお分かりいただけただろうか。
私が冒頭に述べた「英語で書ければ何でもできる」とはまさにこのことだ。
誰もが冒頭の展開からでっぷり太った醜いオーガと遭遇する場面を想像しただろうが、このように書いてしまえば乳と尻のデカいマッチョ亜人美女とのラッキースケベ現場に早変わりである。
もちろんこんなのは序の口で、ある種の英単語さえ知っていればそれはもうあんなことからこんなことまで自由自在だ。
そろそろ諸兄もAI Dungeonをプレイ(意味深)したくなってきたのではないだろうか。
さて、増田諸兄にAI Dungeonの素晴らしさを伝えたところで、諸兄らがぶち当たりそうな問題点について補足する。
もちろん他の疑問があれば、可能な限り追記して返答しようと思うので、気兼ねなくご質問をお願いしたい。
そもそもテキストベースのゲームなのでコピペで直ぐに翻訳できる。
AIも賢いので多少文法・スペルが間違っていても強引に解釈してくれる。
まあとりあえず遊んでみよう。話はそれから。
ページの右上タブから「Setting」に移動し、「Safe mode」を設定しよう。
「OFF」でNSFW展開を許可し、「STRICT」で完全に除外することができる。
試していないので不明だが「MODERATE」で中間程度だろう。
AIは語った内容を結構な頻度で忘れるため、登場人物の容姿や持ち物がコロコロ変わってしまうことがある。
そういうときは「PIN」や「World Information」に忘れさせたくない情報を記載すると良いだろう。
「PIN」は常にAIが覚えてくれるが、1000字以内という縛りがある。
「World Information」は特定の単語にのみ反応して情報を思い出してくれるが、多くの情報を入れることができる。
状況に応じて使い分けるといいだろう。
これは無課金で遊んでいるとどうしても出てくる最大の不満点である。
もちろんAI Dungeonは画期的なゲームだが、何度も遊んでいると同じような展開ばかりになってしまうことがある。
これはプレイヤー側の入力が偏っている可能性があることも一因だが、それ以上に大きいのは、AIにも出せる限界がある、ということだ。
無課金で利用できるAIは「GRIFFIN」と呼ばれる一段下のモデルであり、課金することで「DRAGON」という最上位AIの一部・または全部を使うことができる。
DRAGONモデルは驚くほど自然、かつクリエイティブで多彩なシナリオを展開してくれる。上記の例文もDRAGONモデルが生成したものだ。
課金することで「SCALE」というゲーム内通貨を入手でき、これを使って特定のプリセットワールドを購入することもできる。
フルパワーのAI Dungeonを遊び倒したい諸兄はぜひサブスクライブしよう。
サブスクライブしたら「Setting」から「AI Model」を変更することを忘れないように。
$ffparam = "" $inputs = "" $lists = Get-Clipboard Write-Output $lists foreach ($pms in $lists) { if($pms.Contains("curl")) { $inputs += $pms.Replace("curl","-i") } if($pms.Contains("user-agent")) { $ffparam += $pms.Replace(' -H "user-agent: ','-user_agent "') continue } if($pms.Contains(" -H")) { $ffparam += $pms.Replace(" -H","-headers") } } $ffparam += $inputs $ffparam = $ffparam.Replace("^","") $ffparam += "-c copy -movflags faststart -bsf:a aac_adtstoasc" Set-Clipboard $ffparam
phpのmb_send_mailを使ってSPF付きでメールを送信すると
Received: (from AAA@localhost) by www2000.sakura.ne.jp
X-Authentication-Warning: www2000.sakura.ne.jp: AAA set sender to info@example.com using -f
問題となっているのはAAAとなっているところで、ここには契約したアカウント名が入ります。
これは初期ドメインの先頭と一致するのでブラウザにAAA.sakura.ne.jpと打ち込めばメインサイトにたどり着けてしまいます。
せっかくマルチドメイン運営でひた隠しにしてきたのに「あ、この人AAAの運営と同一人物だ」とバレてしまいました。
いやあああぁぁぁぁぁぁ・・・!
死ぬほど恥ずかしい。
想像してほしい。真面目なサイトの運営者が裏では主食がBLとか言っている姿を。
名前付き引数という仕組みはこの問題をかなり筋良く解決しているように思う。
例えばSwiftで
を呼び出す時は
と書く。
メソッドのオーバーロードも名前単位で可能なので、func set(fuga: Int)も定義できる。
Swiftでアクセサメソッドなんて書くことはないというのはともかく。(例なので)
名前付き引数があるとかなり関数の命名が変わり、hogeFromFuga(int fuga)やfooWithBar(string bar)が単にhoge(piyo: Int)やfoo(bar: String)になる。