Podcast y vídeos sobre desarrollo web.

Aprende, practica y crea con tu código. Presentado por Daniel Primo.

WRP 81. El largo camino de node hasta deno
36:41
WRP 81. El largo camino de node hasta deno

¿Es deno una alternativa para sustituir ya a node?

Comando Coding 01: Calculadora  de presupuestos con JavaScript
01:44:47
25. Comando Coding 01: Calculadora de presupuestos con JavaScript

Usamos Vanilla JavaScript para crear una webapp funcional.

WRP 80. Lo que Matt ha dicho de tu futuro como desarrollador web
01:12:24
WRP 80. Lo que Matt ha dicho de tu futuro como desarrollador web 2

Matt Mullenweg, fundador de WordPress, ha hablado.

WRP 79. Una estrategia para traducir cadenas de texto
31:00
WRP 79. Una estrategia para traducir cadenas de texto

El mundo es multidioma, ¿por qué la web no debería serlo?

Así empezamos con Github Actions
01:44:55
23. Así empezamos con Github Actions

Desplegamos de forma automatizada, validando antes de publicar.

WRP 78. Mi reino por un programador desfasado
30:47
WRP 78. Mi reino por un programador desfasado

La suerte de tener todo un universo de desarrollo por aprender.

Juntando las piezas con Nuxt, Tailwind y JSON
01:31:55
22. Juntando las piezas con Nuxt, Tailwind y JSON

Ya tenemos todo lo necesario para nuestra primera versión del directorio de perfiles.

WRP 77. Herramientas productivas (edición 2020)
32:20
WRP 77. Herramientas productivas (edición 2020)

Algunas cosas que me están funcionando para ser más productivo.

Empezando con Tailwind CSS
01:37:01
21. Empezando con Tailwind CSS

Maquetación rápida y efectiva con esta librería CSS.

WRP 76. Pon un passwordless en tu vida
32:00
WRP 76. Pon un passwordless en tu vida 11

Spam por malas prácticas, entrar sin contraseña y feedback de sitios web.

Carga de datos en Nuxt (markdown, JSON)
01:41:17
20. Carga de datos en Nuxt (markdown, JSON)

Hacemos que las cosas funcionen en NuxtJS.

WRP 75. Por qué abandonar un proyecto web rentable
27:13
WRP 75. Por qué abandonar un proyecto web rentable 4

También vemos como utilizar las tareas de Trello para gestionar la comunicación.

Primeros pasos con NuxtJS
01:56:33
19. Primeros pasos con NuxtJS

Un framework con mucha magia para crear aplicaciones web.

WRP 74. Aprender de arriba hacia abajo
26:13
WRP 74. Aprender de arriba hacia abajo

¿Es mejor que aprender desde abajo hacia arriba?

Prototipando una aplicación web desde cero con Pencil
01:18:09
18. Prototipando una aplicación web desde cero con Pencil 2

Creando desde cero la interfaz de nuestra aplicación.

WRP 73. Mi framework está frito
31:24
WRP 73. Mi framework está frito

Cómo afrontar el cambio de un framework obsoleto.

Empezando con Git
01:31:57
17. Empezando con Git 2

Las instrucciones básicas para arrancar con el sistema de control de versiones.

WRP 72. Reto "Porque yo lo valgo: Soy Developer"
32:38
WRP 72. Reto "Porque yo lo valgo: Soy Developer"

Un reto para crear un perfil profesional online sin complejos.

Ajustes de proyecto
07:32
09. Ajustes de proyecto

Limpieza y correcciones varias.

Crear una ruta para capturar una petición Post
16:18
11. Crear una ruta para capturar una petición Post

Testeamos la ruta de tipo POST con Postman.

Explicación de la arquitectura del proyecto
02:45
10. Explicación de la arquitectura del proyecto

Explicamos de nuevo la arquitectura posible del proyecto.

Lógica del backend
12:51
05. Lógica del backend

El código está por delante de la base de datos.

Mostrar el tiempo restante en el frontend capturado desde el backend
04:56
26. Mostrar el tiempo restante en el frontend capturado desde el backend

Nos conectamos con axios a la API generada en el backend.

Primera refactorización
15:45
07. Primera refactorización

Extraemos código a bootstrap y separamos en ficheros por responsabilidad.

Qué es el contenedor de dependencias
13:28
06. Qué es el contenedor de dependencias

Implementación de PHP-DI con un ejemplo en PSR-11.

Subiendo el código a Github
05:25
08. Subiendo el código a Github

Uso de gitignore y primera subida al repositorio.

Introducción a SQLite
04:43
12. Introducción a SQLite

SQLite es una base de datos relacional que se almacena en un fichero.

Mejorando la app con Vue
12:11
21. Mejorando la app con Vue

Primera gran diferencia con respecto a jQuery.

Crear tabla en SQLite
17:21
14. Crear tabla en SQLite

Sintaxis para crear tablas en SQLite.

Instalación de Tailwind
12:00
24. Instalación de Tailwind

Una librería de CSS que te cambiará la vida.

Cómo conectarse a una base de datos con PHP PDO
05:14
13. Cómo conectarse a una base de datos con PHP PDO

La librería genérica de acceso a base de datos de PHP.

Ciclo de vida en Vue: mounted
13:25
22. Ciclo de vida en Vue: mounted

La base de todos los frameworks de frontend: el ciclo de vida del componente.

Creación de la primera ruta
05:02
03. Creación de la primera ruta

Una aplicación web empieza siempre por una ruta.

Métodos en VueJS
14:13
20. Métodos en VueJS

