(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.
(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.
#!/bin/sh | |
# | |
# The MIT License | |
# | |
# Copyright 2014-2017 Jakub Jirutka <[email protected]>. | |
# | |
# Permission is hereby granted, free of charge, to any person obtaining a copy | |
# of this software and associated documentation files (the "Software"), to deal | |
# in the Software without restriction, including without limitation the rights | |
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
PRs are a great way of sharing information, and can help us be aware of the changes that are occuring in our codebase. They are also an excellent way of getting peer review on the work that we do, without the cost of working in direct pairs.
Ultimately though, the primary reason we use PRs is to encourage quality in the commits that are made to our code repositories
Done well, the commits (and their attached messages) contained within tell a story to people examining the code at a later date. If we are not careful to ensure the quality of these commits, we silently lose this ability.
{:optimizations :advanced | |
:output-dir "./target/client/production/" | |
:cache-analysis true | |
:output-modules { | |
{:id :common | |
:out "./resources/assets/js/common.js" | |
:entries '#{com.foo.common}} | |
{:id :landing | |
:out "./resources/assets/js/landing.js" | |
:entries '#{com.foo.landing} |
// each top-level message in a file is tag-prefixed (like fields) to differentiate between types | |
message Data { | |
oneof data_type { | |
fixed32 block_size = 1; // byte length of the following block (metadata + features/geometries) | |
Metadata metadata = 2; | |
Collection feature_collection = 3; | |
Collection geometry_collection = 4; | |
Collection collection_end = 5; |
defaults write -g NSScrollViewRubberbanding -int 0 | |
defaults write -g NSAutomaticWindowAnimationsEnabled -bool false | |
defaults write -g NSScrollAnimationEnabled -bool false | |
defaults write -g NSWindowResizeTime -float 0.001 | |
defaults write -g QLPanelAnimationDuration -float 0 | |
defaults write -g NSScrollViewRubberbanding -bool false | |
defaults write -g NSDocumentRevisionsWindowTransformAnimation -bool false | |
defaults write -g NSToolbarFullScreenAnimationDuration -float 0 | |
defaults write -g NSBrowserColumnAnimationSpeedMultiplier -float 0 | |
defaults write com.apple.dock autohide-time-modifier -float 0 |
No need for homebrew or anything like that. Works with https://www.git-tower.com and the command line.
gpg --list-secret-keys
and look for sec
, use the key ID for the next stepgit
to use GPG -- replace the key with the one from gpg --list-secret-keys
#!/bin/bash | |
set -euo pipefail | |
openssl req -new -text -passout pass:abcd -subj /CN=localhost -out server.req -keyout privkey.pem | |
openssl rsa -in privkey.pem -passin pass:abcd -out server.key | |
openssl req -x509 -in server.req -text -key server.key -out server.crt | |
chmod 600 server.key | |
test $(uname -s) = Linux && chown 70 server.key | |
docker run -d --name postgres -e POSTGRES_HOST_AUTH_METHOD=trust -v "$(pwd)/server.crt:/var/lib/postgresql/server.crt:ro" -v "$(pwd)/server.key:/var/lib/postgresql/server.key:ro" postgres:12-alpine -c ssl=on -c ssl_cert_file=/var/lib/postgresql/server.crt -c ssl_key_file=/var/lib/postgresql/server.key |