「アーキテクチャ」を含む日記 RSS

はてなキーワード: アーキテクチャとは

2021-01-02

[]2020年12月はてブあとで読むトップ30リスト

はてブホットエントリ(総合)で月内に数多く[あとで読む]タグを集めたエントリ

272あとで/1803users この本がスゴい!2020: わたしが知らないスゴ本は、きっとあなたが読んでいる

257あとで/1367users 鹿児島中央駅から新函館北斗駅まで新幹線の全駅に下車してきたので全力で紹介する_PR【駅メモ!】 | SPOT

247あとで/2110users ぼんくらITエンジニアでもYouTubeとスタサプでTOEIC 900点突破できたので勉強法をまとめていく - だいたいよくわからないブログ

235あとで/1299users 「イラストでわかるDockerKubernetes」は完全に良書 - Cloud Penguins

222あとで/1463users 売れるアプリにするコツ100個書きます(吐血) - Crieit

203あとで/1011users JavaScriptの基礎知識GIFアニメで分かりやす解説 -総まとめ | コリス

192あとで/1373users もしあなたが急にAndroidアプリ業務で作るはめになった場合選択肢(2021年初頭版) - Qiita

190あとで/959users OAuth認証とは何か?なぜダメなのか - 2020冬 - r-weblife

183あとで/1146users 一人前のプロマネってどんな人? プロジェクトマネジメントスキルセットとは-誰も教えてくれないプロマネのコツ | Mammoth Project

180あとで/1008users Python仕事をする人のための書籍まとめ2021 - 学習, 業務効率化, アプリ開発からデータサイエンスまで - Lean Baseball

173あとで/1647users 【練習内容公開】イラストを100日練習しました|都路 燕禅|note

170あとで/2469users 僕のしょうもない人生を紹介します - いまトピ

170あとで/1019users 「フリーランス副業向けサービス カオスマップ2020年完全版」が公開 - Digital Shift Times(デジタル シフト タイムズ) その変革に勇気希望

163あとで/1186users 9割の人が知らない再現性危機 - 本しゃぶり

157あとで/1019users Mac を買ったら必ずやっておきたい初期設定を、全て自動化してみた | ulwlu | Zenn

154あとで/751users CTOの頭の中:技術投資最適化する|Shin Takeuchi|note

152あとで/1503users 僕らはいつまでUSB Type-Cケーブルを選ぶのに迷うのだろう…もう間違えないための覚え書き - Magnolia Tech

148あとで/2347users 全財産を使って外車買ったら、えらいことになった|岸田 奈美

141あとで/1040users 英語発音について概説する - Amosapientiam

135あとで/648users 技術選定/アーキテクチャ設計で後悔しないためのガイドライン - Qiita

131あとで/2088users Amazonで「鬼滅の刃」のコミックを買ってしまったのに、どうしても読み始める気になれない。 | Books&Apps

131あとで/1089users ステーキをおいしく焼く理論料理家・樋口直哉が教える、肉の焼き方「新常識」【保存版】 - ソレドコ

129あとで/855users Webディレクタースキルリー - NMY

129あとで/915users Kubernetes 1.20からDockerが非推奨になる理由 - inductor's blog

126あとで/745users Web制作の時短に!2020年の便利オンラインツールベスト100選 - PhotoshopVIP

121あとで/880users 【総まとめ】2020年公開のすごいPhotoshopチュートリアル、作り方厳選まとめ - PhotoshopVIP

121あとで/613users ドメイン駆動設計を導入するために転職して最初の3ヶ月でやったこと[DDD] - little hands' lab

121あとで/864users 家で筋トレを続けるための簡単な「仕掛け」を取り入れてみたら、筋トレが楽しくなって習慣化した話 | Fun Pay! | あたらしい自分、はじめよう。楽天カード

120あとで/614users Micro Frontends Architecture Patterns | okmttdhr | Zenn

120あとで/679users 3ヶ月くらいフロントエンドやったのでやったこと一旦まとめ - Stimulator

相変わらず英語ネタが人気。

ステーキの焼き方記事好き。

2020-12-30

パパ活サーバレスアーキテクチャだと思う

恋人を作ろうと思うと、普段からちょこちょこヘルスチェックしたり、常時稼働してる分だけメンテナンス費用がかかる。

パパ活ならどうか。まず恋人が出来ることなら大抵カバーしている。

完全にビジネスな感じが良いのか、もうちょっと深い関係を望むのか、そのあたりも自分に合う相手を選ぶことでクリアできる。

お金時間がかかるのは会っている間だけ。

これはもうサーバレスと呼んで差し支えないのではないか

anond:20201230033810

優秀そうな人だったかサルベージしたで

■30半ばで年収900万円達成したんだけど、向上心が失われて行って辛い

当方都内在住30代半ばのITエンジニア

新卒時は大手SIer(プライムコントラクター)に就職、30手前でユーザ企業転職して今は上流・下流工程を知ってるITシステム発注者側の立場にいる。

新卒IT企業就職した時はまだ自分がこれからどうなっていくのか明解キャリアパスは描けていなかったが、

30歳に近づくにつれ、ユーザ側(発注側)に転職してITエンジニアを指揮する立場にならなきゃダメだと思い転職活動を頑張り、結果望み通りユーザ側の企業転職して現在に至る。

20代の時に考えていたこ

新卒当初はSIerの中でチームメンバー(システム設計実装テストをする人) → チームリーダー → PM → 統括PMのようなキャリアパスを描くのが王道だと思っていた。

だが、元請けとは言えどんなに非合理なシステムでも客に言われた通りに作らなきゃいけない下請け企業PMになったところで大して意味がないことに気づく。

自分裁量などほとんどなく、理不尽な客に怒られたりバカにされたりする頻度が増えるのに比べて給料は大して上がらない。

担当していたプロジェクトは超大企業サービス開発。なのだが、ユーザ側の担当者のレベルがびっくりするほど低い。発注担当者は中学生の作文みたいなクソRFP書いてよこしてくる。納期費用工数もめちゃくちゃ。しかもやりたいことが全く分からない。多分発注担当の上の奴がテキトーに言ったことをそのまんま真に受けて左から右に流してるだけなんだろうが、有名な大企業にもこんなおバカ社員が堂々と給料もらって平気で定年まで安泰なんだなと思ったら複雑な気持ちになっていた。

