「SET」を含む日記 RSS

はてなキーワード: SETとは

2022-06-05

HTTP Cookie命名で失敗したのか

趣旨

次のツイートブクマが集まっていたが、論点が整理されていないようなので、主にCookie出自について記述する。

※元ツイートブクマ

cookie命名で失敗し「魔術的な」技術勘違いされてる。実際はすごくシンプル。①サーバSet-CookieヘッダでIDを通知する、②クライアントは以降CookieヘッダにそのIDを設定する、③それによりサーバクライアント区別できるようになる。ただそれだけ。もったいぶって説明はほぼ間違ってる。

TL; DR

Cookieという単語に「魔術的な」意味など元々なかったし、本来単なるデータストアである(ゆえにセッションIDも格納できる)。元ツイートの主張はおかしいし、元ツイートが腐しているspeakerdeckの内容はそんなに間違っていない。

結論として、元ツイが「現在Cookie」の話しかしていないか論点がずれている。歴史的Cookieの在り方はデータストアだった。また、現在でも一部でデータストア的に使用されている

ツイートの主張

なるほどね。それでは1つずつ見ていこう。

CookieクライアントIDを保存するだけのもの

現在フォーカスを当てれば、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に仕込んでいる。セキュリティ的にザルだと思うなら、ぜひ直接殴り合って欲しい。

Cookieという命名ダメ

元ツイではMagic Cookieを「魔術的なクッキー」と解釈している(なんでも魔法のようにできる多機能な……って感じ?)ようだが、ここでいうMagicとは魔術のことではないだろう。Magic NumberとかMagic WordMagic(利用者理解していなくても有効もの)と考えた方が意味が通る。これはMagic Cookie語源となったfotune cookieの語義に通じるところもある。

fortune cookieとは。文字が書かれた紙片を封入した焼き菓子であるHTTP Cookieクライアントサーバとも内容について問わない(紙片に何を書いてもいい)し、捨てても無視しても構わない(食べなくても割らなくても良い)ためにこの名前がついたのだろう。任意情報ラップしたものというメタファーとして適切に思えるし、Magicという形容詞も適切であると考える。

1つあたり容量が4kBしかないのも可愛らしい。クッキーいいんじゃないか。逆に何だったら良かったのか。

speakerdeckの内容は有害デタラメ

そんなに間違ったことは書いていない気がするが……。現在ほとんど使われない技術が書いてあったとして、それが何……?とはなる。Slideはaxiosの使い方を示してるだけだし、2年前の記事に対して「情報が古い」ってツッコミ微妙ではある。

総括

結局何に怒って何を否定しているのかよく分からなかった。SunのX端末を使っていたということなので、最近事情しか知らないというわけでもなさそうなのだが。

リーを眺めているとあまり期待はできなさそうだが、元ツイの人はもう少し丁寧な議論をして欲しいところだ。

余談

2022-04-30

原文

全部載せるのは重労働からかいつまんで

B

増 "Well… do you have something you want to tell to Japanese people?"

B "yes, "Konnichiwa!" "


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. Что ты хочешь меня спросить?

Почему тебя так детально интересует ситуация в моей стране?

Надеюсь всё правильно понял


増田質問とBの英訳

•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?

I know many of them.

•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?

This is a terrible crime.

•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.



増田はtoeic700くらいしかいか英語力はお察し

2022-04-26

Get WildがあるならSet Wildもあっていいはず

setWild(wild)

setWildAndTough(wild, tough)

2022-04-21

よく使うgitコマンド

git branch --all

git switch

git switch -

git diff

git diff --cached

git cherry-pick

git reflog

git commit --amend

git add . -p

git pull

git show

git fetch && git merge origin/master

git merge

git merge --abort

git rebase -i HEAD^^^^^

git tag --delete

git tag -d

git log

git log --graph

git push

git push --force-with-lease

git push --force

git push --tags

git push --delete

git push --set-upstream

git status

2022-02-05

PRSGCA

plan 計画

ready 準備

set 配置

go 取り掛かる

check 振り返り

action 改善

2022-01-25

本のまとめ

--

この本は5章まであるが、4章と5章はハンズオンであるため、文字としてまとめるのは1から3章に留める。

1章

コンテナとは】

他のプロセスとは隔離された状態OS上にソフトウェアを実行する技術

コンテナ利用のメリット

環境依存から解放

コンテナにはアプリの稼働に必要となるランタイムライブラリを1つのパッケージとして全て含めることができる。そうすることでアプリ依存関係をすべてコンテナ内で完結できる。

依存関係を含めたパッケージリリース単位となる

環境構築やテストに要する時間の削減

優れた再現性ポータビリティ

全ての依存関係コンテナ内で完結するため、オンプレでもクラウドでも起動する。

ステージング環境テスト済みのコンテナイメージプロダクション環境向けに再利用することで、ライブラリ差異による環境ごとのテスト必要工数を削減できる。

リソース効率のアップ

