X



JavaScriptライブラリ使わずプログラミングする技術
0001デフォルトの名無しさん
垢版 |
2021/09/26(日) 17:34:36.72ID:UCK67sqf
お前らに最高のプログラミング手法を伝授してやろう

使っていいのはw3cで決めれられたAPIのみ
その他のライブラリは使用禁止
ライブラリを使わないと作れないようなものは作るな
これを守れば10年後も修正せずに同じアプリが動く
0008デフォルトの名無しさん
垢版 |
2021/09/26(日) 23:36:43.09ID:dQHzMaDE
>>6
そうやってライブラリに依存すると
ライブリがバージョンアップした時に必要ない更新作業をすることになるだろ

>>7
認めてるのはw3cだけ。ライブラリは一切使うな
0009デフォルトの名無しさん
垢版 |
2021/09/27(月) 00:43:05.42ID:OxF6exWm
github数十数百万スターのライブラリでサクッと作ってサックと請求
あとは鼻くそホジホジ、稼ぎたかったら世の流れに乗っとけ
オナニーコード、オレオレフレームワークなど誰も喜ばない
0010デフォルトの名無しさん
垢版 |
2021/09/27(月) 04:59:40.51ID:IkvFuWzE
>>5
D3は火船でも最近取り上げたほどの優ライブラリですが?
0011デフォルトの名無しさん
垢版 |
2021/09/27(月) 05:06:38.46ID:IkvFuWzE
>>3
ロートルはいつになったらネスケからアップデートすんの
0012デフォルトの名無しさん
垢版 |
2021/09/27(月) 06:11:39.15ID:dDAxEmtU
>>10
これをみよ
https://www.buildinsider.net/web/popularjslib/2014
https://www.buildinsider.net/web/popularjslib/2015
https://www.buildinsider.net/web/popularjslib/2016

2014年のCofeeScript、2016年はどこへ行った?
2014年のthree.js、2016年はどこへ行った?
2014年に「成長力」とされたD3.jsも2015年で消えた
5年、10年動き続けることを目標とするプログラムとしては、危なくてとても手を出せたものではない

重要なことだがjQueryやReactなどのライブラリは使わない。理由はそれらのライブラリが
一部のブラウザでしかサポートしてない独自機能を呼び出している恐れがあるからだ。
自作のプログラムにそういうライブラリの混入を許せば長寿命という特徴が損なう恐れが出てしまう。
互換性や寿命が減る恐れは阻止しなければいけない

ライブラリを使わないということはその部分を自力で1から書くということだ。たいそれたことに思えるかもしれないが
そうとは限らない例えばAjaxによる画面更新は有名なライブラリにたよらずとも数十行で実装できる

一度たかだか十数行のコードを書く苦労を受け入れるか、ライブラリを利用して楽をする代わりに
この先ずっと寿命の短さの恐怖に怯えるか、諸君らはどちらを選ぶ?私なら断然前者を選ぶがな

書くのが大変なら
・凝ったことはやらない
・使わないと出来ないようなことには手を出さない
これだけでよい

JavaScriptのライブラリは今、戦国時代だ
つまり「せっかく覚えた知識が数年で時代遅れになる」ということだ
だからW3Cに準拠したものしか使わない

これが歴戦の開発者すら論破した我らの完璧な理論だ
0013デフォルトの名無しさん
垢版 |
2021/09/27(月) 06:54:32.36ID:6za2rBZe
別スレで暴れてたPOSIX原理主義の人か、そらともそれを見て真似して見ようと思った暇人か
0014デフォルトの名無しさん
垢版 |
2021/09/27(月) 07:52:00.96ID:4LBRBOtD
POSIX原理主義の人のマネをして適当なことを言ってるのか、
それともPOSIX原理主義の人が実際に言ってることなのか
どっちなのかな?

もし後者ならPOSIX原理主義はおかしい
POSIXの名前を語るなよ
0015デフォルトの名無しさん
垢版 |
2021/09/27(月) 08:46:59.63ID:D7AKGDxr
>>8
バージョンアップしなきゃいいんだよ。
使うライブラリは全部手許にコピーを置いてバージョン固定で使う。
0016デフォルトの名無しさん
垢版 |
2021/09/27(月) 08:49:08.92ID:OxF6exWm
double arrow使ってて当然主張としてbabelも使わないんだからES6なんだろうが
俺はpreset-env S5出力してるからこいつのコードよりブラウザ互換性高いわ
0018デフォルトの名無しさん
垢版 |
2021/09/27(月) 09:11:52.27ID:IkvFuWzE
>>12
ブラウザ互換性なんかよっぽどの知恵遅れのガイジかドマイナーブラウザ使ってる奴なんか切り捨てるのが当たり前
今はアクセシビリティを重視することが重要
0019デフォルトの名無しさん
垢版 |
2021/09/27(月) 15:28:36.82ID:j3V27Q37
そもそも契約前の要望確認時に対象ブラウザ指定しないのがおかしいし、
そこに主要でないブラウザが要求されるなら金額上乗せしとけってだけの話
0020デフォルトの名無しさん
垢版 |
2021/09/27(月) 15:33:04.98ID:S5liYRml
>>19
そういう話はしてない

