thảo luận Tất tần tật về Go (Golang)

Go thì học với làm lâu toàn đọc spec chứ không cần lên stack overflow làm gì.
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 :shame:
 
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 :shame:
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
 
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
Thằng GoKit này so với Gin thì sao thím?

Mấy bữa nay lọ mọ tìm pick library ráp vô mà trầy trật quá, mãi mới lựa được mấy cái này, giờ đang glue với nhau :sweat:

Configuration: https://github.com/spf13/viper
Postgres: https://gorm.io/
Redis: https://github.com/go-redis/redis
MongoDB: https://github.com/mongodb/mongo-go-driver
Elasticsearch: https://github.com/elastic/go-elasticsearch
RabbitMQ: https://github.com/streadway/amqp

Thím xem vậy đã ổn chưa? :shame:
 
Em học Go được 1 tháng rồi, cũng chưa làm được gì nhiều. Lí thuyết cũng chưa vững nữa :):):)

À bên em chọn fiber framework code nhé, vì mọi người background đều biết code nodejs expressjs

Sent from Xiaomi Redmi 7 using vozFApp
 
Thằng GoKit này so với Gin thì sao thím?

Mấy bữa nay lọ mọ tìm pick library ráp vô mà trầy trật quá, mãi mới lựa được mấy cái này, giờ đang glue với nhau :sweat:

Configuration: https://github.com/spf13/viper
Postgres: https://gorm.io/
Redis: https://github.com/go-redis/redis
MongoDB: https://github.com/mongodb/mongo-go-driver
Elasticsearch: https://github.com/elastic/go-elasticsearch
RabbitMQ: https://github.com/streadway/amqp

Thím xem vậy đã ổn chưa? :shame:
Gin performance tốt nhưng nó khá là plain. Thím có thể thấy nó nhét hết code vào trong handler.

Go-kit thì provides a good standard for microservices implementation. Nó có chia layer giống như kiểu https://www.oreilly.com/library/view/software-architecture-patterns/9781491971437/ch01.html

Fiber tiện và dễ học cho người biết express. Tuy nhiên nó cũng minimal như "express" vậy
 
Gin performance tốt nhưng nó khá là plain. Thím có thể thấy nó nhét hết code vào trong handler.

Go-kit thì provides a good standard for microservices implementation. Nó có chia layer giống như kiểu https://www.oreilly.com/library/view/software-architecture-patterns/9781491971437/ch01.html

Fiber tiện và dễ học cho người biết express. Tuy nhiên nó cũng minimal như "express" vậy
Cảm ơn thím, bữa giờ vọc thử Gin loay hoay tích hợp, chia layer thấy hơi vất vả, đá quá GoKit xem thử ntn :beauty:
 
Có câu lệnh để cài package mà gỡ package ra phải tìm đúng cái folder package đó để gỡ bằng tay :LOL:
Thực ra có cách nhanh hơn đó là gõ go mod tidy.
Mà thực ra package manager của Go vẫn dở dở ương ương, xài được chứ chưa gọi là ngon.
 
Thực ra có cách nhanh hơn đó là gõ go mod tidy.
Mà thực ra package manager của Go vẫn dở dở ương ương, xài được chứ chưa gọi là ngon.
go mod tidy nó chỉ làm mất cái dòng require trong file go.mod thôi. Ở đây tôi đang nói việc xóa hoàn toàn trong máy mà
 
Thì nó cache lại mà, cache nhiều lên thì cứ xóa hết để nó down lại thôi :byebye:

Như Maven lâu lâu cache nó đầy quá cũng phải xóa bớt :byebye:
Thì nó có cái câu lệnh go clean --modcache nhưng nó sẽ xóa hết tất cả các module đã cache, hài vl
 
Về việc xóa hoàn toàn module cache trong máy thì thực ra rất ít khi làm vì
  • module có thể được share giữa nhiều repo, mất thời gian đi check all repos để đảm báo xóa không cần tải lại
  • no gain khi remove cache, tương lai nếu cần phải download lại

Bản thân tôi chỉ làm khi:
  • có 1 cái dependency mà owner overwrite code nhưng giữ version giống thế, cách duy nhất để pull cái mới về là clear cache (tôi nói trên context của go 1.14)
  • package download bởi go get trong older version, nhưng muốn download lại bằng go mod tidy hoặc go mod vendor.
 
Go dùng sướng nhưng go mod thực sự như hạch, khó dùng hơn rất nhiều so với các package manager khác như npm, maven, nuget,...
 
Đá lên phát, bên Java mình hay dùng Feign hoặc Retrofit cho HTTP Client.
2 thằng này nó là declarative client nên rất tiện, khai báo interface rồi call nó tự request, binding... các kiểu trả POJO.
Bên Go có thằng HTTP/REST Client tương tự không nhỉ? :amazed:
 
Đá lên phát, bên Java mình hay dùng Feign hoặc Retrofit cho HTTP Client.
2 thằng này nó là declarative client nên rất tiện, khai báo interface rồi call nó tự request, binding... các kiểu trả POJO.
Bên Go có thằng HTTP/REST Client tương tự không nhỉ? :amazed:
go-resty

via theNEXTvoz for iPhone
 
Back
Top