Buscando artículos sobre " Programación"
1-marzo-2015
admin

Ver certificados de una dirección https con HttpsURLConnection

Ver HttpsURLConnection

Ejemplo:

...
     URL url = new URL(HTTPS_DIRECCION_WEB);
     HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
     conn.connect();
     Certificate[] certs = conn.getServerCertificates();

     if (conn != null) {
          for (Certificate cert : certs) {
               log.info("Cert Type: " + cert.getType());
               ....
          }
     }
...

28-febrero-2015
admin

Connectar a una BD Open Office (*.odb) usando jdbc

En primer lugar se debe descomprimir el archivo odb. Esto se puede realizar a mano o automatizarlo, a mano podría ser de la siguiente manera:

1. Renombra tu fichero.odb a fichero.zip
2. Extrae su contenido.
3. Ahora tu puedes ver los archivos: backup, data, script, properties en el directorio creado de la BD.
4. Renombra los archivos a: NOMBRE_BD.data, NOMBRE_BD.backup, NOMBRE_BD.script, NOMBRE_BD.properties
5. La cadena de conexión a esa BD sería: jdbc:hsqldb:file:DIRECCION_FISICA_A_LA_BD/NOMBRE_BD

Ejemplo de uso:

...
Class.forName("org.hsqldb.jdbcDriver");
String cadenaConexion = "jdbc:hsqldb:file:DIRECCION_FISICA/NOMBRE_BD";
Connection con =  DriverManager.getConnection(cadenaConexion,"sa","");
Statement statement = con.createStatement();
ResultSet rs = statement.executeQuery("SELECT * FROM tabla");
while (rs.next()) {
   System.out.print("ID: " + rs.getString("ID"));
}
con.close();
...
21-febrero-2015
admin

Descargar un documento de la web con java

Ejemplo usando URLConnection:

import java.net.URL;
import java.net.URLConnection;
import org.springframework.util.FileCopyUtils;
import java.io.File;
import org.apache.commons.io.FileUtils;

...

     URL url = new URL( URL_DEL_DOCUMENTO_A_DESCARGAR );
     URLConnection urlCon = url.openConnection();

     //obtenemos el inputStream y lo convertimos a un array de bytes
     byte[] data = FileCopyUtils.copyToByteArray(urlCon.getInputStream());

     //se vuelca el contenido a un fichero en disco
     File temp = new File("/tmp/" + NOMBRE_FICHERO_PARA_ALMACENARLO);
     FileUtils.writeByteArrayToFile(temp, data); 

...

14-febrero-2015
admin

Consumir webservices bajo Https con Java

Si queremos consumir un WS que corre bajo https podemos realizar lo siguiente:

Paso 1/ Descargar los certificados del servicio

El Keysotre o JKS (Java Key Store) es un repositorio de certificados de seguridad, certificados de autorización o certificados de clave pública, utilizados por ejemplo en el cifrado SSL. Usualmente el JDK contiene un almacén de claves de certificados de autorización (CA) en la ruta jre/lib/security/cacerts. Así mismo el JDK provee una herramienta llamada keytool para manipular el keystore.
Para importar un certificado a nuestro keystore, lo primero que debemos hacer es descargar dicho certificado desde la dirección url del wsdl. Para ello ponemos esa url en un navegador. Al cargar la página podremos comprobar que junto a la barra de direccion saldrá un candado o algo similar (depende del navegador). Al hace click sobre él se nos abrirá un formulario donde se puede ver toda la información referente a los certificados que se usan. Dese esa pantalla se deben exportar (dependiendo del navegador será más o menos complejo encontrar el botón de exportar/copiar en archivo/…).
Se debe exportar en formato X.509 codificado base 64 (.CER)

Paso 2/ Importar el certificado digital a nuestro keystore

Se deben importar los certificados descargados a nuestro almacen de claves. Hay herramientas desde las que se puede hacer de forma bastante cómodo como es Keystore Explorer. Pero sino siempre puedes usar keytool:

keytool -import -keystore "C:\Archivos de programa\Java\jre1.6.0_05\lib\security\cacerts" 
                  -file c:\certificadodescargado.cer -storepass changeit

Paso 3/ Utilización

Ahora al ejecutar nuestra aplicación java al intentar conectar con ese ws localizará los certificados y dejará realizar la conexión. Se le puede indicar donde esta nuestro almacen de certificados así:

System.setProperty("javax.net.ssl.keyStore", "C:\Program Files (x86)\Java\jdk1.6.0_23\jre\lib\security\cacerts");
System.setProperty("javax.net.ssl.keyStorePassword", "changeit");
System.setProperty("javax.net.ssl.trustStore", "C:\Program Files (x86)\Java\jdk1.6.0_23\jre\lib\security\cacerts");
System.setProperty("javax.net.ssl.trustStorePassword", "changeit");

Más info sobre esto

7-febrero-2015
admin

Unable to read TLD «META-INF/tld/tiles-jsp.tld» from JAR file

En una aplicación web J2EE que corría sobre un Tomcat me daba este error:

Unable to read TLD "META-INF/tld/tiles-jsp.tld" from JAR file

Para solucionarlo borré el jsp-api.jar del WAR del proyecto.

Normalmente, jsp-api.jar no debe estar incluido en el WAR de una aplicación porque el servidor de aplicaciones debe tenerlo en su biblioteca común.

5-diciembre-2014
admin

Instalación de Django Rest Framework en Openshift

En primer lugar decir qué es Openshift:
«OpenShift es un producto de computación en la nube de plataforma como servicio de Red Hat.
Este software funciona como un servicio que es de código abierto bajo el nombre de «OpenShift Origin», y está disponible en GitHub.
Los desarrolladores pueden usar Git para desplegar sus aplicaciones Web en los diferentes lenguajes de la plataforma.
OpenShift también soporta programas binarios que sean aplicaciones Web, con tal de que se puedan ejecutar en RHEL Linux. Esto permite el uso de lenguajes arbitrarios y frameworks.
OpenShift se encarga de mantener los servicios subyacentes a la aplicación y la escalabilidad de la aplicación como se necesite.
» wikipedia

A continuación, se exponen los pasos a seguir para utilizar Django Rest Framework en Openshift

1/ Instalar las OpenShift Client Tools (rhc).

Algún comando de interes que podrá ser útil en el futuro:
– Para configurarlo se debe ejecutar: rhc setup. Nos pedirá login y password de openshift y nos permite crear una clave pública para luego conectar por ssh.
– Conectar ssh a tu aplicación: rhc ssh < app-name>
– Una vez conectado podríamos reiniciar la aplicación con: ctl_app restart
– Hacer log de la aplicación: rhc tail -a < app-name>

2/ Crear una aplicación Django que corra con python 2.7. Una de las formas de hacerlo es mediante el comando:

rhc create-app < app-name> python-2.7 --from-code 
               git://github.com/rancavil/django-openshift-quickstart.git

Si todo va correctamente en la consola te saldrá algo similar a esto:
URL: http://< app-name>–< usuario-openshift>.rhcloud.com/
SSH to: abcabcabcabcabcabc@< app-name>–< usuario-openshift>.rhcloud.com
Git remote: ssh://547b176b5973ca04c6000139@< app-name>–< usuario-openshift>.rhcloud.com/~/git/< app-name>.git/
Cloned to: C:/prueba/< app-name>

< app-name> = nombre deseado para tu aplicación.
< usuario-openshift> = tu usuario en openshift

Como nota decir, que me ha creado una copia de la aplicación creada en C:/prueba/. Esto es porque he ejecutado el create desde dentro del directorio c:/prueba/

3/ Instalar un cliente GIT. En mi caso, para windows utilicé Git Bash. Luego los cambios se subirán así:

git add .
git commit -m 'My changes'
git push

4/ Cambiar la contraseña de django

source $OPENSHIFT_GEAR_DIR/virtenv/bin/activate
export PYTHON_EGG_CACHE=$OPENSHIFT_GEAR_DIR/virtenv/lib/python-2.6
python $OPENSHIFT_REPO_DIR/wsgi/openshift/manage.py changepassword admin

Tras este punto ya podríamos conectarnos a la consola de administración de django mediante la url:
http://< app-name>–< usuario-openshift>.rhcloud.com/admin

5/ Añadir Django Rest framework. Para ello nos conectamos con rhc ssh < app-name> y ejecutamos:

pip install djangorestframework

6/ Tras eso ya podremos utilizar Django Rest Framework. Ejemplo de uso:

Añadir en settings.py

INSTALLED_APPS = (
    ...
    'rest_framework',
)

REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': [
        'rest_framework.permissions.IsAdminUser'
    ]
}

Cambiar nuestro urls.py por:

from django.conf.urls import patterns, include, url
from django.contrib.auth.models import User
from rest_framework import serializers, viewsets, routers

# Serializers define the API representation.
class UserSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = User
        fields = ('url', 'username', 'email', 'is_staff')


# ViewSets define the view behavior.
class UserViewSet(viewsets.ModelViewSet):
    queryset = User.objects.all()
    serializer_class = UserSerializer
	
# Routers provide a way of automatically determining the URL conf.
router = routers.DefaultRouter()
router.register(r'users', UserViewSet)

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    # Examples:
    url(r'^$', 'views.home', name='home'),
    url(r'^admin/', include(admin.site.urls)),

    url(r'^rest/', include(router.urls)),
    url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
)

7/ Subir los cambios por Git y para comprobar que ahora tenemos activa esta url:
http://< app-name>–< usuario-openshift>.rhcloud.com/rest

Fuente 1
Fuente 2

30-noviembre-2014
admin

Web Components

Web Components son un conjunto de normas que actualmente se producen por el W3C que permiten la creación de widgets o componentes reutilizables en los documentos web y aplicaciones web. La intención detrás de ellos es llevar a la ingeniería del software basada en componentes para la World Wide Web. El modelo de componentes permite la encapsulación y la interoperabilidad de los elementos HTML individuales.

El apoyo a la Web Components está presente en algunos navegadores basados en WebKit como Google Chrome y Opera y se encuentra en la versión de Mozilla Firefox Nightly (requiere un cambio de configuración manual). Internet Explorer de Microsoft no ha implementado ninguna especificación de componentes web todavía. [1] la compatibilidad hacia atrás con los navegadores más antiguos se implementa utilizando polyfills basadas en JavaScript.

Web Components consta de 4 elementos principales que se pueden usar por separado o todos juntos:
Custom Elements: Se trata de utilizar elementos personalizados.

Shadow DOM: es un DOM encapsulado que coexiste dentro del DOM padre y permite definir elementos complejos como componentes de video, entre otros, y poder tanto reutilizar estos componentes como personalizar los existentes.

HTML Imports: Importar ficheros html.
Ejemplo de uso:

< head>
  //referenciamos el fichero html warnings.html 
  //dentro de ese fichero hay una estructura DOM
  < link rel="import" href="warnings.html">
< /head>
< body>
  ...
  < script>
    //importamos a la variable content el fichero html
    var link = document.querySelector('link[rel="import"]');
    var content = link.import;

    //recuperamos a la variable domAux el DOM del fichero warning.html 
    //deseado.
    //en este caso es el DOM de un div cuyo class es warning
    var domAux = content.querySelector('.warning');

    //añadimos al body el DOM recuperado
    document.body.appendChild(domAux.cloneNode(true));
  < /script>
< /body>

HTML Templates: Son platillas en HTML que se completan o utilizan con un modelo o colección de datos externa.

Wikipedia

26-noviembre-2014
admin

España Lean Startup

Lean Startup es una manera de abordar el lanzamiento de negocios y productos que se basa en aprendizaje validado, experimentación científica e Iteración en los lanzamientos del producto para acortar los ciclos de desarrollo, medir el progreso y ganar valiosa retroalimentación de los clientes. Wikipedia

En octubre de 2014 los mejores profesionales de nuestro país en el ámbito del emprendimiento Lean se reunieron para compartir con todos los interesados las lecciones aprendidas en la aplicación de los conceptos, metodologías y herramientas de las Lean Startups durante los últimos doce meses. Estos conocimientos se plasman en este libro.
Ver Libro 2014

Sí lo deseas puedes consultar en formato pdf la versión del 2013 en este enlace:
http://nodosenlared.com/espana-lean-startup-2013/

8-noviembre-2014
admin

Plugin para poner links externos en galerias WordPress

Gracias a WP Gallery Custom Links podemos añadir en las galerias de wordpress enlaces a imágenes externas a nuestra aplicación.

Enlace al plugin

1-noviembre-2014
admin

Angularjs

AngularJS es una librería Javascript que nos sirve para hacer aplicaciones muy avanzadas, con una experiencia de usuario de alto. Video de una charla donde los de desarrolloweb hablan sobre él:

Para el que quiera meterse algo más en código en éste artículo contiene un resumen bastante bueno que te permite empezar a aprender angularjs.

Páginas:«12345678910...15»

Categorias

Linkedin