Skip to content

Instantly share code, notes, and snippets.

View corlaez's full-sized avatar
🏠
WFH since January 2020

Armando Cordova corlaez

🏠
WFH since January 2020
View GitHub Profile
@corlaez
corlaez / README.md
Last active May 21, 2026 09:55
Hexagonal Architecture and Modular Implementation

Hexagonal Architecture

Conceptualized by Alistair Cockburn. Also known as "Ports and Adapters".

In a nutshell:

Application Driver -> Primary Adapter -> Primary Port -> Use Case -> Secondary Port -> Secondary Adapter -> External System/Side Effect
@corlaez
corlaez / ModuleAbcConfiguration.java
Last active September 23, 2021 13:33
Manual, Provider Based and Spring Configuration for Modules
// PseudoCode for Manual DI
public class ModuleAbcConfiguration {
private static ModuleAbcApi moduleAbcApi;
// Test Use (allows to inject mocks)
ModuleAbcApi newTestInstance(externalModule) {
return newInstance(externalModule);
}
// Production Use
@corlaez
corlaez / sinonUsageProblem.js
Created March 26, 2021 20:59
Sinon usage problem example
const sinon = require("sinon");
const auth = { session: () => "real" };
sinon.stub(auth, "session").callsFake(() => {
return "fake";
});
console.log(auth.session());// fake as expected
const holdSession = auth.session;//hapens in app.js app.use(auth.session);
sinon.restore();
console.log(auth.session()); // real as expected
console.log(holdSession()); // fake ... UNEXPECTED!
@corlaez
corlaez / transpose.js
Last active January 18, 2021 04:53
Transpose chords function
function transposeChord(inputChord, halfStepsToTranspose) {
const splittedChord = inputChord.split("/");
if (splittedChord.length > 2) throw new Error("Format error, too many slashes.");
const [transposedChordBase, modifier] = transposeChordBase(splittedChord, halfStepsToTranspose);
const maybeTransposedBass = transposeBass(splittedChord, halfStepsToTranspose);
const transposedChordHasAccident =
transposedChordBase.length > 1 &&
["#", "b"].includes(transposedChordBase.charAt(1));
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Parent Window</title>
<!-- Use the angular js we use at this moment -->
<script
src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.8.0/angular.js"
integrity="sha512-CiKQCmN86Y1I8Ewkt2gGnSNmsiVrS9Ez5MoudCBhTiBJScg+GjA9OlKdaeI0IuxdCl43Fs5x5zpeew2hfOatOA=="
crossorigin="anonymous"
@corlaez
corlaez / main.js
Created November 3, 2020 21:25
tixy
Math.sin(t)
@corlaez
corlaez / CoronaMidi.txt
Last active September 11, 2020 00:07
CoronaMidi
X:1
T:CoronaMidi (t=d)
M:5/8
K:G
addaaaggdd | dadaccddcc | caggdaacaa | accaaccaac | dddcgadcdc | ddgdagadcd |
gddcdcdaaa | cgaacdddaa | aadcdgdgdg | gcdgdcacdc | ggcdgcadgc | ddagdgcacd |
cacgcagdad | aaddaadaac | daaddacdgd | cgddgacagg | acacgagdaa | cdcgdcdadc |
ddcdgcaggc | dgcddacggd | ddcgdccgdg | ddgcagccga | dcadcagcac | adcdaggddd |
cgdccgggdg | dgaccgaaag | gdaagadgga | gagccddgdc | ccdggdddca | acgagaaaac |
acacgdccaa | cdcagdddgc | cdgddddaca | ggddcgcgac | gdgcdcgdac | gdggcdddgg |
@corlaez
corlaez / README.md
Last active June 11, 2020 05:05
Secure Random String

Class usage

Just paste it to a project that supports kotlin language and write a package declaration on the top. Done.

Run from console

Requires kscript to run as a script:

sdk install kscript
@corlaez
corlaez / docker-compose.yml
Last active May 20, 2020 15:26
Docker mysql socket connection
version: '3.1'
services:
# phpmyadmin:
# image: phpmyadmin/phpmyadmin
# ports:
# - 8080:80
# environment:
# - "PMA_HOST=mysql"
mysql:
image: mysql:5.6
@corlaez
corlaez / gist:4ab35d4383f6fb7a09a0e972920b8106
Created May 12, 2020 18:26
Notes for local dev jitsi-meet
# Open terminal where you want to create the jitsi sources folders and run:
# Download sources
git clone https://github.com/jitsi/jitsi-meet.git
# enter project folder
cd jitsi-meet
# make sure you have node version 12 or higher. Check it with
node -v
# If it is not 12.x.x or higher you should stop, and install the right version of node.
# Now install the npm packages