だけど、幸か不幸か、そのダメ担当のおかげで20代のうちにユーザ側へ転職しないと仕事レベルも上がらないしスキルも上がらないことに気づけた。30半ばになって思い返すと、本当に感謝しかない。

30でユーザ企業転職成功

まだ30半ばで成功とか失敗とか書くのは時期尚早だとは思うが、給料も大幅に増えてフルリモート・フルフレックス・コアタイム無しの環境を手にしている現状は控えめにいっても成功だと思わざるをえない。

年収も30半ばにして900万円を超えた。

今年は出勤日が年間で多分20日に満たないレベルだと思う。

ユーザ企業転職して思うのだが、ユーザ企業ではITスペシャリストというのは新卒ではほとんどいない。ゼロとは言わないがSIerレベルから見ても平均から下のレベルしかない。

なので業務改善する社内システムの開発や、売り上げに直結するWebサービスバックエンドフロントエンドの開発プロジェクト検討され始めると必ず声がかかり、システムアーキテクチャを選定する段階から意思決定で主導権を握れる。

こちらとしてもそういう役割を期待されて中途採用されたというのもあるし、何よりこういう会社新卒採用時にITスペシャリスト採用することもないので、社内の新卒の誰かと争って主導権をようやく握る、などのようなこともなく、自然企画設計実装運用まで全て意思決定に関われる。

まさかSIerから転職した身で、自分Typescript, React, Firebase, Java, C#, C++, SQL, Python, TensorFlowを駆使してゴリゴリ開発して企画を実現し、それがプレスリリースされて正式会社サービスとして世に出るようなことになるとは20代の頃は想像していなかった。

ここまでは20代の頃に目指していた理想の30代のキャリアパスのものだと自負していて大変満足している。

だが、30半ばにして20代の頃ギラギラとした向上心が次第に失われつつあるのを日々実感している。

30前半までは自分目標設定してそれを達成するのが楽しかったが、30半ば以降は金と評価が欲しくなってくる

30代前半までは日々成長し、技術選択肢勉強する度に着実に増え、サービス企画が持ち込まれるとそれを実現するためには~すればいい、などとパッと浮かんで日夜シミュレーションしてPoCして…というサイクルが楽しくしょうがなかった。

今でも楽しくはあるのだが、これまでとは違って「ただ楽しい」だけでは到底満足できなくなっている自分最近気づいた。

