viernes, 26 de julio de 2013

eBook Manual de Java con Eclipse

Professional Eclipse 3 for Java Developers


libro java

  • Guía paso a paso que introduce principiantes a usar todas las funciones de Eclipse 3
  • Eclipse es un entorno de desarrollo integrado extensible de código abierto (IDE) que ayuda a los programadores de Java construir herramientas integradas mejor de su clase, que cubren todo el ciclo de vida del software, desde el modelado conceptual hasta la implementación
  • Eclipse se está convirtiendo en la plataforma de desarrollo de elección para la comunidad Java
  • Repleto de código ricos en ejemplos del mundo real que muestran los programadores de la forma de acelerar el desarrollo de aplicaciones mediante la reutilización y ampliación de componentes de Eclipse existente
  • Describe SWT y JFace (alternativa de Eclipse para Java AWT y Swing) y les demuestra en la práctica en un reproductor de MP3 basado JavaLayer
  • Muestra cómo Eclipse se puede utilizar como una plataforma de herramienta y marco de aplicación
Para descargar el libro, dale clic al siguiente enlace:

martes, 16 de julio de 2013

Pivot Tables en SQL Server

La característica PIVOTE  de SQL Server, permite girar una expresión con valores de tabla convirtiendo los valores únicos de una columna en varias columnas en la salida. En este tip vamos a ver esta característica que permite producir resultados cruzados.

Esta es la tabla tbVentas con algunos datos:

CrossTable

Usando Pivot se obtiene una lista de los productos en la parte superior de cada vendedor, como lo siguiente:

PivotTable

SELECT VENDEDOR, [MANZANA] AS MANZANAS, [NARANJA] AS NARANJAS
FROM 
(
 SELECT VENDEDOR, PRODUCTO, MONTOVENTA
 FROM TBVENTAS
) AS PS
PIVOT
(
 SUM (MONTOVENTA)
 FOR PRODUCTO IN ( [MANZANA], [NARANJA]) 
) AS PVT

¿Cómo funciona?

Hay tres partes que necesitan ser comprendidas con el fin de construir la consulta Pivot.
  • (1) La sentencia SELECT
SELECT VENDEDOR, [MANZANA] AS MANZANAS, [NARANJA] AS NARANJAS
Esta parte de la consulta selecciona las tres columnas de la serie final resultado (VENDEDOR, MANZANA, NARANJA)

  • (2) La consulta que extrae los datos en bruto
(SELECT VENDEDOR, PRODUCTO, MONTOVENTA  FROM TBVENTAS) AS PS
Esta consulta extrae todas las filas de datos que necesitamos para crear los resultados cruzados. El (PS) después de la consulta es la creación de una tabla temporal de los resultados que luego pueden ser utilizados para satisfacer la consulta para el paso 1.

  • (3) La expresión PIVOTE
PIVOT(SUM (MONTOVENTA) FOR  PRODUCTO IN ( [MANZANA], [NARANJA]) ) AS PVT
Esta consulta hace el cruze Pivot y pone los resultados en una tabla temporal denominada PVT


Otra cosa clave a notar aquí es el uso de los corchetes [] alrededor de los nombres de las columnas, tanto en el SELECT en la parte (1) y en el IN en la parte (3). Estas son clave, ya que la operación de pivote está tratando los valores en estas columnas como nombres de columna y así es como se hace la ruptura y la agrupación para mostrar los datos.

Si quieres saber más de Pivot and UnPivot, visita la página de Microsoft: http://msdn.microsoft.com/en-us/library/ms177410(SQL.105).aspx

lunes, 15 de julio de 2013

10 preguntas a los más grandes programadores

El autor de Stifflog tuvo una buena idea: armó una serie de 10 preguntas, y se las envió por email a varios de los más grandes programadores del mundo.

La sorpresa fue grata cuando empezaron a responder y al final quedo una lista de 10 preguntas a 9 grandes programadores. El resultado es una excelente entrevista a nueve de los mejores programadores de la actualidad. A continuación Linus Torvalds, Bjarne Stroustrup, James Gosling y otros grandes nos cuentan sobre sus inicios, el rol de la universidad en el desarrollo profesional, su visión de un "buen desarrollador", libros y hasta música favorita.

Lista de los 9 programadores que respondieron:

  1. Linus Torvalds - Creador de Linux y GIT, no necesita presentación.
  2. Dave Thomas - Autor de “El programador pragmático”, “Programación en Ruby” y otros grandes libros de programación.
  3. David Heinemeier Hansson - Creador de Rails Framework(framework web), escritor y conductor de autos de carreras. Autor del weblog Loud Thinking.
  4. Steve Yegge - Uno de los menos conocidos del grupo, pero que tiene respuestas muy interesantes. Programador y blogger. Tiene unas 2 decadas de experiencia en esta industria.
  5. Peter Norvig - Director de Investigación en Google, autor de varios libros importantes de inteligencia artificial. Pueden visitar su página principal.
  6. Guido Van Rossum - Creador del lenguaje Python.
  7. Bjarne Stroustrup - Creador de C++. Pueden visitar su página principal.
  8. James Gosling - Creador del lenguaje Java.
  9. Tim Bray - Uno de los autores de la especificación de XML y Atom. Publica en su blog ongoing.

