6-julio-2013
admin

Usar SQL en Entity Framework

Hay distintas posibilidades, a continuación se expondrán algunas de ellas:

1 – Se puede utilizar el método ExecuteStoreQuery para lanzar queries contra el origen de datos:

using (SchoolEntities context = new SchoolEntities())
{
    // Use the parameter substitution pattern.
    foreach (string name in context.ExecuteStoreQuery< string >
        ("Select Name from Department where DepartmentID < {0}", 5)) {
        Console.WriteLine(name);
    }

    // Use parameter syntax with object values.
    foreach (string name in context.ExecuteStoreQuery< string >
        ("Select Name from Department where DepartmentID < @p0", 5)) {
        Console.WriteLine(name);
    }
    // Use an explicit SqlParameter.
    foreach (string name in context.ExecuteStoreQuery< string >
        ("Select Name from Department where DepartmentID < @p0",
            new SqlParameter { ParameterName = "p0", Value = 5 })) {
        Console.WriteLine(name);
    }
}

2 - Otra forma sería usar el método translate para convertir un DbDataReader en (siguiente el ejemplo anterior) objetos del tipo Department.

3 - También tenemos el método ExecuteStoreCommand, que permite ejecutar comandos directamente contra el origen de datos: insert, update,...

4 - Otra posibilidad que nos permite Entity Framework consiste en crear una EntityConnection para usar un EntityCommand

NorthwindEntities context = new NorthwindEntities();
EntityConnection conn = new EntityConnection(context.Connection.ConnectionString);
conn.Open();
var sql = "SELECT VALUE emp FROM NorthwindEntities.Employees AS emp";
EntityCommand cmd = new EntityCommand(sql, conn);
DbDataReader reader = cmd.ExecuteReader(CommandBehavior.SequentialAccess);
while (reader.Read()) {
  Console.WriteLine("{0} {1} {2} {3}", reader["EmployeeID"], reader["LastName"],
    reader["FirstName"], reader["Country"]);
}

Fuentes:
Cómo: Ejecutar directamente comandos contra el origen de datos en .Net Framework 4

Cómo ejecutar una consulta de Entity SQL parametrizada con EntityCommand

23-junio-2013
admin

LINQ to Objects

Gracias a «LINQ to Objects» podemos hacer consultas LINQ directamente sobre cualquier colección IEnumerable o IEnumerable sin utilizar ninguna API o proveedor LINQ intermedio, como LINQ to SQL o LINQ to XML. Más Info

Un ejemplo de uso podría ser el que muestro a continuación:

  IEnumerable< Persona > persona = from p in personas.AsEnumerable()
                     where p.Name.StartsWith("S")
                     orderby p.Name
                     select p; 

Se realiza una consulta sobre una lista de personas que me devuelve todas aquellas personas cuyo nombre comienza por la letra S. Además, realiza una ordenación por nombre.
Persona: sería una clase con p.e. las propiedades Name, Apellidos, Edad.
List: podría ser la lista personas sobre la que hacemos la consulta.

Además, si se quiere se podría hacer algo mas amigable la consulta. Para por ejemplo no tener que escribir consultas muy grandes.

  Func< Persona, bool > func = delegate(Persona person){
         return person.Name.StartsWith("S");
  }
  IEnumerable< Persona > persona = (from p in personas.AsEnumerable() select p)
         .Where(func)
         .OrderBy< Persona, string >(per => per.Name); 

Aquí se realiza exactamente lo mismo que antes, con la diferencia de que he creado una función para evaluar las condiciones del Where (está función debe tener como mínimo un objeto de entrada y debe devolver bool).

En el ejemplo he utilizado un Where sobre una IEnumerable pero también se podría hacer lo mismo para IQueryable, usando Exressions en este caso.

public static IQueryable< TSource > Where< TSource >(
    this IQueryable< TSource > source,
    Expression< Func < TSource, bool > > predicate
)

public static IEnumerable< TSource > Where< TSource >(
    this IEnumerable< TSource > source,
    Func< TSource, bool > predicate
)

17-junio-2013
admin

Lista de plugins para utilizar en el firefox

1. – Video DownloadHelper
La manera fácil de descargar y convertir vídeos de cientes de sitios similares a YouTube.
También funciona para audio y galerías de imágenes.

2. – Firebug
SFirebug se integra con Firefox para poner una gran cantidad de herramientas de desarrollo a su alcance mientras navegas. Usted puede editar, depurar y monitorear CSS, HTML y JavaScript en vivo en cualquier página web …

