スレ立てるまでもない質問はここで 157匹目

レス数が950を超えています。1000を超えると書き込みができなくなります。
1デフォルトの名無しさん
垢版 |
2021/06/18(金) 22:50:39.76ID:dSkONN1n
この板はプログラムを作る人のための板です。
あらゆる質問はまず
スレ立てるまでもない質問はここで
スレにしてください。

【前スレ】
スレ立てるまでもない質問はここで 156匹目
https://mevius.5ch.net/test/read.cgi/tech/1613809074/

次スレは>>980が立てること
865860
垢版 |
2021/10/18(月) 17:01:50.94ID:NlP+B1/z
>>861-864
ありがとうございます

■質問の前提
(1) (将来的にReactを勉強するために)TypeScriptを勉強したいんですが、
何かやりたいと思った時にソースコード例はJavaScriptのほうが圧倒的に多いだろうと思い、
JavaScriptの例を見ながらTypeScriptに変換していく必要があると思ったので質問した次第です

(2) 逆に、TypeScriptで書いていて、どうしても動かない時に、
動いた実績のあるJavaScriptファイルで間に合わせ的に置き換えることが出来るのかなと考えました

なるほど、ts→jsはトランスパイルでJavaScriptを吐き出すので100%保証できるということですね
心強いです
非推奨のサポートされていない部分があるということは心に留めておきます

JavaScriptエンジンはV8に対応できればOKと考えます

(追加の質問になりますが、React+JavaScriptも可能なのでしょうか?)
2021/10/18(月) 18:00:01.55ID:wL3rY2L5
JavaScriptだけでも混ぜてもできるよ
2021/10/18(月) 19:08:41.26ID:4kYsgFog
Wikipediaを盲信するのは危険だが、それでも
>TypeScriptはJavaScriptのスーパーセットであるため、既存のJavaScriptプログラムは、全て有効なTypeScriptプログラムとなる。
は大体あっているのでは。そりゃ処理系による差異は発生しうるがJavaScriptに限った話じゃないよね
2021/10/18(月) 19:26:08.17ID:53kqkkfY
>>865
もしかしてreactにTS必須だと思ってる?
reactはJavaScriptライブラリだぞ
2021/10/18(月) 20:47:56.35ID:NlP+B1/z
>>866-868
ありがとうございます
なるほど、JavaScriptとReactの組み合わせでも行けるんですね
ReactとTypeScriptでHello Worldは作りまして、
その時に.tsファイルを幾つか追加させられたので必須なのかなと思い込んでいました
これでTypeScriptの情報不足で行き詰まる心配がかなり薄まりました
ありがとうございました
2021/10/18(月) 20:58:03.08ID:53kqkkfY
まずTSを勉強する理由を見つめ直したほうがいい
ぶっちゃけreactと関係ねえもん
2021/10/18(月) 21:31:58.64ID:wL3rY2L5
Reactをやりたいけど型安全じゃない言語とか恐怖なのでやりたくない
そうだTSがあるじゃないか!
TS入門する理由なんてだいたいこんな感じでしょう
2021/10/18(月) 23:08:28.64ID:01AfvHhY
VSCodeの俺得拡張を作りたい→TSを覚えざるを得ない
2021/10/19(火) 20:30:14.24ID:IQe9HYEj
便乗気味ですが動的にDOMツリーを生成するのに楽できるライブラリとかありませんかね?
プレーンなJavaScriptで深いツリーを生成するのは結構大変ですし・・
2021/10/19(火) 20:51:51.18ID:o/ElOoe+
React
875デフォルトの名無しさん
垢版 |
2021/10/19(火) 22:41:42.16ID:amEvowdE
innerHTMLに流し込むのが最強にして最速の上簡単簡潔の無敵状態
2021/10/19(火) 22:59:20.46ID:Kl8KzGJs
injection怖いからinnerHtmlはないわー、という感想
2021/10/19(火) 23:05:29.89ID:fKufb1hn
ひと昔前はjQueryの選択肢もあった
878873
垢版 |
2021/10/19(火) 23:34:58.74ID:IQe9HYEj
>>874,877
やはりその手のフレームワークで出来るのか。一応そっちも調べていてVueの解説を読んだりしていたのですが
コンポーネントとコードの連携については詳しく書かれていても、多量のコンポーネントを自動生成する解説は見つけられず
判らずじまいでした。いくつか紹介してもらえると助かります