También vemos la extensión Vetur para Visual Studio Code.

Fórmula para calcular el tiempo restante para llegar a una fecha
07:40
23. Fórmula para calcular el tiempo restante para llegar a una fecha

Matemáticas al servicio del cálculo de los segundos restantes

Qué es VueJS
03:04
18. Qué es VueJS

Breve explicación de qué es este framework progresivo de JavaScript.

Estructura try / catch
07:26
17. Estructura try / catch

Para capturar fallos de conexión a la base de datos.

Transformación de fecha
06:17
16. Transformación de fecha

Las fechas siempre nos ofrecen muchas opciones en programación.

Realizar un insert en una tabla SQLite
10:33
15. Realizar un insert en una tabla SQLite

Sintaxis para insertar contenido en SQLite.

Mi primera app con Vue
05:28
19. Mi primera app con Vue

Creamos una app a la vieja usanza, como si fuera jQuery.

Qué es el middleware
05:22
04. Qué es el middleware

El ejemplo de la cebolla para explicar lo que es un middleware.

Uso de Axios para conectar el backend con el fronted
11:10
25. Uso de Axios para conectar el backend con el fronted

La magia de la conexión entre el frontend y el backend, al fin revelada.

Peticiones HTTP y qué es el PSR-7
08:01
02. Peticiones HTTP y qué es el PSR-7

El estándar PSR y las peticiones y respuestas HTTP.

Inyección de dependencias en Slim PHP
18:18
42. Inyección de dependencias en Slim PHP

Usamos PHP-DI para añadir dependencias a los controladores del backend.

Instalación de Axios
14:47
29. Instalación de Axios

La magia de la conexión entre el frontend y el backend, al fin revelada.

Pregunta: Contador específico por parámetro de URL
06:35
Instalación y configuración de Vue Router
15:45
32. Instalación y configuración de Vue Router

Vue Router nos permite gestionar rutas en el frontend de la webapp.

Enrrutado de componentes dinámicos
10:49
33. Enrrutado de componentes dinámicos

Los contadores son entidades dinámicas, las hacemos accesibles.

Incluir validaciones en el registro de datos
16:15
34. Incluir validaciones en el registro de datos

La primera validación de los datos en la API.

Buenas prácticas: Variables de entorno
10:22
35. Buenas prácticas: Variables de entorno

Muy importante guardar nuestras variables sensibles en el entorno y no el repositorio.

Formulario de creación de contador en el frontend
12:03
36. Formulario de creación de contador en el frontend

La primera versión de nuestro formulario de creación de contadores.

Método de envío del formulario
13:11
37. Método de envío del formulario

Método en VueJS para enviar los datos del formulario al backend.

Control de errores al enviar el formulario
07:45
Completando la funcionalidad de envío del formulario
10:27
39. Completando la funcionalidad de envío del formulario

El usuario debe recibir feedback sobre el éxito del envío.

Introducción al container en PHP
03:28
40. Introducción al container en PHP

Repasamos de nuevo el concepto de contenedor en PHP.

Crear el controlador de ruta para los contadores
06:42
41. Crear el controlador de ruta para los contadores

Desacoplamos la funcionalidad del Controller.

Buenas prácticas: Desacoplar las conexiones a la base de datos
11:00
43. Buenas prácticas: Desacoplar las conexiones a la base de datos

Refactorizamos para ocultar la conexión a la base de datos SQLite.

Introducción a Slim PHP Microframework
02:47
01. Introducción a Slim PHP Microframework

La versión 4 de Slim nos ofrece muchas ventajas.

Buenas prácticas: Desacoplar las consultas a la base de datos
09:25
44. Buenas prácticas: Desacoplar las consultas a la base de datos

Seguirmos refactorizando ocultando la forma de conseguir resultados.

Buenas prácticas: Extracción a método de la respuesta
04:54
45. Buenas prácticas: Extracción a método de la respuesta

Refactorización de código repetido.

Incluir variables de entorno con PHPDotEnv
10:54
46. Incluir variables de entorno con PHPDotEnv

Las variables de entorno también son importantes en el backend.

Insertar el selector de fecha CTKDatetimePicker
24:54
47. Insertar el selector de fecha CTKDatetimePicker

Mejoramos la visualización del formulario de fecha.

Comunicar componentes entre sí en VueJS
08:29
48. Comunicar componentes entre sí en VueJS

Esencial en el frontend: comunicar componentes padres e hijos en VueJS.

Incluir validaciones en el formulario con Vuelidate
10:37
50. Incluir validaciones en el formulario con Vuelidate

Validaciones en el cliente con Vuelidate.

Despliegue del backend en Cloudways
12:59
51. Despliegue del backend en Cloudways

Desplegamos el código de PHP y la base de datos en Cloudways.

Acceso mediante SSH al servidor
14:35
52. Acceso mediante SSH al servidor

Introducción al acceso por SSH a un servidor.

Despliegue del frontend en Now
22:52
53. Despliegue del frontend en Now

Desplegamos gratis el código de Javascript en Zeit Now.

Adaptando la aplicación de frontend
15:31
28. Adaptando la aplicación de frontend

Transformamos la aplicación para que encaje en el nuevo entorno de desarrollo con Vue-Cli.

Presentación de Crea una web app desacoplada con PHP y VueJS
05:40
00. Presentación de Crea una web app desacoplada con PHP y VueJS

Explicación sobre el stack tecnológico que veremos en el curso.

Instalación de Vue Cli
14:55
27. Instalación de Vue Cli

Subimos un nivel más en nuestra app de Vue.