Foto de los protagonistas:
10 preguntas a los mas reconocidos programadores del mundo

viernes, 12 de julio de 2013

Visual Studio 2013

Ya está disponible para descargar el IDE Visual Studio 2013 Preview a través del enlace que pondré al final de la nota.

Visual Studio 2013 Preview

En TechEd North America 2013 hace unas semanas, se anunció la próxima versión de Visual Studio, y compartimos algunos de los avances que, se han hecho con Visual Studio 2013 y Team Foundation Server mejorando el ciclo de vida de una aplicación moderna. Destacamos algunas de las muchas funciones nuevas de la versión, como el soporte para la gestión ágil de la cartera, las pruebas de carga basado en la nube, una sala de equipo integrado con TFS, código de comentarios integración con TFS, y apoyo Git.

Emocionado de anunciar que Visual Studio 2013 Preview y .NET 4.5.1 Preview ya están disponibles para su descarga.

Algunas de las mejoras que tiene Visual Studio 2013 Preview

Básicamente, expandir las capacidades introducidas en las tres actualizaciones de Visual Studio 2012 desde que se puso en marcha, mientras que muchas de ellas son:
  • Experiencias de marca nuevas diseñadas con las aplicaciones modernas conectadas, 
  • Más robusto, y 
  • mayor rendimiento.

Mejoras de .NET 4.5.1 Preview

Junto con Visual Studio 2013, .NET 4.5.1 es una actualización altamente compatible con .NET 4.5 y viene incluido como parte de Windows 8.1. 


lunes, 8 de julio de 2013

Tutorial: Crear instalador ClickOnce

Opciones de Implementación

.NET Framework proporciona algunas características básicas que facilitan la implementación de una amplia gama de aplicaciones. 

Características de la implementación ClickOnce

En general, la implementación mediante ClickOnce simplifica enormemente el proceso de instalar y actualizar las aplicaciones.

Las aplicaciones implementadas con ClickOnce se actualizan automáticamente y son la mejor elección para aplicaciones que requieren cambios frecuentes. Los usuarios deben tener conectividad de red para aprovechar las funciones de actualización en intranet o internet.

Características de la implementación con Windows Installer

Con Windows Installer, puede agregar un proyecto de instalación a su solución para crear un archivo de instalación que se distribuya entre los usuarios; el usuario ejecuta el archivo de instalación y los pasos a través de un asistente para instalar la aplicación. Con ClickOnce, el Asistente para publicación permite empaquetar la aplicación y publicarla en un sitio Web o recurso compartido de archivos de red; el usuario instala e inicia la aplicación directamente desde esa ubicación en un solo paso.

Comencemos

1. Crear una solución Visual Basic de tipo WindowsFormApplication, al proyecto nombrarlo "TutoClickOnce" y a la solución: "TutoClickOnce_SLN"
Solución


2. En la forma, arrastrar un menustrip y un button.
3. Agregar un toolstripButton al menustrip y cambiar el text por "Actualizar"
Windows Forms

4. Crear eventos click para ambos controles
5. Copiar y pegar el siguiente código en los eventos creados respectivamente:

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        MessageBox.Show("Hola mundo ClickOnce versión: " & My.Application.Info.Version.ToString)
    End Sub

    Private Sub ActualizarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ActualizarToolStripMenuItem.Click
        If My.Application.Deployment.CheckForUpdate Then
            If MessageBox.Show("Se ha encontrado una actualización, desea actualizar la versión?", "Mensaje del Sistema", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information) = DialogResult.Yes Then
                If My.Application.Deployment.Update Then
                    If MessageBox.Show("Actualizado exitosamente, para que los cambios tengan efectos debe reiniciar la aplicación, desea reiniciar la aplicación?", "Mensaje del Sistema", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
                        Application.Restart()
                    End If
                End If
            End If
        Else
            MessageBox.Show("No hay actualizaciones disponibles", "Mensaje del Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information)
        End If
    End Sub
End Class

viernes, 5 de julio de 2013

Pro C# 5.0 and the .NET 4.5 Framework Sixth Edition



El eBook "Pro C# 5.0 and the .NET 4.5 Framework Sixth Edition" ya está disponible para descargar en mi skydrive a traves del enlace que pondrè al final de la nota.

El framework 4.5 incluye mejoras en rendimiento y soporte para windows 8 entre otras están:
  • .NET Framework para las aplicaciones del almacén de Windows
  • Bibliotecas de clases portables
  • Capacidad de reducir reinicios del sistema mediante la detección y cierre de las aplicaciones de .NET Framework 4 durante la implementación.
  • Herramientas nuevas como El generador de archivos de recursos 
  • Informática en paralelo que incluyen: Rendimiento mejorado, mayor control, mejor compatibilidad con la programación asincrónica, una nueva biblioteca de flujo de datos, y mejor compatibilidad para la depuración y el análisis de rendimiento en paralelo.
  • Compatibilidad con los nuevos tipos de formulario HTML5.
Y muchos cambios y mejoras en:
  • Windows Presentation Foundation (WPF)
  • Windows Communication Foundation (WCF)
  • Windows Workflow Foundation (WF)