ddd

Recursos de programación de ddd
Pasamos de la típica discusión en #TypeScript sobre interface vs types a… ¿qué pasa si lo hacemos con Object Destructuring + Anonymous Types? ¿Implicaciones de legibilidad? ¿Rendimiento? ¿Por qué? ¿Por qué siempre se han hecho así las cosas en #JavaScript? ¿Tiene sentido que las sigamos haciendo así en todos los casos? En el caso particular de los constructores de nuestras clases: ¿Deberían recibir los parámetros como argumentos separados? ¿Tiene sentido encapsular todos los parámetros en un único objeto como argumento? ¿importa el orden de los argumentos? ¿Qué pasa con los parámetros opcionales? Este vídeo está sacado del curso de Domain-Driven Design en TypeScript a la hora de hablar del diseño de los constructores de nuestros agregados. Curso completo de #DDD en TS: 👉 https://pro.codely.tv/library/ddd-en-typescript-modelado-y-arquitectura-172533/375662/about/?utm_source=youtube&utm_medium=social&utm_campaign=course-launch&utm_content=ts-param-obj 👈 Curso completo para pasar de JS a TS 👉 https://pro.codely.tv/library/de-javascript-a-typescript-128106/347481/about/?utm_source=youtube&utm_medium=social&utm_campaign=related&utm_content=ts-param-obj 👈 {▶️} CodelyTV ├ 🎥 Suscríbete: https://youtube.com/c/CodelyTV?sub_confirmation=1 ├ 🐦 Twitter CodelyTV: https://twitter.com/CodelyTV ├ 💡 Twitter Rubén: https://twitter.com/rsaladocid ├ 🧔🏻 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
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 There are great teams out there who are obsessed with the idea of breaking down complex problems into smaller, easier to solve problems. Many of them are choosing a combination of agile and domain-driven design, where this idea is predominant. Local reasoning is a good way to tackle a problem, as long as we don't lose sight of the bigger picture: the purpose for which we write a program. Achieving this global vision is challenging and requires some strategy. We simply cannot catch up with a smart idea plus some luck. It forces us to learn new ways to give more weight to the purpose than to the details of implementation. This talk will challenge some best practices that are generally accepted, and will present others that in some cases could be superior in outcome. This story is part of my own journey transitioning from object-oriented to functional programming. A journey that took me to scrutinise some of the habits that I learned in the past and understand them in depth. I hope I can foster an open-minded discussion that will give everyone more options for their future decisions. I will present code examples, mostly in Java and Scala. #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
Curso de DDD en TypeScript ya disponible 👉 https://pro.codely.tv/library/ddd-typescript/ Y aquí el skeleton para empezar tus proyectos usando DDD en TS! 🧑‍💻 https://github.com/codelyTV/typescript-ddd-skeleton {▶️} CodelyTV ├ 🎥 Suscríbete: https://youtube.com/c/CodelyTV?sub_confirmation=1 ├ 🐦 Twitter CodelyTV: https://twitter.com/CodelyTV ├ 🧔🏻 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
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
Es un enfoque para el desarrollo de software con necesidades complejas mediante una profunda conexión entre la implementación y los conceptos del modelo y núcleo del negocio. El término fue acuñado por Eric Evans en su libro "Domain-Driven Design - Tackling Complexity in the Heart of Software". #KnowledgePills​​​ #Back​​​ #DomainDrivenDesign 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 ​​
Hoy traemos un vídeo especial 😊 Conversamos sobre aquellos aspectos que han cambiado nuestra forma de ver el desarrollo de software. En concreto, conceptos o momentos en los que por algún motivo se nos han abierto mundos de color y fantasía 🌈🍭🦄 Composición vs herencia, testing automatizado (no dumps DB), eventos de dominio, Arquitectura Hexagonal, Integración Continua, Value Objects, no utilizar ActiveRecord, comunicación entre microservicios de forma reactiva, Domain-Driven Design, equipos de trabajo y retos a solucionar 🤟 {▶️} 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
REPOSITORIO: https://github.com/GeeksHubsAcademy/typescript-di-typeorm-ddd-skeletor ¿Quieres aprender a crear un marco de trabajo para Node.js en los #MeetupsGeeksHubs? En este meetup, Javier Rodríguez, el CTO de GeeksHubs, nos enseñará a crear un entorno para desarrollar con typescript, inversify y typeorm. 🚀 Comenta en twitter con el hashtag #MeetupsGeeksHubs. 🎥 Suscríbete: https://www.youtube.com/user/geekshubs 🐦 Twitter GeeksHubs: https://twitter.com/geekshubs 🐦 Twitter GeeksHubs Academy: https://twitter.com/geeks_academy 📸 Instagram: https://instagram.com/geekshubs ℹ️ LinkedIn GeeksHubs: https://www.linkedin.com/company/geekshubs/ ℹ️ LinkedIn GeeksHubs Academy: https://www.linkedin.com/school/geekshubsacademy/ 🟦 Facebook: https://facebook.com/geekshubs 📕 Plataforma online +30 cursos gratuitos: https://geekshubsacademy.com/
These are the best podcast/talks I've seen/listen to recently: Monolith Decomposition Patterns (Sam Newman) [Architecture patterns, DDD, Microservices] (⭐⭐⭐⭐⭐) Sam Newman shares some key principles and a number of patterns to use to incrementally decompose an existing system into microservices. He covers patterns that can work to migrate functionality out of systems hard to change, and looks at the use of strangler patterns, change data capture, database decomposition and more. Strategic Au...
These are the best podcast/talks I've seen/listen to recently: Monolith Decomposition Patterns (Sam Newman) [Architecture patterns, DDD, Microservices] (⭐⭐⭐⭐⭐) Sam Newman shares some key principles and a number of patterns to use to incrementally decompose an existing system into microservices. He covers patterns that can work to migrate functionality out of systems hard to change, and looks at the use of strangler patterns, change data capture, database decomposition and more. Strategic Au...