サーバー仮想化では、仮想マシンレベルリソースを分離し、ゲストOS上でアプリが起動する。つまりアプリだけでなく、ゲストOSを動かすためのコンピューティングリソース必要

一方コンテナは、プロセスレベルで分離されてアプリが稼働する。OSから見ると単に1つのプロセスが稼働している扱いになる。

Dockerとは】

コンテナライフサイクル管理するプラットフォーム

アプリコンテナイメージとしてビルドしたり、イメージの取得や保存、コンテナの起動をシンプルに行える。

アプリソースコード + Dockerfile

↓ buildでイメージ作成

イメージ(アプリケーションと依存関係パッケージングされる。アプリライブラリOS)

shipイメージの保存

レジストリに保存

run コンテナの実行

オンプレクラウドなどで起動

Dockerfileとは】

イメージを構築するためのテキストファイル

このファイルコマンド記述することで、アプリ必要ライブラリインストールしたり、コンテナ上に環境変数を指定したりする。

1章まとめ、感想

コンテナの登場により、本番・開発環境ごとに1からサーバーを立ててコマンド設定ファイルを正確に行い、環境差異によるエラーをつぶしていき...というこれまでの数々の労力を減らすことができるようになった。

2章

AWS提供するコンテナサービス

コントロールプレーン

コンテナ管理する機能

コントロールプレーンは2種類

ECSとEKSがある。

ECS

フルマネージドなコンテナオーケストレータ。

オーケストレーションサービスであり、コンテナの実行環境ではない。

ECSの月間稼働率99.99%であることがSLA として保証

タスク

コンテナ動作するコンポーネント

タスクは1つ以上のコンテナからなる

アプリを起動するためにはコンテナ必要

タスク定義

タスク作成するテンプレート定義JSON記述

デプロイするコンテナイメージタスクコンテナに割り当てるリソースやIAMロール、Cloud Watch Logsの出力先などを指定する。

サービス

指定した数だけタスクを維持するスケジューラーで、オーケストレータのコア機能にあたる要素。サービス作成時は起動するタスクの数や関連づけるロードバランサータスクを実行するネットワーク指定

クラスター

サービスタスクを実行する論理グループ

データプレーン

コンテナが実際に稼働するリソース環境

2種類ありECSとFargateがある。 Fargateに絞って書く

Fargateとは

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

AWSのフルマネージドなデータプレーンとして定義されている

コンテナ向けであるためEC2のように単体では使用できず、ECSかEKSで利用する

Fargate メリット

ホスト管理不要であること

サーバーのスケーリングパッチ適用保護管理にまつわる運用上のオーバーヘッドが発生しない。これにより、アプリ開発に専念できるようになる

Fargate デメリット

価格EC2より高い。

利用者コンテナの稼働するOSには介入できない

コンテナごとにENIがアタッチされるため、コンテナごとにIPが振られるため起動に若干時間がかかる

ECR

フルマネージドなコンテナレジストリ

コンテナイメージを保存、管理できる

コンテナが利用されているサービス

Lambda

・App Runner

Lambda

 利用者コードアップロードするだけでコードを実行できるサービス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の登場からしばらく経過し、有識者経験者は増え、確保しやすい。

システム要件確認

多数のユーザーに使ってもらう

可用性を高めるためにマルチAZ構成を取る

CI/CDパイプライン形成し、アプリリリースに対するアジティを高める

レイヤで適切なセキュリティ対策不正アクセス対策認証データの適切な管理ログ保存、踏み台経由の内部アクセス)を施したい

2章まとめ、感想

AWS提供するコンテナサービスはいくつかあり、なかでもFargateというフルマネージドなデータプレーンがよく使われている。ホスト管理不要インフラ関連の工数を削減できる一方、EC2より料金が高く、起動に若干時間がかかるのが難点である

3章

この章では運用設計ロギング設計セキュリティ設計信頼性設計パフォーマンス設計コスト最適化設計について述べている。

運用設計

Fargate利用時のシステム状態を把握するためのモニタリングやオブザーバビリティに関する設計不具合修正デプロイリスク軽減のためのCI/CD設計必要である

モニタリングとは

システム内で定めた状態確認し続けることであり、その目的システムの可用性を維持するために問題発生に気づくこと

オブザーバビリティとは

システム全体を俯瞰しつつ、内部状態まで深掘できる状態

オブザーバビリティの獲得によって、原因特定対策検討が迅速に行えるようになる

ロギング設計

・cloud watch logs

他のAWSサービスとの連携も容易

サブスクリプションフィルター特定文字列の抽出も容易

・Firelens

AWS以外のサービスAWS外のSaaS連携することも可能

Firehoseを経由してS3やRed shiftOpenSearch Serviceにログ転送できる

Fluentdやfluent bit選択できる

fluent bitを利用する場合AWS公式提供しているコンテナイメージ使用できる

セキュリティ設計

イメージに対するセキュリティ対策

 - ソフトウェアライブラリ脆弱性は日々更新されており、作ってから時間が経ったイメージ脆弱性を含んでいる危険がある。

 - 方法

  脆弱性の有無はECRによる脆弱性スキャンOSSのtrivyによる脆弱性スキャン

