Skip to content

Instantly share code, notes, and snippets.

View Charlyzzz's full-sized avatar
☁️
Cloud Sherpa

Erwin Carlos Debusschere Luoni Charlyzzz

☁️
Cloud Sherpa
View GitHub Profile

Keybase proof

I hereby claim:

  • I am charlyzzz on github.
  • I am erwincdl (https://keybase.io/erwincdl) on keybase.
  • I have a public key ASAr_xX-RcpFwKA8jHZWu55f8pJ9DWz7dajMA7ZfaPKBvAo

To claim this, I am signing this object:

import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.channels.Channel
import kotlinx.coroutines.channels.SendChannel
import kotlinx.coroutines.channels.consumeEach
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking
import java.util.*
fun main() {
defmodule ImageFinder do
use Application
def start(_type, _args) do
ImageFinder.Supervisor.start_link
end
def fetch(source_file, target_directory)
tramite = SupervisorDeTramites.spawn_link()
GenServer.call(tramite, {source_file, target_directory})
export function compose(...functions) {
if (functions.length === 0) {
throw new Error("No functions to compose!");
}
return (v) => {
return functions.reduceRight((value, newFunction) => newFunction(value), v);
};
}
const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World');
});
@Charlyzzz
Charlyzzz / index.js
Created February 25, 2020 04:23
actors.js
const { system, Behaviors } = require('./actors');
const ping = (msg, ctx, sender) => {
ctx.logger.log(msg);
ctx.scheduleOnce(sender, 'ping', 1000);
};
const pong = (msg, ctx, sender) => {
ctx.logger.log(msg);
ctx.scheduleOnce(sender, 'pong', 1000);
@Charlyzzz
Charlyzzz / App.js
Last active November 6, 2019 18:46
Ejemplo GRPC
import React from 'react';
import logo from './logo.svg';
import './App.css';
const { PubSubClient } = require('./pubsub_grpc_web_pb');
const { SubRequest } = require('./pubsub_pb.js');
class App extends React.Component {
constructor(props) {
super(props)
@Charlyzzz
Charlyzzz / gist:38baf662a515bbe187810819e0488218
Created September 12, 2019 18:30
Brainstorming de la charla
La paciencia de los usuarios es cada ves meno
El negocio exige agilidad y velocidad para adaptarse
Crecimiento exponencial del tráfico e información
Renacimiento: ML, microservicios, streaming de información están trayendo cambios masivos y nos dejan cuestionando las cosas que ya veníamos haciendo.
Ganando tracción ultra rápido
El monolito
Sistema compuesto de código e información. Solemos enfocarnos en el código y solemos olvidar el otro.
Big ball of mud. Es porque en muchos casos los sistemas crecen hasta tal punto en donde existe un fuerte acoplamiento entre la gente que trabaja para el.
Meter un cambio puede interferir con el cambio del otro porque usan la misma api, los mismos datos, etc. Entonces empezamos a retrasar
import com.lightbend.sbt.SbtAspectj.aspectjUseInstrumentedClasses
import com.typesafe.sbt.SbtMultiJvm.MultiJvmKeys.MultiJvm
import com.typesafe.sbt.SbtMultiJvm.multiJvmSettings
import sbtassembly.AssemblyPlugin._
lazy val akkaHttpVersion = "10.1.9"
lazy val akkaVersion = "2.5.24"
lazy val aspectjLintConfig = {
aspectjLintProperties in Aspectj += "invalidAbsoluteTypeName = ignore"
private def cloudwatchLogs(logGroup: String, streamName: String): Source[OutputLogEvent, NotUsed] = {
implicit val ec: ExecutionContextExecutor = ExecutionContext.global
val credentialsProvider = new AWSStaticCredentialsProvider(new ProfileCredentialsProvider("10pines").getCredentials)
val logsClient = AWSLogsClientBuilder.standard
.withCredentials(credentialsProvider)
.withRegion(Regions.US_WEST_2)