ライブラリを使わないでW3Cに準拠して自分で書けば
5年10年後でも修正せずに動くということ

ライブラリには一部のブラウザでしかサポートしてない独自機能を呼び出している
恐れがあるから、そんなものを使うと長寿命という特徴が損なわれる恐れがある

W3Cに準拠すれば、すべてで20年動くプログラムになる
一度書けばどこでも、ずっと使えるプログラムになる
0021デフォルトの名無しさん
垢版 |
2021/09/27(月) 15:35:47.32ID:eiFsymZX
ツッコミどころ満載だな

5年、10年たったらハード、ソフトともにものすごく変化するから
今作っているものが使える可能性がそもそもものすごく低い

ライブラリが数行で済むならいいんだが、往々にして数百行になったりするし
誤差はどうするんだとかテストはどうするんだとか
自作のプログラムは何かと問題が多い
ドキュメントをかっちり残しておかなければ行けないという点もある
ライブラリだとこの辺の問題が解決されている
0023デフォルトの名無しさん
垢版 |
2021/09/27(月) 15:45:53.73ID:DB+aTPLw
>>21
W3Cには全てのブラウザが準拠しているから
ハードやソフトが変化したとしても同じように動く

数百行になるような場合はすでに書いたとおり
凝ったことはやらない。ライブラリを使わないと出来ないことには手を出さない。
それだけ

デバッグ作業からは何も生まれない。そもそもやる必要をなくせばいい。
そんなことができるのか?と思うかもしれんが、
答えは「1行書き足しては実行、書き足しては実行・・・を繰り返す」だ

何十何百行もあるプログラムを書き終えたあとでおかしな動きをすることがわかったら
どの行に問題が潜んでいるかの特定には時間がかかるし
全部作ったあとで出来上がったコードを見ながらテスト項目を立案するのも骨の折れる作業だ

一方、毎行1行ずつカキコ足しては実行というテストをしていて、ある1行書き足した時点で
おかしなことになったと気づけば、今書いた1行に原因がある可能性が高く、場所の特定に割く時間を抑えられる

この1行書いては実行というのは別にシェルスクリプトに限ったテクニックではない。
コンパイル不要な言語ならどれでも気軽にできる
0024デフォルトの名無しさん
垢版 |
2021/09/27(月) 15:50:16.28ID:DB+aTPLw
>>22
やはり20年、いや25年後もWin/Mac/UNIXすすべてで動く普遍的なプログラムを書けるのは
POSIXに準拠することだけであることが証明されたようだな
0025デフォルトの名無しさん
垢版 |
2021/09/27(月) 15:51:02.28ID:Rw+VRmCj
W3Cはもう終わったのでブラウザが準拠する保証はないよ
プログラマとしては5年ごとに最新技術で作り直す方が楽しいんじゃないかな
式年遷宮ですよ
0026デフォルトの名無しさん
垢版 |
2021/09/27(月) 15:53:14.38ID:Rw+VRmCj
世界の覇者であるLinuxがPOSIXに準拠し続けるかどうかはわからん
UNIXで残ってるのはMacだけだしなあ
0029デフォルトの名無しさん
垢版 |
2021/09/27(月) 17:16:35.40ID:OxF6exWm
素人のネタスレに客てw
0030デフォルトの名無しさん
垢版 |
2021/09/27(月) 17:25:15.95ID:6NHLnU6m
>>29
これがネタだったらどれだけいいかって思うよ・・・

某大学でこの内容がそのままを講義になってるの
0031デフォルトの名無しさん
垢版 |
2021/09/27(月) 18:25:11.84ID:j3V27Q37
そもそもhtmlやjsは全体的に行きあたりばったりな仕様が多いから、今考えるとどう考えても欠陥としか思えない仕様が多い
box-sizingの初期値なんて結局みんなborder-boxにしてる
jsの文法全般とかそのまま使うのはアホらしい
みんなもう少しマシなものにリセットしたがってるし、例えば仕方なくlintとtypescriptでお茶お濁したりしてる

商業の話ではなくて理想の話で言っても、htmlやjs後方互換性が劣悪な環境の原因になってるのは明らか
0035デフォルトの名無しさん
垢版 |
2021/09/27(月) 23:32:49.46ID:jg0PWSrl
>>34
4.3 W3C勧告準拠指針の詳細
2016年現在,一般ユーザに対する操作画面はWebページとして作成するケースが主流になっており,
アプリケーション開発においてWeb(HTML/CSS/JavaScript)は必要不可欠な存在になっている.
Webの規格はPOSIXとはまったく異なる発展を遂げてきたが,POSIXに似た事情を抱えている.