継続的かつ自動的コンテナイメージスキャンする必要があるため、CI/CDに組み込む必要がある。しかし頻繁にリリースが行われないアプリ場合CICDパイプラインが実行されず、同時にスキャンもなされないということになるため、定期的に行うスキャン必要になる。

cloud watch Eventsから定期的にLambdaを実行してECRスキャンを行わせる(スキャン自体は1日1回のみ可能

提供元が不明ベースイメージ使用は避ける

・IAMポリシーによるECRのパブリック化の禁止

 - オペレーションミスによる公開を防ぐことができる

信頼性設計

マルチAZ構成

Fargateの場合サービス内部のスケジューラが自動マルチAZ構成を取るため、こちらで何かする必要はない。

障害時切り離しと復旧

ECSはcloud watchと組み合わせることでタスク障害アプリエラーを検知できるうえに、用意されてるメトリクスをcloud watchアラームと結びつけて通知を自動化できる

ALBと結びつけることで、障害が発生したタスク自動で切り離す

リタイアという状態

AWS内部のハードウェア障害や、セキュリティ脆弱性があるプラットフォームだと判断された場合ECSは新しいタスクに置き換えようとするその状態のこと。

Fargateの場合アプリはSIGTERM発行に対して適切に対処できる設定にしておかなくてはならない。そうしておかないとSIGKILLで強制終了されてしまう。データ整合などが生じて危険

システムメンテナンス時におけるサービス停止

ALBのリスナールールを変更し、コンテンツよりもSorryページの優先度を上げることで対処可能

サービスクォータという制限

意図しない課金増加から保護するために設けられた制限

自動でクォータは引き上がらない

cloud watch メトリクスなどで監視する必要がある。

パフォーマンス設計

パフォーマンス設計で求められることは、ビジネスで求められるシステム需要を満たしつつも、技術領域進歩環境の変化に対応可能アーキテクチャを目指すこと

ビジネス上の性能要件を把握することが前提

利用者数やワークロードの特性を見極めつつ、性能目標から必要リソース量を仮決めする

FargateはAutoscalingの利用が可能で、ステップスケーリングポリシーターゲット追跡スケーリングポリシーがある。どちらのポリシー戦略をとるかを事前に決める

既存のワークロードを模倣したベンチマークや負荷テスト実施してパフォーマンス要件を満たすかどうかを確認する

スケールアウト

サーバーの台数を増やすことでシステム全体のコンピューティングリソースを増やそうとする概念。可用性と耐障害性が上がる。既存タスクを停止する必要原則ない。

スケールアウト時の注意

・Fargate上のECSタスク数の上限はデフォルトリージョンあたり1000までであること。

VPCIPアドレスの割当量に気をつける

ECSタスクごとにENIが割り当てられ、タスク数が増えるごとにサブネット内の割当可能IPアドレスが消費されていく

スケールアウトによるIPアドレスの枯渇に注意

Application Autoscaling

Fargateで使用可能

Cloud Watchアラームで定めたメトリクスの閾値に従ってスケールアウトやスケールインを行う

ステップスケーリングポリシー

ステップを設けて制御する

CPU使用率が60~80%ならECSタスク数を10%増加し、80%以上なら30%増加する、という任意ステップに従ってタスク数を増減させる

ターゲット追跡スケーリングポリシーとは

指定したメトリクスのターゲット値を維持するようなにスケールアウトやスケールインを制御する方針

ターゲット追跡スケーリングPermalink | 記事への反応(0) | 21:45

本のまとめ

--

この本は5章まであるが、4章と5章はハンズオンであるため、文字としてまとめるのは1から3章に留める。

1章

コンテナとは】

他のプロセスとは隔離された状態OS上にソフトウェアを実行する技術

コンテナ利用のメリット

環境依存から解放

コンテナにはアプリの稼働に必要となるランタイムライブラリを1つのパッケージとして全て含めることができる。そうすることでアプリ依存関係をすべてコンテナ内で完結できる。

依存関係を含めたパッケージリリース単位となる

環境構築やテストに要する時間の削減

優れた再現性ポータビリティ

全ての依存関係コンテナ内で完結するため、オンプレでもクラウドでも起動する。

ステージング環境テスト済みのコンテナイメージプロダクション環境向けに再利用することで、ライブラリ差異による環境ごとのテスト必要工数を削減できる。

リソース効率のアップ

サーバー仮想化では、仮想マシンレベルリソースを分離し、ゲストOS上でアプリが起動する。つまりアプリだけでなく、ゲストOSを動かすためのコンピューティングリソース必要

一方コンテナは、プロセスレベルで分離されてアプリが稼働する。OSから見ると単に1つのプロセスが稼働している扱いになる。

Dockerとは】

コンテナライフサイクル管理するプラットフォーム

アプリコンテナイメージとしてビルドしたり、イメージの取得や保存、コンテナの起動をシンプルに行える。

アプリソースコード + Dockerfile

↓ buildでイメージ作成

イメージ(アプリケーションと依存関係パッケージングされる。アプリライブラリOS)

shipイメージの保存

レジストリに保存

run コンテナの実行

オンプレクラウドなどで起動

Dockerfileとは】

イメージを構築するためのテキストファイル

このファイルコマンド記述することで、アプリ必要ライブラリインストールしたり、コンテナ上に環境変数を指定したりする。

1章まとめ、感想

コンテナの登場により、本番・開発環境ごとに1からサーバーを立ててコマンド設定ファイルを正確に行い、環境差異によるエラーをつぶしていき...というこれまでの数々の労力を減らすことができるようになった。

2章

AWS提供するコンテナサービス

コントロールプレーン

コンテナ管理する機能

コントロールプレーンは2種類

ECSとEKSがある。

ECS

フルマネージドなコンテナオーケストレータ。

オーケストレーションサービスであり、コンテナの実行環境ではない。

ECSの月間稼働率99.99%であることがSLA として保証

タスク

コンテナ動作するコンポーネント

タスクは1つ以上のコンテナからなる

アプリを起動するためにはコンテナ必要

タスク定義

タスク作成するテンプレート定義JSON記述

デプロイするコンテナイメージタスクコンテナに割り当てるリソースやIAMロール、Cloud Watch Logsの出力先などを指定する。

サービス

指定した数だけタスクを維持するスケジューラーで、オーケストレータのコア機能にあたる要素。サービス作成時は起動するタスクの数や関連づけるロードバランサータスクを実行するネットワーク指定

クラスター

サービスタスクを実行する論理グループ

データプレーン

コンテナが実際に稼働するリソース環境

2種類ありECSとFargateがある。 Fargateに絞って書く

Fargateとは

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

AWSのフルマネージドなデータプレーンとして定義されている

コンテナ向けであるためEC2のように単体では使用できず、ECSかEKSで利用する

Fargate メリット

ホスト管理不要であること

サーバーのスケーリングパッチ適用保護管理にまつわる運用上のオーバーヘッドが発生しない。これにより、アプリ開発に専念できるようになる

Fargate デメリット

価格EC2より高い。

利用者コンテナの稼働するOSには介入できない

コンテナごとにENIがアタッチされるため、コンテナごとにIPが振られるため起動に若干時間がかかる

ECR

フルマネージドなコンテナレジストリ

コンテナイメージを保存、管理できる

コンテナが利用されているサービス

Lambda

・App Runner

Lambda

 利用者コードアップロードするだけでコードを実行できるサービス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の登場からしばらく経過し、有識者経験者は増え、確保しやすい。

システム要件確認

多数のユーザーに使ってもらう

可用性を高めるためにマルチAZ構成を取る

CI/CDパイプライン形成し、アプリリリースに対するアジティを高める

レイヤで適切なセキュリティ対策不正アクセス対策認証データの適切な管理ログ保存、踏み台経由の内部アクセス)を施したい

