Ads 468x60px

Perfil

miércoles, 30 de enero de 2013

Windows Azure (Parte 2)


Introduccion a Ruby on Rails


Introducción al framework de Ruby on Rails incluyendo el típico -hola mundo- para dar nuestros primeros pasos.

Desde que tuve conocimiento de la revolución del diseño de aplicaciones web, popularmente conocido como Web 2.0, he sido testigo de varias tecnologías que giran alrededor de ésta: Sindicación de contenidos RSS, AJAX, Tags, Web Services, etc.
Hoy en día podemos encontrar muchas webs orientadas a la comunidad o la generación de contenido por parte de los usuarios, como por ejemplo: Technorati,OdeoBasecampdel.icio.usdigg, etc.
Muchas de éstas aplicaciones web están siendo desarrolladas bajo Ruby on Rails, surgen varias interrogantes como  el ¿por qué no eligen otra plataforma?, ¿es Ruby on Rails mejor que otras plataformas?, ¿es sólo una moda?. Estas preguntas merecen respuestas concretas, expliquemos en qué consiste esto.

¿QUÉ ES RUBY?

Ruby es un lenguaje de scripts, multiplataforma, netamente orientado a objetos es software libre, fue creado por Yukihiro Matsumoto conocido como Matz. La primera versión fue liberada en 1995, hereda varias caracaterísticas de lenguajes como: Perl, Smalltalk, Eiffel, Ada y Lisp. Como lo indica su propio autor, es un lenguaje “aparentemente sencillo pero internamente complejo”.
Esto quiere decir que mientras más nos abstraemos en el paradigma orientado a objetos notaremos realmente la complejidad del lenguaje (al menos fue mi caso, ya que vengo de lenguajes estructurados y orientados a eventos); lo considero un lenguaje muy intuitivo casi a un nivel de lenguaje humano.
Ruby fue diseñado para un desarrollo rápido y sencillo. Cada día este lenguaje va ganando más adeptos, tanto así que la empresa Sun Mirosystems, está apoyando un proyecto llamado Jruby que es un interprete de Ruby escrito 100% en Java.
Entre las carecterísticas del lenguaje se encuentran:
  • Posibilidad de hacer llamadas directamente al sistema operativo.
  • Muy potente para el manejo de cadenas y expresiones regulares.
  • No se necesita declarar las variables.
  • La sintaxis es simple y consistente.
  • Gestión de memoria automática.
  • Todo es un objeto.
  • Métodos Singleton.
  • un largo.
Muy bien, hasta aquí creo que tenemos una visión básica de lo que es Ruby.

¿QUÉ ES RAILS?

Rails es un framework para el desarrollo de aplicaciones web, software libre por naturaleza, está basado en el patrón de diseño Modelo Vista Controlador (MVC). Fue creado por David Heinemeier Hansson, empleado de la empresa 37signals.
Fue liberado por primera vez al público en julio del 2004, y lo implemento en una aplicación orientada a la administración de proyectos llamada Basecamp. Actualmente se uniéron más personas al desarrollo de Rails podemos visualizar aquí a los integrantes. Rails está basado en estos principios de desarrollo:
  • Don’t Repeat Yourself
  • Convention Over Configuration

PRIMER PRINCIPIO:

La primera regla que a mi buen entender significa “No lo vuelvas a repetir”, es una de las cosas más novedosas que he podido encontrar en este framework. Imaginate tener un formulario, y llamarlo las veces que quieras y desde donde quieras, simplemente con una línea código.
Tener una tabla en tu base de datos, y manipular a los registros como un objeto y a sus campos como un atributo, sin necesidad de declarar nada, son sólo algunas aplicaciones de este principio de desarrollo.

EL SEGUNDO PRINCIPIO:

Nos dice “Convención antes que Configuración”, muy bien con esto el framework nos dice: oye he notado que tu siempre usas ésto de ésta forma, o veo que siempre tienes que configurar esto de aquí, porque no hacemos una cosa, yo te doy todo esto configurado, si tu respetas ésta configuración te ahorras tiempo, y sino quieres hacerlo, no hay problema no me molesto, para muestra un botón:
class Auto < ActiveRecord::Base
  end

¿QUÉ HAGO CON ESO?

la verdad no deberíamos hacer nada pero ya hicimos mucho, con esa declaración de una clase, lo que hemos logrado es mapear a una tabla en nuestra base de datos.

¿POR QUÉ EN PLURAL?

