Tối giản việc đọc tin nổi bật, comment chất lượng nhiều reaction trên voz cho các fen bận rộn.

VozFen.com: {thảo luận} tương lai của Golang ở có sáng ko?

@pi nguyen Joined: 12/2017
#1
Ưng 1

{thảo luận} tương lai của Golang ở có sáng ko?

@Fire Of Heart
#13
Ưng 44
Ưng 1
Vàng quan điểm
Rảnh rảnh type vài dòng cho các bác:

Ưu điểm của Go:
1. Code dễ đọc, dễ hiểu.
2. Go compiler mang lại nhiều thông tin có để giải quyết các vấn đề thay vì những output vô nghĩa.
3. Go code portable
4. Hỗ trợ concurrency, distributed programming.
5. Support Garbage collection. Được thiết kế khá nhanh chứ ko chậm chạp như GC của java.
6. Ko có preprocessor, tăng tốc độ khi compile chương trình.
7. Có thể build web app.
8. Bộ thư viện chuẩn của Go cung cấp nhiều library cho phép làm việc dễ dàng.
9. Sử dụng static linking by default. Ko cần quan tâm tới library, different version v.v...
10. Support Unicode
(cái này mình đọc sách nhiều nên biết thôi :sexy

Tất nhiên ko có ngôn ngữ nào là hoàn hảo, quan trọng là mục tiêu khi người ta xây dựng ngôn ngữ đó là gì.
Ví dụ như Go thì ko có OOP, có thể gọi là ko trực tiếp support OOP thì chính xác hơn.
Về tốc độ thì mình nghĩ Go vẫn ko thể nhanh hơn C dc, đơn giản là Unix viết bằng C.

Nhưng dù sao Go là một ngôn ngữ hiện đại, dễ học, dễ nắm bắt, dễ viết.

Để học syntax 1 ngôn ngữ thì rất dễ, python hay Java thì chắc ngồi vài hôm là xong. Nhưng để thực sự "đào sâu" vào ngôn ngữ đấy, thì mình nghĩ các bác cần nhiều thời gian hơn rất nhiều.
Có thể mất cả năm trời để hiểu rõ dc các cơ chế hoạt động phía dưới của ngôn ngữ, sử dụng một cách thông thạo, code đẹp đẽ tối ưu.
Do tính chất công việc hiện nay nên đa phần nhiều người ko đạt dc tới level đó và cũng ko coi việc đó là quan trọng, với mình đó là 1 điều đáng buồn.

Các bác chỉ có thể code 1 cách tối ưu khi các bác hiểu rõ ngôn ngữ đó hoạt động như thế nào.

@9a1phu 11/2011
#28
Ưng 4
Ưng 1
Rảnh rảnh type vài dòng cho các bác:

Ưu điểm của Go:
1. Code dễ đọc, dễ hiểu.
2. Go compiler mang lại nhiều thông tin có để giải quyết các vấn đề thay vì những output vô nghĩa.
3. Go code portable
4. Hỗ trợ concurrency, distributed programming.
5. Support Garbage collection. Được thiết kế khá nhanh chứ ko chậm chạp như GC của java.
6. Ko có preprocessor, tăng tốc độ khi compile chương trình.
7. Có thể build web app.
8. Bộ thư viện chuẩn của Go cung cấp nhiều library cho phép làm việc dễ dàng.
9. Sử dụng static linking by default. Ko cần quan tâm tới library, different version v.v...
10. Support Unicode
(cái này mình đọc sách nhiều nên biết thôi :sexy

Tất nhiên ko có ngôn ngữ nào là hoàn hảo, quan trọng là mục tiêu khi người ta xây dựng ngôn ngữ đó là gì.
Ví dụ như Go thì ko có OOP, có thể gọi là ko trực tiếp support OOP thì chính xác hơn.
Về tốc độ thì mình nghĩ Go vẫn ko thể nhanh hơn C dc, đơn giản là Unix viết bằng C.

Nhưng dù sao Go là một ngôn ngữ hiện đại, dễ học, dễ nắm bắt, dễ viết.

Để học syntax 1 ngôn ngữ thì rất dễ, python hay Java thì chắc ngồi vài hôm là xong. Nhưng để thực sự "đào sâu" vào ngôn ngữ đấy, thì mình nghĩ các bác cần nhiều thời gian hơn rất nhiều.
Có thể mất cả năm trời để hiểu rõ dc các cơ chế hoạt động phía dưới của ngôn ngữ, sử dụng một cách thông thạo, code đẹp đẽ tối ưu.
Do tính chất công việc hiện nay nên đa phần nhiều người ko đạt dc tới level đó và cũng ko coi việc đó là quan trọng, với mình đó là 1 điều đáng buồn.

Các bác chỉ có thể code 1 cách tối ưu khi các bác hiểu rõ ngôn ngữ đó hoạt động như thế nào.
Bữa cty mình có 1 case hài vl, má nào code Go sài ko đóng transaction hay sao ấy, nó lên connection poll . Sập,
Nói chung Go nó tường mình rõ ràng nhưng code cũng tỉ mỉ tí là OK. Chứ mấy cái vụ transaction bên thằng Hibernate nó lo cho rồi.

@longkim1508 02/2017
#35
Ưng 5
Ko biết rust với swift cho hỏi go nó thiếu gì vậy
Cái cơ bản nhất là generic (có vẻ version 2 sẽ có, ngon hay k thì k chắc lắm)
Thiếu kiểu result (năm 2020 rồi gọi hàm vẫn trả về cái err và phải check nil haha)
Ko có kiểu optional
Thiếu nhiều hàm xử lý sequence (map filter reduce...)
Polymorphism ở runtime (rust có traits, swift thì xài protocol ở compile time) do hệ thống typing sida. B có thể thấy dev go abuse cái interface{} ntn.
Cá nhân mình thấy go giống như ngôn ngữ giúp các dev js / python code ra phần mềm nhẹ và nhanh hơn, chứ ko có j nổi trội.

@Fire Of Heart
#39
Ưng 11
Tôi giờ ngày nào cũng tự nhủ, ráng mỗi ngày try-hard golang thêm vài tiếng (bên cạnh việc công ty).
Bao gồm đọc sách, code side project, học thêm về distributed system, database.

Cố gắng 1-2 năm nữa lên pro, hy vọng dc lương 4-5k là ổn, khỏi cần ra nước ngoài nữa.

Chắc phải bỏ bớt thú vui gái gú, chơi game lại T_T

@Nipin 03/2018
#47
Ưng 11
Vàng quan điểm
Mấy thằng như lazada hay tiki lúc nó có cả chục triệu user, tiền như núi rồi nó mới tính viết lại một số service bằng java, chứ startup các kiểu có thần kinh mới dùng java. Mà tôi thấy nó đổi sang java/c# chủ yếu là risk management (tìm lập trình viên java/c# thay thế mà chất lượng đạt chuẩn dễ hơn nhiều mấy thằng kia) chứ đếch phải performance hay ecosystem như mấy bạn nói.

Quay lại với Go hay Dart, tôi thấy cũng có tranh cãi khá nhiều. Thằng thì bảo mấy ngôn ngữ được backup bởi google, đã có vài triệu dòng code google dùng in house rồi thì sợ gì không có tương lai.
Thằng khác thì bảo chính là google nó mới có vấn đề: google hay đem con bỏ chợ không nói, vấn đề lớn nhất là core maintainers của go/dart là nhân viên google chứ không phải là cá nhân tự do. Tuy việc này khiến golang/dart phát triển nhanh hơn, nhưng cũng đồng nghĩa với việc ngôn ngữ đó nó phát triển theo nhu cầu của google chứ không phải là của cộng đồng (vụ generic của golang là điển hình cho vụ này), một lúc nào đó nhu cầu của google nó không phù hợp với nhu cầu chung của cộng đồng nữa thì sẽ có nhiều thứ nhiêu khê (và tín dụng của google cho vụ này thường là....)

mà tương lai ở đây nói là tương lai tươi sáng, chứ tương lai thường thường thì viết COBOL hay PASCAL đều có tương lai hết, lương cao việc không thiếu

@TrangTraiCoDon 04/2016
#48
Ưng 4
https://topdev.vn/blog/tai-sao-team-discord-chuyen-tu-go-sang-rust/
Nói chung chả có ngôn ngữ nào là hoàn hảo
Nói chứ sinh viên trường được dạy C++ thì cứ ràng mà nắm C++. Học xong chuyển sang Go hay Rust 1 nốt nhạc...
Có cái cc mà chuyển sang rust 1 nốt nhạc

@luanducgk 08/2012
#61
Ưng 5
^
Lazada, vứt sạch backend Go cũ chuyển hết sang Java.
Tiki đập một mớ cũ rewrite lại + build mới một loạt bằng Java.

Chắc vẫn nhỏ, không bì với unicorn được

Mình quen ông anh ở tiki, ông ấy bảo đập hết java đi làm lại bằng golang mà. Bác có nói ngược không vậy.

via theNEXTvoz for iPhone

@Ikeda
#67
Ưng 9
voz chửi mạnh thế này thì chủ thớt biết tương lai của go rồi đó ...

@lorddarkness 04/2011
#70
Ưng 6
Ưng 1
Mấy bạn chưa bao giờ làm Java hay lỡ cỡ rồi nhảy sang cái khác luôn ác cảm vì cho rằng Java nó cùi, chậm, dài dòng... Blabla nhưng đâu có biết Java nó luôn tiến hoá để adapt với modern software development.

Tôi dùng cả Go cả Java cho hệ thống bên tôi, ngày trước tôi rất thích Go ở chỗ lightweight phù hợp với môi trường serverless nhưng dạo này Java có GraalVM thì ngon lắm rồi. Tương lai nếu Go k phát triển hơn thì mấy thế mạnh hiện tại sẽ bị thằng Java nó cắn mất. Chắc luôn
Mình nghĩ java cần phải làm nhiều nữa mới có thể cắn thị phần của Go ở mảng infras (đặc biệt là k8s)
+ build time + binary size + build tools/process/dependencies manager: Go build ra fat binary vs tốc độ khá nhanh, quản lý dependencies vs Go module giờ khá tiện nữa so với việc config/quản lý lằng nhằng của java (maven, gradle, ant)
+ memory footprint: GraalVM giúp Java app giảm khá nhiều memory footprint khá nhiều vs native image rồi nhưng vẫn nhiều hơn so vs Go
+ faster start up times: cái này đặc biệt giúp scale app nhanh khi dùng vs HPA
+ cgroups awareness: config/optimize cho JVM based app cũng là một vấn đề để tránh OOM kill, tuy đã hỗ trợ khá ok vs hotspot rồi nhưng đạt đến mức perfect thì chưa
+ GraalVM được develop bởi Oracle, mà mình thì éo ưa + tin tưởng Oracle lắm sau mấy vụ license

Tuy nhiên mấy thằng lớn contribute khá nhiều vô cloud native (ngoài 3 ông lớn Google, AWS, Azure) như RedHat (IBM), OpenSUSE, ... cũng đầu tư nhiều vô Java để giúp nó cloud native hơn nên mình nghĩ trong tương lai sẽ có nhiều hướng để làm vs cloud tùy theo hướng/ngôn ngữ mình thích

@gtunveteran 02/2014
#162
Ưng 9
Thế còn bản thân cái ngôn ngữ thì sao
http://tmikov.blogspot.com/2015/02/you-dont-like-googles-go-because-you.html.
Ngồi đọc blog làm cái quái j, đào sâu suy nghĩ về 1 một ngôn ngữ đi, giải quyết các vấn đề của n là được, ngồi nghe mấy thằnd lập trình viên chém gió khác j đẽo cày giữa đồng đâu. Quan trọng mình cần với công việc thế nào, như t , thấy n cực kì hợp lí, n không cần một cái layer trung gian runtime để chạy là 1 lợi thế cho deploy rất tốt rồi, tiếp đến n build rất nhanh ( điều mà c,c++ ko làm được). Cái nữa là việc import thư viện cực kì đơn giản, khác hẳn với c,c++. Một ngôn ngữ giải quyết được vấn đề về portable, deploy, build thì đó là 1 ngôn ngữ tốt. Các hạ tầng bây h chạy theo microservice, phân chia ứng dụng theo chiều ngang chứ ko còn kiểu stacklayer như trước kia, tóm lại chỉ gồm 3 phần layer rõ ràng , low layer ( liên quan tới hệ thống, lưu trữ, ở đây người ta thường dùng c/c++, các hệ quản trị cơ sở dữ liệu hay nosql đều viết bằng c++ hết), tiếp theo layer service ( go được thiết kế với layer service này , tạo các api bằng beego quá nhanh quá gọn, toàn bộ func cho api quảng trị người dùng t có thể viết trong 2 tiếng đổ lại chỉ bằng beego, cần giao tiếp với lowlayer thì sử dụng thrift cực kì nhanh và ổn định), layer UI,UX là cuộc chơi của các lib hay framework js rồi ko phải bàn. Trong trường hợp có những service cần giữ các connection để realtime thì đã có websocket ( golang có hỗ trợ nhé ), và đặc biệt grpc là thứ được sử dụng nhiều nhất trong các kết nối kiểu này ( phần OTT cty t dùng grpc full). Bảo golang là best choice cho starup hoàn toàn có cơ sở vì những tính năng n đem lại, toàn bộ hệ thống OTT, chat ,video call, socialnetwork, livestream ,notification của cty đều được build up theo kiến trúc microservice với bộ 3 c++, golang , js, hệ thống luôn mượt mà và trơn chu nhé, khả năng mở rộng tới hàng tỉ user còn được ( đó là thế mạnh của microservice)

@dreamnight 06/2008
#163
Ưng 4
Ngôn ngữ càng bị chửi nhiều chứng tỏ là càng nhiều người dùng, chuyện quá bt.

Chửi 1 ngôn ngữ thì phải nói được use case của các bạn là j. Kn của tôi maintain critical backend microservices, qps 20k chạy ngon trên cluster 80 instances, mỗi ngày xử lý gần 10 triệu transaction, weekly deployment ầm ầm.

Đội dev nhiều người, cần collab nhiều, thì ngôn ngữ nó phải đơn giản, hạn chế những tính năng hack não để tập trung vào dev business feature. Còn 1 người, 1 service thì code go thấy thiếu thiếu, gượng gượng rồi chửi, tôi nghĩ chắc cũng bt.
Use the right tool for the right job. Vậy job của bạn là j? Mà chỉ thấy bàn về tool?

Đồng ý với bạn này.

Thật ra để hỏi ngôn ngữ XYZ nào tương lai sáng không thì chả có một cái foresee nào đủ mạnh để xác thực cả đâu.
Mình lấy ví dụ một ngôn ngữ đã có thời là hot trend nhé: Ruby on Rail. Cách đây 8-10 năm trước thì nó khá hot vì build nhanh một cái web trên nền MVC. Rồi lương ở VN cho Ruby vì thế tăng ào ào trong giai đoạn 2011-2015, nếu không nói quá giai đoạn đó nhiều cty sẵn sàng trả mức lương 1k$ cho người chỉ biết 1 năm exp, nhưng rồi cũng theo thời giai người ta lại nhảy ra chuyển qua Node, giờ nhìn lại thị trường còn bao nhiêu cty ở VN đang hunt Ruby đâu.

Thế nhưng những người giỏi Ruby ở giai đoạn đó thì sao? Không lẽ chết đói? Câu trả lời không đâu, người giỏi người ta lựa chọn ngôn ngữ vì sở thích nhưng kiến thức mới là thứ họ xây dựng. Chủ topic có sài XYZ ngôn ngữ nào, làm dự án nào nhưng tất cả đều xoay quanh kiến thức IT chung cả thôi, đó mới là thứ giúp bạn kiếm ra tiền, chứ kn viết một ngôn ngữ ko giúp bạn đi xa được.

@ThuyMy 08/2012
#171
Ưng 7
Chi tiết nhỏ thôi, nhưng làm mới thấy có giá trị.
Tôi thấy được cái này mất cái kia.
1. Bình thường nếu tôi khai báo expicit thì cần implement 1 interface IDE có thể gen tất cả các method cần implement cho tôi. Dùng structural typing này thì cái IDE đem đi vứt. (chả lẽ lại bật source của cái interface lên rồi copy paste sang )

2. Khai báo từng minh thì tôi dùng IDE refactor hàng trăm implement của 1 interface cái một và tôi sure 100% là đếch sót cái nào, còn kiểu implicit như trên thì IDE đem đi vứt (trừ phi nó list hết tất cả các class chứa method của cái interface đó và tôi phải đi soi lại từng cái một). Anh nào hay refactor code codebase to to tí thì cái này là vô cùng cần thiết, tôi đếch muốn ngồi cả ngày để debug chỉ vì rename 1 cái method
3. Tôi muốn impl 1 cái interface mà lỡ gõ sai chính tả thì chắc phải đợi lúc compile mới biết (mà giả sử cái class đó chưa được gán vào đâu hết thì chắc compile cũng xuôi lọt luôn).
Trong khi nếu anh khai báo tường minh:

3. Mấy cái DI Container dựa trên type chắc anh Go cũng không impl được vì biết đc class nào thuộc về interface nào đâu.
4. Tôi muốn xem 1 interface có những impl nào thì cũng chịu chết (chả lẽ 1 cái interface có method read nó list ra cả trăm cái class không liên quan cho tôi xem ?).

5. Auto complete cũng chịu chết, dùng implicit thì anh Go có suggest được tốt thế này không:


6. Khai báo từng minh thì tôi đọc source cũng dễ hơn, đọc 1 cái class thấy nó implement cái interface nào là biết ngay cái method đó để làm gì liền, cái class đó có thể xài trong context nào liền.
Nói chung theo kiểu anh Go thì thằng IDE chẳng khác gì phế vật.
Ở đây tôi bàn về khía cạnh tooling thôi, xài mấy ngôn ngữ typed mà IDE nó cứ trơ người ra thì rất bực. Hồi đó tôi code thử Go trên goland thì ôi thôi, xài IDE như không xài, chả khác gì đang code JS. Code vài dòng là phải bật docs lên để xem vì không biết interface này thằng nào đang impl để mà ném vô, trong khi Java, Kotlin tôi đếch cần phải nhìn docs luôn vì IDE nó suggest, gen code hết rồi.
Nói chung type system ngoài để check type thì còn để support IDE, khai báo càng tường minh thì IDE nó biết anh đang muốn gì mà còn support, mang tiếng là static typing mà IDE cứ trơ người ra thì code khác mịa gì Dương Quá đâu . Nói chung lập trình thì càng explicit càng tốt, code không phải chỉ có 1 mình bạn đọc mà còn cho người khác, cho IDE nó đọc nữa. Mấy anh cứ chửi thằng Java verbose chứ codebase to lên tí thằng nào cũng quay đầu về với anh Java cả

@ThuyMy 08/2012
#212
Ưng 10
Đọc bài của anh @gtunveteran làm tôi nghĩ ngay đến bài này
http://paulgraham.com/ds.html (btw chỉ là tranh luận trên mạng, anh không có thời gian đọc blog muốn do real thing thì tùy anh vậy).
Nhiều anh startup user còn chưa thấy đâu đã cầm đèn đi trước oto đổ tiền vô xây cơ sở hạ tầng, technical đủ thứ để phục vụ "tỉ người dùng". Những thứ này nó không hề free, đổi lại là thời gian deliver sản phẩm, thời gian maintain, tiền bạc, nhân lực... Bọn FAANG tự làm hàng inhouse vì đơn giản là nó có problem riêng và quan trọng là họ có thừa nhân lực để làm. Còn các anh startup học theo thì đếch khác gì solution looking for a problem (trừ phi cái solution đó là sản phẩm chủ lực của cái startup của nah).
Còn các anh startup tiền không có, nhân lực không có mà đòi làm hàng inhouse (để phục vụ tỉ người dùng) tôi nói thẳng là bullshit.
Thực tế thành công của startup nó đếch nằm ở yếu tố technical mà ở yếu tố thị trường. Đem tiền cho mấy anh "engineer" đi làm startup thì 10 anh hết 9 anh lo tìm cách build infrastructure phục vụ tỉ người dùng trong khi user thì chưa thấy đâu.
Thành công của VNG, của M$, của Google là họ tìm được thị trường và giành được nó trong 1 khoảng thời gian nhanh nhất có thể, đếch phải là vì họ build đc infrastructure phục vụ tỉ người dùng trong những ngày đầu . Việc scale lên chỉ là điều hiển nhiên khi họ tìm thấy thị trường, thấy tiền mà thôi.
Tôi không biết anh có phải là founder của cái startup mà anh đăng không, nếu phải thì tôi khuyên anh nên tập trung tìm khách hàng hơn là đi làm mấy thứ đốt tiền, đốt thời gian này. Còn ngược lại thì tôi nói thẳng anh chỉ là thằng engineer vẽ hươu vẽ vượn để đốt tiền bọn founder mà thôi

@ThuyMy 08/2012
#226
Ưng 6
Mấy bố VNG có tiếng khổ dâm từ xưa rồi mà, cái gì cũng muốn tự build mà tôi thấy cũng k có gì xuất sắc

Ngày xưa thời 2008 - 2009, tôi mấy lần đi nghe mấy lão Thanh, Thành... chém gió thấy khoe build DBMS, rồi build memory storage, rồi build proxy... các kiểu thấy cũng thường. Tôi thấy lấy hàng opensource về tuning chưa cần custom chạy cũng ngon y chang méo khác gì ))
Thật chất là mấy thứ đó gần như đã mature hết rồi. Hàng có sẵn thì cũng toàn là guru top tier dành cả đời để optimize, các anh bảo nhu cầu của anh "đặc thù" đến nỗi phải tự build riêng thì nói thẳng là nói phét. Hồi đó tôi cũng rãnh rỗi nghiên cứu bên trong proxy, rdbms có gì ... thì cũng sớm nhận ra hàm lượng chất xám trong đó là vô cùng lớn, nếu cty anh đếch chuyên về lĩnh vực đó thì trình anh đếch đủ, nhân lực anh cũng đếch đủ mà tự build riêng, còn thật sự đặc thù thì thuê bọn đó về tư vấn có khi còn kinh tế hơn là xây dựng solution nữa vời đếch đến đâu.
Văn hóa của bọn FAANG là tiền không thiếu, nhân lực không thiếu, nó dư tiền đốt để experiment mọi thứ.
Thị trường VN nói nhỏ thì không nhỏ nhưng so với bọn FAANG thì như cái móng tay, bọn VNG khoe tự build này nọ tôi nói thẳng cũng để thủ dâm tinh thần là chính (và các anh dev VNG đời đầu thì tôi lại càng nghi ngờ khi lưu password dưới dạng plaintext), trình các anh có cao đến mấy thì cũng đếch có cửa so với bọn dành cả đời để optimize sản phẩm của họ cả

