thắc mắc Tại sao ReactJS lại hot đến vậy ạ?

  • Người tạo chủ đề Người tạo chủ đề Celsius
  • Ngày bắt đầu Ngày bắt đầu
Nói nodejs chậm chắc k biết python web chậm cỡ nào, mà cũng có người làm project thôi. Túm váy tùy lang tùy service tùy project, trình độ dev mà pick nữa. Mấy ông vẽ ra kiến trúc này nọ cao siêu mà cty ko scale nhanh được để kiếm tiền thì cũng vậy.


Nói đến chậm thì nó từ nhiều phía, do sql query phức tạp, data center cùi chuối, đã optimize query chưa, hay query ko biết xài promise all để gom query lại, có tính toán gì phức tạp không, bao nhiêu người xài cùng lúc, có auto scaling, load balancer gì ko. Tá lả thứ.

Còn hiện giờ nodejs xài nestjs thì cũng code có kiến trúc rồi. Ăn thua team ra sao thôi. Thích thì kiến trúc tới hexagon, DDD còn được. Cũng chỉ quay lại tư duy dev thôi.
 
Sửa lần cuối:
7iUDr2B.png
IOS là phải mua macbook về nhé

Apple nó không cho code app IOS ở trên windows hay linux
Hackintosh dc mà fen
 
Có a nói đến nodejs, ở cty tôi đang làm pm cho nội bộ bằng nodejs. Tôi thấy nó chậm chạp sao ấy

Nếu so về hiệu năng làm backend thì hiện tại có bé nào ổn vậy các anh..
Chậm là do dev công ty anh kém thôi. Netease chúng nó còn làm nguyên được cái MMORPG chạy trên nền flash với mobile backend nodejs chạy cả chục triệu CCU vào 10 năm trước được
Tôi thấy Go, Nodejs, C#, Java, PHP hiệu năng chạy sàn sàn ngang nhau hết
Có mỗi Rust với C++ là ở tầm hiệu năng hơn hẳn thôi
 
Sửa lần cuối:
Có a nói đến nodejs, ở cty tôi đang làm pm cho nội bộ bằng nodejs. Tôi thấy nó chậm chạp sao ấy

Nếu so về hiệu năng làm backend thì hiện tại có bé nào ổn vậy các anh..

Tính tường minh, dễ triển khai và bảo trì. Sau đó hiệu năng ổn cho lượng truy cập cao
Java Spring Boot cân hết các thể loại :shame:
 
Em cũng tính học Flutter nhưng khổ nỗi cái giả lập android thì lag :((( mà bên ios thì không biết test kiểu gì
Máy tính chắc chắc đời Tống hay sao mà lag ? Con laptop ghẻ Lenovo mua ship Taobao có 16 củ năm 2021 mà thấy load giả lập Android trong Android Studio nhanh vãi chấy
https://voz.vn/t/lenovo-xiaoxin-air...b-do-sang-300nit-wifi-6-laptop-vozlit.323267/
Giờ đang suy thoái kinh tế thì máy còn rẻ nữa, máy này CPU còn mạnh hơn máy tui cỡ 40% mà có 14 củ
https://mazo.vn/san-pham/thinkbook-14p-ryzen-5600h-5800h-16gb-ram-512-gb-ssd-man-2-2k/
 
Sửa lần cuối:
Em cũng tính học Flutter nhưng khổ nỗi cái giả lập android thì lag :((( mà bên ios thì không biết test kiểu gì
Kiếm mấy con điện thoại cũ mà test fen, simulation chậm lắm. Chưa kể test mấy cụ camera, location, cảm biến rung... dễ hơn.
 
Em cũng tính học Flutter nhưng khổ nỗi cái giả lập android thì lag :((( mà bên ios thì không biết test kiểu gì
Bạn run trực tiếp trên máy Android đc mà, chỉ khi ko có máy thì mới giả lập thôi. Còn iOS thì mình cũng k biết làm sao để test thật, ko rõ lúc đi làm người ta có hỗ trợ cho con mac k
 
Có thread so sánh hiệu năng của NodeJS với bọn khác rồi mà
TrMT7Oq.png
Nói chung bọn NodeJs chỉ phù hợp với dự án tầm trung trở xuống, bản chất là dynamic language thì vấn đề muôn thở vẫn là hiệu năng.

Ấy là chưa kể, mấy cái framework backend NodeJS nó cứ cảm giác nửa vời, không "work out of box" như NET hay Spring Boot, down về xong cũng phải config một mớ cả buổi. Nhiều thằng giờ còn xài experiment feature các kiểu nữa
iLdo7NT.png

Dự án tầm trung là như nào fen. Thời đại microservices rồi code base của mỗi service nó bé tí chứ đâu có phức tạp. Nếu bàn đến team size thì project lớn họ để ý nhiều đến human resources chứ chẳng quan tâm mấy đến hiệu năng. Chậm thì nhét thêm consumer vào là oke :D mà vấn đề hr thì dev js thuộc loại chém ko hết. JS chỉ ko phù hợp với loại pj nặng tính toán như ML, AI cái này thì tôi công nhận :)
 
Bác kia chê config nodejs mất cả buổi, sao me thấy setup từ số 0 thì nodejs còn nhanh hơn java spring ấy chứ nhỉ. Boilerplate java không phải trùm à
 
Setup express js sử dụng typescript với sequelize thử xem. Setup thêm nodemon, file watcher để hot reload, jest để unit test nhé
 
TrMT7Oq.png
tưởng tượng, 2023 rồi mà còn setup spring thủ công hay gì mà boilerplate

Trong khi cái NodeJS đếch có cái framework nào liền mạch như spring. Express muốn xài typescript thì phải npm install thêm một đống module bổ trợ @types/node @types/express, hot reload, file system manage thì cũng install thêm một mớ rồi tự config trong package json.

ORM thì phải kẹp thằng sequelize mà nó còn chưa hỗ trợ hoàn chỉnh cho typescript, lại còn đếch có dependency injection nữa. Ai đời ORM nhưng phải set type thủ công cho từng column, xài database nào phải khai báo kiểu đó, phải khai báo constraint các kiểu, trong khi spring chỉ cần 1 annotation autowired

Authentication thì có passport js nhưng đéo đú được với spring security

Mới cái cơ bản thôi, deploy, scale, maintain còn chưa nói

Jest, unit testing framework nổi tiếng nhưng éo hỗ trợ import kiểu ES6. Testing cho các framework nhúng typescrpit thì còn phải cài thêm plugin
 
TrMT7Oq.png
tưởng tượng, 2023 rồi mà còn setup spring thủ công hay gì mà boilerplate

Trong khi cái NodeJS đếch có cái framework nào liền mạch như spring. Express muốn xài typescript thì phải npm install thêm một đống module bổ trợ @types/node @types/express, hot reload, file system manage thì cũng install thêm một mớ rồi tự config trong package json. ORM thì phải kẹp thằng sequelize mà nó còn chưa hỗ trợ hoàn chỉnh cho typescript, lại còn đếch có dependency injection nữa. Ai đời ORM nhưng phải set type thủ công cho từng column, phải khai báo constraint các kiểu

Mới cái cơ bản thôi, deploy, scale, maintain còn chưa nói

Jest, unit testing framework nổi tiếng nhưng éo hỗ trợ import kiểu ES6. Testing cho các framework nhúng typescrpit thì còn phải cài thêm plugin
Thích thì xài ORM cũng đầy, VD prisma code gen đầy đủ.
Với typescript ai bắt phải ORM, dynamic chơi json free style không thích, thích biến mình thành java/c# làm gì. Yêu cầu thay đổi nhanh, thiết kế DB thay đổi liên tục, chơi DB NoSql, thì chơi dynamic cho lành.
Mà làm service là lo mỗi crud đâu mà chăm chăm ORM.
Rồi lôi cả lỗi của thư viện thành lỗi của nodejs :shame:. Xài vitest thay jest xem có ok không. Watch hot reload các thứ giờ có tsx lo hết rồi.
Deploy, scale là vấn đề của kubernete, docker chứ sao lại nodejs?

Nói chung tư tưởng của bác là setup nodejs sao cho nó chạy giống java, thế thì hơi ảo. Setup java chạy giống nodejs được không?
 
Các bác có team nhận job frelance nào cần chân sai vặt không ạ?
Em muốn xin join vào học hỏi thêm kiến thức và kinh nghiệm
 
Thích thì xài ORM cũng đầy, VD prisma code gen đầy đủ.
Với typescript ai bắt phải ORM, dynamic chơi json free style không thích, thích biến mình thành java/c# làm gì. Yêu cầu thay đổi nhanh, thiết kế DB thay đổi liên tục, chơi DB NoSql, thì chơi dynamic cho lành.
Mà làm service là lo mỗi crud đâu mà chăm chăm ORM.
Rồi lôi cả lỗi của thư viện thành lỗi của nodejs :shame:. Xài vitest thay jest xem có ok không.
Deploy, scale là vấn đề của kubernete, docker chứ sao lại nodejs?

Nói chung tư tưởng của bác là setup nodejs sao cho nó chạy giống java, thế thì hơi ảo. Setup java chạy giống nodejs được không?
TrMT7Oq.png
ở đâu ra tôi bảo setup node js y chang java thế? Mấy tính năng đó mấy C#, Python nó làm xoàng xoạc đấy

Và cái Sequelize đéo phải ORM chứ là cái đéo gì? Giờ tôi không thích sử dụng NoSQL vì nó không phù hợp hoàn cảnh của tôi, anh lấy gì bắt tôi xài?


Cái tô đậm tôi chán chả buồn nói. Thiết kế backend lo mỗi CRUD thôi mà? Mà ngay cả CRUD chắc anh tưởng dễ ăn à? Phải thiết kế theo đúng đặc tả, sao cho dễ bảo trì, handle lượng request lớn, cache, chống nghẽn database....và hàng tá vấn đề đặt ra

Deploy, scale và vấn đề mỗi docker, kubernete. Thế sao này thằng khách hàng dở dở đòi đổi loại database, tích hợp thêm tính năng mới, xóa API thì chắc cũng là việc của docker? Thậm chí không thích deploy bằng docker, chuyển mã code sang 1 cái windows server thì sao? Hay anh nghĩ mỗi lần như vậy là tạo 1 project mới, tạo 1 cái image docker mới?

Trình độ đéo tới đâu thì đừng nói nữa
wpg87ui.png
nói nhức cái đầu
 
TrMT7Oq.png
ở đâu ra tôi bảo setup node js y chang java thế? Mấy tính năng đó mấy C#, Python nó làm xoàng xoạc đấy

Và cái Sequelize đéo phải ORM chứ là cái đéo gì? Giờ tôi không thích sử dụng NoSQL vì nó không phù hợp hoàn cảnh của tôi, anh lấy gì bắt tôi xài?


Cái tô đậm tôi chán chả buồn nói. Thiết kế backend lo mỗi CRUD thôi mà? Mà ngay cả CRUD chắc anh tưởng dễ ăn à? Phải thiết kế theo đúng đặc tả, sao cho dễ bảo trì, handle lượng request lớn, cache, chống nghẽn database....và hàng tá vấn đề đặt ra

Deploy, scale và vấn đề mỗi docker, kubernete. Thế sao này thằng khách hàng dở dở đòi đổi loại database, tích hợp thêm tính năng mới, xóa API thì chắc cũng là việc của docker? Thậm chí không thích deploy bằng docker, chuyển mã code sang 1 cái windows server thì sao? Hay anh nghĩ mỗi lần như vậy là tạo 1 project mới, tạo 1 cái image docker mới?

Trình độ đéo tới đâu thì đừng nói nữa
wpg87ui.png
nói nhức cái đầu
Muốn ORM ở nodejs, có prisma ... code gen như C# python làm xoàng xoạc đấy thôi?
Blame nodejs vì không thích xài NoSQL? Fine.
Request lớn, cache, chống nghẽn là hạ tầng, proxy, cluster sao lại hỏi nodejs làm? Anh muốn tất quả qua 1 service để SPOF phát chết mẹ hết à.
Đổi DB? Tính năng mới, xóa api?? Liên quan gì nodejs? Winserver thì liên quan gì ở đây. Sao việc devops, architect mà lại bảo nodejs làm. Chả hiểu anh nói gì?
Docker là để deploy môi trường ảo hóa. Anh không thích thì anh chạy bằng service của windows có vấn đề à (nếu windows không thích cài docker)
 
Muốn ORM ở nodejs, có prisma ... code gen như C# python làm xoàng xoạc đấy thôi?
Blame nodejs vì không thích xài NoSQL? Fine.
Request lớn, cache, chống nghẽn là hạ tầng, proxy, cluster sao lại hỏi nodejs làm? Anh muốn tất quả qua 1 service để SPOF phát chết mẹ hết à.
Đổi DB? Tính năng mới, xóa api?? Liên quan gì nodejs? Winserver thì liên quan gì ở đây. Sao việc devops, architect mà lại bảo nodejs làm. Chả hiểu anh nói gì?
Docker là để deploy môi trường ảo hóa. Anh không thích thì anh chạy bằng service của windows có vấn đề à (nếu windows không thích cài docker)
Sequelize là ORM đấy, nó như b luôn thì tôi chửi nó. Prisma thì chưa đụng mà lại là javascript thì dễ đoán quá mà

wpg87ui.png
Cứ request lớn, cache chống nghẽn là hạ tầng, proxy, cluster thì chắc code NodeJS chỉ làm mỗi việc routing với giao tiếp với database à? Mà cũng đúng, mấy tác vụ xử lý data, liên quan đến hệ điều hành như multi thread thằng node js có làm được đâu mà. Làm nhiều quả service làm gì? Monolith anh vứt đâu? Hay 100% ứng dụng bây giờ phải xây dựng kiểu microservice, horizontal scaling?

Đổi database, tính năng mới, xóa api,....abcxyz thì phải vào nodejs mà code để sửa thì lại bảo đéo liên quan, thua.
9sm2ARa.png
Ngay cả bọn xài microservice, code node js mà gặp business khoai khoai tý là thấy mùi hành với mớ rác JavaScript rồi. Sau này tích hợp công nghệ mới, maintain khéo lại quên luôn lúc trước code cái mẹ gì ấy chứ?
 
Sequelize là ORM đấy, nó như b luôn thì tôi chửi nó. Prisma thì chưa đụng mà lại là javascript thì dễ đoán quá mà

wpg87ui.png
Cứ request lớn, cache chống nghẽn là hạ tầng, proxy, cluster thì chắc code NodeJS chỉ làm mỗi việc routing với giao tiếp với database à? Mà cũng đúng, mấy tác vụ xử lý data, liên quan đến hệ điều hành như multi thread thằng node js có làm được đâu mà. Làm nhiều quả service làm gì? Monolith anh vứt đâu? Hay 100% ứng dụng bây giờ phải xây dựng kiểu microservice, horizontal scaling?

Đổi database, tính năng mới, xóa api,....abcxyz thì phải vào nodejs mà code để sửa thì lại bảo đéo liên quan, thua.
9sm2ARa.png
Ngay cả bọn xài microservice, code node js mà gặp business khoai khoai tý là thấy mùi hành với mớ rác JavaScript rồi. Sau này tích hợp công nghệ mới, maintain khéo lại quên luôn lúc trước code cái mẹ gì ấy chứ?

Chưa biết nodejs chạy ORM như nào chê luôn. Fine
Js main thread chỉ có 1, nhưng có thể dùng worker threads. Mà a làm dự án nào nodejs không đủ tải chưa mà lôi multi thread ra. Java IO block cái nghẽn luôn chứ lo cpu à.
Monolith? Vertical scaling? Đúng kiểu SPOF, lỗi phát là nghỉ. Nếu không lo SPOF chứng tỏ dự án cũng chẳng to đến mức 1 nodejs không cân được.
Đổi DB, tính năng mới chắc java không cần sửa code? Siêu vậy luôn? Thế thì đúng là java hơn mọi loại ngôn ngữ rồi.
Còn cái đoạn cuối là anh không dùng typescript hay gì, code bốc mùi hoá ra toàn là do language à. Java a bị memory leak bao giờ chưa? Api Java tôi thấy 500 null pointer exception như cơm bữa

Sent from Brick using vozFApp
 
Chưa biết nodejs chạy ORM như nào chê luôn. Fine
Js main thread chỉ có 1, nhưng có thể dùng worker threads. Mà a làm dự án nào nodejs không đủ tải chưa mà lôi multi thread ra. Java IO block cái nghẽn luôn chứ lo cpu à.
Monolith? Vertical scaling? Đúng kiểu SPOF, lỗi phát là nghỉ. Nếu không lo SPOF chứng tỏ dự án cũng chẳng to đến mức 1 nodejs không cân được.
Đổi DB, tính năng mới chắc java không cần sửa code? Siêu vậy luôn? Thế thì đúng là java hơn mọi loại ngôn ngữ rồi.
Còn cái đoạn cuối là anh không dùng typescript hay gì, code bốc mùi hoá ra toàn là do language à. Java a bị memory leak bao giờ chưa? Api Java tôi thấy 500 null pointer exception như cơm bữa

Sent from Brick using vozFApp
:doubt:đúng ngu thật, làm có dự án NodeJS không đủ tải rồi mới nói chứ. Đéo phải tự dưng Google nó chuyển từ NodeJS sang Golang. Java spring boot từ bản servlet 3.0 đã đéo còn blocking IO rồi cháu ạ. Worker thread giả cầy có cơ chế sync, mutex, parallel processing không mà nói lắm thế?

Cái microservice nó mới nổi tầm 2020 trở lại đây thôi, đặc biệt là sau khi Amazon với Netflix ứng dụng chứ trước đó xài Monolith kẹp horizontal scaling rần rần cho đến nay người ta vẫn xài đấy cháu, ở đó lỗi phát là nghỉ. Mấy bọn ngân hàng bây giờ nó còn đéo chịu đập đi xây lại cái kiến trúc microservice thần thánh của cháu vẫn handle hàng trăm giao dịch bình thường đấy

API Java 100 cái null pointer exception là lỗi do thằng lập trình ngu. Java static analysis được mà còn để unchecked exception liên tọi thế thì cái loại Dynamic Language, weak typing, con trỏ this thần thánh như JavaScript nó còn rác rưởi hơn nữa
wpg87ui.png
đã bảo đéo biết thì đi ngậm mồm vào
 
:doubt:đúng ngu thật, làm có dự án NodeJS không đủ tải rồi mới nói chứ. Đéo phải tự dưng Google nó chuyển từ NodeJS sang Golang. Java spring boot từ bản servlet 3.0 đã đéo còn blocking IO rồi cháu ạ. Worker thread giả cầy có cơ chế sync, mutex, parallel processing không mà nói lắm thế?

Cái microservice nó mới nổi tầm 2020 trở lại đây thôi, đặc biệt là sau khi Amazon với Netflix ứng dụng chứ trước đó xài Monolith kẹp horizontal scaling rần rần cho đến nay người ta vẫn xài đấy cháu, ở đó lỗi phát là nghỉ. Mấy bọn ngân hàng bây giờ nó còn đéo chịu đập đi xây lại cái kiến trúc microservice thần thánh của cháu vẫn handle hàng trăm giao dịch bình thường đấy

API Java 100 cái null pointer exception là lỗi do thằng lập trình ngu. Java static analysis được mà còn để unchecked exception liên tọi thế thì cái loại Dynamic Language, weak typing, con trỏ this thần thánh như JavaScript nó còn rác rưởi hơn nữa
wpg87ui.png
đã bảo đéo biết thì đi ngậm mồm vào
Ok xin lỗi vụ IO block, java vẫn mạnh chứ ai chê à. Thấy mỗi a chê nodejs thôi.
Thấy paypal dùng nodejs?. Google nó đẻ ra Go nó lại chả dùng, cây nhà lá vườn, với chuyên multithread.
Ngân hàng monolith vì không dám take risk chuyển sang microservice vẫn cố nói monolith tốt hơn thì chịu. Mà ngân hàng nó vẫn xài cluster chứ có phải chỉ 1 server đâu. A nghĩ ngân hàng vertical scaling à?
Nodejs mùi là do nodejs. Java mùi là do dev. Vậy thì mình chịu rồi.
Với bạn biết tôi là ai à mà gọi cháu. Nói chuyện tử tế không được à, sao phải tức tối vậy?

Sent from Brick using vozFApp
 
Ok xin lỗi vụ IO block, java vẫn mạnh chứ ai chê à. Thấy mỗi a chê nodejs thôi.
Thấy paypal dùng nodejs?. Google nó đẻ ra Go nó lại chả dùng, cây nhà lá vườn, với chuyên multithread.
Ngân hàng monolith vì không dám take risk chuyển sang microservice vẫn cố nói monolith tốt hơn thì chịu. Mà ngân hàng nó vẫn xài cluster chứ có phải chỉ 1 server đâu. A nghĩ ngân hàng vertical scaling à?
Nodejs mùi là do nodejs. Java mùi là do dev. Vậy thì mình chịu rồi.
Với bạn biết tôi là ai à mà gọi cháu. Nói chuyện tử tế không được à, sao phải tức tối vậy?

Sent from Brick using vozFApp
TDjQhWK.png
cái thread phân tích node js kia 90% chửi node js thì đéo thấy nhắc

PayPal cũng chuyển qua Golang từ hồi 2020 rồi cháu: https://go.dev/solutions/paypal

Những vấn đề kiểu single thread, weak typing, performance thì nó lỗi do ngôn ngữ thì đúng rồi, cái cháu đưa ví dụ của java là NullPointerException, lỗi này thuộc bên runtime error (unchecked exception) thì do thằng lập trình viên là đúng rồi, éo biết phân biệt à? :haha: À mấy cái thư viện rác rưởi bên npm thì đúng là do lập trình viên thật
 

Thống kê chủ đề

Ngày tạo
Celsius,
Người trả lời cuối
JavaNeverDie002,
Trả lời
690
Lượt xem
97.270
Quay lại
Lên đầu trang