「TypeScript」を含む日記 RSS

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

2021-11-16

anond:20211116144546

最近一年半くらいぶりに見たよ

なんかすごいニッチユースケースTypeScriptコンパイラ作ったとか言ってたな

2021-11-12

TypeScriptバリバリ使ってると説明されたので体験入社したけど

TypeScriptスペシャリストでない俺が見ても型定義は本当に局所的でAnyばっかりだわstrictFunctionTypesがfalseだわts-ignoreばっかだわでTypeScriptの型チェックをまともに使ってなかった。

言語仕様のうちメインの機能を使ってない時点でバリバリ使っているという印象ではなかったしただトランスパイルオーバーヘッド増やしてるだけのようにしか感じなかったのでとても不誠実だなって思った。

私たちTypeScriptを使って堅牢設計を構築してまーす」みたいな文言があったら警戒しておくに越したことはないなって感じ。

2021-11-05

うPythonは終わりました

なんか今頃になってPython学習コンテンツが充実してきてるけど

Pythonってもう旬を過ぎたと思うんだよな

AIとかディープラーニングが全盛期の数年前とかだったら

tensorflowとかsklearnとか使うためにPythonは凄く有用だったしこぞって使ってた

まぁそれでもPandasはクソだったけど他に選択肢もなかった

あと、AIみたいにサービス化とかUIを気にしなくて良いようなワンショットプログラミングには向いてた

型付けとかしなくていいし、少しぐらいメモリリークしてても気にしないし、UIはtensorboardとかグラフpngで吐き出せば良かった

何よりターミナルから打ち込んだら実行してくれたりMarkdownファイルの中に書いたら実行してくれたりそれはまぁ便利だった

ところがAIコモディティ化して頭打ちも見え始めてきた段階でそろそろビジネス化しないといけないけど

そうなるとPythonみたいなやんちゃ言語プロダクトレベルまで実装出来る人が少ないことに気づき始めた

UI作るの面倒だし、型チェックとかもやってくれないから想定してないバグが出たり

Pythonを凄いやってた人も「プロダクトレベルとなるとちょっと」っていう人が増えてきた

かといってJavaには戻りたくないってなってTypeScript流行り始めた

そもそも最終のUIWebだし、jQueryから始まったReact/Vue/Angularあたりはどれを使っても簡単UIを作れる

おまけに枯れたNode.jsサーバレスに実行できる環境であるからTypeScript流行りまくってるんだと思う

Web系の弱いところはスマホアプリで、WPAあるけどイマイチ流行ってないしAppleが乗り気じゃ無いのがなんとも

なのでflutterあたりが人気出てくるかなぁ、とは思うけどWeb系ほど選択肢が無いから合わない時にとことん合わないと思う

ここから数年はPython人気が落ちてきて、TypeScriptが伸びて、Dartじわじわ伸びてくるんじゃないかなぁ

学者Python、とか言うけど関係なくTypeScriptやった方がいいと思う

2021-10-28

TypeScriptで開発したやつ死ね

行書き換えるたびに走る激重コンパイルのせいだかVSコードのせいだか、お前がTypeScriptで開発したせいでPCスワップ領域アクセスしまくってまともに動かないんじゃ!死ね

お前は意識高いから16GのフラグシップiMac貸与されてるのかも知らんがよ。こっちはMacMini8Gで作業させられてんだわ

お前がゴミみたいな言語選んだせいでゴミみたいなエコシステム自称軽快なエディター(糞重)を使わざるを得ないせいで、いっかいTypeScriptを触る作業が出るたびに他のアプリも全部ひっくるめてろくに動かんのだわ。

なんでVSコード上でファイル名を検索する方法ググるのに10分もかかるんだよ。ほっさかぁ〜爆笑じゃ〜

8Gマシンでここまで重くなるわけねーだろ。馬鹿じゃねえのかああん????なめてんのかnpm。なんじゃこれ。お前ら本当にこんな腐ったエコシステムがいいのか?頭イカれてんじゃねーの?

死ね

2021-10-21

10年後にJava使ってる人はいないよ

っていうのを10年ほど前に聞いて

当時は「そんなわけないやろ」って思ってたが割と現実になってきてる

今だとPythonがその立場なのかな

C/C++歴史が長いか10年後も使われてるとか言ってる人いるけどRustあるし10年後は分からん

まぁRustの方が10年後に消えてそうだけど

JavaScriptは息が長いけどAltJS系がこんなに流行ると思わなかったし

10年後も形は違えどAltJSJSは生きていそう

ノーコード・ローコード系はあと2年もしたら無くなってるだろうな

まぁ当時Javaにどっぷりだった自分Python/TypeScriptその他諸々で食っていけてるから

言語とか環境関係なくとにかく何かにどっぷり浸かることが大事だとは思う

2021-10-07

typescriptenum

日本で(?)やたら批判されてるけどaws-sdkも使ってるんだよね

代替案もeslint無視した微妙なのばっかだしなんなんだろう

自分が頭悪いのかなんなのか

2021-09-25

オブジェクト指向はすでに粒度時代にあっていない」を読んで

記事

@kis (id:nowokay) さんの以下の記事についてです。

https://nowokay.hatenablog.com/entry/2021/09/25/042831

ブコメにもあるようにちょっと内容が雑というかわかりにくいせいで賛否両論になってしまっていて、もしかしたら近いうちにアンサー記事が出るかもしれませんが、自分自身理解を助けるためにも言わんとしていることを推測しつつ、自分認識もまとめておこうと思い書くことにしました。明らかに誤読してそうな箇所があれば、指摘してください。

前提

まずは前提を書いておかないと論点がぼやけると思うのでいちおう。

自分バックグラウンドは以下:

その他の前提:


本文およびブコメを読んで思ったこ

2000年代に入って関数型プログラミングが脚光を浴び始めたのは、コンピュータ資源が潤沢になりパフォーマンスをそれほど気にしなくってよくなったことが大きな理由ではないか、という認識があります

関数型プログラミング言語の内部実装を読んだことがないので推測ですが、データを不変にするということはその都度メモリ領域を新たに割り当てることになり、そのオーバーヘッドプログラムパフォーマンスに影響を与えるので、パフォーマンス要件がをシビア場合、どうしてもメモリ割り当てや計算効率を考えるとミュータブルにせざるをえないと思います。が、ウェブアプリケーションに限っていえば、データベースアクセスネットワークアクセスレイテンシが大きいので、そうした相対的に細かいオーバーヘッド無視しても(大抵の場合は)問題にならなくなった、というのが「時代」の流れなんだという認識です。

いっぽうで別の観点もあって、REST API や FaaS が一般化して、関数単位で処理を分割し、アプリケーション外部に配置することが当たり前になってきた現状があり、マイクロサービスのようにアプリケーション自体モジュールの一単位として考えると、アプリケーション内部のモジュール同士でも関数ベースでやりとりする形になっても不自然ではないと考えられます

記事にもありますが、RPC派生実装?)として生まれJava の CORBA や MicrosoftDCOM みたいな振る舞い付きのオブジェクトコンポーネント)を共有しようという世界観は廃れ、REST API のような単一の振る舞い(エンドポイント)とそれにひもづく JSON のようなデータ構造のみを受け渡すやり方が一般的になったアプリケーション通信の潮流と、計算資源が潤沢になって再度脚光を浴びた関数型プログラミングが、レイヤーの違いを飛び越えてひとつになろうとしているのではないか、と。

まり、元記事に書かれている「時代に合ってない」というのは、「データ構造と振る舞いが一体となったオブジェクト」のような「なにか」は、そうした背景があるために、どこにも存在する必要がなくなってきているのではないか、と解釈しました。

なので、以下のコメントちょっと論点がずれてると思いました。

はあ?「再利用する方法としてはWeb APIが主流」って、その中身をオブジェクト指向設計することは、全く矛盾しません。 部品化の単位は、慣習や柵などで大きく変わりますオブジェクト指向とはほぼ無関係です。

https://b.hatena.ne.jp/entry/4708813645995359202/comment/suikyojin

