Git sencillo con SourceTree #1 Presentación

Como ya sabréis he creado un curso sobre git con un planteamiento muy sencillo y orientado a desarrolladores usando la herramienta SourceTree.

En esta entrada os dejo el vídeo y como no todo el mundo puede tener facilidad para poder ver un video en cualquier momento y lugar os voy a dejar también la transcripción.

Dejarme en los comentarios que os parece el tener disponible la transcripción. Y recordar que si os interesa el curso completo o alguno de mis otros cursos están a un precio muy ajustado en la página de cursos.

El audio de la lección

Si prefieres escucharlo en podcast

El vídeo de la lección

https://youtu.be/EnpGrVWs8hk

Transcripción de la presentación

Hola lo primero es presentarme soy Iñigo Serrano.

Soy el instructor de este curso sobre git. Soy un consultor técnico especializado en la optimización de equipos de desarrollo.

Podéis encontrar más información, aparte de este curso, tanto en mí web www.inigoserrano.com, en el que también trató otros temas referidos a la optimización de equipos de desarrollo. Y en youtube en el cual tengo videos también tratando este tipo de temas. Lo que pasa es que los vídeos de youtube, lógicamente son más un planteamiento de píldoras, de conceptos concretos, que no tanto este curso, en el cual el contenido está más estructurado.

Tiene un objetivo final y está todo más enlazado. Que no en las píldoras, que bueno, en ese aspecto son más conceptos un poco dispares y no tan conectados como en un curso como en este. Aparte que lógicamente en este curso podéis obtener un certificado, cosa que con los vídeos de youtube no vais a poder conseguir.

Este es un curso que es parte de una serie de cursos sobre git. Os podéis preguntar por qué está separado en cursos tan pequeños. La verdad es que como sabéis, o si no yo os cuento git básicamente simplemente es un control de versiones con línea de comandos. Y alrededor de esa línea de comandos han ido surgiendo un montón de herramientas que lo complementan.

Qué es lo que pasa. Pues que a veces te encuentras, yo por lo menos en mi experiencia me he encontrado con gente que prefiere trabajar con la línea de comandos, porque le resultaba más cómodo, dicen que son más productivos.

Luego en cambio hay otra gente que no se siente cómoda con una línea de comandos y prefiere interface gráfica, herramientas gráficas. Y dentro de las herramientas gráficas hay varias opciones. Hay gente que prefiere tener la herramienta de gestión del git dentro de su herramienta de desarrollo. Otra gente que no le importa tener una herramienta externa. Hay gente pues que viene del mundo del subversión y están acostumbrados a tortoise y se hallan más cómodos con esa forma de trabajo.

Y otra gente que prefiere otras herramientas como el SourceTree que son, por decirlo así, nativas de git, orientadas sólo a git.

Hay bastante peculiaridades y sería muy difícil en un único curso cubrir todas las opciones. Salvo que fuese un curso que se contasen las cosas en varias veces en diferentes herramientas con lo cual acabaría siendo bastante pesado.

Entonces me ha parecido que es mejor separar los cursos y ser más concretos. Es decir ver git con una herramienta, y con otra, de tal forma que os podáis hacer el curso que vayáis necesitando a vuestra media como si fuese un puzzle. Si os sentís más cómodo con la línea de comandos podéis ver el de la línea de comandos. Si os sentís más cómodo con otra herramienta pues podéis ir viendo ese curso en concreto de esa herramienta.

Lógicamente los cursos los iré sacando poco a poco, porque lleva un cierto tiempo el hacerlos.

Los cursos el contenido va a ser el mismo simplemente que en cada uno pues se va a ver con una herramienta o con la otra.

Podéis ver algunos ejemplos de las clases que hay para que os hagáis una idea de cómo es. Básicamente va a haber cierto contenido, poco, pero va a haber cierto contenido que es más teórico, en el que la presentación pues va a ser como esta en el que salgo yo explicando con un fondo.

Y luego hay otras selecciones que básicamente pues va a ser delante de un ordenador de la pantalla del ordenador en el que vamos a ir viendo cómo se hacen las cosas y explicando las cosas paso a paso.

Evolución sobre Docker: Openshift

Vamos a hablar de OpenShift como evolución de Docker.

Ya sé que no es una entrada típica porque os voy a hacer un anuncio/pregunta.

Antecedentes

