Archivo de la etiqueta: How-to

git

Moviendo algunos archivos de un repositorio Git a otro conservando la historia

Muchos proyectos comienzan como algo chico, dentro de un único repositorio Git, pero a medida que el tiempo avanza, y el proyecto se vuelve algo más complejo, es probable que surja la necesidad de separar una parte del proyecto a otro repositorio. Cuando esto sucede, algo que no queremos es perder toda la historia de esos archivos, o sea, queremos mover los archivos correspondientes a un subproyecto junto con toda su historia.

Objetivo

  • Mover el directorio 1 desde el repositorio A al repositorio B.

Restricciones

  • No queremos mover el resto de los directorios del repositorio A.
  • Queremos mantener el historial de cambios del directorio que moveremos al repositorio B.

Preparándonos para mover

Lo primero que haremos será clonar nuestro repositorio, ¡lo último que queremos es perder información valiosa por ejecutar un comando errado! Sigue leyendo

Anuncio publicitario

Asignando un nombre personalizado a instancias de Cloud Services

El nombre por defecto

Quienes revisen los logs de conexiones a la base de datos SQL o usan herramientas como New Relic para monitorear sus aplicaciones corriendo sobre Cloud Services seguramente habrán visto que la lista de servidores sobre los cuales está corriendo la aplicación tiene nombres como «RD000D3A107CFC» (este es el nombre del equipo dentro de la red) . Esto no nos ayuda mucho a identificar cuál de las instancias es la que realizó la conexión o tiene problemas, ya que en el listado de instancias que vemos en el Portal de administración, las instancias tienen el nombre del rol más un número de orden (ej.: CloudService.Web_IN_1). Sigue leyendo

Accediendo a Redis caché desde .NET

Introducción

Al ser un servicio de Microsoft Azure, el servicio de caché en Redis es accesible desde una API REST, pero, ¿para qué tomarnos el trabajo de acceder de esta forma si tenemos disponibles librerías de alto nivel que nos ayudan en esta tarea?

La gente de Stack Exchange (si, los dueños de Stack Overflow) creó una librería, open source y altamente performante, para acceder a Redis (algo que ellos usan mucho para sus propios servicios), llamada StackExchange.Redis. En este post vamos a estar viendo cómo acceder a nuestro servicio de caché en Redis utilizando esta librería.

Para saber como crear el servicio de caché de Redis en Azure, pueden ver mi post de Introducción a Redis Cache. Sigue leyendo

Instalando New Relic en un Cloud Service

New Relic es una herramienta de analíticas de software, que nos provee de métricas del estado y uso de nuestras aplicaciones en tiempo real. Entre ellas, uso de CPU y memoria, cantidad y detalle de los errores, cantidad de transacciones, etc.

Para instalar el agente en una aplicación .NET basta con instalar el paquete de NuGet llamado «NewRelicWindowsAzure», el cual, usando la consola de NuGet (Tools -> NuGet Package Manager -> Package Manager Console) se instala con el siguiente comando:

Install-Package NewRelicWindowsAzure

Luego de bajarse el paquete, nos solicitará nuestro número de licencia y el nombre que queremos darle a nuestra aplicación, y con eso estaremos listos para publicar nuestro proyecto en la nube.

Existe un caso en el cual no se nos solicitará el número de licencia, y nuestro cloud service no quedará configurado: cuando tenemos nuestro proyecto de cloud service dentro de una carpeta de solución.

Para solucionar este problema tenemos dos opciones:

1) Realizar la configuración a mano en nuestros archivos de configuración del Cloud Service, y en los archivos de configuración de los proyectos de nuestros roles.

2) Desinstalar el paquete NuGet de New Relic, mover nuestro proyecto a la raíz de la solución, instalar nuevamente el paquete, ingresando el código de licencia y nombre de la aplicación, y volver a mover nuestro proyecto dentro de la carpeta en la que se encontraba.

Espero que les sirva!

@gjbellmann

Como publicar una aplicación Windows Phone que no soporte dispositivos de baja memoria

Hay casos en los cuales, lamentablemente, el límite de memoria que una app Windows Phone puede usar no es suficiente para poder ejecutarla, por ejemplo, en aplicaciones que hacen uso de mapas, muestren muchas imágenes o tengan largas listas de datos.

El límite depende de la versión del Sistema Operativo:

  • Para Windows Phone 8 es de 150 MB.
  • Para Windows Phone 7 es de 90 MB.

Para avisarle al Store que nuestra app no soporta funcionar en dispositivos con baja memoria (256 MB en WP7 y 512 MB en WP8) debemos agregar, en el manifiesto de la app (WMAppManifest.xml) lo siguiente (abriéndolo con el editor XML):

  1. Una sección Requirements:
    Para WP8, debe ir justo después de la sección ScreenResolutions.
    Para WP7, debe ir justo después de la sección Capabilities.
  2. Un elemento Requirement dentro de la sección Requirements:
    Para WP8, un atributo Name con valor ID_REQ_MEMORY_300.
    Para WP7, un atributo Name con valor ID_REQ_MEMORY_90.

Ejemplo (WP8):

<Requirements>
      <Requirement Name="ID_REQ_MEMORY_300" />
</Requirements>

Si se cuenta con una app para WP7.1 y se quiere dejar de soportar también los dispositivos WP8 de baja memoria (512 MB), se debe usar ID_REQ_MEMORY_300, el cual elimina el soporte para los dispositivos WP7 y WP8. Si se especifican ID_REQ_MEMORY_90 Y ID_REQ_MEMORY_300, el requerimiento ID_REQ_MEMORY_90 es ignorado.