>>875
StringでHTML作ってinnerHTMLではcreateElement&appendChildでがんばるのと大差ないような

#すみません。情報が小出しになってしまっていますが一通り書こうとするとNGワードで書けません・・・
2021/10/20(水) 01:13:00.36ID:vgkgretZ
Document.createDocumentFragment( ) とか、
React で、JSX とか

Ruby on Rails, Bootstrap では、
HTML の各部分ごとに、別のファイルにして読み込むとか、

Rails API モードでは、React, Vue.js とか
880デフォルトの名無しさん
垢版 |
2021/10/20(水) 04:47:43.65ID:tjBtBq8J
普段からjavascript使ってる人が手を抜くためにtypescript使うのはありだけど
javascript知らない人がtypescript使っても危険なだけじゃね
2021/10/20(水) 08:08:00.64ID:UciCloCO
tsがjsより危険な部分ってなんだろう?
バニラのjsってかなり癖があって落とし穴が多いからtsは良い選択肢だと思う
そのへん気付かずにとっつきやすい言語だと侮って危ういことをしている人は多い
小規模のスクリプトの場合にベテランがスピード重視でjsでちゃっちゃと書くならわかる
2021/10/20(水) 08:11:00.82ID:UciCloCO
まあtsを採用しただけで罠が消え失せる訳でもないんだけど、tsのポリシー自体が「jsを面倒くさくする代わりにより安全にする」なのでは
2021/10/20(水) 08:45:12.51ID:Dba8sBcr
>>878
文字列編集してinnerHTMLに流すという点は属性やらクラスやらハンドルやら諸々の作り込みを直感的に扱えるという面がある>一々create,appendしてると見辛くて目が滑る

