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:
I hereby claim:
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'); | |
}); |
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); |
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) |
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) |