Skip to content

Instantly share code, notes, and snippets.

Avatar

Paulo Basilio paulolorenzobasilio

View GitHub Profile
@paulolorenzobasilio
paulolorenzobasilio / docker-mountContainer
Created August 1, 2019 04:06
Mount the docker instance in the container to be able to use docker inside the container.
View docker-mountContainer
docker run -d -u root -v $(which docker):/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock -t image/image:lts
@paulolorenzobasilio
paulolorenzobasilio / composer-remove
Created August 1, 2019 04:23
Remove composer cleanly.
View composer-remove
rm -rf ~/.cache/composer
sudo rm -rf ~/.composer
sudo rm /usr/local/bin/composer
View Output Arguments
public class OutputArgument
{
public static void main (String[]args)
{
int[] source = { 1, 2, 3, 4, 5, 6 };
int[] destination = new int[6];
copyFromSourceToDestination (source, destination);
for (int i = 0; i < source.length; i++) {
System.out.println (destination[i]);
}
@paulolorenzobasilio
paulolorenzobasilio / post-merge
Last active August 19, 2019 23:33
Check changed files on post-merge and execute command
View post-merge
#!/usr/bin/env bash
# git hook to run a command after `git pull` if a specified file was changed
# Run `chmod +x post-merge` to make it executable then put it into `.git/hooks/`.
changed_files="$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)"
changed() {
echo "$changed_files" | grep --quiet "$1" && eval "$2"
}
@paulolorenzobasilio
paulolorenzobasilio / gitlab-deploy-node.yml
Last active September 5, 2019 03:58
Sample node project deployment on Gitlab with caching of node_modules, test, build.
View gitlab-deploy-node.yml
image: node:12.9.0-alpine
.ssh: &ssh
before_script:
- "which ssh-agent || ( apk update && apk add openssh-client )"
- eval $(ssh-agent -s)
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- '[[ -f /.dockerenv ]] && echo -e "Host *.$STAGING_ENV\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
- echo "$SSH_PRIVATE_KEY" > ~/.ssh/knit.pem
@paulolorenzobasilio
paulolorenzobasilio / destruct.md
Created November 12, 2019 00:46
Get subset of a JavaScript object properties
View destruct.md
@paulolorenzobasilio
paulolorenzobasilio / directory-structure.md
Created January 9, 2020 01:44
Adding directory structure on readme
View directory-structure.md

Directory Structure

Aerobatic defaults to some specific common front-end conventions. By conforming to these conventions you can simplify your configuration (convention over configuration).

Here is the basic suggested skeleton for your app repo that each of the starter templates conforms to:

├── app
│   ├── css
│ │ ├── **/*.css
View puppeteer-with-adblock.js
'use strict';
const puppeteer = require('puppeteer');
(async () => {
/* PRECONDITION:
0. download ublock, I used https://github.com/gorhill/uBlock/releases/download/1.14.19b5/uBlock0.chromium.zip
1. run $PATH_TO_CHROME --user-data-dir=/some/empty/directory --load-extension=/location/of/ublock
2. enable block lists you want to use
*/
@paulolorenzobasilio
paulolorenzobasilio / jenkins-docker_build_deploy
Last active August 2, 2020 17:19
Build & deploy a docker app using jenkinsfile
View jenkins-docker_build_deploy
#!/usr/bin/env groovy
pipeline {
agent any
stages {
stage('Build'){
steps {
echo 'Building...'
script {
/**
* login to docker for private repository
@paulolorenzobasilio
paulolorenzobasilio / squash.php
Created May 5, 2021 05:57 — forked from woganmay/squash.php
Use PHP to flatten a multidimensional stdClass object (like a json_decode result)
View squash.php
<?php
function squash($array, $prefix = '')
{
$flat = array();
$sep = ".";
if (!is_array($array)) $array = (array)$array;
foreach($array as $key => $value)