Buenas prácticas: Creación del cliente de Axios
16:16
30. Buenas prácticas: Creación del cliente de Axios

Creamos un cliente desacoplado para la conexión a la API.

WRP 71. Elegimos el siguiente proyecto para el Live Coding
31:57
WRP 71. Elegimos el siguiente proyecto para el Live Coding 2

Una aplicación de feedback o un listado de perfiles profesionales.

MasterClass: Construye un listado de scroll infinito con Vue JS, WordPress y REST API
01:42:24
01. MasterClass: Construye un listado de scroll infinito con Vue JS, WordPress y REST API 2

Integra backend y frontend para una presentación espectacular.

WRP 70. Una hoja de ruta para aprender un lenguaje de programación
33:18
WRP 70. Una hoja de ruta para aprender un lenguaje de programación 2

Un truco para plantearse una ruta de aprendizaje.

WRP 69. Analizamos proyectos de portales freelance
34:17
WRP 69. Analizamos proyectos de portales freelance

Estudiamos algunos casos prácticos a petición de la audiencia.

WRP 68. En privado con Guillermo García (Flutter y la productividad)
24:57
WRP 68. En privado con Guillermo García (Flutter y la productividad)

Algunos secretos de un programador de Flutter por fin desvelados.

WRP 67. Analizamos requisitos de ofertas de trabajo reales
30:57
WRP 67. Analizamos requisitos de ofertas de trabajo reales 9

Repasamos algunas ofertas de empleo de Eventbrite y Shopify.

WRP 66. Cómo ser un buen web developer: Backend
34:17
WRP 66. Cómo ser un buen web developer: Backend

Cuáles son los primeros pasos como programador de backend.

Ajustes de front y despliegue en la nube #LiveCoding 7
01:47:36
15. Ajustes de front y despliegue en la nube #LiveCoding 7

Terminamos la serie de esta aplicación desplegándola en la nube.

WRP 64. Prototipar rápido con código
33:31
WRP 64. Prototipar rápido con código 1

Una aplicación web creada en 24 horas.

WRP 63. Cómo ser un buen web developer: Bases y Frontend
33:57
WRP 63. Cómo ser un buen web developer: Bases y Frontend 2

Primera grabación en directo del podcast. Aquí comienza una saga.

Refactorizando el backend con buenas prácticas #LiveCoding 6
01:34:17
13. Refactorizando el backend con buenas prácticas #LiveCoding 6

Clases, herencia, constructores, funciones anónimas y más buenas prácticas.

WRP 62. Yo también tengo miedo
34:30
WRP 62. Yo también tengo miedo 3

Resultados de la encuesta y una confesión personal.

WRP 61. En privado con Olga Revilla (Experiencia de usuario y Customer Journey)
19:35
WRP 61. En privado con Olga Revilla (Experiencia de usuario y Customer Journey)

Charlamos con una diseñadora de productos digitales.

Envío de formulario desde el frontend al backend desacoplado #LiveCoding 5
01:16:57
12. Envío de formulario desde el frontend al backend desacoplado #LiveCoding 5

La aplicación interactúa con el usuario completando el círculo de características.

WRP 60. Habilidad y reputación con Paco Yono
32:37
WRP 60. Habilidad y reputación con Paco Yono 1

Sobre la responsabilidad de tu carrera profesional.

WRP 59. Programar para aprender con Jesús Olazagoitia
38:11
WRP 59. Programar para aprender con Jesús Olazagoitia

Nos da todos los detalles sobre el 'side project' que está construyendo.

WRP 58. El desarrollo de una idea y sus dependencias
28:29
WRP 58. El desarrollo de una idea y sus dependencias

Te cuento una idea "tonta" que he tenido y las cosas a tener en cuenta para sacarla adelante.

WRP 57. El programador sin voz
20:58
WRP 57. El programador sin voz 2

La impresionante historia real de una puerta abierta en silencio.

WRP 56. Todo lo que he hecho mal en 2019
35:35
WRP 56. Todo lo que he hecho mal en 2019

Hablar de buenas prácticas también exige repasar las malas prácticas.

Reconvertir HTML+JS a una app de verdad VueJS #LiveCoding 4
01:37:54
10. Reconvertir HTML+JS a una app de verdad VueJS #LiveCoding 4

Refactorizamos y aplicamos buenas prácticas en el frontend de la sesión anterior.

WRP 55. Hybrid CMS o las arquitecturas realistas para ser moderno
33:22
WRP 55. Hybrid CMS o las arquitecturas realistas para ser moderno 2

Algo que seguramente ya estés haciendo y que puede ser una apuesta de futura.

WRP 54. Programar bien con Visual Studio Code
35:08
WRP 54. Programar bien con Visual Studio Code 9

Code-consejos basados en la experiencia diaria con esta herramienta.

WRP 53. En privado con Antonio Leiva (buenas prácticas con Kotlin)
23:10
WRP 53. En privado con Antonio Leiva (buenas prácticas con Kotlin)

Consejos prácticos de un developer experto para aplicar buenas prácticas.

Primeros pasos de frontend con VueJS #LiveCoding 3
01:36:06
09. Primeros pasos de frontend con VueJS #LiveCoding 3

Comenzamos nuestro flamante frontend en directo con Vue JS.

WRP 52. El arte del trabajo en remoto
31:33
WRP 52. El arte del trabajo en remoto 2

Cómo sobrevivir al trabajo en remoto.

WRP 51. Cómo ser un mejor developer con Juan José Ramos
39:19
WRP 51. Cómo ser un mejor developer con Juan José Ramos

El primer 'reactiver premium' que viene a contarnos su historia de continua mejora.