例えばReactのDOM生成ではinnerHTML的なアプローチで、SQLのようにインジェクションを防ぐためにプレースホルダを使えるようにHTML文字列編集をオーバーラップしました、と素人目に解釈してる(違うかな?
>普通ならSQLみたいにステートメント文字列にバインドさせるアプローチにするだろ?と思うからこの解釈は間違ってる可能性は大きい
2021/10/20(水) 08:53:53.30ID:umx91EIJ
TSのキメラみてーなエコシステムはどうにかしてほしいね
これでよく動いてんなって感じだわ
まあ実際はターゲットプラットフォームに持っていったら動かねえなんてことも少なくないんだが
885873
垢版 |
2021/10/20(水) 11:05:14.27ID:Jpu7Eyyh
何がNGなんだろ・・・

今考えている例だと
・チェックボックスを段組してたくさん並べたい
・段組は1列、2列、2列×2、4列、2列×3・・・等々必要に応じて変更したい
・チェックボックスの数も必要に応じて増減する
・あくまでGUIなので横方向も効率的に使って不必要な縦スクロールは避けたい
これを表示するテーブルを生成しようとするとネストが深くなって生成するコードが判りにくくなるし
相当するHTMLを生成しても本質的な差はない
で、なんかこんな感じのDOMツリーを簡単に出力してくれる物がないかなと
2021/10/20(水) 11:10:18.07ID:tUz0Wg/N
htmlで並べるんじゃなくてcssでそういうデザインにすれば?
チェックボックスのサイズを同じにしとけば縦横のサイズに応じて勝手に整列されるでしょ
整列に関してはjavascriptの出番なしだしネストも深くならない
887デフォルトの名無しさん
垢版 |
2021/10/20(水) 11:18:43.36ID:h9Qg8ynd
>>885
そういうのはCSSで制御できるよ
https://developer.mozilla.org/ja/docs/Web/CSS/CSS_Grid_Layout
2021/10/20(水) 14:00:37.84ID:loqsCT8t
888
889873
垢版 |
2021/10/20(水) 15:30:58.66ID:hM+VGIly
CSSで並べられるのか!
DOMを操作して何とかしようとばかり考えていたので一つ勉強になりました
CSSで整列させる方向でやってみます
2021/10/20(水) 17:21:53.66ID:asAMjkDO
cssで挫折するプログラマー多い
891デフォルトの名無しさん
垢版 |
2021/10/20(水) 17:34:28.01ID:qEPXHexR
ie対応は必須項目
2021/10/20(水) 17:40:37.56ID:6domEUvg
>>891
もうそういう時代は終わってる
2021/10/20(水) 17:56:05.25ID:rbz5ZTag
ちょうどIE前提だったWebサービスをEdge用に改修中だわ
2021/10/20(水) 17:56:23.97ID:Dba8sBcr
safariは対応外
dialogとかHTML5に対応してないらしいから、テストもしてない
2021/10/20(水) 19:59:09.03ID:9/aBiLuf
5d00061c300308ff
5800021b300308ff
3b000000300308ff

とあるデータで1バイト目がチェックサムらしいのですが、電卓で足した結果+1になってます
どれも桁溢れ1なのでそれも使ってる様な気がするのですが、
ただ結果に+1するか2バイトに足して最後に上位8と下位8を足すか
こう言う場合皆さんならどうされますか
2021/10/20(水) 20:05:45.12ID:tUz0Wg/N
桁あふれなんて使ってないだろ
計算するときはあふれなんて無視。全部unsigned charで計算して終わり
ざっと見て一桁目はその通りの数値になってるよ
2021/10/20(水) 23:15:54.29ID:rAmGIrdk
>>884
何のことを言っているんだろう?
ts特有のエコシステムといってもtsc自身とランゲージサーバーくらいしか思いつかないが。
2021/10/20(水) 23:37:28.35ID:umx91EIJ
>>897
元からカオスなJSにまた変なもん付け足してる
899デフォルトの名無しさん
垢版 |
2021/10/21(木) 00:56:15.84ID:5bux1k1I
>>895
ffを足してるから-1なんじゃないの?
左端と右端を捨てて中だけ足せば左端と一致する
2021/10/21(木) 07:06:46.11ID:DNvUDLu4
>>898
いや、トランスコンパイルだからJSには何も足してないと思うんだが
2021/10/21(木) 08:57:04.88ID:kb4iMdFg
>>900
トランスパイルを付け足してるだろ
2021/10/21(木) 09:10:31.99ID:DNvUDLu4
>>901
コンパイラは機械語に何か足してるのか?
という話なんだが
2021/10/21(木) 09:12:01.43ID:kb4iMdFg
>>902
コンパイルを足してる
2021/10/21(木) 09:13:02.10ID:wPmlSLSw
>>898
エコシステムというより言語仕様の話?
追加された仕様はそう変だとは思わんし、 1+"2" みたいな変なのは逆に排除されたと思うが。
2021/10/21(木) 09:25:16.98ID:kb4iMdFg
>>904
エコシステムの話だよ
2021/10/21(木) 09:28:50.92ID:+Bzr46iL
>>905
なんか話をそらそうと必死みたいだけど、JSにコンパイルされるだけだから
> まあ実際はターゲットプラットフォームに持っていったら動かねえなんてことも少なくないんだが
なんてことにならんだろ
少なくともJSよりはマシになる
2021/10/21(木) 09:58:20.02ID:BPy7q9Jv
知ったかぶりでエコシステムとかキメラとか言いたかっただけなんじゃないかな
2021/10/21(木) 09:59:22.39ID:kb4iMdFg
>>906
マシになるって言ってる時点で問題抱えてんだわ
2021/10/21(木) 10:03:01.76ID:X5YhIL8f
>>908
それはTypeScriptの問題じゃなくてJavaScriptの実行環境の問題だろ
アホなのか?w
2021/10/21(木) 10:09:37.80ID:izU/BIa3
数学の「=」とプログラミングの「=」って違うってよく説明されますよね
等値であることと代入みたいな意味で使われることの差だと思っています。

プログラミングの「=」はどうして代入みたいな意味になったのか。経緯ってどういう感じなんでしょうか

そもそも初期は代入と使用者も思ってなくて、数学的な意味で使用されていたものが拡大解釈されてきたのでしょうか。
それとも「=」になんかしら代入的な用途がすでにあったのでしょうか。
最初の人は神の啓示みたいなもので代入に「=」を使う事をひらめいたのでしょうか。
逆に「<」みたいな"代入っぽい"記号を使わなかった理由は示されているのでしょうか。
2021/10/21(木) 10:19:44.60ID:DNvUDLu4
>>910
いや、< なんざモロに演算子なんだから、むしろC++死ねよとしか
2021/10/21(木) 10:21:40.72ID:3c0JAMSt
FORTRANでしょ
等値比較より代入のほうが出現頻度が高いから、代入に=を割り当てた方がパンチが楽
2021/10/21(木) 10:25:44.52ID:iSzsEmw9
>>910
ここの元記事と1つ目のレスを見るといいと思う
https://news.ycombinator.com/item?id=16803874
2021/10/21(木) 10:35:44.05ID:BPy7q9Jv
代入後は等価になるんだから「等価である」か「等価にする」かの違いで概念がもともと近い
代入っぽい記号という意味では、Pascal系の言語では代入を := で表す
この記号は数学では定義
C言語が = を選んだことと、:= よりタイピングが楽で好まれたといった理由によるよくあるデファクトスタンダードだと思う
2021/10/21(木) 10:48:17.54ID:rn8Dzh3Z
アセンブラの頃はmov命令だったりして=じゃ代入してなかったな
単にそれを入力しやすい=に置き換えただけだろ
理由なんて特にないと思うぞ。後付けで色々言われることはあるがそんなのは株価変動に対するアナリストのコメントと同じだろ
916デフォルトの名無しさん
垢版 |
2021/10/21(木) 10:56:40.65ID:8WD9Db30
文脈で変わるBASICがサイキョウと言うことで
917デフォルトの名無しさん
垢版 |
2021/10/21(木) 10:59:20.50ID:s+STdMnX
:= を使う言語もあったな
アセンブラだと mov a,b とかを a ← b と描いてるのもあった
2021/10/21(木) 11:50:37.57ID:DNvUDLu4
まてよ、< はシェルのリダイレクトが元ネタだろうから、ストラウストラップではなくケントンプソンに恨みをぶつけるべきなのか
2021/10/21(木) 12:40:17.17ID:kb4iMdFg
>>909
TypeScriptはJavaScriptの問題を継承している
2021/10/21(木) 14:02:20.78ID:/gEvs5aW
>>919
だから何?
そんなこと言っても
>>884
> まあ実際はターゲットプラットフォームに持っていったら動かねえなんてことも少なくないんだが
と書いたアホな過去が消えるわけじゃないぞw
2021/10/21(木) 16:37:59.19ID:uJghRPaA
>>920
アホなことではなくただの事実
2021/10/21(木) 17:13:02.83ID:I2/rukb6
事実はこれやね
> それはTypeScriptの問題じゃなくてJavaScriptの実行環境の問題だろ
> アホなのか?w
2021/10/21(木) 17:20:45.68ID:9dL9xBub
所詮はトランスパイルするだけのものとかこの先生き残れない
KotlinなんかもJavaありきだし
2021/10/21(木) 17:24:09.63ID:uJghRPaA
>>922
No
ランタイムでおかしくなるのは依存性がおかしいから
依存性を管理してるのはエコシステム
2021/10/21(木) 17:30:33.97ID:aAlfqU92
トランスパイル前提ならRust→WebAssemblyで良くね?(過激派
2021/10/21(木) 17:32:16.36ID:KOHJDlWc
>>924
具体例をどうぞw
2021/10/21(木) 17:43:50.47ID:uJghRPaA
>>926
yarn、npm
2021/10/21(木) 17:50:56.46ID:tOGrb2v8
>>927
具体的にの意味がわからんの?
どの環境でどうおかしくなるか書いてねw
2021/10/21(木) 18:02:23.15ID:/Wi3naIT
JS嫌いなら嫌いでええやん
理由付けなんて要らん
930デフォルトの名無しさん
垢版 |
2021/10/21(木) 18:27:43.72ID:/1ln80gU
代入にしろ比較にしろ只の演算子
何の記号に割り当てても結構
おまいらの好きな圏論
2021/10/21(木) 19:50:43.61ID:wPmlSLSw
>>924
まさか npm install し忘れたのをエコシステムの問題とか言わないよな。
具体的にどんな依存性の問題があったのか。
2021/10/21(木) 20:11:01.09ID:720YqhtG
ツッコんでもキリがないよ
もういいじゃない
2021/10/21(木) 20:23:00.09ID:uJghRPaA
>>931
yarn addしたのに別のパッケージをわざわざaddしたり、package以外に追加の設定をしないと実行時にmoduleが見つからず落ちる、などということがしばしば発生する
これはエコシステムが出来損ないだから起きる現象
他の言語、エコシステムではパッケージの依存性を解析して、必要なものをさくっとインストールできて当たり前、なのだがJSTSではそうではないようだ
ポンコツと言うしかない
2021/10/21(木) 20:48:00.85ID:wPmlSLSw
>>933
本当にそんな問題がしょっちゅう出ていたら他の人からもいっぱい文句が出ていると思うが。
そんな話ほとんど聞かないのはなんでだと思う?
2021/10/21(木) 21:51:10.35ID:kkiqLUkC
ハードウェアは神がルールを決めるがソフトウェアは人がルールを決める
2021/10/21(木) 22:15:08.88ID:5CobycYg
Ruby on Rails でも、gem/bundler, npm/yarn を使うけど、バグらない

バグるのは、Gemfile, package.json などに間違いがあるから
2021/10/21(木) 22:30:49.61ID:H/P0iJbS
>>933
で、そのどこがTypeScriptに関係するんだ?
どう見てもバカ晒してるだけにしか見えないんだけどw
938デフォルトの名無しさん
垢版 |
2021/10/22(金) 00:51:41.41ID:bIdSm1HR
npmは-g付けろ
2021/10/22(金) 03:11:49.18ID:8h20ujDp
>>934
諦めたんだろうな
2021/10/22(金) 03:12:17.41ID:8h20ujDp
>>937
TSはyarm npmを使う
2021/10/22(金) 07:19:44.19ID:Ct+P3Ave
>>940
> TSはyarm npmを使う
えっ?
yarmやnpmがTS使うと言うなら分かるけど、それってTSは単なる被害者やん
馬鹿の上塗りかな?w
2021/10/22(金) 07:46:40.39ID:u29IScY2
>>939
じゃあ>>933だけはjsを諦めてないんだw世の中のみんな諦めたのに。
2021/10/22(金) 07:49:57.25ID:8h20ujDp
>>941
被害者ではない
自ら地雷を踏みに行った
2021/10/22(金) 07:50:18.18ID:8h20ujDp
>>942
諦めたらそこで試合終了ですよ
2021/10/22(金) 08:16:15.76ID:u29IScY2
>>944
いいじゃん、試合終了すれば?
2021/10/22(金) 08:16:25.93ID:J2wywSDu
>>943
日本語の意味わかる?
まあ引っ込みつかないからそんなアホな事を言ってるんだろうけどw
2021/10/22(金) 09:11:51.24ID:8h20ujDp
>>945
そんな弱気でどうする
2021/10/22(金) 09:11:58.42ID:8h20ujDp
>>946
よくわかる
2021/10/22(金) 21:12:13.12ID:u29IScY2
またこのパターン。
最初に適当に言ったキメラとかエコシステムとかが突っ込まれたんで誤魔化そうとぐだぐだな話で煙に巻こうとする。
2021/10/22(金) 22:19:13.31ID:8L7RGAQS
yarn/npm でグローバルにインストールすると、やばくない?
各プロジェクト(ローカル)の設定と、依存関係が異なる場合があるのじゃ?

例えば、グローバルで、A-ver3 を使っていて、
ローカルで、B-ver5 が、A-ver3 に依存していない場合など
2021/10/22(金) 23:02:58.31ID:Scmv3//p
Go使いなんでjs使わないんだけど、真っ当なパッケージマネージャーならばローカルでの指定が優先されるものじゃないの?
952デフォルトの名無しさん
垢版 |
2021/10/22(金) 23:20:43.05ID:zdFTshzb
ぷっ真っ当なマネージャーて
2021/10/22(金) 23:40:09.06ID:1h4keDAC
パッケージ入れてください
ターゲット環境が〜なら追加でこれも入れてください

↑TSエコシステムはこんなんばっか
いやそんなもんパッケージマネージャの仕事だろ自動でやっとけやはぁーまじありえねえーってなるだろ
2021/10/22(金) 23:43:48.48ID:qCBDKirC
何入れたらいいか教えてくれるだけいいよ
ってか勝手に変なとこにいれるな。そういうことするからごちゃごちゃになるんだよ
2021/10/22(金) 23:52:44.91ID:ukfVVJoR
それで結局優先順位はローカル>グローバルなの?
2021/10/23(土) 06:43:55.24ID:00B4PIBk
>>953
TS叩こうとしたらフルボッコされてパッケージマネージャーにターゲット変更したクズw
2021/10/23(土) 11:32:16.84ID:CNThYV7T
>>956
TSはパッケージマネージャの欠陥を継承している
2021/10/23(土) 12:03:05.54ID:N3XLPtm3
PM程度の欠陥なんて小さな問題だろ
嫌なら使うな、それを実践できる程度でしかない
嫌なら使うなって言われても使わざる得ないんだよってレベルじゃないからどうでもいい
2021/10/23(土) 12:18:57.73ID:CNThYV7T
これを小さな欠陥と言ってしまうのは感覚が麻痺してる
普段から多くの欠陥を抱えてるエコシステムを使うとこうなってしまうのかな
2021/10/23(土) 12:55:41.27ID:UIvlvfjP
小さいとか麻痺してるとかいう以前に、どこがどう欠陥だと言っている?
2021/10/23(土) 13:00:03.97ID:KWoyfano
Anacondaみたいに依存関係を自動で取得して必要なパッケージを全部入れてくれるならいいけど、
TSだとそれが出来ない
それを欠陥って言ってるんだろ
2021/10/23(土) 13:04:11.30ID:IvWbCfiB
>>957
もう一度>>941を読むことをお勧めする
馬鹿の上塗りにしかなってないぞw
そもそもyarn/npm使ってるのはTSだけじゃねーし
2021/10/23(土) 13:06:01.86ID:IvWbCfiB
>>961
だからそれはTSの話じゃなくてyarn/npmの話だろ
2021/10/23(土) 13:22:30.65ID:UIvlvfjP
>>961
依存パッケージを自動で持ってくるだけなら別にnpmでもできると思ったが。
anacondaのリポジトリは中の人がわざわざチェックしてくれているから間違いがない
って話なのかな。
レス数が950を超えています。1000を超えると書き込みができなくなります。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況