Fetishcode...Thinking in objects
SQL Developer: Ver multiples tablas
Marzo 12th, 2010 - [Enlace local]
A
» Leer más, comentarios, etc...
Picando Código
Disponible Revista Linux+ Marzo 2010
Marzo 12th, 2010 - [Enlace local]
El número de marzo de Linux+ para libre descarga disponible aquí:
http://lpmagazine.org/es/magazine/1019-airbase-y-karmetasploit-3-2010-62
En este número:
- Un router BGP sobre GNU/linux
- DBAN: Elimina de forma segura toda la información de tu disco duro
- Recolección de datos en GNU/Linux para propósitos forenses
- Airbase y KARMetasploit: Despliegue de puntos de acceso ilícitos (Rogue AP)
- Iniciación a MySQL avanzado
- WEKA y jTwitter: Gestiona Twitter de manera inteligente
- Go: el nuevo lenguaje de programación de Google
- Comunicación entre procesos: En busca del eslabón perdido
- Automatización de tareas con ShellScripts
- Linux y la seguridad “digital”
¡Buena lectura!
» Leer más, comentarios, etc...
Variable not found
ASP.NET MVC 2 final, ya disponible
Marzo 11th, 2010 - [Enlace local]
Hace unos minutos en Twitter se propagaba la noticia de la disponibilidad de la versión final de ASP.NET MVC 2, que puedes descargar ya desde el sitio web de Microsoft.
Según se indica en el documento de notas de la revisión, y como era previsible, no se puede instalar en equipos con Visual Studio 2010 RC. Por lo demás, no se ha introducido ningún cambio destacable desde la anterior revisión, la segunda Release Candidate.
También se ha publicado el código fuente en CodePlex.
Publicado en: Variable not found.
» Leer más, comentarios, etc...
MadeInFlex
Air & JasperReports
Marzo 10th, 2010 - [Enlace local]
Este es un ejemplo para lanzar un reporte JasperReports con una aplicación Air utilizando el proyecto Merapi (AIR’s Java Bridge).
Encontrareis el ejemplo en este link, en el .zip encontrareis los dos proyectos, para probar-lo solo hay que ejecutar el airReports.java y el aiReports.mxml.
» Leer más, comentarios, etc...
4 bits blog
Detectar fugas de memoria en Visual Studio
Marzo 10th, 2010 - [Enlace local]
Para los que programen en C con Visual Studio y sientan añoranza de valgrind, aquí están los pasos sobre cómo detectar fugas de memoria (memory leaks) en Visual Studio:
- Añadir la macro
_CRTDBG_MAP_ALLOCdel preprocesador, ya sea definiéndola en algún archivo del proyecto o en las opciones de compilación del proyecto. - Incluir en el siguiente orden
stdlib.hycrtdbg.hen los archivos dónde se busquen las fugas de memoria. El archivocrtdgb.hsustituye las funcionesmallocyfreepor unas propias que registran la memoria reservada y liberada. - Añadir la función
_CrtDumpMemoryLeaks ()al final del programa en el que se buscan las fugas de memoria. Esta función muestra por la salida de depuración las fugas de memoria detectadas.
Todo esto sólo funcionará cuando el proyecto se compile con la macro _DEBUG definida, es decir, en lo que debería ser para todos la versión de depuración del programa.
La macro _CRTDBG_MAP_ALLOC sirve para que la función _CrtDumpMemoryLeaks () muestre información sobre el archivo y la línea en la que se produjo la fuga de memoria.
Un pequeño ejemplo de cómo quedaría todo:
#define _CRTDBG_MAP_ALLOC #include#include int main (int argc, char *argv[]) { /* Código del programa */ _CrtDumpMemoryLeaks (); return 0; }
Si este programa tuviera alguna fuga de memoria, al compilarlo en modo depuración y ejecutar el depurador de Visual Studio, se obtendría en la salida de éste un listado con las fugas de memoria del programa.
Para más información, leed el artículo Enabling Memory Leak Detection de la MSDN.
» Leer más, comentarios, etc...
Ingenieria de Software / Software Engineering
El sector de la construcción y la informática
Marzo 10th, 2010 - [Enlace local]
Cualquier parecido con la coincidencia es mera realidad!!!
http://consultordynamics.wordpress.com/2010/02/18/el-sector-de-la-construccion-y-la-informatica/
» Leer más, comentarios, etc...
Variable not found
El filtro ChildActionOnly en MVC 2
Marzo 9th, 2010 - [Enlace local]
El framework ASP.NET MVC 2 ha introducido un nuevo filtro llamado ChildActionOnly que, como su nombre indica, impide la ejecución del método de acción sobre el que se aplica, a menos que se trate de una “acción hija”.
Supongamos el siguiente código en el controlador, digamos, HomeController:
[ChildActionOnly]
public ActionResult Menu(){Menu mnu = getMenuForThisUser();
return PartialView(mnu);}
Atendiendo a la ruta por defecto, una petición del tipo GET /Home/Menu generará una excepción, como la mostrada en la captura de pantalla adjunta.¿Y qué significa eso en la práctica? Pues básicamente que la acción sólo puede ser invocada desde una vista utilizando los métodos
Html.Action() y Html.RenderAction().Ambos métodos, aunque formaban parte del ensamblado futures desde hace algún tiempo, han sido por fin incluídos en MVC 2, y están destinados a introducir en la vista actual el resultado de la ejecución de una “acción hija”, por ejemplo así:
<div id="mainMenu"> <%= Html.Action("Menu") %></div>
La diferencia entre ambos es que
Html.Action retorna un string con el resultado de la ejecución de dicha acción, mientras que Html.RenderAction() escribirá directamente la respuesta sobre el canal de salida (Response).Publicado en: Variable not found.
Hey, ¡estoy en twitter!
» Leer más, comentarios, etc...
Variable not found
¿ActionLink te genera direcciones que acaban en Length=N?
Marzo 7th, 2010 - [Enlace local]
Esta es una respuesta rápida a una cuestión de Fred C., que me llega vía formulario de contacto en Variable not found, sobre un problemilla que también sufrí en algunas ocasiones, y he pensado que posiblemente pueda interesarle a alguien más, así que ahí va.
El escenario es el siguiente: tenemos en una vista un código para generar un enlace hacia una acción, como el mostrado a continuación:
<%= Html.ActionLink("Acceso externo", // Texto del enlace
"Editar", // Acción
"Productos", // Controlador
new { id=Model.Id }) // Parámetros
%>
Al mostrarse la vista, ya en tiempo de ejecución, nos encontramos con que no se ha generado el enlace que pretendíamos, sino uno como el mostrado en la captura de pantalla adjunta, hacia la dirección/Home/Editar?Length=9.En primer lugar, utilizando la ruta por defecto, vemos nos está llevando hacia el controlador “Home”, ¿pero no le habíamos dicho que era “Productos”?
Y en segundo lugar, ¿dónde está nuestro parámetro id? ¿De dónde sale ese parámetro
Length con el valor 9?La respuesta a este problema es bien sencilla aunque al principio puede provocarnos algún dolor de cabeza: estamos utilizando una sobrecarga incorrecta del método ActionLink().
Si observamos las distintas sobrecargas de este método, podremos comprobar que sólo una de ellas tiene una signatura compatible con la llamada que estamos utilizando:
public static string ActionLink(
this HtmlHelper htmlHelper, string linkText, string actionName, object routeValues, object htmlAttributes)
Y, por tanto, los parámetros de la llamada que estábamos especificando, lo hacíamos como parte de los atributos HTML. De hecho, si analizamos el código fuente de la página generada, encontramos que el parámetro “id” ha sido introducido como un atributo HTML del enlace:
<a href="/Home/Editar?Length=9" id="8">Editar este producto</a>
La forma de solucionarlo es bien fácil, sólo hay que utilizar la sobrecarga apropiada, como:
<%= Html.ActionLink("Editar este producto", "Editar", // Acción
new { // Parámetros
controller="Productos", id=Model.Id
}
) %>
// O Bien:<%= Html.ActionLink(
"Editar este producto", "Editar", // Acción
"Productos", // Controlador
new { id=Model.Id }, // Parámetros
null // Atributos HTML
) %>
En fin, que se trata de un pequeño despiste a la hora de codificar, propiciado a veces por la gran cantidad de sobrecargas y la información, algo confusa, ofrecida por Intellisense que nos puede hacer perder unos minutos muy valiosos.
¡Gracias, Fred, por participar en Variable not found!
Por cierto, ¡estoy en Twitter!
» Leer más, comentarios, etc...
avemundi, blog de un micro-isv » Desarrollo de software
lis.to un gestor de tareas donde hay mucho que aprender
Marzo 6th, 2010 - [Enlace local]
Desde hace unos días vengo probando lis.to. Es un gestor de tareas sencillo, que permite crear tareas y organizarlas por carpeta que pueden ser de proyectos, contextos, o lo que quieras. A cada tarea le puedes asignar una fecha y una hora de finalización y poner un recordatorio de manera que te avise antes de la finalización.
Cuando se edita una tarea se puede rellenar toda la información en una ‘entrada rápida’, indicando la fecha de finalización y la carpeta mediante los símbolos = y @. Además se puede añadir un texto libre a la tarea y el programa lo resalta con un icono en la lista de tareas.
No es una aplicación compleja, sino que te haces con ella en cinco minutos, pero que más allá de su uso me ha llamado la atención la manera en que está hecho. En primer lugar lis.to está hecha con Java y el interfaz gráfico con Swing. Es multiplataforma y funciona perfectamente en Windows y en Mac. En Windows la interfaz parece más nativa que en Mac, sobre todo por dos cosas: la barra de iconos deja bastante que desear y el panel lateral tipo iTunes tampoco está muy logrado. Sin embargo hay otras muchas cosas muy bien hechas y que quiero aprender cómo están hechas. La primera es que las tareas no se guardan en ninguna base de datos, sino en un archivo XML. También me ha gustado la manera de hacer el autocompletado cuando se asigna una carpeta en la entrada rápida. Lo último que me ha llamado la atención es la manera de desplegar/replegar parte del formulario de edición de tareas cuando se pulsan los triángulos azules. Como se puede descargar un jar y se puede descomprimir, se puede curiosear las clases que se han usado el programa y, con un poco de suerte y un mucho de google, encontrarlas y estudiarlas.
Actualización 15/Mar/2010: Lis.to está alojado en Google code y se puede descargar su código en este enlace: http://code.google.com/p/listo/. Pulsando el la pestaña código y haciendo checkout con un cliente subversion podemos descargar todo el código fuente.
» Leer más, comentarios, etc...
4 bits blog
El extraño bug del Calendar
Marzo 4th, 2010 - [Enlace local]
Cuando empezaba a programar con C y C++ recuerdo los quebraderos de cabeza para comprobar que los valores “entraban” dentro de las variables y evitar desbordamientos problemáticos. Java solucionó esto haciendo que, si el valor se pasaba del rango de la variable, se reiniciaba el contador. Es decir, que si queremos poner el valor 212 a un fichero byte (-128 a 127), Java nos muestra en realidad -44.
Esto, que en principio puede parecer un gran avance porque evita problemas de seguridad en los programas (uno de los motivos por los que en Java no se pueden manejar punteros), al final se demuestra que es un nido de bugs. Porque 212 no son -44. Y esto puede ser un auténtico problema en algo tan visible como una fecha.
El mes de marzo es un mes muy especial. Su mes anterior es de longitud variable (28 ó 29 días) y el siguiente es de 30, siendo el propio marzo de 31. Ved el siguiente código:
Calendar cal = new GregorianCalendar(); cal.set (Calendar.DAY_OF_MONTH, 30); cal.set (Calendar.MONTH, 2); System.out.println (cal.getTime ()); System.out.println (cal.getActualMaximum (Calendar.DAY_OF_MONTH)); cal.set (Calendar.MONTH, cal.get(Calendar.MONTH) -1); System.out.println (cal.getActualMaximum (Calendar.DAY_OF_MONTH));
Esencialmente, lo que hace es ponernos en 30 de marzo de este año y sacar por pantalla los siguientes datos:
- Fecha actual
- Número de días del mes de marzo
- Número de días del mes de… ¿febrero?
Java, en su excelsa sabiduría, ha decidido que en este caso que 2-1=2. Porque al restar uno al mes nos quedamos en 30 de febrero o, lo que es lo mismo, 2 de marzo. Esta chorrada (obviamente en un código más complejo) nos tuvo en el trabajo una mañana entretenidos porque el número de días de los meses siempre eran 30 ó 31, incluído un inexistente febrero.
En parte fue una suerte que estuviéramos a 30 de marzo y no en 2 de abril, en cuyo caso nos daríamos cuenta del problema casi un año después de sacar el proyecto a producción. A veces Java es realmente odioso con su “deja que la JVM piense por ti“.
» Leer más, comentarios, etc...
Picando Código
@ FING
Marzo 4th, 2010 - [Enlace local]
Retomé las clases en Facultad de Ingeniería, lo que justifica todo lo que no postee en los próximos tiempos
Nos vemos ahí, visiten Foro Fing…
» Leer más, comentarios, etc...
Sergio Guerrero | Desarrollo web y Tiendas virtuales
Magento – No aparecen los atributos en el Frontend
Marzo 3rd, 2010 - [Enlace local]
En algunas ocasiones, cuando hemos intentado crear Productos Configurables en Magento, nos hemos encontrado con problemas en el frontend de la tienda por culpa de algunas extensiones.
Después de haber realizado correctamente todos los pasos para configurar los atributos, los productos configurables y sus asociados como atributos, nos encontramos que en la parte frontal de la tienda aparece el selector de atributos, pero éste aparece sin opciones. Lo más típico ante esta situación es revisar la configuración de los atributos, la visibilidad de los productos simples, etc, pero no debemos olvidar las comprobaciones sobre los errores javascript que puedan aparecer en la parte frontal.
Los errores Javascript producidos por algunas extensiones como JqZoom, pueden alterar el funcionamiento normal de la tienda y nos pueden hacer perder mucho tiempo intentando encontrar un fallo que puede ser fácilmente detectado mediante herramientas como firebug.
Entradas relacionadas
» Leer más, comentarios, etc...
PROGRAMANDO EN .NET
T-SQL: SET ROWCOUNT vs. SELECT TOP
Marzo 2nd, 2010 - [Enlace local]
“Si hay 2 formas de hacer lo mismo, una seguro que da problemas.” No sé si esta es una de las Leyes de Murphy, pero debería serlo :P SET ROWCOUNT es uno de esos settings “con trampa” que tiene T-SQL y que si no sabes usarlos adecuadamente te puede provocar muchos quebraderos de cabeza.Según MSDN: Hace que SQL Server detenga el procesamiento de la consulta una vez que se han devuelto las filas
» Leer más, comentarios, etc...
Cerebro en la Sombra » Técnico
Aumenta tu productividad integrando el sistema de incidencias en el entorno de desarrollo: Eclipse + Mylyn + Jira + Subversion
Marzo 2nd, 2010 - [Enlace local]
Hoy voy a hablaros de algo que ha revolucionado mi entorno de trabajo. Hasta ahora tenía por un lado el entorno de desarrollo con Eclipse y por el otro el sistema de incidencias web con Jira (también sirven Trac o Bugzilla). La verdad es que me resultaba muy pesado ir cambiando de uno a otro para revisar las incidencias y más aún para cambiar los archivos necesarios para revisar las distintas incidencias. Cuando digo que me resultaba pesado me refiero a que entonces no me daba cuenta del tiempo que perdía, pero ahora sí.
Para comenzar veremos cómo podemos acceder a las incidencias desde el propio Eclipse sin necesidad de cambiar de aplicación. La magia viene aportada por Mylyn.
Para instalar el plugin necesario para Jira debemos añadir el repositorio donde se encuentra desde
-
Help->Install new software -> Available sites -> Add
con la url:
-
http://update.atlassian.com/atlassian-eclipse-plugin/e3.4
Desde este nuevo repositorio seleccionamos los componentes a instalar, probablemente Mylyn ya lo tengas instalado. Esto es lo que debes escoger:
Si en vez de Jira usas Trac o Bugzilla, utiliza el conector adecuado.
Una vez reiniciado Eclipse mostraremos la pestaña de incidencias desde
-
Window->Show view->Task list
Desde el primer icono de la pestaña vamos a “Add Repository“.
Seleccionas el tipo de repositorio de incidencias que vas a crear.
Y añades los datos de acceso al mismo.
Si todo ha ido bien verás una pantalla similar a ésta donde puedes crear tu primera consulta de incidencias o seleccionar una previamente guardada en el servidor ya que importa tus filtros existentes.
Si decides crear una consulta nueva tienes un formulario con todas las opciones a tu disposición. Por ejemplo, yo he creado una que me lista todas las incidencias reportadas por mi.
Automáticamente irá recuperando del servidor las incidencias que cumplan los requisitos especificados en los filtros.
Haciendo doble click en una incidencia se abre el detalle de la misma con todas sus opciones que podremos modificar a nuestro antojo, añadir comentarios nuevos, adjuntar archivos, etc.
Mylyn aporta al sistema funcionalidades extra, una de ellas es la de programarnos las incidencias en función de nuestra carga de trabajo y tener una previsión de lo que vamos a hacer y cuando. Esta información no se guarda en el servidor, es interna.
A la hora de adjuntar archivos, además de seleccionar los que tengamos en nuestro equipo podremos hacer directamente desde Eclipse una captura de pantalla, recortar el trozo que nos interesa y enviarlo a Jira, todo en uno y sin salir de nuestro entorno de desarrollo.
Llegamos a una de las opciones que realmente hacen que ahorremos muchísimo tiempo, el contexto. Cada incidencia tiene un circulito a su izquierda que permite activar esa tarea. Al activar una tarea el sistema asume que todos los archivos que vayas abriendo mientras la tengas activada están asociados a la resolución de la misma.
Abre algunos archivos de ejemplo y en la pestaña “Context” de la incidencia verás cómo va asociándolos. Si ahora, en vez de cerrar la incidencia en la “X” la desactivas de nuevo en el circulito, verás como automáticamente se cierran también todos los archivos asociados. Y aquí viene lo bueno, si vuelves a activarla se abren automáticamente todos los archivos sobre los que estabas trabajando. Este sistema te permite cambiar rápidamente el entorno de trabajo de una incidencia a otra sin tener que buscar de nuevo todos los fuentes uno a uno.
Hay una opción más para trabajar con los contextos que permite que distintos usuarios los compartan y consiste en subirlos al propio servidor de Jira. Se suben como archivos zip como si fuese un archivo adjunto a la incidencia normal y corriente, pero Mylyn sabe lo que tiene que hacer con ellos cuando se recuperan.
Finalmente otra opción interesante es la integración con Subversion. Teniendo una incidencia activada, cada vez que hagamos commit al repositorio nos adjuntará automáticamente en el comentario del svn información acerca de la incidencia que se resuelve, eso que nunca hacemos
.
Como veis tenemos el desarrollo junto a las incidencias y la resolución de las mismas en Subversión completamente integrado en una sola aplicación. Cuando os comentaba al principio del artículo sobre que no me daba cuenta de lo pesado que era hacerlo en tres pasos, ahora veis a qué me refería, es una de esas cosas que hasta que las tienes no sabes lo que vale.
» Leer más, comentarios, etc...
Arragonán
El Real Zaragoza, twitter y Gaelyk(Groovy + AppEngine)
Marzo 2nd, 2010 - [Enlace local]
Este viernes noche después de cenar me puse a programar(o a jugar) uno de esos mini-pet-projects, lo suficientemente pequeño para no comprometerme a dedicarle más tiempo fuera del fin de semana y lo suficientemente grande para que sea algo más que un hello world. Y salvo a que tenga algún momento de aburrimiento en el que me de por mejorar o añadir alguna cosilla, así se va a quedar.
El proyecto es un agregador de twitts que hablan del Real Zaragoza(o #realzaragoza
). Y como uno no quiere hacerse de oro, no lo hace ni del Madrid ni del Barça
.
Hablando ya desde el punto de vista puramente técnico, es una aplicación muy sencillita que corre en la nube de Google, osea en App Engine (aquí voy a ahorrarme varios comentarios de lo que mola la nube, además de confundirlo con internet… No voy a dar nombres…
)
He utilizado un framework web ligero, hecho expresamente para correr en App Engine y muy sencillo llamado gaelyk, donde el código que escribimos es Groovy.
Gaelyk permite separar las vistas(Groovy Tempaltes) de las acciones(Groovlets). Inyecta en las acciones los elementos del SDK de GAE(datastore, memcache, mail, images…), y algunas variables para facilitar la vida y tener un código más escueto.
En mi caso he dejado la lógica de negocio en los mismos scripts de los Groovlets. Tan sólo hay tres: la home, la vista de un usuario(ej: @dani_latorre) y otro que es llamado cada 10 min para hacer una búsqueda en twitter e insertar los twitts nuevos.
Para la búsqueda de twitts, se hacen tan sólo dos peticiones cada 10 min y se parsea la respuesta atom de la búsqueda con XmlSlurper, se comprueba si no está duplicado y se crea y guarda una nueva Entity de GAE (gaelyk facilita su uso, para que sea más a la groovy).
Para recuperar lo que hemos persistido, por el momento no aporta novedades, a partir del datastore lanzaremos las queries. En el futuro es posible que surjan novedades en este apartado.
Para quien le interese conocer más detalles de gaelyk, le recomendaría pegarle una ojeada al tutorial.
Ver una presentación de Guillaume Laforge y Patrick Chanezon.
O un screencast de Pratik Patel(ojo, que a los elementos de GAE inyectados ya no se les llama loqueseaService, sólo loquesea)
Gaelyk & Groovy & Google App Engine – ATL2G from Pratik Patel on Vimeo.
Y aunque este año nos toca sufrir, aupa Zaragoza! XD
» Leer más, comentarios, etc...
xailer.info (esp)
Curso avanzado de programación en Xailer
Marzo 1st, 2010 - [Enlace local]
Los días 11 y 12 de Marzo se celebrarán en Madrid (Tres cantos) dos cursos avanzados de programación con Xailer:
- El jueves 11 se impartirá por Ignacio Ortiz de Zúñiga un curso avanzado de nuevas técnicas de programación adaptadas a Xailer utilizando el Modelo Vista Controlador (MVC) sobre bases de datos SQL, en el cual el usuario aprenderá a realizar aplicaciones que con suma facilidad podrá cambiar completamente su diseño visual o el servidor de bases de datos. Se mostrará igualmente a como exportar todos los servicios que incluye el ‘controlador’ hacia a otras aplicaciones. Y todo ello, utilizando la tecnología de DataControls que incluye Xailer 2. Se requiere un nivel medio-alto de programación en Xailer y xHarbour.
Se entregará con el curso el esqueleto de una pequeña gestión de facturación que el usuario podrá utilizar como guía para sus futuros proyectos.
- El viernes 12 se impartirá por Bingen Ugaldebere de BiSoft un curso avanzado de programación utilizando Fast Report, en el cual se mostrará la potencia y sencillez de este generador de informes. Para ello se hará primeramente una pequeña introducción sobre su instalación y manejo desde Xailer, para a continuación pasar directamente a la creación de informes desde el más sencillo al más complicado, entregando ejemplos de todos ellos. Se pretende exprimir al máximo toda la potencia de Fast Report. Es una oportunidad única de conocer esta fantástica herramienta.
El precio de cada uno de los cursos es de 200 euros. Los usuarios que acudan a ambos cursos tendrán un descuento total de 100 euros. Se exige un depósito de 50 euros para la reserva de plaza.
Plazas limitadas.
Duración y horario de los cursos:
| Jueves 11 | 9 horas |
| 09:00-11:00 | Diseño del esqueleto de nuevas aplicaciones |
| 11:00-11:30 | Coffee-break |
| 11:30-14:30 | Introducción al modelo vista-controlador |
| 14:30-16:00 | Comida |
| 16:00-18:00 | Diseño visual con DataControls sobre el modelo vista-controlador |
| 18:00-18:30 | Coffee-break |
| 18:30-20:30 | Diseño del controlador y su publicación para otros proyectos |
| 20:30-23:00 | Cena organizada para todos los asistentes que lo deseen |
| Viernes 12 | 8 horas |
| 09:00-11:00 | Introducción a Fast Report, instalación y puesta en marcha |
| 11:00-11:30 | Coffee-break |
| 11:30-14:30 | Diseño de informes básicos |
| 14:30-16:00 | Comida |
| 16:00-17:00 | Traspaso de información bidireccional entre Xailer y Fast Report |
| 17:00-18:00 | Integración de Fast Report en sus propias aplicaciones |
| 18:00-18:30 | Coffee-break |
| 18:30-19:30 | Informes complejos con Fast Report |
Consulte el área de eventos en www.xailer.com para más información.
» Leer más, comentarios, etc...
Variable not found
Invitaciones para BaseKit
Marzo 1st, 2010 - [Enlace local]
Los chicos de BaseKit me han invitado, bueno, y a 20 de vosotros también ;-), a probar su nueva herramienta, actualmente en fase de beta privada (si quieres conseguir un pase, lee el final del post).
BaseKit es una aplicación totalmente on-line que permite a diseñadores crear sitios web completos sin necesidad de tener conocimientos de HTML, javascript y, si apuramos, incluso ni de CSS, rompiendo así la brecha que tradicionalmente divide el mundo del diseño y del desarrollo web.
Otra ventaja para los que no se sienten cómodos lidiando con compañías de hosting es que el servicio cuenta con su propio alojamiento; en un par de clicks, el sitio web que estemos editando pasará a estar disponible en internet. De hecho, el alojamiento será el único concepto por el que BaseKit cobrará a los usuarios en el futuro.
La primera prueba de la facilidad con la que se pueden crear sitios web la encontramos al comenzar a trabajar con BaseKit, cuando tendremos que decidir cómo queremos crear el sitio web: importando un archivo Photoshop, seleccionando una plantilla base predefinida, o basándonos en un sitio disponible en la galería.
La primera opción permite subir directamente archivos en formato PSD cuyos contenidos y estructura serán utilizados para generar automáticamente la plantilla de la página.
Las siguientes opciones permiten tirar de elementos prediseñados, como plantillas o incluso sitios web completos, disponibles en la galería de BaseKit. Estas galerías todavía no ofrecen gran cantidad de elementos prediseñados, pero se entiende que es debido a que el producto está aún en fase de pruebas.
En cualquier caso, independientemente del modo de inicio lo que tendremos a continuación es un completo editor en el que podremos editar la página de forma visual, en plan drag&drop, de forma realmente sencilla.
De momento hay un buen número de widgets con los que crear los contenidos de la página, y obviamente tienen planes de seguir añadiendo nuevas posibilidades.
Para las pruebas debes utilizar Firefox 3.5.5 o superior; de momento BaseKit no soporta IE, aunque están trabajando en ello.
¡Venga, os espero!
Publicado en: Variable not found.


