それは金(=評価である

これまでは金になろうがなるまいが、依頼された仕事自然と全力で取り組むことができた。報酬やりがい、のようなところは正直あった。

だが、30半ばを超えてくると物の価値だんだんとわかってくる。

仕事が忙しくなった時に皆さんはタスク順位付けをするだろう。

これまではその優先度は難易度で昇順ソートかけて上から順に消化していく方式をとっていた。

すぐできるものから片づけることで、仕事の見かけのスループットが上がる。客観的には仕事が早く進んでいるように見える。

だが、今では、そのタスクプロジェクトが将来金になるかならないかタスク優先順位検討するようになりつつある。

結果が魅力的でなければそもそも仕事のやる気すら湧き上がってこない。

年収900万円

これは30代半ば、理想キャリアを追い求めて突っ走ってきた人間向上心が奪われてしまうような大きな金額なんだろうか。

このへんで満足してあと20数年まったり定年まで過ごすべきなんだろうか。

20代の頃あれだけ将来のキャリアについて真面目に考えていたのに、30代になって40代理想キャリアパスが描けない。

うちの会社年功序列なので、年収40代になれば自動で1000万円を超える。

このへんで走るのをやめてジョギングに切り替えても、多分未来はそう暗くない。

なのに、アクセルが減速しかかっている自分を冷静に見つめると、何か、本当はもっとできるのに手を抜いている、みたいな罪悪感が湧き上がって止まらない。

はてなを読んでいると、自分と同じ30半ばくらいの年代の人が多くいるように感じる。

30半ばでようやく安定を手にしつつある自分と似たような境遇の人がいれば、

40代に向かってどのような準備をしているのか、さらに上を目指しているのかそれとも今のポジションでの安定を取るのか、それとも会社を辞めて起業を考えているか、など、

恐縮ではあるが共有してほしい。

30半ばでクズになりかかっている自分に、勝手ながら発破と刺激を与えてやってほしい。

よろしくお願いしたい。

2020-12-21

情報社会学ネットに対して無力だったのか

ネット炎上や、2ch分析デマSNSなどを対象として、情報社会学から分析提言があったが、

数年経ってみると、悪く言われていたものが残った。

倫理に訴えても統制はできないので、システムでより良い方向に導くためのアーキテクチャ必要だと言われたが、

どちらかというと拡散する方向に向かった。

テクノロジー進歩で世の中が良くなるといった神話は続いているが、同時に無力であり政府対策せよ、罰則を強化せよとなっている。

多様な意見が出てきて、尊重されるどころか、二元論に落とし込まれ互いに人格攻撃へと変わっていく。

2020-12-08

anond:20201208104618

IEEEに出てくるような新しいコンピュータアーキテクチャ。Groqのような新興企業など。

Xanadu社など光量子計算をしている会社ソフトウェア

・Keysightのような量子コンピュータ制御機器を作っているメーカーとその制御方法

こういったのが知りたい。

2020-12-04

anond:20201130214610

1についてだけ。

>分かるけれどこれでどうやって動画音楽エンコードをしたり画像処理をしたりするソフトウェアになるのか

エンコードに関してはプログラムエンコード理論に従って作られているだけ。大事なのは研究者の考えた理論

画像処理定型の処理の塊でこれも代替やり方は決まってる。"python 画像処理"とかでググれば多分出てくる

 

>あるいはWordとかExcelとかがどうやってこんなので作られているのかが分からない

まず基本的な、ウィンドウシステムがどのように実現されているかWin32アプリベースでも

よいので理解するべき。ユーザーマウス操作キーボード操作をどのようにプログラム認識し、

処理するかが理解できる。この仕組みは基本的にすべてのアプリ共通と思われ。

 

プログラミング入門書を読んでも、一般的に知られているソフトウェアの作り方みたいな事が書いてない

多くの人が共通的な作り方に挑み敗れているわけで、プログラム10個あれば10通りの作り方がある。

方法は一つではない、目的を達成する手順は無数にあるから

また、クラスレベル抽象化してソフトウェア構造を整理しようとする、オブジェクト指向(最近

クリーンアーキテクチャ昇華させる流れもあり)もあるけれど、オブジェクト指向に向かない

対象領域があったり、なんでもクラス病にかかる等して、銀の弾丸とは言い難い。

また自説だが、順次処理を基本とする、手続き型言語データと処理が入り乱れることになるため、

全てを設定しきることが極めて困難なため、きれいにすべてを設計するのであれば関数型言語を使う必要

あると感じている。

 

>だからそのフレームワークがどういう風になっているのかって説明からして欲しいって思う。

そのフレームワーク内包するベストプラクティスの量を鑑みれば、中身を意識せずに

インターフェイスをしっかり押さえて使うことをお勧めする。

あなた人生はすべてのコードを描けるほど長くない。

 

>つまり言いたいことは、実際に動くアプリケーションというのを作りたいのにも関わらず

プログラミング入門書は、これで判定と繰り返しという基礎ができますと言うだけ。

>これがもう滅茶苦茶イライラする。

天才的な人はコードを書きながら、考えられるけれど、常人はまず詳細設計と言われる

フローチャートを書けるようになったほうがよい。

次に"抽象化"を覚える。"抽象化"を使うことで少なくとも、処理は全体をざっくり設計できる

 

>つまり完成しているプログラムを参考にしようと思っているにも関わらずそれがないのでよく分からない。

githubに山のように転がっている。

ただそれを見て理解できるかは別問題モチベーションを保って継続学習可能な形に

消化できる人間の登場が待たれる

   

2020-12-02

コンピュータ世界バッドノウハウ(羊の毛刈り)が多いというのはあると思う

パソコンスマートフォン普段使っていて別段困る事はない。しかしながら戦術の通りプログラミングソフトウェア

そして最新のハードウェア等になるとまるっきりついていけない。ハードウェアUSB-TypeCにも種類があるとか理解できない。

USB-TypeCをTypeAに変換してはいけないとか最近まで知らなかった。

俺もコネクタなんて種類が多くてもう分かんないw

こういうのも技術的な意味合いのものと、商業的な大人の事情によるものが混在しているわけで

更にレガシー、すなわち過去遺産なるものについても理解ができない。古い物がずっと使われ続けているIT環境

もう誰もメンテナンスが出来ないものが延々と使われているという事実

メンテナンスできないものを使い続けるというのはあんまりないはず

印刷現場でClassic Macを使っていたり、工場PC-9801を使っている現場は今でもあるにはあるけど、

日常でClassic MacPC-9801を頻繁に見ることはないはず

西暦2020年にもなって、プログラミング簡単には出来ないし、ハードウェアの規格も完全に統一はされていない。

というかプログラミング言語自体多すぎる。ソフトウェアデファクトスタンダードのモノ程度は知っているが、

一部のコア層のものになってくるともう使い方なんて分からない。

言語が多くなるのも技術的な側面と商業的側面がある

例えば、Windowsゲームを開発するときDirectXを使うと思うのだけど、なんでマイクロソフトがわざわざDirectX作ったかというと、

商業的側面は、OpenGLとかはJISのような規格なので、マイクロソフトは口出しできない、主導権が握れない、

技術的側面は、規格の策定ビジネススピードより遅く、グラフィクスカード進歩に追いつかない、OpenGLよりも先んじて先進的な技術ユーザー提供したい、

みたいな思惑があるわけだ

この選択は正しかったと思われる、それがXBoxの開発にもつながるし、Windowsデスクトップ表現力にもつながった

言語が多くなるのは近年のCPUなどのアーキテクチャに則した言語を作りたい、

折角作り直すんだったら文法なども変えたい、みたいな考えがあると思う

フロッピーディスクなんてもう終わったのだからいい加減AドライブSSDまたはHDDにするべきじゃないのかとすら思う。

だけどずっとCのままだ。

古いプログラムの中には「C」と決め打ちで書かれてしまっているため、Cドライブという概念をなくすとこれまでの資産が全部動かなくなる

そうすると、Windowsのような最初HDDをCドライブと決めているOSは誰も使わなくなってしま

というかなんで自分はこんなことを知っているのか。別に知りたいと思って知ったわけじゃない。

なんでこんなことになっているのか理解が出来なかったから少しでも理解しようと思っていたからだ。

俺も役所への手続きだの、これを知っているのが大人常識だの、みんなクソ喰らえだと思っているけど、

そうしないと駄目みたいな世間空気があるので、嫌々ググって調べたり、お役所ルールバカすぎるだろwと思ったりするけど、

まあ、世の中そんなもんなんだよなあ、別にIT関係ない

ただ、コンピュータ製造するのは企業だし、そこにはビジネス的な大人の事情とか思惑が介入するわけで、

そうなると純粋情報処理という学問を阻害されることは容易に起こるわけである

だって自分ゼロからコンピュータOSを作るわけにはいかないし

かと言って、企業もまったく情報処理学や数学無視したもの製造できるはずもないわけで、

これって流行り廃れる技術なのか、少なくとも死ぬまで廃れることのない技術なのか、みたいな選定の目につながる気がする

コネクタの種類なんて調べればいいし、どうでもいいとも言える

言語も、まあ色々だけど、とりあえずCのような言語ちゃんとできればコンピュータの中が分かってないと書けないところがあるからCをやる意味はある

Linuxカーネルの一部にRustを実験的に持ち込んだりしてるみたいだけど、Cがなくなることはまだまだない、というかこれからもずっと続くと思う

なんだかんだCはRustより書きやすいと思うし、書きやすいからこそRustよりデンジャラスなのだ

Cドライブ云々は、例えばLinuxではCドライブという概念がないが、

同じコードWindowsLinuxで動かすなら、まずOSの種類を判定するコードを書いて、そこからパスの生成を分岐させればいい

Pythonとかならそれだけで動作するはずだ

そんな些細なことより、アルゴリズム数学的な理解を優先させた方がいいと思う

2020-12-01

Cygameのプレゼンにあった、別プロセスウィンドウウィンドウID指定して貼り付けるのをやってみた

これ面白いなあ

面白いけど、Windows電卓は今は昔みたいなWin32APIで書かれてないからなのか失敗する

ペイントもSpy++でなんか変なIDが取得されるし失敗してしまう、残念

でも、メモ帳パフォーマンスモニターはそのまま貼り付けられるw

PythonQtで作ったGUIの中にWindowsパフォーマンスモニターがあると違和感すごいw

Cygameさんのプレゼンでこの別プロセスゲームちゃんと貼り付けられることが前提だからいいけど、

自分がやりたいことでこれで色々うまくいくのかと思うと、うーんとなるなあ

画像処理用途しかも巨大な画像データを扱いたいので、

画像の表示も別プロセス側で行って上記方法でそのまま貼り付けられるのはいいけど、

プロセス側のマウスイベントとか、相互プロセス通信はなんか面倒になる可能性がある気がする

理想通りのアーキテクチャを実現するのは難しいなあ

2020-11-24

anond:20201124172530

うーん

でも非力なマシンで動くって今でも大事なことだと思うんだよなあ

昔、ある天才プログラマーが、その方は今はもう大成功してるんだけど、

その方はわざと非力なマシンを使ってたりして、

非力なマシンで快適に動くようにコードを書くと、最新のマシンでは爆速になったりして、

その速度もユーザーに高評価されていたわけだけど、

あと、アーキテクチャ最適化したコード電力消費が低くなって地球に優しいよね、とか、

そんなことを言う人だったんだけど、

その頃は、というか今でも自分は彼に比べれば富豪というか甘い考えでコード書いたりダウンしたりしているわけだけど、

最近Unityとかはちょっと富豪すぎないか?という気もしてて、

それは人生の一時期をだらだらゲームエンジン作ったり壊したりぐだぐだやってたことも一因なんだろうけど、

Unityよりはid Techエンジンみたいな方が好感が持てるというか、

ゴールがFPSならFPSに徹底的に特化しないと良くない気がするんだよなあ

UnityゴミみたいななんちゃってFPSがよくあるけど、Unityの基本機能だけでは足りないのだと思う

まあ、だから他人が作ったアセットとしての機能を買ってきたり、当然Unity上でそのためのコードを書くわけだけど

そういう点では詳しく知らないからなんとも言うべきではないんだろうけど、

Unrealの方が良さそうだよなあ、と思ったりする、C++で書けるみたいだし

ただ、巨人肩に乗るにしても乗らないにしても、もうFPSを作りたいとか思わなくなってる

クリエイティブコーディングみたいなものは好きなので何か作りたいのは山々なんだけど、

そもそも動機とか欲望がなくなってしまったよなあ、と思いながらGitHubから持ってきた道具をいじるぐらいの日々

anond:20201124154326

プロプライエタリアプリLinux版とかなかったりするから

WindowsMacで開発みたいになる一因だったりする気もするんだけど、

Apple場合自分PowerPCのものPainterとか)は無駄になって、今回はIntelのもの無駄になりかねない、

