Generado por All in One SEO v5.0.0.1, este es un archivo llms.txt, utilizado por LLMs para indexar el sitio. # Coding With No Try Catch When the program doesn't need try catch.. ## Sitemaps - [XML Sitemap](https://codingwithnotrycatch.com/sitemap.xml): Contains all public & indexable URLs for this website. ## Entradas - [Cómo levantar una demo CDC con SQL Server, Debezium y Kafka (Part 2): guía paso a paso](https://codingwithnotrycatch.com/demo-cdc-sql-server-debezium-kafka-guia-paso-a-paso/) - Guía práctica para levantar una demo CDC con SQL Server, Debezium, Kafka y Docker Compose, validar el snapshot y probar INSERT, UPDATE y DELETE. - [CDC con SQL Server, Kafka y Debezium (Part 1): arquitectura end-to-end con Docker Compose](https://codingwithnotrycatch.com/cdc-sql-server-kafka-debezium-arquitectura-docker-compose/) - Arquitectura paso a paso de una demo CDC con SQL Server, Debezium, Kafka y Docker Compose, con diagramas, decisiones de diseño y límites reales. - [Contenerización en .NET y Buenas Prácticas de Seguridad](https://codingwithnotrycatch.com/contenerizacion-en-net-y-buenas-practicas-de-seguridad/) - En este post, vamos a centrarnos en como contenerizar una aplicación en .NET, primero revisaremos que novedades tenemos con NET 8 y luego veremos un enfoque más clásico usando Docker. Adicionalmente, veremos que buenas prácticas es recomendable seguir y que consideraciones respecto a la seguridad debemos de tener en cuenta cuando lo realizamos. CONTENERIZACIÓN EN - [Autenticación en Angular con JWT](https://codingwithnotrycatch.com/autenticacion-en-angular-con-jwt/) - Hola, aprovechando un poco el paro que estamos teniendo en Perú por un aislamiento que a decretado el estado me di un tiempo entre el trabajo remoto y otras responsabilidades para hacer una pequeña demo sobre el uso de autenticación en Angular, específicamente como podemos valernos de interceptores y guards para poder trabajar con json - [Descargar Archivo en Angular](https://codingwithnotrycatch.com/descargar-archivo-en-angular/) - Bueno, con este post espero complementar el post anterior: Generación de un excel dinámico Lo hago con angular, por que cuando me toco revisarlo en el trabajo use angular para hacerlo. Pero, me parece que encontrarán algunas funciones que les pueden servir, dado que son javascript puro. Basicamente, tenemos una aplicación creada usando el tipico: - [Upload File Input Component con Angular Material](https://codingwithnotrycatch.com/file-upload-component-con-angular-material/) - Desde hace algún tiempo que vengo trabajando con Angular, recientemente en un freelo me vi en la necesidad de hacer la carga de un archivo a un controllador en net core. Actualmente en este proyecto se esta usando Angular Material y me di con la sorpresa que en esta librería no se tienen ninguna alternativa - [Crear web con Thymeleaf y Spring boot](https://codingwithnotrycatch.com/crear-web-con-thymeleaf-y-spring-boot/) - Esta semana, me consultaron por las alternativas que se tienen en Spring para implementar el patrón MVC del lado del frontend, de las múltiples formas que se tienen, la que más me llama la atención es thymeleaf dado que es lo más cerca a código html puro. En este post quiero explicar como podemos crear - [Tool: MySQL Profiler con Python](https://codingwithnotrycatch.com/tool-mysql-profiler-con-python/) - Hace ya algún tiempo que no hacia un post, tengo varios en el tintero y busco hacerme un tiempo en adelante para seguir actualizando el blog. Dicho esto, en este post voy a presentar una herramienta sencilla que he realizado para suplir la necesidad de un "SQL Profiler" para MySQL. Como saben, en la suite - [Integrando AWS Lambda a un Pipeline de Azure Devops](https://codingwithnotrycatch.com/integrando-aws-lambda-a-un-pipeline-de-azure-devops/) - Hola, espero que estén bien. Este post es una continuación al post anterior, en el cual revisamos como podemos realizar el deploy de un api en un AWS Lambda. Ahora seguiremos con lo que es más lógico que suceda luego de hacer esto, automatizar este proceso. En post anteriores, he mostrado el uso de Azure - [Publicando NetCore Api en AWS Lambda y AWS API Gateway](https://codingwithnotrycatch.com/publicando-netcore-api-en-aws-lambda-y-aws-api-gateway/) - Hola, en un par de post anteriores les explicaba como dockerizar un entorno de trabajo: Primera parte Segunda parte Hoy quiero explicarles como podemos desplegar nuestro api (para este ejercicio en NetCore 3.1) en AWS Lambda, usando un AWS API Gateway para poder consumir los recursos. Empezamos en nuestra aplicación en visual studio. Finalmente, en - [Dockerizando una aplicación Net 5.0 - Part. II](https://codingwithnotrycatch.com/dockerizando-una-aplicacion-net-5-0-part-ii/) - Este post es una continuación de su versión anterior, en este nos enfocaremos en como configuramos nuestro ambiente de desarrollo con docker. Retomemos en el código del proyecto. Vamos a modificar nuestro "launchSetting.json", eliminemos los profiles que tenemos actualmente, creemos uno nuevo para manejar nuestra instancia en docker que tendrá la siguiente estructura. { "iisSettings": - [Dockerizando una aplicación Net 5.0 - Part. I](https://codingwithnotrycatch.com/dockerizando-una-aplicacion-net-5-0-part-i/) - Hola, espero que los que me lean a esta fecha estén bien. Hace ya un tiempo que no publicaba nada, principalmente se debe a la falta de tiempo que he tenido por el trabajo y otras complicaciones que empezaron a surgir como consecuencia de la pandemia. En estos meses he aprendido algunas cosas nuevas relacionadas - [Crear Excel con Apache POI y Spring Boot](https://codingwithnotrycatch.com/crear-excel-con-apache-poi-y-spring-boot/) - Bueno, tuve que dejar un par de semanas de hacer post por que me acumule de trabajo y quería tocar este tema por que es algo que me parece muy útil para quien le toque ver temas referidos a la generación de excel con Spring boot o en general con java. Y para serles franco - [Spring Boot con Docker](https://codingwithnotrycatch.com/spring-boot-con-docker/) - Bueno, cada ves es más frecuente que los proyectos tengan todo un pipeline de devops para sus releases. He incluso, que en los lugares donde trabajan o en los proyectos que desarrollen tengan integrado ambientes con docker en los mismos proyectos. De manera tal, que puedan tener un ambiente de trabajo en el que se - [SQS en AWS con Spring Boot – Parte II](https://codingwithnotrycatch.com/sqs-en-aws-con-spring-boot-parte-ii/) - En el post pasado, revisamos que es una cola cuando hablamos de desarrollo, en que casos nos puede servir y que alternativas encontramos en el mercado para poder usarlas. Puntualmente, hicimos una demo de el uso de esta herramientas con SQS que es un servicio ofrecido por AWS. Sin embargo, buscando no extender el post - [SQS (Manejo de Colas) en AWS con Spring Boot - Parte I](https://codingwithnotrycatch.com/sqs-manejo-de-colas-en-aws-con-spring-boot-parte-i/) - Hola, hace ya algún tiempo desde el último post, la verdad es que la cuarentena nos a permitido a todos tener más tiempo con la familia, pero también a los que nos dedicamos al desarrollo de software nos hemos cargado de trabajo. En mi caso, especialmente por que mi familia tiene un colegio y he - [CI and CD con VSTS](https://codingwithnotrycatch.com/ci-and-cd-con-vsts/) - Hola, aún en cuarentena aprovecho para hacer un breve post sobre integración y deploy continuo. Como deben de haber notado, luego de todo el proceso de desarrollo que hemos cubierto en algunos post que he realizado antes y con distintas tecnologías, siempre terminamos la demo realizando una prueba de nuestra aplicación mientras esta en debugging. - [Web API NetCore 3.0 con EF](https://codingwithnotrycatch.com/entity-framework-web-api-net-core3-0/) - Esta semana me toco estar en una reunión donde entre otras cosas se discutía el desarrollo de un nuevo microservicio que permita suplir alguna necesidad del negocio, y mientras se exponían puntos de vista sobre que deberíamos considerar, se tuvo un debate ameno sobre el uso de un ORM para tener acceso a datos en - [Logging en Cloudwatch (Amazon Web Services)](https://codingwithnotrycatch.com/logging-en-cloudwatch-amazon-web-services/) - Hace un tiempo en el trabajo tuve la oportunidad de ser parte de un proyecto que buscaba centralizar el logging de múltiples aplicaciones en una sola y persistir esta información no en una base de datos, sino en uno de los servició que ofrece Amazon Web Services (AWS) para este fin que es CloudWatch. Esto - [Buenas Practicas Logging](https://codingwithnotrycatch.com/buenas-practicas-logging/) - En este post, me dedicaré a explicar que buenas practicas en logging se deben seguir cuando desarrollamos una aplicación web, que quede claro que este es un enfoque personal, que he podido formular con cierta experiencia. Por otro lado, es necesario comentar que si bien es cierto el ejemplo en cuestión, lo voy a realizar - [JWT en Spring Boot y Spring Security](https://codingwithnotrycatch.com/jwt-en-spring-boot-y-spring-security/) - Hace poco tiempo participe en una hackaton con unos amigos, y cuando empezamos a desarrollar ya la aplicación luego de haber analizado lo que se buscaba solucionar, yo me valí de una plantilla en spring que había estado trabajando en mi tiempo libre, era la primera ves que la ponía a prueba en un escenario - [Interface Segregation Principle](https://codingwithnotrycatch.com/interface-segregation-principle/) - El penúltimo principio del que nos toca escribir hoy es el de la segregación de interfaces. El corolario de este principio nos indica lo siguiente: Los clientes no deberían ser forzados a depender de métodos que no vayan a usar. El problema que se tiene con las grandes interfaces podemos verlo claramente en la clase - [Liskov Substitution Principle](https://codingwithnotrycatch.com/liskov-substitution-principle/) - El tercer principio que compone SOLID es el Liskov Substitution Principle, y este nos plantea Plantea una guía de cuando debemos usar herencia en POO. Let Φ (x) be a property provable about objects x of type T. Then Φ (y) should be true for objects y of type S where S is a subtype - [Open Close Principle](https://codingwithnotrycatch.com/open-close-principle/) - Siguiendo con la linea de post que presentan los principios que componen marco de buenas prácticas SOLID. El que vamos a desarrollar en este post es el "Open Close Principle", esto hace referencia a que el código que desarrollamos debería estar abierto a ser extendido y cerrado a las modificaciones. Sin más, veamos el ejemplo - [Single Responsibility Principle](https://codingwithnotrycatch.com/single-responsibility-principle/) - Ya hace un tiempo llevo trabajando en una empresa en el sector financiero, en la cual como toda empresa de su envergadura el stack de tecnologías y aplicaciones que poseen es diverso. Y como comprenderan eso tarde o temprano nos llevaba tener que trabajar con legacy code, y las serie de retos que estos involucran. - [Grabar log de errores en db y archivo con Spring Boot](https://codingwithnotrycatch.com/grabar-log-de-errores-en-db-y-archivo-con-spring-boot/) - Llevo ya algunas semanas revisando cursos sobre Spring, como he mencionado en publicaciones anteriores, el trabajo me lleva a desarrollar más en tecnologías de Microsoft. Sin embargo, conforme voy aprendido más de spring, me interesa más por lo pontente que es y el beneficio que brinda al evitar la repetición de código que no le - [Llamar un Mock Object dos veces con distintos resultados](https://codingwithnotrycatch.com/llamar-un-mock-object-dos-veces-con-distintos-resultados/) - Recientemente en el trabajo nos enfrentamos a un escenario cuando estabamos creando los test unitarios de un proyecto. Usando Moq como librería para el mocking queriamos que al llamar a un mismo método en el repositorio obtengamos distintos resultados por cada llamada. Ya en un post anterior he tratado un tema similiar a este con - [Unit Test y Mocking en NetCore](https://codingwithnotrycatch.com/unit-test-y-mocking-en-netcore/) - Cuando empezamos a desarrollar, sea el lenguaje que nos adopte incialmente no solemos tener en consideración los test unitarios y mucho menos el mocking. Si nos dedicamos a este mundo del desarrollo, tarde o temprano vamos a tener que llegar a saber para que sirven y como implementarlos, y de esto de lo que busco - [Caching en Web API Net Core 2.2](https://codingwithnotrycatch.com/aplicando-caching-net-core-2-2/) - Para nadie es sorpresa que la tendencia en el desarrollo con tencologias Backend de Microsoft se orienta cada vez más a NetCore, estando como release candidate (a la fecha de hoy) la versión 3.0. Hace un tiempo que vengo trabajando con NetCore, inicialmente en proyectos personales y luego en el trabajo. El tema que hoy ## Páginas - [About](https://codingwithnotrycatch.com/about/) - Hola, me llamo Walberth, soy un ingeniero de 26 años que vive en Perú. Empecé el blog como una forma de compartir conocimiento, sé que ya existen muchas otras páginas que buscan hacer lo mismo, pero yo siendo programador y apasionado por lo que hago no siempre encuentro mucha información sobre temas en especifico. Es ## Categorías - [Angular](https://codingwithnotrycatch.com/category/angular/) - [AWS](https://codingwithnotrycatch.com/category/aws/) - [Devops](https://codingwithnotrycatch.com/category/devops/) - [Entity Framework](https://codingwithnotrycatch.com/category/entity-framework/) - [NetCore](https://codingwithnotrycatch.com/category/netcore/) - [Spring](https://codingwithnotrycatch.com/category/spring/) - [Python](https://codingwithnotrycatch.com/category/python/) - [Integración de Sistemas](https://codingwithnotrycatch.com/category/integracion-de-sistemas/) ## Etiquetas - [angular](https://codingwithnotrycatch.com/tag/angular/) - [angular material](https://codingwithnotrycatch.com/tag/angular-material/) - [apache-poi](https://codingwithnotrycatch.com/tag/apache-poi/) - [api](https://codingwithnotrycatch.com/tag/api/) - [authentication](https://codingwithnotrycatch.com/tag/authentication/) - [automatizacion](https://codingwithnotrycatch.com/tag/automatizacion/) - [aws](https://codingwithnotrycatch.com/tag/aws/) - [c#](https://codingwithnotrycatch.com/tag/c/) - [caching](https://codingwithnotrycatch.com/tag/caching/) - [cloud](https://codingwithnotrycatch.com/tag/cloud/) - [cloudwatch](https://codingwithnotrycatch.com/tag/cloudwatch/) - [container](https://codingwithnotrycatch.com/tag/container/) - [desarrollo](https://codingwithnotrycatch.com/tag/desarrollo/) - [develop](https://codingwithnotrycatch.com/tag/develop/) - [development](https://codingwithnotrycatch.com/tag/development/) - [devops](https://codingwithnotrycatch.com/tag/devops/) - [docker](https://codingwithnotrycatch.com/tag/docker/) - [doitright](https://codingwithnotrycatch.com/tag/doitright/) - [efcore](https://codingwithnotrycatch.com/tag/efcore/) - [excel](https://codingwithnotrycatch.com/tag/excel/) - [file-uploader](https://codingwithnotrycatch.com/tag/file-uploader/) - [frontend](https://codingwithnotrycatch.com/tag/frontend/) - [html](https://codingwithnotrycatch.com/tag/html/) - [interface segregation](https://codingwithnotrycatch.com/tag/interface-segregation/) - [java](https://codingwithnotrycatch.com/tag/java/) - [jdbc](https://codingwithnotrycatch.com/tag/jdbc/) - [jwt](https://codingwithnotrycatch.com/tag/jwt/) - [lima](https://codingwithnotrycatch.com/tag/lima/) - [liskov subtitution](https://codingwithnotrycatch.com/tag/liskov-subtitution/) - [log](https://codingwithnotrycatch.com/tag/log/) - [log4j2](https://codingwithnotrycatch.com/tag/log4j2/) - [logger](https://codingwithnotrycatch.com/tag/logger/) - [logging](https://codingwithnotrycatch.com/tag/logging/) - [lombok](https://codingwithnotrycatch.com/tag/lombok/) - [microsoft](https://codingwithnotrycatch.com/tag/microsoft/) - [micrososft](https://codingwithnotrycatch.com/tag/micrososft/) - [mocking](https://codingwithnotrycatch.com/tag/mocking/) - [moq](https://codingwithnotrycatch.com/tag/moq/) - [net core](https://codingwithnotrycatch.com/tag/net-core/) - [netcore](https://codingwithnotrycatch.com/tag/netcore/) - [open close principle](https://codingwithnotrycatch.com/tag/open-close-principle/) - [patterns](https://codingwithnotrycatch.com/tag/patterns/) - [peru](https://codingwithnotrycatch.com/tag/peru/) - [postgres](https://codingwithnotrycatch.com/tag/postgres/) - [principle](https://codingwithnotrycatch.com/tag/principle/) - [security](https://codingwithnotrycatch.com/tag/security/) - [single responsability](https://codingwithnotrycatch.com/tag/single-responsability/) - [solid](https://codingwithnotrycatch.com/tag/solid/) - [spring](https://codingwithnotrycatch.com/tag/spring/) - [spring-security](https://codingwithnotrycatch.com/tag/spring-security/) - [sqs](https://codingwithnotrycatch.com/tag/sqs/) - [swagger](https://codingwithnotrycatch.com/tag/swagger/) - [thymeleaft](https://codingwithnotrycatch.com/tag/thymeleaft/) - [unit test](https://codingwithnotrycatch.com/tag/unit-test/) - [viewer](https://codingwithnotrycatch.com/tag/viewer/) - [visual studio](https://codingwithnotrycatch.com/tag/visual-studio/) - [vsts](https://codingwithnotrycatch.com/tag/vsts/) - [web](https://codingwithnotrycatch.com/tag/web/) - [webapi](https://codingwithnotrycatch.com/tag/webapi/) - [xunit](https://codingwithnotrycatch.com/tag/xunit/) - [lambda](https://codingwithnotrycatch.com/tag/lambda/) - [api gateway](https://codingwithnotrycatch.com/tag/api-gateway/) - [mysql](https://codingwithnotrycatch.com/tag/mysql/) - [profiler](https://codingwithnotrycatch.com/tag/profiler/) - [python](https://codingwithnotrycatch.com/tag/python/) - [programación](https://codingwithnotrycatch.com/tag/programacion/) - [herramientas](https://codingwithnotrycatch.com/tag/herramientas/) - [tools](https://codingwithnotrycatch.com/tag/tools/) - [contenerización](https://codingwithnotrycatch.com/tag/contenerizacion/) - [net](https://codingwithnotrycatch.com/tag/net/) - [dockerfile](https://codingwithnotrycatch.com/tag/dockerfile/) - [buenas-practicas](https://codingwithnotrycatch.com/tag/buenas-practicas/) - [good-practices](https://codingwithnotrycatch.com/tag/good-practices/) - [CDC](https://codingwithnotrycatch.com/tag/cdc/) - [ApacheKafka](https://codingwithnotrycatch.com/tag/apachekafka/) - [EventDriven](https://codingwithnotrycatch.com/tag/eventdriven/) - [RealTime](https://codingwithnotrycatch.com/tag/realtime/)