Los que me seguís ya sabéis que llevo bastante tiempo metiéndome en el mundo de los contenedores, lo que popularmente conocemos como Docker.

Algunos incluso habréis cursado mi curso Docker sencillo para desarrolladores.

Algunos de los alumnos del curso me plantearon que lo ampliase dándole un enfoque más empresarial, más de despliegue de aplicaciones y no tanto para un entorno sencillo como puedes conseguir solo con Docker.

OpenShift, evolución lógica

Probablemente pensemos que la evolución lógica sea utilizar Docker Enterprise. Pero también existe otra opción, que es el Openshift.

Esta es la alternativa de Red Hat. Es decir son productos competidores. En mi caso y por mi trabajo yo soy más de Red Hat que de Docker. Por eso estoy metiéndome en la plataforma ofrecida por Red Hat.

Así que estoy empezando a preparar un curso con las cosas que voy aprendiendo. Va a ser un enfoque similar al curso de docker pero con Openshift.

Es decir muy práctico, como si entrases en mi equipo y tuvieses que ponerte a trabajar. Saber lo que se necesita en el día a día. Luego ya podremos ir profundizando.

Creo que es más sencillo dar el salto a soluciones empresariales con este planteamiento que desde Docker Enterprise.

¿Tienes alguna experiencia con Openshift o Docker Enterprise? Déjamela en los comentarios. Y si tienes algún tema de Openshift que te interese que trate en el curso también.

WordPress en Openshift, un blog en un periquete

Como instalar un WordPress en OpenShift para tener un blog en un periquete.

Motivación

Estoy mejorando este web poco a poco y el otro día tuve un problema de configuración. Así que necesitaba hacer alguna prueba. Lo típico instalar un wordpress limpio, probar y borrar.

Pero claro estando tan orientado a la optimización de equipos de desarrollo como estoy no era plan de hacerlo de cualquier manera.

WordPress en Openshift

Aquí es donde ha venido al rescate OpenShift. Básicamente porque me ha permitido tener un WordPress con su correspondiente base de datos sin apenas esfuerzo.

Lo único que hay que tener es un Minishift y la plantilla de WordPress en OpenShift.

OpenShift en la optimización de equipos

Este uso de wordpress es una muestra, muy pequeña, de lo que nos puede aportar OpenShift a la optimización de los equipos de desarrollo.

En muy poco tiempo hemos podido disponer de una infraestructura para usarla. Lo que mas ha tardado es esperar a que se bajasen las imágenes.

Y lo que es mas importante la podemos eliminar sin dejar rastro. No mas ordenadores lentos por tanta porqueria de instalar y desinstalarla programas.

Yo ya no instalo nada directamente en mi ordenador. Antes todo lo hacia a través de Docker y ahora usando MiniShift/OpenShift. Es infinitamente más cómodo.

Las plantillas de WordPress

Desde el punto de vista de un desarrollador toda la potencia está en tener las plantillas.

En este caso disponemos de una ya hecha que hemos podido utilizar directamente. Pero si necesitásemos personalizarla también podríamos.

Esta es la gran potencia de esta herramienta, la facilidad para disponer de infraestructura en un par de «botonazos».

Eso si para personalizar las plantillas es muy recomendable, por no decir imprescindible, conocer Docker.

Si no te manejas con los contenedores Docker tengo un curso en el que explico de forma muy sencilla los principios básicos. Te invito a echarle un vistazo.

Os dejo el vídeo

Aquí te dejo el vídeo para que puedas ver como tener un wordpress en un periquete.

OpenShift Login

Te quiero comentar en esta ocasión sobre el OpenShift login.

OpenShift Login

Lógicamente es el primer paso para usar el producto. El login en si mismo no tiene mucha cosa. Pero hay una característica que si quiero comentar o recalcar.

Como en el curso estamos utilizando minishift para que sea más sencillo el uso hay dos clientes.

Por una parte está el cliente de minishift y por otra parte está el cliente de openshift.

Para logearnos tenemos que utilizar el login del openshift y hay que configurarlo.

Esto es lo que os enseño en el video.

https://youtu.be/xerijcCkO_A

Pero si prefieres leer aquí seguido te dejo la transcripción. Y si te interesan estos temas y quieres profundizar un poco más no dejes de pasarte por mi página de cursos donde tengo más contenido.

La transcripción del vídeo