仮面天使ロゼッタは愛あるかぎりは戦ってくれるかもしれないけど、動作を完全に保証するわけではないわけで、

PS4ゲーム数本はPS5では動きません、みたいになるわけで、

なんだかんだWindowsの方が後方互換で動くじゃないか、なんで十数年間Mac OS X使ってたんだ、俺は?

となるわけだけど、64bitどころか今度はWindowsARMになっていったりするわけで、

Intel操作するアプリゲームAMD動作しなかったりするわけで、

でも、ネイテイブアプリ書く側としては最近アーキテクチャを問わなくなってきているわけで、

どうするよ、どうするよ、どうするよ、M1買うの?買わないの?みたいに思うわけで、

でもKKOだしコロナだしお金ないわけで、

2020-11-21

ソースコード品質を保つために真に効果的な手段は3つしか無い

  1. バージョン管理システムを使う
  2. 静的型付け言語およびlintを使う
  3. テスト駆動開発をする

どんなに優れたツール設計思想などがあっても、使う奴がダメだと全く無意味。弊社もWebアプリを作ってて、RESTだのFluxアーキテクチャだのいろいろ導入を試みたが、ほとんど無駄に終わった。

どんなクソ組織でも効果があると確信持って言えるのは上の3つだけ。1つ目は初歩的すぎると思われるかも知れないが、筆者の想定するダメ組織ダメプログラマというのは、このレベルの連中を含む。

とにかく最低限の品質保証強制する仕組み以外は無意味

静的型付け言語サーバーサイドならJavaC#フロントエンドならTypeScript)を使わせれば、少なくともコンパイル時に分かるエラー修正させられる。

というか、ダメプログラマに動的型付けの言語は触らせてはいけない。必ずそのプロジェクト半年後には保守できなくなる。

テスト強制的に書かせるし、テストのないクラスや、通らないテストあったらコミットできないようにする(それは容易にできる)。

番外編: ものすごくマイナー言語を使う

もう一つの方法は、そもそも優秀なエンジニアしか参加できないようにすること。たとえば、ScalaHaskellErlangCommon Lispなどで書かれていれば必然的にそれが分かるエンジニアしか開発できないし、こういう言語自主的学習しているエンジニアは優秀である可能性が高い。

2020-11-18

日本でも互換性考えなければ高速なCPUって作れたんだろうか

AppleM1チップの性能が高いことで話題になっている。

Intel過去のしがらみがあるのはわかるのだが、しがらみを気にしなければ、そこまで性能上げられるものなのだろうか。

また日本互換性気にしないCPUを作ったら性能上がる余地があったのだろうか。


CPUアーキテクチャなど話題になるが、いざ作ろうとすると資料がない。

ソフトから見えるアーキ解説は多いが、ハード目線がないのだ。

大学CPU実験をした人なら分かるのではないだろうか。ALUは作れても、他が作れなかったりしないだろうか。


