Asier Marqués

Hablando sobre tecnologías web y otras cosas que me interesan

Archivo de la categoría 'Desarrollo Web'...

Archivado bajo Desarrollo Web, Trucos, javaScript
   $("#all_checks").click(function (){
      $("INPUT[type='checkbox']").attr('checked', $("#all_checks").is(':checked'));
   });

mola no?

Comentarios (4) Posted by Asier Marqués on Lunes, Octubre 19th, 2009

Archivado bajo Desarrollo Web, Emprendedores, Eventos

Aunque no lo he puesto en la web oficial, me gustaría convocar a aquellos emprendedores tecnológicos o personas que tengan proyectos relacionados con tecnologías en internet, para tomar una cervezas en Bilbao el 30 de Julio del 2009 a las 19:00.

Estaría bien ser al menos 8 personas, sin contarme ni a mí y ni a Sergio, para que salgan temas interesantes a debatir tanto de programación, metodologías, sistemas, herramientas de promoción y marketing, tecnologías de streaming, caché o cualquier cosa que nos resulte realmente interesante.

Comentar que estamos intentando organizar un evento más largo en Septiembre, con ponencias, talleres y demás, por lo que nuestro objetivo es también recoger feedback para poder hacer algo en condiciones.

Podéis dejar comentarios aquí o en el grupo de noticias.

Comentarios (5) Posted by Asier Marqués on Viernes, Julio 10th, 2009

Archivado bajo .net, Desarrollo Web, Frameworks

Esto sucede porque mvc espera todos los campos especificados para una tabla antes de insertar un registro, incluido el campo de identidad que suele ser autonumérico.

Podemos excluir uno o varios campos a la hora de insertar un nuevo registro, mediante un filtro en la declaración del método para la acción responsable de hacer el insert.


[AcceptVerbs(HttpVerbs.Post)]

public ActionResult Insert([Bind(Exclude="Id")] Object object)
{

//lógica para el insert aquí

}
Comentarios (0) Posted by Asier Marqués on Miércoles, Julio 1st, 2009

Archivado bajo .net, Desarrollo Web
<%=
Html.TextBox("name",
"value",
new { @class = "resaltado" })
%>
Comentarios (0) Posted by Asier Marqués on Sábado, Junio 20th, 2009

Archivado bajo Desarrollo Web, PHP, Trucos

Aunque se puede utilizar para más cosas, Sphinx es principalmente un motor de búsqueda de texto completo que puede usarse al trabajar normalmente con sistemas de bases de datos mysql y postgresql.

Sphinx trae, en el paquete donde incluye su código fuente, una serie de librerías con las que se puede atacar a su demonio searchd, el encargado de hacer consultas a los índices que hayamos creado.

Aunque una de esas librerías está escrita en php, quizá nos interese más usar la librería escrita en c desde php, con el fin de comunicarnos de una forma más eficiente contra searchd.

Para ello lo primero que tenemos que hacer es compilar la librería libsphinxclient, que encontramos en el directorio que tiene su mismo nombre dentro de la carpeta api, en el código fuente de sphinx.

CXXCPP="gcc -E" ./configure --prefix=/opt/sphinx
make
make install

Si no tenemos phpize, lo instalamos

apt-get install php5-dev

Ahora nos bajamos la extensión pecl más reciente de sphinx, descomprimimos el paquete y usamos phpize:

cd sphinx-1.0.0
phpize

Configuramos y compilamos la extensión

./configure --with-sphinx=/opt/sphinx
make
make install

Y por último, podemos añadir un archivo sphinx.ini en /etc/php5/conf.d/ donde habilitamos la librería:

[sphinx]
extension=sphinx.so

Tras reiniciar el servidor web ya podemos trabajar con esta librería.

Comentarios (2) Posted by Asier Marqués on Miércoles, Junio 10th, 2009

Archivado bajo Aplicaciones Web, Desarrollo Web, Internet, javaScript

Uno de los principales problemas que tienen los desarrolladores web a la hora de desarrollar aplicaciones RIA con ajax, es la limitación de javascript para cumplir la política de mismo origen.

Teóricamente, debido a esta política, JavaScript no puede lazar peticiones o consumir datos entre dominios distintos. Digo teóricamente, porque esto puede conseguirse con algunas técnicas de hacking como csshttprequest.

Para no tenir que recurrir a estas técnicas existe una forma más elegante de conseguir esto y es mediante jsonp.

Básicamente se basa en una técnica en la que entran en juego tanto el frontend como el backend, en la petición/respuesta json.

El cliente envía una petición de tipo jsonp con un parámetro en la url que tendría como valor el nombre de la función que manejará la respuesta de dicha petición. En el servidor se retorna una respuesta json como valor de una variable con el Mismo nombre de dicha función.

Jquery puede trabajar con jsonp, el proceso sería el siguiente:

Javascript en el frontend con jquery


$(document).ready(function () {

$.ajax({
dataType: "jsonp",
data: "",
url: "http://example.com/json?method=?",
success: function(json){ alert(json.key); }
});

/*

Si el método que se le pasa en la url

tiene un valor "?" jquery generará

un valor aleatorio para la función que

manejará la respuesta. Esto nos evita

problemas con la cache

*/

})

Código de respuesta en backend en php


header('Content-type: text/json');

$respuesta = array('key'=>'valor');

echo $_GET['method']."(".json_encode($respuesta).")");

exit();

Esto nos permitirá trabajar con ajax entre dominios y gestionar la respuesta json a  nuestro antojo.

