[VISUAL STUDIO] Agregar como vinculo

Una característica de los proyectos de Visual Studio .NET es que, por defecto, la relación entre el proyecto y sus elementos (.cs, .xaml,.vb, etc…) es de 1 a 1. Esto hace que al intentar compartir un mismo fichero de código entre 2 o más proyectos, Visual Studio hace una copia local, lo cual no es bueno si lo que queremos tener un solo archivo de código y compartirlo entre varios proyectos con el objetivo de mejorar la re-utilización.

Continue reading…

[Optimización .NET] Class VS Struct

En .NET podemos crear entidades usando “class” o “struct”, pero por norma general se suele usar “class”. Hay que tener en cuenta que la creación/destrucción de elementos tipo “struct” es más rápida que “class”. Algunas diferencias entre ambos son:

– Las clases permiten en uso de herencia mientras que las estructuras no

– Las clases son tipos por referencia (almacenan los datos en el Heap) mientras que las estructuras son tipos por valor (almacenan los datos en el Stack). Aquí radica el motivo de la diferencia de rendimiento.

– En almacenamiento de datos en el Stack (struct) esta pensado para estructuras de datos pequeñas o simples. Además, la cantidad de memoria disponible es más limitada

– En almacenamiento de datos en el Heap (class) permite objetos mucho más complejos.

Continue reading…

[LinkedIn Portable SDK NET 4.5] Parte 7: Obtener token acceso (OAuth2.0)

Siguiendo con el flujo OAuth 2.0, en esta ocasión vamos a solicitar el token de acceso, para lo cual necesitaremos el código de autorización obtenido en la entrega anterior. Si guardamos este token a salvo, la próxima vez que nos conectemos a la plataforma LinkedIn, ya no sera necesario volver a realizar el proceso OAuth2. También hay que tener en cuenta  que este token tiene una expiración de 60 días.

Continue reading…

[LinkedIn Portable SDK NET 4.5] Parte 6: Obtener código autorización (OAuth2.0)

En las entregas anteriores hemos usado el protocolo OAuth 1.0a para realizar el proceso de autorización+autentificación, pero la plataforma LinkedIn es compatible con OAuth 2.0, siendo este un sistema mas simple y fácil de implementar. Por poner un ejemplo, en OAuth 2.0 no hay que generar una firma usando HMACSHA1 :).

El flujo OAuth 2.0, comienza obteniendo el Api Key/Customer Key y el Secret Key, después solicitamos el “authorization code“, el cual será para obtener el token de acceso.

El aspecto del proyecto de ejemplo para WPF es:

linkedin_parte6_demo_wpf

Continue reading…

[LinkedIn Portable SDK NET 4.5] Parte 5: Actualizar estado (OAuth1.0)

En esta ocasión vamos a actualizar el estado de nuestra cuenta linkedin. El proceso consiste en hacer una petición POST a la url

https://api.linkedin.com/v1/people/~/current-status

la cual debe incluir:

1. Cabecera HTTP “Authorization” con los valores ya explicados en la entrega anterior.

Recuerda que la creación de esta cabecera HTTP, se realiza en un handler (LinkedInOAuthMessageHandler) que hemos creado para que automáticamente envié esta cabecera en todas las peticiones.

2. Una cadena xml con el formato

<?xml version="1.0" encoding="UTF-8"?><current-status>NUEVO_ESTADO</current-status>

Continue reading…

[Optimización NET] List VS Array

En muchos casos solemos usar List para almacenar un conjunto de resultados del mismo tipo, pero hay que tener en cuenta que si las circunstancias lo permiten, es mucho más optimo usar un array. Ya sabemos que con esta premisa no podemos generalizar, ya que por ejemplo si el número de elementos es variable, el array no es la  estructura de datos más adecuada. Para demostrarlo, vamos a ver un pequeño fragmento de código de una aplicación de consola, la cual realiza las siguientes comprobaciones:

1. Crea una lista y le añade X elementos tipo int

2. Recorre la lista con un bucle for

3. Crea un array y le asigna X elementos tipo int

4. Recorre el array con un bucle for,

Continue reading…

[LinkedIn Portable SDK NET 4.5] Parte 4: Datos Perfil (OAuth1.0)

El acceso a datos del perfil (modo autentificado) se puede conseguir por dos vías:

1. Realizar el proceso OAuth descrito en las 2 entregas anteriores, tras el cual obtendremos el Token de Acceso y el Token Secret. Este proceso lo podemos usar para que nuestra aplicación cliente (desktop, W8 o WP8) interactue con la cuenta linkedin de cualquier usuario que autorice a nueatra App LinkedIn (creada en la paso 1)

2. Utilizar directamente los valores de Token Acceso y Token Secret. Estos valores los podemos tomar de la ficha de la aplicación LinkedIn.

Continue reading…