type StringBool = "true"|"false";
interface AnyNumber { prev?: any, isZero: StringBool };
interface PositiveNumber { prev: any, isZero: "false" };
type IsZero<TNumber extends AnyNumber> = TNumber["isZero"];
type Next<TNumber extends AnyNumber> = { prev: TNumber, isZero: "false" };
type Prev<TNumber extends PositiveNumber> = TNumber["prev"];
#!/usr/bin/env bash | |
set -e | |
CONTEXT="$1" | |
if [[ -z ${CONTEXT} ]]; then | |
echo "Usage: $0 KUBE-CONTEXT" | |
exit 1 | |
fi |
The proposal you’re about to read is not just a proposal. We have a working implementation of almost everything we discussed here. We encourage you to checkout and build our branch: our fork, with the relevant branch selected. Building and using the implementation will give you a better understanding of what using it as a developer is like.
Our implementation ended up differing from the proposal on some minor points. As our last action item before making a PR, we’re writing documentation on what we did. While I loathe pointing to tests in lieu of documentation, they will be helpful until we complete writing docs: the unit tests.
This repo also contains a bundled version of npm that has a new command, asset
. You can read the documentation for and goals of that comma
[Unit] | |
Description=Connecting MySQL Client from Compute Engine using the Cloud SQL Proxy | |
Documentation=https://cloud.google.com/sql/docs/mysql/connect-compute-engine | |
Requires=networking.service | |
After=networking.service | |
[Service] | |
WorkingDirectory=/usr/local/bin | |
ExecStart=/usr/local/bin/cloud_sql_proxy -dir=/var/run/cloud-sql-proxy -instances=<INSTANCE_CONNECTION_NAME>=tcp:3306 | |
Restart=always |
// Explained Method | |
Drawable deleteIcon = ContextCompat.getDrawable(context, R.drawable.ic_delete); | |
Drawable deleteIconCompat = DrawableCompat.wrap(deleteIcon).mutate(); | |
Drawable deleteIconMute = deleteIconCompat.mutate(); | |
DrawableCompat.setTint(deleteIconMute, Color.RED); | |
// Compact Method | |
DrawableCompat.setTint( | |
DrawableCompat.wrap( | |
ContextCompat.getDrawable(context, R.drawable.ic_check).mutate()), Color.WHITE); |
/!\ Be very carrefull in your setup : any misconfiguration make all the git config to fail silently ! Go trought this guide step by step and it should be fine 😉
- Generate your SSH keys as per your git provider documentation.
- Add each public SSH keys to your git providers acounts.
- In your
~/.ssh/config
, set each ssh key for each repository as in this exemple:
The initial source comes from sdcuike/issueBlog#4
https://github.com/PacktPublishing free to download books code by Packet
https://github.com/EbookFoundation/free-programming-books Very immense
use std::io::prelude::*; | |
use std::net::TcpListener; | |
use std::net::TcpStream; | |
mod app; | |
fn main() { | |
let listener = TcpListener::bind("127.0.0.1:7878").unwrap(); | |
for stream in listener.incoming() { | |
let stream = stream.unwrap(); | |
handle_connection(stream); |