Comentarios (2) Posted by Asier Marqués on Jueves, Marzo 12th, 2009

Archivado bajo Desarrollo, Desarrollo Web, Usabilidad

Pocas presentaciones de las que he visto últimamente tienen tan buena calidad y provocan tanta reflexión como esta de Rachel Hinman, directora de experiencia de usuario en Adaptative Path, sobre usabilidad en desarrollo de aplicaciones para dispositivos móviles.

Consejos y un nuevo punto de vista a la hora de afrontar el diseño de interacción en este tipo de proyectos, con respecto a los proyectos web habituales.

Comentarios (0) Posted by Asier Marqués on Lunes, Marzo 9th, 2009

Archivado bajo Desarrollo Web, Frameworks, Trucos, symfony

Aunque los helpers de Symfony están pensados para ser usados en la vista, nos puede resultar útil e incluso imprescindible algunas veces usarlos fuera de la misma.

Symfony 1.2 nos permite hacerlo de la siguiente manera:


/*creamos un array con los nombres de los helpers

que necesitamos y de los que dependan*/

$hprs = array('Url', 'Tag', 'Asset');

//cargamos los helpers

sfProjectConfiguration::getActive()->loadHelpers($hprs);

//ya podemos usarlos sin problema

$url = url_for('modulo/acción?variable=valor');
Comentarios (0) Posted by Asier Marqués on Sábado, Febrero 28th, 2009

Archivado bajo Bases de Datos, Desarrollo, Desarrollo Web, Sistemas

En mysql para devolver un rango de resultados en una consulta podemos hacerlo usando el comando Limit de la siguiente forma:

Select * from tabla Limit 4,8

Esto nos devuelve un rango de 8 resultados desde el 4º encontrado

Apunté como hacerlo en Oracle, también como hacerlo en Microsoft SQL Server 2005/2008, y ahora lo apunto para SQL Server 2000.

SELECT TOP 10 t.* FROM tabla as t where t.id = not in
( SELECT TOP 0 id from tabla order by id desc )
order by t.id desc


El primer TOP, el principal, indica el número de tuplas a devolver.

El segundo TOP, en la subconsulta, debe ser multiplicar 10 por el número de página de resultados a mostrar menos 1, es decir: (número de página-1) x número de filas a devolver.

En ese ejemplo, el top para la subconsulta sería 0 para la primera página, 10 para la segunda, 20 para la tercera y así sucesivamente.

Comentarios (4) Posted by Asier Marqués on Martes, Enero 27th, 2009

Archivado bajo Aplicaciones Web, Desarrollo Web, Hosting, Internet, [Pe]n[sa]n[do]

En internet las cosas han cambiado. Hace años se avecinaba un cambio, una evolución en internet, al que muchos bautizaron con el criticado nombre (con razón) “web 2.0″.

Al margen de la oleada cool que se ha generado, provocado por dicha evolución, se ha notado un cambio en el uso y desarrollo para internet, el usuario ahora tiene más facilidades para automatizar la obtención y divulgación de información.

Tan importante es ese cambio, que realmente una persona que quiera competir en internet y no sea capaz de integrarse y aprender de él, estará fuera de todo éxito.

Las empresas dirigidas por personas medianamente inteligentes se han dado cuenta hace ya bastante tiempo que deben no sólo adaptarse al cambio, sino cambiar de una forma real en su forma de trabajar y sobre todo de acercarse al consumidor.

Se ven nuevas formas de hacer las cosas, nuevas proezas en forma de aplicaciones y servicios web enfocados de una forma cada vez más humana y cercana al usuario.

Sin embargo todos esos servicios y aplicaciones dependen de algo sumamente importante y crítico: infraestructura de sistemas.

Esa infraestructura en España es suministrada actualmente por empresas de hosting, pero no terminan de adaptarse de una forma clara al cambio que sus propios clientes ya están asumiendo y demandan.

De nada sirve una aplicación desarrollada respetando buenas prácticas, patrones de diseño y optimizada al máximo si los servicios que consume no están preparados para aguantar la demanda que puede tener por parte de sus usuarios.

Ya no vale con migrar a una máquina más grande o escalar horizontalmente, se necesita un respaldo por profesionales con experiencia en sistemas que sean conscientes y entiendan las preocupaciones de los arquitectos de la nueva web.

Por supuesto, los obsoletos planes compartidos que encontramos en servicios de Hosting de este país, no tienen sentido para este tipo de escenarios.

Los desarrolladores web cada vez requieren tecnologías más versátiles y se ven necesitados sobre todo de las útimas versiones de sus herramientas con las que poder crear y ofrecer servicios realmente innovadores.

Muchos de esos desarrolladores se ven obligados a considerar otras opciones fuera del país, que ofrezcan servicios aparentemente mejor enfocados a lo que demandan o que sean más baratos.

Pero esto no es una solución o una opción para algunos de ellos, ya sea por la necesidad de disponer de un soporte cercano o un tiempo de respuesta de red aceptable, y finalmente se ven limitados por empresas que no les interesa o que no pueden adaptarse a sus necesidades.

Supongo que no soy el único que piensa de esta forma o que ha visto esta necesidad de cambio. ¿Qué experiencia tenéis vosotros en ese sentido? ¿Echáis de menos o necesitaís algun servicio que ahora mismo las empresas de hosting en España no os ofrecen?

Comentarios (19) Posted by Asier Marqués on Jueves, Diciembre 11th, 2008