Editar archivos directamente en el servidor con Sublime Text

Cuando trabajamos con Sublime Text como IDE para desarrollar nuestras aplicaciones Digitales, podemos editar los archivos directamente en el servidor.

Bueno ahora vamos con los pasos para Editar archivos directemente en el servidor con Sublime Text:

 

Paso 1

Primero instalamos Sublime Tex, para ello nos dirigimos a su pagina web y nos descargamos el programa:

Página Web: http://www.sublimetext.com/

Pagina Web de Sublime Text, para descargar.
Pagina Web de Sublime Text, para descargar.

Una ves descargado el instalador de Sublime Text (ST), instalamos el programa como cualquier otro programa.

 

Paso 2

Ahora tenemos que instalar el Package Control(Administrador de Paquetes), en nuestro Sublime Text instalado.

Para esto nos dirigimos  a la pagina Web del Package Control:

Página Web del Package Control: https://sublime.wbond.net/installation

Luego seguimos las instrucciones del Manual de instalación que existe en su Web.Web del Package Control

Como en esta oportunidad hablaremos sobre editar archivos directamente desde el servidor, no expandiremos mucho sobre el tema del Package Control, la instalación es sencilla, las instrucciones de el manual es simple y muy fácil de seguir.

 

 Paso 3

Ahora tenemos que instalar un FTP persistente para editar nuestros archivos directamente en el servidor.

Para ellos usaremos el plugin SFTP, este plugin nos da la versión gratis solo para 1 usuario, si queremos instalarla para mas usuarios hay un pago que tenemos que hacer, el precio lo podemos ver en la web del plugin.

Página Web del Plugin SFTP: http://wbond.net/sublime_packages/sftp

Web del Plugin
Web del Plugin

 

Bueno entonces ahora nos dirigimos al menú Preferencias > Package Control.  dentro de nuestro IDE Sublime Text:

Menu Preferencias > Package Control

Ahora nos aparecerá el menú de opciones del Package Control y seleccionamos la opcion: Install Package:

 

Seleccionamos Install Package
Seleccionamos Install Package

Ahora escribimos en el cuadro de texto el nombre del plugin SFTP:

Escribimos SFTP

Dejamos que se instale, y cuando termine de instalar el SFTP, dentro de nuestro Sublime Text nos aparecerá un texto que indica que se ha instalado correctamente el plugin SFTP.

Texto que indica que se ha instalado correctamente el plugin SFTP.
Texto que indica que se ha instalado correctamente el plugin SFTP.

Nos pide que reiniciemos Sublime Text, para ello cerramos el programa y lo volvemos a abrir.

 

Paso 4

Ahora editamos el archivo de configuración para conectarnos a nuestro servidor, para ello nos vamos al menú de opciones del SFTP.

Nos dirigimos al menu File > SFTP/FTP> Browser Server.

Menú del Plugin SFTP
Menú del Plugin SFTP

Agregamos un nuevo servidor para conectarnos a el y editar directamente los archivos del proyecto:

Agregamos un nuevo servidor
Agregamos un nuevo servidor

Configuramos el servidor al cual nos queremos conectar:

NOTAS:

– Cambiar sfpt x ftp es decir Escribir ftp en donde nos pide el tipo:  «type»: «sftp».

Configuración del Servidor al que deseamos conectarnos
Configuración del Servidor al que deseamos conectarnos

– No escribir el password por seguridad, este nos lo pedirá en la parte de abajo cuando la conexión se realizó con éxito (Una ves que termines de configurar tu conexión, debes guardar en archivo de configuración en formato JSON. Ejemplo: miconfig.json):

Abajo nos pide la contraseña del servidor
Abajo nos pide la contraseña del servidor

Una ves conectado al servidor, podemos ver nuestras carpetas y los archivos que queremos editar, Seleccionamos el archivo que queremos editar y se nos abrirá en nuestro Sublime Text, ya estamos editando directamente en nuestro servidor:

Conectado al servidor, navegamos por las carpetas y los archivos que queremos editar.
Conectado al servidor, navegamos por las carpetas y los archivos que queremos editar.

Cuando seleccionamos un archivo de nuestro servidor para editarlo, nos muestra un menu de opciones para decidir que queremos hacer con el archivo, si editar, renombrar, etc.:

Menu de opciones para el archivo seleccionado del servidor.
Menu de opciones para el archivo seleccionado del servidor.

El archivo que editemos de nuestro servidor lo guardamos como siempre lo hacemos, menú Archivo>Guardar o CTRL + S.

Entonces si vamos y revisamos el archivo en nuestro navegador podemos ver que el archivo a sido editado directamente en el servidor sin haber sido descargado a nuestra PC.

Creo que esta manera de trabajar agiliza el proceso de producción de nuestro proyecto, quizás es un poco riesgoso por ello aconsejo primero hacer un backup de tus archivos a tu disco duro local.

Espero que les sea de mucha ayuda.

Gracias por su atención

Consultas Mysql como Objeto

bdHola a todos nuevamente, el día de hoy les presento una pequeña aportación para hacer sus consultas mysql como si fueran objetos, comúnmente llamado ORM.

No estoy seguro si realmente la clase que les voy a mostrar cumple completamente con ser un ORM pero eso si, en un nivel sencillo podrían manejar su base de datos como si fueran objetos.

Les presento sgMysql una clase básica pero funcional que la pueden descargar de aquí => https://github.com/sagitarius29/sgMysql

Comentando un poco la utilización de la clase

Tenemos el archivo sgMysql.php, para configurar nuestra conexión tenemos que hallar los siguiente y modificarlo.


private $host = 'localhost'; // El servidor
private $user = 'root'; //Usuario
private $pass = ''; //Password
private $database = 'pruebas'; // Nombre de la base de datos

Ya configurado esa parte esencial para podernos conectar a nuestro servidor, el siguiente paso es crear un archivo en el cual el nombre de la clase tiene que ser igual al nombre de la tabla con la siguiente arquitectura.

Ejemplo: usuario.php

class usuario extends sgMysql
{

var $principal_table = __CLASS__; //no cambiar
var $primary_key = ‘id’; // Indicamos la llave primaria
var $engine = ‘InnoDB’; // Indicamos el tipo de motor

//Aqui la estructura de la tabla
var $structure = array(
‘id’ => ‘INT NOT NULL AUTO_INCREMENT’,
‘nombre’ => ‘VARCHAR(200) NULL’,
‘apellidos’ => ‘VARCHAR(200) NULL’
);
}

Perfecto, para este entonces ya tenemos configurado nuestra clase sgMysql y creado el primer archivo usuario.php que contiene la clase usuario con la estructura de la tabla.

Cabe mencionar que si queremos usar mas tablas, debemos de crear también mas clases con las diferentes estructuras de tablas.

Genial!, ahora lo demás es muy sencillo para hacer las consultas sólo deberemos llamar a los archivos sgMysql.php y como queremos actuar en la tabla usuario, entonces también llamaremos a usuario.php


require_once('sgMysql.php');
require_once('usuario.php');

ya llamados a estos archivos podemos hacer las siguiente consultas.

para crear nuestra tabla, por si no la tenemos creada bastará con hacer lo siguiente:

$usuario = new usuario();
$usuario->CreateTable();

Pos si queremos insertar algún dato en nuestra tabla hacemos lo siguiente:

$usuario = new usuario();
$usuario->nombre = 'Adolfo';
$usuario->apellidos = 'Cuadros';
$usuario->Save();

Para modificar algún dato

$usuario = new usuario();
$usuario->nombre = 'Nuevo Nombre';
$usuario->Where('id','=',1);
$usuario->Update();

Para Hacer consultas Select

$usuario = new usuario();
$usuario->Where('id','=',2);
$usuario->Select('nombre', 'apellido');
while ($obj = $usuarios->result->fetch_object()) {
echo 'Nombre y apellidos: '.$obj->nombre.' '.$obj->apellidos;
}

Y por último para eliminar algún dato

$usuario = new usuario();
$usuario->id = 3;
$usuario->Delete();