なんでサービスとして外とやり取りする話とサービスの内部設計の話をごっちゃにしてんだ。なんか理解度が怪しくない

https://b.hatena.ne.jp/entry/4708813645995359202/comment/ssssschang

しかに、アプリケーション単位アプリケーション内部のモジュール単位とでその表現形式を合わせる必要はないんですが、元記事の言わんとしていることはこの一文に端的に表れていると思います

ソフトウェア記述をまとめるという視点では主にステートレス関数を分類できれば充分で、データと振る舞いをまとめたオブジェクトというのは大きすぎる、システムを分割して管理やすくするという視点ではオブジェクトというのはライフサイクルリソース管理視点が足りず小さすぎる、ということで、オブジェクト指向粒度でのソフトウェア管理は出番がなくなっているのではないか、と思います

個人的にわからなかったのは以下の部分です。

オブジェクト指向でなぜつくるのか」という本がありますが、「え、いまどきオブジェクト指向でつくらなくない?」っていつも思います。内容的には、もうほとんどはオブジェクト指向関係ないソフトウェア工学の紹介になっていますね。

当該書籍は読んだので後半はまぁわかるんですが、前半は「え、いまでもオブジェクト指向でつくるのが主流じゃないの?」って思ってしまますオブジェクト指向定義が「データ構造と振る舞いが一体となったオブジェクトの集まりとしてソフトウェア組織化すること」なのであれば)。

おわりに

Joe Armstrong が "Why OO Sucks" を書いたのが2000年とのことなのですが、そろそろこうした議論収束に向かってほしいと個人的には思います(とっくに収束していると感じている方もいらっしゃるでしょうけど)。

https://gist.github.com/posaunehm/4087971

2021-09-11

jQueryWebアプリケーションに使っている会社は滅びゆく(前編)

いまもjQueryWebアプリケーション大事ライブラリとして使っている会社は少なくないと思う。

jQuery会社で使っていると何が問題なのかを語っていこう。独断偏見によるものなので、jQueryを使っていても問題ない会社も当然ある。たとえばペライチのサイトを作る会社とか小規模サイトなんかでは全く問題ない。

フロントエンドエンジニアjQueryを嫌うので入社しない

退職理由: jQuery

採用困難で売り手市場になっている時代、そして「jQueryを触らなければならない環境 vs モダンフロントエンド環境」という選択肢がある中で、あえてjQueryを選ぶフロントエンドエンジニアは少ない。

また、新人はもはやjQueryを学ぶことはない。彼らはES6以降のJavaScript / TypeScriptを書く。よしんばjQueryを学ぶことになった新人がいたとしても、それはただその新人可哀想なだけで、現役なわけではない。ラガード(遅滞者)の仲間入りをさせているだけだ。新人でもキャリアデザインできる新人は「jQueryオワコン」という情報には触れているので、よほど就活で失敗しない限りはjQueryのところにたどり着かなくなっている。

そもそもバックエンドエンジニアでもモダンフロントエンドを書くような環境が増えてきた中で、2世代も前のjQueryだけでアーキテクチャに関する一考もないコードメンテしなければいけないので、「jQuery」という言葉だけでフロントエンドエンジニアでなくとも入社を避けがちだ。(jQueryアーキテクチャがしっかりしている可能性は低い。アーキテクチャがしっかりしているならばjQuery依存しておらず、jQuery依存していないのであれば簡単jQueryから脱却できるはずで、簡単jQueryから脱却できるならもう脱却しているはずだからだ)

メインストリームの部分はほとんどリプレイスが終わっているというでもなく、すべて現役でjQueryなのであれば尚更問題で、誰もメンテしたがらないコードの出来上がりだ。「弊社はCOBOLで書いてます!」とにこやかに言うようなものだ。

(ただし、さすがにjQueryだけでフロントをやっているという会社求人ほとんど見かけることはない。無意識スクリーニングで落としているのかもしれない)

jQueryを使っている会社には、フロントエンドエンジニアは一人もいないと言いきってもいいかもしれない。もしくは、今まさにjQueryをやめようとしているかたまたま入ってきたフロントエンドエンジニアが今まさに辞めようと迷っているかのどれかだ。

jQueryを使っていました」というエンジニアは、他社からフロントエンドスキルが0とみなされる。つまりフロントエンドエンジニアではないという意味だ。jQueryは、jQueryを使っている会社に対してしか武器にならないのだ(逆はできる)

jQueryが書ける人材は縮小傾向にある

jQueryを書ける人口自体は増えているだろうが、労働市場から撤退し始めている。昔jQueryを書いていた人材の人数が上限で、そこから新たに学ぶ人の絶対数が減っているため、全体としては減っている。

私もjQueryは以前業務で書いていたが、もう数年書いていない。特にメリットを感じないからだ。遊びで、生のJavaScriptを書くことはある。

jQuery入社するのは、昔からjQueryを使っている高齢エンジニアか、なぜかjQueryを学ぶことになってしまった新人である可能性がある。

そのため、需要供給に応じて、昔いたようなスキルレベルの人を今の市場で見つけようとすると費用がかかってしまう。jQuery書けますという人材が高年齢化しているのだ。そして世継ぎはいない。

jQueryを使っている会社にはフロントエンド知識が高い人がいないのでjQueryから抜け出せない

リプレイスはハッキリ言って難しい。モダンフロントエンド学習するだけでは足りなくて、それを使いこなせた上でしかjQuery使用したカオスイベントコードも読めて、そしてアーキテクチャを考えてリプレイスしなければいけない。

時代が下るにつれて、そうしたハイスキル人材はより高価値になっていき、レア度も単価も高くなる。今そういう人を雇うという判断をしない会社が、どうして今後もっとハイスキルの人を雇えようか。

jQueryを使ったサービスがしっかり利益を出している点もリプレイスを難しくしている。全廃もできない。かと言ってコストに見合わなければリプレイスという経営判断も難しい。経営が困難な状態ならより厳しい。

何も理由がなくjQueryを使い続けたいという奇特な人は多くないはずだ。何か理由があってそうなっているわけだ。カッコよく言うと『ナッシュ均衡』という状態だろう。今会社にいる人材もいわゆる『jQuery人材』が多いため、そこを打破するのはとても困難な道だろう。

jQueryから抜け出すには、すでにいる人材がなんとかしてリプレイスするか、外から連れてきて改革するしかない。しかし大抵の場合既存従業員にとってはそんな大変なことをするよりも転職したほうが楽な道だ。(もちろん、「jQueryしかなかったサービスモダンフロントエンドにした」というのが実績としてある人材はかなり魅力的な人材で引くてあまたなことだろう。その意味ではピンチをチャンスに変えるときの『チャンス』ではある)

ReactやVue.jsに変えたいと思ったとして「じゃあお前それですぐに利益出せんのかよ?」と詰められたら、その論争をクリアしてまで変えるのはほとんど無理に近い。通常、リプレイスそれ自体価値を生み出さない。リプレイス後に運用コストが低下したり、人材獲得がしやすくなるために利益が出るのだ。リプレイスとは長期の投資であるため、短期的には必ず損失になる。経営が困難な状態リプレイスしようとするのは、生活困窮世帯リボ払いをやめさせるぐらい難しい。そのため、まず自分が身銭を切ってリプレイスするしかない。そしてリターンがあるかもわからない身銭は切りにくい。そして同僚は容易に『抵抗勢力』になる。

ちなみにこのヤバい状態を『jQueryの崖』と言う。

jQueryを使っている会社フロントエンド周りのCI/CD等、エコシステムが構築できていない可能性がある

jQueryを今も使っているということは、裏を返せば「これまでリプレイスをしてこなかった」「リプレイスしようとしたが無理だった」という実績にもなる。

jQueryを使っている会社は、昔からあるコードをもとに書いているため、今もES6以前の文法で書いている可能性がある。そうしてどんどんと情報が少なく、古く、現代通用しにくいものになっていく。