Dicho de otra manera Rails buscará una tabla llamada “autos”, en nuestra base de datos, esto es así porque Rails cree conveniente que debe llamarse así (principio de pluralización).
Aunque este comportamiento se puede desactivar de una manera muy sencilla, ¿Y si no la encuentra?, pues nos dará un error. Y qué ocurre si la tabla con la que quiero trabajar no tiene ese nombre exacto, no hay problema, con una línea más serás complacido:
class Auto < ActiveRecord::Base
   set_table_name 'carros'
  end
Con esto el framework comprenderá que en vez de usar ‘autos’, debería usar ‘carros’ así de sencillo. Muy bien hasta aquí tenemos una muy pequeña noción de lo que es Ruby y Rails, ahora veamos lo necesario para tenerlo instalado en nuestra máquina.

INSTALANDO RUBY

VERSIÓN FREEBSD:

Actualizando los ports
portsnap fetch
portsnap update
Instalando Ruby
cd /usr/ports/lang/ruby18
make install clean

VERSIÓN LINUX:

Descargamos el fuente
./configure
make
make install

PARA USUARIOS DE DEBIAN O UBUNTU:

sudo apt-get install ruby irb rdoc

VERSIÓN WINDOWS

Descargar
Siguiente, Siguiente, Aceptar, No, deseo registrarme luego.
Muy bien hasta aquí ya tenemos instalado Ruby.

INSTALANDO RAILS

Si disponemos de conexión a internet el trabajo se resumen en:
gem install rails –include-dependencies. Para una instalación manual debemos descargarnos cada uno de los módulos:
Los archivos deberan ser descargados en un sólo directorio y los comandos ejecutados en ese directorio.
Muy bien hasta aquí ya debemos tener instalado Ruby y Rails satisfactoriamente, ahora creemos nuestra primera aplicación:
Creamos un directorio de trabajo y nos ubicamos dentro de el en la consola.

RAILS EJEMPLO:

Automaticamente se generará el esqueleto de nuestra aplicación.
Muy bien ahora entramos en el directorio que se genero y ejecutamos el servidor web que viene con Ruby (Webrick):
ruby script/server Y veremos una pantalla de bienvenida a nuestra aplicación: Ahora vamos a realizar la prueba de fuego un ‘Mundo Hola!’, para esto realiza lo siguiente:
Creamos un controlador ruby script/generate controller test,
ahora se habrán creado varios archivos entre ellos edita ‘directorio_trabajo/ejemplo/app/controllers/test_controller.rb’:
Vamos agregarle un método:
class TestController < ActionController::Base
    def index
    end
  end
Ahora crearemos la vista para esta acción que acabamos de crear, en ‘directorio_trabajo/ejemplo/app/views/test’ crea un archivo llamado ‘index.rhtml’ y dentro de el colocas el texto ‘Mundo Hola desde RoR!’, lo grabas y colocas lo siguiente en tu navegador: http://localhost:3000/test/
Supongamos que el controlador "test" es el controlador principal de tu aplicación, y naturalmente no sería lo ideal que los usuarios ingresen a tu página a través de "tudominio.com/test", deberían ingresar simplemente escribiendo "tudominio.com", bien para lograr esto editemos ‘directorio_trabajo/ejemplo/config/routes.rb’:
descomentamos la línea
# map.connect ”, :controller => "welcome"
quedaría así:
map.connect '', :controller => "test":
Y como nos indican unas líneas arriba, debemos borrar el archivo ‘directorio_trabajo/ejemplo/public/index.html’, y ahora si se podría acceder a través de ‘http://localhost:3000/’.
Aquí les dejo una pequeña bibliografía:

LIBROS-INGLÉS

LIBROS-ESPAÑOL

FOROS-INGLÉS

FOROS-ESPAÑOL

PÁGINAS WEB Y BLOGS

martes, 29 de enero de 2013

Fundamentos de Silverlight Parte1


¿Qué es Silverlight?

Silverlight es una tecnología que nos permite crear Aplicaciones Enriquecidas para Internet o RIA por sus siglas en inglés (Rich Internet Applications). Con Silverlight podemos construir aplicaciones que van desde pequeños componentes dentro de una página Web hasta sofisticadas Aplicaciones de Negocio que estén consumiendo y presentando datos de alguna base de datos, pasando por juegos casuales, reproductores de multimedios, Gadgets para Windows Vista o 7, y un largo etcétera.
Incluso después de más de 3 años de haber sido liberada al público en general su primera versión, aún existen muchas confusiones y malinterpretaciones acerca de esta tecnología. Primeramente, tenemos que decir que Silverlight es una tecnología multi-navegador, esto es, es capaz de ejecutar adentro de los navegadores más comunes disponibles hoy en día: Internet Explorer, FireFox, Chrome y Safari.
Por otro lado, Silverlight es una tecnología Multi-Plataforma, esto es, es capaz de ejecutar en los principales Sistemas Operativos disponibles hoy en día: Windows, Mac OSX y Linux (a través de Moonlight, proyecto que es llevado a cabo por la empresa Novell y que es la implementación de Silverlight para ese Sistema Operativo). 