WRP 50. En privado con Juan Luis Cano (buenas prácticas con Python)
27:44
WRP 50. En privado con Juan Luis Cano (buenas prácticas con Python)

Buenas prácticas en Python y herramientas de desarrollo.

Persistencia de datos con SQLite #LiveCoding 2
01:39:04
08. Persistencia de datos con SQLite #LiveCoding 2

Completamos el núcleo de nuestra app con la persistencia de datos.

WRP 49. ¿Qué es un Dead End en desarrollo de software?
30:56
WRP 49. ¿Qué es un Dead End en desarrollo de software?

El callejón sin salida del software antiguo, otra oportunidad para seguir aprendiendo.

WRP 48. Sorteo y arquitectura web sencilla
31:13
WRP 48. Sorteo y arquitectura web sencilla 10

Desgajamos un monolito para explicar la arquitectura de nuestra aplicación web.

WRP 47. En privado con Cristina Ponce (DRY y un proyecto de los que marcan)
27:48
WRP 47. En privado con Cristina Ponce (DRY y un proyecto de los que marcan)

La experiencia de cómo llegar a convertirse en Frontend Developer.

Crear las bases del backend #LiveCoding 1
01:21:31
07. Crear las bases del backend #LiveCoding 1

Arrancamos esta nueva experiencia en directo: #LiveCoding

WRP 46. Tres historias de terror
30:43
WRP 46. Tres historias de terror

Historias para no dormir de fallos garrafales cometidos en desarrollo.

Contenedores verticales con Flexbox
09:15
09. Contenedores verticales con Flexbox

Cómo resolver problemas de altos de contenedores con CSS.

WRP 45. Developer especializado, developer liberado.
31:42
WRP 45. Developer especializado, developer liberado. 2

La historia del primer coche volador. Y punto.

Cómo filtrar un JSON con JavaScript (II)
15:31
08. Cómo filtrar un JSON con JavaScript (II)

Continuando el ejercicio anterior.

Cómo filtrar un JSON con Python (II)
15:33
07. Cómo filtrar un JSON con Python (II)

Continuando el ejercicio anterior.

Cómo filtrar un JSON con JavaScript (I)
19:16
06. Cómo filtrar un JSON con JavaScript (I)

En el menor número de líneas posible.

Cómo filtrar un JSON con Python (I)
18:51
05. Cómo filtrar un JSON con Python (I)

En el menor número de líneas posible

WRP 44. En privado con Pablo Postigo (herramientas y perfil developer para contratar)
34:58
WRP 44. En privado con Pablo Postigo (herramientas y perfil developer para contratar)

Herramientas en remoto, sistemas de organización y el perfil ideal de developer.

WRP 43. Programar profundo
32:58
WRP 43. Programar profundo

El poder de la concentración y trucos para lograrla.

El caso real de una aplicación web: SAT
47:31
06. El caso real de una aplicación web: SAT

Daniel Pastor nos cuenta como ha construido su aplicación web.

WRP 42. Arriesga para ganar experiencia (Oliver y Benji)
32:10
WRP 42. Arriesga para ganar experiencia (Oliver y Benji)

Demuestra lo que vales con tu propio esfuerzo.

WRP 41. En privado con Andros Fenollosa (Spacemacs, productividad y Project Manager)
36:20
WRP 41. En privado con Andros Fenollosa (Spacemacs, productividad y Project Manager)

Productividad, organización y herramientas sorprendentes.

Convertir procedimientos en objetos
25:32
04. Convertir procedimientos en objetos

Cómo transformar un código en funciones encapsulando a través de objetos.

WRP 40. Cómo ser un Programador Orientado a Objetos
32:10
WRP 40. Cómo ser un Programador Orientado a Objetos 2

Allanando el camino para que entender mejor que es la POO.

Rebuscando entre los secretos de elpais.com
17:27
03. Rebuscando entre los secretos de elpais.com 2

Revisamos particularidades del *front* de la página del periódico.

Refactorizando CSS con baja especificidad
14:45
03. Refactorizando CSS con baja especificidad 7

Toques mágicos para nuestras hojas de estilo (comentarios abiertos).

WRP 39. Buenos consejos para un buen CSS
34:35
WRP 39. Buenos consejos para un buen CSS 4

Recomendaciones que todos tendríamos que tener en cuenta en nuestra hoja de estilos

WRP 38. En privado con César Izquierdo (trucos, diseño de software y Android)
29:37
WRP 38. En privado con César Izquierdo (trucos, diseño de software y Android)

Hay que darle amor a los fundamentos de la programación.

WRP 37: Caso de estudio: Así implemento el pago seguro (SCA) con Stripe
33:39
WRP 37: Caso de estudio: Así implemento el pago seguro (SCA) con Stripe 6

Las curvas de los pagos online con la nueva directiva PSD2 y el protocolo 3DSecure v2.

Replace Temp With Query y números mágicos
09:33
02. Replace Temp With Query y números mágicos

Parece un nombre muy complicado pero ya verás como este refactor es muy útil.

Donald Trump también hace "trampillas" en JavaScript
18:48
02. Donald Trump también hace "trampillas" en JavaScript

Veremos en detalle el código que hay tras el script de captcha del vídeo anterior.

Estructura de un proyecto JavaScript: Captcha For Congress
14:10
01. Estructura de un proyecto JavaScript: Captcha For Congress

Comienza este nuevo curso con un script donde Donal Trump es protagonista.

WRP 36: Todo se puede hacer con un CMS (Lucha contra el Golden Hammer Antipattern)
33:58
WRP 36: Todo se puede hacer con un CMS (Lucha contra el Golden Hammer Antipattern) 3

