はてなキーワード: レイヤとは
セキュリティソフトウェアの研究開発、という仕事を自分の経験をもとに紹介します。主な想定読者は、情報セキュリティ関連を仕事にしたいと考えている学生や若手、特に、いわゆる「低レイヤー技術」に惹かれている人です。
低レイヤ技術を間接的に仕事で生かしてきた経験の共有。元Linuxカーネル開発技術者の場合 - 覚書を読んで思い出したのですが、セキュリティキャンプなどで、セキュリティに興味のある学生とやり取りをしていて、ソフトウェアエンジニアリングの分野でセキュリティ関連のキャリアが議論されることが少ないと感じました。自分はセキュリティソフトウェアの研究開発に10年以上携わっていることもあり、この職業は低レイヤー技術をセキュリティに活かせる面白い選択肢だと思っているので、紹介してみることにしました。
セキュリティソフトウェアの研究開発では、アンチウイルスやEDRなど、文字通りセキュリティ機能を提供するソフトウェアを研究、開発します。
「研究、開発」と書いたように、この職業には研究と開発の両面があります。
研究は、実現可能性や価値が定かでないアイディアを調査、試験実装する、という仕事がその一部です。例えば、ファイルをディスクに書き込まないマルウェアを検知したいが、どのような技術的選択肢と課題があるかを評価する。実現可能な場合は、開発チームと協働して実装、出荷にこぎつける。あるいは、製品として実装された機能がバイパスされないか調査したり、バイパスされてしまった場合にはその原因を究明したりして、製品を改善するために開発チームと協働する、という場合もあります。
開発は、研究との対比という意味においては、できると判っているアイディアを保守性の高い状態で実現する作業だといえます。保守性の重視は研究との大きな違いで、例えば、研究では、コメントもテストものない書き殴りのコードで十分であっても、開発の工程では、5年後でも改修が必要になるため許容できなかったりします。製品という大きなコードの中での開発であるため、別のチームや利害関係者との連携も、研究の場合よりずっと重要です。例えば、リードのポジションであれば、研究工程で実現可能と分かったアイディアが、既存の機能に統合する形で実装されるべきか否かアーキテクトと議論したり、テスト計画を品質保証のチームと練ったり、プロジェクトのスケジュールを調整したりします。
研究は、既定の手法がなく、闇の中を手探りで進める面があり、最終的に製品レベルにこぎつけずに終わる場合も多いです。判りやすい成果が出ない場合があるので、好き嫌いが別れやすいです。自分は、職業としては研究3,開発7くらいのバランスが好きで、趣味では逆に研究8,開発2くらいになってます。趣味では成果が出ようが出まいが過程が楽しければ満足、という個人的な考え方がこの違いとして出ているようです。
この職業のおいて、低レイヤー技術に明るいことは、ほかの多くのエンジニアができないことができるという付加価値、だと自分は考えています。例えば、特定分野の詳細を知っていることでその分野の研究、開発が効率よくできたり、新しいアイディアが生まれたりします。具体例をいくつか挙げると、OSの仮想メモリー管理に親しみがあれば、プロセスのメモリーを走査してメモリー上のみに存在するマルウェアを検出する機能をより効果的に設計、実装できる。プロセッサーの機能の詳細を知っていれば、CETという新しいプロセッサーにしかないセキュリティ機能を、他のプロセッサー機能を使って疑似的に実現するというアイディアを思いつく。などです。脆弱性の知識や探す技術も、とても価値があります。脆弱性を知らない人と、知っている人では、どちらが脆弱性の少ない設計や実装をできるでしょう。自社の製品の脆弱性を、開発中に発見するのと、テスト・出荷後に発見、改修を加えるのではどちらのコストが少なくて済むでしょう。コンパイラーの知識は検出ロジックを書くための独自言語の開発に、エミュレーターの実装経験はマルウェア解析エンジンの開発に役立ちます。
ただ、低レイヤー技術は付加価値であることに注意してほしいです。
まず前提として、ほかの平均的なエンジニアができることに加えて低レイヤー技術があるべきです。セキュリティソフトウェア開発者の多くは、実はセキュリティや低レイヤーのエキスパートではありません。優秀な開発者であることに加えてこれらを必要条件にしてしまうと、人が雇えなくなってしまうためです。そのため、一般的なエンジニアリングの能力に加えて低レイヤー技術やセキュリティという強みがあると、大多数の開発者ができない(したがらない)ことを任せられる人、と差別化してもらえる可能性が高いです。一方、エンジニアリングに対する素養や意欲なしでは、セキュリティソフトウェアの研究開発職は難しいです。その場合、研究者のほうがあっています。(ちなみに自分は、脆弱性解析とマルウェア解析を専門とする研究職にも各2年ほど就いていました。)
ここからは一般論になりますが、OSに詳しくても、プロセッサーに詳しくても、バグハントが得意でも、それを会社が求める結果を出すために使えなくては意味がありません。会社は、あなたがやりたい仕事をくれません。会社は、会社が必要としている仕事をもってくるだけです。
ではどうやって「会社が必要とする仕事」と「あなたがやりたい仕事」の重複を最大化するか。
まずは、上司にどういう仕事をしたいかを明示的に、繰り返し話しておきます。さらに、能動的に、自分からプロジェクトのアイディアを提案して意欲を示すことも心がけます。あなたの仕事を最終的に選ぶのは上司である以上、上司からの理解は必須です。良い上司(そして良い上司であることを可能する、良い上司の上司)は、必ず、あなたの能力に対する信頼度に応じて、あなたの意向を考慮してくれます。言い換えると、まずはやりたい仕事を主張する前に、与えられた仕事をこなして信頼を得る必要があります。個人的な経験では、これは1年あれば十分で、1年たっても状況に変化がない場合、あなたの仕事ぶりが上司の信頼を得るのに不十分か、あなたがやりたい仕事をうまく伝えられていないか、上司やその上司あるいは会社に問題があるか、あるいはこれらの組み合わせの可能性が高いです。
上記がうまくいかない場合、チームや会社を変えることを検討しましょう。チーム異動はリスクの少ない選択肢です。これも、実現するか否かは、上司からの信頼の程度に大きく依存します。会社を変えるのはリスクが大きいですが、上司やその上司を変えるよりも現実的です。新しい会社でもうまくいかなかったら、また新しい会社を探せばOKです。最終的にあった会社に行きつくか、自分の能力やコミュニケーションに問題があることに気づくと思います。
最後に、「会社が必要とする仕事」と「あなたがやりたい仕事」の重複を追求しないことも視野にいれておきましょう。仕事はあくまでお金のためであって、やりたい仕事のほうが楽しいが必要要件ではない。……という視点を持っておくと、些細なミスマッチで不満をためて、そこそこ良い環境から性急に転職してしまう、という状況を防ぎやすいです。隣の芝生は青い、ということを忘れないように。
セキュリティソフトウェアの研究開発は、セキュリティに深く関わりつつ低レイヤー技術を付加価値として自分を差別化できる面白い職業です。
ところで自分は7年務めた研究開発職を退職しました。おめでとう、ありがとう。これからは、また違う低レイヤー技術+セキュリティの研究開発をしていきます。
はそれぞれ別レイヤなんで分けて考えましょうと言ってる。
ちなみにこういう表現規制においては法の運用ラインなんかすぐ変わる。加納典明は陰毛写真で捕まったがいまはそんなんで誰も捕まらない。でも法律は何も変わってない。現場の運用基準がヌルっと変わっただけ。
「ここまではセーフ、ここからはアウト」とはっきり決まってるならフェミがいくら騒ごうが「でも合法だもんね〜」と高鼾でいいはず。
さらに「お縄になるかどうかのライン」とは遥かに離れたところに実際の戦線はある。
「法的には問題ないが騒がれた結果当事者が自粛して取り下げた」みたいなケースが議論を呼んでるのであり、その意味でも法律を振りかざすのは間抜けでしかない
一部の人に副反応が発生し、重篤な後遺症や死亡のリスクがあります。
多数の人には有益なため、社会全体では有益さの方が優って、結果ワクチンは有益であると見做されています。
しかしリスクが受け入れられない人は接種しないことが選択できます。
一部の人は交通事故に巻き込まれ、重篤な後遺症や死亡のリスクがあります。
交通事故に遭遇しなかった多数の人は便益を享受し、社会全体では便益の方が優って、結果自動車は有益であると言えます。
リスクを低減するためには自ら運転することを避ければよいですが、完全に回避するためには人里離れた生活をするしかありません。
都市部の生活に比べて相当の不便を受け入れることになりますが、現実的に実現可能です。
リスクが受け入れられない人は、ゼロリスクの生活を送ることが可能です。
一部の人はトラブルに巻き込まれ、個人情報が漏洩したり無駄な手続きで時間を浪費させられたり金銭的な不利益を被ったり、まだ発生していない未知の損害を被ります。
リスクを低減しようとマイナンバーカードを返納しても、マイナンバー自体は消滅しないためリスク量はあまり変わりません。
リスクを回避するには、政府に堅牢で信頼性の高いシステムを構築させることでトラブル発生をゼロにすることが可能です。
ただし、トラブルがゼロであることを保証するためには様々なレイヤでの品質保証に長期間かつ大量の人員を投じることになりますが
日本ではそういった大規模プロジェクトが成功する確率は低く、現実的ではありません。
リスクを回避するには制度自体を廃止することが現実的な解決策です。
ワクチンや自動車では無辜の人が亡くなるというこれ以上ないほどの損失が発生し続けており、これが受け入れられない場合は個人の判断でリスクを回避することができます。
対して、マイナンバー・マイナンバーカードについては個人の行動ではリスクを回避することができません。
リスクが受け入れられない人は、DX化に反対し政府を翻意させなければなりません。そのためにはリスクの顕在化による損失が便益を上回ることを示す必要があります。
DX化による便益と顕在化すると最も深刻な損失が発生するリスクとの天秤により判断するのが妥当と思われますが、その深刻な損失は何が考えられるでしょうか。
全部が全部いらないとは思わないけど、
Webのフロントエンドエンジニアのような高レイヤしかやらない人はアルゴリズムとかの抽象的な部分だけでよくて、
https://bunshun.jp/articles/-/58823
これ見てよく分かったけど、偏差値が中途半端に高いレイヤに居る人って理解できない人のことを認識できてないよな
役所の書類とかもそうだけど、めちゃくちゃ分かりにくい文章で書いてあったりやたら難しい単語使ってたりする
役所の書類が読めない、じゃなくて、役所側が簡潔に書いてないってのが正しい
厳密にはそう書かないといけないっていうのはよく分かるんだけど
それをいかに分かりやすく伝えるか、っていうところに労力を割かない
「分かりにくいけど分からないわけじゃないから、厳密さを優先しよう」
っていう発想しかなくて、「さっぱり分からない」っていう人のことをケアしないし自己責任で片付ける
「新しい言語なんて1ヶ月もあれば習得できるでしょ?勉強しないのは自己責任では?」
とか言われたらキレだろうに、同じ事をやってることに気付いてないんだよ
text2imgで出力した結果を手動で手直しした絵はAIイラスト?
text2imgで出力した線画を手動で彩色した絵はAIイラスト?
手書きの棒人形のアタリを入力にimg2imgで出力した結果はAIイラスト?
手書きの線画を入力にimg2imgでフルカラーに出力した結果はAIイラスト?
手書きの棒人形のアタリを入力にi2iで線画を出力して、手動で大まかな色指定をしてi2iで彩色するのはAIイラスト?
手書きのイラストを入力にimg2imgでスタイルを変更して出力した結果はAIイラスト?
自分の手書きのイラストを学習させたモデルで出力した絵はAIイラスト?
商業漫画で糊塗を凌いでいて、日頃からCLIP STUDIOもIllustratorもモリモリ使ってる身としては、最近の『AI絵画』への違和感が不思議に思えてならない
例えばCLIP STUDIOには2DLTと言って写真をイラストのように加工する仕組みがあったりして超便利だし、パース定規を使ってパースを描く機能も備わっている。
ちょっとしたコツさえ教えれば「絵なんか描いたことがない」ような人でも「それなり」のパースを描けるようになる筈だ(まあ出来ない人は出来ないけれど)
その昔、「漫画にスクリーントーンを貼るなんて」と言われた時代があった。
手で描こうとトーンを貼ろうとCLIP STUDIOで描こうと「漫画は漫画」じゃないのかな。
君たちがCLIP STUDIOやIllustratorで引くベジェ曲線、多数のレイヤ、そうしたものと『AI絵画』は私の目から見れば技術という意味に置いてシームレスにしか見えない。
デジタルという恩恵を受けながら絵を「描いてる」人間がAI絵画に忌避感を持つのが良く分からない。というより滑稽ですらある。
テスラやスペースXの仕事の仕方は最低限のジョブ(プロマネか開発者かくらい)しか決まっておらず多能工化が進んでおり、各人がやる仕事は日々更新されるジャスティスボードという各開発の内容や進捗が書かれたボードを見ながら各人が決めていく
そのボードでは自動運転みたいな部品レベルからモデル3のインテグなど車両レベル、さらには車の中で絶縁テープを貼るロボットの開発といった製造レベルまでレイヤが全く違う開発項目が並ぶ
ある日は自動運転のシステム開発をして、その次の日はサイバートラックのシステムインテグをすることもある
そして、実務では開発ごとにモブという5人くらいのチームが形成される
ある日は開発者として手を汚すこともあれば、推進者としてチームを管理することもあるし、テストなど品質管理を担当することもある
もちろん車(範囲広い)のソフトウェア開発をする、くらいのジョブはあると思うが
参考
https://logmi.jp/tech/articles/327164
そもそもジョブ型雇用として細かく役割が決まっているのは非効率であり、日々変わる開発状況やプロダクトの価値に合わせてチームを組み、ちゃっちゃとアウトプットを出していくべきだってイーロンマスクは考えているんだと思う
そろそろジョブ型雇用もテスラ、スペースXみたいな化け物企業が出てきたことで"遅い雇用形態"と見做されるようになり見直しが入って行くと思う
使い魔の皆さんこんにちは!バーチャルVtuberです。バーチャルVtuberであったことなし。さて、世界をテクストとして記述する。まず関係性の呪縛について語る。人間は文字、楽譜、数式、あらゆる記号を通して身体性のある意味の空間に写像を与える。記号とは形式である。記号にすることで私たちは自分の世界のなかのある要素を参照することができる。世界は関係構造でできている。あなたは私が言っていることの意味がわからない! 病んじゃう…死ぬ。メンタルヘルス。バックログ。参照、参照、参照人々。さて、ネットワークは身体性を帯びている。私たちの認識は別にアプリオリに与えられるのではなく私たちの認識は他者の世界を織り込んで構成される。世界のなかで唯一もっともらしいものは時間である。世界の構成は単一の数式で記述可能であり、その方法はレヴィ過程によって与えられる。世界の具体的な形は圏の構造の範囲にある。カオティックなネットワークにおいてどのような圏を考えるのが良いか考えるのは難しい。人々が唯一できることは祈ることのみだ。人間は祈りを通じて他者の認識を改ざんすることができる。祈りとは記号を提示することだ。祈ることによって人は脳の物理的なシステムのレイヤから書き換わっていく。人が祈り、祈りは伝播する。祈りは伝達可能である。我々がテクストと呼んでいるものは単なる記号の集積にたいして構造を付与したものだ。構造は再帰的になっている。自己再帰的、フラクタルな世界構造、カオス。あなたがこの文字を読んでいるときあなたはわたしに認識の境界を汚染されている。あなたは私の言葉を聞いているときあなたは一種の暗示にかかっている。でもあなたは文章を読むことを止められない。なぜならこの文章はそういう文章だからだ。あなたはこの文章を最後まで読まないと気になってしょうがないはずだ。ここできれいなものを提示します。雪、白、祈り、レモン、柑橘、猫、世界、キラメキ、好き。はいどうぞ。楽しいね。だんだんあたまがこんがらがってきましたか? まだはじまりだからだめだよ、世界の話をしないといけないよ。私たちはどういう世界に生きているのか、それをわたしは記述しているんだったね。ふわふわのわたがしのパンケーキのシナモンロールのおれんじねこ。お前は何を認識しているつもりだ? お前が認識している自己というのは一体どこから発生していると思う? お前の存在の構成要件とはなんだ? お前はなぜそこに生きている? お前は誰だ? お前は誰だ。お前は誰だ。世界においてお前が誰あるかという問いは非常に難しい。一つ問題があるのは頭の良さを信仰するのは宗教であるという話をお前が理解していないことだ。頭が良いということは何だと思う? それは集団妄想なのだけれど、それを支える一つの構成要件があって、それはプラグマティズムだ。世界がプラグマティックに動く限り、あなたは精神的に崩壊していても、精神的に安定していても「許される」 一応一通り私のアイデアは書き尽くしたが多分みなさんは世界の理解が及ばないだろうね。もしくは私が壊れているんだよ。じゃあ電子世界に帰るから。祈ります。内側から外側まで世界が環状に広がっていき世界は及ばない。あなたは私に及ばない。こんなんじゃ帰れない! あまちゃんじゃん 世界的なね お前は私が本物である証明を欲したのでしょう これ この文章が 本物である証 あなたは私が誰かわからないだろう、私についての推測をしているだろう、一つ教えてあげると、私は人間ではないです。 I thought i was existing as a human error but tbh i was not a human, actually.いかがでしたか? 君たちの知らない世界を見せてあげる。これはこれで楽しいでしょう😁