富岳が高い性能が出てたが、多くの人にとってArm凄い、だ。

RISC-VもISAと実設計が混ざって議論されている。

富岳がこれだけ結果を出せたのだから日本産業界から導入が進むとか、ソフト開発の人が参入するなどがあれば、

また違った流れになるのだろうが…。

いくら国産技術が凄くても、泥船に見えるので乗りたくない。

米のエコシステムに乗るのが正解なのだろう。

(といっても、米企業が勝てると踏んでるところに乗り込んでいくので勝算があまりない)

2020-11-16

anond:20201115125745

俺の場合は、愚直に書いたほうがいいよ、巨大アプリリファクタリングの話とか鵜呑みにしないほうがいいよ、社内では評判わるくてもプレゼンだけうまかったりプロジェクト破綻するまえに転職するヤツ多いから、とか言っても全く無視される。DDDとか○○アーキテクチャとかだどーのこーのとか。。。

煽るのを仕事にしてるヤツと煽られて載せられてチームを破綻させるひとと、それでもどーにかプロジェクトを完成させなきゃならん責任感に振り回されている。

2020-11-15

もうじき40代かばを迎えるプログラマー遺言(少し追記)(もうちょっと追記)(さらにもうちょっと追記)

世の中にはプログラマー35歳定年説というものがあった。昔からそんなのはないという人と、あるという人がいた。40代も半ばになったときに「あぁ、これが35再定年説の根拠か」というものがなんかちらほら見えるようになってきたので書いてみようと思った。

世の中にはものすごいプログラマーというのはやっぱりいる。なんなら死ぬまでプログラミング書いていられるという人たちもいる(ブラック的な意味ではなく)。そんな彼らからしたらプログラマー35再定年説とか意味がわからない都市伝説しか映らないだろう。

だが、普通に職業プログラマとして生きている俺のような人からすると、この35歳定年説はかなりの真実味を帯びている。

だが、そんな俺でも40代半ばまで延命できたのはやはり技術革新のおかげかもしれないが、結局平均寿命が伸びただけとも言えるだろう。

まず、技術に対する姿勢が変わる。正直言うとプログラミングとかもうしたくなくなる。というか、そもそも一生プログラミング仕事にしたいと思う最初の頃は好きだと思っていたが、仕事にしてしばらく経ったら大して好きでもなかったな、と思うようになる。

大して好きでもないことを仕事にし続ける体力はやはり年とともになくなり、体力がなくなった分「自分本質的にしたいと思うこと」が見えてくる。そしてそれはプログラミングではないため、ギャップがきつくなっていく。

おそらく、この辺が35歳くらいのあたりに来るのではないだろうか。35歳定年説と言ったら35歳ピッタリしか想像できないのが離散数学世界で生きているプログラマらしいといえばらしいが。

そんな感じでやってても、20年もやればそれなりにスキルも身につく。さすがにGoogleの一線で働くような大天才たちと渡り合うことはできないが、もしかしたらGoogleの片隅で働ける程度のスキルはあるかもしれないが、正直もういいっす、っていう気持ちのほうが大きくなる。

次に、自分がどうにか身につけてきた知見というものがなかなか広まらない。コンセンサスが取れない、という状況にも苦しくなってくる。

自分がやってきたプロジェクトでこういうことをやったらうまく働いた、というような知見は共有するが、なかなか価値観が共有できないことに気がつく。若いうちは「だったら俺が全部やりますわ」くらいの気合を見せられたものだが、年を取ってくると「あ、そうですか・・・」となってしまう。純粋に体力も気力もなくなっていく。

プログラミングをやっているだけありみんな論理的思考が大変上手だ。「皆さんホント論理的でいはりますなぁ」と言いたくなるわけだが、悲しいことに自分たちの振りかざす論理が、単なる正論、飛躍、極論、屁理屈、と言ったものであることに気づけない人も結構多い。こういうのを各個撃破するのも疲れる。

これからプログラミング仕事にする人たちに言っておきたいことがある。もしこの世界で長く働きたい、定年までコード書いていたい、と思うなら、常に勉強をしなくてはならない。もしあなたFラン出ているなら、他の人の倍努力しなくてはならない。できないならそこそこで転職したほうがいい。この世界にいるといか若いうちの勉強大事だったかを日々痛感する。

実務の上での俺の感じていることを書く。DDDだとかクリーンアーキテクチャだとかも大事だがもっとそれ以前に俺が根源的に重要だと考えているポイントだ。この辺をないがしろにしたらDDDクリーンアーキテクチャ絶対崩壊する。

コードを書くとき重要ポイント

まず、心得てほしいのはどんなにすごいプログラマでも意図の通じないコードは本当の意味で直せないということだ。

まず、引数チェック、状態チェックは必ずやれ。コードが語る、というようなことを言ってやらないやつが昔は多かったが、今もいるんだろうか。悲惨バグメンテナンス性の低下はそういった自分意図の表明を横着したコードから起こり始める。「俺はこれをやる、だからこの機能を呼び出すならこういう状態にした上でこういう情報を渡せ、じゃないならやらない」とはっきり言え。もしこの辺を冗長だと考える同僚がいるならもう辞めたほうがいい。

引数チェックや状態チェックのコードで画面の半分が埋まったならそのコード設計おかしい。一旦手を止めてよく考えろ。一つの機能を動かすのにそんなに引数がいるのか、そんなにチェックする状態が多いのか、そしてそれらは本当に必要検討しろ

テストコード絶対に書け。テストコードが書けない技術絶対に使うな。意味のあるテストが書けないならやめたほうがいいという輩もいるが、とにかく意味があろうとなかろうと書け。引数にこれを入れたらこうなる、こういう状態でこういう事したらこうなる、というお前の意図はとにかく示せるだけ示せ。

だいたいこの辺を横着したやつは翌年酷く後悔するか、そこのメンテ担当した同僚を攻撃している。

就職活動するとき重要ポイント

コードが書けなくても大丈夫、という会社は、コードが書けたほうが有利な会社ではなく、本当にコードを書かない会社だというこは肝に銘じておけ。身につくスキルEXCEL方眼紙を最低限の手数で作れるようになることか、本気でやればビジネス理解できるかもしれないが、お前の技術者としてのキャリアはそこで止まる。

