Archivo de etiquetas programación

León Ramos PorLeón Ramos

Programando con seguridad – Mesa redonda

¿Se puede programar de forma segura?

Nos acompañan Mariana Maguey, Fernando Perales y Horus S. Rico, varios programadores que lideran equipos de desarrollo y que se enfrentan a riesgos de seguridad constantemente. En esta mesa redonda platicamos sobre varios aspectos que están relacionados con la seguridad y, sobre todo, con la gente que forma los equipos de trabajo.


Hablando del problema de twitter. ¿Es importante contratar buenos programadores? ¿Se pudo haber evitado este problema?

¿Existen lenguajes de programación más inseguros o sólo hay malas prácticas de desarrollo?

Algunos especialistas dicen que el usuario y password están destinados a desaparecer. ¿Qué otras estrategias de autenticación están usando en sus desarrollos?

Hablando de hábitos, ¿Cuántas horas seguidas se puede desarrollar sin empezar a escribir código de mala calidad?

Algunos estudios dicen que el código que se escribe después de las 10pm debe de considerarse inseguro. ¿Influye la hora del día en la que programamos a la calidad de nuestro código?

¿Es necesario hacer code review?

¿Qué elementos relacionados con la seguridad se deben de buscar en un code review?

¿Se puede confiar en bibliotecas de terceros o tenemos que desarrollar las propias la mayor parte del tiempo?

¿Cómo se debe de tratar una vulnerabilidad detectada en producción?

¿Pueden compartir algunos consejos para mejorar la seguridad en el código?

Nuestras Redes

@creadoresdigita CreadoresDigitales

Sigue a León, Hiram y Alina en Twitter

Hiram @hiramcoop
León @fulvous
Alina @alinapoulain

¡Escúchanos!

En Ivoox En Spotify
ApplePodcast En Youtube
Google podcast
León Ramos PorLeón Ramos

Fer del Mal y la ingeniería de software

Entrevista a Fernando Perales y su participación en el FSL 2019

El mundo de la programación con Ruby requiere más que conocimientos técnicos, un constante aprendizaje y disciplina para darle forma a lo intangible.

Fernando Perales nos comparte un poco de su visión y de su historia con el FLOSS.

Escucha el podcast:

En ivoox:

En Spotify

iTunes

Podcast en iTunes

En Youtube

Creative Commons Audios Used

Background Sound – Black Ice – Mr_Yesterday http://ccmixter.org/files/Mr_Yesterday/58884
Jingle Background – texasradiofish – Funk Boulevard http://ccmixter.org/files/texasradiofish/59753

Karla García PorKarla García

Control de versiones con git

Al trabajar en la edición de cualquier archivo, en especial archivos de texto (código), solemos modificar, eliminar y agregar líneas, lo cual puede resultar en el arrepentimiento. En ocasiones realizamos un cambio que altera por completo el funcionamiento de nuestro programa, por lo cual algunas personas inician un control de versiones rústico sin darse cuenta; cuando empiezan a guardar archivos bajo nombres como «[archivo]primero.txt», «[archivo]elBueno.txt», «[archivo]elBueno2.txt», «[archivo]ahoraSiElBueno.txt», entonces es momento de comenzar con algún buen gestor de versiones.

Todo lo que explico a continuación es especialmente dirigido a quienes se inician (o ya están avanzados) en la programación porque es a lo que yo me dedico, pero es perfectamente aplicable a cualquier área que requiera de trabajar sobre la edición de archivos.

El control de versiones cubre algunas necesidades principales:

  • Organizar y respaldar el progreso del trabajo.
  • Facilitar el trabajo en equipo.
  • Facilitar el trabajo sobre ideas simultáneas sin necesidad de que una afecte al avance de otra.
  • Simplificar la integración del trabajo.

