Blog

programación

Viewing posts from the programación category

Documentar API en ASP.NET MVC5

este tutorial es para Visual estudio 2013 con el template  de MVC5 Web API

 

Paso 1

Crear un proyecto con Web Api

create web api

 

 

Paso 2

ir a Areas/HelpPage/HelpPageConfig.cs

Area HelpPage

 

paso 3

al abrir el archivo  vamos a la siguiente linea (“esta normalmente en la linea 37”) y le vamos a quitar los comentarios.

// config.SetDocumentationProvider(new XmlDocumentationProvider(HttpContext.Current.Server.MapPath(“~/App_Data/estraDG-API.xml”)));

 

Paso 4

Ir en propiedades del proyecto a la pestaña buil y activar xml documentation  para que permita generar el xml de la ayuda

properties

 

en XML documentation File  ponemos App_Data/NombreArchivo.XML que se utilizara para la codumentación.

 

Paso 5

Regresamos al archivo HelpPageConfig.cs  y pegamos la ruta

que creamos en el paso 4

ya que este es el xml que usara visual estudio para generar la doumentación y  eso es todo para tener activo el autodocumentar en visual estudio.

 

 

 

Problemas con el Error Java Heap Space en Flash Builder 4.6

Este simple error,  puede ser todo un problema para todo desarrollador de  Flex.

El proyecto con el que se me ha presentado este error, es uno que requiere  de muchos  assets gráficos, de audio, video e imágenes  y lo he probado  tanto en mi  Mac de desarrollo  como desde Windows como prueba de Flash builder.

Del porque se da…, la conclusión a la que he llegado, es que cuando un proyecto pasa de la memoria base del propio FB4.6, nos muestra este error, para decirnos que no tiene memoria suficiente para compilar el grueso del proyecto.

La solución al problema, es encontrarla.
Se trata de ampliar los parámetros de cache del FB4.6,   para que con esto el programa pueda compilar y  trabajar  sin problemas.

Para solventarlo tenemos que acceder al fichero .ini del Flash Builder 4.6

En Windows

Post base Informaciónhttp://forums.adobe.com/thread/629986?tstart=0

Hay dos casos:

a) Flash Builder 4 IDE (Eclipse+Equinox)
b) Run/Debug

Soluciones:

Caso (a)

  • Ir al directorio de instalación de Flash Builder 4. Lo normal es que sea en Archivos de Programa->Flash Builder 4
  • Editar el fichero: FlashBuilder.ini
  • Incrementamos los siguientes parámetros, en función de la RAM que tengamos:

-Xms256m -> -Xms384m
-Xmx384m -> -Xmx512m

En el caso, de que no aparezcan estos parámetros, podremos añadirlos nosotros, en dos nuevas líneas.

En un MacBook Pro con 4 de RAM, los valores con los que lo he solventado el panorama han sido los siguientes:

-Xms512m
-Xmx512m
-XX:MaxPermSize=1024m
-XX:PermSize=64m

  • Guardamos el fichero .ini, y reiniciamos la aplicación Flash Builder 4.

Caso (b)

  • Ir a las carpetas de Flex 3.5 y 4.0, y entrar en la subcarpeta: /bin
  • Editar para ambos los ficheros: jvm.config
  • Modificar los parámetros:

Antes: -Xmx256m -Dsun.io.useCanonCaches=false
Después: -Xms384m -Xmx512m -Dsun.io.useCanonCaches=false

  • Guardamos los cambios>
  • Reiniciamos FB4

Mac OS

Para llegar hasta el .ini de Flash Builder en Mac Os:

  • Iremos a la carpeta Applications,
  • Luego a la carpeta del Flash Builder
  • Una vez dentro, hacemos clic derecho sobre el ejecutable, y le decimos ver contenido del paquete.
  • Entramos en la carpeta Mac OS
  • Editamos el fichero .ini, y aumentamos los valores:

-vmargs
-Xms512m
-Xmx512m
-XX:MaxPermSize=1024m
-XX:PermSize=64m