La herramienta definitiva para resolver todos los problemas, ¿o no?

Cláusulas de guarda y condicionales anidados
07:53
01. Cláusulas de guarda y condicionales anidados

Arrancamos esta nueva serie con pequeños pero fundamentales cambios en el código.

WRP 35. En privado con Queli Coto (trucos, herramientas y full stack)
34:20
WRP 34: ¿Qué he hecho para llegar hasta aquí? #soyDeveloper
33:10
WRP 34: ¿Qué he hecho para llegar hasta aquí? #soyDeveloper 8

Tres hitos profesionales que definieron mi rumbo y que tú también puedes elegir.

WRP 33. No vas a necesitarlo (YAGNI)
22:40
WRP 33. No vas a necesitarlo (YAGNI)

Por más que tu creas que si, no vas a necesitarlo: "You Aren't Gonna Need It!"

WRP 32. Caso de estudio: El cambio sencillo que destruye tu aplicación
23:00
WRP 32. Caso de estudio: El cambio sencillo que destruye tu aplicación 3

En Spreaker añaden un inocente parámetro en una dirección y se rompe su propuesta de valor.

WRP 31. Romper grandes bloques de código en trozos más pequeños
25:43
WRP 31. Romper grandes bloques de código en trozos más pequeños 2

Algunos trucos para usar un "picahielos" contra esos grandes bloques de código. Luchando contra el "Long Method".

WRP 30. "Good returns", markdown y buscadores integrados
22:57
WRP 30. "Good returns", markdown y buscadores integrados 2

Lo que retorna un método o una función a estudio en nuestra saga de buenas prácticas.

WRP 29. "Tell, don't ask", Ley de Demeter y el tío de la vara
21:38
WRP 29. "Tell, don't ask", Ley de Demeter y el tío de la vara 2

Manda y no preguntes. La comunicación entre objetos y otras cosas en el episodio de hoy.

WRP 28. Especial Productividad: Etiquetando y curando contenidos desde 2004
20:33
WRP 28. Especial Productividad: Etiquetando y curando contenidos desde 2004

Comparto aquí el secreto del sistema que utilizo para archivar con 'tags' el contenido interesante que me voy encontrando en internet.

WRP 27. Cómo nombrar a las cosas, Material Theme y directorios con valor
27:50
WRP 27. Cómo nombrar a las cosas, Material Theme y directorios con valor 2

La dificultad de poner nombre a funciones, métodos y variables es la protagonista de nuestro episodio veraniego.

WRP 26. Importación masiva, hosting en la nube y código anidado
25:40
WRP 26. Importación masiva, hosting en la nube y código anidado 2

El código anidado es otro de los puntos flacos de nuestro código que podemos repasar fácilmente.

Incluir Vuex en nuestra aplicación
15:52
22. Incluir Vuex en nuestra aplicación

Primeros pasos con Vuex en la calculadora.

Vuex explicado de forma sencilla
17:46
21. Vuex explicado de forma sencilla

Vuex es un gestor del estado de tu aplicación basada en Vue.

Utilizar un bus de eventos para comunicar componentes
20:16
20. Utilizar un bus de eventos para comunicar componentes

Una solución temporal para comunicar componentes con EventBus.

Componente de tipo 'select'
18:25
19. Componente de tipo 'select'

Delegamos responsabilidades hacia componentes hijos: 'select'

Componente de tipo 'checkboxes'
21:38
18. Componente de tipo 'checkboxes'

Delegamos responsabilidades hacia componentes hijos: 'checkboxes'

Emitir eventos desde un componente hijo al padre en Vue
18:04
17. Emitir eventos desde un componente hijo al padre en Vue

Como usar "emit" para lanzar eventos desde los hijos para que lo escuchen los padres

Repaso, brújula y aplicación por componentes
11:05
16. Repaso, brújula y aplicación por componentes

Ponemos orden en la aplicación: de donde venimos, que tenemos y hacia donde vamos

WRP 25. Repositorios privados, oh-my-zsh y código muerto
24:12
WRP 25. Repositorios privados, oh-my-zsh y código muerto 4

Estrenamos la edición de verano con un refrescante cocktail de productividad, repositorios y "dead code"

Refactorización de la estructura "a lo loco"
19:35
15. Refactorización de la estructura "a lo loco"

En este vídeo cambiamos todo nuestra calculadora al nuevo esquema marcada con Vue CLI.

Instalar Vue CLI
11:52
14. Instalar Vue CLI

El proyecto madura y creamos una arquitectura más profesional para el desarrollo.

WRP 24. Retrospectiva de un Membership Site
38:27
WRP 24. Retrospectiva de un Membership Site 4

Es tiempo de mirar atrás y repasar el estado actual de esta plataforma, extraer aprendizajes y definir mejoras posibles.

WRP 23. Un café y la historia de mi primer proyecto pagado
35:03
WRP 23. Un café y la historia de mi primer proyecto pagado

Feedback, café online y los éxitos y fracasos de un proyecto web desarrollado durante 10 años.

Aprende testing unitario (TDD) con una kata de programación
01:02:53
03. Aprende testing unitario (TDD) con una kata de programación

Los tests unitarios o TDD es una herramienta de desarrollo que hará tus aplicaciones invencibles.

WRP 22. Reflexiones sobre las auditorias de rendimiento con Lighthouse
35:38
WRP 22. Reflexiones sobre las auditorias de rendimiento con Lighthouse 2

Análisis de resultados, destacando lo positivo de estas auditorias reflejando también su propia realidad.