bundlerを使っていない可能性が高いし、もしかするとCI/CDも無いかもしれない。そうすると、モダンインフラエンジニア(もしくはモダンインフラ知識のあるエンジニア)がいないかもしれない。SREという概念がないかもしれない。

世間一般から見ると会社の中が古いのだが、古い会社にいると「自分が古い」とはなかなか思えないものだ。太っちょの集まりの中にいたら「自分はそんなに太ってない」と思うのと同じことだ。

すべては憶測なので、実際は違うかもしれない。

jQuery自体が悪いわけではない

さんざんdisってきたが、そもそもjQueryは何も悪くないし、大変優れたライブラリだ。ちょっとしたプロトタイプを作るときには良いものであるかもしれない。しかも今もjQuery自体メンテされている。そのため、状態管理さえうまくできていればjQueryだろうがなんだろうが問題ない。

問題は、jQueryというライブラリを使ってきた時代からアーキテクチャ前進していない点にある。何年もずっとその状態だということだ。そこを今日に至るまで誰1人として変えられなかったということだ。特に経営陣は何の問題視もしていない可能性が極めて高い。そうした社内のしがらみが反映された結晶体、それが『使用技術: jQuery』という言葉になっているのだと思う。また、ヤバさは、jQueryバージョン反比例する。

jQueryを使っているアプリケーションには、jQuery担保していなかったアーキテクチャ部分に問題があることが多い。また、どこから呼ばれているか誰もわからない複雑なイベントSPAもクソもないページ遷移ごとのリロード、誰もどこもテストできず、HTMLベタ書きで書かれたJavaScriptコード、その場しのぎでデタラメに書かれた関数無視される変数スコープサポートが終わったライブラリドキュメントを見つけるのすら困難なよくわからないライブラリ高齢しか知らない伝説機能伝説のハック、などもある。これらはモダンフロントエンドではほとんど発生しないものだ。

そのため、一定基準として「jQueryを使っているかどうか」で、フロントエンドエンジニアとしてのやりがいがあるかどうかを判別できる。

そうして、フロントエンドエンジニアというのはもうjQueryに見向きもしていない。書けるけど書きたくない。パラレルワールドのようなものだ。

そういうようなことを「使用技術: jQuery」という文言から感じ取ってしまうのだ。

(そしてこれは、実際の仕事の中身が違うかどうかは関係ない。jQueryとは、そういうふうなブランドと化しているのだ)

前編のおわりに

jQueryを使っている会社からしたら「そんなことはわかっている」という部分で、「じゃあどうすればいいのか?」という部分が気になるところだと思う。

そこで、後編では「どうやってjQueryを全廃すればいいのか?」「実際にどのように全廃したのかの事例」について、だいたい来週ぐらいに書くつもりだ。

お楽しみに!

2021-09-10

問題TypeScript金額を扱う時に使うべき型はなんでしょうか?

2021-09-04

anond:20210903215430

TypeScript勉強する」が対策として上がってるならちょっと理解できると思うが、

難しい文章理解するために有効手段ひとつリファクタリングだ。

こんな感じ。

主張(a) 「その文章を読む価値があるのか」という想いの度合いが薄ければ、それに応じて文章は難しくなる。

(a)は文章にだけ言えることではない。

コンテンツ理解することは、モチベーションが高ければ容易になる。
 「その難しいことをやるだけの価値があるのか」
 「自分人生の一部という、他にも選択肢がある中での、かけがえのない時間と交換するだけの価値があるのか」
 という部分がモチベーションの高さに結びつく。

# 次のパラグラフ複数の主張が混濁しているようで、主張を明確にできていないように思える
> モチベは時間に応じて減衰していくので実際には習慣をつけるという能力必要だが、
> 点火点であるトリガーではモチベは有能な起爆剤になる。習慣化や自分スケジュールに組み込まれることによって、
> 必要モチベの量はだんだん減っていくこともあり、
> モチベだけがすべてではないが、基本は「価値あるぞ」と思えるかどうかだと思う。

コンテンツ理解すること自体は難しくない。
難しいのは、「それを突破する価値がある」と考えられる(=モチベーションが高い)状態を作り上げることであるモチベーションが高い状態を作り上げることに寄与する要素
 ・自分には突破できるという信念(自信)
 ・それを裏付けする成功体験
 ・たとえ無駄になったとしても人生において問題ないという経済状態
 ・あなたならできると言ってくれる身近な人

上記の要素を揃えることは、難しい。
上記の要素を揃えるためにどうすればいいかは、ここまで読み進めてこられたみなさんならもうおわかりだろう。
# ここまで読み進めても「どうすればいいか」についての記述は無く、
# これは存在しない主張を、さも存在するように見せるレトリックに見える。

2021-09-03

難しい文章を読むとき対策方法

概要

自分への備忘録用に書いておく。

すべてにとって共通して言えることは、「なぜ難しく感じるのか」という点と、「どう突破するのか」という点だ。

この2点に集約される。

自分バカから文章が難しいわけではない

難しい文章を読むのは、誰にとっても難しい。

もちろん、ある人にとっては難しい文章が、別のある人にとっては簡単だというのはよくある。ただそれは、前提知識の違いや読み方の違い、たまたまその人の感性が筆者の感性フィットしている場合や、筆者に対してどのぐらい信頼感を抱いているかにもよる。もしそこに差がなければ、同じ難しさになるはずだ。

まり、もし自分と似通った能力を持っている人がその難しい文章を読めば、必ず難しいと感じるはずだ。

思考実験として、自分という人間コピーしたあと、その文章の読解に必要能力だけはそのままにして、さまざまな性格・さまざまな外見・さまざまな人生経験・さまざまな年齢に変えたとしよう。そういう人も同じようにその文章は難しいと感じるはずだ。

わかりやすい例を挙げるならば、タイからやってきたレンさんという存在仮定しよう。レンさんは、日本語猛勉強して、自分日本語運用能力と遜色ない能力を身に着けているとする。なので、レンさんは自分が難しいと感じる文章を同じように難しいと感じる。ここで、レンさんは外国語を相当なレベルまで引き上げることができたのでバカではない。つまり自分バカから文章が難しいわけではない、ということだ。

まりそれは、自分バカから難しい/読めないのではなくて、自分現在能力だと単に難しいというだけであり、「単に差があるだけだ」と認識する必要がある。その「差」とは「上下」ではなく、どのぐらい「違うか」というものだ。たとえばファッションに興味がない人が、ファッションの専門誌を読まないといけなくなったときほとんどの言葉は未知語ばかりで難しい。ただ、そのファッション言葉を知らなくても誰も自分バカだとは感じないだろう。それと同じで、難しい文章を読むための知識が不足している可能性があることだけを認識するだけで、難しい文章を読みやすくなっていく。

アーガイルやAラインシルエットという言葉を知っていても「ふーん」と思われるのに対して、ロピタルの定理はさみうちの原理を知っていると「賢そう」と思われるのは、文化ブランディングや前提知識の差によるものであって、バカとか頭いいとかそういう問題ではない。文化圏によっては真逆の扱いを受けることもあるだろう。

興味が無いと難しく感じる

それに対して一切の興味がないとその文章を読むことは難しい。

「知らなくてよい」「自分には不要」と思っていることを知ろうとするのは難しい。「嫌いな食べ物を食え」と言うのに近い。そもそもそれが自分にとってどれぐらい有意義なのか知らなければ読む進めることさえ困難となる。

興味関心の度合いは、難しい文章の難しさをどのぐらいまで我慢して読み進められるかという突破力に密接に関連してくる。興味が薄いと「こんなもの時間を費やす必要があるのか」と思ってしまうからだ。結論、興味とは「どのぐらい理解したいか」なので、興味が薄ければそれ相応の「理解したさ」になる。そして、それぐらいの「理解したさ」では頭打ちになる場所が来たときに、終わってしまうことがわかる。

知るのに費やせる労力が100で、知るのに必要な労力が101ならば、知ることはできないという単純な理屈であるそもそも「どのぐらいそれに投資できるのか?」という興味レベル重要になってくる。こうしたエネルギーをどう人工的に生成できるかは知らないが、自分を誤魔化してあたかパッションがあるかのように振る舞うことはできる。