3. – Greasemonkey
Este plugin te permite Personalizar la forma en que una página web muestra o se comporta, mediante el uso de pequeños fragmentos de JavaScript.

4. – CacheViewer Continued
Se trata de un plugin para Firefox que permite interactuar con la caché del navegador de forma sencilla. Con CacheViewer Continued puede previsualizar las imágenes, ver los detalles de las entradas de caché, guardar los archivos de la memoria caché en otro lugar, y eliminar los archivos de la caché.

5. – FoxyProxy Standard
FoxyProxy es una extensión Firefox que cambia entre uno o más proxies automáticamente, en base a patrones de la URL. Dicho de otra manera, FoxyProxy automatiza el proceso manual de modificar los parámetros de las Propiedades de Conexión de Firefox. El cambio de servidor proxy depende de la página a cargar y de las reglas de selección definidas por el usuario.

9-junio-2013
admin

Ampliar tamaño del disco duro en el vmware

Ir a las opciones del disco duro en el vmware, click en «utilities/expand» y añadir el nuevo tamaño deseado para el disco.

A continuación dependiendo de si es un disco de sistema o no hay que proceder de la siguiente manera:
1 – Disco del sistema.
1.1 – realizar una copia del disco p.e. «Windows XP Professional.vmdk».
1.2 – Agregar esa copia a otra máquina vmware. (agregar nuevo disco y seleccionarlo dando en usar uno existente)
1.3 – Arrancar esta otra máquina, ir a la consola de msdos y ejecutar:

		DISKPART
		list volume
		select volume X (X es el número del volumen a expandir)
		expand

1.4 – Apagar para, a continuación, poner este disco en lugar del original de la primera máquina.
1.5 – Si todo va bien arrancará windows y pedirá un reinicio.

2 – Disco que no es del sistema. (En este caso no hace falta utilizar una máquina secundaria.)
2.1 – Arrancar la máquina, ir a la consola de msdos y ejecutar:

		DISKPART
		list volume
		select volume X (X es el número del volumen a expandir)
		expand

9-junio-2013
admin

Editar archivos *.swf

Para realizar modificaciones en los archivos *.swf se puede realizar lo siguiente:

1 – En primer lugar nos instalamos la herramienta Sothink SWF Decompiler (Se puede descargar aquí).

2 – Con Sothink SWF debemos abrir los archivos swf que deseamos modificar y los exportamos con extensión *.Fla.

3 – Ahora necesitamos instalar la herramienta Adobe Flash CS3 (si no queremos instalarla hay por la red disponibles versiones portables aquí).

4 – Con Adobe Flash CS3 podemos abrir los archivos con extensión *.fla, para proceder a modificarlos y posteriormente exportarlos nuevamente como película (*.swf).

8-junio-2013
admin

Adobe Livecycle para Distribuir Formularios con Acrobat

Se pueden crear formularios utilizando la herramienta Adobe Livecycle Designer y distribuirlos a través de acrobat.com.

1 – Crear el formulario en la herramienta.

2 – Ir a archivo/distribuir formulario. Seleccionar recopilar las respuestas con acrobat.com.

3 – Rellenar datos del destinatario.

4 – El formulario llegará en formato pdf al destinatario. Podrá abrirlo con el adobe reader y rellenar los distintos campos.

5 – Una vez rellenado procederá a enviarlo. Para ello tienen un botón de enviar en la parte superior derecha del pdf.

Video Explicativo

25-mayo-2013
admin

7 pasos para convertir una Fotografía en un Dibujo. Utilizando Photoshop

Paso 1. Duplicar capa.

Paso 2. Seleccionar esta nueva capa y ejecutar Control + I (también valdría hacer click en: imagen > ajustes > invertir).

Paso 3. Sobreexponer color a la capa.

Paso 4. Desenfocarla utilizando un filtro: filtro > desenfocar > desenfoque gaussiano (basta con poner un radio de 4 pixeles).

Paso 5. Click sobre el icono de «crear nueva capa de relleno y ajuste» y seleccionar Blanco/Negro.

Paso 6. Click sobre el icono de «crear nueva capa de relleno y ajuste» y seleccionar Tonos/Saturación (Bajar la saturación al mínimo).

Paso 7. Por último, click sobre el icono de «crear nueva capa de relleno y ajuste» y seleccionar Niveles (dejarla al gusto).

27-abril-2013
admin

