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) |