Skip to content

Instantly share code, notes, and snippets.

View wesleyegberto's full-sized avatar
🎯
Exploring

Wesley Egberto wesleyegberto

🎯
Exploring
View GitHub Profile
@wesleyegberto
wesleyegberto / convert-postman-to-insomnia.js
Created September 22, 2020 05:57
Script to convert a Postman backupt to Insomnia
/**
* Script to parse a Postman backupt to Insomnia keeping the same structure.
*
* It parses:
* - Folders
* - Requests
* - Environments
*
* Notes: Insomnia doesn't accept vars with dots, if you are using you must replace yours URLs manually (see ENVIRONMENTS_EXPORTS).
*/
@wesleyegberto
wesleyegberto / NodeMultiStage.Dockerfile
Created May 19, 2020 18:37
Example of Dockerfile to build Node app using multistage to lower its image size (without the large node_node modules).
# Stage 1 - the build process
FROM node:10-alpine as build-deps
WORKDIR /src
COPY package.json package-lock.json ./
RUN npm i --silent
COPY . ./
RUN npm run build
# Stage 2 - the production environment
FROM nginx:1.12-alpine
@wesleyegberto
wesleyegberto / Dockerfile.dev
Created April 26, 2020 08:17
Dockerfile to build docker image for development (supports live reload and debug by attaching to the remote JVM)
# docker run -d --rm --name my-app --network dkrnet -p 8080:8080 my-app
FROM maven:3.6.3-jdk-13
COPY pom.xml /workspace/
COPY src /workspace/src/
WORKDIR /workspace/
CMD ["mvn", "compile", "quarkus:dev", "-Dquarkus.live-reload.password=123"]
@wesleyegberto
wesleyegberto / monitored_ab_stress.sh
Last active January 25, 2021 08:03
Script to start a server and run a monitored stress test using Apache Bench
# Script to run stress test agains a URL using Apache Bench
# Usage: sh monitored_ab_stress.sh "$CMD" <URL-stress> <output-results-filename>
# where CMD="java -jar my-app.jar"
# script origin at https://github.com/jkremser/micronaut-app-k8s/blob/master/plot-test.sh
#!/bin/bash
echo "=== Monitored Apache Bench Test - Started"
echo $@
URL_TEST=$2
@wesleyegberto
wesleyegberto / profiling.vim
Created February 15, 2020 19:45
Script to profiling Vim to see what plugin are slowing thing down
" Source: https://stackoverflow.com/questions/12213597/how-to-see-which-plugins-are-making-vim-slow
:profile start profile.log
:profile func *
:profile file *
" At this point do slow actions
:profile pause
:noautocmd qall!
@wesleyegberto
wesleyegberto / jupyter_pandas_download_dataframe.py
Created February 11, 2020 00:08
Function to download a Pandas dataframe from a Jupyter notebook
def csv_download_link(df, csv_file_name, delete_prompt=True):
"""Display a download link to load a data frame as csv from within a Jupyter notebook"""
df.to_csv(csv_file_name, index=False)
from IPython.display import FileLink
display(FileLink(csv_file_name))
if delete_prompt:
a = input('Press enter to delete the file after you have downloaded it.')
import os
os.remove(csv_file_name)
@wesleyegberto
wesleyegberto / simple-control-value-acessor.ts
Created September 9, 2019 23:05
Base class to create Angular components
import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';
import { forwardRef, Type } from '@angular/core';
/**
* Function to create the basic provider to components which use `ngModel` as required by Angular.
* @param type component type which extends `SimpleControlValueAcessor`
*/
export function createProviders(type: Type<SimpleControlValueAcessor>) {
return [
{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => type), multi: true }
@wesleyegberto
wesleyegberto / api-blueprint-cheat-sheet
Created August 14, 2019 21:13
API Blueprint Cheat Sheet
## Apiary
# API Blueprint Cheat Sheet
[API Blueprint](http://apiblueprint.org)(.apib) - API description format, plain text, Markdown-like.
## API Blueprint Document Structure
![](./api-blueprint-cheatsheet-image.png)
@wesleyegberto
wesleyegberto / jwt-expiration.md
Created May 29, 2019 21:00 — forked from soulmachine/jwt-expiration.md
How to deal with JWT expiration?

First of all, please note that token expiration and revoking are two different things.

  1. Expiration only happens for web apps, not for native mobile apps, because native apps never expire.
  2. Revoking only happens when (1) uses click the logout button on the website or native Apps;(2) users reset their passwords; (3) users revoke their tokens explicitly in the administration panel.

1. How to hadle JWT expiration

A JWT token that never expires is dangerous if the token is stolen then someone can always access the user's data.

Quoted from JWT RFC: