Mostrando entradas con la etiqueta Herramientas Online. Mostrar todas las entradas
Mostrando entradas con la etiqueta Herramientas Online. Mostrar todas las entradas

2013-09-04

Control de versiones con Git Paso a Paso

¿Qué es GIT?

Git nació de la insatisfacción de Linus Torvalds (creador del kernel de Linux) con los programas de control de versiones. En Linux Foundation, utilizaban BitKeeper, pero en cuanto éste modificó su acuerdo de licencia; tuvieron que optar por una alternativa. La comunidad Linux creó dos nuevos proyectos: Git y Mercurial. Ambos tienen sus orígenes en la emergencia y lideran el ranking de software de control de versiones distribuido. Git se hizo más popular y actualmente se utiliza en proyectos como: el kernel de Linux, jQuery, Ruby on Rails, Symfony, CakePHP, Debian, Fedora, entre otros.

Centralizado o Distribuido

Git, al igual que Mercurial, es un software de control de versiones distribuido (DVCS). Sistemas comoSubversion y CVS, en contraste, funcionan como sistemas centralizados (CVCS).
En los sistemas centralizados, sólo existe un repositorio "maestro" (master), a donde cada desarrollador envía sus cambios. Cada acción debe ser sincronizada con el repositorio central, y como en general el sistema reside en un servidor central, cada acción debe pasar a través de la red; por lo que si la red se cae, el desarrollador no puede trabajar.
En los sistemas distribuidos, cada desarrollador tiene su propio repositorio. En la mayoría de las veces, estos repositorios se comunican con un repositorio central el cual permite compartir los cambios con otros desarrolladores; sin embargo, esto no es un requerimiento.

Ventajas de Git

Una de las principales ventajas de Git es su naturaleza distribuida, lo cual permite que sea igual el tener muchos repositorios remotos o sólo uno para compartir código. Los DVCS permiten trabajar desconectado sin ninguna restricción.
Un factor importante de Git es la velocidad. Git destacó sobre otros DVCS como Mercurial, por la rapidez con la que procesa las operaciones. Esto se debe a que Git está escrito en C y fue pensado para trabajar con el kernel de Linux, por lo que el tiempo de respuesta era sumamente importante. Otro punto interesante, es que el repositorio local de Git sirve como backup, porque contiene todo el historial del proyecto y considerando que (casi) cada acción en Git añade datos, perder datos del historial es algo difícil.
Finalmente se encuentra el workflow que utiliza Git, que analizaremos más adelante.

El repositorio local

En SVN, a cada carpeta que se encuentre asignada al controlador de versiones, se le agrega una carpeta oculta que guarda toda la metadata relevante de dicho directorio. Git por el contrario sólo tiene una de estas carpetas ocultas. Esto significa que se pueden copiar, mover, borrar archivos y carpetas, sin dolores de cabeza. Esta carpeta (.git) se genera en la raíz del proyecto y genera el repositorio local. Los archivos en los que diariamente se trabaja, conforman el "directorio de trabajo" (working directory).
Además del repositorio y el directorio de trabajo, existe el "área de puesta en escena" (staging area), que permite definir qué cambios serán aplicados en el próximo commit. Commit es la acción de consignar un grupo de cambios.
Vamos a visualizar todo con un ejemplo. Hicimos modificaciones a 8 archivos y nos damos cuenta que deberíamos separar estos cambios en dos commits (cada commit debe incluir sólo cambios relacionados). Utilizando el staging area, se puede definir exactamente, sobre qué cambios debe hacerse commit, y cuales deben esperar al siguiente.
Técnicamente, el staging area, no es más que un archivo (llamado index) que se encuentra en el repositorio .git local.

Estados de los archivos

Existen varios estados en los que puede encontrarse un archivo en el working directory. La distinción básica es "tracked" (con seguimiento) y "untracked" (sin seguimiento). Un archivo está en estado tracked, cuando se encuentra dentro del sistema de control de versiones, o sea, Git observa todos los cambios a dicho archivo. En el caso que el archivo no haya sido agregado a Git, el mismo es tratado como untracked.
Los archivos que están en estado tracked, pueden encontrarse a su vez en tres estados:
  • unmodified (sin modificar) o committed (con commit): el archivo se encuentra en su último estado, por lo cual no tiene modificaciones locales.
  • modified: el archivo ha sido modificado desde la última vez que se incluyó en un commit.
  • staged: el archivo fue modificado y agregado al staging area, lo que significa que será incluido en el próximo commit.

Hashes


Git no entiende de números de revisión. En los sistemas CVCS, cada commit tiene asociado un número de revisión consecutivo. En los DVCS como los commits son creados localmente, el sistema no puede asignar números consecutivos. Por este motivo Git utiliza hashes SHA-1.
Un hash es un algoritmo que mediante una entrada (texto, contraseña, archivo, etc.) genera una salida alfanumérica de longitud normalmente fija, que representa un resumen de toda la información que se le ha dado.
SHA-1 es una función de hash creada por los Estados Unidos, que significa Secure Hash Algorithm (Algoritmo de Hash Seguro). Existen varias implementaciones, siendo la 1 la más utilizada.
Entonces Git utiliza estos hashes como si fueran los números de revisión, ya que estos son compatibles con el modelo DVCS.

Git desde la linea de comando

Existen varios programas de terceros como Netbeans, Eclipse, etc; que le dan una interfaz gráfica a Git, pero para comprender en profundidad a Git, lo mejor es observar el workflow de trabajo desde la consola. Si instalás uno de esos programas, varios de los pasos que siguen no tendrás que hacerlos.
Si todavía no lo hiciste, es necesario que descargues e instales la última versión de Git. Esto lo podés hacer desde la página oficial: http://git-scm.com. Una vez instalado, hay que configurarlo. Para eso, hay que abrir el programa Git Bash y veremos lo siguiente.
Git Bash
Ahora es momento de configurar tu usuario. Primero hay que indicarle tu nombre a Git, para que pueda utilizarlo en los commits. Para eso es necesario ejecutar la siguiente línea:
git config --global user.name "Tu nombre"
Luego tenés que indicar tu email.
git config --global user.email "tu@email.com"
Con eso, ya está todo listo para empezar a utilizar Git. En caso que necesites ayuda, siempre podés ejecutar el siguiente comando:
git help git

Forma de trabajo

Repositorios

Un repositorio es el requerimiento básico para trabajar con Git. Vamos a suponer que no tenemos ningún repositorio, por lo cual necesitamos crear uno. Ejecutando el siguiente comando, Git nos creará una carpeta con el nombre del repositorio y dentro una carpeta llamada ".git" la cual contiene toda la información del repositorio.
git init repositorioDePrueba
Para acceder a nuestro repositorio desde Bash, una vez creado el mismo, utilizaremos el siguiente comando:
cd repositorioDePrueba
En el caso que necesites obtener un repositorio remoto, en vez de crear uno local, deberías utilizar el comando clone, en lugar de init.

Commit

Luego de un tiempo trabajando, tendremos algunos archivos que querremos guardar en nuestro repositorio como commits. Para empezar vamos a ejecutar el comando git status para ver qué cambios hay en nuestro directorio de trabajo. En este caso, Git nos informará:
  • que estamos en la rama master
  • que es el commit inicial
  • que hay archivos sin seguimiento
  • que no hay nada para hacer commit
Recordemos que necesitamos hacer que los archivos tengan seguimiento y agregarlos al staging area para poder hacer commit. Para indicarle a Git qué archivos queremos que formen parte del próximo commit, tenemos que utilizar el comando add (supongamos que estuvimos trabajando en un archivo llamado prueba.php).
git add prueba.php
Si volvemos a ejecutar el comando status, veremos que ahora hay cambios para hacer commit.
Para guardar el commit dentro de nuestro repositorio local, debemos utilizar el comando commit.
git commit -m "Mensaje para indicar qué incluye este commit"
El comentario que ponemos al final, nos permite tener una historia de los commits para poder saber qué fue lo que motivó el commit. Para ver la historia de los commits, hay que ejecutar el comandolog; el cual se puede modificar para mostrar lo que necesitemos.
git log // muestra todos los datos
git log --oneline // muestra sólo los mensajes de los commits 
git log -p //muestra los cambios hechos sobre los archivos

Ramificaciones (Branch y Merge)

Gracias a la ramificación, podemos (para explicarlo de forma simple) hacer una especie de copia total del repositorio. De esta forma podremos trabajar en cada rama en una funcionalidad diferente sin que una afecte a la otra. Una vez que estemos contentos con los cambios, podemos fusionar ambas ramas para que ambas tengan los cambios y seguir como al principio.
Ramificación en Git
Para crear una rama, se utiliza el comando branch:
git branch funcionalidad1
Si ejecutamos el comando branch sin indicar un nombre para la nueva rama, Git nos muestra una lista de todas las ramas activas. Hay que tener en cuenta que la rama principal se denomina "master" y que Git nos indica con un asterisco cuál es la rama en la que estamos posicionados (a la cual se la denomina HEAD). Podemos ver que a pesar de haber creado una rama, no nos movimos a ella. Para saltar de rama en rama utilizamos el comando checkout.
git checkout funcionalidad1
Todos los commits que realicemos estando en la rama "funcionalidad1" no serán vistos por la rama "master".
Una vez que hayamos terminado con los cambios en nuestra funcionalidad nueva, y queramos enviar los mismos a la rama master, tendremos que usar el comando merge (estando posicionados en la rama master).
git checkout master
git merge funcionalidad1
Finalmente, como ya fue implementada la funcionalidad, la rama "funcionalidad1" ya no nos sirve más; por lo cual la eliminamos.
git branch -d funcionalidad1

