viernes, 20 de junio de 2014

El Libro del Día: HTML5 for .NET Developers

El Libro del Día: 2014-06-20

Titulo: HTML5 for .NET Developers
Autor: Jim Jackson II, Ian Gilman
Editorial: Manning
Nro Paginas: 416

Capítulos:
1 HTML5 and .NET
2 A markup primer: classic HTML, semantic HTML, and CSS
3 Audio and video controls
4 Canvas
5 The History API: Changing the game for MVC sites
6 Geolocation and web mapping
7 Web workers and drag and drop
8 Websockets
9 Local storage and state management
10 Offline web applications

Descarga:
HTML5_ForNET_Developers

jueves, 19 de junio de 2014

Nuevo Inicio PECI .NET - Taller de Servicios WCF Avanzado

Nuevo Inicio PECI .NET

A los interesados en Entrenamiento en .NET les comunico que este Domingo 22 de Junio en horario de 8:00 am a 2:00 pm. estaré iniciando un nuevo grupo del PECI .NET (Visual Studio 2013 Developer con C#) en ISILTECH (San Isidro - Lima).
Cabe recordar que el Programa incluye mas de 8 cursos sobre .NET:
  • Desarrollo de Aplicaciones con .NET Framework 4.5.1 
  • Desarrollo de Aplicaciones con ADO .NET, POO y LINQ. 
  • Desarrollo de Aplicaciones Windows Forms. 
  • Desarrollo de Aplicaciones Web con ASP .NET Web Forms. 
  • Desarrollo de Aplicaciones Web con ASP .NET, MVC, HTML5, CSS3 y JQUERY
  • Desarrollo de Aplicaciones Windows con Windows Presentation Foundation. 
  • Desarrollo de Aplicaciones Web con WPF, XBAP y Silverlight 5. 
  • Desarrollo de Aplicaciones de Datos con WCF Data Services, REST y Odata. 
  • Desarrollo de Aplicaciones de Colaboración con Windows Workflow Foundation. 
  • Desarrollo de Aplicaciones para Windows Store (Opcional si alcanza el tiempo)
Para los interesados las ventajas del Programa .NET que dicto son las siguientes:
  • Es el programa que mas cursos contempla en un entrenamiento
  • 100% Practico.
  • Todos los ejemplos son del día a día (lo que uno hace en el trabajo)
  • No se copia y se pega, se hace todo desde cero
  • El nivel es intermedio avanzado (la mayoría ofrece nivel básico - intermedio)
  • Solo se enseñan Buenas Practicas de Desarrollo (sobre todo de performance)
  • No se usan librerías pre fabricadas de terceros (Building Blocks), se enseñan a crearlas
  • 100% con Objetos (No DataSet, DataTables, DataView)
  • Modelo de Desarrollo Distribuido (En capas)
  • Todo sobre Programación Asíncrona en .NET (WinForms, WebForms, MVC, WPF, WCF Services, Workflow Foundation)
  • Uso intensivo de Reflection en creación de Librerías de Código, de Controles y de Formularios.
  • Cientos de Libros sobre Programación
  • Cientos de Videos oficiales de Entrenamiento Microsoft, etc.

Taller de Servicios Web Avanzado

Además para los que ya llevaron conmigo este Domingo 29 de Junio de 9:00 am a 1:00 pm. tendremos el Quinto Taller sobre "Servicios Web Avanzado: WCF Services, WCF Data Services y Web API" ya saben que los interesados tienen que enviar su confirmación al correo: Luis.duenash@gmail.com y también si desean pueden ir enviando la dirección (URL) del servicio que quieren que se consuma, si es con seguridad mejor (enviar usuario y clave). El costo sigue siendo el mismo.

Saludos.

Libro La Biblia de Visual Basic .NET - Preguntas de Repaso - Capítulo 6

Preguntas de Repaso: Desarrollando Aplicaciones con WPF

1.    Qué se puede hacer en WPF que no se puede hacer en WinForms no ASP .NET?

2.    Cuáles son los principales componentes en la arquitectura de WPF?

3.    Menciona 5 características de WPF.

4.    Qué lenguaje de marcas usa WPF?

5.    Cuántos tipos de aplicaciones se pueden crear en WPF?

6.    Menciona 5 tipos de controles de WPF.

7.    Cómo se llama el contenedor principal de controles que viene por defecto en una ventana o página en WPF?

8.    Menciona otros 3 contenedores de controles WPF.

9.    Menciona el evento de inicio que ocurre al cargar una ventana y los eventos de cierre de ventana.

10. Qué debe configurarse para que una cierta ventana de nuestra aplicación inicie primero?

11. Qué es una aplicación WPF del Explorador o XBAP?

12. Que tipo de seguridad tiene por defecto una aplicación WPF del explorador?

13. Qué clase se usa para navegar entre páginas de una aplicación del explorador?

14. Qué se debe hacer para que una aplicación del explorador pueda acceder a archivos, cuadros de diálogo, registro de Windows, etc.?

15. Cómo se clasifican los cuadros de diálogo?

16. Qué tipos de cuadros de diálogo se pueden crear en WPF?

17. Qué espacio de nombres se debe importar para usar los diálogos de archivos de Windows?

18. Cuál es el único cuadro de diálogo interno de WPF?

19. Cómo se llama las clases para implementar los diálogos de abrir y guardar respectivamente?

20. Con qué método del cuadro de diálogo de imprimir (PrintDialog) se puede imprimir cualquier contenido inclusive gráficos?

21. Cuantas técnicas tenemos para presentar datos en una aplicación?

22. Cuáles son las ventajas principales de WPF en el enlace de datos con respecto a WinForms y WebForms?

23. Cuántos tipos de enlaces (Data Bindings) existen?

24. Qué propiedad de los controles de listas implementa el enlace complejo en WPF?

25. Menciona 3 controles que soporten enlace complejo.

26. Qué debe hacerse para crear enlace simple?

27. Menciona 3 controles que soporten enlace simple.

28. Cómo se llama la clase que hace de intermediario entre los controles y el origen de datos en WPF?

29. Menciona los métodos de desplazamiento del objeto CollectionView.

30. Con qué propiedades del CollectionView se verifican el desbordamiento de registro?

31. En qué evento del CollectionView podemos programar para mostrar la posición actual del origen de datos cuando este cambie?

32. Qué propiedades de los controles listas permiten configurar el campo a mostrar y el campo a guardar?

33. Para qué se usa la conversión de datos en WPF?

34. Qué interface tenemos que implementar para realizar la conversión de datos?

35. Qué métodos hay que programar en una clase que implemente dicha interface?

36. Cómo se aplica en el XAML una clase creada para formatear o convertir un tipo de dato en en control enlazado?

37. Cómo se puede ordenar las columnas en el control ListView?

38. Cómo se obtiene la cabecera a la cual se dio clic en un ListView?

39. Cómo se crea un objeto CollectionView?

40. Para qué se usan las plantillas de datos en WPF?

41. Qué tipo de objeto permite crear una plantilla de datos y qué propiedad del control enlazado debemos configurar para aplicar el objeto creado?

42. Cómo se sincronizan 2 listas enlazadas a datos sin necesidad de programar el filtro?

43. Qué es una plantilla jerárquica y cómo se implementa en WPF?

44. Qué control de WPF soporta una plantilla jerárquica?

45. Qué requisitos debe tener el origen de datos antes de enlazar a un control que usará una plantilla jerárquica?

46. Qué control WPF presenta de forma simple filas y columnas sin necesidad de usar plantillas?

47. Cuáles son los tipos de columnas que puede tener el control DataGrid?

48. Qué es necesario hacer al DataGrid para que pueda ordenar los datos al dar clic a la cabeceras de sus columnas?

49. Cuántos tipos de documentos maneja WPF?

50. Qué control se usa para visualizar documentos fijos como los XPS?

51. Qué controles se usan para visualizar documentos dinámicos como los archivos de texto, xml, html, etc.

52. Qué sigifica XPS y cómo se implementa en WPF?

53. Cómo se llama la librería que permite trabajar con documentos XPS?

54. Qué propiedad del control DocumentViewer es necesario configurar para enlazar un documento?

55. Menciona los 3 tipos de anotaciones que hay en WPF.

56. Qué clase es necesario usar para implementar anotaciones en WPF?

57. Menciona 3 métodos de la clase AnnotationService que sirvan para crear anotaciones.

58. Menciona 3 métodos de la clase AnnotationService que sirvan para eliminar o borrar anotaciones.

59. Cuál es la ventaja de los documentos dinámicos?

60. Cómo se puede convertir un archivo de Word o Excel a XPS?

61. Qué se debe hacer si se usa por código trabajar con Word o Excel desde .NET?

62. Cuáles son las 2 clases que implementan Multimedia en WPF?

63. Cómo se llama la librería de clases que implementa el reconocimiento de voz en WPF?

64. Cómo se llama la clase que permite reproducir voz?

65. Qué métodos tiene la clase SpeechSynthesizer para reproducir la voz?

66. Qué propiedades del objeto SpeechSynthesizer permiten controlar el volumen y la velocidad de la voz?

67. Cómo se llama la clase (control) que permite reproducir audio y video?

68. Qué propiedad del control MediaElement especifica la URI con el archivo de audio o video a reproducir?

69. Qué eventos ocurren al iniciar y finalizar la reproducción usando el MediaElement?

70. Qué clase y en que espacio de nombres se encuentra el objeto que permite ejecutar en segundo plano cada cierto tiempo una acción en una aplicación WPD?

El Libro del Día: ASP.NET MVC 4 Mobile App Development

El Libro del Día: 2014-06-19

Titulo: ASP.NET MVC 4 Mobile App Development
Autor: Andy Meadows
Editorial: Packt
Nro Paginas: 356

Capítulos:
Chapter 1: Developing for the Mobile Web
Chapter 2: Homebrew and You
Chapter 3: Introducing ASP.NET MVC 4
Chapter 4: Modeling BrewHow in EF5
Chapter 5: The BrewHow Domain and Domain-driven Design
Chapter 6: Writing Maintainable Code
Chapter 7: Separating Functionality Using Routes and Areas
Chapter 8: Validating User Input
Chapter 9: Identifying and Authorizing Users
Chapter 10: Asynchronous Programming and Bundles
Chapter 11: Coding for the Real-time Web
Chapter 12: Designing Your App for Mobile Devices
Chapter 13: Extending Support for the Mobile Web
Chapter 14: Improving the User Experience with jQuery Mobile
Chapter 15: Reader Challenges

Descarga:
ASPNET_MVC4_MobileAppDevelopment

miércoles, 18 de junio de 2014

Libro La Biblia de Visual Basic .NET - Preguntas de Repaso - Capítulo 5

Preguntas de Repaso: Desarrollando Aplicaciones Web con ASP .NET

1.    En que espacio de nombres se encuentra ASP .NET?

2.    Con qué nombre se le conoce al IDE de Visual Studio para desarrollar Sitios Web?

3.    Menciona 3 Lenguajes con que podemos desarrollar aplicaciones web en ASP .NET

4.    Qué características de ASP .NET hacen que las aplicaciones sean mas rápidas?

5.    Por qué las páginas ASP .NET que usan controles web pueden verse en cualquier Browser?.

6.    Qué es un formulario web en ASP .NET?

7.    Cómo se clasifican los controles del servidor?

8.    Por qué una pagina ASP .NET es lenta solo la primera vez que carga?

9.    Cómo se llama el proceso que ejecuta los servicios del IIS?

10. En cuantas ubicaciones se puede crear un nuevo sitio web?

11. Qué ejecutable debe correr en caso de que no este registrado ASP .NET en IIS en vez de volver a instalar primero el IIS y luego Visual Studio?

12. Qué es un control web intrínseco?

13. Mencione 5 controles web intrínsecos.

14. Cuando se trabaja con archivos en una aplicación web, cuál es el directorio por defecto donde se leen o escriben los archivos en disco?

15. A qué usuario debemos dar permiso en la carpeta para que la aplicación web pueda leer o escribir un archivo en ASP .NET?

16. En que lado debe realizarse las validaciones de una página: en el cliente o el servidor y porqué?

17. Cómo se llama el algoritmo de seguridad usado para comprobar si el que usa el sistema, por ejemplo la pagina es un usuario o un programa.

18. Qué debe hacerse para que al generar varios números al azar con consecutivamente no devuelvan el mismo número?

19. Cuál es la forma mas simple de subir un archivo desde la pagina hacia el servidor?

20. Cuál es el tamaño máximo del archivo por defecto al usar el control FileUpload y que debe hacerse para aumentar la capacidad?

21. Cuál es la alternativa mas simple para validar sin usar directamente Javascript en el cliente en ASP NET?

22. Menciona 3 controles de validación de ASP .NET?

23. Con qué control web se valida que un campo sea obligatorio?

24. Qué control de validación usaría para validar una fecha?

25. Qué control de validación usaría para validar un RUC, DNI ó teléfono?

26. Menciona 3 propiedades comunes de todos los controles de validación.

27. Cuál es la propiedad mas importante del control de validación que indica qué control se debe validar?

28. Cómo se llama el control que muestra un resumen con los mensajes de error de todos los controles de validación?

29. Para qué se usan las Hojas de Estilo en Cascada?

30. Qué ventajas tiene usar archivos CSS en una página ASP .NET?

31. Para qué se usan las páginas principales y qué extensión tienen?

32. Qué ventajas tiene usar páginas principales en ASP .NET?

33. Menciona los 3 controles web de navegación.

34. Con qué control web podemos ver la ubicación donde nos encontramos en el sitio web?

35. Cómo se llama el archivo XML donde se definen las páginas que tendrá el sitio web?

36. Cómo se llama el objeto que permite enlazar un mapa de sitio en un Menú o en un TreeView?

37. Cuál es la forma más simple de implementar fichas en un sitio web de ASP .NET?

38. Con qué propiedad del control web MultiView se especifica que vista (View) se va a visualizar?

39. Que propiedad tienen los controles web que indica que se debe guardar el estado o los valores en el cliente para que no se pierdan al hacer Postback?

40. Cuál es el control web mas usado en una aplicación con ASP .NET?

41. Cómo se llama la propiedad que permite crear dinámicamente las columnas en un control GridView?

42. Qué pasos debe realizar para personalizar columnas en un GridView?

43. Cuantos tipos de paginación podemos tener en una aplicación web?

44. Qué propiedades debe configurase para paginar un GridView?

45. En qué evento hay que programar la paginación del GridView?

46. Qué propiedad debe configurase para ordenar las columnas en un GridView?

47. En qué evento hay que programar la ordenación en el GridView?

48. Qué evento del control GridView puede usarse para crear dinámica mente controles?

49. Qué instrucción de enlace de datos es mas eficiente: DataBinder.Eval o Container.DataItem?

50. Con qué propiedad del GridView se especifica el registro que se va a editar?

51. Cuál es la diferencia entre guardar un dato usando el objeto Session y usando el objeto ViewState?

52. Qué se debe hacer para que una columna del GridView al pasar al modo edición no sea siempre un TextBox?

53. Cuál es la ventaja de usar plantillas en controles enlazados a datos?

54. Menciona 3 controles web que soporten plantillas.

55. Si se usa un control Repeater y se enlaza a un origen de datos, que hace falta para visualizar sus datos?

56. Cuál es el principal elemento de una plantilla que nunca debe faltar y especifica el diseño de las filas a repetirse?

57. Con qué etiquetas (tags) se indica en una plantilla que vamos a usar código incrustado del servidor, por ejemplo para llamar a una función?

58. Cuál es la diferencia del control DataList con respecto al Repeater?

59. Qué indica el elemento AlternatingItemTemplate en una plantilla?

60. En qué tipo de controles (HTML o Web) puede usarse el código incrustado del servidor?

61. Qué es una plantilla jerárquica y para qué sirve?

62. En una plantilla de un DataList con qué código incrustado del servidor se obtiene el índice de la fila actual enlazada al origen de datos?

El Libro del Día: Programming ASP.NET MVC 4

El Libro del Día: 2014-06-18

Titulo: Programming ASP.NET MVC 4
Autor: Jess Cbaduvick, Todd Snyder, Hrusikesh Panda
Editorial: O'Reilly
Nro Paginas: 492

Capítulos:
Part I. Up and Running
1. Fundamentals of ASP.NET MVC
2. ASP.NET MVC for Web Forms Developers
3. Working with Data
4. Client-Side Development
Part II. Going to the Next Level
5. Web Application Architecture
6. Enhancing Your Site with AJAX
7. The ASP.NET Web API
8. Advanced Data
9. Security
10. Mobile Web Development
Part III. Going Above and Beyond
11. Parallel, Asynchronous, and Real-Time Data Operations
12. Caching
13. Client-Side Optimization Techniques
14. Advanced Routing
15. Reusable UI Components
Part IV. Quality Control
16. Logging
17. Automated Testing
18. Build Automation
Part V. Going Live
19. Deployment
Part VI. Appendixes
A. ASP.NET MVC and Web Forms Integration
B. Leveraging NuGet as a Platform
C. Best Practices
D. Cross-Reference: Targeted Topics, Features, and Scenarios

Descarga:
Programming_ASPNET_MVC4

martes, 17 de junio de 2014

El Demo del Día: Animación usando Sprites en Windows Forms

Animación usando Sprites en Windows Forms

El Demo de hoy es una animación en Windows Forms usando un sprite o archivo con una secuencia de imagenes. Los sprites permiten reducir el numero de accesos a archivos para una aplicación que trabaja con imagenes, sobre todo es muy usado en los juegos.

Paso 1: Archivo con el Sprite a Animar

En este ejemplo tenemos un archivo llamado "Caminante.jpg" que tiene 3 filas x 6 columnas, es decir 18 cuadros, pero en este caso solo hay 14 imágenes diferentes. La primera fila tiene 6 imágenes con posiciones hacia la derecha y la segunda fila tiene 6 imágenes con posiciones hacia la izquierda.
El archivo tiene una dimensión de 624 x 450 pixeles por lo que cada imagen seria de 104 de ancho por 150 de alto.



Paso 2: Diseño del Formulario Windows Forms en .NET

Debemos crear una Aplicación en C# para Windows Forms llamada: "Animacion_Sprite" y renombrar el formulario a "frmCaminante".
Primero agregar un control PictureBox llamado "picCaminante" de tamaño "50x50", luego 2 controles RadioButton: "rbDerecha" y "rbIzquierda".
Finalmente, agregar un Timer llamado: "tmrAnima" con la propiedad Enable en "true" y el Interval en "100" milisegundos, tal como se muestra en la figura:



Paso 3: Código del Formulario en C# .NET

Escribir el siguiente código en el formulario, la función cargarImagen esta asociada al evento "load" del formulario y la función "animarCaminante" esta asociado al evento "Tick" del Timer. Además la función "caminarDerecha" esta asociada al radio button "rbDerecha" y la función: "caminarIzquierda" esta asociada al radio button "rbIzquierda".

    public partial class frmCaminante : Form
    {
        Bitmap bmp;
        Rectangle rect;
        int posX,posY,x,c;

        public frmCaminante()
        {
            InitializeComponent();
        }

        private void cargarImagen(object sender, EventArgs e)
        {
            bmp = new Bitmap("Caminante.png");          
        }

        private void animarCaminante(object sender, EventArgs e)
        {
            rect = new Rectangle(posX, posY, 104, 150);
            picCaminante.Image = bmp.Clone(rect, bmp.PixelFormat);
            if (rbDerecha.Checked) animarDerecha();
            if (rbIzquierda.Checked) animarIzquierda();
        }

        private void animarDerecha()
        {
            posX += 104;
            c++;
            picCaminante.Left = x;
            if (x <= this.Width) { x += 10; }
            else { x = -picCaminante.Width; }
            if (c == 5)
            {
                c = 0;
                posX = 104;
            }
        }

        private void animarIzquierda()
        {
            posX += 104;
            c++;
            picCaminante.Left = x;
            if (x>-picCaminante.Width) { x -= 10; }
            else { x = this.Width; }
            if (c == 5)
            {
                c = 0;
                posX = 104;
            }
        }

        private void caminarDerecha(object sender, EventArgs e)
        {
            if (rbDerecha.Checked)
            {
                c = 0;
                posX = 104;
                posY = 0;
            }
        }

        private void caminarIzquierda(object sender, EventArgs e)
        {
            if (rbIzquierda.Checked)
            {
                c = 0;
                posX = 104;
                posY = 150;
            }
        }
    }

Paso 4: Ejecución del Formulario Windows Forms

Después de escribir el código de arriba, crear el archivo: "Caminante.jpg" en la carpeta bin/Debug de la aplicación y ejecutar pulsando F5. Por defecto la animación se inicia a la derecha, para cambiar seleccionar el radio button.


Descarga:
Demo04_Animacion_Sprite