Como vemos todo funciona de forma más sencilla y comprensible haciendo consultas a la base de datos como si fueran objetos, espero que esta pequeña aportación le sirva a alguna persona e iré actualizando la clase…

Bitcoin… el dinero de internet

Bitcoin la moneda de internet.
Bitcoin la moneda de internet.

Muchos ya han de saber que el comercio electrónico ha tocado un punto fuerte a la Internet  Pero eso no es todo, también en la red se ha presenciado el nacimiento de una moneda muy diferente a las demás ya que solo existe en la red.

¿Como puede ser esto posible?

Según wikipedia la moneda nació en 2009 por su inventor Satoshi Nakamoto, pero muchas otras fuentes indican que fueron un grupo de desarrolladores ya que Satoshi Nakamoto solo es un nombre y del cual no existe evidencias de ser una persona física.

El bitcoin es una moneda basada en en el protocolo P2P, poseyendo una arquitectura de alto cifrado y así permitiendo la transacción segura de bitcoins entre la red.

¿Cómo funciona?

Para ser parte de la red bitcoin el usuario tiene que descargar un programa cliente llamada «monedero» el cual se sincroniza con toda la red bitcoin, después poder adquirir bitcoins y dar bitcoins.

Las transacciones se realizan de forma segura y anónima ya que sólo las dos partes del intercambio tendrían conocimiento de la transacción.

Los bitcoins se generan en la red por cualquier computador con un programa llamado «minero», el cual con cálculos matemáticos basados en la potencia de las tarjetas de vídeo «GPU» y la dificultad que da la red para poderlos generar.

En la actualidad hay sitios de intercambio de bitcoins por dolares, euros y otras divisas como www.bitcoin.com.es. por lo que a la fecha de hoy 1 bitcoin vale:

1 Bitcoin = 232.81 Nuevos Soles
1 Bitcoin = 70.26 Euros
1 Bitcoin = 90.04 Dolares Estadounidenses

(29/03/2013)

Según el algoritmo el número máximo de bitcoins que pueden entrar en circulación es de 21 millones de BTC. pero es infinitamente divisible.

En todo este tiempo el valor del bitcoin ha ido aumentando por lo que en términos económicos se le denominaría una deflación en el bitcoin.

El BTC, los gobiernos y los bancos

Muchos gobiernos alegan que esta moneda pueda ser utilizada por transacciones ilegales como por ejemplo el lavado de activos y los bancos por su lado sufren una preocupación al no poder tener control sobre la moneda.