2章まとめ、感想

AWS提供するコンテナサービスはいくつかあり、なかでもFargateというフルマネージドなデータプレーンがよく使われている。ホスト管理不要インフラ関連の工数を削減できる一方、EC2より料金が高く、起動に若干時間がかかるのが難点である

3章

この章では運用設計ロギング設計セキュリティ設計信頼性設計パフォーマンス設計コスト最適化設計について述べている。

運用設計

Fargate利用時のシステム状態を把握するためのモニタリングやオブザーバビリティに関する設計不具合修正デプロイリスク軽減のためのCI/CD設計必要である

モニタリングとは

システム内で定めた状態確認し続けることであり、その目的システムの可用性を維持するために問題発生に気づくこと

オブザーバビリティとは

システム全体を俯瞰しつつ、内部状態まで深掘できる状態

オブザーバビリティの獲得によって、原因特定対策検討が迅速に行えるようになる

ロギング設計

・cloud watch logs

他のAWSサービスとの連携も容易

サブスクリプションフィルター特定文字列の抽出も容易

・Firelens

AWS以外のサービスAWS外のSaaS連携することも可能

Firehoseを経由してS3やRed shiftOpenSearch Serviceにログ転送できる

Fluentdやfluent bit選択できる

fluent bitを利用する場合AWS公式提供しているコンテナイメージ使用できる

セキュリティ設計

イメージに対するセキュリティ対策

 - ソフトウェアライブラリ脆弱性は日々更新されており、作ってから時間が経ったイメージ脆弱性を含んでいる危険がある。

 - 方法

  脆弱性の有無はECRによる脆弱性スキャンOSSのtrivyによる脆弱性スキャン

継続的かつ自動的コンテナイメージスキャンする必要があるため、CI/CDに組み込む必要がある。しかし頻繁にリリースが行われないアプリ場合CICDパイプラインが実行されず、同時にスキャンもなされないということになるため、定期的に行うスキャン必要になる。

