cqrs

Recursos de programación de cqrs
Milan Savić is Software Engineer at AxonIQ. He has experience with various software projects ranging from chemical analyzers to contactless mobile payment systems. In some of those projects, CQRS and Event Sourcing came as a natural solution, but things had to be built from scratch almost every time. Finding out about AxonFramework got him interested in being a part of the solution. In March 2018 he joined AxonIQ team on a mission to build tools that would help others in building event-driven, reactive systems. Sara is an experienced in agile software development methods, she loves to see things from different perspectives. With an all-around approach to software development, from coding skills to high-level architectural view, since she joined AxonIQ she has focused on the development of Axon Framework and Axon Server.
Software Crafters Barcelona is a two day event which aims to attract and connect software development professionals, who feel passion for their work and share the values and principles of the Crafters movement. It aspires to be a meeting place that facilitates the magic of learning, teaching and collaboration, where participants create a gratifying and enriching experience. It doesn't matter who you are, your knowledge level or your favorite programming language. We encourage you to participate Aunque siempre intentamos hacerlo lo mejor que podemos, hay situaciones que nos pueden llevar a dificultar la mantenibilidad y evolución de nuestros desarollos. Ya sea por introducir complejidad accidental, por no explorar lo suficiente el ámbito del problema o debido al uso de patrones y tecnologías por gusto o por costumbre esto genera sufrimiento a largo plazo en los equipos. En esta charla veremos ejemplos representativos de estos escenarios y exploraremos posibles alternativas que nos pueden ayudar en cada caso. Hablaremos de Microservicios, CQRS, patrones de resiliencia, streams de mensajes y otra serie de buzzwords, y lo haremos tanto desde la perspectiva del abuso como de la del “buen” uso. #SoftwareCraftersBarcelona`21 #SoftwareCraftersBarcelona #SCBCN21 Síguenos en nuestras redes para estar al día de las novedades: - Twitter: https://goo.gl/MU5pUQ - Instagram: https://lk.autentia.com/instagram - LinkedIn: https://goo.gl/2On7Fj/ - Facebook: https://goo.gl/o8HrWX
En este vídeo te comparto 100 (sí, CIEN!) trucos para ayudarte a programar mejor. 👨‍💻 ¡Apúntate al Black Friday de Codely! 👉 https://bit.ly/codely-bf Los trucos que vemos: 1. Nivel de identación 2. Evita else 3. Encapsula los primitivos 4. Encapsula las colecciones 5. Sigue la ley de Demeter 6. No abrevies 7. Mantén tus entidades pequeñas 8. No clases con más de 2 dependencias en los constructores 9. No hagas getters/setters. Tell don't ask 10. Utiliza Object Calisthenics 11. Utiliza un Linter 12. Utiliza las GitHub actions para CI y CD 13. Usa un analizador estático del código 14. Sigue la regla de 3 repeticiones para evitar abstracciones prematuras 15. Ten un fichero "EditorConfig" 16. Llas I de las interfaces 17. La I de SOLID no significa inyección de dependencias 18. Versiona tus configs con dotly.sh 19. Cuando crees un recurso utiliza PUT 20. Busca la simplicidad en tu SO e IDE 21. Prueba en tu local la `beta`, pero en producción la `.1` 22. Si haces una web con light/dark theme haz que el tema se cambie según las preferencias 23. Utiliza light theme si estás en un ambiente con mucha luz 24. Y que puedas sobreescribirlo y sea configurable 25. Utiliza herramientas como ray.so o carbon.now.sh 26. Gestión de snippets 27. Hay tipografías que tienen un italic: Victor Mono, dank.sh 28. Si tienes dislexia utiliza comic mono 29. Si eres daltónica utiliza ese modo en todo lo que utilices 30. Aprovecha el Black Friday para formarte 31. No refactorices y cambies el comportamiento a la vez 32. No hagas una Pull Request que mezcle ambos 33. No hagas refactors si no tienes tests 34. Utiliza parallel change 35. cmd+shift+t para recuperar la última pestaña cerrada 36. Aprende un lenguaje muy diferente 37. Llega un punto donde el lenguaje es un detalle de implementación 38. Una de las cosas más complicadas de programar es ponerle nombre a las cosas 39. Y otra es saber dónde ponerlas 40. No utilices el argumento *porque lo dice menganita*, da argumentos reales 41. Es imposible hacer un código libre de errores/bugs 42. También es imposible modelar 100% tu dominio 43. El DDD tiene una parte táctica y otra estratégica 44. Los devs nos solemos centrar en la táctica 45. Ambas partes se unen en el lenguaje ubicuo 46. El UML no es el mal. Ta bien. Tampoco mucho. Pero ta bien 47. Bebe café 48. Pulsa control+k en github 49. Pusla control+shift+k 50. Pulsa t en GitHub 51. Pulsa . en GitHub 52. Sigue a ladybenko, moure, midu y manz 53. Ves a conferencias presenciales 54. No intentes empezar un proyecto con 100 microservicios desde 0 55. Depende 56. eXtreme programming 57. Cuando aprendemos está bien empezar a construir la casa por el tejado 58. Prepara algo para enseñar a los demás, es la mejor manera de aprender sobre un tema 59. Lee sitios como hackernews o mira el café con Codely 60. Organiza tu código por módulos y no por conceptos 61. Pon el tipo de retorno a todas tus funciones públicas 62. Modela tus errores con Either en lugar de lanzar excepciones 63. Gestiona los nulls utilizando un Maybe 64. Qué es una Mónada 65. Javascript no se va a comer el mundo 66. Aprende typescript 67. Haz descansos 68. Haz deporte 69. YAGNI, GRASP, Object Calisthenics 70. No te asustes por las siglas 71. CQRS no te obliga a tener un query y command bus 72. Pon límites o aviso de ellos en aws, gcp o lo que uses para no arruinarte 73. Hacer que un panel de grafana/kibana/datadog sea bonito hace que la gente lo use más 74. No hace falta que te aprendas al 100% los lenguajes de prometheus/influx 75. Ten una buena observabilidad de tu sistema 76. Con opentracing puedes saber todo lo que pasa en tu sistema 77. Usa `exa` en lugar de `ls` 78. Usa `bat` en lugar de `cat` 79. Usa `autojump` o `z` para navegar 80. Comando `tldr` 81. Alias para abrir el directorio actual en tu IDE 82. Encripta tu disco duro 83. Consistencia eventual 84. Evita utilizar joins 85. Explain 86. Intenta que main sea siempre estable por si algún día has de hacer un git bisect 87. Diferencia infraestructura de dominio 88. Busca ir un pasito más allá al hacer tutoriales de quick start 89. n8n no code 90. Star a repositorios de GitHub interesantes y follow al equipo Codely para ver sus stars 91. No uses lo nuevo 92. Considera usar un navegador que no sea Chrome 93. No uses valores arbitrarios en z-index 94. Hazte listas en Twitter 95. Usa Conventional Commit 96. Si no te acuerdas de un shortcut en VSCode presiona ctrl+shift+p 97. TIPs en X minutos ponlos a 2x y los verás en la mitad de tiempo 98. Descubre que puedes hacer con las developers tools de tu navegador 99. A programar se aprende programando 100. Like al vídeo y suscríbete {▶️} CodelyTV ├ 🎥 Suscríbete: https://youtube.com/c/CodelyTV?sub_confirmation=1 ├ 🐦 Twitter CodelyTV: https://twitter.com/CodelyTV ├ 💂‍♂️ Twitter Rafa: https://twitter.com/rafaoe ├ 📸 Instagram: https://instagram.com/CodelyTV ├ ℹ️ LinkedIn: https://linkedin.com/company/codelytv └ 📕 Catálogo cursos: https://bit.ly/cursos-codely
¿Es una moda el DDD, los microservicios y la Arquitectura Hexagonal? ¿Es demasiado utilizar CQRS? ¿Es algo que llevamos años haciéndolo y no lo sabíamos? Hoy vamos a discutir sobre ello y dar nuestra opinión. {▶️} CodelyTV ├ 🎥 Suscríbete: https://youtube.com/c/CodelyTV?sub_confirmation=1 ├ 🐦 Twitter CodelyTV: https://twitter.com/CodelyTV ├ 🧔🏻 Twitter Javi: https://twitter.com/JavierCane ├ 💂🏼 Twitter Rafa: https://twitter.com/rafaoe ├ 📸 Instagram: https://instagram.com/CodelyTV ├ ℹ️ LinkedIn: https://linkedin.com/company/codelytv ├ 🟦 Facebook: https://facebook.com/CodelyTV └ 📕 Catálogo cursos: https://bit.ly/cursos-codely
CQRS es el acrónimo de Command Query Responsibility Segregation. CQRS es un patrón de arquitectura que separa los modelos para leer y escribir datos. Para algunas situaciones, esta separación puede ser valiosa, pero se debe tener en cuenta que para la mayoría de los sistemas CQRS agrega una complejidad arriesgada. #KnowledgePills​​​ #Back​​​ #CQRS Descarga nuestras píldoras de conocimiento en formato ficha 👉 https://lk.autentia.com/2HeLWT8 ​​​ Síguenos en nuestras redes para estar al día de las novedades: - Twitter: https://goo.gl/MU5pUQ ​​​ - Instagram: https://lk.autentia.com/instagram ​​​ - LinkedIn: https://goo.gl/2On7Fj/ ​​​ - Facebook: https://goo.gl/o8HrWX ​​
- Diapositivas: https://speakerdeck.com/dav_garcia/arquitecturas-orientadas-a-eventos-de-las-notificaciones-al-event-sourcing - Código fuente de ejemplo: https://github.com/dav-garcia/reservas-teatro - Comparativa de sistemas de mensajería: https://softwaremill.com/mqperf/ Los sistemas distribuidos con comunicación asíncrona basada en eventos están de moda, así que es un buen momento para repasar conceptos, potenciales problemas y soluciones con un ejemplo que iremos evolucionando durante la charla. Hablaremos de tipos de eventos, CQRS, Event Sourcing, consistencia eventual, ordenación, idempotencia, versionado y sagas ¡entre otras cosas! Próximamente más charlas de back, front, devops... Si quieres estar a la última en tecnología, este es tu sitio. Síguenos en nuestras redes para enterarte de las próximas charlas: - Twitter: https://goo.gl/MU5pUQ - Instagram: https://lk.autentia.com/instagram - LinkedIn: https://goo.gl/2On7Fj/ - Facebook: https://goo.gl/o8HrWX
PcComponentes es una de las webs con más tráfico de España. Hoy contamos con programadores de allí para que nos cuenten cómo está hecho por detrás, qué problemas de rendimiento/escalabilidad se han encontrado y los grandes retos a los que se afrontan. Cursos relacionados con SOLID, Arquitectura Hexagonal, CQRS, Rabbit, testing, y todo lo que vemos en la entrevista: https://soporte.codely.tv/es/articles/4187948-en-que-orden-hacer-los-cursos {▶️} CodelyTV ├ 🎥 Suscríbete: https://youtube.com/c/CodelyTV?sub_confirmation=1 ├ 🐦 Twitter CodelyTV: https://twitter.com/CodelyTV ├ 💂🏼 Twitter Rafa: https://twitter.com/rafaoe ├ 👨🏻 Twitter Javi: https://twitter.com/JavierCane ├ 📸 Instagram: https://instagram.com/CodelyTV ├ ℹ️ LinkedIn: https://linkedin.com/company/codelytv ├ 🟦 Facebook: https://facebook.com/CodelyTV └ 📕 Catálogo cursos: https://bit.ly/cursos-codely
These are the best podcast/talks I've seen/listen to recently: Passion, Grace, & Fire - The Elements of High Performance (Josh Evans) [Engineering Career, Engineering Culture, Management, Teams] Josh Evans talks about the elements of high performance: passion, grace, fire, and what matters when trying to build and shape teams for high performance. He focuses on a period at Netflix when demands on engineering to quickly deliver multiple, parallel, large-scale technical transformations was...
These are the best podcast/talks I've seen/listen to recently: Passion, Grace, & Fire - The Elements of High Performance (Josh Evans) [Engineering Career, Engineering Culture, Management, Teams] Josh Evans talks about the elements of high performance: passion, grace, fire, and what matters when trying to build and shape teams for high performance. He focuses on a period at Netflix when demands on engineering to quickly deliver multiple, parallel, large-scale technical transformations was...
SOLID, Arquitectura Hexagonal, CQRS, DDD… total, que llega el momento de modelar nuestras entidades y servicios, y nos hacemos un lío que no sabemos ni por dónde empezar ????. Sensación de bloqueo. "Hostia, llevo 3 horas pensando y dibujando posibles alternativas y ninguna me convence. Al final será verdad que no tengo ni idea ????". Planteamos hipótesis erróneas del estilo… _si lo hago con DDD ""de verdad"" la query no aguanta ni 100 peticiones concurrentes, pero esto otro me parece una chapuza, y esto otro viola 7 de los 5 principios SOLID… ¡¡¡mmmmmamaaaaaa!!! ????._ Keep calm. ???? En esta charla planteamos distintos escenarios prácticos y reales. Casos de uso de esos que se pueden ver en un screenshot y donde la gran mayoría de desarrolladores web y móviles nos podemos ver identificados: Listado de items con 652342 filtros y combinatorias (backoffices, páginas de categoría o filtrados, búsquedas…). Tipologías de items con partes comunes pero pequeños matices (productos de distintas categorías por ejemplo). Distintas opciones a la hora de modelar nuestras interfaces para hacerlas realmente agnósticas de la infraestructura que hay detrás En fin. Cositas que nos han supuesto un reto a la hora de plantearlas, que hemos fallado modelando y hasta que no lo hemos tenido picado no nos hemos dado cuenta de la magnitud de la tragedia, y batallitas que ojalá puedan serle útiles a alguien ???? ------------- Síguenos en Twitter: https://twitter.com/bcnswcraft