Trabajando con repositorios remotos

Los repositorios remotos nos permiten tener nuestro código disponible para nuestros compañeros de trabajo, así como también integrar el código de ellos a nuestro repositorio local. Para añadir un repositorio remoto debemos ejecutar el siguiente comando:
git remote add reporemoto https://direccionremota.com
Una vez que tenemos configurado un repositorio remoto podemos obtener todos los datos del mismo utilizando dos comandos: fetch o pull. Fetch obtiene todos los datos sin hacer cambios sobre las ramas locales (por lo cual después habrá que hacer un merge), mientras que Pull obtiene los datos y hace merge con las ramas locales.
git fetch reporemoto
o
git pull reporemoto master
Para enviar nuestros datos al repositorio remoto utilizaremos el comando push:
git push reporemoto master
Para ilustrar mejor el flujo de trabajo con los repositorios remotos, te dejo esta imagen.
Trabajar con repositorios remotos en Git

Información recopilada de nebaris.com

2012-06-02

Stylebootstrap, es una herramienta online para personalizar nuestro css que corre con el bootstrap de Twitter

Stylebootstrap es un sitio que permite de manera online y simple personalizar la combinación de colores para nuestros sitio donde utilizamos el FrameWork Booststrap de Twitter. Una vez personalizado solo tenes que descarga el css creado y ponerlo en nuestro sitio.


Link: http://stylebootstrap.info/

2011-10-29

Alternativa Open Source para documentar y compartir pantallas "PrintScreen"




Obtener imágenes de lo que estamos viendo en el ordenador es una función básica que nos ha acompañado durante años. La magia de la tecla “Print Screen” es muy poderosa, pero no tan flexible como nos gustaría que fuera. Existen utilidades que agregan otras funciones además de la simple captura, y Snagit es ciertamente una de las más populares, sin mencionar comercial y de código propietario. En esta nueva entrega, presentamos cuatro alternativas open source a Snagit para capturar imágenes al vuelo de nuestra pantalla.


Capturar y editar imágenes es algo que hacemos con una frecuencia que puede variar mucho. En lo personal, estoy en el rango de “varias veces por día”. Aunque para esto utilizo una solución freeware, he escuchado mencionar a Snagit en múltiples ocasiones, pero más allá de sus interesantes funciones (en adición a la captura, claro), el precio de su licencia es en verdad excesivo (34€). Si la idea es capturar imágenes sin incendiar el bolsillo, y necesitas más de lo que el sistema operativo entrega por defecto, existen algunasalternativas open source para tener en cuenta:
  • ZScreen no solamente permite capturar imágenes, sino que ofrece varias formas de subirlas a la Web, utilizando diferentes servicios de “hosting” al estilo de ImageShack, Minus.com, Paste2.org, goo.gl, muy útil para unos de los mejor.
  • PicPick es otro estupenda alternativa también te permite subir imagens a internte directamente para compartí los print de pantalla, es compatible con Windows 7 y es muy competo y cuanta con una versión portable en el USB
  • Greenshot se enfoca principalemente en la productividad, y entre sus funciones encontrarás opciones para enviar rápidamente las imágenes por e-mail, o agregar anotaciones.
  • Lightscreen no ha sido actualizado en más de un año, pero su funcionamiento es muy bueno. Se sale del camino del usuario aguardando en la bandeja de sistema, y puedes utilizar varios atajos de teclado para alterar las propiedades de la captura.
  • VVCap se lleva muy bien con la mensajería instantánea y las redes sociales. Apenas realices una captura, la imagen será subida a la Web y obtendrás una dirección URL para compartirla con quien lo desees.

2010-09-30

Averigua cuanto tarda en cargar tu sitio web desde todo el mundo con Internet Supervicion

InternetSupervision
Ya hemos visto herramientas para medir el tiempo que tarda en cargar un sitio web. Internet Supervision es otra herramienta web que con sólo ingresar una URL, muestra en un mapamundi, los tiempos de carga del sitio desde posiciones distribuidas alrededor del mundo.
Internet Supervision es un herramienta muy sencilla pero útil que permite de una vez, tener una visión global del desempeño de nuestro website.

Internet Supervisión

Sitio: internetsupervision.com
Vía: Delicious

2010-09-26

10 herramientas para probar tu web en dispositivos móviles

Ante la creciente cantidad de visitas que todas las webs reciben desde dispositivos móviles, es importante conocer herramientas que nos ayuden a corregir posibles problemas que dichos visitantes están teniendo al leer nuestro contenido.
En sixrevisions.com han preparado una lista de 10 herramientas que podemos usar para probar la compatibilidad de nuestro sitio con diferentes dispositivos móviles, aquí os la dejo:

iPhoney


Para simular el funcionamiento en un iPhone en un entorno Safari con zoom, plugins, etc.

W3C mobileOK Checker


El obligatorio. Nos muestra los problemas que se encuentran en el código de la página, mostrando la compatibilidad con el standar W3C.

iPad Peek


Para ver el aspecto que tendría en un iPad.

Modify Headers


Extensión de Firefox que puede configurarse para que el navegador imite el funcionamiento de varios dispositivos móviles.

Adobe Device Central CS5


Parte de Adobe Creative Suite, imprescindible para quienes tienen esta herramienta.

Google Mobilizer


Herramienta de Google que nos permite transformar cualquier sitio web en una versión ideal para leer en móviles. Sólo tenemos que informar su url.

Gomez


Nos puntúa del 1 al 5 la compatibilidad de nuestro sitio web con los teléfonos móviles.

MobiReady


Una versión más detallada que la anterior, con test de standar W3C incluido.

DotMobi Emulator


Una herramienta que necesita Java para simular el funcionamiento de un teléfono navegando por la web.

Opera Mini Simulator


Herramienta gratuita de Opera para simular webs en dispositivos móviles.

2010-07-25

4 Herramientas para análisis SEO

Si eres webmaster o tienes sitios a tu cargo quizás debas prestar mas atención a las optimizaciones SEO, en este breve texto voy a describir algunas herramientas de análisis SEO que suelo utilizar y quiero compartirlas con ustedes.

popuriseoPopuri
Esta herramienta mezcla en un solo reporte un montón de información de tu sitio proveniente de otros servicios de rankeo, también muestra tu pagerank, enlaces en Del.icio.us, enlaces reportados por Yahoo entre otras cosas.

rankeoseoRaven
Una de las herramientas de predilección, la misma consiste en brindarte un score a tu sitio, el mismo es obtenido del análisis de tu sitio, contenido, califica la utilización de tags, etc, Muy recomendable.

seograbberWebsitegrader
Otra gran herramienta de reporte SEO, con ella obtendrás un muy completo reporte SEO de tu sitio, en el encontraras el estado de tu pagerank, paginas indexadas, nivel de trafico, apariciones en Dmoz como también en otros directorios, estas informaciones y otras podrás ver utilizando esta poderosa herramienta SEO.

centroseoSEOCentro
Un set de útiles herramientas para análisis SEO, la herramienta que mas me llamo la atención es la KeyWord Density, siempre es bueno chequear nuestra densidad de palabras en nuestros sitios, no es bueno abusar con la densidad de palabras clave en el contenido, puede ser perjudicial para el posicionamiento.


Fuente: chicaseo.com

2010-07-22

Excelentes aplicaciones web para crear presentaciones online

Prezi

En Prezi podemos crear presentaciones muy particulares, ya que lo armamos todo en una sola pantalla, enfocando cada punto como un “slide”, y con la opcion de zoom para verse como un mapa mental.

web: Prezi.com

Empressr

Com Empressr podemos realizar presentaciones con videos, audios e imagenes, dandonos la posibilidad de compartirlo o de generar un codigo para ponerlo en nuestro blog.

web: Empressr.com

Imageloop

Se caracteriza por la rapidez en subir los archivos para las presentaciones, con esta aplicacion web tambien podemos compartir nuestras presentaciones en las redes sociales y embeberlas en nuestras paginas web.

web: Imageloop.com

MyPlick

En esta aplicacion web no solo podemos crear presentaciones, tambien las podemos subir siempre y cuando esten en formatos Power Point, Open Office, PDF, Word, Excel.

web: Myplick.com

PreZentit

Con PreZentit podras crear buenas presentaciones escogiendo si las quieres publicas o privadas, tambien genera una url unica para cada presentacion en caso quieras compartirla con alguien.

web: PreZentit.com

2009-12-26

toddle – Herramienta web de creación de newsletters

toddle

Si necesitáis enviar un email elegante a un conjunto de clientes y no tenéis ningún diseñador a mano para que os haga una newsletter decente, toddle os puede ayudar con una solución profesional, sencilla y gratuita.

Después de registrarnos (sólo es necesario el email), tendremos que especificar el contenido de nuestra newsletter, con el encabezado, el cuerpo, las imágenes, nuestros datos, etc. Al finalizar, después de elegir el diseño adecuado, podremos recibir la newsletter en nuestro email, lista para ser enviada a quien tenga que leerla.

Una buena opción para evitar los emails que contienen el texto dentro de una imagen y darle un color especial a los mensajes que enviamos.


Fuente: wwwhatsnew.com