Silverlight, a diferencia de otras tecnologías Web del lado del Servidor (por ejemplo: ASP.NET, PHP, etc.), es una tecnología del lado del Cliente, es decir, todo el cómputo y ejecución de las aplicaciones sucede en el equipo del usuario, tal y como si se tratase de cualquier tipo de aplicación instalada. Esto es una gran ventaja ya que Silverlight puede sacar provecho de las características de procesamiento del hardware en donde está instalado.

Silverlight es un plugin que ofrece una experiencia de instalación muy similar a cualquier otro plugin para los navegadores. En el caso de la versión 5 (que es la versión más nueva disponible al momento de estar escribiendo esto) tiene un tamaño aproximado de 7 MB para el caso del Sistema Operativo Windows.
Durante el lanzamiento de Silverlight 4 en Abril 2010, se anunció que próximamente las aplicaciones de Silverlight podrán ejecutar en electrónicos de uso común en nuestros hogares, como televisores, reproductores de DVD, reproductores de Blu-Ray y cajas decodificadoras de cable para la TV. Asimismo, Silverlight es una de las plataformas de desarrollo para la nueva versión del Sistema Operativo móvil de Microsoft: Windows Phone 7. En conjunto con XNA como plataforma para la construcción de juegos 2D / 3D, Silverlight ofrece a los desarrolladores de Aplicaciones móviles una plataforma robusta, fácil de aprender y con una oferta de herramientas con alta funcionalidad.
Con lo anterior podemos deducir que Silverlight es una gran apuesta para ser una tecnología que sea capaz de ejecutar de la misma manera, en diferentes lugares: en los tres tipos de pantalla más comunes en la vida de las personas hoy en día (equipos de cómputo tradicionales como PC’s o Laptops, Televisores y teléfonos móviles). Un mismo código ejecutando en diferentes dispositivos, con diferentes resoluciones, con características de hardware diferente. Es de gran importancia esto ya que los desarrolladores podrán reutilizar sus conocimientos existentes en tecnología .NET para poder construir soluciones que lleguen a más personas y en lugares donde antes esto no era posible.
Se presume que el nuevo dashboard de Xbox liberado en noviembre 2011 incluye Silverlight como la plataforma de desarrollo para sus aplicaciones.  Sin embargo, aún no hay documentación técnica oficial al día de hoy que hable acerca de ello.

Silverlight y HTML

El propósito de Silverlight nunca ha sido reemplazar HTML como tecnología de presentación de Interfaces de Usuario, sino complementarla con características y funcionalidades que no están disponibles en dicha tecnología. Si bien HTML es un estándar que pretende ser implementado de manera única y consistente en todos los navegadores disponibles hoy en día, esto en la práctica ha sido, es y será un proceso lento ya que podemos destacar una falta de quórum entre las principales empresas que respaldan sus navegadores, quienes (paradójicamente) implementan las especificaciones de estándares de manera diferente. Además si hablamos en términos de funcionalidad, Silverlight ofrece más y mejores características.
Otras consideraciones importantes son:
Rendimiento
El rendimiento de las Aplicaciones de Silverlight es superior gracias a que el código ejecuta bajo el Common Language Runtime (CLR), además de que cuenta con múltiples hilos de ejecución.
Consistencia
Silverlight se asegura de renderizar las Aplicaciones de manera consistente en cualquier lugar donde esté ejecutando
Tiempo
El tiempo de innovación es un punto muy importante ya que la evolución de la funcionalidad y características en las versiones futuras de Silverlight sucederán en un lapso de tiempo muy corto, a comparación de las especificaciones de estándares como HTML.
Para mayor información puedes consultar el siguiente artículo de Brad Becker, Director de Administración de Productos, Plataformas de Desarrollo:http://team.silverlight.net/announcement/the-future-of-silverlight/

Silverlight y el .NET Framework