Uno de los artículos de RT en español (http://actualidad.rt.com/economia/view/89860-bitcoin-moneda-digital-monopolio-bancos) indican que Estados Unidos busca regular la circulación del bitcoin ya que ésta en el fondo hace temer a bancos por que podría acabar con el monopolio que en la actualidad tienen.

Entonces será esta moneda la posible salvadora de la crisis económica que ya viene azotando a muchos países del mundo ? o por otro lado ¿Sera esta la moneda libre para el mundo libre?

Los dejo con este vídeo del Bitcoin.

Actualización 09/05/2016:

1 Bitcoin = 1485.67 Nuevos Soles
1 Bitcoin = 392.64 Euros
1 Bitcoin = 447 Dolares Estadounidenses

MariaDB desplaza a MySQL

Siguiendo el camino de Mandriva y OpenOffice. MySQL un gestor de base de datos que ha sido muy popular en el ambiente del software libre en estos tiempos es remplazado paulatinamente por MariaDB otro gestor de base de datos derivado de MySQL con licencia GLP y desarrollado por mismo fundador de MySQL (Michael Widenius).

MariaDB por MySQL
MariaDB por MySQL

 

Las distribuciones Gnu/Linux como Fedora, OpenSUSE, ArchLinux, Mageia y Slackware ya han optado por usar en sus nuevas versiones como gestor de base de datos a MariaDB.

Según los entendidos en tema las razones de este cambio serian de que Oracle propietario de MySQL lo mantiene muy cerrado no informa temas como la seguridad, pruebas y errores.

Via: Tecnoinfotronica

Debian 6.0.6 – Actualizar ahora

El pasado 29 de Setiembre del presente año el proyecto Debian anuncio a la comunidad de que esta disponible Debian  6.0.6  siendo esta su séptima actualización desde que salio esta versión. Esta nueva actualización básicamente corregí problemas de seguridad.

Debian 6.0.6 - Actualizar ahora

Para actualizar no es necesario descargar las imágenes iso de los CDs o DVDs, la forma mas apropiada de actualizar es desde el Terminal o Consola escribiendo las siguientes lineas de comando o texto como usuario root.

#apt-get update
#apt-get dist-upgrade

Finalmente se reinicia la computadora y se verifica con el siguiente comando que versión de debian esta corriendo en nuestra computadora.

#cat /etc/debian_version

Por otro lado debian pone a disposición las imágenes de los ISO de debian 6.0.6 las cuales pueden descargar desde los sitios oficiales de los mirrors de la distribución

 

«Teclas Calientes» o atajos del teclado en NetBeans

Desde hace años, cuando me inicie en el desarrollo web,  el entorno (IDE)  que utilizaba por excelencia era Dreamweaver, sin embargo desde hace más de un año utilizo NetBeans.

NetBeans tiene muchas ventajas, sobre todo a la hora de escribir código, es por eso que he recopilado algunas “teclas calientes” o atajos del teclado que son de mucha utilidad en este entorno de desarrollo.

TECLA CALIENTE DESCRIPCION
Control + K Autocompletar
Control + Espacio Sugerencias
Control + B Ir a la declaración de la función / método / clase
Shift + Suprimir Cortar línea actual
Control + E Borrar línea actual
Control + Shift + Flecha Arriba/Abajo Copiar línea actual Arriba/Abajo
Control + P Muestra los parámetros que la función o método
Control + Shift + C Comentar líneas
Alt + Insert Generar código

 

El Monopolio de Propiedad Intelectual: ni es necesario, ni es bueno

Propiedad Intelectual from agoranews on Vimeo.

Pues eso, ¿estamos dispuestos como sociedad a otorgar ese derecho de propiedad intelectual a los «creadores», en este caso a la industria del cine y la musica? de no hacerlo ¿no tendríamos creatividad? ¿no tendríamos cultura? ¿no tendríamos arte? pues si que la habría y de las mas diversas. El monopolio de propiedad intelectual ni es necesario, ni es bueno y lo explican muy bien dos economistas Juan Urrutia y David de Ugarte en este interesante debate sobre la propiedad intelectual.

Como grabar transmisiones en vivo desde USTREAM

En este pequeño artículo se describe como grabar en el disco duro un show que esta siendo transmitido en vivo por USTREAM.

Al enterarme que TV Peru iba a transmitir el concierto de un grupo musical de mi agrado, pensé en grabarlo, es así que buscando información encontré como lograrlo, y de hecho el siguiente tutorial sirve para grabar cualquier show de cualquier canal del conocido servicio gratuito de transmisión de audio/video en vivo (USTREAM).

Pues bien,  el único software que se necesita se denomina RTMPDump, que por defecto sirve para grabar cualquier medio que este siendo transmitido bajo el protocolo RTMP y además es software libre (Descargar).

Lo primero es obtener la URL del show que queremos grabar y que tiene la siguiente forma  http://www.ustream.tv/channel/[nombre-del-show]

Para el ejemplo es: http://www.ustream.tv/channel/tvperu_analogico

Nota: Si el show se muestra a través de otro Sitio Web, hacer click sobre el logo de USTREAM, dicha acción abrirá la página con la URL indicada.

Seguidamente debemos obtener el “codigo-del-show”, esto lo podemos hacer buscando la opción “embed”, que nos muestra un código HTML, dentro de éste, está el “codigo-del-show”.

<iframe src="http://www.ustream.tv/embed/[codigo-del-show]" width="608" height="368" scrolling="no" frameborder="0" style="border: 0px none transparent;"></iframe>

En el ejemplo:

<iframe src="http://www.ustream.tv/embed/7903307" width="608" height="368" scrolling="no" frameborder="0" style="border: 0px none transparent;"></iframe>

Luego debemos descargar un archivo, el cual contiene la URL con el protocolo RTMP, para ello vamos a: http://cdngw.ustream.tv/Viewer/getStream/1/[codigo-del-show].amf

En el ejemplo: http://cdngw.ustream.tv/Viewer/getStream/1/7903307.amf

Descargamos el archivo, lo abrimos, por ejemplo con el Notepad++, buscamos la palabra “rtmp” y encotraremos una URL como esta: rtmp://flashxx.ustream.tv/ustreamVideo/[codigo-del-show]

Ejemplo: rtmp://flash64.ustream.tv/ustreamVideo/7903307

Finalmente con los datos obtenidos ejecutamos RTMPDump de la siguiente forma:

rtmpdump -r «rtmp://flashxx.ustream.tv:1935/ustreamVideo/[codigo-del-show]/streams/live» -f «LNX 10,1,85,3» -p «http://www.ustream.tv/channel/[nombre-del-show]» -t «rtmp://flashxx.ustream.tv:1935/ustreamVideo/[codigo-del-show]/streams/live» -v -o [archivo].flv

Y para el ejemplo:

rtmpdump -r «rtmp://flash64.ustream.tv:1935/ustreamVideo/7903307/streams/live» -f «LNX 10,1,85,3» -p «http://www.ustream.tv/channel/tvperu_analogico» -t «rtmp://flash64.ustream.tv:1935/ustreamVideo/7903307/streams/live» -v -o concierto.flv

Esto va mostrando el tiempo grabado en segundos, para terminar la grabación solo se presiona “Ctrl+C” (en Windows), el archivo se guarda en el formato FLV en el directorio desde donde se ejecuta RTMPDump.

Distribuir aplicaciones web con AppServer y Chrome

En los siguientes pasos explicare como lograr distribuir aplicaciones web en el escritorio de Windows, utilizando herramientas como AppServ que nos instalará el servidor web, el lenguaje PHP y la base de datos de manera muy facil, ademas utilizaremos el navegador web Chrome para interactua con la interfaz de la aplicación web.

PASOS:

Instalar Chrome

Chrome es un navegador liviano, y fácil de usar, y la razón que escogimos para crear aplicaciones es por su opción (Herramientas > Crear Acceso directo a aplicaciones), que abre el sitio sin la barra de direcciones y las pestañas, dejando una ventana limpia para nuestra aplicación.

Además podemos utilizar su visor de PDFs por defecto, que hará más fácil para visualizar e imprimir reportes sin la necesidad de Adobe Acrobat.

Para hacer portable el instalador, es decir que no requiera necesariamente de internet, puede descargarse chrome standalone, que es un instalador de chrome offline.

Instalar AppServer

Appserv es una aplicación que instala un conjunto de aplicaciones como el Servidor Web, PHP y el servidor de base de datos MySQL.

Link de AppServer

Codigo de aplicación web

Código de cabecera de la aplicación web.

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<meta http-equiv="content-language" content="es"/>
<link rel="shortcut icon" href="favicon.ico" />
<link rel="icon" href="icon32x32.png" sizes="32x32">
<link rel="icon" href="icon48x48.png" sizes="48x48">
<link rel="icon" href="icon64x64.png" sizes="64x64">
<link rel="icon" href="icon128x128.png" sizes="128x128">
<title>Aplicacion Web</title>
....
...
.

Como pueden ver en la cabecera se en la etiqueta <link> se definen las resoluciones de los iconos que se usaran al crear su acceso directo.

El resto de código puede ser cualquier aplicación Web que utilice una base de datos.

Distribuir la aplicación Web

Para poder distribuir tu aplicación web, es necesario crear un listado de programas requeridos que también tienes que distribuir como son:

  • Chrome Standalone
  • AppServ
  • La carpeta AppServ donde está tu aplicación web. (Puede desinstalar el appserver para que limpie toda la carpeta y solo quede la base de datos y el código fuente).

Para proteger el código de tu aplicación puede utilizar ofuscadores de código fuente, actualmente estoy trabajando en eso, o también utilizar el ZEND, que no logro entender, como integrarlo.