未知語・未知概念・習熟していない語は難しいことを知る

未知語や未知の概念や、自分にとって慣れ親しんでいない言葉理解語彙ではあるが使用語彙ではない言葉)が文章中に出てきたとき、それを知らないことや習熟していないことは問題ない。また、それを知らないことで読めなくなることも問題ない。

大事なことは、そのときに、どの言葉がわからないせいで文章理解できなくなっているかを知ることだ。その未知語は、実は他の箇所で説明されていることもあるだろうし、本当に初出の言葉かもしれないし、筆者オリジナル言葉かもしれない。ともかく「この言葉を知らないから正確に読めていない」と考える。そうすることで「この言葉が全体の理解を妨げているのだ」ということがわかる。

実はその言葉はそのあと説明されるかもしれないので、いったん「こういう意味なのではないか」と推測して読むことも必要かもしれない。ともかく、文章が難しいのではなく、言葉が難しいだけなら、言葉を知ればいいという話になる。

文章によっては、循環参照になっている言葉もある。循環参照というのは、たとえば「AとはBである」という説明をしているのに、あとから「BとはAである」という説明がされて、結局何の説明にもなっていないような関係のことを言う。そういう循環参照された言葉は「筆者には自明から説明するまでもないこと」または「筆者も実はよくわかってないこと」のどちらかに分類されるのではないかと思う。こうした言葉は、別の場所自分理解せざるを得ない。

また、知らないことだけでなく知っている言葉でも、その理解度次第ではとてつもなく難しく感じる文章進化する。

たとえば、完全に説明できる言葉理解度を100%・未知語の理解度を0%として、理解あやふや言葉理解度を50%としたとする。そうすると、あやふや言葉10個入った文章理解度は、50%10乗で、0.09%まで低下する。理解度が90%の語でも、20個あるだけで12%まで低下する。この数値は、掛け算で雑な計算をしただけなので、実際のところは実験なりなんなりしないとわからないが、ともかく、あやふや理解言葉ばかりが並んでいる文章を読み解くのが困難だということそれ自体には納得していただけるものと思う。

自分では100%理解していると思っている言葉でも、実際には98%程度だということもある。むしろ100%理解している言葉などないと思ったほうがいいかもしれない。相手人生こちらの人生が違う以上、全く同じ意味で使われている言葉などないものだ。未知語うんぬんにとらわれず、どの語が理解を妨げているか検出できれば、あとは調べるだけになる。

厳密・正確に書かれた言葉構成されるものは難しい

事細かく書かれた描写を読み解くのはとても難しい。1つ1つの文も異様に長くなるため、本来平易な概念でも、ひとつ考慮漏れも逃さないようにするために緻密に書かれ、そのせいで難しくなることがある。

厳密にするのは必要なことも多いが、概要を示さないでいきなり厳密な論理展開を始める文章も多い。そうした文章は、読者に対して概要提示を忘れていたり、概要提示が雑だったりすることがある。

そうしたとき「これはとても難しいことを言っているけど、もし単純に捉えるとするとどうなのだ」ということを考えると、急激にわかやすくなることがある。

未知語うんぬんの項でもそうだったが、「わかっている側」からは「わからない側」が何を知らないのか一切つかめないこともあるため、「わかっている側が想像する知らないであろうこと」と「実際自分が知らないこと」に大幅な差があることがある。その差には、どのような手段でもいいから、自分で気づく必要がある。

例示・図示されてないものは難しい

例示・図示などで、二重に説明されていない文章もまた難しい。まず、文単体では理解しがたいものや、直観に反する文があったとき、それが筆者の思った通りのことなのか、筆者が誤って書いたものなのか、自分が間違った理解をしているのか、全然からないものがある。文だけで全く疑問に思わず次に進められれば問題ないが、ひとたび疑問に思うと袋小路に入ってしまう。そうしたときに「例示・図示されていないからわからない」と気づくことが必要になる。

信頼していない筆者の文章を読むのは難しい

興味関心の部分に通じるものでもあるが、信頼していない筆者の文章というのは読めないものだ。「本当にコイツが言ってることは正しいのか?」と思うと、すべての文に対して正しいかどうかの考察を入れることになる。

ほとんどの人は、反ワクチン天動説電波洗脳陰謀宗教団体関連の文章は読むに値しないと考えていると思う。これに関する是非は置いておいて、これらの書物になんら信頼を感じてない人にとって、これらの書物を読むことは大変困難になる。すべてを検証しなければいけないからだ。そういう人よりも、全幅の信頼を置いて読み進める人のほうがスッと「理解」していくことだろう。

基本的に、普通人達にとってこうした書物をたくさん読むのは苦痛しかないはずだ。たくさん読めば「ミイラ取りがミイラになる」ような状態になりかねないし、それを読んでいることで他者から嫌な目を向けられることを避けたいはずだ。興味も信頼も一切ないのに、そうした文章を大量に読むのは難しい。

「その文章を読む価値があるのか」という想いの度合いが薄ければ、それに応じて文章は難しくなってしまう。

TypeScript勉強する

TypeScriptとは、プログラミング言語の1つだ。これを学習することで論理的思考力が養われ、読解力が上がり、難しい文章を読むこともたやすくなる。実際に私もそうだ。

まとめ

実はこれは文章にだけ言えることではない。共通して言えることは「その難しいことをやるだけの価値があるのか」「自分人生の一部という、他にも選択肢がある中での、かけがえのない時間と交換するだけの価値があるのか」というモチベの部分にある。モチベは時間に応じて減衰していくので実際には習慣をつけるという能力必要だが、点火点であるトリガーではモチベは有能な起爆剤になる。習慣化や自分スケジュールに組み込まれることによって、必要モチベの量はだんだん減っていくこともあり、モチベだけがすべてではないが、基本は「価値あるぞ」と思えるかどうかだと思う。

本質的には、難しいことそれ自体は難しくない。難しいものにぶち当たったときに「それを突破する価値がある」と考えられるような自分状態を作り上げることが必要なのだと思う。

これが難しい。自分には突破できるという信念(自信)や、それを裏付けする成功体験や、たとえ無駄になったとしても人生において問題ないという経済状態あなたならできるのだと根拠はなくとも言ってくれる身近な人なども必要になってくる。これが難しいのだが、しかしそうした環境を手に入れるためにどうすればいいかは、ここまで読み進めてこられたみなさんならもうおわかりだろう。

2021-07-27

anond:20210727112352

それは否定 ~しねえわ~ できないわ

俺はTypeScriptPython仕事してるけど、どっちも後付けとはいえ検査するしな

あって損はない

2021-07-17

anond:20210717195746

TypeScriptだけでもトランスパイルできるが精度が微妙と言われている(要出典)

厳密にやるならbabelを噛ますことにはなるだろうね

TypeScript

TypeScriptのことを調べているんだけど、メインストリートであるESリリースする前の機能TypeScriptがすでに取り込んでいているらしくてめんどくさーってなってる。

TypeScriptトランスパイルするって書いているけどbabelも必要なんだよな?よくわからんjavascriptといううんこの上に建築物を構築していくと足場が悪いのでかなりだるい

2021-07-10

anond:20210710031522

年収270万の元増田です。2013年フロントエンド界隈にいた(jQueryAdobe Flash)のですけど、今って本当に700万近くまでもらえるのですか?例えば、React や VueTypeScript でかけたりするとどれぐらいもらえるのでしょうか。

自分2013年ぐらいに JavaAndroidiPhone にて Objective-C で、jQueryブラウザフロントエンド部を書いていたら、強制的Spring FrameworkSQL バリバリバックエンドを書くように指示されて、しかAWS EC2 の上でプロダクション用の構成をつくったりしてたのですけど、2社目の社長に「職歴が浅いから、月給25万円ね」と言われて、絶望した記憶があります

もし仮に、再度転職して大手エンジニアになったら、どれぐらい貰えたのか気になります。教えていただけませんか?

2021-07-09