@gtunveteran 02/2014
#247
Ưng 4
Đéo ưa cái tính hống hách dev nhà VNG nhưng tôi khẳng định Zalo là ứng dụng mess phổ biến hàng đầu VN. Voz ít ai chê zalo giật lag thế là ngon rồi mặc kệ hàng tự build hay tha từ tàu về
Toàn bộ backend là người việt hàng việt nhé, FE ko làm nên ko rõ, thực ra làm FE cũng khó khăn j đâu, nhiều bố coi thường trình dev việt nam mình quá, cỡ giao diện như Zalo , ko thiếu những team làm được, quan trọng là perfomance có đáp ứng được như vậy không, performance n liên quan tới backend là chính, và confirm là dùng hàng nhà trồng nhé ( tất nhiên có sử dụng opensource rồi ) . Mấy con bò trên tinhte đã ngu ko biết j lại còn phán dùng hàng Tàu. Cái j là tàu có thể chứ riêng phần mềm, các team việt nam hoàn toàn làm chủ được nhé, ở vn mình chỉ yếu trong việc tự build các lib hay xây dựng một nền tảng riêng, cái mảng đó phương Tây là trùm cmnr

@ThuyMy 08/2012
#248
Ưng 5
Nói chung là cái tôi của các anh dev khá lớn (nhất là mấy anh dev C, C++, ngôn ngữ càng low level thì cái tôi càng lớn) nhưng tầm nhìn thì thiếu đầu óc thực dụng. Các anh có trình độ đấy nhưng nhân lực, trình độ thì so thế đéo nào được bọn opensource. Thành ra sản phẩm mấy anh làm ra vừa phí công mà chất lượng cũng đếch hơn được bọn os là bao. Các anh tự hào sp các anh scale tỉ người dùng, dùng hàng os không đáp ứng nổi thì các anh đã benchmark chưa, có chịu khó tuning thử chưa hay lại là IKEA effect in play
Thuê 1 thằng có đầu óc practical build sản phẩm có khi còn tiết kiệm chi phí hơn
Tôi không chê dev Zalo cùi, không tự build đc sản phẩm in house ngon mà tôi chỉ chê họ rỗi hơi, bày vẽ đủ trò cho non-existent problem để rồi vừa tốn thời gian mà làm ra đc sản phẩm cũng inferior hơn bọn os. Mà đó là do họ dư tiền, dư nhân lực, vẽ ra hay bớt đi cũng không ảnh hưởng gì đến hòa bình thế giới. Còn các anh startup cũng bày đặt đi đú theo thì đúng là nhà nghèo học theo nhà giàu tiêu tiền
Tôi có 1 thuyết âm mưu là cái trò microservices là do bọn cloud provider nghĩ ra để dụ các anh startup đốt tiền .Đếch phải khi không tự nhiên mấy năm gần đây nhà nhà, người người ai cũng đòi microservices, ai cũng muốn sản phẩm của mình scale đến tỉ người dùng