Carácteres Unicode

Code Result Description
C1 Controls
U+0080 PAD – Padding Character
U+0081 HOP – High Octet Preset
U+0082 BPH – Break Permitted Here
U+0083 NBH – No Break Here
U+0084 IND – Index
U+0085 NEL – Next Line
U+0086 SSA – Start of Selected Area
U+0087 ESA – End of Selected Area
U+0088 HTS – Character (Horizontal) Tabulation Set
U+0089 HTJ – Character (Horizontal) Tabulation with Justification
U+008A LTS – Line (Vertical) Tabulation Set
U+008B PLD – Partial Line Forward (Down)
U+008C PLU – Partial Line Backward (Up)
U+008D RI – Reverse Line Feed (Index)
U+008E SS2 – Single-Shift Two
U+008F SS3 – Single-Shift Three
U+0090 DCS – Device Control String
U+0091 PU1 – Private Use 1
U+0092 PU2 – Private Use 2
U+0093 STS – Set Transmit State
U+0094 CCH – Cancel character
U+0095 MW – Message Waiting
U+0096 SPA – Start of Protected Area
U+0097 EPA – End of Protected Area
U+0098 SOS – Start of String
U+0099 SGCI – Single Graphic Character Introducer
U+009A SCI – Single Character Introducer
U+009B CSI – Control Sequence Introducer
U+009C ST – String Terminator
U+009D OSC – Operating System Command
U+009E PM – Private Message
U+009F APC – Application Program Command
Latin-1 Punctuation and Symbols
U+00A0   Non-breaking space
U+00A1 ¡ Inverted Exclamation Mark
U+00A2 ¢ Cent sign
U+00A3 £ Pound sign
U+00A4 ¤ Currency sign
U+00A5 ¥ Yen sign
U+00A6 ¦ Broken bar
U+00A7 § Section sign
U+00A8 ¨ Diaeresis
U+00A9 © Copyright sign
U+00AA ª Feminine Ordinal Indicator
U+00AB « Left-pointing double angle quotation mark
U+00AC ¬ Not sign
U+00AD Soft hyphen
U+00AE ­® Registered sign
U+00AF ¯ Macron
U+00B0 ° Degree symbol
U+00B1 ± Plus-minus sign
U+00B2 ² Superscript two
U+00B3 ³ Superscript three
U+00B4 ´ Acute accent
U+00B5 µ Micro sign
U+00B6 Pilcrow sign
U+00B7 · Middle dot
U+00B8 ¸ Cedilla
U+00B9 ¹ Superscript one
U+00BA º Masculine ordinal indicator
U+00BB » Right-pointing double-angle quotation mark
U+00BC ¼ Vulgar fraction one quarter
U+00BD ½ Vulgar fraction one half
U+00BE ¾ Vulgar fraction three quarters
U+00BF ¿ Inverted Question Mark
Letters
U+00C0 À Latin Capital Letter A with grave
U+00C1 Á Latin Capital letter A with acute
U+00C2 Â Latin Capital letter A with circumflex
U+00C3 Ã Latin Capital letter A with tilde
U+00C4 Ä Latin Capital letter A with diaeresis
U+00C5 Å Latin Capital letter A with ring above
U+00C6 Æ Latin Capital letter AE
U+00C7 Ç Latin Capital letter C with cedilla
U+00C8 È Latin Capital letter E with grave
U+00C9 É Latin Capital letter E with acute
U+00CA Ê Latin Capital letter E with circumflex
U+00CB Ë Latin Capital letter E with diaeresis
U+00CC Ì Latin Capital letter I with grave
U+00CD Í Latin Capital letter I with acute
U+00CE Î Latin Capital letter I with circumflex
U+00CF Ï Latin Capital letter I with diaeresis
U+00D0 Ð Latin Capital letter Eth
U+00D1 Ñ Latin Capital letter N with tilde
U+00D2 Ò Latin Capital letter O with grave
U+00D3 Ó Latin Capital letter O with acute
U+00D4 Ô Latin Capital letter O with circumflex
U+00D5 Õ Latin Capital letter O with tilde
U+00D6 Ö Latin Capital letter O with diaeresis
Mathematical Operator
U+00D7 × Multiplication sign
Letters
U+00D8 Ø Latin Capital letter O with stroke
U+00D9 Ù Latin Capital letter U with grave
U+00DA Ú Latin Capital letter U with acute
U+00DB Û Latin Capital Letter U with circumflex
U+00DC Ü Latin Capital Letter U with diaeresis
U+00DD Ý Latin Capital Letter Y with acute
U+00DE Þ Latin Capital Letter Thorn
U+00DF ß Latin Small Letter sharp S
U+00E0 à Latin Small Letter A with grave
U+00E1 á Latin Small Letter A with acute
U+00E2 â Latin Small Letter A with circumflex
U+00E3 ã Latin Small Letter A with tilde
U+00E4 ä Latin Small Letter A with diaeresis
U+00E5 å Latin Small Letter A with ring above
U+00E6 æ Latin Small Letter AE
U+00E7 ç Latin Small Letter C with cedilla
U+00E8 è Latin Small Letter E with grave
U+00E9 é Latin Small Letter E with acute
U+00EA ê Latin Small Letter E with circumflex
U+00EB ë Latin Small Letter E with diaeresis
U+00EC ì Latin Small Letter I with grave
U+00ED í Latin Small Letter I with acute
U+00EE î Latin Small Letter I with circumflex
U+00EF ï Latin Small Letter I with diaeresis
U+00F0 ð Latin Small Letter Eth
U+00F1 ñ Latin Small Letter N with tilde
U+00F2 ò Latin Small Letter O with grave
U+00F3 ó Latin Small Letter O with acute
U+00F4 ô Latin Small Letter O with circumflex
U+00F5 õ Latin Small Letter O with tilde
U+00F6 ö Latin Small Letter O with diaeresis
Mathematical Operator
U+00F7 ÷ Division sign
Letters
U+00F8 ø Latin Small Letter O with stroke
U+00F9 ù Latin Small Letter U with grave
U+00FA ú Latin Small Letter U with acute
U+00FB û Latin Small Letter U with circumflex
U+00FC ü Latin Small Letter U with diaeresis
U+00FD ý Latin Small Letter Y with acute
U+00FE þ Latin Small Letter Thorn
U+00FF ÿ Latin Small Letter Y with diaeresis
25-abril-2013
admin

