jueves, 11 de agosto de 2022

Como crear una cuenta en google analytics

 Lo primero que haremos es ingresar a google analytics: https://analytics.google.com/

Una vez que hayas iniciado sesión, nos dirigiremos a ir al menú izquierdo "Administrar



Luego iremos a "Crear cuenta"


Ingresaremos un nombre para poder identificar a la cuenta y pulsamos "Siguiente"




El siguiente paso que nos solicitará es crear una propiedad para dicha cuenta, la cual nos ayudará para poder obtener el código de seguimiento

Nos pedirá un nombre de propiedad, país donde nos ubicamos y el tipo de moneda, luego pulsamos "Siguiente"

Ahora nos solicitará, seleccionar el tipo de empresa y su cantidad de empleados, para una mejor precisión del mismo, seleccionaremos todos los checks



Cuando pulsemos "Crear", nos solicitará aceptar un acuerdo para usar los servicios de google analytics, seleccionamos nuestro país y luego aceptar




Para terminar le indicaremos cual será el flujo de recolección de datos, en el cual seleccionaremos "Web"



Aquí es donde colocaremos nuestra url y un nombre para dicho flujo, terminamos pulsamos "Crear Flujo"


Una vez que termine de crear, nos ubicaremos al final de la página y pulsaremos "Ver instrucciones de etiquetas" y luego "Instalar Manualmente", aquí copiaremos el código de google tag y lo copiaremos en cualquier desarrollo que tengamos antes de la etiqueta "head"



Finalmente ya podemos ver en la sección de informes en tiempo real
















"








viernes, 24 de julio de 2015

Verificar conexión con java socket

En esta ocasión les traigo un método que hace uno de la clase "Socket", para poder validar la conexión: 

 


public static void main(String[] args) {
        // TODO Auto-generated method stub

        boolean validate = validateNetwork();
        System.out.println("el resultado");
        System.out.println(validate);
       
    }

   
    private static boolean validateNetwork(){
      
//declaramos la url ejemplo a conectarnos
        String dirWeb = "israelrosasdesign.blogspot.com";
        int puerto = 80;
        boolean validate = false;
       
        try{
            //instanciamos la clase Socket con la url y el puerto
            Socket s = new Socket(dirWeb, puerto);

//simplemente validamos con el método "isConnected"
            if(s.isConnected()){
              System.out.println("Conexión establecida con la dirección: " +  dirWeb + " a travéz del puerto: " + puerto);
             
              validate =  true;
             
            }
           
            }catch(Exception e){
              System.err.println("No se pudo establecer conexión con: " + dirWeb + " a travez del puerto: " + puerto);
             
              validate =  false;
             
            }
   
        return validate;
    }




Espero que les haya servido de ayuda y utlidad.


martes, 1 de julio de 2014

Configurar proyecto PrimeFaces con Spring Security - MAVEN



Configurar un proyecto PrimeFaces con Spring Security en Maven

Lo primero que haremos es colocar en el pom.xml las dependencias de Spring Security.

        <!-- Spring Security -->
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-core</artifactId>
            <version>3.1.4.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-web</artifactId>
            <version>3.1.4.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-config</artifactId>
            <version>3.1.4.RELEASE</version>
        </dependency>


 
Luego en el web.xml y crearemos lo siguiente:

<!-- 2 Listeners -->

<listener>
        <listener-class>

               org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
        <listener-class>

            org.springframework.security.web.session.HttpSessionEventPublisher
        </listener-class>
</listener> 