@Fire Of Heart
#258
Ưng 4
Thôi để nào rảnh tôi làm 1 bài về microservice và monolithic cho các anh vào chém.

@#Anh BeDe Za Den Hose#
#264
Ưng 4
làm golang viết web app cực vl, chả có cái ORM nào ngon để xài với postgres. viết API mà toàn phải tự viết tay từ handler tới middleware này nọ. viết sang mấy cái khác thì cũng hầu hết tự code do spirit của community golang không thích framework.

dòm sang rails hay mới đây là phoenix (elixir) thì thấy golang chỉ sẽ mãi bì bõm trong đống microservices là hết vì ko có văn hoá framework/ opensource, quá ít tooling xung quanh như javascript/ rails...

@trungpham90 07/2012
#277
Ưng 11
Vàng quan điểm
Mấy thím trên này bao nhiêu tuổi ròi mà kinh nghiệm nhiều vậy. Lại toàn làm cty lớn, product lớn.

30, cựu tl Grab, h là Googler

toàn trẻ trâu xl thôi bạn, thông cảm, xã hội chèn ép, lên mạng xl tí thôi, đừng khó khăn quá.

Ko những xl, còn viết hẳn blog để xl https://medium.com/@phamtrung/google-the-complete-interview-journey-dd87419bc229
Ae đọc thấy hay cho xin vài clap

