1 名前:デフォルトの名無しさん [2021/12/30(木) 22:57:02.78 ID:XEA11GKy.net] www.typescriptlang.org/ JavaScript that scales. TypeScript is a typed superset of JavaScript that compiles to plain JavaScript. Any browser. Any host. Any OS. Open Source. part1 https://peace.5ch.net/test/read.cgi/tech/1349187527/ part2 https://mevius.5ch.net/test/read.cgi/tech/1430386649/ part3 https://mevius.5ch.net/test/read.cgi/tech/1524746903/
75 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 13:58:43.68 ID:yhez4jOW.net] >>72 今は俺はJavaを殺すのはWeb系だと思ってるよ。 何処かが「もうこれWeb系でよくね?」として試しにやってみて成功したら、一気に流れると思う。 開発/運用コストが1/10〜1/100だろうから、 金銭面しか評価出来ない文系馬鹿が仕切ってる日本の銀行とかは一気に導入だよ。 マジな話、みずほ銀行が作り直すのならマイクロサービスでやれば面白いとは思ってる。 まあ現実的には病院や自治体から導入で、銀行は最後尾だろうけどね。 >>73 それは発想の方向の違い。 単発サービスで3,000行程度に留まるところまでサービスを分割する。 できるできないではなく、3,000行程度になるまでひたすら分割するだけ。 実際、DBに対して単に読み書きするだけなら、200行程度で書けるでしょ。 だから最悪、1,000行程度までのマイクロサービスに分割しろ、と言われても普通に出来てしまうんだよ。
76 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 14:09:33.83 ID:UTO8dkwM.net] >>75 そういう意味なら納得です
77 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 14:10:07.39 ID:4z8oj16v.net] 素晴らしい! ひとりの天才の出現によって金融系システム従事者が超難度システムのメンテから解放されるんだね 私はもしかすると時代の転換点を最も近いところから目撃してしまったのかもしれない
78 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 14:19:47.08 ID:RorkGoUL.net] >>69 lodash compose かな まぁあれはあれで前立腺イキな気持ちよさはある
79 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 14:20:45.58 ID:RorkGoUL.net] >>77 みずほ社員20万人「タスケテ・・・タスケテ・・・」
80 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 14:27:40.67 ID:mmIvHtEJ.net] ちゅーかなんでみんながみんなクソデカカチカチシステム作る前提なわけ? 適材適所って言葉を知らんのか
81 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 14:43:03.87 ID:UTO8dkwM.net] >>78 lodash有りならlodash/fpにそのままズバリpipeもあるし、部分適用もお手の物やん
82 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 14:51:15.15 ID:RorkGoUL.net] >>80 だって小さいシステムなら誰でも作れるじゃん それこそPHPやPerlでも構わな・・・くはない死にたくなるけど、まぁやってやれんことはない っぱエンジニアは20万人月回してこそ1人前でしょ
83 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 14:55:26.17 ID:R1s+yfGI.net] それにしてもマイクロサービス万能論者って久々に見た気がするわ サービスを分割すればするほどサービス間の連動の管理が難しくなってそれはそれでうまくいかないぞ というんでモジュラーモノリスだとか色々回帰論が出てきて今となっては「やっぱり銀の弾丸はなかったね」が常識で通じる時代になったと思ったんだが… 仮に30万行のシステムがあったとしてそれを3000行に分割したら単純計算で100個に分割できるわけだ 100種類のサービスを間違いなく連動させるのがどれだけ大変なことなのか ちょっと甘く見過ぎてる感じがするね?
84 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 15:01:35.38 ID:dHoIQX/o.net] >>61 >Webの場合は3層なりに強制的に分割されるし、状態管理はDBに丸投げ、View/UIはHTML/CSS/JSに丸投げなので、 >鯖でやる事なんて大して無いんだよ。 どんだけ無知なんだよww 流石にこのレベルで偉そうに語られると相手するのが恥ずかしくなる
85 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 15:02:48.84 ID:HmGAn9CY.net] >>82 TS開発者全てを20万人月扱うスーパーマンにするなw
86 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 15:13:48.61 ID:27SiZacg.net] >>75 相手がボロ出すまで同じ事繰り返すだけの自演おじさんなんて相手しなくて良いよ。おじさんの話の内容見てても読解力もTS理解度も足りてないんだし
87 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 15:26:53.69 ID:S/gDVAW3.net] DDD的な話はわりとまともなこと言ってるけど コード例を出さないからTS固有の問題なのか使い方や作り方の問題なのか判別つかないね
88 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 15:33:02.79 ID:S/gDVAW3.net] 銀行みたいに堅牢性や永続性が最重要のシステムをTSで作るわけないけど 変化に対する柔軟性に重きを置くシステムならサーバー側でもTSは有力な選択肢だと思う UnionやIntersectionのおかげでFunctionalなDDDがやりやすいってのが一番の理由 JavaみたいにOOPベースのDDDやるならTSを選ぶメリット感じない
89 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 16:02:48.76 ID:UTO8dkwM.net] >>87 それだよねぇ。長い文章書くわりに具体的な内容無いもの
90 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 16:15:52.59 ID:yhez4jOW.net] >>83 > 30万行のシステム これがそもそも間違いなんだよ。 銀行なんて最終的には通帳に記入する内容、つまりは「日時と金額と取引相手」だけ管理出来てればいいんだぞ。 最初から綺麗に作れば、何をどうやっても30万行なんてならんよ。 無駄に膨らんでる理由は、過去のコードを除去出来ない点にある。 だけどそれは新規に書く部分には関係ない。 だから現実的には携帯みたいに2G->3G->4G->5Gと徐々に載せ替え、過去の口座も徐々に新鯖に載せ替えて、 古いコードは丸ごと捨てていけば良かっただけの話。 「メンテする」というのがかなり難しいから、「新規に書いて古いのは捨てる」の発想。 実際Web系はこれに近いでしょ。 実は本来はOOPもこれ(モジュール単位で入れ替えてアップグレードしていく)だったのだが、 何故かひたすらメンテする思想になってしまってるが。 一応言っておくが俺が言ってる行数は、71の言ってる「システム規模」、つまり自前で書くコード規模な。 3rdパーティのライブラリやフレームワーク等、他人が書いてて既に動くことが確定しているコードは含まない。 まあこれを誤解しているレスは今のところ無いと見ているが。
91 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 16:16:36.07 ID:yhez4jOW.net] あと俺は別にマイクロサービスが良いと思っているわけではない。 俺が言ってるのは、(という程は言ってないが) 「コードを書いて捨てる前提なら、メンテナンス性も可読性も必要ない」って事だ。 ここが逆転の発想なんだよ。 元々これらが必要だったのは、 初心者あるあるの「半年前に自分が書いたコードが読めない」「規模が大きすぎてコードを追えない」を回避するためだ。 後者については大体10,000行程度が限界だと昔から言われてるから、単純には、 ・半年で開発を終了出来ない規模以上の開発は、可読性が高いコードでないと無理。 ・10,000行を越える規模の開発は、一人では無理。よって他人にも読めるコードを書け。 ・作り直すにしてもどうせ同じようなコードを書く事になるから、メンテした方が生産性が高い。 というわけでこれが大正義とされていたわけだが、実際は、 ・そもそも可読性の高さなんて初心者には分からない。 ・メンテ性を上げるために間接参照挟みまくってるコードは、余計に分かりにくくなる。 ・Web系はそもそもそんなに大規模にならない。(DBとJSに切り出した時点でほぼスカスカ) ・Web系は仕様自体がガンガン追加されるので、古いコードをありがたがってメンテする意味がない。 (新しい仕様を使った機能は新しく書くしかない) なので、「依存しない」ではなく「依存先を適切に選んで単純なコードを書き、ハズレだったら捨てる」と割り切ってるのがWeb系。 具体的にはJSONもそうだろ。toJSONはJSON形式に依存する大前提で、JSON形式が捨てられれば立ちゆかなくなるコードだ。 しかし、JSONが使える限りは至極単純なコード、JSON.stringifyとJSON.parseで終われる。 そこを完全コンストラクタを呼び出すコードを全クラス分I/O層に置け、というのは、理屈は分かるが、無駄手間でしかない。 それがJavaにおいては正義だ、というのもまた事実なのだろうけど。 でも実際それがJava界隈の糞な所でもあるよね。 関数ポインタが使えないという言語の問題を継承をこねくり回したデザインパターンで誤魔化して糞コードにしてて、 しかもそれを自覚出来てないところとかもね。
92 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 16:17:21.79 ID:yhez4jOW.net] だから他人から言われた大正義を信じるのではなくて、それは何の為なのか、 どこまで依存していいのか、何に依存してはいけないのか、 コードはどの程度メンテする予定で、可読性はどれくらい必要なのか、 ちゃんと自分で考えて丁度良い点を目指さないと駄目なんだよ。 Javaにおいては20年後に他人がコードを読む前提だから、間違ってもこんな事は言われないはずだけど、 Web系においては、20年後も動いているコードなんて存在しない前提でも全く問題ないんだよ。 だからJavaの常識はJavaの世界向けにチューニング済みであって、それをWeb系に持ち込んでも失敗するだけだよ。 まあそれでもやるのは自由だけど。
93 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 17:00:21.50 ID:RorkGoUL.net] > 最初から綺麗に作れば、何をどうやっても30万行なんてならんよ。 ガラパゴス日本村のおらが法のスパゲッティをシステム化するんだからしゃーない 30万のif文がおんどれらを襲う この国の映し鏡である金融システムをリファクタするには、まず老い腐った政治家どもを晒し首にして もう一度トキョを焼け野原にするところからやり直さなきゃいけないんだよ
94 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 17:13:31.69 ID:UTO8dkwM.net] >>93 おまいさん以前Linux板あたりに居なかったか?
95 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 18:19:58.29 ID:RorkGoUL.net] >>94 いたよ。あそこは楽しかったね。
96 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 18:34:04.56 ID:UTO8dkwM.net] >>95 だな。相変わらずで何よりだ
97 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 21:20:10.49 ID:yhez4jOW.net] >>58 そういえば > fromJSON ではなくて、reviver関数な。 https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse > getFullName(h) じゃなく > h.getFullName() みたいにしたかったのに > みたいな あと、出来る/出来ないで言えば、これは出来るよ。勿論禁じ手だが Object.prototype.getFullName = function(){return this.firstName+this.familyName;}; var h = {firstName:'Java', familyName:'Script'}; h.getFullName(); // "JavaScript" とか。問題は、JSはこれを行うように設計されてるのに、事実上使えない点で、 プロトタイプ拡張がもうちょっとローカルに出来る仕組みが導入されたら言語としては面白くなるとは思うよ。 (俺は知らないけど、)prototype.js時代は楽しかっただろうとも想像出来る。 それぞれのclassをちゃんと整備する方が正道ではあるのだけどね。
98 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 21:40:15.30 ID:yhez4jOW.net] 一応訂正。enumerableとwritable消しときます。 Object.defineProperty(Object.prototype,'getFullName',{value:function(){return this.firstName+this.familyName;}, configurable:true});
99 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 21:51:28.00 ID:RorkGoUL.net] >>97 へー、reviver初めて知ったわ、サンガツ いやープロトタイプ汚染なんて30年ぶりに思い出したよ Goのレシーバをsyntax砂糖で自動でmethod生えるような文法の方がいいと思う
100 名前:デフォルトの名無しさん mailto:sage [2022/03/05(土) 02:42:31.37 ID:DdhkyzyV.net] https://twitter.com/uhyo_/status/1499759388462297096 uhyo_の上から目線が年々悪化している 発表でも口調からそれが感じられる 相手を思いやらずくさすハラスメント人間がTwitterのTSコミュニティ作ってるのは最早害悪では 会社のSlackでこんなのやられたら何人か辞めるでしょw (deleted an unsolicited ad)
101 名前:デフォルトの名無しさん mailto:sage [2022/03/05(土) 07:10:18.34 ID:HDnhD39u.net] 直接本人に言えよ
102 名前:デフォルトの名無しさん mailto:sage [2022/03/05(土) 08:26:19.33 ID:rV2+S9i4.net] 売られたケンカは買ってこそ江戸っ子よ
103 名前:デフォルトの名無しさん mailto:sage [2022/03/05(土) 10:57:55.53 ID:XO0AXwV8.net] >>100 ぼくがきにいらないからあいてをつぶす ゆとりだね Webなんだから普通に競争すればいいだけ お前がもっと良いコミュニティを立ち上げれば人が離れて過疎って殺せる それが出来ないのなら「ぼくのさいこうのこみゅにてぃ」を勘違いしてるお前らゴミゆとりの問題
104 名前:デフォルトの名無しさん mailto:sage [2022/03/05(土) 11:00:21.82 ID:HDnhD39u.net] 喧嘩売ってるだけのやつは粛々とNG
105 名前:デフォルトの名無しさん mailto:sage [2022/03/05(土) 13:37:44.83 ID:IUYGleof.net] >>100 相手にしなけりゃいいじゃん よく知らない人だけどツイート見れば自己満論破厨なのは明らか この手の人にまともな議論は通用しないからね
106 名前:デフォルトの名無しさん mailto:sage [2022/03/06(日) 03:59:56.58 ID:/IifMZTR.net] >>103 そんなこわいせかいはやだッピ
107 名前:デフォルトの名無しさん mailto:sage [2022/03/06(日) 07:16:43.23 ID:pk8t6Esu.net] >>106 56してしまえば笑顔になれるよ
108 名前:デフォルトの名無しさん mailto:sage [2022/03/06(日) 10:45:25.91 ID:oGjlcJ2o.net] >>106 > 相手を思いやらずくさすハラスメント人間がTwitterのTSコミュニティ作ってるのは最早害悪では つまり、「相手を思いやって腐す事のない優しい人がTwitterのコミュニティを作るべき!!!」と思ってて、 それが大正義なんだろ。やってみればいい。 でもそれではWeb上のコミュニティは成り立たない。 その程度も分からない馬鹿が、しかも全く関係ないここにその話を持ち込む事も馬鹿げてる。 だからお前も死ね、でしかない。 ただいずれにしても、ゆとりはベースの価値観が違うから、非ゆとりが立ち上げたコミュニティで安寧を得る事はないよ。 だからゆとり向けコミュニティはゆとりで立ち上げないと無理だ。 Qiitaとか素晴らしく上手く立ち上がってる所だと思うけど、5chとは根本的に違うし相容れないでしょ。 好きなところを使えばいいが、「今ある場所を俺好みに変えよう」というのは傲慢だし原住民を馬鹿にしてる。 それすら理解出来ないからこんな無関係なところで悪態つくわけでさ。 まあでも元気があるならまずは自分で立ち上げてみるべきだよ。 それで客を奪えるのならそれが正義だし、優勝劣敗でよりよい方向に発展するのが正しい姿で、 Webはこれが割と厳密に守られてる構造だから、この点は素晴らしい。 だから文句があるのならまずはやってみる事だ。 そしてまずは、「そうなってる理由がある」事を理解すべきだ。
109 名前:デフォルトの名無しさん mailto:sage [2022/03/06(日) 10:52:15.05 ID:xougf8Rz.net] じいじ、ゆとり教育はとっくの昔に終わったんやで
110 名前:デフォルトの名無しさん mailto:sage [2022/03/06(日) 10:56:05.27 ID:nmpRTGjT.net] なにこの気持ち悪いやつ
111 名前:デフォルトの名無しさん mailto:sage [2022/03/06(日) 10:58:33.29 ID:pk8t6Esu.net] コードは短く読みやすく書きましょうって教わらなかったん?
112 名前:デフォルトの名無しさん mailto:sage [2022/03/06(日) 11:03:19.14 ID:oGjlcJ2o.net] >>109 いや5chの雰囲気が変わりつつあるのはゆとりが流入してきてるからだろ(勿論数年前からだが) 中高生で5ch見てるようなら本気でヤバイから止めた方がいい 大学生でもまだ止めておいた方がいい 社会人で、ある程度社会についても知り、デタラメな陰謀論とかも自分の頭で判断つくようになってから、ならありで、 実際これが大半だから、現時点での新規流入組はほぼ全員ゆとりだと思うが。
113 名前:デフォルトの名無しさん mailto:sage [2022/03/06(日) 11:23:08.54 ID:oGjlcJ2o.net] >>111 ちなみにお前らはそう習ったのか?それはどこで?
114 名前:デフォルトの名無しさん mailto:sage [2022/03/06(日) 11:28:44.61 ID:xougf8Rz.net] ゆとり以前ってどんだけ前やねん
115 名前:デフォルトの名無しさん mailto:sage [2022/03/06(日) 11:53:24.67 ID:pk8t6Esu.net] じぃじ・・・
116 名前:デフォルトの名無しさん mailto:sage [2022/03/06(日) 12:05:40.95 ID:oGjlcJ2o.net] >>114 俺の感覚では2013、つまり9年前だ。 そしてここ数年が5ch上のゆとり人口密度が最大で、その後脱ゆとり世代の流入が始まる。 だから現時点で(ゆとり的価値観では)ここが快適だと思えないのなら、そりゃそもそも無理なんだよ。 そして俺らにとってはお前らの存在自体が不快だって事だよ。 嫌いな場所にわざわざ来て悪態つくとかどうかしてる。 ただ、そうなってしまう理由も俺には分かるんだけどね。 ゆとりは「優しい」事が第一だから、相手の意見を否定する事は「害悪」で、まともな議論場なんて整備出来ない。 だからQiitaは(あれはあれでいいとは思うが、)「否定を全否定」してる構造になってるだろ。 あれがゆとり的価値観の世界で、twitterはそうじゃないから、そりゃ無理だよ、って話だよ。
117 名前:デフォルトの名無しさん mailto:sage [2022/03/06(日) 12:10:29.85 ID:/i+Wlcs9.net] 気に入らないなら新しいの作れって考え方 ウェブ系だと普通なのか?それってDIYっぽくない? それに利用者からしたらぽんぽん新しいもの出されてトレンドが変わるのは迷惑でしかない 今あるものをより良くしていこうという考え方の方がいいと思うな
118 名前:デフォルトの名無しさん mailto:sage [2022/03/06(日) 12:27:11.95 ID:xougf8Rz.net] >>116 感覚だけでレッテル貼るんだ……
119 名前:デフォルトの名無しさん mailto:sage [2022/03/06(日) 13:42:08.14 ID:oGjlcJ2o.net] >>117 > ウェブ系だと普通なのか? Web系ではなく資本主義/自由主義経済において普通。会社だって気に入らなければいくらでも起業しろ、でしょ。 Web系においてはこれが割と厳密に守られてて、Webサイトは自由に作れるし、起業する奴も多い。 (Webサイトも広告貼るならただの集客業《=ITチンドン屋》でしかない) > 今あるものをより良くしていこうという考え方の方がいいと思うな 基本的にはこれは社会主義の思想。国で素晴らしい物を一つ作れば十分、という事だから。 ただしこれは現実的に出来ない。だから資本主義が社会主義を圧倒してる。 理由は簡単で、 ・「素晴らしい」の定義が人によって全く異なる --- (A) ・そもそも何が「素晴らしい」のか、まだそれを見てない状態で想像出来る奴はほぼ居ない --- (B) だからめいめいが「オレオレさいきょうの○○」を作りまくる資本主義の方が、社会主義より『結果的に』繁栄する。 ただしその時点で国としてのインフラ(教育/交通/電力等)が全く整って無い場合、 インフラの整備はほぼ全員の国民にとって「素晴らしい」事は明白なので、トップも実際にそれをやる。 だから社会主義/共産主義/独裁主義の方が国としてのスタードダッシュは速いし、歴史的にもそう。 ところがインフラを整えた位のところで、次に何をすべきかが分からなくなって失速する。 だから国としては独裁→自由主義にうまく衣替えするのが一番効率がいいのだが、 独裁してインフラ整備した連中はその時点で『大成功』してるつもりだから、その権力を絶対に離さない。 (実際はその独裁者の才覚によるものではなく、誰がやってもその状況なら大成功するわけだが)
120 名前:デフォルトの名無しさん mailto:sage [2022/03/06(日) 13:42:30.55 ID:oGjlcJ2o.net] で、Web上のコミュニティについては、 ・ゆとりは基本的に許容範囲が無茶苦茶狭い。ちょっとでも不満があったらそれは駄目だと見なす ので、上記(A)に引っかかって、結果的にコミュニティを上手く成立させられてない。(と見える) (B)については確率の問題であり、ゆとりも母数は相当数居るのだから、問題ないはず。 現状、Webインフラは既に整備済みだから、「オレオレさいきょうの○○」を作る方が効率がいい。 仮に国有5ch、国有Twitterとして、それぞれ「この方針で行く」なんてやっても社会主義同様停滞するだけ。 そもそも何かしらの場があって、そこに居ついている人にとっては、そこが十分に「素晴らしい」場所なんだよ。 それを「俺がそう思うから」で変更するのは、元々居た人にとっては「素晴らしい」点が失われる事にもなりかねない。 これを防ぐために、並立させた状態で好きな方を選べ、がforkで、基本的にGitHub等もこの方針でしょ。 馬鹿ゆとりにも分かるように言えば、 ・ゆとりにとっての快適は、上の世代にとっては不快 だから結果的にそれなりに住分けてる。この事実をちゃんと考えろ、という事。 いずれにしてもtwitter上のコミュニティなんて、勝手に宣言してるだけだし、 気に入らなければ自分で作って競争すればいいだけだろ。 ただ、>>100 程度の馬鹿ではこれは出来ないと思うけど、という話。 >>118 100は典型的ゆとり価値観だぞ。 ここは匿名なのだから、自分が何者かは自分の書き込みで示さなければならない。 ゆとりらしい書き込みをしたからゆとり呼ばわりしてるだけ。 これが悪いとは俺は1mmも思わない。 (そうされたくなければそういう書き込みをしなければいいだけ)
121 名前:デフォルトの名無しさん mailto:sage [2022/03/06(日) 15:28:00.88 ID:pk8t6Esu.net] >>120 お前ここ初めてか?力抜けよ。
122 名前:デフォルトの名無しさん mailto:sage [2022/03/06(日) 15:42:42.98 ID:oGjlcJ2o.net] >>107 >>121 ゆとりを56してしまえば笑顔になれるよ
123 名前:デフォルトの名無しさん mailto:sage [2022/03/07(月) 07:16:36.13 ID:QGQBtQzw.net] こんなやつが暴れてる5chではコミュニティが育つわけもないよなぁ
124 名前:デフォルトの名無しさん mailto:sage [2022/03/07(月) 07:34:46.32 ID:SPifR21t.net] ぼくのかんがえたさいきょうのこみにゅてぃ以外みとめません!
125 名前:デフォルトの名無しさん mailto:sage [2022/03/07(月) 13:09:46.84 ID:89t8mali.net] >>123 なら出ていけばいいだけだね。それでこちらも助かる。 俺はゆとりが全員死ぬのを望んでいる。 というかね、ゆとりは相変わらず『俺様が絶対正義』だと思っているようだが、 そもそも「価値観の違いによるストレス」は相互であり、相手も(符号が違うだけで)全く同じストレスを受けてる。 自分達が一方的に被害者だってことにはならない。お互いに被害者であり加害者だ。 (つかなんでお前らが被害者ポジションマウントを気取るのかさっぱり分からないが、 ネット見過ぎてゴミクズ韓国人がデタラメ言ってるのを真に受けて戦法を学んだつもりなのか? まあひろゆきが議論上手に見えるようだから実際その程度の頭なのかもしれんが)
126 名前:デフォルトの名無しさん mailto:sage [2022/03/07(月) 13:10:25.20 ID:89t8mali.net] この辺、ちょっと考えればすぐ分かるはずなのに、ゆとりは全く考えようともしないから気づけない。 馬鹿ゆとりにも分かるようにくどいが言い直すと、 ゆとりが「上から目線ガー」と感じてるのなら、 ゆとり以前の世代は「なんで下の者にこんな言われようされないといけないんだ?」と思ってる。 上司は友達でも同僚でもない。 勘違いしている奴も中にはいるが、大半は職責を正しく全うしてる。 そこで「もっとフレンドリーにやった方がいい」というのなら「提案」になるが、 当たり前だが「上司と部下」で既に上手く回ってる組織でそれをやっても嫌われる。無茶言うなでしかないからだ。 だから「フレンドリーな会社を作って、そっちの方が上手く回る(=利益が出る)ことを示し、 優勝劣敗の原理により『上司と部下』の会社を廃業に追い込む」というのが正しい自由主義経済での解決法だ。 くどいが、元々成立していた会社を「ぼくのさいきょうのかいしゃ」に変更する事ではないんだよ。 なんでこんな事になってるかというと、そもそも「ぼくのさいきょうのかいしゃ」は実際ただの勘違いが多く、 大半の場合はろくでもない結果にしかならないからだ。 ただ、中には上手く行く事もあるし、そういうのはえてして当初は「無茶だ」としか思えないから、 そういう成長の芽を潰さないために「ぼくのさいきょうの○○」を作る自由は保障されてる。 これが自由主義経済。 ゆとりは昔から「同僚や先輩にお願いするべき事項を、上司に振る?!?!」と言われているが、ここは相変わらずだろ。 ゆとりの「上から目線ガー」はゆとり以前の「何故俺がこんな…」の裏返しでしかない。 お前らがストレスを感じるのであれば、お前らも十分ストレスの原因になってる。 だから棲み分けが妥当なんだよ。
127 名前:デフォルトの名無しさん mailto:sage [2022/03/07(月) 13:11:19.93 ID:89t8mali.net] さて本題100、実際そいつがどれ程かは知らんが、俺から見れば普通なんだろうなとは思う。 でもそれが平均的ゆとりにとって看過出来ないストレスで無理なら、 同様に無理だと思ってるゆとりも大勢居るはずだから、そいつらと共にもっと「優しいコミュニティ」を立ち上げればいいだけ。 そしてそれで上手く行けば、他コミュニティも学んで優しくなるところも出てくる。これが自由主義経済。 こうなればゆとり価値観の勝ちでいい。 ただまあ、一般的にWebコミュニティは優しいだけでは上手く回らない。 塩対応には必ず理由があって、お前らは「人格ガー」って事にしたいのだろうけど、大半はそうではない。 まあその辺はやれば分かるし、やらないと分からないので、やってみればいい。 それで上手く行けばよりよい物を得られ、全体に利益がある。駄目でも損失はない。これがforkの良いところだ。 (forkの場合はそのままの現行と一部改造した新規の構成のため、失敗しても現行は無傷で、プラス方向にしか進化しない。 現行を直接変更する「改善」だと、「改悪」される事もあり、マイナス方向に進む場合もある。 つまり、自由主義経済は進化の方向がデタラメで速度も遅いが、プラス方向にしか進化しないため、長期的にはなんだかんだで成長する。 対して社会主義だとスタートダッシュは速いが、「改善」の難易度も段々高くなるため、 ある程度以降は改善改悪を繰り返し、長期的には停滞してしまう。 これが社会主義が資本主義に負けた根本的な理由。 だから俺達はやっぱり自由主義的にforkで行くしかないんだよ。 『自分が大正義だ』と思ってる限りforkなんて効率が悪すぎると思えるだろうが、それは傲慢でしかない。 正しかったかどうかは結果《=多数の支持》で判断されるべきであって、お前の思想に合致してるかどうかではないから。 《というかパヨクが根本的にずれてるのはここで、『俺様が絶対正義』だと自信持ちすぎてるからあんなことになる。 そしてゆとりにもこの傾向はあるよ。これは自覚した方がいい》)
128 名前:デフォルトの名無しさん mailto:sage [2022/03/07(月) 13:12:24.61 ID:89t8mali.net] 5chでtwitterの悪口を言っても何ら生産性がない。 文句があるのならまずはやってみる事だ。お前もコミュニティ立ち上げ宣言してみればいい。 それで上手く行けばよし、駄目なら駄目で、何故塩対応してたのかが分かるだろうさ。 だからいずれにしても君には利益があると思うけど。 あとついでに聞きたいんだが、なぜゆとりは5chに拘るのだ? 5chなんてゆとり以前の世代「ゆとりにはついていけねえ…」の巣窟だ。 ゆとり以前からあるんだから当然だが。 いずれにしても、ゆとりにとって快適な場所にはならないよ。 (5chの連中を見下したり馬鹿にしたりするのも自由だけど、それを5chに来て言うのは頭がいかれてる。 まあそれ以前に、twitterの悪口を5chで言うのも頭がいかれてるが) 既に言ったがQiitaがゆとり価値観の場所で、 「Qiitaに掲示板機能付けてくれ」が「5chを使う」よりお前ら的には正しい解のはずだ。 もちろんQiitaはそれが出来ないと分かってるからやってないのだが、 それでも「ゆとり価値観の掲示板」を何処かに作らない事には、お前らの安寧の地はないと思うけど。
129 名前:デフォルトの名無しさん mailto:sage [2022/03/07(月) 22:53:54.14 ID:SPifR21t.net] TypeScriptもついに4.6か 翻ってウチのNuxtプロジェクトときたら未だに4.2にロックイン Nuxt 3になれば何とかなると待って信者が祈りを捧げて早幾年 未だβのまま そもそもbreaking changeに耐えられる品質でもない この型無し糞ゴミ採用した奴●してやりてえわ そもそもVueコミッター全員●したい 早く潰れろ
130 名前:デフォルトの名無しさん mailto:sage [2022/03/07(月) 23:53:20.52 ID:ZqaLalev.net] .NETやってるけど快適
131 名前:デフォルトの名無しさん mailto:sage [2022/03/08(火) 05:55:37.35 ID:p1ggB6/9.net] つまり言語作者が同じTSも快適って事か
132 名前:デフォルトの名無しさん mailto:sage [2022/03/08(火) 08:51:42.58 ID:W/y0kE8O.net] jsファミリーに期待するな
133 名前:デフォルトの名無しさん mailto:sage [2022/03/08(火) 12:40:02.06 ID:o9qP1ELk.net] やはりRustのみが縁なき衆生をお救いくださるのである(過激派
134 名前:デフォルトの名無しさん mailto:sage [2022/03/18(金) 11:45:07.12 ID:hnZ3lDzs.net] node_modulesの下のコードが静的エラー出して鬱陶しいです typescriptの開発者って静的エラー消さずにパッケージ出荷しちゃうんですか?
135 名前:デフォルトの名無しさん mailto:sage [2022/03/18(金) 11:57:30.55 ID:0waQ0EIw.net] excludeしろ
136 名前:デフォルトの名無しさん mailto:sage [2022/03/27(日) 17:58:36.93 ID:LHErTm2E.net] TSはもしかして例外あんまり使わないんですか?
137 名前:デフォルトの名無しさん mailto:sage [2022/03/30(水) 14:38:24.60 ID:rdfA8RBv.net] みなさんどういう単位でファイル分割されてますか? 1ファイル1クラスのphpと違って自由だから逆に迷ってしまいます ベストプラクティスないかググっても見つからず…
138 名前:デフォルトの名無しさん mailto:sage [2022/03/30(水) 14:47:13.20 ID:/h0/v+Yd.net] どうでもいいので好きにすればいい そもそもスクリプト言語ではそんなガチガチにこだわらないほうがいい スクリプトは雑で汚くてもいいから小さいシステムをサクッと作るための道具だから
139 名前:デフォルトの名無しさん mailto:sage [2022/03/30(水) 15:27:58.67 ID:w/wOADHo.net] >>137 教科書的な正解が欲しいならGitHubでTypeScriptコンパイラかVSCodeのソースを見ればいい 機械的な基準ではなく、意味のある単位で適当に分けていることがわかる 身も蓋もないことを言えば、十分に頭の良い人間の裁量でケースバイケースで判断するのがベストだ
140 名前:デフォルトの名無しさん mailto:sage [2022/03/30(水) 15:33:36.80 ID:iu76Nwkv.net] >>137 普通にクラス単位で分けるし、型(関心事)とその周辺関数郡で分割するかな。あとは1ファイルをなるべく小さく保つ。改修で膨らむ可能性があるから。 個人的には1ファイル250行超えたら危機感持つ。
141 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 21:22:21.94 ID:rznbXz+G.net] >>137 なるべくファイル数は少なく保つ 微塵切りの千切りファイルで見通しを悪くしてはいけない classは使わない 十分に小さく参照等価なfunctionを組み合わせる どうせ改修で膨らむほど使われないから。 個人的には1ファイル250行未満なら危機感持つ。
142 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 12:41:47.72 ID:egxvakGA.net] 初心者です serverlessってフレームワークを使ってるんだけど、規模小さいコードなのにビルド始めるとesbuildが16Gメモリ使って完了までくっそ時間かかる 業務用のソースだから晒せないんだけど、一般論的に言ってこの最適化オプションはハマりやすいので注意、みたいなのってあります?
143 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 15:45:27.64 ID:rFOQ0LJz.net] ここよりフロントエンドのフレームワークのスレで聞いたほうが良いと思うな
144 名前:デフォルトの名無しさん mailto:sage [2022/04/26(火) 21:25:48.15 ID:1qeD7Yad.net] JSファミリーの仕様のごちゃごちゃ加減が酷い なんでこれが流行ったんだ
145 名前:デフォルトの名無しさん mailto:sage [2022/04/26(火) 21:27:37.78 ID:1qeD7Yad.net] 他の言語が取って変わろうとするたびに、 javascript側の仕様更新による延命がうまくいったせいで、 ごちゃごちゃな歴史を引きずったまま、いまでもゾンビのように君臨してるパターンか フロントのフレームワーク、JS一択なのが酷い
146 名前:デフォルトの名無しさん mailto:sage [2022/04/26(火) 21:37:42.76 ID:QNVEk81Z.net] ブラウザがまともにサポートしてるのがそれだけだったから仕方がない もし最初に軌道に乗ったブラウザスクリプトがVBだったら今頃VBが流行ってたよ
147 名前:デフォルトの名無しさん mailto:sage [2022/04/26(火) 22:16:40.32 ID:/B/eiBVl.net] ありえんわ 勘違いもはなばなしい なんだかんだ(古い文法を除けば)JS/TSの文法はプログラミング正統派として読みやすい だから未だに使われ続けている
148 名前:デフォルトの名無しさん mailto:sage [2022/04/26(火) 22:16:58.75 ID:QNVEk81Z.net] と思いたいんだね
149 名前:デフォルトの名無しさん mailto:sage [2022/04/26(火) 22:23:32.66 ID:DyWQhYeY.net] 実に華々しい勘違いですね
150 名前:デフォルトの名無しさん mailto:sage [2022/04/27(水) 09:19:38.83 ID:+qhhkVcT.net] いや、鼻々しい勘違いでいた
151 名前:デフォルトの名無しさん mailto:sage [2022/04/27(水) 09:21:46.08 ID:+qhhkVcT.net] でも、TS様のおかげでJSの酷さがかなり軽減されていると思る 勿論、TSスレだから媚びを売ってるだけだ
152 名前:デフォルトの名無しさん mailto:sage [2022/04/27(水) 20:19:12.60 ID:WzmT7FsB.net] interfaceのほうがコードきれいになるな typeは便利だが良くない発明だ
153 名前:デフォルトの名無しさん mailto:sage [2022/04/28(木) 21:43:14.60 ID:oBwwA7sc.net] interfaceできれいになるような糞コード書いてるのが問題なのでわ?
154 名前:デフォルトの名無しさん mailto:sage [2022/04/28(木) 21:53:14.86 ID:kbziWRDf.net] クソコードって|とか&使ってる馬鹿なコード unionって今どきC言語かよ
155 名前:デフォルトの名無しさん mailto:sage [2022/04/29(金) 05:07:46.33 ID:9Pfdk6R3.net] まあC++使えない奴は、大抵何させてもたいしたこと無いけどなw
156 名前:デフォルトの名無しさん mailto:sage [2022/04/29(金) 05:15:00.80 ID:bza0ag8S.net] う、うん…(´・ω・`)
157 名前:デフォルトの名無しさん [2022/04/29(金) 05:37:28.64 ID:a7FB1YkL.net] ヨシ!
158 名前:デフォルトの名無しさん mailto:sage [2022/04/29(金) 05:57:49.75 ID:fa9VGnxG.net] このスレやべーやつ住んでるな。ワッチョイつけなかったからこんなもんか
159 名前:デフォルトの名無しさん mailto:sage [2022/04/29(金) 08:07:44.25 ID:nnpkzAOE.net] 次世代言語スレから何か流れてきてるだろ
160 名前:デフォルトの名無しさん mailto:sage [2022/04/30(土) 02:13:26.17 ID:u1byxZ8b.net] C++を使うにはCの知識も当然必要だがな
161 名前:デフォルトの名無しさん mailto:sage [2022/04/30(土) 11:22:16.98 ID:Jfyr/cmt.net] オーバーロードがもうちょいマシだったらなと思う
162 名前:デフォルトの名無しさん mailto:sage [2022/05/10(火) 11:41:45.53 ID:fIyMb/gO.net] ,―彡 ⌒ ミ―、 〈 〈| ´ん` |〉 〉 \ ヽ _ / / / /みんなで / /ホモセックス
163 名前:デフォルトの名無しさん mailto:sage [2022/05/30(月) 21:44:48.53 ID:URC3D+jY.net] バカが書いたTypeScriptってマジで糞だな って思ったけどJavaScriptだったらもっと糞になってたんだよなって思って心の平静保ってる
164 名前:デフォルトの名無しさん mailto:sage [2022/05/30(月) 21:47:51.98 ID:arvcbcVn.net] それ言ったら賢い奴が書いたらCでも何も問題ないんだが 言語が縛ってるのは所詮馬鹿対策でしかない
165 名前:デフォルトの名無しさん [2022/06/29(水) 20:00:27.28 ID:NKfPTkof.net] 質問です。 type t = (a: string) => string; const f: t = (a) => false; console.log(f('x')); で false のところで、 Type 'boolean' is not assignable to type 'string'.ts(2322) になりますが、 ・type t = ... を書き換えてはいけない ・const f の実装を const f: t = (a) => <string><unknown>false; のように書き換えてはいけない ・// @ts-ignore を使ってはいけない。 という縛りで、例えばですが、 type t = (a: string) => string; overwrite type t = (a: string) => string | boolean; const f: t = (a) => false; console.log(f('x')); のように同名の型のまま戻り値の定義を書き換えるということはできるのでしょうか? (overwrite type...は、そんな文法は無く、仮想の方法です。) また、型定義と型指定部分だけ書き換え不可としたら、普通は、 <string><unknown>false; // @ts-ignore どちらで乗り切るのでしょうか?
166 名前:デフォルトの名無しさん mailto:sage [2022/06/30(木) 01:29:29.02 ID:9mtgPMTA.net] >>165 普通はfの型をtにしないと思うのだが、どういう意図があるの?
167 名前:デフォルトの名無しさん mailto:sage [2022/06/30(木) 07:51:24.33 ID:dQhuKSOV.net] >>165 >のように同名の型のまま戻り値の定義を書き換えるということはできるのでしょうか? 型定義を後付けで変更できたらいろんな前提がひっくり返る気が そんなことが必要な状況が想像できないけどコードの臭いがプンプンする
168 名前:デフォルトの名無しさん mailto:sage [2022/06/30(木) 09:29:37.43 ID:Rcw/gVlt.net] ライブラリの型が間違ってるとか? 質問あるあるだが、抽象化も大事だが、具体的な状況も書き添えると回答してもらいやすくなると思うよ そもそもの質問がずれてるとかもあるからね
169 名前:デフォルトの名無しさん [2022/06/30(木) 11:29:36.59 ID:Argu0lpR.net] >>165 です。ありがとうございます。 実際のケースでお話しします。 ・ライブラリの型を利用している。 ・ライブラリの実装をそのまま真似ている。(実装は変えられる。) ・anyは使わない方針。 の状況です。 【型定義(サードパーティ)】 declare const visit: { <V extends Node>(tree: Node,test: Test<V> | Array<Test<any>>,visitor: visit.Visitor<V>,reverse?: boolean): void } export = visit declare namespace unistUtilIs { type TestFunction<T extends Node> = (node: unknown,index?: number,parent?: Parent) => node is T type Test<T extends Node> = TestFunction<T> | null | undefined } 【実装(大部分省略)】 import visit from 'unist-util-visit'; import { Node, Data } from 'unist'; function visitX(node: any): void { if (!node.type) return; } return function transformer(tree): void { visit(tree, (node: Node<Data>) => node.type === 'xxx', visitX); }; ここで、function visitX(node: any) の Unexpected any. を消すのに難儀しています。 function visitX(node: Node<Data>): void { にすると、 visit( の部分で No overload matches this call. Overload 1 of 2, '(tree: Node<Data>, test: any[] | Test<Node<Data>>, visitor: Visitor<Node<Data>>, reverse?: boolean | undefined): void', gave the following error. ... と怒られます。極端な話、サードパーティの定義の方をいじらないと解決しないかもと思った次第です。
170 名前:デフォルトの名無しさん mailto:sage [2022/06/30(木) 12:31:53.04 ID:Rcw/gVlt.net] 5chだと読みづらいからts playgroundなりcode sandboxなりに書いて欲しい
171 名前:デフォルトの名無しさん [2022/06/30(木) 12:53:38 ID:Argu0lpR.net] >>165 です。 すみません。かなり省略して、改行も削除しました。 伝えたかったのは、以下です。 https://tsplay.dev/WJyrDm
172 名前:デフォルトの名無しさん mailto:sage [2022/08/26(金) 00:55:54.58 ID:z3bi9+6P.net] Recordとmapped typesの使い分け方が分かりません Record<Key, Value>と{ [key: Key]: Value }ってinterchangeableな気がするんですが、 どっちかにしかできないことがあったりするんですか?
173 名前:デフォルトの名無しさん mailto:sage [2022/08/26(金) 08:07:49.83 ID:cPJ/q77Z.net] mapped の方が柔軟 type X = { age: number, name: string } これは Record では定義できないだろう
174 名前:デフォルトの名無しさん mailto:sage [[ここ壊れてます] .net] Recordはキーがいくつかの既知の値のみに限られる場合に使う { [key: Key]: Value }だとキーが何でも入っちゃうでしょ
175 名前:174 mailto:sage [2022/08/26(金) 10:07:43.28 ID:yW+yR6PJ.net] 限られるというより、必ず既知のキーを持っていることが保証されるというべきか record.knownKey のような既知のキーによるアクセスがタイプセーフになり、コード補完も効く