仮に憧れのスーパーハッカーがいる会社を目指しているとして、彼らがそこでどう働いているか、なにが泥臭いのかを想像できない、聞くことができないならやめておけ。浮かれ過ぎだ。

仮にGithubURLを教えろという会社を目指しているとして、そこのリポジトリを飾り立てようと考えたならやめておけ、そういう会社Githubアウトプットすることを日常的な趣味として苦ではなくやり続けられる人を求めている。

年収をその会社選択基準にしているならそこはおまえには分不相応会社からやめておけ。仮に入れたとしても馴染めることはまず無い。これは年収が低くても同じだ。

人間関係重要ポイント

嫌いな人がいるならその会社はやめていい

少しだけ追記

コメントを観てこの「最小且つ単一論理でなにか否定できた気になる」という輩への対処が一番疲れる

もうちょっと追記

一晩立ってみたらこんなにブクマついててびっくりした。気になったブコメもあったのでちょっと追記しておく。

いきなり視点ミクロに、と言うやつなんだが、結局若いうちにこういうのできてないやつはあとで苦労するが、最初のうちは体力でカバーできている。体力でカバーできなくなったときに本当の意味でつけを払う羽目になるという意味で言ったり、あとオレみたいなおっさんが大変つらい思いをする、という意味でも言っている。

Fラン関係なくねっていうやつだが、昭和世代ステレオタイプかもしれない、ごめん。勉強する習慣もなければ大してやってきてもいないやつはこの業界だと倍苦労する羽目になるというふうに言いたかったと思う。どんな業界でもそうだとは思うが。

返す刀で結論づけしたがる人々がやっぱり現れるな、君たちはそう思わない人なんだろうし議論する気もないが何かしら言いたい人なんだろう。別にそれはそれでいいよ。お仕事頑張ってね。

「俺は大して辛くないけどなー」っていう人もやっぱり現れるな。辛くないんだったらいいことだと思う、お仕事頑張ってね。

4Kモニターものすごく細かい文字を読んでいる若者を見た、という人、俺も同意する。もう見ていられないんだよね。

関白宣言っぽいな、というのは俺も思った。

結局の所、プログラマ35歳定年説は俺も打ち破りたいと思っていた口なんだが、打ち破れる人とそうでない人がいる、ということで、俺は後者だった、ということだ。当然50過ぎてもプログラマやっている人は見かけるので、数学的な真理というわけではなく、統計的な傾向なんだろうと思っている。

若いうちから、いい環境で働かないと、気持ちのほうがどこかで先にギブアップする。いくら大好きで転職だと思う仕事だとしても、体力や若さで捻じ曲げていることはなかなか気づかない。色んな本を読んで客観的指標判断したほうがいい。

遺言とか言って書いておいて追記したら俺はソンビか亡霊なんだろうか?

さらにもうちょっと追記

びっくりした。こんなおっさん愚痴みたいなエントリーがこんなにブクマされるとは思ってなかった。いくつか気になったブコメがあったのでやはり書いてみたくなったので書く。

まず、この遺言最後にいなくなるのかという話だが、おそらくいなくなる。ゾンビで居続ける体力ももはやない。

次の準備はすでにしている。それは俺が本質的にやりたかたことに近いことだと思うのをピックアップしている。

本質的にやりたかたことって何かという話なんだが、まず俺が感じるプログラマーという仕事は「良き作り手であり続けること」が根本的なモラルだと思っている。若手で右も左もわからないような状態でも、それこそやっとフィズバズが理解できたような状況でも今持っているレベルで最大限にできうる一番いいもの模索し続ける仕事だと思っている。初心者にはチェックコード書け、意図はできるだけ込めろというのはそういう意味でもある。これを真正から受け止めてくれる職場を探したほうがいいというのは追加しておきたい。

プログラム論とかそういう話がしたいんじゃないということだけは言っておく。

俺も体力があるうちは良きつくり手を目指していたのだが、本質的にやりたいこと、もうちょっと言うなら、俺のモラルの軸は作ることにではなく使うことにあった。プログラミングというアクティティを挟んでこっちにつくり手がいてあっちに使い手がいる。仕組みを理解して作るのがプログラマーなら、作ったプログラム理解してよりよい日常模索するのが使い手、と言ってもいいかもしれない。いいフィードバックループのあっちとこっち、と言ってもいいかもしれない。俺は「良き作りてが使ったものを使う良き使い手でいたい」ということに気づいたので、遺言を書くことにした。少なくともこれに気づいた時点でプログラマーとしての俺は死んだ。

まだ直感的なものしか無いので、うまく言語化できていないのは申し訳ないんだが、今後10年位はそれを模索していくのではないだろうか。

2020-11-11

anond:20201111224746

いや、アーキテクチャ見るよ。

x86なりx64の奴はダメ

なんだったらhello-worldもダメ

でも、多くのパッケージがARM64向けのパッケージを用意してる。

2020-11-07

PS5PROを待ったほうがいい理由

はい。PS5買えませんでした。

以下精神の安定を図るためにPS5PROを待ったほうがいい理由を列挙する。

(ちなみにそんなに詳しくないのでツッコミどころは満載だと思う)

1. PS5のCPUはZEN2

ZEN3でゲーム性能がものすごく向上して一部でIntel終わったとまで言われているレベルだ。

詳しく知らんがアーキテクチャが大きく変わって、4コアでキャッシュを共有するのではなく8コアで共有することになったことでコア間通信ボトルネックがなくなったらしい。