@trungpham90 07/2012
#284
Ưng 4
Thanh niên đó nền tảng cũng tốt mà, học ở Sing, làm ở Sing.
Vậy mà còn fail mấy lần mới pass dc.
Mình cũng fail amazon 1 lần, tới round cuối rồi ^^
để nào train pv lại chứ dạo này ko có nhu cầu nhảy việc lắm ^^
PV Amazon thì nên tập trung vào Leadership principle (LP), mỗi principle nên có 1 câu chuyện để demonstrate theo Star format (Situation-Task-Action-Result). Amz nó coi trọng behaviour hơn, vì nó nghĩ là tech thì train đc, còn behaviour thì ko. Còn tech thì chỉ cần vững, ko quá thọt là đc.

Vào Google thì hên xui khá nhiều, vì tỷ lệ chọi quá cao, và Google khá bảo thủ trong việc tuyển người.

@trungpham90 07/2012
#292
Ưng 4
hehe trước đó đã đọc qua bài viết của bác rồi, ko ngờ Googler cũng chơi voz Bài viết bác làm động lực cho e mỗi ngày cày LC, HR đó, với bài của anh này nữa https://medium.com/@XiaohanZeng/i-i...-and-luckily-got-five-job-offers-25178cf74e0f
Tài khoản Đã tốn tiền, sao bỏ đc

