- What do Etcd, Consul, and Zookeeper do?
- Service Registration:
- Host, port number, and sometimes authentication credentials, protocols, versions numbers, and/or environment details.
- Service Discovery:
- Ability for client application to query the central registry to learn of service location.
- Consistent and durable general-purpose K/V store across distributed system.
- Some solutions support this better than others.
- Based on Paxos or some derivative (i.e. Raft) algorithm to quickly converge to a consistent state.
- Service Registration:
- Centralized locking can be based on this K/V store.
#Installing VirtualBox | |
echo "Installing VirtualBox........................" | |
sudo apt-get install virtualbox | |
#Installing kubectl https://kubernetes.io/docs/getting-started-guides/kubectl/ | |
echo "Installing kubectl..........................." | |
wget https://storage.googleapis.com/kubernetes-release/release/v1.4.4/bin/linux/amd64/kubectl | |
chmod +x kubectl | |
sudo mv kubectl /usr/local/bin/kubectl |
EMOJI CHEAT SHEET
Emoji emoticons listed on this page are supported on Campfire, GitHub, Basecamp, Redbooth, Trac, Flowdock, Sprint.ly, Kandan, Textbox.io, Kippt, Redmine, JabbR, Trello, Hall, plug.dj, Qiita, Zendesk, Ruby China, Grove, Idobata, NodeBB Forums, Slack, Streamup, OrganisedMinds, Hackpad, Cryptbin, Kato, Reportedly, Cheerful Ghost, IRCCloud, Dashcube, MyVideoGameList, Subrosa, Sococo, Quip, And Bang, Bonusly, Discourse, Ello, and Twemoji Awesome. However some of the emoji codes are not super easy to remember, so here is a little cheat sheet. ✈ Got flash enabled? Click the emoji code and it will be copied to your clipboard.
People
😄
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
// Inspired by https://blog.filippo.io/salt-and-pepper/ | |
package main | |
import ( | |
"crypto/hmac" | |
"crypto/rand" | |
"crypto/sha256" | |
"crypto/subtle" | |
"encoding/base64" | |
"encoding/json" |
// Inspired by https://blog.filippo.io/salt-and-pepper/ | |
package main | |
import ( | |
"crypto/hmac" | |
"crypto/rand" | |
"crypto/sha256" | |
"crypto/subtle" | |
"encoding/base64" | |
"encoding/json" |
package main | |
import ( | |
"errors" | |
"log" | |
"github.com/libgit2/git2go" | |
) | |
func mergeBranches(repo *git.Repository, sourceBranchName string, destinationBranchName string) error { | |
// Assuming that these two branches are local already | |
sourceBranch, err := repo.LookupBranch(sourceBranchName, git.BranchLocal) |
func (repo *Repo) Pull() error { | |
branch, err := repo.Branch() | |
if err != nil { | |
return err | |
} | |
// Get the name | |
name, err := branch.Name() | |
if err != nil { | |
return err |
Below are the steps to get an ARM64 version of Ubuntu running in the QEMU emulator on Windows 10.
Install for Windows from https://qemu.weilnetz.de/w64/ (I used qemu-w64-setup-20181211.exe
)
Put C:\Program Files\qemu
on your PATH, and run the below to check it's working (which will list out
the CPUs the AArch64 emulator can emulate):
qemu-system-aarch64 -M virt -cpu help
{ | |
"version": "0.2.0", | |
"configurations": [ | |
{ | |
"name": "Example", | |
"type": "node", | |
"request": "launch", | |
"runtimeExecutable": "node", | |
"runtimeArgs": ["--nolazy", "-r", "ts-node/register/transpile-only"], |