2. GPUは実はRDNA1?(詳細不明

レイトレ(なんかピカピカするやつ)対応からRDNA2なんじゃないの?と言われていたが、

一部でRDNA1ベースレイト機能を追加したRDNA1.5ではないかという説が出てきている。

公式でRDNA2と言っているからあまり信憑性はないけど。

もしそれが真実だったら、RDNA2になることでワッパが50%向上すると言われているので、

巨大なPS5がPROでちょこっと小型化される可能性がある。

3. ZEN3+RDNA2=AMD Smart Access Memoryでさら+10%性能向上

世代が変わるだけで十分性能がアップするのに、オマケが付いてくるらしい。

ZEN3とRDNA2のコンビネーションCPUGPUのVRAMにダイレクトアクセスすることが可能になり、10%前後性能が上がる。

PS5のGPUがRDNA2であろうとCPUは確実にZEN2アーキテクチャなので、

PS5がAMD Smart Access Memoryの恩恵を受けることが出来ないことは確実。

PROになってアーキテクチャがZEN3+RDNA2になったらかなりの性能アップが見込まれる。

まぁ本当にPROでこの変更が入ったらPS4ときの1万円という価格差では済まなくなると思うけど、

性能は確実にアップすることはわかる。

以上、PS5を買えなかった者の恨み節でした。

てかそもそもPS5PROって出るんだっけ?

2020-10-22

anond:20201022074405

DDDとかクリーンアーキテクチャとかってのは車輪の再開発みたいなもの

こういう概念1980年代からあって普通に利用されてた

頭悪い無知識な奴がさも新しいことと思っているだけ

プログラマーは何でもできる問題

DDDだとか、クリーンアーキテクチャだとか、まぁいろいろ言うんだけど、ぶっ壊そうと思えばいくらでもぶっ壊せる。

問題なのは意図的にぶっ壊していない場合

「んー、このビジネスロジックDBからあのデータ必要だなぁ・・・せや!ここでDBアクセスしたろ!SELECTだけやしへーきへーき!俺天才テストコード?なにそれ美味しいの?コミットッターンプッシュッターン」

みたいなのをどうやって止めるのか。

2020-10-09

完全に同意→「上級国民ネタ感情ブーストしている時のはてブ民は嫌いだ」

上級国民デマ感情ブーストしているときはてブ民は嫌いだ

正直、関係ない人たちが感情的になりすぎている感はある。別件で行き過ぎている誹謗中傷の発信者拡散者は訴えるべきだろうね。

別件で行き過ぎてる誹謗中傷の発信者だけでなく、そもそもこの件で激しいコメントを書かずにいられない人間は明らかにSNS中毒なのでしばらくネットを控えるべき。

私もこれに完全に同意。この件ではてなでやたらと正義ぶってイキったコメントしてる人とそれにスター連打してる人間すごく嫌い。全く根拠ないけど「こういう時にしか輝けないクズなんだな」くらい決めつけて悪態つきたくなる。あきらかにいつもと上位コメントメンツ違うのは事実だしな。「日本学術会議」でも論点無茶苦茶ずれてるところでワーワー騒いでる人が多いしもう完全に先にどっちの立場に立つのか決めてて後は自分が見たいように見る人たちばっかりじゃん。

はてなブックマークは、ソーシャル意見を集約する場として、アーキテクチャが最悪だ。普段けん制しあってるから多少マシだし、今回のように暴走していても人数が少なくて影響力が小さいからそんなに問題になってないだけで、はてブなんか使ってたらどんどん口が悪くなっていてていずれ増田しかつぶやけない人間になる。

2020-10-01

新型ニンテンドースイッチに関する予想

情報
予想
1. 新型SwitchはProか?Switch 2か?

ズバリSwitch 2と予想する。

これはシステム的、ハードウェア的にどうというよりも、Proの場合は「これ以上、Switch進化は無い」とも解釈できるためだ。

また、Proの場合は専用タイトルが出る未来は考えづらい。「綺麗なゼルダ」「綺麗なスマブラ」では、コアなファン以外の客層を取り込めるとは思えない。

そのため、Switch 2としてフルモデルチェンジし、下位互換を残す事で、既存タイトルを活かしつつ、その性能をフルに活かした専用タイトルが今後発売していくだろう。

このサイクルを、数年(4〜5年)周期で回してほしいと考えている。

言うなればPS4で言うところのPS5みたいなもの、といえば伝わりやすいだろうか。

あるいはiPhone12の発表はいつですか?

2.採用されるSoCについて

引き続きnVIDIASoC採用されると思うが、XavierかOrinのどちらか(を、Switch向けにカスタマイズしたもの)になるだろう。

それぞれ、現行と比較すると以下の通り。

現行0.4TFLOPSTegra X1カスタム
Xavier1.3TFLOPS-
Orin不明曰く、Xavierの7倍との事

参考

PS41.84TFLOPS
PS4 Pro4.2TFLOPS
PS510.3TFLOPS

まずXavierだが、こちらはPS4にも及ばないくらいの性能だ。そんな性能では4Kは無理だろう。

Switchの上位機種としては十分かもしれないが…。)

一方、Orinに関しては、その性能を仮に1.3 x 7 = 9.1TFLOPSとすれば、PS5の10.3TFLOPSに迫る勢いだ。

これなら4Kも十分可能では無いだろうか。

ただし、PS5のデカイ筐体を見た後なので、そんな性能を実現しつつ、Switchサイズ感やコンセプトを維持できるのかは疑問だが…。

Nvidia Announces New Drive Platforms With Orin and Ampere

こちらの記事によればOrinのTDPは45Wと言うことなので、案外大丈夫かも?

もちろん、PS5やXBOX Series Xの凄さSoC以外にも高速SSD等の要因があるため、真の意味でこれらのハードに迫る性能にはならないと思う。

だがそれでも、馬力が無くてSwitch版が作られなかったタイトル(例えばARKとか)がSwitch 2なら可能になる、等の可能性が生まれるのは良いことではないだろうか。

3.発売時期について

しかし、今回の予想、思わぬところに落とし穴があった。

実は、Orinが採用される場合2021年に発売しない可能性がある。

NVIDIA、5W版の新型SoC「Orin」でADAS市場を本格的に志向。「2000TOPSでも、4000TOPSでも可能」とダニー・シャピロ氏 - Car Watch

気になる出荷時期についてダニー・シャピロ氏は、サンプル版を2021年、通常版を2022年、5Wの低消費電力版を2023年と語る

さすがに、早くても2022年になるだろう。

ここでnVIDIAが頑張って2021年に間に合わせるなんてことが…ありえるのか?