Saludos!

@gjbellmann

How-To: Obtener el Nombre y Id de Proceso de nuestros AppPools

¿Alguna vez les pasó de tener varias aplicaciones web en un servidor IIS, cada una con su AppPool, y ven que uno de esos procesos esté consumiendo muchos recursos en el Administrador de Tareas, pero no saben quién es quien?
Ejecutar esta pequeña línea de código en el intérprete de comandos de Windows les va a servir para saber el Id de proceso de cada uno de sus AppPools:

c:\>%windir%\system32\inetsrv\appcmd list wp

Saludos!
@gjbellmann

Reactivando 2 finger tap en una Lenovo Yoga con Windows 8.1

Al instalar Windows 8.1 en mi Lenovo Yoga 13, dejé de tener la opción de hacer click derecho tocando el touchpad con dos dedos (sólo tocando, sin tener que hacer un click). La opción incluso había desaparecido del menú del driver en el Panel de Control, por lo que tuve que buscar una opción de más bajo nivel.
Buscando por la web, especialmente en la página oficial de Lenovo, me encontré con este post que me dio una gran ayuda: http://lnv.gy/16A1kjV.
Los pasos que seguí para poder reactivar esta muy útil funcionalidad fueron los siguientes:
1) Instalé el driver original que vino con la PC.
2) Ejecuté el editor del registro de Windows (Win + R, luego «regedit»).
3) Hice una búsqueda de «2FingerTapAction».
4) Cambié su valor de «0» a «2».
5) Cambié el valor de la Key «2FingerClickAction» de «2» a «0».
6) Cerré el editor del registro y reinicié el equipo.

Espero que les sirva!

@gjbellmann

Recomendaciones para publicar aplicaciones en el Windows Store (y no perder tiempo recertificando)

Después de haber publicado 3 aplicaciones, y tener otras 2 en proceso de certificación, me parece que es bueno compartir un poco de la experiencia del proceso de certificación de una aplicación en el Windows Store.

Esto no es un proceso para nada sencillo, y, según mi experiencia, el proceso completo demora entre 5 y 7 días. Por lo que es importante tener en cuenta estos simples puntos así no estamos esperando todo ese tiempo para hacer una recertificación 😉

  1. Antes de subir nuestro paquete debemos correr el Kit de Certificación, y corregir los errores que nos marque.
  2. La categoría y subcategoría (en el detalle de venta) deben ser acordes al contenido de nuestra aplicación.
  3. La descripción debe ser detallada y en el idioma que declaramos en el paquete.
  4. Debemos cargar siempre una página de política de privacidad.

Espero que les sirvan los tips y si tienen alguno agréguenlo en los comentarios.

Happy coding!

@gjbellmann

P.D.: les dejo los links a las aplicaciones por si quieren probarlas:

Noticias MSPs Argentina: http://apps.microsoft.com/webpdp/app/noticias-msps-argentina/57a69155-603a-43a8-b1e7-07685311dff6

F1 World News Reader: http://apps.microsoft.com/webpdp/app/f1-world-news-reader/a92795f2-379e-47af-8191-969dc3c13b8e

Imagine Cup News Reader: http://apps.microsoft.com/webpdp/app/imagine-cup-news-reader/ab3368bd-0fcc-4ce6-bca9-fcab6f4fbb77

Atajos de teclado en Windows 8

En el caso que tengan instalado Windows 8 y no tengan un dispositivo touch (como yo), les paso una lista de los atajos de teclado para que puedan acceder a varias de las funciones.

Los atajos se activan utilizando la tecla de Windows junto con la tecla mencionada en el listado:

B – Mover el foco a la bandeja de notificaciones
C – Mostrar el menú de «Charms»
D – Mostrar el escritorio
E – Lanzar el Explorador de Windows
F – Mostrar el buscador Metro
G – Rotar entre Gadgets del escritorio
H – Mostrar el panel de «Share» metro
I – Mostrar el panel de configuración metro
J – Cambia el foco entre aplicaciones metro en modo «snap»
K – Mostrar el panel de dispositivos
L – Bloquear el equipo
M – Minimizar todas las ventanas en el escritorio
O – Bloquear la orientación del dispositivo
P – Elejir entre las pantallas disponibles (Proyector)
Q – Mostrar la pantalla de búsqueda metro
R – Mostrar el diálogo Ejecutar
T – Rotar entre los íconos de la barra de tareas
U – Mostrar el panel de accesibilidad
V – Rotar entre las notificaciones «toast»
W – Mostrar el panel metro de búsqueda de configuración
X – Mostrar los comandos de «Power user» o el Centro de movilidad
Z – Mostrar el «App Bar»
1 to 9 – Mostrar/Lanzar aplicación de la barra de tareas
Av Pág/Re Pág – Mover los «tiles» a la izquierda/derecha
Tab – Cambiar entre aplicaciones
, (coma) – Aero Peek (en modo desktop)
. (punto) – Hacer Snap de una aplicación Metro en el lado derecho de la pantalla
Shift . (punto) – Hacer Snap de una aplicación Metro en el lado izquierdo de la pantalla
Espacio – Cambiar el lenguaje de entrada y distribución de teclado
Enter – Lanzar Narrator
Flechas – Aero Snap (en modo desktop)

Saludos!