Una característica muy importante acerca de Silverlight es que no requiere del .NET Framework tanto del lado del Cliente como del lado del Servidor. Del lado del Cliente es obvio ya que es precisamente a esto que podemos ejecutar aplicativos de Silverlight en Sistemas Operativos que no sean Microsoft Windows. Y más aún, también es independiente del .NET Framework del lado del Servidor: no es necesario tener instalado Internet Information Services (IIS) en nuestro Servidor Web, también puede ser Apache, Tomcat, etc.
Silverlight y Windows 8
Durante el primer keynote del evento //Build/ que se llevó a cabo del 13 al 16 de Septiembre en Anaheim, CA., se mostró al mundo entero la plataforma de desarrollo de aplicaciones en el próximo Sistema Operativo de Microsoft: Windows 8.  En Windows 8 habrá dos categorías de aplicaciones: Aplicaciones Metro, las cuales están enfocadas a dispositivos táctiles como tablets y Aplicaciones de Escritorio, las cuales son las aplicaciones de ventanas que todos conocemos con mecanismos de entrada tradicional de teclado y mouse, por ejemplo, Aplicaciones de Negocio (LOB por sus siglas en inglés), Aplicaciones de tipo OLTP, Herramientas, etc.
La plataforma de desarrollo para las Aplicaciones de Escritorio está basada en .NET ySilverlight, tal y como sucede hoy en día, por lo que no hay ningún tipo de cambio con respecto a las aplicaciones actuales.
Por otro lado, la plataforma de desarrollo para las Aplicaciones Metro está basada en Windows Runtime (WinRT, un API orientada a objetos alterna a Win32) y XAML o HTML.  El motor de interpretación de XAML ha sido incorporado al core del Sistema Operativo ¡por lo que ahora más que nunca es muy importante conocer y dominar este importante lenguaje!
Como podrás observar en la ilustración anterior, en Windows 8 el .NET Framework y Silverlight siguen siendo las plataformas principales para la creación de Aplicaciones de Escritorio, ya que si bien es importante un soporte nativo a los dispositivos con pantallas táctiles, hay muchos escenarios en donde no hace sentido tener una aplicación de este estilo, por lo que las Aplicaciones de Escritorio seguirán siendo la principal categoría durante muchos años por venir.

domingo, 27 de enero de 2013

Seguridad de la Informacion (Parte 2)


¿Qué puede aportar la SI a nuestra organización?


Introducción

La Seguridad de la Información abarca múltiples aspectos de una organización, no se trata únicamente de cuestiones técnicas, sino también de aquellas relativas a cuestiones organizativas, de procedimiento, de políticas, de responsabilidad, etc.
Por otro lado, la Seguridad de la Información no es competencia exclusiva de los responsables de sistemas de una organización sino que todos los miembros de una organización tienen parte de responsabilidad en mantener un adecuado nivel de seguridad.
A lo largo de los siguientes apartados, vamos a conocer cuáles son los aspectos fundamentales de las organizaciones sobre los que la Seguridad de la Información nos puede ayudar a mejorar nuestra organización. Como vamos a ver, son básicamente tres:
  • la responsabilidad y la productividad,
  • la imagen y la competitividad,
  • y la capacidad para superar contingencias y la continuidad del negocio
Estos tres grandes grupos engloban la mayoría de los aspectos relativos a cualquier organización en los cuales la Seguridad de la Información nos puede ser de gran ayuda a la hora de mejorarlos.

Responsabilidad y productividad en la empresa

La responsabilidad y la productividad son aspectos básicos de una organización que afectan a todos sus miembros, desde el director o responsable final hasta el último miembro de la organización. La productividad es un aspecto muy ligado a la responsabilidad de los trabajadores, es decir, a su nivel de compromiso con su trabajo y con el aprovechamiento de su tiempo y de los recursos que la organización pone a su alcance.

Imagen y competitividad

La imagen que proyecta una organización al exterior es uno de los aspectos que más tratan de mimar y cuidar actualmente todas las organizaciones. En el caso de las organizaciones del ámbito público, esta imagen es muy importante, puesto que una buena imagen, tiene repercusiones en aspectos tan fundamentales como la confianza de los ciudadanos o cuestiones incluso que pueden llegar al ámbito político. Para las empresas, una imagen externa poco cuidada puede significar pérdida de clientes y de negocio.
Pero, independientemente del tipo de organización, su imagen pública es un aspecto que debe de cuidar y mantener, máxime cuando se trate de una empresa, puesto que su negocio está en juego.

Contingencias y continuidad de negocio

