18 de junio de 2013

Tabla con esquinas redondeadas y que tenga una sombra incrustada dentro de ella

Necesité hacer una tabla HTML que se viera así:


Para esto, usé CSS:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
 <title>Table with inset shadow and round corners</title>
 <meta http-equiv="X-UA-Compatible" content="IE=edge" />
 <style>
  table.tabla {
   width: 500px;
   margin: 0 auto; /* centrado */

   background: white;

   /* sombra interior */
   /* Ver http://css-tricks.com/snippets/css/css-box-shadow/ */
   box-shadow: inset 1px 1px 1px 0px #999999;
   
   /* esquinas redondeadas */
   /* Ver http://border-radius.com/ */
   border-radius: 10px;
  }
  table.tabla > tbody > tr:first-child > td:first-child { /* celda superior izquierda */
   border-top-left-radius: 10px;
  }
  table.tabla > tbody > tr > td:first-child { /* celdas de la primera columna  */
   border-left: 1px solid #999999;
  }
  table.tabla > tbody > tr:last-child > td:first-child { /* celda inferior izquierda */
   border-bottom-left-radius: 10px;
  }
  table.tabla > tbody > tr:last-child > td:last-child { /* celda inferior derecha */
   border-bottom-right-radius: 10px;
  }
  table.tabla > tbody > tr:nth-child(even) { /* celdas de los renglones pares */
   background: #e7e7e7;
  }
 </style>
</head>
<body>
 <table cellpadding=0 cellspacing=0 class="tabla">
  <tr>
   <td>abc</td>
   <td><table><tr><td>123</td><td>456</td></tr><tr><td>123</td><td>456</td></tr></table></td>
   <td>ghi</td>
  </tr>
  <tr>
   <td>abc</td>
   <td><table><tr><td>123</td><td>456</td></tr><tr><td>123</td><td>456</td></tr></table></td>
   <td>ghi</td>
  </tr>
  <tr>
   <td>abc</td>
   <td><table><tr><td>123</td><td>456</td></tr></table></td>
   <td>ghi</td>
  </tr>
  <tr>
   <td>abc</td>
   <td><table><tr><td>123</td><td>456</td></tr></table></td>
   <td>ghi</td>
  </tr>
  <tr>
   <td>abc</td>
   <td><table><tr><td>123</td><td>456</td></tr></table></td>
   <td>ghi</td>
  </tr>
 </table>
</body>
He aquí este código ejecutándose en el navegador:

abc
123456
123456
ghi
abc
123456
123456
ghi
abc
123456
ghi
abc
123456
ghi
abc
123456
ghi

27 de febrero de 2013

Parte de JavaFX para iOS y Android será como Open Source

Richard Bair anunció que Oracle liberará como Open Source la implementación de JavaFX para iOS y Android de JavaFX en un par de meses. Sin embargo, en una actualización matizó que sólo se liberará el sistema gráfico y de ventanas (Prism y Glass), para que la comunidad pueda experimentar. Para saber más de Prism y Glass, consultar JavaFX Architecture and Framework.

6 de febrero de 2013

Maven: Cómo mostrar la versión en la aplicación web

Si necesitas mostrar el número de versión del sistema en una aplicación web construída con Maven, puedes hacer que Maven la escriba en un archivo al momento de construir el WAR, y luego puedes usar una JSP para mostrar el contenido de dicho archivo. Para ello, necesitas configurar el filtrado de los recursos de la aplicación web en el maven-war-plugin. Un ejemplo:

Archivo src/main/webapp/version.txt:
${project.version}

Archivo src/main/webapp/index.jsp:
Versión: 

Archivo pom.xml:
<plugin>
  <groupid>org.apache.maven.plugins</groupid>
  <artifactid>maven-war-plugin</artifactid>
  <version>2.3</version>
  <configuration>
    <webresources>
      <resource>
        <!-- sustituye propiedades de Maven en el contenido de los archivos -->
        <filtering>true</filtering>
        <directory>src/main/webapp</directory>
        <includes>
          <include>**/version.txt</include>
        </includes>
      </resource>
    </webresources>
  </configuration>
</plugin>

30 de enero de 2013

Oracle: 'Debemos arreglar la seguridad en Java'

Imagen por :-Derek
'Debemos arreglar la seguridad en Java', reconocen dos empleados de alto nivel de Oracle [1].

Milton Smith, Lider de Seguridad de Java, y Donald Smith, Director de Desarrollo de Producto en OpenJDK, tuvieron una conferencia telefónica con varios líderes de los grupos de usuarios de Java (JUGs) [2].

Cuando se les cuestionó porqué el instalador de Java también instala la barra de herramientas de Internet del sitio Ask.com, comentaron: 'Esto es algo que Sun inició [...] No puedo discutir el asunto.'

También, ante la pregunta si Java se podría actualizar automáticamente como ya lo hace el navegador Google Chrome y el plugin de Adobe Flash, respondieron: "No hay planes [...] podría ser".

Parafraseando la cancion de Carly Rae Jepsen: 'Hey, Java's broken, and this is crazy, but here’s my bytecode, so fix it, maybe?'

[1] Referencia: JAXenter.
[2] Publicacón de Oracle con el audio: Oracle Speaks up on Java Security.