go

Recursos de programación de go
MasStack es un sistema Cloud Native escrito en Java y en Go que se ejecuta sobre GKE e Istio en Google Cloud Platform con más de 4000 vCPU y 12 TB de memoria, en total más de 10,000 pods. MasStack se apoya en sistemas OSS como Cadence que nos permite ejecutar millones de workflows de negocio cada hora o Kafka como columna vertebral de eventos gestionando más de 50k mensajes por segundo. En esta charla veremos cómo hemos afrontado un refactor de nuestra arquitectura y migración de una región de Google Cloud de Bélgica a Madrid sin impactar el negocio, en el menor tiempo posible y sin que los costes se vean afectados.
We’ll quickly define a ‘model on production’. There is a myriad of definitions people use right now. A variance wholly justified. Because the exact way we do define it depends. Among other factors on the size of the company, the number of models, the properties of the data, and so on. While we’re at it we’ll also answer some pinning questions such as: Is it ever OK to duct-tape the model deployment process? What about using shortcuts and opting for some manual work? Pithy answers. We’ll pause to take on any questions. If there will be too many to fit, we’ll provide contact information and make sure to address all enquiries after the presentation. Now practice makes perfect. Or nearer perfection at least. So we’ll briefly present two cases of solutions solving the same problem for two clients, both implemented with a vast difference. We’ll explain why. Both solutions required optimising search engine for results that translate into higher revenue. Yet, the companies are on opposite sides of the scale. One a huge, mature retailer, another a much younger and smaller online-booking business. The cost must always be justifiable. So, using these cases we’ll succinctly show how to fit a solution to match the context of the organisation. How to utilise it well. Next, quickly going through some details of the models and infrastructures, we’ll explain the reasoning behind the critical decisions as well as highlight the pros and cons of both approaches.
Las pruebas unitarias son geniales, pero sin unas adecuadas pruebas de integración, especialmente si dependes de sistemas externos como bases de datos u otros servicios, puede que no sepas cómo se comportará en realidad tu aplicación una vez la hayas desplegado en producción. Antes de Docker, configurar el entorno de pruebas de integración era un dolor: utilizando bases de datos en memoria o incluso fake, mockeando servidores... Muchas veces sin contemplar la compatibilidad cross-platform. Sin embargo, gracias a Docker, ahora podemos preparar muy rápidamente el entorno para nuestras pruebas. En esta charla veremos cómo utilizar Testcontainers for Go (https://golang.testcontainers.org) - uno de los más populares framework de testing que, utilizando Docker, permite crear dependencias de test de una manera fácil y consistente. Aprenderemos cómo usarlo para probar aplicaciones legacy, pero también cómo utilizarlo para aumentar tu productividad en el desarrollo mientras trabajas con tu aplicación. ------------- ¡Conoce Autentia! -Twitter: https://goo.gl/MU5pUQ -Instagram: https://lk.autentia.com/instagram -LinkedIn: https://goo.gl/2On7Fj/ -Facebook: https://goo.gl/o8HrWX
How would you build a database to support sustained ingestion of several hundreds of thousands of rows per second while running near real-time queries on top? In this session, I will go over some of the technical decisions and trade-offs we applied when building QuestDB, an open-source time-series database developed mainly in JAVA, and how we can achieve over a million row writes per second on a single instance without blocking or slowing down the reads. There will be code and demos, of course. We will also review a history of some of the changes we have gone over the past two years to deal with late and unordered data, non-blocking writes, read replicas, or faster batch ingestion.
Hola, La segunda edición del Mes de QA ya está aquí y este año con más sesiones, más ponentes y muchos temas interesantes para aprender, pero siempre con una temática en común, QA. Para esta edición, comenzamos con la sesión de Manu de la Peña, ingeniero software en AtomicJar, en la que nos hablará de Testcontainers (y atentos que no será la única sesión sobre el tema). Con Manu veremos que las pruebas unitarias  son geniales, pero  sin unas adecuadas pruebas de integración, especialmente si dependes de  sistemas externos como bases de datos u otros servicios, puede que no  sepas cómo se comportará en realidad tu aplicación una vez la hayas  desplegado en producción. Antes de Docker, configurar el entorno de pruebas de integración era  un dolor: utilizando bases de datos en memoria o incluso fake, mockeando  servidores... Muchas veces sin contemplar la compatibilidad  cross-platform. Sin embargo, gracias a Docker, ahora podemos preparar  muy rápidamente el entorno para nuestras pruebas. En esta charla veremos cómo utilizar Testcontainers for Go  (https://golang.testcontainers.org) - uno de los más populares framework  de testing que, utilizando Docker, permite crear dependencias de test  de una manera fácil y consistente. Aprenderemos cómo usarlo para probar  aplicaciones legacy, pero también cómo utilizarlo para aumentar tu  productividad en el desarrollo mientras trabajas con tu aplicación. La agenda de la sesión será la siguiente: 19:00 - Bienvenida y Anuncios 19:10 - Integration Testing: The way to Go - Manuel de la Peña. 19:50 - Q & A 20:00 - Networking ¡Ah! La sesión se podrá seguir a través de YouTube (si no podréis asistir presencialmente y queréis online os podéis registrar para ver el enlace), pero si venís presencialmente (en las oficinas de Liferay - P.º de la Castellana, 280) , tendremos networking alrededor de las PIZZAS. Nos vemos el martes 30. Un saludo.
The majority of Distributed systems are designed as untestable whiteboard drawings. This leads to design flaws that go unnoticed. Human intuition has its limits and these systems operate beyond those limits. This talk describes how we can use mathematical models and to find & eliminate these flaws. Distributed & concurrent systems have grown exponentially in popularity in recent years. However, the vast majority of these systems are designed as untestable whiteboard drawings. This leads to fundamental design flows that go unnoticed in the design phase leading to hard-to-find bugs that are expensive to correct. This talk is about TLA+, a high-level language used for modelling concurrent & distributed systems using simple mathematics. These models can be thought of as blueprint design of software except it is exhaustively-testable. Human intuition has its limits and most of these systems operate at a scale which is well beyond what we humans can comprehend. TLA+ specifications are written in formal language and they are amenable to finite model checking. The model checker finds all possible system behaviours up to some number of execution steps and examines them for violations of desired invariance properties such as safety and liveness. The objective of the talk is to demonstrate how TLA+ can be used to eliminate design flaws before system implementation is underway.
Las pruebas unitarias son geniales, pero sin unas adecuadas pruebas de integración, especialmente si dependes de sistemas externos como bases de datos u otros servicios, puede que no sepas cómo se comportará en realidad tu aplicación una vez la hayas desplegado en producción. Antes de Docker, configurar el entorno de pruebas de integración era un dolor: utilizando bases de datos en memoria o incluso fake, mockeando servidores... Muchas veces sin contemplar la compatibilidad cross-platform. Sin embargo, gracias a Docker, ahora podemos preparar muy rápidamente el entorno para nuestras pruebas. En esta charla veremos cómo utilizar Testcontainers for Go (https://golang.testcontainers.org) - uno de los más populares framework de testing que, utilizando Docker, permite crear dependencias de test de una manera fácil y consistente. Aprenderemos cómo usarlo para probar aplicaciones legacy, pero también cómo utilizarlo para aumentar tu productividad en el desarrollo mientras trabajas con tu aplicación.
At first, this was going to be a talk on the awesomeness of functional programming. Then, we had to admit that in real-life, we use a lot more object-oriented principles. So here it is, the talk to join both! We’re going to look at different features and judge how they would go if you’d use one principle or the other. We want to show you why it would be a bad idea to close yourself to one architecture just on principle, and we’d love to spark a debate on when one makes more sense than the other. ------------- ¡Conoce Autentia! -Twitter: https://goo.gl/MU5pUQ -Instagram: https://lk.autentia.com/instagram -LinkedIn: https://goo.gl/2On7Fj/ -Facebook: https://goo.gl/o8HrWX
Por Ramón Medrano Llamas. Management is not a promotion. Many folks move into management ladders at some for increased leadership opportunities, and some many of them come back to individual contributor (IC) roles after. And then back again. Many folks do well at both, but not at the same time.It is a Pendulum.Both coding and people need continuous, intense and conscious focus and attention. Is the only way to land cool features and to grow a strong team. Being manager teaches you the business, being IC teaches you the possibilities of the tech. Being at the intersection makes you invaluable.When you move to one side, your skills on the other begin to deteriorate, what to do? If you move to manage, are you going to be ""marked forever"" as manager? What is management in tech anyway? Wait. Are you saying I can go back to write code?I've been there. I joined Google as an IC, and then led teams in both technical lead and manager roles for five years in a team of 70+. I'm an IC again. I'd like to share you my experience: all the things I failed at (and oh boy are they many and big!), but all the value I gained on the way. What is the process to onramp and offramp and what are the pitfalls on the way. 📅 Puedes ver el programa completo en nuestra web: https://t3chfest.es/2023/programa
Ingeniero, programador y activista informático español, autor de herramientas digitales contra la corrupción en las instituciones y para la transparencia del sector público en España. ------------- ¡Conoce Autentia! -Twitter: https://goo.gl/MU5pUQ -Instagram: https://lk.autentia.com/instagram -LinkedIn: https://goo.gl/2On7Fj/ -Facebook: https://goo.gl/o8HrWX