La Seguridad de la Información es una herramienta básica para superar contingencias y mantener la actividad de una organización. Seguramente, éste es uno de los aspectos que más preocupan a las organizaciones, puesto que les afecta directamente al desarrollo de su actividad.
Pero las causas por las que una organización puede verse obligada a detener o reducir su actividad son tantas como activos sean necesarios para mantener la actividad. Si cualquiera de los activos de una organización se ve afectado por un incidente de seguridad, esto puede afectar a la actividad, y por tanto, a la continuidad tanto del negocio como de la propia organización.

sábado, 26 de enero de 2013

Windows Azure (Conceptos basicos)


¿Qué es Windows Azure Platform?

Windows Azure Platform es un servicio PaaS que forma parte de la oferta de servicios online de Microsoft. Proporciona un entorno familiar y flexible para desarrollar aplicaciones y servicios en la nube con todas las ventajas que hemos analizado.
Con Windows Azure Platform tu empresa puede reducir el tiempo de lanzamiento de los productos y adaptarse fácilmente a medida que la demanda de éstos crezca.
Figura 1.- Vista de los componentes de Windows Azure Platform
Windows Azure es una plataforma interoperable, que permite desarrollar en diversos lenguajes así como la comunicación con cualquier entorno externo. Además, si bien Visual Studio es la herramienta más productiva a la hora de trabajar con la plataforma, se dispone de herramientas y SDKs para otros sistemas y entornos.
La plataforma de Windows Azure es un conjunto de servicios base en la nube, que pueden usarse conjuntamente o de manera independiente, permitiendo que:
  • Los desarrolladores utilicen sus habilidades actuales y sus herramientas conocidas para desarrollar aplicaciones cloud
  • Los ISVs y los integradores de sistemas ingresen al mercado con rapidez y paguen a medida que usted ingrese
  • Los administradores IT obtengan acceso a un nuevo conjunto de recursos sin agregar complejidad
  • Empresas de todos los tamaños respondan con rapidez a medida que cambian las necesidades comerciales
Widows Azure Platform está compuesta por los siguientes servicios:
Windows Azure: ofrece a los desarrolladores servicios de ejecución y almacenamiento bajo demanda. Dada la abstracción de la que provee a las aplicaciones se suele definir como el sistema operativo de la nube, lo cual es una forma más sencilla de entenderlo.
Utilizando este servicio, los desarrolladores podrán desplegar y gestionar sus aplicaciones en los centros de datos de Microsoft. Además ofrece mecanismos simples de almacenamiento (tablas y blobs) y de comunicaciones basadas en colas.

Microsoft SQL Azure: es una base de datos relacional en la nube que permite tener acceso a nuestros datos relacionales desde cualquier lugar en cualquier momento. Se puede considerar como un servidor de datos SQL Server convencional pero  adaptado para funcionar en la nube, en donde la alta disponibilidad es una de las prioridades.
Hay que destacar que SQL Azure es el primer gestor para la nube realmente relacional, que puede ejecutar y entender consultas SQL.

Windows Azure Platform AppFabric: es la parte de Windows Azure Platform que proporciona autorización, autenticación y mensajería de manera que permite la comunicación segura entre las aplicaciones desplegadas en nuestra organización y las aplicaciones desplegadas en Windows Azure.
AppFabric Service Bus ofrece a los desarrolladores la flexibilidad para escoger cómo se comunican sus aplicaciones, solucionando retos impuestos por cortafuegos, NAT, IP dinámicas, etc.
AppFabric Access Control posibilita una autorización simple y segura para servicios web REST, que además puede federarse con un gran abanico de proveedores de identidades.

Microsoft Codename "Dallas": Se trata de un servicio que permite a los desarrolladores e 'Information Workers’ encontrar, adquirir y gestionar suscripciones a datos en la plataforma Windows Azure.
Dallas es un marketplace de información donde podremos encontrar datos de diferente naturaleza y diversos proveedores en un único punto. A través de las APIs de Dallas se puede consumir ese contenido desde prácticamente cualquier plataforma, aplicación o flujo de negocio.

El siguiente gráfico nos muestra los servicios que esta plataforma proporciona y como se relacionan entre sí:
Figura 2.- Servicios de Windows Azure Platform
Podemos ver, en el gráfico anterior, como Windows Azure Platform proporciona servicios que podemos utilizar desde cualquier plataforma gracias al uso de estándares universalmente aceptados como SOAP, REST y XML. Está soportado el desarrollo directo sobre la plataforma con .NET pero también con PHP, Java, Ruby on Rails... y desde diferentes entornos aparte de Visual Studio, como por ejemplo Eclipse.