cloud watch Eventsから定期的にLambdaを実行してECRスキャンを行わせる(スキャン自体は1日1回のみ可能

提供元が不明ベースイメージ使用は避ける

・IAMポリシーによるECRのパブリック化の禁止

 - オペレーションミスによる公開を防ぐことができる

信頼性設計

マルチAZ構成

Fargateの場合サービス内部のスケジューラが自動マルチAZ構成を取るため、こちらで何かする必要はない。

障害時切り離しと復旧

ECSはcloud watchと組み合わせることでタスク障害アプリエラーを検知できるうえに、用意されてるメトリクスをcloud watchアラームと結びつけて通知を自動化できる

ALBと結びつけることで、障害が発生したタスク自動で切り離す

リタイアという状態

AWS内部のハードウェア障害や、セキュリティ脆弱性があるプラットフォームだと判断された場合ECSは新しいタスクに置き換えようとするその状態のこと。

Fargateの場合アプリはSIGTERM発行に対して適切に対処できる設定にしておかなくてはならない。そうしておかないとSIGKILLで強制終了されてしまう。データ整合などが生じて危険

システムメンテナンス時におけるサービス停止

ALBのリスナールールを変更し、コンテンツよりもSorryページの優先度を上げることで対処可能

サービスクォータという制限

意図しない課金増加から保護するために設けられた制限

自動でクォータは引き上がらない

cloud watch メトリクスなどで監視する必要がある。

パフォーマンス設計

パフォーマンス設計で求められることは、ビジネスで求められるシステム需要を満たしつつも、技術領域進歩環境の変化に対応可能アーキテクチャを目指すこと

ビジネス上の性能要件を把握することが前提

利用者数やワークロードの特性を見極めつつ、性能目標から必要リソース量を仮決めする

FargateはAutoscalingの利用が可能で、ステップスケーリングポリシーターゲット追跡スケーリングポリシーがある。どちらのポリシー戦略をとるかを事前に決める

既存のワークロードを模倣したベンチマークや負荷テスト実施してパフォーマンス要件を満たすかどうかを確認する

スケールアウト

サーバーの台数を増やすことでシステム全体のコンピューティングリソースを増やそうとする概念。可用性と耐障害性が上がる。既存タスクを停止する必要原則ない。

スケールアウト時の注意

・Fargate上のECSタスク数の上限はデフォルトリージョンあたり1000までであること。

VPCIPアドレスの割当量に気をつける

ECSタスクごとにENIが割り当てられ、タスク数が増えるごとにサブネット内の割当可能IPアドレスが消費されていく

スケールアウトによるIPアドレスの枯渇に注意

Application Autoscaling

Fargateで使用可能

Cloud Watchアラームで定めたメトリクスの閾値に従ってスケールアウトやスケールインを行う

ステップスケーリングポリシー

ステップを設けて制御する

CPU使用率が60~80%ならECSタスク数を10%増加し、80%以上なら30%増加する、という任意ステップに従ってタスク数を増減させる

ターゲット追跡スケーリングポリシーとは

指定したメトリクスのターゲット値を維持するようなにスケールアウトやスケールインを制御する方針

ターゲット追跡スケーリングPermalink | 記事への反応(0) | 21:45

2022-01-23

System.NullReferenceException: Object reference not set to an instance of an object.

オブジェクトがnullでーすって言うのは分かったよ。問題はどのオブジェクトがNULLなんだか報告しろよおめー。アスペか? 俺はエスパーじゃねえんだぞゴルァ

2021-12-27

楽天モバイルの圏外をモニタリングする

これは楽天モバイルアドベントカレンダー出遅れ記事です。嘘です。すいません。

インディアンス楽天モバイルネタ最高だったのでこの記事を書きました。

皆さん、楽天モバイルを知っていますか。

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 .\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 .\check_net.log | %{$tmp=($_.toString() -split("\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 .\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とかネットサーフィンとか止まっても許せる範囲で使っているからです。

これをメイン回線にしてたら緊急の連絡とか取れないだろうし、だいぶ困りそう。

書き込もうとしたけど、楽天モバイル回線は圏外で書き込めないので別の回線で書き込んでます

追記

楽天ハンドLTE回線状況チェッカーを入れてみたところ

RSRQは-15でした、どいひー

2021-12-24

Boston dataset is deprecated.

データ分析練習説明用によく使われる、「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列" であったら燃えるだろうしなぁ。でも、実際に目的変数である不動産価格に負の影響を及ぼしてるんだけどねぇ。

2021-11-14

Diary for the first time in English

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.

Next working day's lunch time, I want to go to same bank.

2021-09-16

無題

2018年7月31日

演出チーム

野村萬斎 開会式閉会式総合統括、チーフエグゼクティブクリエティブ・ディレクター

山崎貴 オリンピック 演出総括

佐々木宏 パラリンピック 演出総括

椎名林檎川村元気、栗栖良依、MIKIKO

2019年6月3日 演出責任者 野村萬斎からMIKIKO

2020年1月7日 菅野演出担当辞任#

2020年3月24日 五輪延期発表#

2020年4月6日 A案

2020年5月11日 A案白紙 演出責任者 佐々木宏

2020年8月ごろ 佐々木宏から小林賢太郎開会式演出の協力を求められ承諾

2020年8月18日 完成前B案 佐々木宏MIKIKO説明

2020年10月4日 B案

2020年11月9日 MIKIKO組織委員会辞任

2020年12月8日 C案〈Confidential〉

2020年12月9日 ケラリーノ・サンドロヴィッチ パラリンピック開会式ステージ演出担当発表#

2020年12月9日 小林賢太郎 パラリンピック開会式ステージ演出担当発表#

2020年12月21日 D案〈Confidential〉

2020年12月23日 野村萬斎演出チーム解散 佐々木宏に一任#

2020年12月 ケラリーノ・サンドロヴィッチ退任

2021年1月19日 E案〈Confidential〉

2021年3月18日 佐々木宏辞任 後任おかず# 小林賢太郎演出統括扱い

2021年6月27日 F案〈Confidential〉

2021年7月8日 五輪 東京神奈川埼玉千葉 無観客#

2021年7月14日 五輪演出チーム発表 エグゼクティブプロデューサー 日置貴之 聖火台デザイナー 佐藤オオキ

2021年7月18日 G案〈Confidential〉

2021年7月19日 小山田圭吾辞任

2021年7月22日 小林賢太郎解任

開会式

Show Director 小林賢太郎

Director of Choreography 平原慎太郎

Music Director 田中知之

Scenographer 種田陽平

Set Disigner 冨澤奈美

Art Director 浜辺明弘

Writer 樋口卓治

Hair & Make-up 冨沢ノボル

Video Director 辻川幸一郎

Video Director 児玉裕一

Video Director 小島淳二

Video Director 田中嗣久

Video Director 井口皓太

Creative Adviser Concept 福部明浩

Composer 小山田圭吾

Composer 徳澤青弦

Composer 原摩利彦

Composer 景井雅之

Assistant Music Director ナカムラヒロシ

Mime Artist が~まるちょば<HIRO-PON

Costume Designer 若林ケイ

Costume Designer スズキタカユキ

Costume Designer 櫻井利彦

閉会式

Show Director 小林賢太郎

Director of Choreography 平原慎太郎

Music Director 田中知之

Scenographer 種田陽平

Set Disigner 冨澤奈美

Art Director 浜辺明弘

Writer 樋口卓治

Hair & Make-up 冨沢ノボル

Video Director 平牧和彦

Multimedia Director メリッサ・ウィーゲル

Video Director 近藤

Video Director 藤代雄一郎

Video Director 水谷明希

Painter 中山晃子

Director of Choreography 山田うん

Composer 徳澤青弦

Assistant Music Director ナカムラヒロシ

Costume Designer 若林ケイ

Stylist 森田晃嘉

Costume Designer 飯嶋久美子

2021-07-29

無題

2018年7月31日

演出チーム

野村萬斎 開会式閉会式総合統括、チーフエグゼクティブクリエティブ・ディレクター

山崎貴 オリンピック 演出総括

佐々木宏 パラリンピック 演出総括

椎名林檎川村元気、栗栖良依、MIKIKO

2019年6月3日 演出責任者 野村萬斎からMIKIKO

2020年1月7日 菅野演出担当辞任#

2020年3月24日 五輪延期発表#

2020年4月6日 A案

2020年5月11日 A案白紙 演出責任者 佐々木宏

2020年8月ごろ 佐々木宏から小林賢太郎開会式演出の協力を求められ承諾

2020年8月18日 完成前B案 佐々木宏MIKIKO説明

2020年10月4日 B案

2020年11月9日 MIKIKO組織委員会辞任

2020年12月8日 C案〈Confidential〉

2020年12月9日 ケラリーノ・サンドロヴィッチ パラリンピック開会式ステージ演出担当発表#

2020年12月9日 小林賢太郎 パラリンピック開会式ステージ演出担当発表#

2020年12月21日 D案〈Confidential〉

2020年12月23日 野村萬斎演出チーム解散 佐々木宏に一任#

2020年12月 ケラリーノ・サンドロヴィッチ退任

2021年1月19日 E案〈Confidential〉

2021年3月18日 佐々木宏辞任 後任おかず# 小林賢太郎演出統括扱い

2021年6月27日 F案〈Confidential〉

2021年7月8日 五輪 東京神奈川埼玉千葉 無観客#

2021年7月14日 五輪演出チーム発表 エグゼクティブプロデューサー 日置貴之 聖火台デザイナー 佐藤オオキ

2021年7月18日 G案〈Confidential〉

2021年7月19日 小山田圭吾辞任

2021年7月22日 小林賢太郎解任

開会式

Show Director 小林賢太郎

Director of Choreography 平原慎太郎

Music Director 田中知之

Scenographer 種田陽平

Set Disigner 冨澤奈美

Art Director 浜辺明弘

Writer 樋口卓治

Hair & Make-up 冨沢ノボル

Video Director 辻川幸一郎

Video Director 児玉裕一

Video Director 小島淳二

Video Director 田中嗣久

Video Director 井口皓太

Creative Adviser Concept 福部明浩

Composer 小山田圭吾

Composer 徳澤青弦

Composer 原摩利彦

Composer 景井雅之

Assistant Music Director ナカムラヒロシ

Mime Artist が~まるちょば<HIRO-PON

Costume Designer 若林ケイ

Costume Designer スズキタカユキ

Costume Designer 櫻井利彦

閉会式

Show Director 小林賢太郎

Director of Choreography 平原慎太郎

Music Director 田中知之

Scenographer 種田陽平

Set Disigner 冨澤奈美

Art Director 浜辺明弘

Writer 樋口卓治

Hair & Make-up 冨沢ノボル

Video Director 平牧和彦

Multimedia Director メリッサ・ウィーゲル

Video Director 近藤

Video Director 藤代雄一郎

Video Director 水谷明希

Painter 中山晃子

Director of Choreography 山田うん

Composer 徳澤青弦

Assistant Music Director ナカムラヒロシ

Costume Designer 若林ケイ

Stylist 森田晃嘉

Costume Designer 飯嶋久美子

2021-06-17

バンドの転換期

ピンクフロイドが68年のSet the control of the heart of the sunでそれまでのシドサイケデリックロック遺産から一気に転換し、プログレッシブオーケストラロックにかじを切ってそのままLive at Pompeiiへと続いて大成功したのだと思う その意味でこの曲はあまり注目されていないが歴史的名曲である

2021-05-14

anond:20210514131628

これでよろしいですよね?姫様

one original please,

or

Zero humberger and potato set please.

2021-04-14

「radioactive water」を他の国のメディアではどう表現しているか

各国のメディア記事タイトルと1文目を抜き出してみた。

こうして比較してみると、"radioactive water" はどちらかと言えば強い方の表現だなと思った。

Al Jazeera (カタール)

contaminated Fukushima water, contaminated water

Japan to release contaminated Fukushima water into sea

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

Arirang (韓国)

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

BBC (イギリス)

wastewater, contaminated water

Fukushima: Japan approves releasing wastewater into ocean

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

CNA (シンガポール)

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

CGTN (中国)

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

CNN (アメリカ)

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

DW (ドイツ)

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

France 24 (フランス)

contaminated water

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

NHK WORLD-JAPAN (日本)

treated water

Suga: Decision on treated water cannot be delayed

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/

RT (ロシア)

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/

2021-02-23

AI Dungeonの素晴らしさを語る

AI Dungeonとは

増田諸兄はAI Dungeonというゲームをご存知だろうか。

 

https://play.aidungeon.io/

 

テキストベースRPGで、AIに対して対話形式物語を作って遊ぶ基本プレイ無料ゲームである

「DO(~する)」「SAY(~と言う)」「STORY地の文含めて物語を1から書く)」などを使うことで、AIこちらが書いた内容に応じて次の展開を示してくれる。

形式としてはAI相手TRPGをするというか、AIリレー小説を書くような感覚に近い。

残念ながら対応言語英語のみだが、日頃からこの場で高尚かつ熱い議論を交わしている増田諸兄は中学英語レベルなら余裕で使いこなせるだろう。

 

AI Dungeonで何ができる?

 

 英語表現できることなら何でもできる。

 

本当になんでもできる。英語で書ければだが。

剣と魔法ファンタジー世界で銃をぶっ放して遊ぶこともできるし、個人で楽しむ範囲なら、再現した版権世界異世界転生することもできる。

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は遊ぶたびに異なる物語提供してくれるからだ。

なので同じシナリオでも、進め方次第で全く異なる結末を迎えることがよくある。

 

このシナリオでは騎士増田ドラゴン退治に向かったらオーガ出会ったようだ。

せっかくなので倒してみよう。

「Do」モードで「slay ogre」と入力してみる。

 

>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.

 

あっさり倒せたが、戦利品を得ようとするとなぜか急に地獄に飛ばされた。

思っていたのと違うのでやり直そう。

入力欄直上のボタンの中で一番左にある「RETRY」を押す。

 

>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.

 

全く違う展開になった。

もっと違う展開を見るため、一度やり直してみる。

入力欄上の「UNDOボタンを2回押して元に戻そう。

因みに戻しすぎた場合は「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!"

"Thank you!" you say.

You enter the 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の素晴らしさを伝えたところで、諸兄らがぶち当たりそうな問題点について補足する。

もちろん他の疑問があれば、可能な限り追記して返答しようと思うので、気兼ねなくご質問をお願いしたい。

 

英語が読めない、書けない

そんな諸兄にもGoogle翻訳という文明の利器がある。

そもそもテキストベースゲームなのでコピペで直ぐに翻訳できる。

AIも賢いので多少文法スペルが間違っていても強引に解釈してくれる。

まあとりあえず遊んでみよう。話はそれから

 

NSFWな展開にならない or NSFWな展開にしたくない

ページの右上タブからSetting」に移動し、「Safe mode」を設定しよう。

「OFF」でNSFW展開を許可し、「STRICT」で完全に除外することができる。

試していないので不明だが「MODERATE」で中間程度だろう。

 

AIが言っていることが矛盾している

AIは語った内容を結構な頻度で忘れるため、登場人物容姿や持ち物がコロコロ変わってしまうことがある。

そういうときは「PIN」や「World Information」に忘れさせたくない情報記載すると良いだろう。

PIN」は常にAIが覚えてくれるが、1000字以内という縛りがある。

「World Information」は特定単語にのみ反応して情報を思い出してくれるが、多くの情報を入れることができる。

状況に応じて使い分けるといいだろう。

 

AIの出してくる展開が単調・つまらない

これは無課金で遊んでいるとどうしても出てくる最大の不満点である

もちろんAI Dungeon画期的ゲームだが、何度も遊んでいると同じような展開ばかりになってしまうことがある。

これはプレイヤー側の入力が偏っている可能性があることも一因だが、それ以上に大きいのは、AIにも出せる限界がある、ということだ。

これを解決するにはどうすれば良いか

 

 課金である

 

無課金で利用できるAIは「GRIFFIN」と呼ばれる一段下のモデルであり、課金することで「DRAGON」という最上AIの一部・または全部を使うことができる。

DRAGONモデルは驚くほど自然、かつクリエイティブで多彩なシナリオを展開してくれる。上記の例文もDRAGONモデルが生成したものだ。

課金することで「SCALE」というゲーム通貨を入手でき、これを使って特定プリセットワールドを購入することもできる。

フルパワーのAI Dungeonを遊び倒したい諸兄はぜひサブスクライブしよう。

サブスクライブしたら「Setting」からAI Model」を変更することを忘れないように。

 

 

それでは増田諸兄、良きAI Dungeonライフを。

2021-01-29

Chrome,Edgecurl(cmd)としてコピーしたm3u8コマンドffmpeg用に直すPowershell

ffmpegパスと保存ファイル名は自分でつぎ足す仕様

$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

2021-01-15

RAM RIDERというアーティストもっと早く知りたかった

新しく好きな音楽を知った時に、もっと早く知っていればあの辛かった時や悔しかった時に逃げ込む先の音楽になっていただろうな、という気持ちになる時がある。

RAM RIDERというアーティスト最近知りました。

DJとかトラックメイカー?として活動しているみたいで、もう20年以上も活動しているらしい。

たまたまYouTubeで見たPVでハマった。

東京論」という曲のPV自分が住んでる東京バグっている

https://youtu.be/74tzjFucFlw

SET ME FREE」という曲のPVgif動画面白い

https://youtu.be/LTieRMxN8Ik

調べるとバカリズムライブ音楽とか、渡辺直美&ハライチ岩井の「塩の魔人醤油魔人」もやっているらしい。

最近知ったばっかりだけど大好きなアーティストなので、現実逃避をしたい時はお世話になります

2021-01-07

さくらレンタルサーバーで恥かい

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とか言っている姿を。

これ以上被害を増やさないために、これを書き換えるか消す方法を教えてください。

ダメならxserverに移転するつもりです(それだけの為に)。

2020-11-15

anond:20201115004233

名前付き引数という仕組みはこの問題をかなり筋良く解決しているように思う。

例えばSwift

func set(hoge: Int)

を呼び出す時は

obj.set(hoge: 42)

と書く。

メソッドオーバーロード名前単位可能なので、func set(fuga: Int)も定義できる。

Swiftアクセサメソッドなんて書くことはないというのはともかく。(例なので)

名前付き引数があるとかなり関数命名が変わり、hogeFromFuga(int fuga)やfooWithBar(string bar)が単にhoge(piyo: Int)やfoo(bar: String)になる。

anond:20201115005207

Haskell ならできるよ。そしてそれが理想のかたち。

hogeset したい。hoge の型は Hogeから setHoge かな…

みたいな思考コンピュータ側に任せるべき。

anond:20201115004825

同じ型だけど違うプロパティなんて無限にあるぞ。特に真偽値、数値、文字列なんて無限に違うプロパティあるぞ。それで型だけで勝手setできるわけがない。仮に一つの型は一つのプロパティみたいな意味不明ルールがあったとして、呼び出し側からすると全部setなわけで、同じsetだけを探し出して安全に書き換えるとかほぼ不可能でしょう。

anond:20201115004233

セッターhogeしかないならまあいいけど

set(Hage hage)とかあるとやだわ

anond:20201115003553

まあ確かに1語だけで済むケースは少ないと思う。

でも、冗長名前になってるなっていうのはあって、例えば

void setHoge(Hoge hoge)

みたいなのだと、パラメータの型名でHogesetするのはわかるから

void set(Hoge hoge)

でいいじゃんみたいなのはあると思う。

ログイン ユーザー登録
ようこそ ゲスト さん