Primer componente para la calculadora
17:36
13. Primer componente para la calculadora

Empezamos a darle una vuelta a nuestra app para llevarla mucho más alto

Componentes en Vue
14:25
12. Componentes en Vue

Mi primer componente con VueJS

Filtros en Vue y funciones de JavaScript
14:31
11. Filtros en Vue y funciones de JavaScript

Completamos la características de la calculadora con filter y Object.assign

Primera iteración de cálculo de suma de precios
18:05
10. Primera iteración de cálculo de suma de precios

La calculadora ya funciona, pero quedan muchas cosas por mejorar.

HTML de la calculadora basado en Bulma
15:07
09. HTML de la calculadora basado en Bulma

El armazón de este gestor de presupuestos se basa en este popular framework de CSS.

Planteando un proyecto real: calculadora de precios
06:44
08. Planteando un proyecto real: calculadora de precios

Planteamos en este vídeo los primeros pasos de nuestro proyecto real.

WRP 21. Lecciones recibidas con el análisis estático de código
36:17
WRP 21. Lecciones recibidas con el análisis estático de código

¡Reto conseguido! Y muchas lecciones para aplicar en nuestro código.

Cocina tu código con ramas de git
54:06
02. Cocina tu código con ramas de git

Trucos y consejos sobre el uso práctico y real de git.

WRP 20. Reto: Cómo aprender algo nuevo en menos de una semana
36:58
WRP 20. Reto: Cómo aprender algo nuevo en menos de una semana 2

Os propongo un reto para comprobar nuestra capacidad de aprendizaje.

Validación de formulario con Vue
22:02
07. Validación de formulario con Vue

Aplicamos una validación contra un formulario al estilo moderno con Vue JS.

Validación de formulario con jQuery
15:03
06. Validación de formulario con jQuery

Creamos un sistema de validación en cliente con la librería clásica.

Cambiar el estado de un formulario con Vue
20:24
05. Cambiar el estado de un formulario con Vue

Aprendemos a controlar el estado de nuestros campos con Vue.

Cambiar el estado de un formulario con jQuery
14:21
04. Cambiar el estado de un formulario con jQuery

Otra ejecución clásica: que aparezcan campos de un formulario después de marcar un 'checkbox'.

Mostrar y ocultar capa con Vue
17:00
03. Mostrar y ocultar capa con Vue

Nuestra primera app hecha con Vue.

Mostrar y ocultar capa con jQuery
14:55
02. Mostrar y ocultar capa con jQuery

El script más popular en jQuery: cambiar el estado de un 'div'.

¿Por qué VueJS puede sustituir a jQuery?
08:08
01. ¿Por qué VueJS puede sustituir a jQuery?

Razones y motivos para aprender VueJS: progresivo, sencillo y rápido.

WRP 19. Refactorizar una aplicación legacy (Parte 2)
37:22
WRP 19. Refactorizar una aplicación legacy (Parte 2)

Continuamos refactorizando: abstracción, paquetes y microframeworks.

10. Un caso real de estudio
24:53
10. Un caso real de estudio 2

Te cuento mi caso de estudio en danielprimo.io con detalles de tiempo, esfuerzo y resultados.

¿Cómo planificar un nuevo proyecto?
56:48
01. ¿Cómo planificar un nuevo proyecto?

Historias de usuario y diagramas de flujo en riguroso directo.

WRP 18. Refactorizar una aplicación legacy (Parte 1)
37:38
WRP 18. Refactorizar una aplicación legacy (Parte 1) 5

Guía de primeros pasos para refactorizar una aplicación de código legado.

9. ¿Qué tecnología utilizo para mi web?
22:38
9. ¿Qué tecnología utilizo para mi web? 4

Dominio, alojamiento y sistema de publicación son los protagonistas de este episodio.

Añade un buscador con Leaflet Search
12:46
14. Añade un buscador con Leaflet Search

Ampliamos nuestro proyecto con la capacidad de buscar entre los marcadores.

WRP 17. Probamos awes.io ¿Solución definitiva para tu webapp?
36:42
WRP 17. Probamos awes.io ¿Solución definitiva para tu webapp?

Ponemos a prueba un script que promete hacernos la vida más fácil para crear aplicaciones web.

Crear un cluster de marcadores
16:23
13. Crear un cluster de marcadores

Agrupar marcadores es una solución para mostrar solo lo necesario en el mapa.

8. ¿Cómo me doy a conocer?
21:08
8. ¿Cómo me doy a conocer?

Queremos tener visitas, que nuestro nombre sea conocido. Algunos trucos para conseguirlo.

Agrupar marcadores por capas y cambiar de cartografía
19:33
12. Agrupar marcadores por capas y cambiar de cartografía

En este vídeo generamos un selector con las categorías de los marcadores.

Muestra datos desde un KML con omnivore
17:41
11. Muestra datos desde un KML con omnivore

Otro ejemplo de lectura de datos estructurados desde el formato KML.

WRP 16. Especial Google I/O 2019 (De la web a la app no hay tanta distancia)
38:22
WRP 16. Especial Google I/O 2019 (De la web a la app no hay tanta distancia) 2

Análisis de las novedades presentadas sobre desarrollo web en el evento de Google.

7. ¿Qué es un CTA?
23:46
7. ¿Qué es un CTA?

Una llamada a la acción es el corazón del marketing online incluso para un programador.

Importa datos al mapa con GeoJSON
25:11
10. Importa datos al mapa con GeoJSON

GeoJSON es un formato de datos espaciales que podemos cargar en nuestro mapa.

