El Blog de Pedro Hurtado
Yo por un byte si lucho:)
Avanzamos de Sql Inyection a SSJS(server Side javascript-inyection)
Published 21/11/2012 16:26 |
Pedro Hurtado
De esos días que a uno le quedan ganas de pasarse por el foro de c# veo esta pregunta y sus respectivas respuestas y ante eso reacciono e intenta evitar situaciones comprometidas. Resultado como se puede ver ni *** caso:). Vamos a ver si lo convencemos. http://social.msdn.microsoft.com/Forums/es-ES/vcses/thread/55061187-d5ca-4d01-b5f6-6b6c9bd7ab86 Pero para ello, no lo voy a hacer con Sql Server, Oracle, My Sql,etc. Lo vamos a hacer con Mongo y pronto podréis observar como bien...
Node debug. De la desilusión al conformismo
Published 15/11/2012 16:38 |
Pedro Hurtado
Últimamente se han puesto de moda una serie de tendencias que no se donde nos van a conducir, pero porque no probar. La verdad que me inspiraron estos post que me encontré del amigo Juanma ( @gulnor ). http://blog.koalite.com/2011/12/mas-sobre-el-tutorial-node-js-express-jquery/ Así como ver esto en el build 2012 . Para ello no me plantee grandes cosas sino algo muy concreto quiero depurar el ejemplo que hay en la página de Node el típico “hello world”...
Los 4 Jinetes del Apocalipsis
Published 30/10/2012 9:10 |
Pedro Hurtado
No os preocupéis, que aunque me estoy pasando al lado oscuro aún no he perdido la cabeza, no quiero hablar de “caballo blanco”,”caballo rojo”,”caballo negro” y “caballo bayo”. En esta ocasión voy a hablar de otros 4 jinetes que pueden hacer de nuestro código una apocalipsis. Me refiero concretamente a estos 4 “this” , ”call” , ”apply” y “bind” de quien? De quien va a ser, de mis últimas andadas por “Javascript”. Bueno vamos al grano:). this: Sobre este hay ríos de tinta, pero voy a intentar explicarlo...
Soy asincrono despues de 0 milisegundos
Published 18/10/2012 16:47 |
Pedro Hurtado
Posiblemente alguno puede seguir pensando que escribir un Promise es hacer su código Javascript asíncrono. Bueno pues si piensas eso ya te digo yo que no. Promise no es más que un mecanismo para hacer nuestro código más legible y de esa forma evitar los tediosos callback que hasta el momento hemos utilizado. Bueno como siempre vamos a empezar con un ejemplo para demostrar que Promise no es asíncrono. function promise() { return new WinJS.Promise( function (complete, error, progress) { try ...
Ocultar o esconder no es prohibir
Published 9/10/2012 17:21 |
Pedro Hurtado
Si me pongo a pensar y me traslado al pasado, siempre hable mal de Javascript. Últimamente he cambiado mi actitud pero con peros, es decir es un lenguaje que tiene que mejorar y no poco:). Revisando WinJS, de esa forma que me gusta a mí. No haciendo el típico ejemplo “Hola Mundo”, sino adentrándome en las profundidades de “base.js” me encuentro con lo siguiente: function initializeProperties(target, members) { var keys = Object.keys(members); var...
Desmitificando CodeFirst(2/2) V 4.3
Published 29/6/2012 15:18 |
Pedro Hurtado
En el anterior post Desmitificando CodeFirst(1/2) , me he centrado en la versión 4.2 de Entity Framework y el objetivo de este no es otro que analizar la versión 4.3 y ver realmente que hay en la tabla “dbo.__MigrationHistory”. Siguiente con el modelo anterior lo primero que tenemos que hacer es activar Migration, pero como no es el objetivo de este post os paso un link para quien no lo conozca y quiera profundizar. EF 4.3 Automatic Migrations Walkthrough . El objetivo claro es demostrar dos cosas...
Desmitificando CodeFirst(1/2)
Published 29/6/2012 13:11 |
Pedro Hurtado
El día 22 tuve la suerte con @MiguelEgea , de dar una charla en Málaga .NET User Group y una de las cosas que afirme es que la tabla del sistema que se genera con la versión 4.3 “dbo.__MigrationHistory” en su columna “Model” no guarda un Hash sino que realmente es una copia del modelo, es decir un emdx comprimido. Inmediatamente @pablonete me pone cara de incrédulo y que mejor que demostrarle eso con un post:). Independientemente de demostrar esto...
El respositorio genérico.Un Derrochador en épocas de crisis.
Published 7/6/2012 11:56 |
Pedro Hurtado
Durante muchos días,semanas,meses e incluso años he visto la siguiente definición de un repositorio. 1. Interface IRepository. 1: public interface IRepository<T> where T: class 2: { 3: T Get( int Id); 4: T Insert(T Entity); 5: void Update(T Entity); 6: void Delete(T Entity); 7: IEnumerable<T> GetAll(); 8: 9: IUnitOfWork UnifOfWork { get;} 10: } 2. Interface IUnitOfWork 1: public interface IUnitOfWork 2: { 3: void Commit(); 4: void RollBack(); 5: } 3. Interface IContext...
Var (II).Los hermanos de Simba
Published 17/5/2012 12:41 |
Pedro Hurtado
Este post viene como consecuencia de los comentarios del gran @eiximenis , en este otro var en c# si, o var no . Lo que ha hecho Eduard es elevar con la segunda respuesta la entrada al destino de los elegidos:). Referente al titulo “Los hermanos de Simba” es porque la fiera se va a comer al gatito. La primera de las respuestas, he de reconocer que estuve pensando en escribirla en el primero de los post, pero eso de la vida que te hace perezoso y en un momento decides cortar. Eduard nos...
var en c# si, o var no
Published 16/5/2012 17:55 |
Pedro Hurtado
Este es de esos post donde uno piensa exactamente igual que cuando deshoja una margarita. Me quiere no me quiere . Mi opinión antes de seguir es que la quiero:). Todo esto surge a raíz de una conversación en twitter que podéis seguir aquí y que lógicamente expuso diferentes opiniones que al final es en lo que consiste, Yo opino, tu opinas. ¿Quien tiene la razón? todos:). Un poco de puesta en escena https://twitter.com/#!/_PedroHurtado/status...
El scroll infinito.
Published 8/5/2012 21:54 |
Pedro Hurtado
Hola, os acordáis de Pepe, si hombre el usuario que nos ayudo a crear el patrón “Engañabobos”. Seguro que a alguno y es normal le puede sonar a risa, por eso lo lógico, es que leáis antes este post . Después de pensar que todo estaba solucionado, suena el teléfono y como no, es otra vez “Pepe”. Su frasecita “esto sigue igual de lento”. Nos ponemos a trabajar,pensamos en voz alta y decimos : 1. Si estamos paginando. 2. Hemos hecho un análisis de las consultas y todas van bien. Que puede pasar...
Con esto cerramos los proxis dinámicos de EF
Published 4/5/2012 1:26 |
Pedro Hurtado
En mi anterior post y con bastante ánimo de critica intente explicar mi desacuerdo con ciertas cosas que pasan sin nuestro control. En este lo que intento es que todos conozcáis que es lo que pasa con algunas recomendaciones “Si trabajas con EF declara tus propiedades como virtual que es mejor” . Mejor ¿Por qué?. Vamos a verlo:). Si pensamos detenidamente cuando yo declaro algo con el modificador de acceso virtual es porque lo dejo preparado para que otra persona...
Lazy Load. El bueno de Martin ya lo advirtio.
Published 1/5/2012 0:59 |
Pedro Hurtado
Para que vayáis tomando el aperitivo de lo que viene os recomiendo primero esta lectura Lazy Load “segundo parrafo” y no esta Lazy loading . Bueno es un patrón o bien un antipatrón, para mi sencillo un antipatrón y mira que he tenido discusiones con grandes amigos al respecto, pero claro siguiendo mi línea quiero demostrar porque es un antipatrón. Hace años y no pocos un grupo de amigos con más de una cerveza en la mano creamos un patrón para trabajar con bb.dd, aquel día no se nos ocurrió otra cosa...
Buscando al culpable
Published 25/4/2012 15:24 |
Pedro Hurtado
Os pongo en antecedentes Sql Azure no soporta transacciones distribuidas y para confirmarlo podéis leer esta entrada TransactionScope() in Sql Azure , o por lo menos con ese mismo escenario es con el que yo me he encontrado. La aplicación está desarrollada utilizando los siguientes componentes. Aplicación desarrollada en MVC3 Entity Framework 4.2 Sql Azure Una de las reglas de negocio de esta aplicación es que a la entidad cliente se le debe de asociar un usuario, pues bueno que fue lo que hice,...
Entity Framework y los indices únicos.
Published 4/4/2012 0:22 |
Pedro Hurtado
Ya me imaginaba yo que después de ver con Profiler las sentencias que genera con algún que otro problema nos íbamos a encontrar. Vamos a plantearnos el siguiente problema, tenemos una entidad países con las siguientes propiedades. 1: public class Pais 2: { 3: public int Id { get; set; } 4: public string Nombre { get; set; } 5: public string Codigo { get; set; } 6: } Utilizando EF 4.3 y Migrations vamos a generar la tabla en la bb.dd y uno de los requerimientos es que “Codigo” sea único, si...
Null. La Historia interminable 2/3
Published 3/4/2012 14:08 |
Pedro Hurtado
Si recordamos el anterior Post , una de las frase que comente fue que desde el 2005 yo estaba libre de null y claro no hay que decirlo sino realmente demostrarlo y es por eso el motivo de esta entrada. Lo primero que vamos a hacer es definir una interface que herede de IDataRecord y en ella definir unos métodos que nos permitan leer Nullables. 1: public interface IDataRecordNullable : IDataRecord 2: { 3: bool ? GetNullBoolean( int i); 4: byte ? GetNullByte( int i); 5: char ? GetNullChar( int i);...
Null.La historia interminable(1/3)
Published 27/3/2012 16:07 |
Pedro Hurtado
Esta mañana y después de ver esta entrada en el foro de c# Obtener los registros de una tabla como objetos y guardarlos en una lista y más concretamente estas líneas de código. 1: object fechaNacim = reader[ "FechaNacim" ]; 2: FechaNacimiento = fechaNacim == DBNull.Value ? null : (DateTime)fechaNacim; Me han llegado a la cabeza recuerdos del pasado, mucho antes de la existencia de .Net. Os acordáis de ese error típico de las aplicaciones vb “error 91 object variable or with...
Utilizando razor para generar un csv
Published 22/3/2012 15:42 |
Pedro Hurtado
En muchos de nuestros desarrollos nos solicitan la funcionalidad de exportar nuestros datos a diferentes formatos y hoy me ha tocado exportar a csv. Lo lógico, es que lo hubiese hecho de la forma tradicional simple y sencillo defino un StringWriter y un foreach hasta que acabe,pero los años me están haciendo despertar la imaginación,con lo cual he pensado en hacerlo de otra forma . ¿Cómo?.Voy a utilizar una vista que se encargue de generar el csv. Manos a...
Mis Agradecimientos
Published 15/3/2012 22:52 |
Pedro Hurtado
Hola , lo normal en estos casos es presentarse con esas cosas bonitas que a todos nos dejan estupendamente frente a los demás,pero a parte de eso, que no dudéis, que lo voy a hacer intentaré con esta presentación escribir algo que empiece a ser útil. Bueno mis agradecimientos. Jo a quien, pues primero al que te autoriza a escribir en este magnifico sitio Rodrigro Corral , Muchísimas gracias Rodrigo. Lluis Franco , me es imposible poner todos tus links porque...
Search
Ir
Mi blog
Inicio
Contacto
Tags
ADO.NET
Arquitectura
c#
csharp
EF
Entity Framework
Javascript
Javascript,WinJS
Jquery
Knockout
MVC
node
Razor
Sql Azure
WinJS
Blogs Amigos
Luis Franco
Nicolas Herrera
Rodrigo Corral
Archivo
November 2012 (2)
October 2012 (3)
June 2012 (3)
May 2012 (5)
April 2012 (3)
March 2012 (3)
Comunidades
Syndication
RSS
ATOM
RSS de comentarios
Notificaciones por mail
Suscribirse
Twitter
Encuentrame en facebook