Product Crafter
Product Crafter
  • 61
  • 39 890
¿Quieres refactorizar como un pro? Mira esto ahora | Junior a Senior
Aprende a refactorizar como un pro con este framework práctico de tres pasos. En este vídeo, compartimos consejos basados en experiencia real para abordar la mejora de código legacy sin comprometer la funcionalidad del negocio. Pasa de Junior a Senior con estos pasos!
Contenido del vídeo:
• Framework de tres pasos para refactoring
• Caso práctico: Refactorizando un sistema de login
• Errores comunes y cómo evitarlos
• Importancia de los tests y la comunicación en equipo
¿Tienes tu propia técnica de refactoring? ¡Compártela en los comentarios!
#Refactoring #DesarrolloSoftware #CleanCode #Programming
Переглядів: 280

Відео

De código espagueti a código PROFESIONAL en 15 Minutos
Переглядів 5 тис.12 годин тому
Descubre cómo los Value Objects pueden transformar tu código y hacerlo más mantenible. De código espagueti a código profesional. En este vídeo, exploramos este concepto fundamental del desarrollo de software a través de un ejemplo práctico de gestión de pesos (kilogramos y gramos). Aprenderás: • Qué son los Value Objects y cuándo usarlos • Cómo implementarlos correctamente • Técnicas de validac...
Por qué el código de tu startup es un desastre (y cómo salvarlo)
Переглядів 76916 годин тому
¿Por qué las startups acaban con código difícil de mantener? En este vídeo analizamos las causas principales de este problema común y, lo más importante, cómo solucionarlo. Descubre: - Las 3 razones principales por las que el código de tu startup se degrada y acaba siendo un desastre - El impacto real en tu negocio - 5 pasos prácticos para mejorar tu base de código - Consejos para cambiar la me...
¿Por qué tus tests son un caos? Soluciona todo con el patrón Builder
Переглядів 1,6 тис.День тому
¿Por qué tus tests son un caos? Soluciona todo con el patrón Builder
Las 3 skills que todo desarrollador Junior necesita para conseguir llegar a Senior
Переглядів 693День тому
Las 3 skills que todo desarrollador Junior necesita para conseguir llegar a Senior
La estrategia que salvará a tu startup de desperdiciar recursos | Wardley Maps y Domain Core Mapping
Переглядів 13014 днів тому
La estrategia que salvará a tu startup de desperdiciar recursos | Wardley Maps y Domain Core Mapping
Cómo ser Frontend Developer en 2025
Переглядів 72814 днів тому
Cómo ser Frontend Developer en 2025
Cómo ser Backend Developer en 2025
Переглядів 4,9 тис.14 днів тому
Cómo ser Backend Developer en 2025
¡Transforma tu código con colecciones! El secreto que pocos usan en desarrollo de software
Переглядів 42014 днів тому
¡Transforma tu código con colecciones! El secreto que pocos usan en desarrollo de software
Cómo DESACOPLAR tu Código en 15 Minutos | Event Bus + Python 🚀
Переглядів 42721 день тому
Cómo DESACOPLAR tu Código en 15 Minutos | Event Bus Python 🚀
Refactorizando Advent of Code: Buenas prácticas que no puedes ignorar
Переглядів 91721 день тому
Refactorizando Advent of Code: Buenas prácticas que no puedes ignorar
El error común al integrar IA en tu código (y cómo evitarlo)
Переглядів 41628 днів тому
El error común al integrar IA en tu código (y cómo evitarlo)
Cómo escribir código x10 más rápido con GitHub Copilot
Переглядів 148Місяць тому
Cómo escribir código x10 más rápido con GitHub Copilot
El secreto para implementar Logging efectivo en tu empresa
Переглядів 294Місяць тому
El secreto para implementar Logging efectivo en tu empresa