Incrementar días a una fecha con javascript

Código que muestra una función que devuelve la fecha actual aumentada o disminuida en días dependiendo de los días recibidos como parámetro.

/**
 * Funcion que devuelve fecha actual y fecha modificada n dias
 * Tiene que recibir el numero de dias en positivo o negativo para  
 * sumar o restar a la fecha actual.
 * Ejemplo:
 *  mostrarFecha(-10) => restara 10 dias a la fecha actual
 *  mostrarFecha(30) => añadira 30 dias a la fecha actual
 */
function mostrarFecha(days){
    fecha=new Date();
    day=fecha.getDate();
    month=fecha.getMonth()+1;
    year=fecha.getFullYear();

    document.write("Fecha actual: "+day+"/"+month+"/"+year);
    

    tiempo=fecha.getTime();
    milisegundos=parseInt(days*24*60*60*1000);
    total=fecha.setTime(tiempo+milisegundos);
    day=fecha.getDate();
    month=fecha.getMonth()+1;
    year=fecha.getFullYear();

    document.write("Fecha modificada: "+day+"/"+month+"/"+year);
}


Fuente

25-abril-2013
admin

JSBin, JSBeautifier y JSFiddle

JSBin es un servicio online que nos permite introducir código HTML, CSS y JavaScript y verificar su funcionamiento. Está pensado para que los desarrolladores puedan trabajar de manera colaborativa.

En http://jsbin.com podemos editar sin dificultades, incluir alguna de las librerías más comunes e incluso, guardar la URL del proyecto y hacerla pública. (Más info.)

JSBeautifier, te organiza y modifica estéticamente tu código Javascript, de modo que este sea más placentero a la vista y siga estándares de formatos de programación.

jsbeautifier.org

JSFiddle, potente herramienta para Javascript y frameworks como JQuery y Prototype.js
Al igual que as anteriores se trata de una herramienta 100% web. Lo que JSFiddle te ofrece es un ambiente de varias ventanas dentro de tu navegador web, en donde en una de ellas puedes escribir HTML, y en otra sentencias de Javascript (como por ejemplo, selectores de JQuery), y después en otra ventana ves el resultado.

Con JSFiddle eliges la versión de la librería que deseas, copias un pedazo de HTML (o utilizas el que te ofrecen por defecto), lo modificas, y escribes tu Javascript para ver si hace lo que esperas que hagas, y listo. Varios minutos se reducen a segundos.

JSFiddle

Categorias

Linkedin