Git es un proyecto de Software Libre que inició Linus Torvalds en 2005 para poder llevar el control de versiones del Kernel de Linux. Lo primero que debemos saber al respecto es que continúa siendo Software Libre que podemos manejar desde la terminal de nuestra computadora y que existen algunas plataformas en línea para facilitar su uso, tales como GitHub y GitLab. Lo siguiente que hay que tener en cuenta es que está pensado para poder modificar el mismo proyecto simultáneamente, por lo que tenemos que familiarizarnos con el uso de “ramas” que explicaré en la siguiente entrada.

Por ahora hay que aprender a configurar Git para poder empezar a usarlo, usamos los siguientes comandos, para este ejemplo usaré mi nombre y un correo inexistente:

~] $ git config --global user.name "karla"
~] $ git config --global user.email “eee@mail.com

Estos datos de configuración no representan un usuario en alguna plataforma ni significa que estás generando una cuenta, simplemente git lo guarda para que proyectos en los que hay más autores o que se suben en línea, podamos guardar control de quién realizó una parte y poder contactarlo establecer contacto en caso de necesitarlo.

De momento aprenderemos a inicializar el control de versiones de un proyecto. Git utiliza “repositorios” que no son más que carpetas con un archivo de configuración oculto en el que se guardará el estado de cada versión, algo así como un snapshot de la carpeta.

Para inicializar el repositorio abrimos la terminal y creamos la carpeta (en este caso la llamaré “ejemplo” que tendrá nuestro repositorio y nos movemos a ella:

~] $ mkdir ejemplo

 

Después inicializamos el repositorio correspondiente a la carpeta con el mismo nombre que le hemos asignado:

~] $ git init ejemplo

 

No hemos agregado nada al repositorio, podemos verificar su estado con el comando siguiente, y tendremos un resultado similar al que muestro:

~] $ cd ejemplo
ejemplo] $ git status 
On branch master
Initial commit
nothing to commit (create/copy files and use "git add" to track)

 

Ahora empezamos a hacer cambios en el repositorio creando algún archivo:

ejemplo] $ touch haikus.txt

 

y con nuestro editor de texto favorito lo editamos, en este caso agregaré las líneas siguientes:

“Al Fuji subes

despacio —pero subes,

caracolito.”

 

Kobayashi Issa

 

Entonces podemos guardar la primera versión de nuestro archivo usando los siguientes comandos de Git:

  • Primero agregamos los cambios que acabamos de hacer al respositorio:
ejemplo] $ git add haikus.txt

  • Lo siguiente es guardar el cambio con un mensaje corto que nos haga recordar lo que hemos cambiado en el futuro y tendremos un mensaje como el siguiente:
ejemplo] $ git commit -m “agregué haiku de Kobayashi Issa”
[master (root-commit) f82cf06] agregué haiku de kobayashi issa i"
 1 file changed, 5 insertions(+)
 create mode 100644 haikus.txt

En este punto ya hay cambios agregados en nuestro repositorio, que podemos ver ejecutando el comando log:

ejemplo] $ git log
commit f82cf06a3530df2511e4dbc1abcd8ee7a10f6762 (HEAD -> master)
Author: karla <eee@mail.com>
Date:   Mon Oct 22 07:14:10 2018 -0500
    agregué haiku de kobayashi issa

Ahora, cada cambio que hagamos y guardemos como el anterior quedará registrado y podremos referirnos a su commit correspondiente con la clave que se muestra en la terminal, en este caso “f82cf06a3530df2511e4dbc1abcd8ee7a10f6762”, aunque con los primeros y caracteres generalmente es suficiente (en este caso “f82cf06”), y en caso de que desees volver a alguna versión anterior puedes ejecutar el comando git checkout ḿás el código del commit para visualizar el estado del repositorio en el momento en el que creaste ese commit. Aunque entonces es viable iniciar una rama para trabajar simultáneamente sin perder las versiones que hayas hecho antes de decidir volver a una antigua versión. Lo cual explicaré en la siguiente entrada.