https://anond.hatelabo.jp/20210708205945

=====

東大卒ヨーロッパエンジニアやっている人から解説しよう。(ちなみに医学部防衛医大に補欠合格していた)

エンジニアになるより医者やっていたほうが(国内で頑張る分には)絶対いいと思う

ちなみに医学部にいった友人の何人がむしろテック系に流れてきているという事情がある。

厨ニが溢れているので、しっかり解説してあげます

おそらく、増田はたしかに昔からプログラミングをやっていたと思う。頭もいいんだろう。厨ニが溢れていて気持ちが悪い。

エンジニア厨ニ病マウント取っていいていい時代でもないです。明らかにマウント取りたくてウズウズしすぎて、大した知識がないのに、

表面的な知識を羅列しているところがあったので突っ込んでいく。

~~誰にやらせてもデータベースにクソなDCLを飛ばせないから。逆に、データベースを触れることができるプログラマーリスク責任が大きいから、給料が高いのだよ

ー>そんなことない。フロントも色々やらないといけないが、バックエンドに比べて経験年数がひくい人も流れ込んできているので、バックエンドの人に比べて

できる領域が狭いので給与が低い、またおそらくDCL、DMLDDLといった用語を知っていることをひけらかしたかったのかもしれないが、全くどうでもいいです。

~~君はソフトウェアエンジニアになりたいのだろ?世の中は分業で成り立っているのだから、全部やろうとするやつはアホだよ

=>全部できようとして、破綻しているのでブーメランですよ。あなたの想定している、こんなフルスタックは成り立たない。

現場に放り込まれても10年ぐらいかかる。というより、フロントからバックからレイヤからモバイルまでやることはもはや現実的ではない。

~~おそらく QUIC か MQTT あたりだろ?逆にいえば、それが実装できたら他社と差のつけられるプロダクトだったはずだ。つまり会社利益の源泉であった部分をみすみす実装できないようでは、そこらへんの専門卒以下だぞ。

=>QUICとかマイナープロトコルを話すよりはちょっと変化球のあるプロトコルでいけばWebsocketぐらに抑えておきましょう。低レイヤーの話はわたしもわかりませんが、C言語ができないのに「おそらく QUIC か MQTT 」とか分かってない英単語文字を羅列するのは厨ニ病すぎます

~~プログラマーに徹するつもりだろうが、ツヨツヨエンジニアデプロイした経験から逆算してコード設計・開発をやるのだぞ。そうなると、CDN, DNS, WAF, S3, ログの出し方、メトリックス、異常検知、アラートを把握する必要があるのだぞ。そういうのを知るためには、ポートフォリオAWS GCP Azure といったクラウド経験を書くべきだと思うのだが、なぜしない?

=>自分cloudfrontやWafを触ったことがありますが、かなりのインフラエンジニアにならないかぎり、ここ触りません。cdnは影響範囲が大きいし設定に時間が掛かったりします。片手間でできません。インフラエンジニアに触らせます。異常検知、アラートといったものは、実は結構時間がかかるので、強いかどうかではなく責務の分割からインフラに任せます。知らないことは知らないって書きましょう

本当に医学生ならここ数年の技術についてこの指摘ができる程詳しいわけないし少なくとも10年位は業界にいないとこういう感覚は身に付かない。 」

~~たしかおかしいよな。Kubernetes や Terraform を弄って、CIGitHub Actions、CD には AWS CodeDeploy を使って、ブログは Jekyll で静的サイトジェネレータを使いつつ、自前のサービスを立ち上げるために Rails, Next, React, PostgreSQL, Redis, Kafka, Elasticsearch, S3 の勉強をしつつ、スマホ環境のために KotlinSwift を触れているなんて変だよな。そういえば、Docker が来るまでは Vagrant環境をつくっていたのも忘れてたよ。あと Rust を今年に学ぶ言語にするなんて、受験生にあるまじき行為だよな。うん。

=>こんなにあれこれ、やっている時間はないでしょう。趣味サイト製作でやるにしても絶対できてない。kubernetesを使っただけで時間切れになる。Kafkaを触ったとかいているが、Kafkaはサーバで使ったのかな?どういう利用シーンかというと膨大なログ収集等で使うのだが(ただのNoSQLではない)、Zookkeeperで調停させて、topic数とか調整するんだけど、わかってます?ElasticSearchだけ書いてたらまぁあるかなと思うけど。Redisちゃんと使えてる?pub/subとか分かってないと思う(普通に理解する必要あんまない)

それでkotlinなんて触ってる時間なんて絶対にないし、Rustを更に付け焼き刃に付け焼き刃している時間なんてぜええええたいにない。やることが絞り込めてない。無意味マウント取りたいだけ。なんとなく書いているcode deployなんて、それだけで使いこなすのが大変なれべる。

ci/cdのうちciだけかたっているならわかるがcdとなるとかなり時間がかかる

~~ストレージエンジンが切り替わるときカオスな目にあったけどさ

=>MyISAMInnoDBに切り替えるなんてことしているところは無い。万にひとつあったとしても、大事で、それだけで数ヶ月のものなので、この付け焼き刃の知識の人が触る機会はない。

~~TypeScriptNext と React を書く。もちろん JavaScript は ES2020 あたりまでは説明可能

=>ES2015以降の差分は微々たるもので、どうでもいいです。ES2018ぐらいの現実的数字にしてたらばれなかったのにね。

NextSSRまで踏み込む結構フロントのことをキャッチアップするだけでかなり厳しいと思いますが、できているのかな?

=====

~~アメリカでも「テック系はハードから避ける」

ー>アメリカ事情は知らないはずなので知らないことは書かないようにしましょう。

ー>ヨーロッパでは白人様はHRとかマーケやってます移民にたよってますロシアウクライナインドパキスタンなど

  なぜ、ヨーロッパ人が避けるかといと「やる気がないから」です。以上

※ちなみに防衛医大の補欠合格東大に入る人なら大体受かると思う

2021-07-08

anond:20210706022633

年収270万で)プログラマー引退して、医学部にきた俺が真面目に考えてやろう。

言葉は正しく使おう

真面目に読んでいて、ちょっと気になる箇所がある。たとえば PostgreSQL を postgre とか書くヤツは現場では嫌われるぞ。少なくとも postgres と書いてくれ。お里が知れるぞ。

プライドが高い

消えていくエンジニアの特徴だけど、叱責されたり馬鹿にされるのが嫌で VCSコミットしないヤツ、または貪欲コードレビューをされるのが嫌がるやつは、成長しない。

エリート意識

この業界は数年前には『デジタル土方』と揶揄される業界でした。ちなみに、アメリカでも「テック系はハードから避ける」という雰囲気でした。つまり何をいいたいのかというと、ソフトウェア開発者っていうのは「泥臭い領域」なんだよ。エリートとは程遠い場所にあるというね。

④ 「某天市場の先輩には,ここ仕事量少ないしオススメだよって言われたのですが,」

いやぁ、是非とも楽天で働くべきだよ。どうせ野村総合研究所とか NTT DATA なんて無理だと思うから

⑤「バックエンドは大体firebaseかgcpに任せているので,インフラあたりひいてはネットワーク知識が薄いです.」

うん、ココはまずい。基本的フロントエンドなんて給料が安いのよ。だって、誰にやらせてもデータベースにクソなDCLを飛ばせないから。逆に、データベースを触れることができるプログラマーリスク責任が大きいから、給料が高いのだよ。B4 になってもそれが理解できていないようだと、この先くらいよ。

⑥「後fpgaも少し.ハードウェア開発は結構苦手で回路図とか上手く書けません.」

君はソフトウェアエンジニアになりたいのだろ?世の中は分業で成り立っているのだから、全部やろうとするやつはアホだよ。

⑦「B3の夏くらいのタイミング東証一部上場企業インターンに行きました.」

インターン生はお客さんなの。君のスキル通用したのはすごいと思うけど、同じ感覚仕事はできないから注意しときなよ。

⑧「CSではないので受動に学ぶ機会も特になかったです」

