Juan M. Frías

Soy Ingeniero de Software

Juan M. Frías

Soy una persona apasionada por las nuevas tecnologías, me gustar estar en continuo aprendizaje y realizar nuevos proyectos. He estudiado un grado de Ingeniería del Software y un Máster de Ingeniería Informática en la Universidad de Málaga. Mi vocación principal es el desarrollo de productos software, la gestión de proyectos y el modelado y diseño de aplicaciones.

Me

Mis aptitudes profesionales

Me considero una persona responsable, dinámica, me gusta trabajar en equipo, aprender y resolver problemas. Con capacidad para trabajar de forma estructurada y ordenada.

Back-end Development 90%
Front-end Development 70%
App Development 50%
Desktop Development 70%

Increíbles funcionalidades

Serás capaz de realizar con tu aplicación cualquier funcionalidad que te imagines. Sólo tienes que pedirlo.

Diseño Responsivo

Diseño de aplicaciones con las últimas bibliotecas gráficas para que se adapte a los distintos tipos de pantallas y dispositivos

Cloud Computing

Podrás alojar tu web y servicios en la nube aprovechando todas las ventajas que esto supone.

Diseño moderno

Uso de últimas tecnologías CSS3, HTML5 para dotar a la web de un aspecto moderno y actual.

Soporte rápido y eficaz

Tendrás un soporte inmediato para consultar cualquier motivo y obtener cambios lo más rápido posible.

0
Proyectos completados
0
Proyectos actuales
  • Creando mapas web (sitemap) de forma automática


    En un fichero sitemap.xml indicamos a los buscadores web como se estructura nuestro sitio web. Simplificando, sería como un listado donde ponemos las Urls que contiene nuestro sitio junto con otros metadatos como la fecha de modificación, cada cuanto tiempo se realizan cambios y su relevancia respecto a otras Urls. De esta forma los motores de búsqueda pueden procesar esta información y ofrecer mejores resultados en las consultas. ¿Y en qué nos beneficia esto? Pues que nuestro sitio aparecerá mejor posicionado cuando los usuarios realicen sus búsquedas.

    Si utilizamos Java en nuestro proyecto, podemos utilizar la biblioteca SitemapGen4j, la cual nos permite generar un sitemap en formato XML de forma automática. Esta biblioteca nos genera uno o varios ficheros con nuestro mapa del sitio. Otra alternativa es generar la salida XML de forma dinámica sin tener que escribir en fichero, en mi caso elegí esta segunda opción, ya que se adaptaba mejor a mi proyecto. Si os decidís por la primer opción os dejo este enlace con un tutorial que explica bien como utilizar esta biblioteca.

    Para no depender de esta biblioteca vamos a ver como podemos crear nuestro sitemap.xml utilizando nuestras propias clases. Como he dicho anteriormente, este fichero va a contener un conjunto de URLs con algunos datos acerca de cada una. Para modelar este fichero vamos a utilizar dos clases: XmlURL que será cada una de nuestras Urls y XmlUrlSet que será el conjunto de Urls. Aquí podéis encontrar más información acerca de la solución planteada.

    XmlUrl.java

    En esta clase definimos los atributos de una URL. En loc estableceremos la ruta de la URL, también establecemos la fecha de última modificación en la propiedad lastmod, la frecuencia changefreq y la prioridad priority.


    @XmlAccessorType(value = XmlAccessType.NONE)
    @XmlRootElement(name = "url")
    public class XmlUrl {
        public enum Priority {
            HIGH("1.0"), MEDIUM("0.5");
    
            private String value;
    
            Priority(String value) {
                this.value = value;
            }
    
            public String getValue() {
                return value;
            }
        }
    
        @XmlElement
        private String loc;
    
        @XmlElement
        private String lastmod = new DateTime().toString(DateTimeFormat.forPattern("yyyy-MM-dd"));
    
        @XmlElement
        private String changefreq = "daily";
    
        @XmlElement
        private String priority;
    
        public XmlUrl() {
        }
    
        public XmlUrl(String loc, Priority priority) {
            this.loc = loc;
            this.priority = priority.getValue();
        }
    
        public String getLoc() {
            return loc;
        }
    
        public String getPriority() {
            return priority;
        }
    
        public String getChangefreq() {
            return changefreq;
        }
    
        public String getLastmod() {
            return lastmod;
        }
    }
    XmlUrlSet.java

    Esta clase nos sirve como colección de Urls. En ella definimos un método para añadir Urls de tipo XmlUrl.


    @XmlAccessorType(value = XmlAccessType.NONE)
    @XmlRootElement(name = "urlset", namespace = "http://www.sitemaps.org/schemas/sitemap/0.9")
    public class XmlUrlSet {
    
        @XmlElements({@XmlElement(name = "url", type = XmlUrl.class)})
        private Collection<XmlUrl> xmlUrls = new ArrayList<XmlUrl>();
    
        public void addUrl(XmlUrl xmlUrl) {
            xmlUrls.add(xmlUrl);
        }
    
        public Collection<XmlUrl> getXmlUrls() {
            return xmlUrls;
        }
    }
    Y ya solo nos queda crear un controlador que ofrezca como salida la petición a la dirección "/sitemap.xml". En esta clase tenemos un método create con el que añadiremos cada Url y un método principal main donde especificamos las Urls de nuestro sitio. Aquí podemos por ejemplo, hacer una consulta a la base de datos para obtener todos los posts de nuestra web y añadirlos como entradas.


    @Controller
    public class SitemapController {
    
        @RequestMapping(value = "/sitemap.xml", method = RequestMethod.GET)
        @ResponseBody
        public XmlUrlSet main() {
            XmlUrlSet xmlUrlSet = new XmlUrlSet();
            create(xmlUrlSet, "", XmlUrl.Priority.HIGH);
            create(xmlUrlSet, "/link-1", XmlUrl.Priority.HIGH);
            create(xmlUrlSet, "/link-2", XmlUrl.Priority.MEDIUM);
    
            // aquí podemos crear un bucle con información de nuestra base de datos.
            ...
    
            return xmlUrlSet;
        }
    
        private void create(XmlUrlSet xmlUrlSet, String link, XmlUrl.Priority priority) {
            xmlUrlSet.addUrl(new XmlUrl("http://www.mysite.com" + link, priority));
        }
    
    }

    Con este código ya tenemos todo lo necesario para crear un fichero básico sitemap.xml en nuestro sitio web. Espero que os haya sido de ayuda.


  • DESARROLLO DE PROYECTOS A MEDIDA

    ¿Tienes un proyecto en mente y necesitas una web o app móvil? Contacta conmigo y te ayudaré a conseguir tu propósito.

    DIRECCIÓN

    Lucena (Córdoba), España

    EMAIL

    juanfriashidalgo@gmail.com
    apptumeta@gmail.com