Bien hasta ahora lo que hemos visto es la instalación y un poco la configuración de lo que sería el minishift y el openshift.

Pero bueno nosotros realmente lo que queremos es logearnos. Tenemos dos formas.

Podemos hacerlo vía la consola. Nos han dicho en la instalación que se ha creado un usuario developer y que la seguridad está desactivada.

Con lo cual podemos poner cualquier password que va a dar igual.

Y bueno aquí ya vemos un poquitín lo que es la consola gráfica vía web de lo que es él openshift.

Vemos que efectivamente que hay creado.Que estamos logeados con el usuario developer y que bueno pues nos ha creado un proyecto por defecto.

Ya veremos más adelante lo que son los proyectos y todo. Un poco la terminología de lo que es el openshift.

Pero de momento vamos a centrarnos en el login. Y para hacer el logging con línea de comandos, porque a veces sí que es cierto que la mayor parte de las cosas se pueden hacer con la consola web.

Pero bueno esta es una herramienta que está muy pensada para automatizar tareas con lo cual tampoco tiene sentido que se hagan algunas cosas a mano.

Aunque sí que es cierto que con un minishift que tiene un planteamiento más de uso en local y de pruebas sí que te puede dar más pie a hacer las cosas manualmente.

Pero como digo lo normal es que se hagan vía línea de comandos y vía scripts.

Entonces pues lo que tenemos que hacer es con el oc login. Como se ha comentado aquí ya estamos utilizando, nos queremos logear en el openshift.

Entonces no tenemos que utilizar el cliente de minishift.

Ya hemos configurado para que en el path esté el cliente del openshift. Que es el oc.

Y tendremos que utilizar este. No tenemos que utilizar el minishift.

Y bueno es «oc login».

Nos dice por defecto, porque ya está configurada la url en la que está escuchando.

Ponemos developer y la contraseña bueno la misma. Y ya ésta. Nos dice que hemos hecho el login satisfactoriamente y que tenemos un proyecto a nuestro nombre que se llama myProyect que es el mismo que estamos viendo aquí.

Y qué bueno por defecto como sólo tenemos este proyecto, pues que por defecto, esta en este proyecto.

Si le pedimos el estatus pues lo que nos dice es que efectivamente estamos en el proyecto myprojet.

Con el nombre, porque hay diferencias. Luego ya lo veremos. En tal servidor, Que no tenemos ni servicios ni ninguna configuración de despliegue ni build config.

Y nos dice ya que no tienes nada, pues mira si haces «oc new app» te puedes crear una aplicación nueva.
Pero bueno de momento vamos a dejarlo así.

Con esto hacemos el login tanto en la parte consola administrativa web como por línea de comando.

Refactoring

Está muy de moda el concepto de refactoring, es decir el mejorar el código para que siga haciendo lo mismo pero siendo mas claro o mas eficiente.

Claro el problema de esto del refactoring, es donde pones el límite. Por que puedes estar refactorizando constantemente, porque siempre encuentras algo que puedes mejorar, bien porque cuando lo hiciste no te diste cuenta, o lo tuviste que hacer a toda prisa o simplemente porque con el paso del tiempo has aprendido cosas nuevas y ahora podrías hacerlo mejor.

Difícil decisión, o no…

Os dejo algunas reflexiones mas en el video.

Cambios en estrategia de publicación

Quiero comentaros que después de darle varias vueltas he pensado en hacer algunos cambios en los contenidos.

Recomiendan que para tener mejores resultados en YouTube se publiquen los contenidos regularmente, preferiblemente siempre el mismo día a la misma hora.

Esta recomendación la he llevado a la práctica desde hace bastante tiempo, pero últimamente no me sentía cómodo con ella.

Hay épocas en las que soy capaz de generar más contenido y en otras menos, así que lo que he estado haciendo es reservando vídeos para tener siempre algo que sacar a la semana.

Esto, que parece positivo ha hecho que algunos videos salgan con mucho retraso a la fecha en las que los grabé, incluso hasta seis meses. De hecho ha habido momentos en los que he llegado a sacar hasta tres videos por semana.

Esto hacia que algunos videos estuviesen un poco des actualizados o incluso que ya ni me acordase bien de lo que contaba, así que se perdía la emoción del momento y el publicar el video se convertía casi en una rutina.

Así que he decidido que a partir de ahora voy a ir sacando los videos cuando los vaya teniendo disponibles.