なに言ってるの?そんなことは言い訳にならんよ。プログラマーになりたいのだろ?勉強しろよ。

⑨「Twitterとかで(主につよつよエンジニア達によって)エンジニアのべき論が語られているが,(以下略

逆にいうと、あなたインターンとして週3で20万円貰えていたのは、参入障壁が少ないからでしょ?強強エンジニアが生き残っているのは、それだけすごいということだよ。

⑩「仕事となると自分が扱ってこなかった技術を使わないといけなくて,扱ってこなかったということはつまり難しいということで.」

いやぁ、違うと思うよ。その問題が「難しい」なら切り分けて、上に「ココが自分能力では解決できないです」と持っていくだけなんだからさ。CS じゃないのだったら、仕事をするまで「扱わないまま」なんだよ?しかも、土日に勉強する気もないとなったらいつするのさ?

⑪「僕のようなクズと言われても仕方のない人材はどうしたら上手く(ストレスレス高収入の意)生きていけるのでしょうか?」

諦めなよ。ソフトウェアというものが「変化できることに価値がある」ものから。変化する業界ストレスフルだけど、立身出世する可能性が高いでしょ?安寧なばしょではないの。

⑫「今22歳,B4だ.Mまでは行く.Dに迷ってる.研究楽しいからです」

いやー、CSでない博士課程に行って、雇ってくれる企業があるかね?無いと思うけどな。

⑬「ネット実装例なんてクソの欠片も載ってないし,プロトコル理解のために特許資料論文をくまなく読む羽目になったのは本当に辛かったです.」

この時点で、君はコピペしかやってきてないことが理解できる。おそらく QUIC か MQTT あたりだろ?逆にいえば、それが実装できたら他社と差のつけられるプロダクトだったはずだ。つまり会社利益の源泉であった部分をみすみす実装できないようでは、そこらへんの専門卒以下だぞ。

⑭「html, css, javascript(jquery, express, react(next), vue(nuxt)), python, php, sql(postgre, oracle), graphql, ruby, swift, solidity, unity, c, c++ 業務レベルじゃなくていいならgo, kotlin, java, scala, dart, julia,(以下略

ムカつくというか、虫酸が走る書き方だ。箇条書きにすると、

⑯「プログラミングは17歳くらいから始めました」

プログラミングに年齢はないから。自分は9歳ではじめたけどね。

⑰「僕のつよつよエンジニアイメージを共有すると」

あー、俺も天才高校ときにいて、マーチ情報工学と旧帝の院の学費会社持ちという驚異的なやつがいたよ。今もブログ見てると、AndroidiPhoneアプリを書いているみたいで、元気そう。

⑱「つまり難易度が急に跳ね上がった.これが辛かったです...言語C++Java.」

それを上手にコントロールできるプログラマは世界中にもほとんどいねぇ。むしろ、月20万でやるもんならギルドから苦情が来るぞ。オレもアビームの人に給料を答えたら、「こんなヤクザ会社はやめろ」と耳うちされたよ。

結語

人より良い経験をしたいという願望はあるのは素晴らしいと思うよ。しかしながら、君が到達したノウハウ他人にもできることだからね。ワン・オブ・ゼムになりたくないなら、努力し続けることだな。勉強をするのをやめたら、数年で中卒に負ける世界からな。覚悟しとけよ。

追記

P.S. 医学部に来たのは家庭の都合だよ。それに、自己顕示しないと「場末コーダー」で読んでもくれないだろ?年収については、自分も低いと思うよ。なぜ低かったかというと、都内私立大学多浪中退自分にはベンチャーの皮を被った助成金搾取がメインの反社会的勢力フロントベンチャー企業ぐらいしか相手にしてくれなかったからだよ。そこの会社外国帰りの MDMA をキメて、未成年の子女に手を出しては警察沙汰スレスレのことをしているキチガイ社長をやっていて、人工知能を作ろうと学生インターン酷使している会社だったのだけど、「サイバーエージェントに紹介する」という嘘にひっかかって、特定派遣事業免許がないのに客先常駐させられ、土曜は帰社日、日曜は社長Python勉強会に参加させられる、というブラック会社にいてピンはね率(60%)となると、まともに考えることもできず働くアリになってしまってたからだよ。

P.S.年収については、初日から派遣先会社に引き抜きのオファーをもらって、2ヶ月後に新しい会社に移動したけど、300万だったので CodeIQ というサイト転職をする準備をしていたよ。たしかDMM とかサイバーエージェント面接にいこうとしてたような記憶。その後で家庭の都合で、医学部に来たけど。

P.S.医学部医学科の6年生だよー。みんなが嫌いな私立医学部だけどね。ちなみに、俺もこの大学が嫌いだ。

P.S. ④「GraphQLをわざわざ書くのは理解できるけどな。」そうだとすると、RESTSOAP も書かないとまずくない?書くのだったら「RailsNextデータ受け渡しにGraphQLを使った経験が」という感じだと良いと思うけど。

P.S. ⑤「野村総研データを挙げるあたりSI寄りの仕事してたのかな。 」ちゃうねん。オレっちは多浪たからさ、そこのエントリーシートをかけなかったのよね。まぁまぁ大学が名門でさぁ、OB が誘ってくれるけど、年齢で弾かれて辛かったねん。

P.S. ⑥「ダウト学費をどうやって稼いだんや 」えぇ、親の金です。だから家庭の都合でと書いてるじゃろ。

P.S. ⑦「本当に医学生ならここ数年の技術についてこの指摘ができる程詳しいわけないし少なくとも10年位は業界にいないとこういう感覚は身に付かない。 」たしかおかしいよな。Kubernetes や Terraform を弄って、CIGitHub Actions、CD には AWS CodeDeploy を使って、ブログは Jekyll で静的サイトジェネレータを使いつつ、自前のサービスを立ち上げるために Rails, Next, React, PostgreSQL, Redis, Kafka, Elasticsearch, S3 の勉強をしつつ、スマホ環境のために KotlinSwift を触れているなんて変だよな。そういえば、Docker が来るまでは Vagrant環境をつくっていたのも忘れてたよ。あと Rust を今年に学ぶ言語にするなんて、受験生にあるまじき行為だよな。うん。

P.S.年収については、基本給が 22万で、残業200時間超えたらプラスだった気がする。あと、反社ベンチャーは「ポートフォリオ作成にまる一ヶ月間で拘束された、しかも無給で」という時点でヤバいのだけど、その会社コミットしたのは「サイバーエージェントに紹介する」ということだけであって、同時期に DMM面接に行けそうだったのよね。馬鹿なことをした。

P.S. ⑨「特にフロントエンドを見下す感じとか」オレ自身フロントエンド出なんだよ。何を隠そう、Adobe Flashゲームをつくっていたから。それでもって言うよ、バックエンドが一番大切だと。

P.S. ⑩ 「相続税対策お疲れさんだな。」あたり。

P.S. ⑪「5~10年前に人売りに捕まった話とするなら、年収270万も現実味を帯びる。」特定派遣は消えてくれてよかったよ。俺のところは特定派遣すら未登録だったけど。

P.S. ⑫「いい医者になるのだよ 」うん、頑張る。「オッサン」「社会不適合者」「あるき方がキモい」「プログラミングwww」「同じ班になりたくない」「親も頭が悪い」「生きてて恥ずかしくないの?」とか言われてるけど、頑張る!

P.S. ⑬ 「フロントエンド別に給与低くないよ。」えっ、そうなの?WebDesigning を読む限りだと、400万もいかないイメージだけど。

P.S「医学部6年でまだプログラムに興味あるの不思議。」好きなんだよ、言わせるな///

P.S. GitHub なんやね。気をつけるよ。

P.S.フルタイムじゃないのでしょ?」いいえ、東京都内フルタイム(ひどいときで、朝7から24)でしたよ。入った会社が「法律よりも、派遣先評価」という会社だったからね。

P.S. サイバーエージェントさん、ときどき御社の社名を使って「弊社に恩を売ると、サイバーエージェントに紹介する」というベンチャー跋扈しているので、どうにかしてください。わたくし、1ヶ月間もその嘘で jQueryDjango を回収させられた挙げ句、月給 2000円だったのですけど。本当に千円札2枚だったのですけど。ついでに、AndroidJava) と iPhoneObjective-C)と jQuery を使ったフロントエンドシステムに、バックエンドRails + Postgresqlシステムで、AWS を介したサービスを作らされたのも「サイバーエージェントに紹介する」と言われたからなんですけど。いったい、何なんですか?お前ん所は、コンプライアンスどうなってんじゃ。

