This talk is all live demos of tools developers can use in their inner-loop, at development time to be more productive with containers.
Docker Compose captures the build arguments and run arguments so we can focus on our coding.
colors: | |
primary: | |
background: '#252729' | |
foreground: '#e0e2e4' | |
normal: | |
black: '#474646' | |
red: '#f97583' | |
green: '#85e89d' | |
yellow: '#ffab70' |
sudo rm -rf /Applications/Tuxera\ Disk\ Manager.app | |
sudo rm -rf /Library/Application\ Support/Tuxera\ NTFS | |
sudo rm -rf /Library/Filesystems/fusefs_txantfs.fs |
This is a story about how I tried to use Go for scripting. In this story, I’ll discuss the need for a Go script, how we would expect it to behave and the possible implementations; During the discussion I’ll deep dive to scripts, shells, and shebangs. Finally, we’ll discuss solutions that will make Go scripts work.
While python and bash are popular scripting languages, C, C++ and Java are not used for scripts at all, and some languages are somewhere in between.
Redis is Database whereas RabbitMQ was designed as a message router or message-orientated-middleware (mom), so I'm sure if you look for benchmarks, you'll find that RabbitMQ will outperform Redis when it comes to message routing.
RabbitMQ is written in Erlang which was specifically designed by the telecom industry to route messages, you get clustering out of the box due to it being written in Erlang which means in a clustered environment, RabbitMQ will outperform Redis even further.
Furthermore, you get guaranteed delivery of messages due to the AMQP protocol, in other words, if the network drops while consuming the message, the consumer won't be able to say thanks for the message, so the consumer will drop the message and Rabbit will requeue the message, if you publish a message and the queue didn't say thanks to the publisher due to network problems or timeouts, Rabbit will drop the message and the publisher will keep on trying to publish the message. You can have publish retries with backoff policies, so
package main | |
import ( | |
"fmt" | |
"io" | |
"net" | |
) | |
func main() { | |
ln, err := net.Listen("tcp", ":8080") |