Espero que esto ayude a mejorar el contenido del canal y a hacerlo más dinámico.

Optimizar equipos con contenedores Docker

Vamos a seguir profundizando en como optimizar equipos de desarrollo.

Ya vimos en una entrada anterior que podíamos optimizar equipos mediante el concepto del aula invertida.  Con este planteamiento vimos que podíamos mejorar la formación de nuestro equipo para reducir los tiempos que necesitan para ser productivos.

Infraestructura

En esta ocasión vamos a tratar otra de las formas de malgasto de tiempo en nuestros equipos como es el tiempo dedicado a las infraestructuras, lo que popularmente se conoce como la «fontanería».

Visión histórica

Antiguamente cuando empezó toda esta arquitectura de aplicaciones basadas en el Web las aplicaciones solían ser bastante sencillas. Normalmente un servidor de aplicaciones y una base de datos y como librerías la de logs y el driver de acceso a base de datos. Y poco mas se usaba.

Hoy día en cambio las aplicaciones son bastante mas complejas, debido a que nuestros clientes nos exigen mas funcionalidades.

Porqué se dedica tanto tiempo a la infraestructura

El hecho de que las aplicaciones sean mas complejas y requieran de innumerables librerías, servidores de cache, de mensajería,  gestores de contenidos, de portales, etc, hace que la instalación de todas esas herramientas sea complejo.

En los entornos web normalmente el desarrollador suele tener la infraestructura instalada en su ordenador local. Lo que hace que los desarrolladores tengan que replicar todos esa infraestructura en su ordenador.

A proyecto mas grande, mas actualizaciones suele haber. Actualizaciones que el desarrollador tiene que incorporarse en su ordenador. Y al final si se hace a mano se dedica mucho tiempo.

Docker optimiza el desarrollo

Docker permite crear una infraestructura mediante una sintaxis muy sencilla y tenerla disponible para los desarrolladores, de tal forma que cualquier programador se pueda conectar al servidor de imágenes Docker, seleccionar la que necesite y bajarla a su ordenador.

Esto hace que sea relativamente sencillo distribuir a los desarrolladores servidores correctamente configurados para el proyecto en que se esté trabajando.

Con esta herramienta podemos reducir los tiempos necesarios para tener la infraestructura en local, tenerla documentada y de forma reproducible.

Formación en Docker

Si te interesa profundizar en Docker y lo que puede aportarte en la optimización del equipo de desarrollo, tengo un curso en Docker con lo que necesita saber un equipo de desarrollo sobre Docker.

Oh My zsh

Os traigo en esta ocasión un contenido mas técnico, quizá con un puntito friki, que tampoco creo que sea malo.

Es una línea de comandos para sistemas Unix/Linux, bastante mas moderna que el clásico bash, con funcionalidades muy interesantes, sobre todo si utilizáis el control de versiones git.

Pero creo que la mejor forma es que en vez de palabrería os lo enseñe en ejecución, así que os dejo el vídeo.

A quien seguir

Que importante es elegir bien a quien seguir.

Si elegimos bien nuestra carrera puede mejorar mucho. Si elegimos mal… podemos meternos en líos.

A veces me he encontrado con gente que piensa que sus decisiones son inocuas, que da igual lo que haga o lo que deje de hacer, porque total no es nadie dentro de la empresa, pero muchas veces no se dan cuenta de que a quien apoyan o a quien siguen si tiene transcendencia.

Os dejo algunas reflexiones mas en el vídeo.

Profesionales premiun

Según tengo entendido en el sector de la alimentación hay tres categorías o niveles de productos.

Mejor precio, que son los productos que justo cumplen con la legislación sanitaria

Marca blanca, que son los productos con una buena relación calidad precio y

Productos premiun, que son los productos mas caros porque ofrecen algo mas.

El problema de los productos de marca blanca es que normalmente suelen ser muy similares, con lo que al final muchas veces acabas comprando el que mas cerca te queda. Así que la competencia es bastante dura.

Lo interesante es posicionarse como un producto premian, porque dejan mas margen, aparte de que dan mas prestigio.

Os desarrollo un poco estas reflexiones en el vídeo

Ya se que este web no es de temas de edición de vídeo pero ya me comentareis si os gusta la técnica de las dos cámaras para disimular los cortes. Es la primera vez que la uso.