P.S. 「好きそうだし医学部卒業してシレッとgoogle行ったれ 」無理っすよ。オレのスキルじゃ。

P.S.病院は」親がクリニックを持っていたけど、潰したよ。クリニックは人に患者がついていて、アルバイトを充てがっても患者さんが不幸になっていくのをみちゃったからね。自分責任を持って患者さんを見たいから、バイトなんて使わないよ。

P.S. 自分コードを書きたいタイプだったから、SIer みたいな UML とか書いて下請けコードさせるみたいなのは絶対に嫌だったのよね。だから SIer にはならなかったよ。やっぱり、現実にある計算機解決できる問題を、より直接的に触れて解決したいと思っているから。仕事ハードでも全く問題なし。

P.S. FPGA すごいよね。ザイリンクスアルテラIntelAMD に買収されて、すごいと思ったよ。2010年頃だっけ?、CPU限界FPGA突破しようという話があったけど。手を出そうと思ったけど、高性能なチップ100万ぐらいして挫折した記憶があるよ。

P.S.東海大医学部学士」は自分大学卒業してないから無理でした。あと、それ以上の詮索はやめてくれ...

P.S.MySQLそんなに嫌いなのか。」そんなこと書いたつもりはないが、あれ?確かに MySQLPostgreSQL より嫌いたけど、それは Oracle が親元だったり、Unicode の扱いがファッキンだったり、ストレージエンジンが切り替わるときカオスな目にあったけどさ、MySQL は好きだよ。お世話になったし。

P.S. 給料については契約後に言われたのよ。というか、もともとは「サイバーエージェントに紹介」するという理由で、ポートフォリオ作成Django の改修を手伝ったつもりで、入社とかする気は全く無かったのよ。それが、いきなり他所会社面接を受けさせられて「君は明日からXXで働くから履歴書を書いてね」と言われて、抗議したら「俺に恥ずかしい思いをさせるのか!業界に入れなくするぞ!」と大声でシャウトされて、気がついたらあっちが用意した履歴書拇印してしまったのよね。有料職業紹介と派遣登録をしてない会社だったから、そんなかとはできないはずなんだけどね。ホームページには「年収550万」と書いてあったけど、実際はまったく違ったのだけどね。

P.S.「うーん、いらないかな。IT土方としての仕事しかないと思う。」だよな。おとなしく医者になるよ。ありがとう

P.S. Elasticsearch は全文検索機能がほしいからやってるよ。Redisインメモリセッションストアとして使いたいのよ。Kafka はさ、twitter のファボをじっそうしたいけど、RDB書き込み速度が上がらないから利用したいの。TensorFlow は全く理解できてないよ。それは、指摘されたとおり。

追記追記

逆に聞くけど、以下の知識があったらどれぐらいもらえるわけ?東京23区で。

2021-07-03

既存語彙と被りまくるアルファベット略語を辞めろ!!!

俺が初めて「DV」って言われたときに何をイメージたかわかるか?

Digital Video」やぞ!もしくは「Digital Visual Interface」だ!!!

DVに男が引っ付いて「DV男」って表現を見たときの俺の宇宙猫はどれくらい大きかったかわかるか!?

TS」!お前てぃーえすぅぅぅぅぅうううう!!!コラお前マジでホントいい加減にしろ!!!

TS言われると日本人なら先ず「TSマーク」思い付いちゃうだろ!情報技術者なら「TypeScript」だ!!!もしくは「Transport Stream(MPEG-2 TS)」

TSで男女の話題からめられて「ママチャリ?」みたいに最初マジで思ったんだぞ!直ぐに「あっ何か違う・・・」って気付いたけど!!!

いかアルファベット2文字略語は2028パターンしかねぇんだよ!アルファベット3文字略語17,576パターン!!!

気付けよ!不便だって!!!お前らやってること新型コロナウイルスワクチンを「しこわ」って略してるのと同じだから!!!

馬鹿じゃねぇの!?やーいやーい!バーカ!バーカッ!!!

2021-06-23

AndroidiPhoneアプリ開発の今を教えてくれないだろうか

※ 再ポストを許してくれ。どうしても、聞く人がいないのだ。

当方は、元プログラマー。今となっては、家庭の都合で引退した身。嫌なことがあって、久しぶりにプログラミング勉強したら楽しくて仕方ない。

たとえば、Ruby on Rails, Next with React on TypeScript とか最高にイカしていると思ったし、Kubernetes や Terraform で AWS, GCP を触れば IaC に感銘したし、Kafka や Elasticsearch といった NoSQLRDB進歩した上で共闘している様は夢のようだ。PHPJava も元気にしていて、おじさん嬉しいよ。(最近流行りだから Docker も触ったが、Vagrant なんかを触れた身からすると、正当な進化だよね。)ただ Python が人気なのは理解できないし、そんでもって C は苦手なままだけどな。あと、CSSHTMLナレッジアップデートについていけないのは歳のせいだろう。

閑話休題。それでタイトル質問なんだけど、今のモバイルアプリの開発手法について知りたいのだ。もちろん React Native といったものがあるのは知っているが、この手のものは好きになれないのよね。どうしても無理から生じる齟齬が気になっちゃうし、もっと言えば「プログラミングを介して、設計思想に触れたい」からね。

まず、iOS話題から。今は iOSSwiftUI だけで書けば良いのかしら?昔は Objective-C と Storyboard を使っていたけど、新規プロジェクトだと無視してもよいのよね?いや、だめだったら追加で勉強するだけだから良いのよ。その、加減がわからなくてね。自分としては Swift言語が好きで、SwiftUI は StoryBoard よりマシだと思うから、そこは問題ないのよね。10年前より、絶対に良くなったと思うし。あと SwiftUISwift言語の example 集とか、CocoaPods のまとめサイトなんかを教えてほしいな。公式だけじゃ物足りない。

次に Android なんだけど、現行なのは Kotlin言語 + Android Studio の UI ビルダーを強制なんでしょ?昔は Java言語 + XMLMVC という感じで、当時としては iOS よりまともなイメージだったけど、最近ふれたら蕁麻疹が出そうだった。なんというか、ちょっと体が受け付けない感じがする。だからAndroid は昔の開発手法で良いのかを教えてほしい。あと、iOS と同様に example を大量に載せたページをお願いします。

こんな感じかな。追加で知っておくべきことがあれば、嬉しい。たとえば、PWA とか。自分としてはモバイルプログラミング理解できたら、ブロックチェーン人工知能を除くと、ここ10年のナレッジキャッチアップできたつもりなので満足なんだよね。あと気力があれば、作成物を増田晒すかもしれないです。

ということで、よろしくお願い申し上げます

anond:20210502153623

俺はボブじいさん好きだけどね。一応は、電話自動応答オペレータの作者らしいよ。

ところで「Null許容型批判」っていうのは、TypeScript でいう any とか、Java でいう Optional のついた型は存在意義がないという主張なの?まぁ、実際に Null がないというのは理想だと思うけどね。

2021-06-18

Python+Golang+TypeScript+ReactプログラマRails+CoffeeScriptに押し込まれて思った

想像していたよりもRailsは良い。

ちゃごちゃしたモデルがほいほい操作できて、Formもちょちょいと書ける。

テストもモリモリ書ける。

想像していたよりずっと良い。

気持ちがいい。

私ハマっちゃうかも。

でもFormでちょっと動的なことをしたいな、ってだけで、CoffeeScriptと格闘する羽目になってとても苦しい。

