Lo peor que te podría ocurrir en tu vida de programador es que sucediera un desastre y perdieras todo el código fuente de tus aplicaciones. Años de trabajo perdidos, sería algo terrible, muy doloroso, y hasta podría arruinar tu vida profesional.
Para evitar eso, es que debes realizar constantemente backups de tu código fuente y guardarlos en lugares seguros.
Gracias a Internet, uno de esos lugares seguros es «la nube».
Pero claro, estar subiendo manualmente el backup de tu código fuente a «la nube» puede ser bastante aburrido así que lo más probable es que lo hagas a veces, no todos los días. Si es que lo haces.
Una buena alternativa es que esa tarea se realice de forma automática, así siempre estarás protegido te acuerdes o no te acuerdes de realizar el backup. Para ello, existen programas como Google Drive, MegaSync, OfiCloudSync, OneDrive, etc.
En síntesis lo que hacen es sincronizar una carpeta de tu disco duro local con una carpeta en el disco duro remoto. Si les pides que al iniciar sesión en Windows también se ejecuten esos programas entonces estarás siempre protegido. Cada vez que agregues o modifiques algo en una carpeta sincronizada ese cambio se reflejará en la carpeta que se encuentra «en la nube». Muy útil.
Cada uno de esos sitios te provee de una cierta cantidad de gigabytes gratis. Si necesitas más entonces…tendrás que pagar. Pero para realizar backups de nuestro código fuente lo que ofrecen gratis es más que suficiente. Al momento de escribir este artículo:
- Google Drive te da 15 Gb gratis
- Mega te da 50 Gb gratis
- OfiCloud te da 25 Gb gratis
- OneDrive te da 5 Gb gratis
Todos estos programas son muy útiles y cumplen muy bien su tarea (con la excepción de OfiCloudSync, el cual a algunas computadoras las vuelve increíblemente lentas, parece que utiliza todos los recursos de la computadora, así que debe ser ejecutado solamente en horas de descanso, para no entorpecer las tareas habituales).
Sin embargo, todos tienen un gran defecto, y es que copian todo el contenido de las carpetas. En nuestro caso, eso significa que copian también a los archivos .BAK, .FXP, .TMP, etc. Pero eso no es todo, nuestras aplicaciones normalmente constan de cientos de archivos (.PRG, .FRX, .FRT, .SCX, .SCT, .VCX, .VCT, .GIF, .JPG, .PNG, etc.) y estar transfiriendo esa gran cantidad de archivos es muy lento, demora mucho. No es práctico.
Por ese motivo el autor de este blog ha escrito un programa que crea un archivo .ZIP que contiene solamente el código fuente importante. Y luego, se les pide a los programas anteriormente mencionados que suban «a la nube» solamente a ese archivo .ZIP, y con esto se consigue que la tarea se realice muy rápido.
Pero eso no es todo, al momento de crear ese archivo .ZIP también el programa lo sube «a la nube» mediante FTP y de esta manera se tiene mucha mayor seguridad y tranquilidad.
Como nuestras aplicaciones tienen muchas versiones no se crea un solo archivo .ZIP para cada aplicación sino que se crea un archivo .ZIP por cada versión. Eso significa que cada vez que se ejecuta el programa COPIAR_FUENTES.EXE se crea un archivo .ZIP con un nombre distinto a los anteriormente creados.
Ejemplo:
Nuestra aplicación se llama SQL_CONTA.EXE y su formulario principal es el siguiente:
Captura 1. El formulario principal de SQL_CONTA.EXE
Y el número de versión se encuentra hacia arriba y a la izquierda:
Captura 2. El número de versión de la aplicación
Entonces, si un cliente nos llama porque encontró un problema o quiere una mejora, lo único que debemos pedirle es que nos diga cual es el número de «Versión del Sistema» y siempre podremos saber cual es el código fuente que corresponde a esa versión y actuar en consecuencia.
Creando las carpetas para los backups
Para simplificarnos la vida, lo más conveniente es tener una carpeta principal dentro de la cual se guardarán todos los backups de todas nuestras aplicaciones, algo como:
Captura 3. La carpeta BackupsCódigoFuente del disco duro local se sincroniza con una carpeta (que podría llamarse distinto) de Mega en el disco duro remoto
Captura 4. La carpeta BackupsCódigoFuente del disco duro local se sincroniza con una carpeta (que podría llamarse distinto) de OneDrive en el disco duro remoto
Haciendo como se explica en este artículo conseguimos que:
- En «la nube» solamente estén archivos .ZIP
- Que esos .ZIP solamente contengan archivos relevantes
- Que en «la nube» no haya basura
- Que la subida sea muy rápida, porque los .ZIP ocupan poco espacio
- Que sea muy fácil buscar y encontrar el .ZIP que nos interesa
Comentarios:
Si ocurre un desastre y se pierde el código fuente de nuestras aplicaciones que teníamos en una computadora, eso puede destrozarnos la vida. Por ese motivo es que debemos tener a buen resguardo nuestro código fuente y así poder recuperarlo en caso de necesidad.
Hay varios programas que nos permiten sincronizar carpetas de nuestro disco duro local con carpetas de un disco duro remoto y debemos aprovechar y usar tales programas. Todos ellos nos proveen de unos cuantos gigabytes gratis y eso suele ser más que suficiente para nuestras necesidades.
Sin embargo, tales programas copian los contenidos de carpetas completas y entonces podrían llegar a ser muy lentos porque esas carpetas pueden contener cientos y cientos de archivos. Lo más inteligente es crear un archivo .ZIP que contenga a todos los archivos que nos interesan, y nada más. Haciendo así se subirá «a la nube» solamente el archivo .ZIP y en consecuencia será muchísimo más rápido.
Artículos relacionados:
El índice del blog VFPavanzado