Últimas publicaciones

Developer Fest 2010

Me acaba de llegar una invitación para el Developer Fest 2010 de Google, supongo que estará muy bueno.

Si van a ir, me avisan :D

XQuery y C#.NET

Saliendo un poco del tema de JavaScript, vamos a revisar XQuery, una herramienta para hacer consultas sobre XML, no ahondare en la sintaxis de las consultas, si no en como usarlas y visualizarlas en una página ASP.NET mediante C#.NET

Si desean revisar la sintaxis pueden revisar este sitio: http://www.w3schools.com/xquery/default.asp

Antes que nada, hay que descargar la librería que nos permitirá trabajar con XQuery aquí, una vez creado un nuevo sitio web y agregado la referencia de la dll descargada, agregar en el codebehind

using Microsoft.Xml.XQuery;

Luego, para ejecutar y visualizar las consultas lo podemos hacer de la siguiente forma:

XQueryNavigatorCollection collection = new XQueryNavigatorCollection();
collection.AddNavigator(Server.MapPath("documento.xml"), "doc");
XQueryExpression xQuery = new XQueryExpression(expression);
XQueryNavigator navigator = xQuery.Execute(collection);
Response.Write(navigator.ToXml());

O si por el contrario, lo queremos visualizar en un GridView por ejemplo, lo podemos hacer así

XQueryNavigatorCollection collection = new XQueryNavigatorCollection();
collection.AddNavigator(Server.MapPath("documento.xml"), "doc");
XQueryExpression xQuery = new XQueryExpression(expression);
XQueryNavigator navigator = xQuery.Execute(collection);
XmlDocument document = new XmlDocument();
document.LoadXml("<root>" + navigator.ToXml() + "</root>");
DataSet ds = new DataSet();
ds.ReadXml(new XmlNodeReader(document));
gridView1.DataSource = ds;
gridView1.DataBind();

Si quieren el ejemplo completo, lo pueden hacer aquí.

Buenas Noches :D

Usando Prototype

Cuando escuchamos la palabra Prototype, luego luego se nos viene a la cabeza el famoso framework que muchos usamos día con día. Sin embargo, no estamos hablando de ese tema, estamos hablando de la propiedad prototype que tiene cualquier objeto en JavaScript.

El objeto prototype es un objeto creado previamente que simplifica el proceso de agregar propiedades personalizadas o métodos a todas las instancias de un objeto, incluyendo los objetos nativos de Javascript. (Aja!, de esta forma es como diferentes frameworks agregan métodos y/o propiedades que nos hacen la vida mas fácil)

Veamos el siguiente código

function Persona(nombre, apellido, edad) {
	this.nombre = nombre;
	this.apellido = apellido;
	this.edad = edad;
	this.show = function() {
		alert("Hola, me llamo " + this.nombre + " " + this.apellido)
	}
}

function test() {
	var persona = new Persona("Oscar","Lopez", 21);
	persona.show();
}
window.onload = test;

Como le podríamos agregar una propiedad o un nuevo método a cualquier objeto Persona?, pues muy fácil:

function test() {
	var persona = new Persona("Oscar","Lopez", 21);
	persona.show();

	Persona.prototype.apellidoMaterno = "Sin Apellido";
	Persona.prototype.nombreCompleto = function() {
		alert("Hola, me llamo " + this.nombre + " " + this.apellido + " " + this.apellidoMaterno);
	}

	var persona2 = new Persona("Oscar","Lopez", 21);
	persona2.show();
	persona2.nombreCompleto();
	persona2.apellidoMaterno = "Canseco";
	persona2.nombreCompleto();
}

Sencillo no?, ahora imaginemos que le queremos agregar un método al objeto String, se haría de la siguiente forma:

function customString() {
	String.prototype.muestraValor = function() {
		alert("Mi valor es: " + this);
	}

	var variable = new String("Variable");
	variable.muestraValor();
	navigator.appName.muestraValor();
}

window.onload = customString;

Observan como incluso la propiedad appName del objeto navigator reconoce la función?, Es por que appName es una instancia de un objeto String.

Como pueden ver, con esto podemos hacer infinidad de cosas, como un framework por ejemplo…

Buenas Noches :D

Ámbito de variables en JavaScript

Comencemos hablando de un tema que muchos desarrolladores casi no toman en cuenta y que, a estos mismos, siempre les ocasiona problemas: El scope de las variables en JavaScript.

Existen dos tipos: Local Scope y Global Scope

Local Scope:
Únicamente existen dentro de una función cuando se usa el keyword var, cuando se termina de ejecutar la función, la variable muere.

	function localVariable() {
    		var a = "Solo vivo dentro de la funcion";
		alert(a);
	}

