Skip to content

Instantly share code, notes, and snippets.


Wesley Egberto wesleyegberto

View GitHub Profile
wesleyegberto / convert-postman-to-insomnia.js
Created Sep 22, 2020
Script to convert a Postman backupt to Insomnia
View convert-postman-to-insomnia.js
* 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 /
Created Apr 26, 2020
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", ""]
wesleyegberto /
Last active Feb 23, 2020
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 "$CMD" <URL-stress> <output-results-filename>
# where CMD="java -jar my-app.jar"
# script origin at
echo "=== Monitored Apache Bench Test - Started"
echo $@
wesleyegberto / profiling.vim
Created Feb 15, 2020
Script to profiling Vim to see what plugin are slowing thing down
View profiling.vim
" Source:
:profile start profile.log
:profile func *
:profile file *
" At this point do slow actions
:profile pause
:noautocmd qall!
wesleyegberto /
Created Feb 11, 2020
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
if delete_prompt:
a = input('Press enter to delete the file after you have downloaded it.')
import os
wesleyegberto / simple-control-value-acessor.ts
Created Sep 9, 2019
Base class to create Angular components
View simple-control-value-acessor.ts
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 }
View api-blueprint-cheat-sheet
## Apiary
# API Blueprint Cheat Sheet
[API Blueprint]( - API description format, plain text, Markdown-like.
## API Blueprint Document Structure
wesleyegberto /
Created May 29, 2019 — forked from soulmachine/
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:

wesleyegberto /
Created May 29, 2019
Spring Boot - RabbitMQ - Request-Reply Pattern
import org.springframework.amqp.core.Binding;
import org.springframework.amqp.core.BindingBuilder;
import org.springframework.amqp.core.DirectExchange;
import org.springframework.amqp.core.Queue;
import org.springframework.amqp.rabbit.connection.ConnectionFactory;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer;
import org.springframework.amqp.rabbit.listener.adapter.MessageListenerAdapter;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
You can’t perform that action at this time.