@BetterNextTime 10/2020
#328
Ưng 4
Bạn @weedvnz giải thích sai rồi.
  • Ở ví dụ đầu tiên, main thread sẽ block đến khi nào channel done có output -> Sai, main thread block đến khi nào có nhận đc value đầu tiền từ done channel hoặc done channel bị closed.
  • Deadlock là vì trong goroutine worker gửi 3 tới channel num mà không có receiver wait for message (num là unbuffered channel nên goroutine worker bị blocked, trong khi trong main thread thì bị blocked vì waiting for data from done channel, vì vậy mới ra deadlock (both threads are waiting for each other)

Code:
working...done
fatal error: all goroutines are asleep - deadlock!

goroutine 1 [chan receive]: <- receiver bị block
main.main()
/tmp/sandbox835183100/prog.go:24 +0xa5

goroutine 6 [chan send]: -> sender bị block
main.worker(0xc00005e060, 0xc00005e0c0)
/tmp/sandbox835183100/prog.go:13 +0xf8
created by main.main
/tmp/sandbox835183100/prog.go:22 +0x89

Program exited: status 2.

@BetterNextTime 10/2020
#345
Ưng 5
Nếu bạn muốn học go thì nên học dần dần như thế này:

@DeathEater
#349
Ưng 4
Sếp có chỉ thị học go để làm việc với bên backend go, cả team cùng bắt đầu học
frontend với backend giao tiếp với nhau qua API, thì qtam làm gì backend viết bằng ngôn ngữ nào. Đi bắt mấy thằng frontend học golang làm gì , sếp gì xàm vđ

@BetterNextTime 10/2020
#385
Ưng 6
Thím có project mẫu nào để học theo không nhỉ?

Trước giờ toàn code Java, Kotlin sang Go thấy thọt thọt chưa quen khó chịu quá.
Project mới bắt buộc dùng nên đang xem lại, trước giờ toàn học chơi chơi
Nếu code server thím có thể dùng thử cái library này
https://github.com/go-kit/kit/tree/master/examples

Còn nếu code library thì cứ tìm mấy cái repo của google mà tham khảo
https://github.com/google/go-cloud

Nếu muốn include cả frontend để làm monorepo thì xem cái này
https://github.com/sosedoff/pgweb

Cần library thì vào đây
https://github.com/avelino/awesome-go

@Guardiann 12/2020
#401
Ưng 10
Ưng 9
Ngược dòng
Mình tính sau làm dev backend nhưng muốn học mấy cái mới mới như python và golang để apply vào mấy cty product như Gotit thì có trung tâm nào uy tín dạy mấy cái đó không?
Cám ơn mọi người

Mình ở hà nội thì cũng tìm 1 số trung tâm như
techmaster, hvit nhưng mà sao cảm giác giảng viên không được giỏi lắm
Ngành này 120 IQ trở lên thì fen theo nha )