Geolocalización del usuario en el mapa
27:26
09. Geolocalización del usuario en el mapa

Leaflet cuenta con un sistema de geolocalización orientado a la visualización en el móvil.

WRP 15. Cómo desarrollar un CRM #soyDeveloper
37:27
WRP 15. Cómo desarrollar un CRM #soyDeveloper 5

Comenzamos una nueva serie explicando como afrontar proyectos de desarrollo concretos.

Marcadores "draggables" (arrastrables)
10:26
08. Marcadores "draggables" (arrastrables)

Los marcadores aún más interactivos: pueden arrastrarse por el mapa.

6. ¿Qué hago con las redes sociales?
22:56
6. ¿Qué hago con las redes sociales?

Aprovecha el potencial de redes como Linkedin o Twitter para apuntalar tu presencia online.

Geolocalización inversa
15:53
07. Geolocalización inversa

Captura información del mapa y conviértela en otra de más valor con "reverse geocoding".

Eventos sobre el mapa
12:03
06. Eventos sobre el mapa

Gestionamos reacciones a eventos que ocurren sobre el mapa como 'click', 'moseout' o 'mouseover'

WRP 14. Tenemos que dejar de hacer 'páginas web'
34:27
WRP 14. Tenemos que dejar de hacer 'páginas web' 3

El valor de tu trabajo es mayor que el tiempo que le dedicas, ¿o no?.

Figuras geométricas y límites
16:24
05. Figuras geométricas y límites

Dibuja polígonos y círculos sobre el mapa y marca los límites de visualización.

5. ¿Por qué hacerse podcaster y youtuber?
23:47
5. ¿Por qué hacerse podcaster y youtuber? 3

Creación de contenidos audiovisuales y qué puedes esperar del podcast y los vídeos en YouTube.

Marcadores personalizados
15:09
04. Marcadores personalizados

Crea marcadores en el mapa con imágenes propias o iconos de fuente.

Añadir marcadores en el mapa
13:59
03. Añadir marcadores en el mapa

El mapa necesita datos geolocalizados pintados como marcadores.

WRP 13. Secretos para un buen presupuesto
40:02
WRP 13. Secretos para un buen presupuesto

Puntos importantes a tener en cuenta para conseguir el éxito presupuestando un proyecto web.

El primer mapa interactivo
15:47
02. El primer mapa interactivo

Lanzamos en pocas líneas de código nuestro primer mapa con Leaflet.

4. ¿Qué código comparto?
24:30
4. ¿Qué código comparto?

El código es la expresión profesional de un desarrollador, el fruto del trabajo de un programador. Su valor es incalculable.

¿Por qué Leaflet JS es una buena solución?
07:17
01. ¿Por qué Leaflet JS es una buena solución?

Leaflet es una alternativa gratuita para construir mapas interactivos para la web moderna.

Colofón del curso de Python
06:34
27. Colofón del curso de Python

Broche final para el desafío. ¡A partir de aquí continua creando!

WRP 12. Los dos primeros meses de la plataforma premium
34:07
WRP 12. Los dos primeros meses de la plataforma premium 8

Una mirada hacia los últimos meses de desarrollo de la plataforma premium de danielprimo.io.

3. ¿Por qué un blog?
16:12
3. ¿Por qué un blog? 2

El blog es la herramienta básica para dar a conocer al mundo tus habilidades de forma activa.

Despliegue en PythonAnywhere
14:59
26. Despliegue en PythonAnywhere

Publicamos la app en la nube, de nuevo.

Reorganizando el código en un package
20:25
25. Reorganizando el código en un package

Refactorizamos de nuevo, esta vez para crear un paquete de Python.

WRP 11. Caso de estudio: La API para aprender a cazar gamusinos
33:18
WRP 11. Caso de estudio: La API para aprender a cazar gamusinos

Basado en hechos reales. ¿Qué le faltaba al proyecto para ser perfecto?

Añadir Sparkline para mostrar la tendencia
13:44
24. Añadir Sparkline para mostrar la tendencia

Vamos a utilizar los datos para dibujar la tendencia de la serie.

2. ¿Qué ofrezco?
18:03
2. ¿Qué ofrezco? 2

Habilidades técnicas, experiencia profesional y todo lo que brindas como profesional.

Recuperando los datos de TinyDB
10:57
23. Recuperando los datos de TinyDB

Capturamos los datos guardados para mostrarlos en la plantilla.

Guardar datos del histórico
18:00
22. Guardar datos del histórico

Comenzamos a almacenar datos del ranking en serie temporal.

WRP 10. Checklist para programar un ecommerce en 2019
39:39
WRP 10. Checklist para programar un ecommerce en 2019

¿Qué hay que tener en cuenta para crear un ecommerce?

Base de datos en JSON: TinyDB
16:11
21. Base de datos en JSON: TinyDB

Creamos la base de datos sin cambiar el almacenamiento en ficheros.

1. ¿Quién soy?
16:16
1. ¿Quién soy? 3

La mejor forma de comenzar a ofrecer lo que sabes hacer es descubrir quién eres.

Fichero de configuración
16:05
20. Fichero de configuración

Añadimos un sistema para los parámetros de la aplicación.

Refactorizando de nuevo la app
18:34
19. Refactorizando de nuevo la app

Más refactorización, nunca hay que dejar de mejorar.

WRP 9. Programación a medida vs Frameworks vs CMS
40:36
WRP 9. Programación a medida vs Frameworks vs CMS 4

¿Cual es la mejor elección para un proyecto de desarrollo web?