UNIX業界では各OSが機能を独自拡張し,互換性が低下した状況を改善すべくPOSIX規格が策定され
一方,Web業界では各Webブラウザが機能を独自拡張し,互換性が低下した状況を改善すべく
W3Cという組織が設立され,勧告(W3C勧告)がアナウンスされるようになった.

そこで,クライアント端末向けにWebプログラムを作成するにあたってはW3C勧告に準拠するという指針を設ける.
W3C勧告もまたWeb上で閲覧でき[11],プログラマは常にその内容を確認しながらプログラミングできる.

4.3.1 各種JavaScriptライブラリ使用の禁止
この指針の下ではjQuery等の各種JavaScriptライブラリを原則使わない.
W3C勧告の範囲の仕様にのみ基づき,プログラムを書く.
後述するXMLHttpRequestに関しても基本的な部分は40行程度で記述できる[12].
一度書けばほかのプログラムにも流用可能であるため,以後はコピーして使えば開発効率はさほど低下しない.

ライブラリを使わない理由は,そのライブラリが各Webブラウザの独自機能を
利用していないという確証がないからである.そのようなライブラリを利用すると,
将来のWebブラウザでは正常に動作しなくなる可能性が高まる.
0038デフォルトの名無しさん
垢版 |
2021/09/29(水) 10:11:12.54ID:gu3KqaJI
>>37
W3Cに準拠してるから5年くらい余裕ですわ
0039デフォルトの名無しさん
垢版 |
2021/09/29(水) 16:14:59.86ID:Hq0EI18R
>>38
>>7はnpmパッケージの所有権絡みの問題?でW3C準拠とか全然関係ない話で5年も経つんだから当然解決済だろ。
情報が古い
0040デフォルトの名無しさん
垢版 |
2021/09/29(水) 17:06:41.35ID:gu3KqaJI
>>39
どう解決したのかな? おん?
0041デフォルトの名無しさん
垢版 |
2021/09/29(水) 17:07:31.95ID:gu3KqaJI
> 解決済だろ

「だろ」は推量で自分は知らないってこと、だろ?
0042デフォルトの名無しさん
垢版 |
2021/09/29(水) 17:10:28.71ID:gu3KqaJI
npmのパッケージ依存地獄問題を解決したらノーベルIT賞もらえるわ
0043デフォルトの名無しさん
垢版 |
2021/09/29(水) 17:13:38.92ID:gu3KqaJI
エコシステムは依存関係の増大を促し脆弱さをもたらす
僕たちの絆社会も同じ問題を抱えているのかも知れませんね
0045デフォルトの名無しさん
垢版 |
2021/09/29(水) 17:43:50.09ID:gu3KqaJI
>>44
> してるだろ。

「だろ」は推量で自分は知らないってこと、だろ?
0046デフォルトの名無しさん
垢版 |
2021/09/29(水) 17:44:43.13ID:gu3KqaJI
お前らさては知ったかぶりだろ
0048デフォルトの名無しさん
垢版 |
2021/09/30(木) 07:03:50.77ID:gyDgO3O3
パッケージ管理の手本はdebian。
後続のnpmはdebianの運用ノウハウでなんとでもなる。
npmパッケージのライセンスに注意して使えば問題ない
0049デフォルトの名無しさん
垢版 |
2021/10/01(金) 07:09:23.05ID:kOOEV5vN
jsなんて所詮DOM装飾
ライブラリが壊滅しても誰も実損しない
カード決済や金融取引などのように
厳格で高セキュリティを求められないしな
なので開発が楽なライブラリをどんどん使って
効率的に稼ぎましょう
0050デフォルトの名無しさん
垢版 |
2021/10/01(金) 11:20:49.87ID:8eCb7fjd
jsの仕様にはDOMは含まれていません
基本からやり直し
0051デフォルトの名無しさん
垢版 |
2021/10/01(金) 16:01:33.26ID:xAAYN8E1
だろよりじゃろの方が可愛いじゃろ
0052デフォルトの名無しさん
垢版 |
2021/10/02(土) 07:43:33.69ID:v0EuaQL0
JSはマークアップを装飾するために生まれた言語
JSが破綻しても深刻な被害なんてないんだから
どこも間違ってない
50はJS以外何を扱ってるんだ?
多言語扱う人間からしたら
JSは単なるマークアップ言語
ブラウザ・ユーザー・インターフェイス言語なんだけど?
サーバーセキュリティがしっかりしてれば
ブラウザが崩壊しても深刻な被害はないんだよ
つまりブラウザ側のフレームワークやライブラリの信頼性なんて重要じゃないから
効率よく作って稼げばいいって話
0055デフォルトの名無しさん
垢版 |
2021/10/03(日) 03:28:59.07ID:PAiU/vlJ
何言ってんだ?
0056デフォルトの名無しさん
垢版 |
2021/10/04(月) 11:07:04.23ID:QKRS/RC6
オープンソースにして放流したり
チームで作業したりせんかぎりは
我流で作ったほうがいい。
レスを投稿する


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