viernes, 25 de enero de 2013

Desarrollando en Windows 8


Windows 8 es el nuevo sistema operativo de Microsoft, el cual ha traído consigo nuevos cambios a nivel de interfaz de usuario y a nivel del API para desarrollo; anteriormente para el desarrollo de aplicaciones Windows se disponía del .net framework, pero ahora para el desarrollo de aplicaciones metro style para Windows 8 se dispone de Windows Runtime, más conocida como WinRT, y será WinRT la que provea el acceso a recursos del sistema.
WinRT es ahora el framework o API destinada para la construcción de aplicaciones Metro, WinRT puede ser trabajado utilizando lenguajes orientados a objetos de la familia .NET como los son C#, Visual Basic.Net y C++.
Otro punto bastante novedoso de desarrollo de aplicaciones Metro es la posibilidad de utilizar HTML5 y JavaScript como lenguajes de desarrollo, y en este caso no es posible acceder directamente al API de WinRT, sino que se utiliza el API WinJS, la cual es un wrapper para poder acceder a las funcionalidades del Windows Runtime. WinRT tiene alrededor de 1800 objetos, los cuales proveen servicios para ser utilizados por el desarrollador.
En resumen, utilizando WinRT se tiene acceso a:
· Dispositivos
· Graficas
· Multimedia
· API’s de comunicación
· Datos
· Almacenamiento
· Acceso a archivos del sistema
· Acceso de red

Introducción a WinRT

Uno de los principales beneficios para el desarrollo de aplicaciones Metro Style es que no se hace necesario conocer diferentes API’s para diferentes funciones, ya que WinRT engloba el acceso a todas las funcionalidades necesarias y es la única API disponible.
Con lo comentado sobre WinRT, es posible relacionar WinRT con el .NET Framework, sin embargo son dos mundos diferentes, ninguno es el reemplazo de otro, siendo así que pueden convivir juntos sin ningún problema; lo importante es que WinRT si es utilizado por los lenguajes de la plataforma .NET.
WinRT contiene muchas características del .NET Framework, como clases, tipos de datos, funciones solo que enmascarados en un API diferente, lo anterior permite que el desarrollo con WinRT sea algo natural para los desarrolladores de .NET.
Para trabajar con las funcionalidades del Windows Runtime se utiliza un concepto conocido como proyecciones, una proyección no es más que la manera es que se expone una determinada funcionalidad, el siguiente ejemplo muestra como utilizar una proyección para seleccionar un archivo y mostrar el nombre del archivo seleccionado en una caja de texto:
   1:  var fileOpen = new Windows.Storage.Pickers.FileOpenPicker();
   2:  fileOpen.ViewMode = Windows.Storage.Pickers.PickerViewMode.List;
   3:  fileOpen.FileTypeFilter.Add(".docx");
   4:  fileOpen.FileTypeFilter.Add(".doc");
   5:  var file = await fileOpen.PickSingleFileAsync();
   6:   
   7:  if (file != null)
   8:      txtFile.Text = file.DisplayName;

jueves, 24 de enero de 2013

Estructura de un proyecto XNA

Para crear un proyecto XNA, debemos abrir Visual Studio 2010 con el XNA Game Studio 4.0 previamente instalado. Da un clic en Archivo, Nuevo Proyecto, y ve a la categoría de plantillas “XNA Game Studio”, y selecciona la plantilla Windows Game (4.0). Escribe el nombre de proyecto deseado y le das click en  aceptar.

Una vez creado el proyecto, verás la clase principal del proyecto que por defecto se llama Game1. En el Solution Explorer, veras la siguiente estructura de carpetas.


