Blog de Francisco Velázquez

otro blog personal

Fases del desarrollo de software

leave a comment »

Parallelize development. The short 6 month development time was partly a product of the quality infrastructure, but of also running significant development activities in parallel. The development team was split into design, front-end engineering, infrastructure engineering, and data migrations. In parallel they built: UI prototypes on a test backend, production UI on a simulated backend, the scalable backend, the denormalization framework, the data warehouse, and simulated load testing.

via.

 

Written by fravelgue

January 23, 2012 at 8:50 pm

Posted in development

Tagged with ,

Siempre miro el código HTML

leave a comment »

 

Written by fravelgue

January 18, 2012 at 5:36 pm

Posted in personal

Descripción de Bango Analytics

leave a comment »

Interesante documento en el que se describe Bango Analytics. En el se explica la información almacenada en su EventLog

  • Owner
  • Time
  • Type: Page tracking events, Link tracking events, Payment events, Identification events.
  • UserId: MSISDN, Bango user ID, MNO network identify, email <= headers, IP, cookies, etc
  • Route: Device capabilities, Connection to internet: Country and Mobile operator
  • Location
  • Web specific: Referrer, Querystring

Y las distintas medidas que realizan sobre esta información.

Written by fravelgue

November 21, 2011 at 8:53 pm

Posted in development

Tagged with ,

Como consumo información

leave a comment »

Aquí voy a incluir un pequeño listado de las herramientas que uso para poder manejar la cantidad de información disponible.

- GoogleReader, en versión compacta mediante un script de greasemonkey modificado. Para iphone, tras mucho tiempo usando MobileRSS, he tenido que cambiar a Reeder debido a problemas de sincronización y/o conexión.

- Delicious, incluso desde iphone.

- Readability, a veces es imposible leer algo.

- Readitlater.

- Evernote, sobre todo para ir recopilando información sobre un tema que este estudiando o trabajando. Si la información es importante entonces después al blog.

Written by fravelgue

November 19, 2011 at 11:04 am

Posted in util

Tagged with , , ,

Borrar ficheros más antiguos en Windows

leave a comment »

Para borrar ficheros que se crearon hace 7 días.

forfiles -p “C:\path\elmah” -s -m *.* -d -7 -c “cmd /c del @path” via.

Written by fravelgue

November 11, 2011 at 12:36 pm

Posted in util

Tagged with , ,

Tiene sentido usar una DAL con un ORM?

leave a comment »

Interesantes comentarios de de la lista altnet-hispano. Mi respuesta corta es que NO, que normalmente abstraer el ORM traería casi tanto trabajo como reemplazarlo cuando hiciera falta, y si además por algún nuevo requisito hubiera que cambiar el ORM, seguramente esto sería lo que menos trabajo nos causara.

Incluyo la opinión del superhéroe Ayende: In short, I am completely opposed for even trying doing something like that.

Written by fravelgue

November 2, 2011 at 6:53 pm

Posted in development

Tagged with , ,

Google Reader compact

with one comment

Si tienes una pantalla con no mucha resolución como yo y usas Google Reader,  te puede interesar este script de Greasemonkey, para poseer la versión compact.

Yo personalmente comento las siguientes dos líneas, porque me gusta ver la barra de google, su logo y la búsqueda.

//GM_addStyle("#top-bar {display: none;}");

//GM_addStyle("#gb {display: none;}");
//GM_addStyle("#title-and-status-holder {display: none;}");

Y además cambio el color del enlace (elemento a) por: #D14836

Written by fravelgue

November 2, 2011 at 6:32 pm

Posted in util

Tagged with , , ,

Nueva interfaz de Google

with one comment

A mi me parece un auténtico desperdicio de espacio.

Written by fravelgue

November 1, 2011 at 11:50 am

Posted in design

Tagged with , , , ,

Generar SQL a partir de SQL

leave a comment »

Algo que que no se me había ocurrido antes, pero que me ayudó a resolver un problema de una manera muy sencilla. La idea es usar SQL para generar sentencias SQL que realizarán actualizaciones de muchas filas.

Por ejemplo, imaginemos que tenemos una tabla (Log) que posee una columna Url. El problema es que queremos actualizar el dominio de todas estas Urls.

select 'update Log set url='''+url+''' from Log

Con un pequeño reemplazar tendremos una serie de consultas SQL que nos permitirán actualizar los dominios.

Written by fravelgue

November 1, 2011 at 11:08 am

Posted in development

Tagged with ,

Modificar el valor de Request.Param o QueryString

leave a comment »

Hace unos días necesité modificar el valor de Request.Param y de la QueryString en una página ASP.NET. Parece que no es algo común pero sin embargo, había gente que también había necesitado hacerlo.

La manera de hacerlo fue usando un HttpModule y usando un poco de Reflection. La verdad algo bastante sencillo de hacer y con un buen resultado.

    public class ChangeParamsModule : IHttpModule
    {
        public void Dispose()
        {
            throw new NotImplementedException();
        }

        public void Init(HttpApplication context)
        {
            context.BeginRequest += (sender, e) =>
            {
                HttpApplication httpContext = (HttpApplication)sender;
                // reflect to getting readonly property
                PropertyInfo isReadOnly = typeof(System.Collections.Specialized.NameValueCollection).GetProperty("IsReadOnly", BindingFlags.Instance | BindingFlags.NonPublic);

                // make collection editable
                isReadOnly.SetValue(httpContext.Request.QueryString, false, null);
                isReadOnly.SetValue(httpContext.Request.Params, false, null);

                httpContext.Request.QueryString.Set("nuevoParam", "nuevoValor");
                httpContext.Request.Params.Set("nuevoParm", "nuevoValor");

                // make collection readonly again
                isReadOnly.SetValue(httpContext.Request.QueryString, true, null);
                isReadOnly.SetValue(httpContext.Request.Params, true, null);
            };
        }
    }

Written by fravelgue

October 19, 2011 at 5:47 pm

Follow

Get every new post delivered to your Inbox.