Muy importante destacar lo siguiente, si se declara una variable dentro de un bloque de código, se puede acceder a ella dentro y fuera del bloque, siempre y cuando se encuentre en la misma función. Por lo tanto, el siguiente bloque de código:

	function localVariable() {
		if(true) {
			var local = "Soy local";
		}
		alert(local);
	}

Produce una alerta con el mensaje “Soy local”

Global Scope:
Las variables globales se pueden declarar de dos formas, una es declarar la variable afuera de cualquier función y la otra es, prescindir del keyword var dentro de una función, por lo tanto el siguiente ejemplo es correcto:

	function localVariable() {
		if(true) {
			local = "Soy global";
		}
		alert(local);
	}

	function globalVariable() {
		alert(local);
	}

	window.onload = function() {
		localVariable();
		globalVariable();
	}

El ejemplo produce dos alertas con el mismo mensaje.

Hay que tener en cuenta siempre estos puntos para no tener problemas futuros al momento de programar con JavaScript.

Buen inicio de semana :D

Regresando al blog

Como se abran dado cuenta, no se ha publicado en muchísimos días, y esto es debido a la bastante carga de actividades que se tienen que realizar a diario.

Pero, a partir de este momento lo tomaré como actividad periódica, trataré de subir cada cierto tiempo algún tema en específico y, para no hablar de aquí y de haya, se tomará una rama cada semana o cada dos semanas, es decir, por ejemplo, estas dos semanas se hablará de JavaScript, la que sigue de C#,  luego de Struts, luego de JavaServerFaces, luego de ASP.NET, luego de arquitectura.. y así hasta que ya no haya mas que aprender (aunque eso nunca sucederá).

Así que sin más, bienvenidos (Otra vez)

Microsoft intenta eclipsar a Google con una estrategia bastante…, ¿cómo diríamos?

Todos contra Google

En lo que muchos interpretan como un nuevo capítulo en el esfuerzo por contener el crecimiento de Google, News Corporation, de Rupert Murdoch, contempla una alianza exclusiva con Bing, de Microsoft.

MAR 24 NOV 2009 | 13:15

El conglomerado de medios controlado por rupert murdoch, está en conversaciones con Microsoft. Según el pacto que estarían armando, Microsoft le pagaría a News Corporation para que retire del motor de búsquedas de Google vínculos a su contenido de noticias, para mostrarlas exclusivamente en el motor Bing, de Microsoft.

Según interpreta hoy el New York Times, si eso ocurriera, daría comienzo a un nuevo capítulo en la historia de Internet y desataría un feroz debate sobre el futuro del contenido online.

El explosivo crecimiento de la web fue posible, en parte, gracias a que representa un campo de juego totalmente abierto para consumidores y empresas. Un acuerdo en gran escala como se estaría preparando crearía obstáculos para la navegación de los usuarios y representaría un enorme riesgo para news Corporation o cualquier sitio de noticias. Más de 65% de todas las búsquedas en Estados Unidos se hacen en Google. Sacar los vínculos le significaría una gran caída en el tráfico. Bing ,maneja sólo 9,9% de las búsquedas domésticas, según comScore.

Murdoch, dueño de varios diarios en Inglaterra, ha insistido en los últimos tiempos en su interés en que se le pague por sus contenidos. En una reciente entrevista con Sky News Australia, dijo que Google y otras compañías online “se roban nuestras historias”. Cuando se le preguntó si no le importaba la disminución de público online, respondió que prefiere que sean menos las personas que acceden a sus sitios, si lo hacen pagando.

Programas 12-2009/3

NOTA:

Nos han llegado correos que mencionan que son demos los programas. Es cierto son demos, sin embargo a un lado del programa existen links en los cuales  puedes bajar las llaves para tenerlos libres. O hasta en la misma descarga si investigas bien puedes ver los programas generadores de llaves.

Saludos

WM

Simego SQL Tools v3.0.90 3.72M (Klurk)
Entorno completo para diseño y administración de bases de datos para SQL Server, MSDE,
Express, Access y MySQL. Recomendado! Ver info + Capturas de pantalla

Simego Data Synchronisation Studio v1.0.188.0 (32-bit y 64-bit) 8.28M (Klurk)
Solución para integrar y migrar datos de negocio con SharePoint Server WSS and MOSS, a partir
de SQL Server Tables and Views, Oracle, MySQL, Active Directory and Exchange Server.
Recomendado! Capturas de pantalla + Más + Más + Más + Más + Más + FAQ

Simego MOSS BDC Design Studio v2.0.22 2.41M (Klurk)
Permite generar conexiones via BDC (se encarga de la construccion del XML) con los siguientes
sistemas: bases de datos MS SQL Server y ORACLE, fuentes de datos OLEDB y ODBC,
así como servicios web. Recomendado! Capturas de pantalla + Más + Más