Proyecto WindowsGame1
En esta sección de la solución es donde se desarrolla toda la lógica del juego. La clase principal es la llamada Class1, donde se encuentra bien definidos los métodos principales a implementar acorde al funcionamiento del framework XNA. Existe otra clase estática llamada Program.cs, donde aquí en realidad es el que invoca la Clase1 para ejecutarla; sin embargo, tu labor es implementar tu juego es en la clase Class1.
También veras un archivo llamado “Game.ico”, donde este es un pequeño icono de 32×32 pixeles que se coloca en la esquina superior izquierda de la ventana de nuestro juego al momento de ejecutar nuestra aplicación. Este icono también se mostrara si lo anclas a la barra de inicio.
Entre otros elementos dentro de este proyecto, se encuentra el directorio “Properties”, donde se encuentra el archivo “AssemblyInfo.cs”, que es el archivo configuración de ensamblado de nuestro proyecto. Al abrirlo, veras que contiene toda la información acerca de la versión de la aplicación, el Titulo del juego, producto, descripción, año, etc. También se encuentra el directorio “References”, donde en esta se encuentra referencias a las librerías fundamentales requeridas para el funcionamiento de este proyecto. Si deseas trabajar con librerías externas encontradas en la web (Como trabajar con el Kinect, o librerias de físicas, etc.), con descargarlas y hacerles referencia, ya se encuentran disponibles para utilizarlas en tu juego.
En este punto, te sugiero que trabajes con directorios de clases, a modo de trabajar un proyecto de manera organizada por grandes módulos esenciales, como física, sonido, gráficos, interacción entrada/salida, etc.
Proyecto WindowsGame1Content
Para este proyecto de tipo Windows Game Library (4.0) que se genera automáticamente en la solución al momento que se crea un Windows Game (4.0), es donde se coloca todo el contenido gráfico audiovisual del juego. Se recomienda que organices el contenido en directorios, para imágenes, archivos de configuración, sonidos, videos, música de fondo, etc. Esta sección ya se encuentra referenciada por el proyecto principal (que se puede ver dentro del directorio “Content References”).

miércoles, 23 de enero de 2013

Especificación XBRL


La especificación XBRL es un conjunto de reglas de sintaxis creado para la definición de diccionarios de conceptos que se utilizan dentro del contexto de intercambio de información financiera.
Su construcción está basada en los siguientes estándares del W3C (World Wide Consortium):

  • XML (eXtended Markup Language): Es un lenguaje de marcado universal y estándar, definido por el W3C para el formateo de información etiquetada. El formato de etiquetas XML proporciona un significado adicional a la información ordinaria a intercambiar de forma que las aplicaciones informáticas que consumen la información sean capaces de entender dicho significado, son los llamados metadatos de las etiquetas.
  • Namespaces: Se utilizan para la especificación de espacios de nombres.
  • XMLSchema: Se utiliza para la definición de esquemas de datos en XML.
  • XLink: Se utiliza para la definición de recursos enlazados mediante XML.
  • XPointer: Se utiliza para la obtención de fragmentos específicos de un XML.

martes, 22 de enero de 2013

La Seguridad de la Información

La información es lo que se conoce como un activo. Un activo es un elemento que tiene valor para una organización.

La información, además, puede ser un activo tangible o intangible. Es decir, no solamente tenemos que pensar en información almacenada en los ordenadores o en un disco duro. La información también podemos encontrarla en formato papel, en una cinta magnética, en un CD o en una nota colocada encima de la pantalla de nuestro ordenador.

La información es un activo -tangible o intangible- que tiene una característica fundamental y es que posee valor para una organización.

Pero, ¿por qué es valioso un activo para una organización? La respuesta está en la propia organización. Si nos fijamos en una organización cualquiera, vemos que la información que es importante para una organización es relevante para su actividad ya que en torno a ella se crean y desarrollan un conjunto de procesos y tareas. Sin la información, esos procesos y tareas no sirven de nada y no es posible llevarlos a cabo adecuadamente.



La naturaleza de la información y otras características

La información, además de las características comentadas, posee otras que determinan la forma en que la utilizamos, y por supuesto, la protegemos. La información proviene de diversas fuentes y se presenta en distintos soportes. Además, la información se transmite a través de distintos medios y tecnologías.
La información puede tener una naturaleza electrónica -como la almacenada en ordenadores,CD-Roms, tarjetas de memoria, etc.- o puede estar en soporte papel -albaranes, facturas, listados de clientes, etc.
Asimismo, hay que ser conscientes de que la información tiene un ciclo de vida, es decir, durante el tiempo que la información es utilizada pasa por un conjunto de fases: se crea, se difunde, se transmite, se copia, se modifica, se almacena y, a partir de un momento determinado, deja de ser útil o se convierte en información obsoleta, lo que supone su archivado o destrucción, con lo que llegamos al final de su ciclo de vida.
La información posee otras características, que iremos conociendo a lo largo del curso.

Finalmente, ¿qué es la Seguridad de la Información?

