はてなキーワード: 再現性とは
答えてるじゃない、
やりがい搾取されてる社畜に『社畜』以外の返答はしようがないぞ。気付かないのは本人のみよ
仕事が楽しくない・転職が気軽に出来ない(したとしても給与が下がる)のは
主体的に動かないからだは同意するけど、『それで得られるものは?』だぞ
仕事は確かに楽しいけども、自分のリソースを他人のために使いすぎるのは控えた方がいい
大企業(メガベンチャーは除く)や公務員で、仕事たんのしぃぃぃぃぃぃ!!!!んほぉぉぉぉぉぉぉぉぉぉぉぉ!!!!とか、
起業して、んほぉぉぉぉぉぉぉぉぉぉぉぉ!!!!仕事たんのしぃぃぃぃぃぃ!!!!なら、
再現性はなくても、『ふーん』って思うところはあるけど、おそらくそうじゃないでしょ
情報処理技術者試験の時期になり様々な駆け出しエンジニアのツイートがTLに流れてくる中で、(個人的意見ではありますが)努力の方向性が間違っているのではと思われるものが散見されました。
努力の量は関心しますが、やり方が悪いために全てが水の泡だというのはあまりに気の毒なので、散々語り尽くされているであろうこのトピックに触れることにしました。
タイトルにもあるように、今回触れるのはあくまで「辞めた方がいいこと」なので、こうするべき!こうすれば必ず成功する!というものではありません。加えて、あくまで個人的意見です。しかし、おおよそのまともなエンジニアは同意するのではと思います(もしそうでないのであれば多分この記事がツイッターで燃やされることになると思うので、「へー、違うんだ」と思ってこの先を読み進めるなり、ブラウザを閉じていただいて結構です)。
ちなみに、自分はIT業界には大卒未経験で入ったweb系自社サービス企業の中堅エンジニアです。
やめた方がいいことは2つあります。
おそらくモチベーションの維持や情報収集のために同じ駆け出しエンジニアをフォローする方が多いかと思いますが、これは良くないと思います。
理由のひとつ目は、あなたが誤った理解や努力をしていたとしても彼らがそれを訂正してくれることはないからです。それに、彼らの情報は成功に裏付けられたものではありませんし、正しいという保証もありません(間違っていることが多いと思います)。この間違った情報のスパイラルにハマって誤った情報に翻弄され、気の毒な努力を積み重ねている駆け出しエンジニアをよく見かけます。
ふたつ目は、他人の努力をモチベーションにするならば、その対象は初心者ではだめだからです。駆け出しエンジニアが一人前になるには他人の何倍も努力が必要です。その「他人」というのは同じような初心者ではいけません。スター企業で働くようなエンジニアに追いつきたい(= スター企業で働きたい)のであれば、そこで働くような人の何倍も努力しなければいけません。努力の基準を求めているならば、「こうなりたい!」と思うようなエンジニアを参考にした方がいいと思います。
ではどのような人をフォローしたりすればいいのかですが、ひとつの案ですが、自分の持っている技術書の著者がTwitterなどのSNSをやっていないかを調べ、フォローしていくのが良いかと思います。優れた技術書を書いている人は正しい情報を発信している可能性が高いので、有益な情報を得られる可能性が高いです。他には、所属を明らかにしている人をフォローするのもいいと思います。そういった人たちはある程度責任を持った上で発言しているはずなので、完全に匿名のアカウントよりかは正しい情報を発信している可能性が高いです(めちゃくちゃ自己矛盾していますが)。
未経験の駆け出しエンジニアにとって一番やらないといけないのは「実務経験を積むこと」です。決してたくさん資格を取ることではありません。まずは「どうやったらIT企業に潜り込めるか」をマイルストーンに据えて、何が最短ルートなのかをよく考えた方がいいと思います。むやみに受験するなとは書きましたが、「受験はするな、意味がない」ということを言いたいのではありません。「どうやったらIT企業に潜り込めるか」を調査した上で、資格を取得するのが最短ルートなのであれば積極的に受験するべきだという主張です。よくプログラミングスクールが批判されていますが、それが手段として最も有効なのであればそれを活用するのも良いと思います。とにかく、資格もスクールもIT企業に入るための手段として考え、手段が目的になってしまうようなことにはならないように注意したほうがいいと思います。
ここでは「じゃあ何が一番最短ルートなのか」については敢えて触れませんでした。人それぞれ、これまでの経歴や適正、環境や運によって答えは異なり、確実な再現性はないからです。キャリアの積み方はベテランエンジニアでも最適な答えは分かりません。結局はみんな自分で判断していくしかありません。ぜひ色々情報を収集し(くれぐれも信頼できるソースから!)、"自分の頭で考えて"みてください。よき駆け出しエンジニアライフを!
https://www.pixiv.net/artworks/97652638
ともかく、今回の話は凄かった
杉浦氏が「34話、うまく描けた気がする」「自分は34話みたいなお話が描きたいんだな」と言うのも良く分かる
「ロボットの考えてた事を吐き出せてスッキリしたけど、もう自分の中に何にもないな…そろそろインプットしないとな〜」となるのも良く分かる
これを描いてしまうと、この先に何を表現すればいいのかが見えなくなってくるだろうな、と
とりあえず、私は私が感じたことを書いていくことにする
【ネタバレ要素】
ちょびっツ、ブルーピリオド、物語シリーズ、ライ麦畑で捕まえて、異世界迷宮の最深部を目指そう、風の谷のナウシカ、余は弁明ス
【4コマ目】
「真剣に聞かないでどうするの」
最後のコマのセリフを聞いてから読むと、この時の気持ちが、もう伝わってくるようで
【5コマ目】
個人的に好きな所
【6コマ目】
ここは難しいところ
家族でやるのが正しいのか、アップデートという名の支援を受けるべきであったのか
答えはない
【7コマ目】
今回のメイン
表情も含めて、本当に苦しい
「ひとつ残らずいなくなればいいのにって思う」
自分が何も生み出せないことを“気持ち悪い”と思い、自分自身の事を“不自然”であると感じる
誰しも、同じような気持ちになったことがあるからこそ、このセリフは響く
ある種の特性・特徴を持ち、自分がその特性をネガティブに感じている時、“いなくなればいいのに”と感じるよなあ、と思った
ひとにすがたを 見せられぬ
「早く人間になりたい!!」
【8コマ目】
「私はずっとロボットを 町から追い出したいと 思っていました」
「追い出すということは その先で壊されることも あります」
後のコマを見てもわかるんですが、これもこれで本心なんですよね
久永先輩の誠実さ(フェアさ)はこういう形なんですよ
厳しく辛い道である
もう一つ言うなら、今回は一人の人間が持ち得る色々な思想・考え・立場をそれぞれの登場人物に振り分けているところが読み応えのある所だな、と
【9コマ目】
「みんなのことが好きで ホイホイ入っちゃったところがあって…」
「ロボットを追い出すって どういうことか 考えてなかったんです」
「あの子たち みんないい子で やさしくて 頑張り屋なんです」
“自分(自分たち)と違う相手を排除することについて、深く考えてこなかった”という自覚
この種の「良い子で優しくて頑張り屋で、純粋なんです」というセリフが刺さる
ここが、この話の本質だ
頑張っていない人より、頑張っている人の方が好きだ
意地悪な人より、優しい人が好きだ
醜い人より、美しい人が好きだ
自分の事を理解してくれない人より、理解してくれる人の方が好きだ
自分を憎む人より、愛してくれる人の方が好きだ
至極当たり前の人だ
自分に害をなす人を、自分にとって“良いこと”がない相手をどうして大切にできるのだろうか
それをなしに、我々は我々を規定できない
その町には 誰もいなかったの
お家もあるし
窓から明かりも見える
でも 道には誰もいない
窓から中をのぞいてみた
ヒトがいた でもアレといっしょだった
ほかの家もみた
やっぱりアレといっしょだった
この町も ほかの町とおんなじだった
みんなはもう外には出てこない
この町には誰もいない
「最初は 好き好き言っててもさ」
これとか、これとか、これとか、これとか、これとかで考えていたことと近いな、と感じる
自然だとどうして良いんですか
「裸も」
「幸せになれなくとも、なりたいもんになれりゃいいんだし」
【14~15コマ目】
「死ぬほど頑張って 恋人も友達も 出来ない人は どうするんですか?」
「一生孤独に 生きて行かないと いけないんですか」
「… 振り向いて もらえなくても 努力は無駄に ならないはずです」
「頑張って 頑張って 頑張っても 誰ひとり 振り向いて 貰えない人に」
「それでも『成長できてよかったね』って言うんですか?」
「言います…」
「人でなし!」
ここはコミカルに描いているように見えて、凄く鋭い
皆がその理想に殉じられるわけではないということに通ずるものがある
そうはいっても腹は減るし、金は欲しい。人を憎むことも上昇を望むこともある。すべて人の業である
もとより、私は、こはれる。私は、たゞ、探してゐるだけ。汝、なぜ、探すか。探さずにゐられるほど、偉くないからだよ。面倒くさいと云つて飯も食はずに永眠するほど偉くないです。
私は探す。そして、ともかく、つくるのだ。自分の精いつぱいの物を。然し、必ず、こはれるものを。然し、私だけは、私の力ではこはし得ないギリ/\の物を。それより外に仕方がない。
それが世のジュンプウ良俗に反するカドによつて裁かれるなら、私はジュンプウ良俗に裁かれることを意としない。私が、私自身に裁かれさへしなければ。たぶん、「人間」も私を裁くことはないだらう。
――坂口安吾「余は弁明ス」
【16コマ目】
「文明が発達して それをしなくても済む人が 沢山増えました」
「お腹を満たす事以外に リソースを割く事が できるようになった代わりに その過程で 無くなった仕事や大切な物が 沢山あったと思います」
「ロボットが居る事で 私たちは 必死に苦労しなくても 心を満たせるようになる」
「満たせない事で 苦しまなくて 済むようになる」
「代わりに失うものも たくさんあるでしょう」
「でも私は そうするべきだと 思います」
「心が満たされた あとの社会」
「その向こう側に 行けると 信じているからです」
「ロボットと 一緒ならね」
ここがどうしてもこのエントリを書きたくなった所だ
以前に語ったように、人間は「自分でできることの増加」ではなく、「自分の周り(環境)」を変えることを志向して進化してきた
究極的には、全てが自動で行われる「システム」となるかもしれない
その向こう側に行けるのだろうか
「信じているからです」と言いきる、その横顔が眩しい
機械も含めて、全ての存在(生命も含めて)に対する信頼が見える
「…………どの真実をだね?」
「あの時代 どれほどの憎悪と絶望が 世界を満たしていたかを 想像したことがあるかな?」
「有毒の大気 凶暴な太陽光 枯渇した大地 次々と生まれる新しい病気 おびただしい死」
「ありとあらゆる宗教 ありとあらゆる正義 ありとあらゆる利害」
「とるべき道はいくつもなかったのだよ」
私はあなたの期待に応えるためにこの世に生きているわけじゃない。
そしてあなたも、私の期待に応えるためにこの世にいるわけじゃない。
たとえ出会えなくても、それもまた同じように素晴らしいことだ。
天の下では、何事にも定まった時期があり、すべての営みには時がある。
「ロボットが 初めて 二足歩行した時 感動したと 思うんだよね」
「? そうですね」
「で 次は段差を どう乗り越えるか 観たくなるでしょ?」
「私 ブロックになりたいの」
全然文脈が違うが、「ライ麦畑で捕まえて」を思い出す言い回しだ
「ともかく僕は子供たちがみんなこの大きなライ麦畑の中で何かゲームをしているところを思い浮かべるんだ」
「何千という子供たちがいてね、辺りには誰もいないんだ」
「大人は誰一人いないんだよ。その僕以外はね」
「そして僕はすごく急な崖の端に立っているんだ」
「僕がしなきゃならないことは、子供たちが崖から落ちそうになると捕まえてやることなんだ」
「子供ってのは走っている時には前を見たりしないから、僕がどこからか出て行って捕まえてやらなきゃならないんだ」
「一日中僕はそれだけをしてる」
「僕はライ麦畑の捕らえ人になりたいんだ」
――J・D・サリンジャー「ライ麦畑でつかまえて」
【18コマ目】
「私の意見は 変わりませんが 皆さんの意見も 変えられませんでした」
「今回の件は保留ということにします」
地味に好きポイント
やはりフェア
「そうだ 『勇さんを壊すべき』と 結論が出たら当然 壊さなければいけない」
「『壊すべきでない』と 結論が出たら 勇さんの内面を 否定することになる」
「どちらにしても 勇さんは救われない」
「どうすれば…」
やはり誠実だ
そして、ここのテーゼ・アンチテーゼが次のコマからアウフヘーベンの布石となる
「あなたが誰かを 傷つけても」
「人やロボットを 殺しちゃっても」
「自分を 殺しちゃっても」
「私は そのとき 一緒にいたいの」
「殺していいって言ってます?」
「久永先輩 いいんですか? こんなの」
「いいわけ ないでしょ」
「でも その 良くないことで 勇さんは救われたの」
これがジンテーゼとなる
否定も肯定も、自分が認めがたいことも含めて、それ自体を受け止めてくれる他者
これが正に尊厳であり愚行権であり、ハーム・リダクション的でもあり、アクセプタンスである
ただあるがままを受け止めて貰い、その衝動も含めて「(肯定でも否定でもなく)存在を承認」してもらうこと
「正しくあれ正しくあれと教えられっ、教えられた通りに正しく生きて正しく生きてっ、最期には正しいまま死んでしまってっ! やっとそれに気づきました! 正しくあれなんてそんな言葉、教えた人の都合でしかありません! ええっ、薄々とわかっていました! 正しい人ほど不幸になるってことくらい!!」
「だから、わたくしは思うのです。ええ、いまこそ、正直に申します。
ずっとずっとわたくしは――間違いを犯したかった」
神よ、変えることのできないものを静穏に受け入れる力を与えてください。
そして、変えられないものと変えるべきものを区別する賢さを与えてください。
一日一日を生き、
この時をつねに喜びをもって受け入れ、
困難は平穏への道として受け入れさせてください。
これまでの私の考え方を捨て、
イエス・キリストがされたように、
この罪深い世界をそのままに受け入れさせてください。
あなたのご計画にこの身を委ねれば、あなたが全てを正しくされることを信じています。
天鵞絨の海にも 仕方のないことしか無かったら
あたしはどう致しましょう
【27-27コマ目】
「みんなが」
「勇さんが 要らないって 言うまで 無くしたりしない」
「大丈夫ですか?」
「大丈夫じゃないわ」
もう、なんというか
ズルいと思う、このセリフは
これをやられたらもう何も言えない
皿田きのこです。
って皿田きのこって誰よ?ってサジェストされるままに入力していく次第の手前
つーか!
すごくいい焼き肉屋さんだと思うんだな。
でさー
よくネットで見聞きする
シェフの気まぐれサラダとか俵万智のサラダとかお店で見たことないんだけど?
実際あんのかしら?
これずっと毎月ペンネじゃね?って
ぜんぜん気まぐれじゃないんだけど?って思うけど
あんまり色々考えるのが面倒だからって毎日変える要素をしなくてもいい同じって意味での気まぐれなのかしら?
俵万智さんのことはよく存じ上げないんだけど
一財産築いた人で
容器に入ったカップのサラダを宅配自転車便で頼めるようになったら、
商魂たくましすぎかよ!って思っちゃうわ。
よくインスタントジョンソンさんたちじゃない方の
インスタントラーメンとかお店の味を再現性を限りなく増した再現カップラーメンってあるじゃない。
ああいう具合に、
もう言わずもがなよね。
俵万智サラダって商魂たくましいコンビニサラダあったらあったでそれは筋道が立つのでは?って思うわ。
やっぱりついつい可愛いサラダがあったらサラダしてしまうのよ。
でさー
あれ私困ってることあるんだけど、
いかに私がサラダに付いていたドレッシング無駄にしてきたかって特筆したいぐらいで、
納豆のはあれ私辛子好きなので、
あとあの出汁のタレあるじゃない。
あれもさー
少なすぎるからもうちょっと量欲しいときの手っ取り早い解決方法を妹から伝授されてこれは!って本当に目から鱗だったんだけど
あの納豆についている出汁のタレ風な即席のそういうのができるのよ!
これマジ、
マジで試して欲しいと頃よ。
キリン!って麒麟の川島さんみたいに引っかからなくなったのが不幸中の幸いだわ。
だから、
サラダの最初から付いて中に入ってるドレッシングは無しがデフォルトにしてほしいことを声をフォルテッシモにして言いたいんだけど、
やっぱり人って2種類に分かれるじゃない。
たぶんローランドさんがローランドさんかローランドさんじゃないかって言うぐらいなレヴェルで
サラダにはもちろんドレッシングかけて食べたい人が多いと思うので、
私の意見はきっと少数は意見のマイノリティーのアイデンティティーかも知れないわ。
それよりも歯応えが欲しいときがあるので
クルトン別売りの方が追いクルトンきっとくる!って具合で追いクルトンしたいから、
どちらかと言うとそっちの方が大歓迎だわ!
納豆の出汁のタレは自分で醤油とみりんで調合できるってことよ!
今日はすごくなんだか
うふふ。
追伸。
間違えてカヒミカリィのリミックスアルバムを間違えて交換しちゃいそうになったし、
またさらに間違えてカヒミカリィとスーパーフライを間違えちゃダメよ。
新しく新商品の信じられる喜びも~って歌い出したくなっちゃうタイムゴーズバイのELTサンドって
違う違う!BLTサンドが美味しそうだったんだけど、
それをよそに
これいいわー。
ちょっとビターな感じのグレープフルーツのフレーバーがいいのよ。
すいすいすいようび~
今日も頑張りましょう!
少しずつ暖かくなってきたね。
春が終われば4歳になる。
「あぁ幸せな人生だったな、大勢からたくさん愛されたし、うふふ」と呟きながら死ぬか
世の中をクソ恨みながら、クリスマス・キャロルの妖精も現れず孤独に死ぬるのか。
ともかく息子の人生、子育ての結果が出るのは俺が死んだ後、80年90年後であり
知ったこっちゃない。
現時点では俺自身が、子供産んで(産んだのは妻だが)良かったな楽しいなと思えれば良いのではなかろうか。
文句ある?
そんなものに一喜一憂したくはないが、やはりどうしても嬉しく誇らしい気持ちは隠せない。
妻が外出する水曜夕方以降と土日の終日は俺と息子2人きりで過ごす。
コロナ在宅勤務であり子供が保育園から帰宅しても夏場はまだ日が高く、
息子を連れて公園に行く、運動不足解消にもなりちょうど良い。そんな3年間だった。
残業や土日は1.25倍の割増になる。
そんな俺が一ヶ月で150時間を息子に費やしている
3年間で6700万円
息子の寝顔を見ながら6700万円を思い浮かべると嬉しくなる。
その可愛いほっぺに値札貼ってやろうかしら。
そんな6700万円の愚息が13,000円のおもちゃをねだってきた。
いくら触るなと注意しても我慢ができずに弄くり回し壊して無くした鉄道模型Nゲージ
勝手に店内を歩き回り獲物を物色。
その緻密な再現性に魅了され心を鷲掴みにされた模様。
どうしても欲しいと駄々をこねる。
クソ生意気。
隣に飾ってあったD52はどうかと聞いたら、こっち(C62)じゃなきゃヤダと。
いやまぁどっちも買わんが
僕は子供だから仕事してお給料は貰えない、などと甘えた言い訳する。
キミにさっきセブンイレブンで買い与えたアンパンマンチョコがどのような社会背景で製造されているか
思い馳せたことはないのか、
経済大国日本のそこそこ所得のある家庭に産まれたアドバンテージに感謝しなさい。
笑顔で、どーしてもこれが欲しいんです助けて動画とか作ったらアホな視聴者が買ってくれるんじゃ無いか
英語話者のママに英語を教わり英語で配信すれば国内で叩かれる確率も低い。
とアドバイスしたが、乗り気ではないようだ。
不合理で不明瞭な駄々をこね続けるので6700万円の説明をした。
これは親の努めとサーヴィスで無償提供に応じている。
それら含めればとっくに億を超えている。しらんけど
ともかくキミにはそれだけリソースを費やしている、これ以上なにを望むというのか。
父の愛で満足しなさいと。
キミは公園で無邪気にキャッキャ走り回っている、
それを当然の権利だと考えているようだが、安全はタダではない。
道路に飛び出さないように俺は一時も目を離さず監視していなければならない。
わかってんの?
これまで言われるがままに買い与えてきた。
甘すぎた点は反省しているが、
概ね要求が少額であり、中古プラレール(400円)ごときで騙せた。
安上がりでええわぁ
ところが近年猛烈な速度で知恵をつけ、
アホですか
ボケですか?
何様ですかと言いたい。
上述、社会の仕組みと3年9ヶ月の投下コストを三歳児にわかるようにかいつまんで説明してやった。
まったく理解できないようで
とにかく欲しいと駄々をこねる。
愚息最後のカード、店内ギャン泣き大作戦を発動しそうな雰囲気の脅しの半泣き
面倒くせぇ
ふと棚を見るとEF62の中古車両が4400円で陳列されていた。
CもEも似たようなものであろう。
もしかしてハメられた?
息子曰く、機関車だけでは可哀想だ、連結する台車のコキだのタンク車だの追加購入。
さらに貨物台車にはコンテナを乗せなければならないと主張する。
ダイソーが作れば100円程度の模型ハリボテパーツが600円する。
なんやかや1万円かかった。
最近息子が「カードでピッってすればいいじゃん」とふざけたことを言うので現金で支払った。
買ったばかりの貨物列車を走らせて満足顔。
なにかがおかしい。間違っている。
本日のサービス料8時間分と諸経費が加算され、今夜キミの寝顔は
67,110,800円
私は過失による犯罪は許すよ。許されざるのは再現性がある犯罪、その人の性質による犯罪だ。
倫理観が欠如している人と、感情が制御できない人と、快感を求めるのを抑えられない人が、教育によって更生されるとは思えない。
実際目の当りにしたらわかる。たぶん一種の脳の障碍なんだ。
私は窃盗や食い逃げを繰り返す人を知っていて、その人は罪の意識もないし知人のものだろうと平気で盗む。その人はなぜそれがダメなのかを理解していないし理屈で理解させようとしたけど無理だった。
感情を抑えられない人を一人知っているがその人は私の言うことを聞かない。自分に嫌な思いをさせる人を敵認定するので外部から変えさせるのは困難だろう。
アルコール・ドラッグ・セックスなど快楽に取り付かれた人を何人か知っている。いったん快楽を覚えると当人の意志とは関係なくそれを求める別の人格が形成され、元に戻ることはない。
物流会社の事務員なんだけど会社がRPAツールを導入するってんで定型作業を自動化しろって話しでRPAプログラミングをやらされてたんだわ。
1、実務の合間にやらないといけない
現場がクソ忙しい時に悠長にデバッグとかやってられん。あとデバッグみたいな作業は見た目何もしていないように見えるからここぞとばかりに仕事振られたりする。
2、本番環境とか開発環境とかない。ぶっつけ本番で稼働→失敗→デバッグを繰り返さないといけない。
これは自動化する仕事によると思うんだけど、実際に現場で使うデータをRPAプログラムに投入しないとそもそも要件がわからないことがある。データの特性というか、物流事務なんかだと8割がシステム化されているけど2割は荷主や配送先のわがままで特徴的なデータの不備があって、それに対応するのが事務屋の仕事なんだけど、そういう面倒な作業を自動化しろとか言ってくる。そもそもRPAなんてシステム化のスコープ外の面倒な事務を(金をかけずに)自動化することが目的だから当たり前なんだが。
そうすると要件の洗い出しとかできない。ベテランのオペレーターにはそういうの全部頭に入ってるからマニュアルとか作ってないことが多い。実際新人に教えるときもぶっつけでやらせてわかんなかったら聞けみたいな世界だし。
3、(2)みたいな事象があるからソースコードがぐちゃぐちゃになる。ぶっつけ本番でプレッシャーがある中実行してその場凌ぎの改修して保守性皆無
RPAツールってWindowsのUIをいじって業務を行うプログラムを作るんだけど、結局今どの画面を開いているのかとか、どのエラーが出ているのかとかプログラム上で管理できない。既存のソフトウェアUIがたまたま運良くRPAツールと相性が良ければいいけどそうじゃなければめちゃくちゃやりづらい。特にIBMのPCOMMとかはツールとの相性が悪くて地獄だった。
書かなくてもわかると思うけど、業務で操作するソフトのUIが変わった瞬間にそのRPAプログラムはゴミになる。
(4)に関係するんだけど、RPAプログラムが立ち上がった時のパソコンの状態によって処理速度にムラがあるので、プログラム上このステップまで進んだらウィンドウはこの状態にあるだろうと仮定してプログラムを作ったところ、実際100回のうち99回はそうなんだけど、1回だけ処理がもたついてその状態にならなかったからバグって処理が停止する。みたいなことがある。
もちろんツールではウィンドウが操作可能になるまで待機、みたいなのはあるけど操作可能、全面にある、みたいな粗い粒度でしか状態管理できない。
7、こう言うのをちょっとパソコン得意とかEXCEL VBA かけますみたいなやつにやらせることの矛盾
うまくいくわけない。(4)(6)のところでウィンドウの状態管理とそれに起因するバグについて書いたけど、こういう時RPA担当は一般のプログラミング言語でいうsleepで職人芸的に時間調整するんだぜ?こんなのもう(3Dリアルタイム)ロボットプログラミングでしょ。
結論を言うと2022年の馬鹿みたいに複雑化した物流の事務(そしてそれは主に荷主と物流会社の主従関係によるわがままに起因しているのだが)をRPA化するのは無理だしもうやりたくないね。
--
この本は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%増加する、という任意のステップに従ってタスク数を増減させる