<!-- 1 Filtro -->
  <filter>
        <filter-name>springSecurityFilterChain</filter-name>
        <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>springSecurityFilterChain</filter-name>
        <url-pattern>/*</url-pattern>
        <dispatcher>FORWARD</dispatcher>
        <dispatcher>REQUEST</dispatcher>
    </filter-mapping>









  


Finalmente crearemos nuestro applicationContext.xml (Hay que recordar que este archivo ira en WEB-INF):




 <beans:beans xmlns="http://www.springframework.org/schema/security"
  xmlns:beans="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
           http://www.springframework.org/schema/security
           http://www.springframework.org/schema/security/spring-security-3.1.xsd">
          
    <http auto-config="true">
        <intercept-url pattern="/**" access="ROLE_ADMINISTRADORES" />
    </http>

    <authentication-manager>
        <authentication-provider>
            <user-service>
                <user name="vendedor" password="123456" authorities="ROLE_VENDEDORES" />
                <user name="admin" password="123456" authorities="ROLE_ADMINISTRADORES" />
            </user-service>
        </authentication-provider>
    </authentication-manager>
          
</beans:beans>
  

Para terminar solamente colocaremos por ejemplo en un menuItem un item llamado "Salir" con la siguiente url, hay que tener en cuenta que "/j_spring_security_logout" irá en el botón o link de "Logout" o "Cerrar Sesión":
<p:menuitem value="Salir" url="/j_spring_security_logout" />










miércoles, 25 de junio de 2014

Cambiar tema a un proyecto PrimeFaces con Maven



 Cambiar tema a un proyecto PrimeFaces con Maven

Como sabemos PrimeFaces esta basado en librerias jQuery por lo tanto maneja la parte de temas.
Lo primero que haremos es colocar en el pom.xml y esperamos que descarge el tema.
<dependency
    <groupId>org.primefaces.themes</groupId
    <artifactId>cupertino</artifactId
    <version>1.0.10</version
</dependency

 
Ahora en nuestro web.xml y crearemos un context-param.


 <context-param

    <param-name>primefaces.THEME</param-name

    <param-value>cupertino</param-value

</context-param>


Finalmente probamos el nuevo tema agregado.

jueves, 13 de marzo de 2014

Ordenar elementos Ascendente y Descendente con Java

Ordenar elementos Asc y Desc con Java - SortedMap/TreeMap



Para poder ordenar de manera asc y/o desc un conjunto de elementos usaremos la clase TreeMap, para poder realizarlo con una facilidad unica.


Creamos un SortedMap, cuyos valores respectivos (Key, Value) seran asignados, por ejemplo <String,Object>.

SortedMap<String, Object> map = new TreeMap<String, Object>();//Ascendente
//        SortedMap map = new TreeMap(java.util.Collections.reverseOrder()); //Descendente

        // Agrega algunos elementos
        map.put("0.002", "Dos");
        map.put("0.1", "Uno");
        map.put("0.00005", "Cinco");
        map.put("0.4", "Cuatro");
        map.put("0.3", "Tres");

        
        // Lee el TreeMap y te muestra los resultados en orden Descendente
        Iterator iterator = map.keySet().iterator();
        while (iterator.hasNext()) {
        Object key = iterator.next();
            System.out.println("Clave : " + key + " Valor :" + map.get(key));
        }



Si probamos el ejemplo podremos observar que la lista de Map se ordena automticamente sin necesidad de añadir una lógica adicional.

miércoles, 12 de marzo de 2014

String, StringBuffer, StringBuilder

Diferencias entre String, StringBuffer y StringBuilder




String

Al concatenar con el operador "+", es la forma mas básica para unir 2 cadenas de caracteres pero es la peor manera en cuanto a rendimiento.


Ejemplo:

String hola = "Hola, ";
String nombre = "ssnova";

String holamundo = hola + nombre;

StringBuffer

Permite una concatenacion de caracteres mutable, es decir nos ayuda a concatenar de manera rápida, simple y eficiente. 

Nota: Los métodos son sincronizados, por lo que se puede usar de manera segura en ambientes multihilos.

StringBuffer holamundoBuffer = new StringBuffer();
holamundoBuffer.append("Hola, ");
holamundoBuffer.append("ssnova24");

String holamundo = holamundoBuffer.toString();

StringBuilder

Concebido recien desde el JDK 1.5, y es la clase mas eficiente para la concatenación de caracteres.
 Nota: Sus métodos son NO SINCRONIZADOS, por lo que tiene un mejor rendimiento que StringBuffer, para usar el StringBuilder no es complicado ya que tiene la misma declaración y manera de uso que el String Buffer.

StringBuilder holamundoBuilder = new StringBuilder();
holamundoBuilder.append("Hola, ");
holamundoBuilder.append("ssnova24");

String holamundo = holamundoBuilder.toString();



Midiendo el Rendimiento StringBuffer y StringBuilder


 StringBuffer sbuffer = new StringBuffer();
        inicio = System.currentTimeMillis();
        for (int i=0; i<1000000; i++) {
            sbuffer.append("zim");
        }
        fin = System.currentTimeMillis();
        System.out.println("Tiempo del StringBuffer: " + (fin-inicio));

        StringBuilder sbuilder = new StringBuilder();
        inicio = System.currentTimeMillis();
        for (int i=0; i<1000000; i++) {
            sbuilder.append("zim");
        }
        fin = System.currentTimeMillis();
        System.out.println("Tiempo del StringBuilder: " + (fin-inicio));

StringBuffer: 93 milisegundos en concatenar un millon de String.
StringBuilder: 47 milisegundos para concatenar un millon de String.

Nota Final: La misma operacion se realizo con el operador suma, y hay que limpiar continuamente el Heap, y solamente para concatenar 100000 string con el operador "+", se demora 99812 milisegundos.




martes, 11 de marzo de 2014

Convertir String a Date en Java

Convertir un String a Date en JAVA:

Para conseguirlo utilizaremos la clase SimpleDateFormat

Primer Caso - de "dd-MMM-yyyy" a Date

SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy");
 String dateInString = "7-Jun-2013";
 
 try {
 
  Date date = formatter.parse(dateInString);
  System.out.println(date);
  System.out.println(formatter.format(date));
 
 } catch (ParseException e) {
  e.printStackTrace();
 }

Segundo Caso de dd/MM/yyyy a Date:

SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
 String dateInString = "07/06/2013";
 
 try {
 
  Date date = formatter.parse(dateInString);
  System.out.println(date);
  System.out.println(formatter.format(date));
 
 } catch (ParseException e) {
  e.printStackTrace();
 }




  Tercer Caso de "MM dd, yyyy" a Date:

 SimpleDateFormat formatter = new SimpleDateFormat("MMM dd, yyyy");
 String dateInString = "Jun 7, 2013";  
 
 try {
 
  Date date = formatter.parse(dateInString);
  System.out.println(date);
  System.out.println(formatter.format(date));
 
 } catch (ParseException e) {
  e.printStackTrace();
 }

  Cuarto Caso de "E, MM dd yyyy" a Date:

SimpleDateFormat formatter = new SimpleDateFormat("E, MMM dd yyyy");
 String dateInString = "Fri, June 7 2013";  
 
 try {
 
  Date date = formatter.parse(dateInString);
  System.out.println(date);
  System.out.println(formatter.format(date));
 
 } catch (ParseException e) {
  e.printStackTrace();
 }
 

Finalmente probamos y veremos los resultados

Espero haya servido de ayuda.