Como generar Proyectos ASP.NET MVC4 en XAMARIN y MonoDevelop 4.1 en mac

Estos son los pasos para implementar ASP.NET en MonoDevelop 4.1

Nota:  tanto Xamarin Studio y MonoDevelop   tienen el mismo procedimiento para esta implementación.

El primer paso es  Instalar Xamarin Studio o MonoDevelop 4.1 y Mono MDK 3.2.3
Para bajar MonoDevelop ir al sitio http://monodevelop.com para el MonoMDK bajarlo de http://www.go-mono.com/mono-downloads/download.html  es importante que sea la version 3.2.3.
Si desea usar Xamarin Studio lo puede bajar de http://xamarin.com .

Una vez instalados el siguiente paso es  instalar el MonoDevelop 4.1 NuGet Addin Package Manager.

Matt Ward, mantiene un repositorio de GitHub para el Addin NuGet para el MonoDevelop IDE. Publica el complemento de un repositorio addin MonoDevelop personalizado.

NuGet Addin for MonoDevelop and Xamarin Studio
es un port de SharpDevelop NuGet package management adding,  este trabaja  tanto en Linux, Windows y Mac.

 

En el menú de aplicaciones “Xamarin Studio”, haga clic en la opción “Gestor de complementos …”.

En el cuadro de diálogo resultante, haga clic en la pestaña “Gallery”. Elija la opción “Manage Repositories…” elementos en el selector de “repositorio”.

En el cuadro de diálogo resultante, haga clic en el botón “añadir”.

En el diálogo que siguió, pegue el siguiente URL en el campo “Url:” campo de texto.

http://mrward.github.com/monodevelop-nuget-addin-repository/4.1/main.mrep

Haga clic en el botón “OK”. Haga clic en el botón “Cerrar”.

en IDE extension veremos

xamarin nuget install

Ampliar el “IDE extensiones” triángulo desplegable y seleccione la opción “NuGet paquete de gestión” elemento del árbol.

Haga clic en “Instalar …” botón que aparece en el cuadro de detalle a la derecha de la vista de árbol.

En el cuadro de diálogo resultante, haga clic en el botón “Instalar”. Espere a que la operación finalice y el diálogo para cerrar en sí.

Haga clic en el botón “Cerrar”.

Crear una aplicación ASP.NET MVC 3

Haga clic en el “Nuevo …” botón en el “Soluciones”.

En la vista de árbol, expanda “C #” si usted tiene que seleccionar el elemento y ASP.NET en el árbol.

Elija lo que ASP.NET MVC 3 tipo de proyecto que desea utilizar. Yo elegiré el “ASP.NET MVC 3 (Razor) with Unit Test Project”, esto con la finalidad de que requiere el  mayor número de cambios para conseguir que funcione correctamente.Subconjuntos de los cambios en las siguientes secciones van a trabajar para los otros tipos de proyectos MVC 3 estén  disponibles para usted.

Introduzca el nombre del proyecto y / o soluciones y haga clic en el botón Aceptar.

(Trate de) Generar y (sin duda) Actualizar el Proyecto

El proyecto tendrá errores y vamos a arreglar eso y hacerlo MVC 4 al mismo tiempo.

Derecho o Control-clic en el elemento del árbol “Referencias” en su proyecto de MVC. Haga clic en “Administrar paquetes NuGet …” del menú contextual.

En el diálogo que siguió, asegúrese de que la pestaña de “disponible” está activo. Escriba “ASP.NET MVC 4” en el campo de búsqueda . Haga clic en el botón de búsqueda a la derecha del campo de entrada. Desplácese hacia abajo hasta que vea el paquete llamado “Microsoft ASP.NET MVC 4”. Seleccione haciendo clic en él. A continuación, haga clic en el botón “Add” debajo del panel de detalles de la derecha de la lista de paquetes.

En el diálogo que siguió, lea todas las licencias (sí, claro!) Y haga clic en el botón “OK”.

Haga clic en el botón “Cerrar”.

Derecho o Control-clic en el elemento del árbol “Referencias” en el proyecto de prueba. Haga clic en “Administrar paquetes NuGet …” del menú contextual.

Active la ficha “Reciente”. Seleccione la opción “Microsoft ASP.NET MVC 4” paquete. Haga clic en el botón “Add”.Haga clic en el botón “Cerrar”.

Ahora, usted puede crear y ejecutar la prueba unitaria predeterminada para asegurarse de que todo lo que las cosas parecen estar bien.

Las cosas pueden no estar bien ಠ _ ​​ಠ

Pruebe a ejecutar en el menú “Ejecutar” y clic en “Iniciar depuración” del menú (o por el Comando + Enter combinación de teclas). Si estás en Mac OS X, es posible que aparezca una excepción de esta manera:

System.UnauthorizedAccessException acceso a la ruta “/ Library/Frameworks/Mono.framework/Versions/3.2.3/etc/mono/registry” denegado.

Parece que el depurador ASP.NET requiere acceso al registro que instala mono porque el CLR espera un registro.Esto es fácil de arreglar. Abrir terminal y el tipo (o pegar) los siguientes comandos:

sudo mkdir /Library/Frameworks/Mono.framework/Versions/3.2.3/etc/mono/registry sudo chmod g+rwx /Library/Frameworks/Mono.framework/Versions/3.2.3/etc/mono/registry

Ahora se puede acceder al registro y todo está bien.

Las cosas no están bien ಠ ෴ ಠ

Si intenta ejecutarlo, ahora, verá una excepción similar al siguiente:

System.InvalidOperationException versiones contradictorias de las páginas Web ASP.NET detecta: versión especificada es “1.0.0.0”, pero la versión en el bin es “2.0.0.0”. Para continuar, elimine los archivos del directorio bin de la aplicación o quitar la versión de la especificación en web.config.

Parte de nuestro proceso de actualización añade nuevas asambleas, pero no cambió los archivos. Config. Abra el archivo Web.config en la raíz del proyecto MVC y cambiar la línea que dice

<add key=”webpages:Version” value=”1.0.0.0″ />

a

<add key=”webpages:Version” value=”2.0.0.0″ />

Eso soluciona eso! Darle un plazo.

Falta un paso para que funcione

Ahora tenemos una excepción por no encontrar un punto de vista. Está ahí! Lo prometo! Aún tenemos que actualizar el MVC Web.config y que causa problemas. Abra el archivo Web.config en la carpeta Vistas del proyecto MVC. Haga lo siguiente búsqueda y reemplazo pasos:

  • Buscar y reemplazar el valor “System.Web.WebPages.Razor, Version = 1.0.0.0” con el valor “System.Web.WebPages.Razor, Version = 2.0.0.0”
  • Buscar y reemplazar el valor “System.Web.Mvc, Version = 3.0.0.0” con el valor “System.Web.Mvc, Version = 4.0.0.0”

Ejecutarlo y listo ya tienes ASP.NET MVC 4 funcionando en tu proyecto.

 

 

Desarrollo ágil de Software

El desarrollo ágil de software son métodos de ingeniería del software basados en el desarrollo iterativo e incremental, donde los requerimientos y soluciones evolucionan mediante la colaboración de grupos auto organizados y multidisciplinarios.

Las metodologías ágiles aparecen como una posible respuesta para llenar un vacío que existía con las metodologías tradicionales: donde el entorno del sistema es cambiante y se exige reducir los tiempos de desarrollo pero manteniendo la calidad.
En el 2001 nace el término “ágil” aplicado al desarrollo de software en una reunión realizada en Utah (EEUU), por 17 expertos de la industria (convocados por Kent Beck). En esa misma reunión se esbozaron los valores y principios de esta metodología. También se creó una organización sin ánimo de lucro llamada The Agile Alliance, para promover los conceptos y ayudar a las organizaciones para que los adopten. El punto de partida fue el Manifiesto Ágil que resume toda su filosofía.

Agile

El Manifiesto Ágil

