freeCodeCamp videos
learncodeacademy videos
Patterns And Principles:
- http://principles-wiki.net/
- David Gómez - Midiendo la calidad de código
- No Tiene Nombre 31 - Algunas experiencias y opiniones sobre Domain Driven Design
- Alfredo Casado - OOP & Connascence
eXtreme Programming:
- https://github.com/xpeppers/starway-to-orione
- Eduardo Ferro - Agilidad Hacia la entrega continua ¿Qué te lo impide?
- Luis Rovirosa - Desarrollando a velocidad de crucero
Reactjs:
- https://developer.microsoft.com/en-us/fabric#/components
- https://www.edx.org/course/react-router-and-redux
Achitecture
- .NET Application Architecture - Reference Apps
- Serverless apps Architecture with Azure Functions
- Starting poing for Clean Architecture
- Robert C. Martin - Clean Architecture
Craftmanship:
- Eduardo Ferro - Simplicidad para desarrolladores
- Modesto San Juan - TDD mi cuaderno de recetas
- Be SOLID my Tests - Mavi Jiménez
- S.O.L.I.D Python - Eduardo Ferro
- Carlos Bastos - Empezando por el principio (de diseño)
- Xavi Gost - Refactoring a Patrones, kata Mars Rovers
- Xavi Gost - Refactoring a Patrones, kata Gilded Rose
- Xavi Gost - Refactoring a Patrones, Kata Bowling
- Xavi Gost - Kata Potter
- Xavi Gost - Test Doubles
- Xavi Gost - SOLID
Non Tech:
- Katia Aresti - Entrevistas al borde de un ataque de nervios
Health
- Ergonomics Expert Explains How to Set Up Your Desk
- Prácticas saludables en la vida del programador
- Máximo Rendimiento Personal para Ingenieros
jueves, 19 de diciembre de 2019
jueves, 28 de noviembre de 2019
sábado, 23 de noviembre de 2019
Devil´s advocate technique
This is, in a nutshell, the Devil's Advocate technique. The intent isn't to break the software by sneaking in defects, but to explore how effectively the test suite detects bugs. In the current (simplified) example, the effectiveness of the test suite isn't impressive.
source: https://blog.ploeh.dk/2019/10/07/devils-advocate/
source: https://blog.ploeh.dk/2019/10/07/devils-advocate/
jueves, 14 de noviembre de 2019
miércoles, 13 de noviembre de 2019
viernes, 8 de noviembre de 2019
Some notes about Pluralsigth course: Encapsulation and SOLID by Mark Seemann
- CQS for getting code simpler
- More reading then writing code
- Hide information (not public setters)
- Not invalid states
- Fail Fats
- Never return null
- SOLID, for making code more maintainable
rigidity: design difficult to change, easy to break
viscosity: no needed complexity, overkill design (simplicity)
- Developers have a tendency to attempt to solve specific problems with general solutions by Greg Young
- Instead of being general code should be specific. by Greg Young
- Following the SRP, each concrete class is very specific
- Abstraction is the elimination of the irrelevant and the amplification of the essential by Robert C. Martin
- Start with concrete behavior and discover abstractions as commonality emerges by rules of three
- Favor composition over inheritance for example by strategy, decorator, ... patterns.
- Don´t override inherited base class methods (Liskov Substitution Principle)
- Implements all methods of inherited interface, don´t remove features from inherited class throwing NotSupportedException (Liskov Substitution Principle)
- Prefer a tons of small, concrete, trial, simple and granular classes with a low level of abstraction, than a few classes with a lots of code.
- Client should not depend on method that they do not use (Interface segregation principal)
- Small interface with one operation.
- More reading then writing code
- Hide information (not public setters)
- Not invalid states
- Fail Fats
- Never return null
- SOLID, for making code more maintainable
rigidity: design difficult to change, easy to break
viscosity: no needed complexity, overkill design (simplicity)
- Developers have a tendency to attempt to solve specific problems with general solutions by Greg Young
- Instead of being general code should be specific. by Greg Young
- Following the SRP, each concrete class is very specific
- Abstraction is the elimination of the irrelevant and the amplification of the essential by Robert C. Martin
- Start with concrete behavior and discover abstractions as commonality emerges by rules of three
- Favor composition over inheritance for example by strategy, decorator, ... patterns.
- Don´t override inherited base class methods (Liskov Substitution Principle)
- Implements all methods of inherited interface, don´t remove features from inherited class throwing NotSupportedException (Liskov Substitution Principle)
- Prefer a tons of small, concrete, trial, simple and granular classes with a low level of abstraction, than a few classes with a lots of code.
- Client should not depend on method that they do not use (Interface segregation principal)
- Small interface with one operation.
martes, 1 de octubre de 2019
Aprendiendo algunas cosas sobre la refactorización
Ayer ví la charla que dio Yodra López en la AdaLoversConf
He anotado algunas cosas que me han gustado:
- Tener en cuenta que la aplicación legada es la que más aporta al negocio, aunque no siempre sea la mejor técnicamente hablando.
- Custodiar el valor que nos entregan.
- Pequeñas refactorizaciones cotidianas: mejorar el nombrado, extraer métodos, cuidar los parámetros a métodos.
- Ponerse en la piel del cliente, porque el dinero nos tiene que doler también a nosotros.
- Explicando la técnica de cambios paralelos como técnica para hacer una refactorización.
El repositorio de código del que parte el ejemplo: https://github.com/lean-mind/ultimate-refactoring-java
Hace poco leyendo el blog de Carlos Blé me encontré con este artículo que me ha gustado mucho y voy a intentar añadirlo en flujo de escribir código.
He anotado algunas cosas que me han gustado:
- Tener en cuenta que la aplicación legada es la que más aporta al negocio, aunque no siempre sea la mejor técnicamente hablando.
- Custodiar el valor que nos entregan.
- Pequeñas refactorizaciones cotidianas: mejorar el nombrado, extraer métodos, cuidar los parámetros a métodos.
- Ponerse en la piel del cliente, porque el dinero nos tiene que doler también a nosotros.
- Explicando la técnica de cambios paralelos como técnica para hacer una refactorización.
El repositorio de código del que parte el ejemplo: https://github.com/lean-mind/ultimate-refactoring-java
Hace poco leyendo el blog de Carlos Blé me encontré con este artículo que me ha gustado mucho y voy a intentar añadirlo en flujo de escribir código.
miércoles, 11 de septiembre de 2019
lunes, 15 de julio de 2019
Very simple file watcher
#!/bin/bash
chsum1=""
while [[ true ]]
do
chsum2=`find koans/ -type f -exec md5sum {} \;`
if [[ $chsum1 != $chsum2 ]] ; then
printf "\033c" #clear screen
groovy AllKoans.groovy #command
chsum1=$chsum2
fi
sleep 2
done
chsum1=""
while [[ true ]]
do
chsum2=`find koans/ -type f -exec md5sum {} \;`
if [[ $chsum1 != $chsum2 ]] ; then
printf "\033c" #clear screen
groovy AllKoans.groovy #command
chsum1=$chsum2
fi
sleep 2
done
miércoles, 26 de junio de 2019
jueves, 13 de junio de 2019
documental sobre la informática en castellano
codigo linux: https://www.youtube.com/watch?v=CcOJIGgK-CQ
microsoft y apple: https://www.youtube.com/watch?v=bqErOWL0IQg
los primeros hackers: https://www.youtube.com/watch?v=bqErOWL0IQg
los inicios de la computación: https://www.youtube.com/watch?v=7eOKcLnm0Xo
la edad de oro del software español: https://www.youtube.com/watch?v=rwnukEgHiP4
Como IBM terminó usando MS-DOS en lugar de CP/M (1995): https://www.youtube.com/watch?v=k5C_xzG5N70
La historia de Microsoft visto desde el punto de vista de IBM y El sistema operativo QDOS: https://www.youtube.com/watch?v=j2OPK5gGTWI
microsoft y apple: https://www.youtube.com/watch?v=bqErOWL0IQg
los primeros hackers: https://www.youtube.com/watch?v=bqErOWL0IQg
los inicios de la computación: https://www.youtube.com/watch?v=7eOKcLnm0Xo
la edad de oro del software español: https://www.youtube.com/watch?v=rwnukEgHiP4
Como IBM terminó usando MS-DOS en lugar de CP/M (1995): https://www.youtube.com/watch?v=k5C_xzG5N70
La historia de Microsoft visto desde el punto de vista de IBM y El sistema operativo QDOS: https://www.youtube.com/watch?v=j2OPK5gGTWI
Quote about software development
the “single responsibility” principle is a very effective heuristic for breaking up complexity, and developers shouldn’t be shy about creating new types
source: growing object oriented software guided by tests, pag. 126
source: growing object oriented software guided by tests, pag. 126
viernes, 31 de mayo de 2019
TDD resources
I´ve found some resources about TDD, some of them are in spanish.
https://groups.google.com/forum/#!forum/tddev-sp
https://groups.google.com/forum/#!forum/artesanos-de-software
https://groups.yahoo.com/neo/groups/testdrivendevelopment/conversations/messages
https://groups.google.com/forum/#!forum/growing-object-oriented-software
https://groups.google.com/forum/#!forum/clean-code-discussion
https://groups.google.com/forum/#!forum/tddev-sp
https://groups.google.com/forum/#!forum/artesanos-de-software
https://groups.yahoo.com/neo/groups/testdrivendevelopment/conversations/messages
https://groups.google.com/forum/#!forum/growing-object-oriented-software
https://groups.google.com/forum/#!forum/clean-code-discussion
jueves, 23 de mayo de 2019
online learning resources
https://www.coursera.org/
https://www.khanacademy.org/
https://www.udacity.com/
https://www.udemy.com/
https://www.udemy.com/
https://alison.com/
http://online.stanford.edu/courses
http://ocw.mit.edu/courses/
http://online-learning.harvard.edu/
https://www.edx.org/school/uc-berkeleyx
https://www.gutenberg.org/
http://www.textbookrevolution.org/index.php/Main_Page
https://open.umn.edu/opentextbooks/
http://collegeopentextbooks.org/
http://moocse.com/
https://www.coursebuffet.com/
https://coursefinder.io/
https://www.skillshare.com/
http://www.craftsy.com/clp/tv-home-1
https://www.busuu.com/
http://ureddit.com/
http://www.openculture.com/
http://mooc.es/
https://miriadax.net/home
http://formaciononline.eu/
https://iedra.uned.es/
http://unimooc.com/
http://ocw.uoc.edu/cooperacion/
https://openlibra.com/
https://www.class-central.com/
https://sharingacademy.com
https://teachlr.com
https://www.edx.org/es
https://redhoop.com/
https://www.mooc-list.com/
http://moocse.com/
https://www.khanacademy.org/
https://www.udacity.com/
https://www.udemy.com/
https://www.udemy.com/
https://alison.com/
http://online.stanford.edu/courses
http://ocw.mit.edu/courses/
http://online-learning.harvard.edu/
https://www.edx.org/school/uc-berkeleyx
https://www.gutenberg.org/
http://www.textbookrevolution.org/index.php/Main_Page
https://open.umn.edu/opentextbooks/
http://collegeopentextbooks.org/
http://moocse.com/
https://www.coursebuffet.com/
https://coursefinder.io/
https://www.skillshare.com/
http://www.craftsy.com/clp/tv-home-1
https://www.busuu.com/
http://ureddit.com/
http://www.openculture.com/
http://mooc.es/
https://miriadax.net/home
http://formaciononline.eu/
https://iedra.uned.es/
http://unimooc.com/
http://ocw.uoc.edu/cooperacion/
https://openlibra.com/
https://www.class-central.com/
https://sharingacademy.com
https://teachlr.com
https://www.edx.org/es
https://redhoop.com/
https://www.mooc-list.com/
http://moocse.com/
miércoles, 22 de mayo de 2019
RED SPAROWES - At the soundless dawn - 2005
new music in my life
jueves, 25 de abril de 2019
Megacities 2019 [Cinematic Street & Timelapse Reel 4k]
Me he encontrado este video ty me ha gusta mucho, me recordaba a Ghost in the Shell.
martes, 9 de abril de 2019
Suscribirse a:
Entradas (Atom)