Posts

Showing posts with the label Java

Top common mistakes of Java developers && Common mistakes in C++ (for Java developers)

Top common mistakes for Java developers Reference to the article 1: Neglecting Existing Libraries 2: Missing the ‘break’ Keyword in a Switch-Case Block 3: Forgetting to Free Resources 4: Memory Leaks 5: Excessive Garbage Allocation 6: Using Null References without Need 7: Ignoring Exceptions 8: Concurrent Modification Exception 9: Breaking Contracts 10: Using Raw Type Instead of a Parameterized One Top common mistakes for Java developers when programming C++ Reference to the article 1: Type conversion rules 2: Memory management 3: Deterministic destruction 4: Exception handling

Design Patterns code examples

Design Patterns code examples Index Gof Patterns code examples You can download code from GitHub Updated You can find implementation in Java of the following design patterns: Design Patterns Decorator Car decorator example Observer Subject, suscribers example Singleton Concurrent access example Abstract Factory Abstract factory that creates virtual robots example Command Invoker, command, receiver (simulates a cars race) Adapter International facilities adapter Facade Mobile Clinic facade example MVC Compound pattern: Model as Observer, Controller as Strategy, View as Composite (ref:HFDesign Patterns) GitHub: https://github.com/Leonarden/gofPatternsExamples

Proxy pattern example

Image
Proxy pattern Index Proxy pattern Includes code that you can download from GitHub Other proxy pattern examples Theory The proxy pattern Provide a surrogate or placeholder for another object to control access to it. One reason for controlling access to an object is to defer the full cost of its creation and initialization until we actually need to use it. In this example we have simulated a remote communication as you will see. The UML model is Figure-1 Code of the application Comm Interface package com.patterns.proxy; public interface Comm { public String receive(); public boolean reset(); } CommImpl Class package com.patterns.proxy; public class CommImpl implements Comm { private static int INFOLENGTH = 10; private boolean isAlive = false; private String information; public String receive() { // TODO Auto-generated ...

Understanding java.util.concurrent.Future (Basics)

In this article you'll find a basic example of this Java interface and it will introduce you to the use of the @Async Spring, EJB, annotation You can find it at: Future interface basics

Introduccion a Groovy

Introduction to Groovy Index Introduccion a Groovy Conceptos basicos del lenguaje Groovy... 1. En Java...en Groovy 2. Instalando Groovy 3. Tipos de dato 4. Closures 5. Enlaces de interes Groovy core semantics 1. En Java...en Groovy Ejemplo basico en Java : public class HelloEcho { public static void main( String[] args ) System.out.println("Hello Echo!"); } } Se ejecutaria tambien en Groovy !! Veamos otras caracteristicas del lenguaje : 1) Es debilmente tipado, como JavaScript o Perl. 2) El ambito de metodos y atributos de clase es por defecto public. 3) Punto y coma al final de linea es opcional asi, la sintaxis siguiente seria correcta: class HelloEcho { static main( args ){ def avar = « Echo ! » println "Hello ${ avar }" } } Ademas, como dijimos Groo...

Introduccion a WebSockets

Index Introduccion a los WebSockets WebSockets, HTML5, Java, Introduccion. 1. Ajax y WebSockets 2. Transferir datos entre Cliente y Servidor 2.1. Polling a intervalos 2.2. Long Polling 2.3. Chunked Encoding 2.4. Applets y Adobe Flash 3. WebSockets 3.1. Uso de WebSockets 3.2. API WebSocket HTML5 3.3. API WebSocket de Java JavaEE 7 API Introduccion a los WebSockets 1. Ajax y WebSockets Cuando a principio de los 90 el contenido de la web era principalmente estatico, se decidio mejorar la interaccion entre el usuario y el contenido mostrado. Para ello, la solucion pasaba por JavaScript en el navegador, los primeros navegadores ofrecian distintas implementaciones y JavaScript era lento podia provocar ataques a la seguridad. A lo largo de los años se ha mejorado con diferentes frameworks (Dojo, jQuery, node.js, Angular), que nos pe...

Mantener el estado en una aplicación web

Doc template Index Uso de session en Webapps Mantener el estado en aplicaciones Web ... Navegador, Servidor, Cookies y Http Básico Mantener el estado en una aplicación web Sessions y Cookie Navegador, Servidor, Cookies y HTTP Una manera de mantener el estado de una conexion en el protocolo HTTP 1.1 se consigue mediante el envio de IDs de sesion entre el navegador y el servidor al que conecta.  De esta manera el navegador conserva dicho ID para futuras conexiones. Se trata de un mecanismo, mediante el que se envía reciben un conjunto arbitrario de datos en conexiones HTTP a través de la cabecera de respuesta "Set-cookie", y que el cliente almacena localmente y re-envía en cada nueva conexion al servidor a través de la cabecera "Cookie" de la request. Entre los atributos que contiene una Cookie, puede ser casi cualquier dato string, establecido por el servidor, solemos encontrar el nombre del dominio, una ruta dentro de dicho serv...

Java Crypto Architecture (Introducción)

Introducción a JCA (JDK 1.7) JCA Crypto Security Introducción a JCA (JDK 1.7) Seguridad y Cifrado (JCA) es uno de las partes más importantes de la plataforma Java, contiene una arquitectura de "proveedores" y APIs para firma digital, generación de hashes en mensajes, certificados y validación de certificados, cifrados (simétricos/asimétricos, para recursos de I/O de modo bloque o de flujo), generación de claves y su almacenamiento/recuperación/distribución, generación segura de numeros aleatorios, por nombrar unos pocos. Estas APIs permiten a los desarrolladores una via de integrar seguridad en el código. JCA ha sido diseñada bajo los siguientes principios: Independiente de la implementación: ADentro de una aplicación no es necesario implementar algoritmos de seguridad. En su lugar, realizaremos llamadas a servicios provenientes de la plataforma. Estos servicios contienen la implementación de seguridad de diverentes ...