El manifiesto expone que se valora más…

  • a los individuos y su interacción, sobre los procesos y las herramientas: debido a que la gente es el principal factor de éxito de un proyecto. Es más importante el equipo que el entorno.
  • al software que funciona, sobre la documentación exhaustiva: no producir documentos a menos que sean necesarios de forma inmediata para la toma de una decisión.
  • a la colaboración con el cliente, sobre la negociación contractual: debe existir una interacción constante entre el cliente y el equipo de desarrollo, para asegurar el éxito del proyecto.
  • a la respuesta al cambio, sobre el seguimiento de un plan: la planificación no debe ser estricta, sino flexible y abierta.

Principios

Los valores anteriores inspiraron los doce principios del manifiesto. Estos diferencian a un proceso ágil de uno tradicional.

  1. La principal prioridad es satisfacer al cliente a través de la entrega temprana y continua de software.
  2. Son bienvenidos los requisitos cambiantes.
  3. Entregar con frecuencia software que funcione, con preferencia en periodos breves.
  4. Las personas del negocio y los desarrolladores deben trabajar juntos de forma cotidiana.
  5. Construir proyectos en torno a individuos motivados, procurándoles confianza para que realicen la tarea.
  6. La forma más eficiente y efectiva de comunicar información es mediante la conversación cara a cara.
  7. El software que funciona es la principal medida del progreso.
  8. Los procesos ágiles promueven el desarrollo sostenido.
  9. La atención continua a la excelencia técnica enaltece la agilidad.
  10. La simplicidad es esencial.
  11. Las mejores arquitecturas emergen de equipos que se auto-organizan.
  12. En intervalos regulares, el equipo reflexiona sobre la forma de ser más efectivo y ajusta su conducta en consecuencia.

Metodologías Ágiles

Existen algunas metodologías que se basan y construyen sobre los principios ágiles. No existe, sin embargo, una metodología que sea “la mejor”, sino que cada una tiene fortalezas diferentes dependiendo las circunstancias. Las metodologías más utilizadas son Extreme Programing (XP), Scrum y Lean Software Development.
Estas tres metodologías pueden considerarse como 3 sabores ágiles distintos, pero no del todo contrastantes, ya que si bien no operan al mismo nivel; sino que representan 3 puntos focales distintos.
En el nivel más granular se encuentra XP. Está dirigido hacia las prácticas individuales de los equipos, principalmente indica que los equipos deben perfeccionarse en prácticas como TDD (Desarrollo Dirigido por Pruebas), programación de a pares, refactorización, entregas pequeñas y diseño simple. Hay que tener en cuenta que mucha gente utiliza estas prácticas sin aplicar en si las metodologías ágiles; esto viene dado a que promueven una buena arquitectura. XP también describe prácticas que los equipos pueden utilizar para mejorar sus funciones como: el juego de la planificación, la reunión diaria o la propiedad colectiva de código.
Scrum es agnóstico acerca del desarrollo de las prácticas del equipo; asume que tiene buenas prácticas. Scrum se interesa más en la administración del trabajo y las dinámicas de los equipos. A pesar que XP habla sobre las dinámicas de los equipos, en Scrum introduce más comportamientos y define mejor los roles. Una cosa interesante, es que Scrum no dice nada del software, ya que puede ser utilizado en proyectos que no tengan que ver con programación; por contrapartida, XP es muy específico al desarrollo de software.
Scrum no toma ningún elemento de XP, salvo la reunión diaria; como su foco está centrado en otro lugar, es más interesante a la hora de escalar los equipos. Cuando la empresa se hace aún mayor, es donde Lean empieza a hacerse notar. Lean se centra en reducir los desperdicios y eliminar el trabajo innecesario. Equipos Scrum, muchas veces utilizan Lean para mejorar la administración de su trabajo. Esto nos lleva a que en realidad, estas metodologías se pueden aplicar por capas en proyectos que lo necesiten.
XP comienza en las trincheras, Scrum está más al nivel del líder de proyecto y Lean va a un nivel más empresarial o gerencial. A pesar de esto, hay muchos momentos en que estas capas se solapan.