A partir de todo lo anterior, estamos en disposición de definir, de una forma comprensible, qué es laSI.
La SI es la protección de tres aspectos o facetas de la información, que son las siguientes:
  • Confidencialidad: consiste en evitar que personas, programas o sistemas no autorizados puedan acceder a ella sin autorización.
  • Integridad: es la característica de la información relativa a su fiabilidad. Su protección consiste en que la información no sea alterada o modificada sin autorización.
  • Disponibilidad: este aspecto hace referencia a que la información esté accesible, es decir, disponible para su utilización cuando sea necesaria.
Por tanto, la Seguridad de la Información tiene que establecer las medidas necesarias que permitan proteger la confidencialidad, la integridad y la disponibilidad de la información.





domingo, 20 de enero de 2013

HOLA MUNDO en php

Aqui veremos un pequeño ejemplo de imprimir un "HOLA MUNDO" en php


<html>
    <head>
              <title>Hola Mundo</title>
    </head>
<body>
         <h1> El famoso script Hello World</h1>
<p>
     <?php echo "Hola Mundo!";?>
</p>
</body>
</html>

viernes, 18 de enero de 2013

Ejemplos basados en arreglos


Acceso a componentes del arreglo.

El acceso a componentes se realiza vía indirección de un puntero constante que es el nombre del arreglo, con un offset dado por el índice del elemento.
Se definen tipos de datos.
typedef int Tipo; /* tipo de item del arreglo */
typedef int Indice; /* tipo del índice */
Es práctica usual, definir mediante una constante el tamaño máximo del arreglo
#define MaxEntradas 10
Se definen e inician con valores dos arreglos
Tipo A[MaxEntradas]={0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
Tipo B[MaxEntradas]={ 10,11,12,13,14,15,16,17,18,19};
A las funciones que manipulan arreglos se les suele pasar el arreglo por referencia.

Por ejemplo la función que imprime en una línea las componentes de un arreglo a.
void mostrar(Tipo *a, Indice inferior, Indice superior)
{
Indice i;
for (i = inferior; i <= superior; i++) printf(" %d ", a[i]);
putchar('\n');
}

Note que el primer argumento de la función también puede escribirse: Tipo a[].

Ejemplos de uso:
mostrar(A, 0, 4); imprime 0 1 2 3 4
mostrar(A+2, 0, 4); imprime 2 3 4 5 6

La manipulación de arreglos no suele verificar el rango del índice. En el caso de haberse
definido adyacentes los arreglos A y B, la referencia a A[12] está accesando efectivamente a
B[2], por eso se muestra un 12; pero es un error por acceso fuera de rango.
printf(" %d \n", A[12]); imprime 12
printf(" %d \n", B[-2]); imprime 8
printf(" %d \n", A[-1]); imprime cualquier cosa que estuviera almacenada antes de A
printf(" %d \n", 1[-1+B] ); imprime 10
printf(" %d \n", -1[B] ); imprime -11 (es una referencia correcta)
Similares errores pueden generarse accesando componentes indireccionando vía puntero:
printf(" %d \n", *(A+12)); imprime 12
printf(" %d \n", *(-2+B)); imprime 8
Los ejemplos anteriores ilustran que el acceso a componentes de un arreglo se efectúa mediante
indirección con el puntero que es el nombre del arreglo.
La expresión: A[c] se interpreta como el contenido de la dirección:
A + c*(tamaño del tipo del arreglo).
Donde A es la dirección de la primera componente del arreglo.
Empleando el lenguaje:
A[c] equivale a: *(A+c) y A es equivalente a &A[0].

jueves, 17 de enero de 2013

Tutorial UDK parte 5 (agua y pared fantasma)


Curso Asp.Net

tutorial UDK parte 4 (terreno con materiales)


Conceptos Básicos de jQuery -$(document).ready()


$(document).ready()

No es posible interactuar de forma segura con el contenido de una página hasta que el documento no se encuentre preparado para su manipulación. jQuery permite detectar dicho estado a través de la declaración $(document).ready() de forma tal que el bloque se ejecutará sólo una vez que la página este disponible.

El bloque $(document).ready()
$(document).ready(function() 
{
       console.log('el documento está preparado');
});

Existe una forma abreviada para $(document).ready() la cual podrá encontrar algunas veces; sin embargo, es recomendable no utilizarla en caso que este escribiendo código para gente que no conoce
jQuery.

Forma abreviada para $(document).ready()
$(function() {
console.log('el documento está preparado');
});

Además es posible pasarle a $(document).ready() una función nombrada en lugar de una anónima:
Pasar una función nombrada en lugar de una función anónima
function readyFn() {
// código a ejecutar cuando el documento este listo
}
$(document).ready(readyFn);