Desplegando en la nube de heroku
15:54
18. Desplegando en la nube de heroku

Primer despliegue del proyecto en la nube. No será el último.

Virtualizando el entorno
10:17
17. Virtualizando el entorno

Virtualenv para crear un entorno separado del resto.

Exportar los datos como API
07:02
16. Exportar los datos como API

Conectamos con el mundo la app a generando una API en formato JSON.

Creando la web con Flask
14:10
15. Creando la web con Flask

Unas pocas líneas de código y ya hemos creado un acceso web.

WRP 8. Tres puntos importantes en el flujo de desarrollo de software
41:05
WRP 8. Tres puntos importantes en el flujo de desarrollo de software 1

Historias de usuario, ramas de git y despliegues automáticos para empezar en integración continua.

Refactorizando: Clase de almacenamiento
13:04
14. Refactorizando: Clase de almacenamiento

Finalizamos la primera tanda de refactorización con la clase de datos.

Refactorizando: Clase de generación de ranking
12:32
13. Refactorizando: Clase de generación de ranking

Seguimos refactorizando, ahora le toca al corazón de la aplicación.

Refactorizando: Clase de scraping
19:05
12. Refactorizando: Clase de scraping

Refactorizamos el código para crear la primera clase y comenzar la POO.

Newman, Postman en la línea de comandos
15:02
11. Newman, Postman en la línea de comandos

Aplicación práctica en terminal para integrar Postman con otros sistemas.

WRP 7. Caso de estudio: La startup que no sabía por donde empezar
33:58
WRP 7. Caso de estudio: La startup que no sabía por donde empezar 3

La historia de un proyecto: Una charla en un bar, una promesa millonaria y unas flores marchitas.

Caso de estudio: API con autenticación
20:38
10. Caso de estudio: API con autenticación

Mejoraremos una colección de Postman con tood lo aprendido en el curso.

Diseño con Mocking
15:44
09. Diseño con Mocking

Diseñamos API's para utilizarlas en el tiempo de desarrollo.

Monitorización y documentación
13:27
08. Monitorización y documentación

Dos servicios más de Postman para aprovechar la nube.

Automatizando pruebas con ficheros de datos
18:13
07. Automatizando pruebas con ficheros de datos

Reforzamos el trabajo con variables e importamos datos desde un CSV.

WRP 6. El mejor lenguaje de programación para conseguir (mejor) trabajo
44:42
WRP 6. El mejor lenguaje de programación para conseguir (mejor) trabajo 2

Variables a tener en cuenta para elegir el lenguje de programación de tu vida... O no.

Encadenando peticiones con Collection Runner
19:08
06. Encadenando peticiones con Collection Runner

Automatizar las pruebas de la API de SpaceX

Pre-requests, peticiones, respuestas y tests
15:50
05. Pre-requests, peticiones, respuestas y tests

Expandiendo con scripts las capacidades de Postman.

WRP 5. Mayday: Me han hackeado el WordPress
45:53
WRP 5. Mayday: Me han hackeado el WordPress

Trucos y herramientas ante los ataques a una web.

Variables globales y de entorno
22:43
04. Variables globales y de entorno

Trabajamos con variables en el caso de una API real.

Requests, consola, generador de código y examples
15:34
03. Requests, consola, generador de código y examples

Acciones de uso cotidiano para seguir familiarizándonos con las herramientas.

WRP 4. El futuro del desarrollo web no son las apps híbridas
35:37
WRP 4. El futuro del desarrollo web no son las apps híbridas 2

La programación web tiene su propio futuro, afortunadamente.

Básicos de Python: Orientación a objetos
19:34
Guardar más de una página de resultados
14:31
10. Guardar más de una página de resultados

Desarrollamos la lógica para capturar múltiples datos.

WRP 3. Caso de estudio: La tienda de pajaritas
30:03
WRP 3. Caso de estudio: La tienda de pajaritas 5

El primer caso de estudio versa sobre una tienda online con mucha trampa...

Colecciones
10:52
02. Colecciones

Colecciones e histórico.

Instalación y primera request
12:27
01. Instalación y primera request

Nuestra primera petición a una API.

Diccionarios y almacenamiento de datos
21:51
09. Diccionarios y almacenamiento de datos

Guardamos datos en disco.

Scraping del listado de podcasts
19:28
08. Scraping del listado de podcasts

Capturando información de la buena.

Extrayendo información del scraping
13:40
07. Extrayendo información del scraping

Refactorizamos nuestro código.

WRP 2. Los 6 errores cometidos al elegir la tecnología adecuada
34:10
WRP 2. Los 6 errores cometidos al elegir la tecnología adecuada

Errores típicos que no tienen nada que ver con la tecnología pero todos cometemos.

Primer scraping
17:30
06. Primer scraping

Nuestras primeras pruebas con Wikipedia

Básicos de python:  funciones
08:07
05. Básicos de python: funciones

Terminamos en las funciones.

Básicos de python:  pip y librerías
07:36
04. Básicos de python: pip y librerías

Seguimos por las librerías.

Básicos de python:  Shell, tuplas y listas
08:15
Presentación del desafío
13:31
02. Presentación del desafío

Hay que empezar por el principio: planificar el proyecto. Definimos que es el scraping: capturar información desde la web y convertirla en datos útiles.

¿Por qué Python?
11:18
01. ¿Por qué Python?

Razones y motivos para considerar Python como una buena alternativa.

WRP 1. ¿Por qué lanzar un podcast premium?
26:27
WRP 1. ¿Por qué lanzar un podcast premium? 1

Primer episodio premium, ¿por qué montar todo este tinglado?