CoffeeScriptいから全部サーバに処理させたいけど、そうなると、簡単な動的操作でも画面更新履歴積み積みになってそれはそれで酷い。

というかCoffeeScriptむちゃくちゃ見辛い。地獄。なんだよこのインデント

辛い。

病みそう。

RailsAPIだけやってろって言う人の気持ちがよくわかった。

わかったから早くもとの仕事に帰りたい。

結論CoffeeScriptウンコ

https://anond.hatelabo.jp/20210618001001

2021-06-17

CTOだけど、一ヶ月Web就職レビューしてみた。

https://anond.hatelabo.jp/20210617075257

0. 温度感

基本的現在では、バックエンドフロントエンド運用保守全てができないエンジニア価値は無い。

経験者でも、これらができない/わからないのは、相当恥ずかしいことだと思った方がいい。

典型的はてなー意識の高さ。

上がってるような基本(元増田に上がってるやつの倍ぐらい)が全部立ち上げからできて

2〜3個プロジェクト経験したらテックリード素養が既に身についてそう。

まり、ただのエンジニアにはそこまで要求されない。

プロジェクト的にもどっちかが弱いと

Rails/DjangojQuery+Bootstrapみたいな構成

Amplify/FirebaseにVue/Reactみたいな構成全然あるので

フロントバックエンドも一旦はどっちかでいい。

面接はなんとか抜けてもらうとして、

チーム開発での最低限の目標としては、

成果物から指導学習コストレビューコスト技術負債マネジメントコストを引いた分が正になっていれば

ひとまず「チームに居ていい人」と見なされそう。

チーム的に良くても、経営層にそれで許されるかはわからんのでその辺の立ち回りも上手いことやるとして、

一旦は、正の生産性を目指してほしい。

以後、ブコメで誰一人一ヶ月でできるって言ってなくて笑うので、

一ヶ月というのは無視して、三〜六ヶ月程度をイメージしつつ書いていく。

1. 言語: PythonJavascript

これだけで一ヶ月経つ気がするが正気か。

似たような言語なのでどっちからやってもいいし、両方同時にやってもいい。

どっちかしかやらないならJavascriptおすすめ。後ででてくる、Flaskは適当Expressかに置き換える

現場だとほぼTypescriptなので、Javascriptはある程度慣れたらTypescriptに移行したほうがいい。

どちらも、Python2とES2015以前の記法というレガシーネット上に転がってるので参考にしないように注意。

パッケージ管理単体テストタスクランナー

この辺は6のフロントフレームワークと同時にやる。

コードは断片的なサンプルではなく

一貫性があって

・正しい書き方がされた

お手本プロジェクトをなにか(github書籍など)で手に入れて読むべき。

おそらくフレームワークに乗っかっているので並行して進めることになる。

6. フロントエンドフレームワーク: Vue.js

話の流れで先にこっち

現在コーディングのグッドプラクティスデザインパターンフレームワークの形をしている。

なので、ReactとVueをその思想から理解しきれれば、プログラミング言語の潮流の最先端に追いつけるはずだ。

とはいえ最低限としては使い方が分かるところまで。

TypescriptVue.jsも書き方をどこまで取り入れるかが使用者裁量に任されてるし、

開発でVueとReactのどっちを使うかはチーム次第なので、

一旦React+Typescriptガチガチに書かれたコードプロジェクトを拾ってきて、必死で解読するのがいいと思うなー。

2割ぐらいわかった気になればチーム入ってから(React, Vueどちらだったとしても)動けそう。

パッケージとかテストタスクデプロイ辺りもこのタイミングで拾ってきたプロジェクトを使って学ぶ。

2, 4. ツール: gitDocker

バージョン管理コンテナ思想が優れているのは自明なので、これらはツールと見ていい。

そして、後からプロジェクトに入った人がプロジェクト流儀に沿って使う分には難しいことはなさそう。

採用に来た人がgitとかわかってるとチーム開発経験者だなーって思うし、知らないと未経験者なんだなーって思うし、

そういう意味ではチーム開発の経験があるかどうかの試金石にはされてそう。

構築できる、ではなく、触れる程度で良さそう。

gitプロジェクト流儀によると書いたが、git-flowイメージ図を理解して運用できるのがよい。

https://qiita.com/KosukeSone/items/514dd24828b485c69a05

3. OS: Linux

これは「パソコンの使い方わかってますか」ぐらいの温度感

ファイルパーミッションユーザープロセスのような基本概念理解する

一冊読めば済むだろうし、概念系はさらっておいてほしい。

grepやfindやxargsなどのコマンドを組み合わせて簡単な処理を自動化する

こういうのができるんだなーって言うのを知っておいて、調べつつ書ければ十分。

sedとか正規表現も。

あとはシェルスクリプトとかって思ったけど同様のことはPythonでもできそう。

IPアドレスを調べたり、SSHリモートマシンログインする

地味にSSHログインした先の環境だと、vimが主要なテキストエディタになるので

vimを最低限触ることだけ要りそう。もういらないかもって思ってたんだけどなー。

ファイル開いて入力モードに切り替えて書き込んで保存して終了

チュートリアルする。拡張とかはいらない。

細かく書いたが、LPIC-1の範囲がほどよくまとまっているのでそっちを参照するとよい。

5. サーバーフレームワーク: Flask

フレームワークを覚えること自体重要なのではなく、Web開発の基本を習得することが重要

これが意図なら

HTTPルーティングデータベースSQL認証セッション管理などは当然すべて覚える。

この辺の機能を持った小規模Webアプリを作ってHerokuデプロイすれば一旦完成とみなしてよさそう。

コード書き写しただけにならないようには注意しつつだけど、長く見て5人日ぐらい?

慣れると1日あればいけると思う。

フレームワークもなんでもいい。

軽量である必要もなくて、

Djangoとかでも各コンポーネントがどんな働き方してるか程度はわかるだろうしそれで十分。

余力があれば複数個触ってみたり、人から勧められたらそっちでも。

最近サーバーレス&NoSQL流行ってるのでFirebaseとかもやればいいと思う。

7. アルゴリズム

コメントリーが荒れててウケる

実務プログラミングで最低限必要アルゴリズム力は

「書いてるコード計算量オーダーを把握していること」

に尽きる。

計算量を気にしなかったせいで線形検索メソッドとfor文を組み合わせて

O(n^2)やO(n^3)のロジックを書いてしまって

データ量が万〜十万の本番データで遅延するとか

それらに対して分散や非同期処理で解消しようとするとか、

ちょっとでもアルゴリズムを触った人ならアホらしいなって思うような行為

アルゴリズム不要勢は平気でやるぐらい、両者は溝が深い。

計算量を意識するだけなら、AtCoderABCのC〜D問題辺りが解ければ十分。

8. セキュリティ

有名な脆弱性攻撃手法は、ほとんどフレームワーク等で解決手段が用意されている

(XSS対策自動エスケープなど)

のでアドリブをせずに正しい書き方でやれば良い。

開発現場でもセキュリティリスクがある箇所を1から自前で実装することを経験が浅い者にはやらせないので、

ただただ、フレームワークが正しいとしているやり方をなぞるのが良い。

最後

開発の勉強のやり方としては、

・正しいコード見本を手に入れること

公式リファレンスを読むこと

エラーメッセージを読むこと(そしてググること)

この辺りの習慣があればやってけんのかな、

その他、チーム開発って面では

アジャイルサムライプロジェクト管理)とか

TeamGeek(人間性)とかインプットしておくと共通言語が増えて嬉しい。

この方向で進めてけば、その途中で正の生産性≒足引っ張らないぐらいになれるので、

そしたらやってけるんちゃうーって感じ。

2021-05-19

anond:20210519171319

(元増の事は知らんけど)

自分TypeScriptが嫌いなのはやっぱパターンマッチングが無い事かな

 let fuga = (match hoge

     (let 10 (when (lte v 10)))

     (let 20 (when (lte v 20)))

    );

みたいな文法パターンマッチング欲しいなあ

JavaScriptっぽく見えないけどこういう文法が一番合理的なんだけどなあ

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