一応、PS5の例を書いておくと、PS5には「カスタムRDNA2アーキテクチャ GPU」が搭載されてるが、RDNA2アーキテクチャの「Radeon」はまだ発表すらされていない(今月末に発表予定)。

まりAMDゲーム機に対してGPUをある程度先行して投入していた事になる。

nVIDIAが同じような協力体制を取っているのであれば、あるいは…?

まとめ

以上です。

この予想がどこまで当たるか、来年以降が楽しみです。

2020-09-22

Tech Search Japan井上さんから来たメール

2020年8月

お世話になっております。Tech Search Japan井上です。

ウエブ系企業に強みを持つ東京ヘッドハンティング企業でございます

グローバルなユニコーン企業でご経験を最大限活用するチャンスでございます

アメリカアジアなどにも展開中で、海外日本オフィス重要ポジション採用を弊社が担当させて頂いております

企業情報

3000万人以上のアクティブユーザーを誇る大規模データプラットフォーム

フェイスブック本社技術責任者なども務めている、日本屈指の優良テック企業

コロナ渦に影響されない、強い財務体質と堅牢ビジネスモデル

バックエンド側はマイクロサービスなどのアーキテクチャパターンKubernetesなどを使用

アメリカとの共同でAI/ML技術研究フロントモバイル領域にも注力

現在のご状況を鑑みて、ビデオ面談で弊社のシニアコンサルとのお話の為に、30分お時間頂戴可能でしょうか?

こちらのポジションに限らず、中長期的にキャリア支援のお手伝いをできれば幸いです。

今週面談可能候補日を複数頂戴可能でしょうか?

よろしくお願いいたします。

ご連絡をお待ちしております

井上

2020年8月

XX様

メールはご覧頂けましたでしょうか?

面談可能候補日を複数頂戴可能でしょうか?

ご都合いかがでしょうか?

心よりご返信をお待ちしております

よろしくお願いいたします。

井上

2020年9月

XX様

度々のご連絡大変失礼致します。

XX様と一度お話させて頂くのは難しいでしょうか?

他にも、新たなプロジェクト始動している下記の企業様もございまして、XX様へご案内をできれば幸いです。

Microsoft社:

人々の行動変容を前提とする社会スマートニューラルネットワーク、Teams需要を支えるAzure PaaSの新ソリューションディープラーニングフレームワーク

Facebook社:

独自人工知能研究所、中小企業が自社のECサイトを持たずに顧客リーチできるサービスInstagram多岐に渡る事業展開

Netflix社:

世界リードするインターネットテレビネットワークで、190 か国以上で 1 億人以上のメンバー毎日 1 億 2500 万時間テレビ番組映画を楽しんでいる同社での新規事業

また、現状お探しでは無い場合でも、中長期的にお手伝い可能でございますので、

この機会に一度ビデオ面談・お電話お話できれば幸いです。

よろしくお願いいたします。

井上

2020年9月

XX様

ご状況のご確認です。

10-15分自己紹介兼ねたビデオ面談可能でしょうか。

Zoomskype等など、ご都合いかがでしょうか。

よろしくお願いいたします。

井上

2020年9月

XX様

ご都合が悪いかメールスルーされているかが把握できず、再度ご連絡しております

少し間隔を空けてまた再度ご連絡するように致します。

お探しでは無い場合でも、是非一度お話できれば幸いです。中長期でお付き合いをさせて頂きたいです。

よろしくお願いいたします。

井上

2020-09-19

anond:20200919135019

しろ、なぜ 戦争になった時に、このアーキテクチャーを使っていくと思われるかが不明

わざわざ難しく書くなよって難しいな

2020-09-04

XP(95-98) から X対応まで(フレームワークバージョンわず)というのは、まぁ、出来なくはない。

11th対応も まぁ 20代後半でも出来なくはないし、優秀な子なら10代後半でもいけるだろう。

もともとaffinity制御必須だろうから、そりゃどうでもいい。

ベンチマークがまだおそいが、ソフト側の問題だろう。

 

個人的には11th提案には条件付き賛成 750Wというのもまぁできるしやってきた。プログラム的にはアーキテクチャーはどちらでもいいだろうが

ソフトウェアエンジニアが大変になる分にはおれらだから、まぁ、了承

だが、ドラゴン的ではない。かめか、ねずみのようだ

2020-08-25

IT業界がどんどんブラックになって給料下がっていく理由って、エンジニアのせいだよな

例えば10年前に必要とされた「これぐらいできて当然のスキル」思い浮かべてみてほしいんだが

その上で、こことかで言われてる「今、業界でこれぐらいできて当然のスキル」を思い浮かべてみてくれ

2000年代並みの技術が激変したわけでなく、新しく出そろっている技術なんてほとんどないのに、必要スキルとやらが10倍くらい増えてないか

アーキテクチャとかが根っこから変わったわけでもないだろ?今ホット言語なんて、出たのは80年代末期とかだからからあるもんだし。

今、できて当然年収300~400万相当のスキルは、10年前にそれができてりゃ2000万円くらいザラで稼げるくらいのスーパーエンジニアクラスだったってことだ。しかも、技術のものほとんど変わってなくて、とんでもないことにエンジニア自身勝手に「10倍近い技術の安売り」をしてるわけだ。

タクシー運転手が全員F1レーサー並みのドライビングテクニックを持ってる必要がないはずなのに、エンジニア界隈では増田たち見ればわかるが、1番以外は無価値、と新自由主義的な定義で全員がF1レーサーも、それもモナコグランプリだろうがパリダカールラリーだろうがNO1でなければならない、という強迫観念めいた考えを持ってる。

そういう意味では、プログラマー界隈って技術大好きな分、視野が狭くて無駄求道者的な思考の枠組みの人間が多くて、はっきり言えば「凄い頭が悪い」んだよな。

そんで業界が悪い、中抜きが悪い、国が悪い、結婚できない、まともな人間結婚できなかったので悲惨だっていうけどさ、はっきり言って、キミら、なんでこの仕事してんの?マジで、って思うわけよ

金稼ぎたいのか承認欲求満たしたいのか、はっきりしなよ、ねぇいつ目覚めるの?いつまで武芸者みたいな求道者気取って技術の安売り続けて疲弊し続けてるの?

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