- When using a
rewrite
rule inside of alocation
block in nginx you might want to add thebreak
keyword to it: Not using it will start a full evaluation of the URL after it is rewritten.break
works the way you would expect: It rewrites the rule and continues inside of the block. radicale
is a very simple self-hosted cal-dav and card-dav server that can be used to host your own calendars and contacts instead of pushing that data to google: https://radicale.org/- Go formatting methods (e.g. fmt.Printf or log.Printf) accept regular printf formatted strings. However the syntax is extended to include precission arguments. With this a string can be pad to a certain length when logging using
fmt.Printf("%20s", str)
(right-justified) andfmt.Printf("%-20s", strg)
(left-justified). - For logging purposes the formatting placeholder
%v
can be used to always output the value of the given argument (no matter the type) in a human-readable form. - In go channels can be used to build worker pools. This is useful to control the concurrency of goroutines (e.g. if a single goroutine uses to many resources it can be restricted to only 4 or 8 workers: https://gobyexample.com/worker-pools
- gorun is a utility to run go files directly using a shebang. However a gorun file is not a valid go file.