КОМЕНТАРІ

  • @eliamrr
    @eliamrr 5 годин тому

    🌱

  • @montee2012
    @montee2012 15 годин тому

    buen video, de igual forma la pagina de los roadmaps me parecio magnifica !

    • @ProductCrafter
      @ProductCrafter 7 годин тому

      Gracias! Me alegro de que te haya servido

  • @javier01123
    @javier01123 18 годин тому

    y como mapearias los value objects a una base de datos?

    • @ProductCrafter
      @ProductCrafter 17 годин тому

      Gracias por preguntar! Hay varios patrones. Por ejemplo un value object coordenadas que tuviese los atributos latitude y longitude podías guardarlos en la tabla tal cual como latitude y longitude o asignarles un prefijo como por ejemplo location_latitude y location_longitude para dejar claro que esos dos campos pertenecen a un concepto que los engloba llamado location. Las dos están bien y depende el contexto puede quedar más clara una o la otra. Cualquier duda más dime!

  • @franciscojavierramirezhern8588
    @franciscojavierramirezhern8588 22 години тому

    Primer video de tu canal que veo, me encantó tu manera de explicar. Nuevo sub

    • @ProductCrafter
      @ProductCrafter 20 годин тому

      Gracias! Si quieres un video sobre algún contenido en especial dime!

  • @Michel-dv3qr
    @Michel-dv3qr День тому

    Increíble el contenido que estas haciendo, es oro puro.

    • @ProductCrafter
      @ProductCrafter 22 години тому

      Gracias! Me alegro de que te haga gustado! Si te gustaría ver videos sobre algún tema en concreto dime!

    • @Michel-dv3qr
      @Michel-dv3qr 19 годин тому

      @@ProductCrafter Hola, Quisiera sugerirte un tema para un video que me parece muy interesante y útil para muchos desarrolladores que trabajamos con Django. Me gustaría aprender más sobre cómo optimizar el manejo de solicitudes en aplicaciones con alta concurrencia, especialmente considerando que Django, por su arquitectura síncrona por defecto, tiende a tener menos capacidad de respuesta frente a frameworks asincrónicos como FastAPI. Algunos puntos específicos que podrían ser interesante 1. Concurrencia en Django: ¿Cómo se puede mejorar el rendimiento de Django en aplicaciones con altas cargas de solicitudes? Por ejemplo, implementando ASGI, usando Django Channels o adoptando patrones de diseño para maximizar la eficiencia. 2. Comparación con frameworks asincrónicos: Una breve comparación sobre cómo frameworks como FastAPI gestionan la concurrencia de manera más eficiente y si tiene sentido migrar o combinar herramientas en ciertos proyectos. 3. Tareas asíncronas con Celery: Cómo descargar procesos pesados del ciclo de solicitudes utilizando Celery, y cómo esto puede complementar el manejo de concurrencia en Django. Creo que este tema sería de gran valor para quienes usamos Django y buscamos maneras de hacerlo más competitivo en escenarios con alta demanda. ¡Gracias por tu tiempo!

    • @ProductCrafter
      @ProductCrafter 17 годин тому

      Claro! Me lo apunto, todo el tema de asincronía con Django es muy interesante. Gracias! PD. Échale un ojo también a dramatiq

  • @Kikoken73
    @Kikoken73 День тому

    Este punto como mencionas es muy importante entender el negocio para conocer si están respondiendo lo que el negocio quiere, sin olvidar que todo sistema tiene su tope en la propia organización como nos sale la Ley de conway lo que no lleva al diseño de sistemas que tiene la organización ya que toda solución tiene ese límite en sí. Excelentes consejos de refactor un gusto como lo comunicas

    • @ProductCrafter
      @ProductCrafter День тому

      Gracias! Me alegra que te haya gustado! Y súper de acuerdo con lo de la ley de conway 👌

  • @jay-fs
    @jay-fs День тому

    Excelente vídeo. Siempre tiramos de arrays y terminamos tendiendo a tener código supongo por todos lados. Muchas gracias por el aporte.

  • @NestaOad
    @NestaOad День тому

    Y si en lugar de llamar al método “electronics” lo llamas de forma más genérica y le pasas el filtro como parámetro te vale para filtrar por más productos. Me ha flipado el vídeo. He tomado notas. 🫡

  • @debajodelagua1
    @debajodelagua1 День тому

    Muy bueno!! Muy clara la explicación... Muchas gracias 🙌🙌🙌🙌

  • @maximiliano2542
    @maximiliano2542 День тому

    Es horrible python, nose como se hizo tan popular xd

    • @ProductCrafter
      @ProductCrafter День тому

      En general porque es fácil de aprender y de enseñar!

  • @braiso_22
    @braiso_22 День тому

    Holaa, he descubierto tu canal hace poquito y quería decirte que me gusta bastante tu contenido👌🏻👌🏻

    • @ProductCrafter
      @ProductCrafter День тому

      Gracias! Me animan mucho este tipo de comentarios jaja

  • @gabrielxd735
    @gabrielxd735 День тому

    yo solo vine a burlarme por q era python pero aprendi mucho :D

    • @ProductCrafter
      @ProductCrafter День тому

      Jajajaja me alegro! Al final le coges el gustillo a Python jaja

  • @RustLangs
    @RustLangs День тому

    😃la causa principal es que los cabecilla del projecto solo quiere lanzar features , pero no se preocupa por como esta estructurado el projecto, que patrones,standares,etc.

    • @ProductCrafter
      @ProductCrafter День тому

      Así es muchas veces... Por eso tenemos que explicar bien las desventajas de ir demasiado rápido a los que toman estas decisiones. Lo importante es tener un código que sea fácil de cambiar

  • @Kikoken73
    @Kikoken73 День тому

    excelente video, opino igual que tu , me encantan los valueobject

  • @placebojunior9779
    @placebojunior9779 2 дні тому

    Saludos 'Product Crafter', vi tu video y he revisado tus demas videos, parece que tienes un enfoque mas profesional, de la estructura, estetica, eficiencia del codigo. Al principio no te tenia fe, al ver la sugerencia de tu video por parte de UA-cam, crei que eras otro vende humos mas de UA-cam en cuanto a 'Coding', que solo busca ganar dinero con vistas, likes, membresías de canal, vender cursos, pero parece que no es asi, al contrario veo tu ❤ amor por el 'Coding', como crear excelentes pautas de arquitectura, estetica, eficiencia en el mismo, personas como tu son como el Mozart de nuestra epoca, hacen que me enamore mas del 'Coding'❤️, gracias mi compa.

    • @marcosantonioavilamorales5881
      @marcosantonioavilamorales5881 2 дні тому

      No le veo nada de malo a hacer contenido y querer recibir vistas y likes. Es un sentimiento natural en el ser humano querer recibir reconocimiento y sentirse útil. Aunque lo hiciera por likes el calificativo de "vende humos" está fuera de lugar en este contexto.

    • @ProductCrafter
      @ProductCrafter День тому

      Gracias por el comentario! ❤️ La verdad es que me motiva mucho enseñar y UA-cam es el medio perfecto! Espero que te sigan gustando mis videos!

  • @assass-zs5ef
    @assass-zs5ef 2 дні тому

    Que interesante. Me pregunto si no sería mas simple definir parámetros con datos predeterminados en el constructor de la clase builder y que creara el objeto a partir de estos. La llamada quedaria algo asi: ObjectBuilder(price=13, quantity=2).build() en lugar de ObjectBuilder.with_price(13).with_quantity(2).build() No se si esto tendria algun inconveniente

    • @ProductCrafter
      @ProductCrafter День тому

      Buena observación! En lenguajes como python o js podría hacerse como dices y no tendría muchas desventajas (la única que se me ocurre es que hagas alguna validación y el constructor te quede enorme). En otros lenguajes como los compilados lo que comentas se hace más complicado al no tener cosas como los kwargs de python. Gracias por compartir!

  • @eddddakdlasd-om6yt
    @eddddakdlasd-om6yt 2 дні тому

    Pues raro tu codigo yo pondria todo en gramos y solucion hecha. Pondria el tipo en numero entero sin signo. La verdad no se si se mejoro el codigo

    • @ProductCrafter
      @ProductCrafter 2 дні тому

      Es otra forma de programarlo sÍ, también se podrían haber implementado factory methods en el value object para instanciar desde diferentes unidades pero acabar siempre en gramos. Para mi lo importante es darle ese significado de "Peso" que conseguimos dándole entidad de negocio, pero hay muchas maneras de representarlo. Gracias por el comentario!

  • @sxzzzzz
    @sxzzzzz 2 дні тому

    Gracias por los vídeos, son increíbles, es complicado encontrar canales en español que hablen de estas cosas! Podrías subir algún vídeo más centrado en temas de arquitectura, diseño, events/CQRS y relacionados?

    • @ProductCrafter
      @ProductCrafter 2 дні тому

      Claro! Tengo algunas ideas sobre arquitectura que quería hacer, tengo en cuenta tus sugerencias gracias!

  • @TheLaiKash
    @TheLaiKash 3 дні тому

    Entiendo la manera de explicar los value objects como un concepto que tiene lógica de negocio o como valores que no necesariamente tienen sentido por separado (como pesos, precios...) pero para algunos cerebros como el mío es algo que hay que llevarlo a conceptos más "de bajo nivel" (me quedo corto con las comillas). Para mí un value object es algo (una estructura) que cuando comparas con otro son iguales si y solo si sus valores (todos ellos) son iguales, siendo estos inmutables. En OOP serían objetos que se consideran iguales si todos sus valores son iguales. Esto es contrario a las entidades, como usuarios, que pueden ser mutables (un usuario puede cambiar su dirección) y que cuando comparas dos comparas identificadores, por ejemplo. En mi opinión esto es importante porque en otros lenguajes no estamos hablando solo de conceptos que se pueden agrupar como tal. En general dos objetos, estructuras o lo que sea (salvo primitivos) son iguales si apuntan a la misma dirección de memoria. Esto, que para ingenieros informáticos es lo intuitivo, es el concepto contrario a los value objects, otra manera de pensar. Por eso se devuelve siempre una copia del objeto en vez de mutar el mismo. Pensar así te abre también a entender cosas como el borrow checker de rust o te hace entender que en ciertos casos no interesa hacer lógica en base a value objects porque son muy costosos en cuanto a memoria. Igualmente, buen enfoque, solo quiero añadir mi punto de vista!

    • @ProductCrafter
      @ProductCrafter 3 дні тому

      Gracias por compartir tu punto de vista! Te hago una pregunta porque yo tengo siempre la duda, si tenemos un value object que representa peso que tiene unidad y cantidad, imagina que tenemos 2kg y 2000g. Yo si comparo los dos value objects espero que me diga true. Pero sin embargo no tienen los mismos atributos (2 vs 2000 y g vs kg). ¿Son Value Objects o estamos haciendo algo mal?. Es algo que le he dado mil vueltas y para mi sí son Value Objects. Que los "atributos" sean iguales también podría expresarse como que sus valores sean "equivalentes".

    • @TheLaiKash
      @TheLaiKash 3 дні тому

      @ProductCrafter si, son lo mismo porque conceptualmente tienen el mismo valor expresado de distinta forma. Creo que piensas como yo y te vas al concepto programático de valor en vez de al concepto 😆 A mi también me cuesta abstraer. El problema viene siendo con cosas cuyo valor es dinámico, como el cambio de divisas. En ese caso habría que llegar a un convenio en la lógica de negocio (histórico de precios de los últimos 5 años, consultar una API de manera dinámica...). Pero lo podemos complicar aun más. Son lo mismo 1dm3 que 1l? Si y solo si tienen la misma densidad que el agua. Importa? Si es una app de cocina, generalmente no. Pero si es de quimica... Cuando me pasan estás cosas pienso en la inmutabilidad como concepto y en la lógica de negocio. Por ejemplo en divisas, aunque consultar el cambio a una API es dinámico, el concepto de "es inmutable que siempre se va a comprobar el cambio dinámicamente" es lo que me ayuda. A mí también me explota la cabeza cuando sobre pienso, y eso que yo vengo del mundo de la ciberseguridad 😊 Por cierto, me he estado viendo todos los videos que tienes en el canal, bastante de acuerdo con tu linea de pensamiento! Gracias por estos vídeos!

  • @alberto3028
    @alberto3028 3 дні тому

    sí, muchas veces es más eficiente dos personas que diez. Lo que sí ayuda es cuando se trabaja con DDD, microservicios basados en eventos, totalmente desacoplados, lo que permite distribuir el trabajo eficientemente y con un mínimo de conflictos (de toda clase) 😅 eso sí, recomiendo que el framework o librerías compartidas lo mantenga uno o dos arquitectos, de tal forma se será el intermediario y ante cualquier cambio podrá avisar a los equipos.

    • @ProductCrafter
      @ProductCrafter 3 дні тому

      Un gran equipo conlleva una gran responsabilidad! 😅

  • @alberto3028
    @alberto3028 3 дні тому

    Creo que sería interesante combinar Object mothers con el builder, de esa forma en los test seguiremos usando object mothers pero con características predefinidas y reutilizables que podrán seleccionarse mediante métodos.

    • @ProductCrafter
      @ProductCrafter 3 дні тому

      Claro! Los object mothers es el otro gran patrón que me encanta usar en testing. Haré un video sobre ello más adelante. Gracias por compartir!

  • @alberto3028
    @alberto3028 3 дні тому

    El código de las startup pasa a llamarse legacy y es el que nos da el pan 😅

    • @ProductCrafter
      @ProductCrafter 3 дні тому

      Exactamente jaja, yo he visto código legacy que factura cientos de millones de euros y ahí está. Que sea legacy no significa que no aporte valor.

  • @alberto3028
    @alberto3028 3 дні тому

    Sí, otro ejemplo podría ser Coordinate con las propiedades latitude, longitude o DateRange con startDate endDate. No podemos olvidar que los value objects pueden tener solo una propiedad, por ejemplo Email, por sí solo no tiene sentido, pero sí puede formar parte de otros value objects o entidades/agregados, esto nos permitirá centralizar, reutilizar y abstraer los tipos.

    • @ProductCrafter
      @ProductCrafter 3 дні тому

      Exacto!!

    • @damianjoel5833
      @damianjoel5833 2 дні тому

      Tener un ValueObject Email es super util ya que validas que el string que viene por el factory method o por constructor tenga el formato correcto, dentro del value object podrias poner el Regex para validarlo. Lo mismo para una ValueObject PhoneNumber, etc. Incluso se puede tener value objects por campos aislados como UserName porque un username valido solo tiene caracteres con letras, debe tener minimo 5 caracteres, no puede estar vacio, etc. Tiene la contraparte que te aumanta considerablemente el codigo si el lenguaje es fuertemente tipado y poco funcional. Pero como dice el muchacho en el video, eso tiene el beneficio de ser robusto y mucho mas facil de mantener a largo plazo. Ademas que es mas facil de leer.

    • @alberto3028
      @alberto3028 2 дні тому

      @ divide y vencerás

  • @DogWithTheHatt
    @DogWithTheHatt 4 дні тому

    Hola! muy buenos videos, facil de entender y se entiende la idea, me queda una duda, cuando aprendí a utilizar este concepto de value objects o definicion de logica de negocio, lo hice en pydantic, cual sería la diferencia con dataclass?

    • @ProductCrafter
      @ProductCrafter 3 дні тому

      Es lo mismo, simplemente pydantic tienes que instalarlo, pero para value objects cumplen la misma función

  • @inteligenciafutura
    @inteligenciafutura 4 дні тому

    Por eso deben usar IA para que el código sea sólido y llevadero sino es un asqueroso infierno

    • @ProductCrafter
      @ProductCrafter 4 дні тому

      La IA también escribe tests! Es maravillosa jaja

  • @devjeanayala
    @devjeanayala 5 днів тому

    literalmente mi ultimo trabajo, yo estaba a cargo de los tests y mas o menos se podían salvar funcionalidades entre cambios, pero es verdad que la velocidad de desarrollo es mayor que la velocidad a la que se pueden testear, se que lo ideal sería empezar con los test primero, pero en el campo real con todos los clientes e inversores queriendo cada vez mas, pues se vuelve muy complicado.

    • @ProductCrafter
      @ProductCrafter 4 дні тому

      La presión a veces hace las cosas complicadas sí. Yo cuando he estado en esas situaciones al final he implementado los tests justos que me diesen algo de seguridad. Lo mínimo para garantizar que las cosas no se vayan rompiendo todo el rato.

  • @vfryhn2
    @vfryhn2 5 днів тому

    Que bueno video, justo estoy haciendo una startup y el código de ciertos proyectos es un desastre que tarde o temprano tendrá que ser arreglado, pero justo estamos en el proceso de iterar rápido y buscar clientes por lo que no siempre es posible o a veces ni es necesario hacerlo ya que algunas ideas son descartadas Gracias por los consejos!

    • @ProductCrafter
      @ProductCrafter 4 дні тому

      Claro! Validando una idea de negocio tiene sentido no prestar atención a algunas cosas. Pero cuando demuestres que el negocio funciona toca arremangarse y ponerse manos a la obra!

  • @neosyoshiranquake6160
    @neosyoshiranquake6160 5 днів тому

    Con ia. ya no contrato ni al backed, ni frontend ni al disenador grafico que se jodan todos. menos la IA. la pregunta es de donde saco dinero para pagar los servicios?

    • @vfryhn2
      @vfryhn2 5 днів тому

      Eso suena muy bien en papel, pero no creo que sea tan sostenible en la práctica a largo plazo En cuanto al dinero puedes usar la misma IA para que te ayude a conseguir clientes

    • @ProductCrafter
      @ProductCrafter 4 дні тому

      Por ahora aun toca contar con backends jajaj

  • @santiagoquipildor2225
    @santiagoquipildor2225 6 днів тому

    buen video. saludos

  • @jgdfox
    @jgdfox 6 днів тому

    Qué estupidez

  • @gregoriyepez3492
    @gregoriyepez3492 6 днів тому

    Para cuando lanzas algún curso y bootcamp para backend.... para anotarme jejej

  • @adokana_
    @adokana_ 6 днів тому

    como se agradece que gente como tu se ponga a compartir sus conocimientos y experiencias buen vídeo!

    • @ProductCrafter
      @ProductCrafter 6 днів тому

      Gracias a ti por aprovechar los conocimientos y escuchar mis historietas! Jajaja

  • @Franco-ff21
    @Franco-ff21 6 днів тому

    en que momento tengo que aprender el framework, como express y otras que mencionas? Que opinas de typescript para backend, tengo entendido que es js pero 2.0, buen video like + sub

    • @ProductCrafter
      @ProductCrafter 6 днів тому

      Pues si ya sabes programar cuando empieces a tocar APIs, coges cualquier tutorial y ves como va un ejemplo de un endpoint, suele ser sencillito. TypeScript para backend me gusta mucho y tiene un ecosistema genial, es uno de los que recomiendo para meterse en el mundillo sin mucha complejidad junto a Python y Kotlin. Espero que te vaya genial si te pones a aprender, cualquier duda puedes contactarme por Linkedin!

  • @10crack8
    @10crack8 6 днів тому

    Supongo que es un ejemplo muy sencillo y para explicar cosas sencillas. Pero yo creo qué lo mejor sería lanzar excepciones de dominio, por ejemplo una UserNotFoundException y que el mensaje se la excepción sea descriptivo y vaya hidratado cómo tú dices. Y en el inicio del programa capturar las excepciones que tú quieras o capturar una genérica que hereden todas tus excepciones de dominio y capturar la genérica loggeando ahí si el mensaje en los logs. Tú idea es interesante, nunca lo había visto. Y lo del trace_id es un concepto muy interesante. Además, segun Clean Code, nunca deberías hacer return de null/None. Un saludo y muy buenos videos.

    • @ProductCrafter
      @ProductCrafter 6 днів тому

      Me encanta lo que propones, donde trabajo también hemos tenido excepciones de dominio que todas implementan un get_message() que devuelve un texto descriptivo, esto luego lo capturamos en un handler como dices y loggea o devuelve un error al cliente. Muy buenas sugerencias 🙌!

  • @saraalejandragonzalezsanch2033
    @saraalejandragonzalezsanch2033 6 днів тому

    Por que casi no hay likes? 😢

  • @adrian-4767
    @adrian-4767 7 днів тому

    Product Crafter tu canal es excelente, la mayoria de UA-camrs de programacion ni siquiera trabajan profesionalmente en la programacion y unicamente les interesa vender cursos, se nota que vos de verdad sos profesional y trabajas en la industria. Espero que tu canal siga creciendo porque es buenisimo, te recomiendo cambies el nombre del canal y la foto (por una que haga referencia a la programacion) y empieces a dejar comentarios en otros canales para que mas gente se suscriba. Muchas gracias por tus videos!

    • @ProductCrafter
      @ProductCrafter 6 днів тому

      Gracias por el feedback, me alegro que te haya gustado! Pensaré los consejos que me has comentado, tengo muchas dudas con el nombre jaja. Se te ocurre alguno que vaya bien?

  • @adokana_
    @adokana_ 7 днів тому

    buen vídeo!

  • @Hugofmr91
    @Hugofmr91 8 днів тому

    Tu contenido es todo lo que está bien! Gracias

    • @ProductCrafter
      @ProductCrafter 7 днів тому

      Me alegro de que te guste! Te gustaría ver videos sobre algún tema específico??

  • @kevinaparicio4628
    @kevinaparicio4628 9 днів тому

    estaria bien que hagas un video de patrones de patrones de diseño 😉

    • @ProductCrafter
      @ProductCrafter 7 днів тому

      Tomo nota! Tengo varios pensados!! Algún patrón en concreto que te interese más??

    • @kevinaparicio4628
      @kevinaparicio4628 6 днів тому

      @@ProductCrafter la verdad recién comencé a leer de patrones y en backend dice que usa mucho el Repositorio

    • @jeffersonhernandez8588
      @jeffersonhernandez8588 4 дні тому

      Interesante los ejemplos de aplicación de los patrones de diseño en casos reales o más cercanos a la realidad como este video.

  • @debajodelagua1
    @debajodelagua1 9 днів тому

    impecable!! gracias por el video!!!

    • @ProductCrafter
      @ProductCrafter 7 днів тому

      Me alegro de que te guste! Te gustaría ver videos sobre algún tema específico??

  • @wanaldino
    @wanaldino 10 днів тому

    Fan del patron builder o assembly. Personalmente prefiero que el builder haga de storage de las propiedades del init del objeto, hay momentos o lenguajes que tienen objetos inmutables y no puedes ir accediendo a las propiedades para modificarlas 😉

    • @ProductCrafter
      @ProductCrafter 10 днів тому

      @@wanaldino totalmente cierto! Aunque si tienes muchas puede hacerse engorroso, pero me gusta el concepto.

  • @retamap
    @retamap 11 днів тому

    muy interesante tu contenido, un saludo!

  • @joreenginer
    @joreenginer 11 днів тому

    Que ventaja tiene poner build() cuando esa clase ya esa builder, ye podrías ahorrar el build usando el dundle __call__ en vez de build no?

    • @ProductCrafter
      @ProductCrafter 11 днів тому

      Se podría pero quedaría algo como ProductBuilder().with_price(10)() en vez de ProductBuilder().with_price(10).build() ya que queremos poder encadenar llamadas a los métodos que modifican la instancia base. Me gusta más un método nombrado que tener ese () extraño al final. ¿Como lo ves? ¿Usas otras alternativas?

  • @canaljoseg0172
    @canaljoseg0172 11 днів тому

    😁 Esto vale Oro !!! Gracias por compartir sus conocimientos!!!👍

    • @ProductCrafter
      @ProductCrafter 7 днів тому

      Me alegro de que te guste! Te gustaría ver videos sobre algún tema específico??

  • @canaljoseg0172
    @canaljoseg0172 12 днів тому

    Esta Excelente !!! 😆

  • @adamalbare2190
    @adamalbare2190 12 днів тому

    Crees que con un grado superior en desarollo de aplicaciones web y bastantes cursos hechos y un cv decente, con poca experiencia puedo encontrar trabajo en Barcelona sin tener que hacer la universidad para ganar buen sueldo?

    • @ProductCrafter
      @ProductCrafter 12 днів тому

      Sin duda, yo he trabajado con muchos profesionales muy buenos que venían de formación profesional y eso no es un impedimento, sobretodo en el campo de la informática. Lo importante es hacer bien las entrevistas y causar buena impresión. Es más, cuando yo entrevisto a gente no sé qué background tienen, me centro solo en sus conocimientos y en como trabajan. Mucho ánimo buscando trabajo!

    • @adamalbare2190
      @adamalbare2190 12 днів тому

      ​@@ProductCrafter Gracias por tus videos, la verdad me parecen muy interesantes. ¡Mucho ánimo! Seguro que tu canal acabará siendo muy grande y aportara mucho para la comunidad. :) por cierto sería posible enviarte mi CV por algún sitio para que me dieras tu opinión o ya es mucho pedir jejeje

    • @ProductCrafter
      @ProductCrafter 12 днів тому

      Gracias! Y claro sin problema! Agregame a LinkedIn y me lo pasas por ahí www.linkedin.com/in/emcarrio

    • @daniel18z16
      @daniel18z16 8 днів тому

      @@ProductCrafter y cuando es alguien que estudia de forma autodidacta ? :') hay posibilidad de conseguirlo con unos buenos proyectos ?

  • @blendermind
    @blendermind 12 днів тому

    esquema sencillito, no problem

  • @GierIbac
    @GierIbac 12 днів тому

    o sea que websockets no es un tema de backend?

    • @MonSster-jf7ex
      @MonSster-jf7ex 12 днів тому

      En parte si, pero suele ser algo más general en el desarrollo de software, puesto que en otras áreas como videojuegos se suele usar mucho

    • @ProductCrafter
      @ProductCrafter 12 днів тому

      Es backend si! Pero la gente que se inicia en ello debería centrarse en temas más básicos o core y cuando afiance conocimientos ya meterse con websockets ya que aumenta la complejidad del desarrollo y tienes que tener más cosas en cuenta. Es como la parte más específica o avanzada de ser backend.

  • @agdsys
    @agdsys 13 днів тому

    excelente video me parece muy centrado en este tema del back-end, si me permites puedo proponer adoptar un estandar de codigo de desarrollo por ejemplo Puntuacion/Notacion Hungara, Pep8, StandardJS, pienso que si desde el principio nos acostumbramos a desarrollar bajo estandares internacionales sera una ventaja al momento de desarrollar y por ultimo acostumbrarse a colocar las correspondientes documentaciones, cabeceras, funciones, methodos, etc, no olvidar la programacion orientada a objetos y por ultimo evitar que los distintos modulos de programación no sean enormes sabanas de codigo, mientras mas pequeños los modulos mas facil es controlar, de igual forma recomiendo entender javascript vanilla principalmente temas relacionados con promesas, saludos desde la Bella Guatemala.

    • @ProductCrafter
      @ProductCrafter 13 днів тому

      Claro! los estándares ayudan a trabajar luego con más gente en equipo. ¿En qué lenguaje y que estándares usas para programar??

    • @agdsys
      @agdsys 13 днів тому

      @@ProductCrafter todo depende mucho del lenguaje en que este desarrollando, si es javascript uso StandardJS o bien Notacion Hungara que tambien lo puedo aplicar a PHP y cuando uso python ( mi lenguaje preferido ) uso PEP8, trato de estar lo mas cerca a los estandares y obligar a mi equipo de trabajo a mantenerlos tambien, esto nos da un plus al momento de hacer mantenimiento al codigo y ademas evitamos un costo a la deuda tecnica, que tarde o temprano te pega en un proyecto.

    • @ProductCrafter
      @ProductCrafter 13 днів тому

      @@agdsys Muy interesante! Nosotros usamos PEP8 y mypy para el tipado! Con las herramientas adecuadas como ruff hace que el desarrollo tenga más calidad.

  • @Braian-hl3xv
    @Braian-hl3xv 14 днів тому

    justo lo que andaba buscando, gran video !!

    • @ProductCrafter
      @ProductCrafter 13 днів тому

      Genial me alegro! Estas pensando empezar con backend??

    • @eqiro3911
      @eqiro3911 17 годин тому

      @@ProductCrafter yo si