SeriousBit Ellipter v1.6.5 879k (Klurk)
Protege tus aplicaciones y componentes basados en .NET y Linux/Mono.
Recomendado. Ver info

Windows 7 Manager v1.1.6 (32-bit y 64-bit) 9.94M (Klurk)
Optimiza y personaliza el aspecto y funciones de Windows 7. Recomendado. Ver info

Zutubi Pulse Server v2.0.47 Multilenguaje 87.9M (Klurk)
Servidor de integración, fácil de configurar y usar, con muchas características avanzadas.
Recomendado. Captura de pantalla

Driver Magician v3.48 Multilenguaje 4.19M (Klurk)
Haz copia de seguridad de los controladores de tu sistema. Recomendado. Ver info

NetSarang Xmanager Enterprise v3.0.0209 30.3M (Klurk)
Permita controlar un equipo con Linux remotamente desde un equipo con Windows. A diferencia
de aplicaciones tipo VNC, precisan ser instaladas en el equipo a controlar, esta aplicación
utilza el propio servicio de Linux para el control remoto. Recomendado. Ver info + Capturas de pantalla

DbWrench v1.6.2 Multiplataforma 15.1M (Klurk)
Aplicación multiplataforma con la que podrás diseñar y sincronizar tus bases de datos en unos
cuantos pasos. Recomendado. Ver info
Requiere Java. Si no lo tienes instalado, descarga Java 6 Update 17 16.1M

MONyog v3.6.0.2 7.17M (Klurk)
Administrador web de MySQL que nos permite monitorizar múltiples servidores MySQL desde una
misma interfaz, e identificar problemas de forma rápida y sencilla. Recomendado. Capturas de pantalla

Alphacom v8.0.1.4 1.64M (Klurk)
Emulador de terminal multi-sesión, compatible con SSH/Telnet/RS-232/Modem, ANSI,
IBM3151, Wyse 50/50+, Wyse 60, SCO ANSI, VT52, VT100, VT102, VT220.
Recomendado. Captura de pantalla

SQLite Expert Professional v2.3.9 15.5M (Klurk)
Herramienta visual de administración para bases de datos de servidores SQLite.
Recomendado. Capturas de pantalla

WeBuilder 2010 v10.1.0.119 10.6M (Klurk)
Un poderoso editor para múltiples lenguajes. Ver info

Rapid PHP 2010 v10.1.0.119 10.5M (Klurk)
Completísimo editor PHP con soporte también para HTML, CSS, etc. Ver info

HTMLPad 2010 Pro v10.1.0.119 8.04M (Klurk)
Sencillo editor HTML de fácil uso. Ver info

Tutorial Web Services

Titulo: MDTAA Web Services Web Services
Autor: Porto Mx (webmaster@portomx.com)
Tiempo 1 Semana
Un servicio web es un conjunto de protocolos y estándares que sirven para intercambiar datos entre distintas aplicaciones de software desarrolladas en lenguajes de programación diferentes, y ejecutadas sobre cualquier plataforma, pueden utilizar los servicios web para intercambiar datos en redes de ordenadores como Internet. La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la arquitectura y reglamentación de los servicios Web. Con este tutorial podrás crear mediante un ejercicio sencillo y paso a paso un web services.

Tutorial Cristal Reports

Titulo: MDTAA Cristal Reports Cristal Reports
Autor: Porto Mx (webmaster@portomx.com)
Tiempo 1 Semana
Crystal Reports es la herramienta de elaboración de informes estándar desde 1993 que permite crear contenido interactivo con calidad de presentación para la plataforma .NET integrándose directamente en el entorno de desarrollo.
Este tutorial te guiarà a travès de un tutorial paso a paso mediante un ejercicio práctico para que aprendas y utilices esta herramienta.

Tutorial ASP.NET

Titulo: MDTAA ASP.NET ASP.NET
Autor: Porto Mx (webmaster@portomx.com)
Tiempo 1 Semana
ASP.NET es un framework para aplicaciones web desarrollado y comercializado por Microsoft. Es usado por programadores para construir sitios web dinámicos, aplicaciones web y servicios web XML. Apareció en enero de 2002 con la versión 1.0 del .NET Framework, y es la tecnología sucesora de la tecnología Active Server Pages (ASP). ASP.NET esta construido sobre el Common Language Runtime, permitiendo a los programadores escribir código ASP.NET usando cualquier lenguaje admitido por el .NET Framework. En este tutorial podrás realizar un ejercicio paso a paso incluyentdo la conexión a SQL.