Write and read only for MySql replica in Golang
Em đang muốn triển khai 1 service bằng Golang kết nối với 1 cụm MySql replica cụ thể sẽ write vào master và chỉ đọc từ các slave, ví dụ với MongoDb thì em chỉ cần định nghĩa tất cả trong connectionString và mongo sẽ lo việc ghi vào master và đọc từ slave. Không biết MySql có hỗ trợ hay Golang có package nào hỗ trợ như vậy được không ạ.
vì sao Blockchain chuộng rust và golang hơn Java
em có tìm hiểu vài công ty làm blockchain thì họ yêu cầu phải biết rust, golang hoặc NodeJS, vì sao Java k hợp với ứng dụng Blockchain vậy ạ, em thấy có dự án này : <a href="https://github.com/web3j/web3j " target="_blank">https://github.com/web3j/web3j </a> họ vẫn dùng Java ạ.
Tại sao những framework/language như là NodeJS, Golang thì thường tự run được 1 web application?
a có thể explained cho e tại sao những framework/language như là NodeJS, Golang thì thường tự run được 1 web application mà ko cần 1 webserver như Apache Tomcat giống Java Spring ko a?
[Go] Đây có phải 1 dạng thừa kế?
<pre>
type Evidence interface {
ABCI() []abci.Evidence // forms individual evidence to be sent to the application
Bytes() []byte // bytes which comprise the evidence
Hash() []byte // hash of the evidence
Height() int64 // height of the infraction
String() string // string format of the evidence
Time() time.Time // time of the infraction
ValidateBasic() error // basic consistency check
}
type DuplicateVoteEvidence struct {
VoteA *Vote `json:"vote_a"`
VoteB *Vote `json:"vote_b"`
// abci specific information
TotalVotingPower int64
ValidatorPower int64
Timestamp time.Time
}
var _ Evidence = &DuplicateVoteEvidence{}
</pre>
<p>
</p>
<p>
Đây là một dạng thừa kế à mọi người?
</p>
Go đoạn lệnh này có nghĩa là gì?
Trong đoạn lệnh dưới đây thì <code>ev, ok := ev.(<em>types.DuplicateVoteEvidence)</code> có nghĩa là gì nhỉ? Nó là gọi hàm hay là gì nhỉ?
</em>
<pre>
type Evidence interface {
ABCI() []abci.Evidence // forms individual evidence to be sent to the application
Bytes() []byte // bytes which comprise the evidence
Hash() []byte // hash of the evidence
Height() int64 // height of the infraction
String() string // string format of the evidence
Time() time.Time // time of the infraction
ValidateBasic() error // basic consistency check
}
type DuplicateVoteEvidence struct {
VoteA *Vote `json:"vote_a"`
VoteB *Vote `json:"vote_b"`
// abci specific information
TotalVotingPower int64
ValidatorPower int64
Timestamp time.Time
}
evidenceFromEachValidator := make([]types.Evidence, nValidators)
// set giá trị cho evidenceFromEachValidator
for idx, ev := range evidenceFromEachValidator {
ev, ok := ev.(*types.DuplicateVoteEvidence)
}
</pre>
[Go] cách viết 1: này nghĩa là gi?
Trong đoạn code này
<p>
</p>
<pre>
var flagSet = flag.NewFlagSet(os.Args[0], flag.ExitOnError)
if err := flagSet.Parse(os.Args[1:]);
</pre>
<p>
</p>
<p>
Thì <code>1:</code> nghĩa là gì nhỉ?
</p>
Go có bao nhiêu tính chất trong danh sách này
<ol start="1">
<li>Hỗ trợ cả TCP và UDP
</li>
<li>Non-bloking I/O (NIO): Sử dụng NIO để đảm bảo khả năng phục vụ và một hiệu suất cao nhất
</li>
<li>I/O: Tương tác với dễ dàng với byte bit, đọc các file cấu hình hay tương tác với hệ điều hành
</li>
<li>Concurrency hay Multi-Threading
</li>
<li>Generics: Làm việc rất nhiều với các dữ liệu dạng collection như Map, List, Queue mà không cần phải ép kiểu
</li>
<li><a href="https://en.wikipedia.org/wiki/Reflective_programming" target="_blank">Reflection</a>: Tương tác với các thuộc tính, các hàm trong lớp mà không cần phải biết kiểu của lớp đó.
</li>
<li>Annotation: Dùng để đặc tả các lớp, hỗ trợ cho việc scan tự động ở Runtime và hỗ trợ cho DI và IoC
</li>
<li><a href="https://en.wikipedia.org/wiki/Just-in-time_compilation" target="_blank">Just in Time</a>: Để biên dịch các lớp và tạo ra các đối tượng ở Runtime, phục vụ cho DI và IoC
</li>
<li>Exception
</li>
<li>Có thể tự động tìm kiếm được các module, load lên và chạy
</li></ol>
[go]Dịch ra tiếng việt các dòng lệnh với for và switch case này giúp mình với
Dịch ra tiếng việt ý nghĩa các dòng lệnh với for và switch case này giúp mình với, nó quá tầm vũ trụ với mình:
<p>
</p>
<pre>
func (af *AutoFile) closeFileRoutine() {
for {
select {
case <-af.closeTicker.C:
_= af.closeFile()
case <-af.closeTickerStopc:
return
}
}
}
</pre>
[Go] khi nào go func được gọi?
Mình có hàm helloWorld thế này:
<p>
</p>
<pre>
func helloWorld() {
fmt.Print("Hello");
go func() {
fmt.Println(" World");
}()
}
</pre>
<p>
</p>
<p>
Nhưng khi gọi hàm này thì không thấy World được in ra, vậy khi nào go func được gọi mọi người nhỉ?
</p>
[Go]Thư viện unit test xuất được tỉ lệ coverage ra html file
Bên java mình có thể xuất được tỉ lệ coverage kiểu này: <a href="https://coveralls.io/builds/40395454">https://coveralls.io/builds/40395454</a> bên go có thư viện nào support không mọi người nhỉ?
[Go]Cách thoát khỏi 2 vòng for lồng nhau
mình có 2 vòng for thế này:
<p>
</p>
<pre>
for(int i = 0 ; i < 100 ; i++) {
for(int j = 0 ; j < 100 : j++) {
if(j == 50) {
// mình muốn thoát cả 2 vòng lặp ở đây
}
}
}
</pre>