Java nació en 1995, de la mano de la ya desaparecida Sun Microsystems. Una de las principales razones de su longevidad y a la vez de que sea tan actual, es que permite escribir un programa una sola vez y ejecutarlo en cualquier dispositivo. JAVA interactúa con el hardware del dispositivo donde se ejecuta a través de JVM (Java Virtual Machine).
Cada vez más las aplicaciones de JAVA se están desarrollando para la nube. Esto es una tendencia general en todas las aplicaciones, independientemente del lenguaje en el que están desarrolladas. Las aplicaciones cada vez más se desarrollan para la nube, por lo que es una gran ventaja de JAVA y le hace que lidere el ranking en la demanda de desarrolladores.
Además de esta gran ventaja de JAVA, tenemos otras que destacar como:
Actualmente la ciberseguridad es fundamental para todas las empresas, de hecho, el perfil de especialista en este ámbito ha aumentado muy significativamente.
Según los datos aportados en el Informe 2017 Global Information Security Workforce Study (elaborado por ISC), en 2022, faltarán más de 350.000 especialistas en ciberseguridad en toda Europa. Previo a ello, en 2020, las vacantes llegarán a los 1,5 millones.
A día de hoy, la ciberseguridad está considerada una profesión emergente debido a las necesidades de las empresas. El número de organizaciones que adoptan programas y estrategias específicas ha aumentado. Por este motivo, la contratación de personal con este perfil se ve beneficiada.
El problema radica en la falta de profesionales cualificados en este ámbito. Esta es la razón por la que muchas personas encuentran una oportunidad laboral o una motivación para formarse en ciberseguridad.
En relación a los salarios, el especialista en ciberseguridad, supera con creces el salario medio de los salarios del sector Informático y de Telecomunicaciones.
Para poder cumplir con los requisitos que se exigen en un puesto de este tipo, es necesario estar en posesión de Certificaciones TIC. Entre las más importantes se encuentran las siguientes: CCNP, CCSA, CCNA, F5 LTM, Palo Alto CNSE, SANS SEC-401, CISSP y CEH.
Además de ello debes tener conocimientos en lenguajes de programación como Java, C++…
Es de suma importancia la actualización en la formación y se valora positivamente que el candidato tenga algún Máster relacionado o formación complementaria a su titulación.
En lo relacionado con los idiomas, el inglés es esencial.
En 2018 las empresas comenzaron a demandar nuevos perfiles profesionales para desarrollar su proceso de Transformación Digital. Se busca tener una mayor proximidad con el usuario final y con el cliente y por este motivo crece la demanda en el sector de la analítica.
El ránking de los 10 perfiles IT más demandados lo encabezan los especialistas en Java, un lenguaje de programación muy polivalente, consolidado, estable y que permite la convivencia con otras tecnologías Frontend más actuales.
Una de las competencias que se exigen en los procesos de selección es la de trabajar con metodologías ágiles como Scrum. Será el estándar de la industria de la ingeniería de software en un futuro próximo.
Los profesionales con este perfil se integran en un grupo de trabajo ágil y tendrán que colaborar con otros perfiles dentro de la empresa que no poseen conocimiento de programación pero cuentan con una visión amplia del proyecto en el que trabajan.
Informes como el realizado por la Digital Talent Agency (DTA) sobre Perfiles IT más demandados en 2018: prospecciones del mercado tecnológico según los expertos en selección, avalan estos datos.
¿Qué es la Certificación Java Foundations de Oracle?
Certifícate profesionalmente con Oracle y tendrás el aval con el que podrás demostrar tus conocimientos y habilidades en Java con una distinción que cuenta con reconocimiento por parte de las industrias que emplean a profesionales en TI.
La obtención del título de Asociado Junior Certificado en Java Foundations hará que te diferencies del resto de personas que tienen tu misma titulación.
Dirigido a…
Este curso va dirigido a estudiantes con poca experiencia en programación. Se introduce a los estudiantes a conceptos orientados a objetos, terminología y sintaxis, así como a los pasos necesarios para crear programas básicos en Java a través de actividades prácticas e interesantes. Los estudiantes aprenderán los conceptos de programación en Java, diseñarán aplicaciones orientadas a objetos con Java y crearán programas en Java a través de actividades prácticas e interesantes.
¿Para qué sirve?
Las certificaciones a nivel de Asociado Junior de Oracle son de utilidad para aquellas personas que acaban de terminar sus estudios de informática y van a buscar su primer empleo en el sector.
También te servirá como preparación de otras certificaciones más avanzadas como Asociado Certificado de Oracle y, más adelante, a nivel de Profesional Certificado de Oracle.
¿Qué es necesario?
Para obtenerla deberás hacer el curso de preparación con el cual obtendrás un código válido para poder completar y superar el examen correspondiente.
¿Tengo acceso a la preparación de estas certificaciones si me matriculo en Instituto FOC?
Desde el nacimiento de internet es indudable la gran cantidad de oportunidades y ventajas que nos ha proporcionado, pero no todo son ventajas y oportunidades, en ocasiones podemos vernos con situaciones de fraude no deseadas.
El supuesto anonimato que ofrece internet, pero sobre todo la capacidad de operar desde cualquier lugar del mundo, hace que se convierta en una oportunidad ideal para la realización de fraudes de todo tipo.
Los fraudes más comunes son los siguientes:
En las compras ONLINE.
Productos falsificados.
Cargan importes superiores a los indicados en el producto.
Plazos de envío superiores a los indicados.
No tienen un teléfono de reclamaciones, solo formularios de contacto de los que nunca tienes respuesta.
El Phishing o robo de datos personales, credenciales de acceso a servicios online o los más buscados, información bancaria. Se basa en enviar mails suplantando a la entidad de la cual quieren robar tus credenciales, con la finalidad de que a través de este correo, siguiendo un enlace adjunto, te dirijas a una web que suplanta a la original y en ella introduzcas tus credenciales.
Falsos prestamos, a través de las redes sociales estos delincuentes ofrecen préstamos a muy bajo interés. Aprovechándose de la desesperación de la gente, con el engaño de un tipo de interés tan bajo, reclaman dinero por adelantado, para gastos de gestión y una vez recibido el dinero desaparecen.
Encontrar pareja por internet. Es este caso lo que más se usa la suplantación de identidad, creando perfiles falsos en redes sociales, con fotos y videos de carácter sexual o comprometedor. Una vez conseguida la confianza de la víctima solicitan cantidades de dinero por cualquier motivo.
Falsos alquileres o ventas de vehículos. Consiste en ofrecer alquileres de inmuebles o coches muy baratos. En ambos casos, el engaño suele ser similar: propietarios que se encuentran en el extranjero, y que no pueden salir del país en el que residen por el alto coste que supondría venir a realizar la operación de venta o alquiler. Además alegan que ya no volverán y por lo tanto no tienen interés en seguir residiendo o haciendo uso del bien en cuestión, y que por ese motivo lo alquilan o venden. El resultado siempre es el mismo, no hay inmueble que alquilar ni vehículo que vender.
Con esta información solo queremos dar a conocer estos fraudes a los usuarios de Internet y que puedan eludirlos y a ser posible denunciarlos.
Aunque Microsoft ha dado un gran salto en el intento de agradar a los desarrolladores, con el lanzamiento de Windows 10.
Otros sistemas de Microsoft no gustaron mucho a los desarrolladores, pero Windows 10 con la incorporación de subsistemas Linux, empieza a tener cada vez más seguidores.
Pero Linux sigue teniendo mucho que decir en cuanto a su uso como plataforma de desarrollo de software y mantiene una serie de atractivos que le hacen retener a los desarrolladores.
Para realizar una comparación justa en igualdad de condiciones, necesitamos de la colaboración de los grandes del software que se niegan a portar o editar su software para Linux.
En cualquier caso la plataforma del pingüino mantiene una serie de ventajas muy visibles que le permiten mantener gran número de seguidores entre los desarrolladores de software.
Bajo mi punto de vista las ventajas de Linux son:
Es libre y gratuito, lo que le aporta flexibilidad y coste 0,00€ en licencias.
Recursos, permite la optimización del sistema para la compilación o para las herramientas de desarrollo que uses.
Es sencillo, aunque tiene fama de complejo, no es complicado de usar y gestionar.
Tiene soporte para múltiples lenguajes de programación como C, C++,PHP, HTML, CSS, JavaScript, Perl, Java, Python, etc.
Pero seguro que los desarrolladores que siguen en Linux tienen muchas más razones para trabajar con Linux, en el desarrollo de sus proyectos.
Para conseguir una buena experiencia entre los usuarios de nuestra página web, tenemos que conseguir que la carga de la página sea lo más rápida posible y conseguir que el tiempo de respuesta sea adecuado. Estas técnicas para la mejora de la experiencia de los usuarios web, son estudiadas por los alumnos del certificado de profesionalidad IFCD0210-Desarrollo de Aplicaciones con Tecnologías Web, y el IFCD0110 Confección y publicación de páginas web.
Para saber qué velocidad de carga tiene nuestra web y su tiempo de respuesta podemos usar dos herramientas gratuitas.
Para medir la velocidad, la herramienta de Google denominada PageSpeeds Insights.
Para medir el tiempo de carga web, utilizaremos Pingdom.
La herramienta PageSpeeds Insights analiza la página web que le indiquemos, ofreciendo todo tipo de destalles con respecto a las mejoras necesarias para aumentar la velocidad de la página web, para ello mide el rendimiento de las páginas para dispositivos móviles y para ordenadores, puntuando de 0 a 100. De forma que si una página tiene 90 puntos es que está muy bien optimizada su velocidad. En el ejemplo de abajo vemos justamente lo contrario, solo 38 puntos de 100.
Para medir el tiempo de carga usaremos Pingdom. Es muy sencillo de usar, solo tenemos que indicar la web a chequear y nos ofrece los resultados.
El resumen de resultados es el siguiente, en el que te indica el tiempo de carga (Load Time), que como podemos ver es muy alto, ya que Google recomienda 1,5 S.
Es muy importante tener presente que el tiempo de carga y la velocidad de respuesta de una página web, pueden ser factores determinantes para el éxito o el fracaso de una página web.
Las hojas de estilos CSS en inglés Cascading Style Sheets (en español Hojas de Estilo en Cascada), permiten el control total sobre la presentación de las páginas web.
Con las hojas de estilos CSS, puede colocar y definir con precisión la apariencia de los elementos de una página web.
Una hoja de estilos CSS puede ser:
Externa
Interna
En línea
El orden de prioridad de las hojas de estilos es la siguiente:
La hoja de estilos en línea frente a la externa e interna
La hojas de estilos interna frente a la externa
Además debemos tener presente que una página web puede usar uno o varios de estos tipos de CSS a la vez.
Para que sirven los distintos tipos de hojas de estilos.
Las CSS externas sirven para aplicar de forma coherente los mismos estilos a un proyecto web. De esta forma una modificación en un estilo se aplica a todas las web de un proyecto, de forma automática.
Las CSS internas o también conocidas como incrustadas, sirven para aplicar estilos a una sola web y también para modificar los estilos de heredados de una CSS externa. Las CSS internas se incluyen entre las etiquetas <head> de las páginas web.
Las CSS en línea sirven para aplicar las propiedades de las hojas de estilos en cascada a elementos individuales de una página sin tener que reutilizar el estilo. Los estilos en línea se definen dentro de las etiquetas iniciales de los elementos HTML de páginas web.
Por ejemplo:
<div id=»reloj» style=»font-family: ‘DS-Digital’; width: 450px; background-color: black;font-size:100px;color: green ; text-align: center «></div>
En el artículo de la semana pasada, usamos Javascript para aplicar estilos al reloj digital propuesto, mediante estilos en línea. Estos mismos estilos los podemos aplicar mediante:
Animo a lector a desarrollar sus estilos para este reloj digital y publicar el código. Es un ejercicio muy gratificante.
Todos nuestros alumnos que han cursado el certificado de profesionalidad IFCD0210-Desarrollo de Aplicaciones con Tecnologías Web, y el IFCD0110 Confección y publicación de páginas web, conocen bien todos estos aspectos de las CSS y saben como aplicarlas según los requerimientos de la web que estén programando.
Todos nuestros alumnos que han cursado el certificado de profesionalidad IFCD0210-Desarrollo de Aplicaciones con Tecnologías Web, conocen que Javascripts es un lenguaje que se ejecuta en el lado del cliente. Permitiendo esto una serie de funcionalidades que hacen que la página cambie su contenido sin necesidad de llamadas al servidor, es decir, cambia de aspecto en el navegador de nuestro ordenador. Una de estas funcionalidad es la de mostrar el fecha y hora actual en nuestra web.
Hay muchos programas de edición web y CMS que permiten añadir esta funcionalidad a nuestras webs, pero para los que buscamos profundizar un poco más, nos gusta saber como hacerlo manualmente, y así aportar nuestro toque personal. Para ello también podemos usar CSS.
Las funciones más usadas para esta funcionalidad son:
Función
Descripción
getDate()
Devuelve el día del mes (entre el 1 y el 31)
getDay()
Devuelve el día de la semana (entre el 0 y el 6)
getMonth()
Devuelve el mes (entre el 0 y el 11)
getFullYear()
Devuelve el año (en formato de 4 dígitos)
getHours()
Devuelve la hora (entre el 0 y el 24)
getMinutes()
Devuelve los minutos (desde 0 a 59)
getSeconds()
Devuelve los segundos (desde 0 a 59)
getTime()
Devuelve el número de milisegundos desde el 01/ Enero /1970
getTimezoneOffset()
Devuelve la diferencia de horario en minutos entre la hora local y GMT (Meridiano de Greenwich)
getUTCHours()
Devuelve la hora de acuerdo a UTC (Tiempo Universal Coordinado)
Para usar estas funciones, es tan sencillo como crear una variable con new Date() para definir la fecha y hora actual y luego pintar en pantalla los datos que deseemos. En el ejemplo siguiente, pintamos el día del mes en el que estamos.
<script type=»text/javascript»>
var d = new Date();
document.write(d.getDate());
</script>
Si queremos que nos diga la hora, podemos escribir el siguiente código:
<script type=»text/javascript»>
var d = new Date();
document.write(d.getHours());
</script>
Para conseguir que nos de toda la información sobre le fecha y hora, podemos encadenar las funciones de fecha y hora, mediante el siguiente código:
<script type=»text/javascript»>
var d = new Date();
document.write(‘Fecha: ‘+d.getDate(),'<br>Dia de la semana: ‘+d.getDay(),'<br>Mes (0 al 11): ‘+d.getMonth(),'<br>Año:’+d.getFullYear(),'<br>Hora:’+d.getHours(),'<br>HoraUTC: ‘+d.getUTCHours(),'<br>Minutos: ‘+d.getMinutes(),'<br>Segundos: ‘+d.getSeconds());
</script>
Obteniendo un resultado en pantalla como el siguiente:
Fecha: 18
Día de la semana: 5
Mes (0 al 11): 7
Año: 2017
Hora: 9
Hora UTC: 7
Minutos: 15
Segundos: 51
Pero esto hay que adaptarlo a nuestro formato de fecha, de forma que sea el usado habitualmente en nuestro país. Por ejemplo el siguiente código, nos muestra la fecha en formato día/mes/año. Ejemplo 22/08/2017.
En muchas publicaciones encontraras ejemplos de códigos para pintar de forma correcta la fecha y hora en tus webs. Aconsejamos al lector que busque y pruebe los ejemplos de código propuestos.
En el siguiente ejemplo tienes el código básico para poner en tu web un reloj digital. A este código le puedes aplicar tantos formatos que como desees para personalizarlo.
Las computadoras cuánticas, están basadas en la mecánica cuántica y no tanto en la electrónica y por tanto tienen el potencial de ser más poderosas que las tradicionales, basadas en el sistema binario, es decir, unos y ceros que representan estados como «on/off» y «verdadero/falso».
Las computadoras cuánticas, contienen qubits, que pueden ser tanto 0 como 1 al mismo tiempo, un estado conocido como superposición.
Las partículas subatómicas (los electrones, fotones e iones) pueden ser manipulados para que se comporten de este modo tan misterioso. Este comportamiento tan excepcional, creen que puede hacer, que un computador cuántico, llegue teóricamente, aresolver tres millones de cálculos por segundo.
Desgraciadamente, hoy en día esta tecnología no está totalmente desarrolla y requiere de ciertas condiciones especiales para su funcionamiento. Una de ellas es que necesita que el procesador esté justamente por encima del cero absoluto (unos -273.15 en la escala de Celsius), además debe estar alejado de cualquier interferencia electromagnética.
Sin embargo, un sector tan pudiente como el de las finanzas está interesado en este tipo de computación, por la capacidad de calcular miles de escenario posibles, estudiarlos y elegir aquellos más viables a largo plazo. Pero también este mismo sector se plantea que esta capacidad del cálculo tan impresionante, será capaces de romper los códigos de encriptación de las transacciones financieras y las encriptaciones de cualquier otro tipo de sistema de seguridad implantado en los sistemas informáticos anteriores, a las supercomputadoras cuánticas.
Es decir, esta capacidad de cálculo que puede llegar a tener las supercomputadoras cuánticas romperá la seguridad informática, hasta la fecha implantada, comprometiendo gravemente, toda la seguridad de los sistemas financieros, gobiernos, ejércitos, etc.
Por lo que cabe concluir que necesitamos, “una fórmula matemática que cree un lenguaje encriptado imposible de quebrar». Según, Marco López de Prado, ejecutivo de la firma Guggenheim Partners.
Teniendo en cuenta que la capacidad de procesamiento de cada generación cuántica, es cada vez mayor, el tiempo apremia para conseguir esa fórmula matemática. De lo contrario, la seguridad de los sistemas informáticos, anteriores a la computación cuántica, se puede ver drásticamente comprometida.
Todos estos conceptos le son muy familiares a los alumnos del certificado de profesionalidad IFCT0210 Operación de Sistemas Informáticos ya que forma parte de su formación en ordenadores tradicionales.
Aunque en noviembre del 2016, ya anunciamos en este blog que Microsoft era nuevo miembro de platino en “Linux Fundation”. Si !!! ¿Increíble pero cierto?
Efectivamente, Microsoft tiene un lugar privilegiado junto a Cisco, Fujitsu, HPE, Huawei, IBM, Intel o Samsung en la fundación del pingüino. Es decir, Microsoft entra a las claras y sin tapujos en la casa madre de Linux.
Para muchos ha supuesto una verdadera sorpresa. ¿Los dos eternos rivales, ahora colaboran juntos? Pues sí, en especial desde que Satya Nadella está al frente de Microsoft.
No es una distribución completa de Ubuntu, pero atención, se anuncia que habrá nuevas posibilidades de descarga de SUSE y Fedora.
Con esta nueva estrategia, Windows pretende consolidarse como la plataforma mar versátil, para desarrolladores y así disuadir a los usuarios más avanzados, en la instalación de un segundo Sistema Operativo.
Para todos los alumnos de los certificados de profesionalidad que disponemos, tanto los de desarrollo, como los de Sistemas, no supone un gran cambio; ya que suelen trabajar con ambos sistemas operativos.
Lo dicho, QUIEN LO HUBIERA DICHO HACE UNA DÉCADA, QUE NOS LO HAGA SABER. Le felicitaremos, por ser el mejor visionario.
Este concepto indica la facilidad con la que algo puede ser accedido por todas las personas, especialmente por aquellas que poseen algún tipo de discapacidad. Busca la igualdad de acceso a la web para todos los usuarios.
Los usuarios con discapacidad tienen los siguientes problemas para acceder a la web:
Acceso a los contenidos web: problemas en visión, audición y/o movilidad.
Manipulación de periféricos: dificultades en el uso del teclado y/o ratón.
Interacción con los interfaces de usuario: dificultades en la navegación y/o comprensión.
Pero hay otros problemas de accesibilidad que no debemos olvidar y que son provocados por el idioma, la edad, conocimientos previos, conectividad, etc..
El máximo organismo dentro de la jerarquía de internet que se encarga de promover la accesibilidad es el World Wide Web Consortium (W3C), en especial su grupo de trabajo Iniciativa de Accesibilidad en la Web (WAI).
La accesibilidad web la podemos definir como la “posibilidad de que un sitio o servicio web pueda ser visitado y utilizado de forma satisfactoria por el mayor número posible de personas, independientemente de las limitaciones personales que tengan o aquellas derivadas del entorno que las rodea”.
El W3C, dispone de esta herramienta https://validator.w3.org/ en que todos los programadores web deben chequear el nivel de accesibilidad de las páginas desarrolladas.
El objetivo a cumplir es que este validador no reporte ni errores ni warning en la accesibilidad de nuestras web, aunque es por todos conocido, que es muy difícil.
Abajo adjunto el resultado de chequear la web de la Universidad de Granada (www.urg.es). Web con de gran importancia y visitada por un amplio abanico de usuarios a diario y que como podéis comprobar no está exenta de problemas de accesibilidad.
Beneficios que tiene para nuestra web al cumplir con las normas de accesibilidad:
Aumentar el número de usuarios visitantes del sitio web, al posibilitar que los usuarios con discapacidad, de edad avanzada, baja alfabetización, etc..
Disminución de costes y mantenimiento. Una página web accesible también permite la reutilización del contenido, al ser independiente del dispositivo de acceso.
Reduce tiempos de carga de las páginas web y del servidor
Consigue mejorar los resultados en los motores de búsqueda.
En certificado profesionalidad IFCD0210-Desarrollo de Aplicaciones con Tecnologías Web, se estudia con detalle todos los aspectos de la accesibilidad web, permitiendo que los alumnos sean capaces de desarrollar webs accesibles.
Con un sencillo Script podemos proteger nuestro código web y evitar que aquellos que andan con falta de inspiración o con pocas ganas de “currárselo”, puedan robarnos nuestro código web.
Después de probar muchos métodos puedo deciros que ninguno es seguro, la mayoría se limitan a bloquear el botón derecho del ratón y del teclado. Uno de ellos es el siguiente:
Como puedes ver es sencillo y a la vez bastante eficaz. Solo tienes que poner estos atributos en el “body” y el botón derecho del ratón y el teclado quedarán inutilizados.
Evidentemente, este sencillo script solo evita a los fisgones y programadores poco expertos, pero es un buen punto de comienzo.
El pasado mes de septiembre desde la página de TIOBE nos mostraron un informe con los lenguajes de programación mas populares.
El resultado que obtuvieron fue el siguiente:
Podemos observar que el lenguaje mas popular sigue siendo el lenguaje de programación C. Un lenguaje de programación estructurado y no orientado a objetos.
Una de los lenguajes que ha cogido mas protagonismo es el Objective-C. Este lenguaje de programación es el utilizado para el desarrollo de aplicaciones para Mac, Ipad e Iphone. Las altas ventas de IPhone e IPad han echo que este lenguaje halla ganado mas popularidad.
En el articulo completo nos sacan mas estadisticas sobre la evolución de la popularidad de algunos lenguajes y otros informes que nos indican la evolución y uso de los distintos tipos de lenguajes.
Una de las decisiones mas importantes a la hora de realizar un desarrollo es cuando decidir si un método es estático o no (en java o en C#).
Este concepto puede ser confuso para los desarrolladores.
Por convención para establecer nuestro punto de partida en nuestros programas el método main se declara como estático. Tiene lógica por que este es el punto donde nosotros vamos a indicar la secuencia de pasos que tiene que ejecutarse para solucionar nuestro problema.
También usamos los método estáticos para realizar conversión de valores, crear nuevos objetos, …
Uno de los principales errores que se comete a la hora de crear métodos estáticos es cuando se desconoce los fundamentos de POO y abusamos creando todos los métodos como estáticos.
Otro de los principales errores que se cometen en la declaración de elementos estáticos, es introducir métodos en nuestras clases como estáticos cuando en realidad no los son. Como por ejemplo para una validación de un campo interno de nuestra clase.
Por lo tanto a la hora de declarar un método estático debemos seguir las siguientes recomendaciones:
Si utilizamos en nuestras clases patrones del tipo Singleton o Factory para su construcción.
Cuando declaramos métodos de conversión de valores.
Cuando el método que estamos declarando devuelve un valor a través de los argumentos indicados.
Estas son algunas recomendaciones para utilizar mejor los métodos estáticos. Aprovecho para que a través de vuestros comentarios indiquéis alguna otra sugerencia.
Muchos de los problemas que tienen los desarrolladores es el hecho de trabajar con distintos entornos. Esto muchas veces nos obliga a tener una maquina con multitud de software instalados provocando la incompatibilidad de algunos programas.
La solución a este problema pasaba por utilizar maquinas virtuales según el tipo de desarrollo pero esto supone el tener espacio en nuestros discos duros para poder albergar las distintos entornos de desarrollo.
Si hablamos de desarrollo web y nos centramos en el diseño web tenemos el problema del comportamiento, a nivel de diseño principalmente, según el navegador que utilicemos.
Para solucionar este problema y sacar provecho a la nube a aparecido Spoon.net un sitio web donde nos ponen a disposición la utilización de distintas herramientas a través de nuestro navegador.
Tenemos una cuenta gratuita donde disponemos de los siguientes programas gratuitos para utilizarlos clasificados por categoría:
Productividad:
Utilidades:
Ademas de herramientas como clientes de correo electrónico, herramientas de edición de sonido y grabación de DVD’s, aplicaciones de ocio y un espacio de almacenamiento de 2GB.
Esto es lo que disponemos con nuestra cuenta gratuita. Lo mas interesante esta primera opción es la posibilidad de poder utilizar distintos tipos de navegadores web para probar nuestros diseño webs en distintos navegadores y ver el resultado.
Para un uso profesional dispones de los siguientes tipos de cuentas:
Personal: De esta cuenta lo que destacamos principalmente es el espacio disponible del que disponemos que se amplia a unos de 2GB a 20GB
Pro: Esta cuenta es la mas recomendada ya que incorpora el Spoon Studio con diversas herramientas para realizar nuestros propios desarrollos tanto en .Net como en Java. El espacio con el contamos es 200GB para esta cuenta.
Team: Y esta última versión es la mas completa incorporando ademas herramientas para la gestión de equipos.El espacio con el contamos es 500GB para esta cuenta e incorpora 5 cuentas de tipo pro.
Desde hace tiempo en la red están saliendo algunos programas para aprender jugando.
Uno de estos programas es la iniciativa de la «UCDS Schools of Engineering» a través de un software para aprender a programar java jugando.
En este juego, ambientado en mundo medieval fantástico, tu llevas a un personaje que tiene que ir realizando misiones. Lo interesante es que para realizar acciones o hechizos nos ayudamos de lenguaje java para definir acciones como hacer fuego o apagar un fuego.
De momento este juego solo esta disponible para MAC aunque están trabajando para la versión de PC.
Aquí os dejo un vídeo de presentación y el enlace de la página oficial para que le echéis un vistazo.
JSON (JavaScript Object Notation)es un formato ligero de intercambio de datos muy presente en javascript aunque podemos ver que este tipo de formatos se puede extender a lenguajes como C, C++, C#, Java, Perl yPython.
Su principal características es las simplicidad que tenemos para leer y escribir información por parte de los des arrolladores y por parte de nuestras máquinas.
JSON esta formado por:
Una vector/colección formado por pares de nombre/valor. En algunos lenguajes este tipo de vector/colección se le conoce como array asociativo, diccionario o tabla hash.
Una lista ordenada de valores.
Por ejemplo vamos a diseñar un sistema en javascript para automatizar los mensajes de error de un formulario a través de JSON. Para ello vamos a crear las siguiente variable JSON:
En el caso de que que queramos acceder a esa información solo tendriamos que hacer lo de la siguiente forma:
alert(infPresonal.edad);
Si os fijáis el acceso exactamente igual que cuando accedemos a un atributo publico en C# o Java.
Como en otros lenguajes realmente infPersonal es un array donde dentro podemos incluir cualquier otro tipo de objeto. Este tipo de formato nos va ayudar mucho para definir, sobre todo en javascript, constantes o elementos que vamos a utilizar para hacer nuestras páginas web dinámicas como representación de gráficas.
Desde hace un tiempo la revista Dr.Dobb’s se encarga de premiar a la industria del software con los premios denominados los Jolt Awards
Para este año 2013 podemos destacar los premiados en:
La mejor librería para la programación este año se ha llevado el premio «Infragistics NetAdvantage Ultimate 2012 Volume 2» esta libreria es una recopilación de componentes windows, abarcando desde el diseño de windwos forms a xaml e incluyendo soporte para controles para dispositivos moviles. Para el desarrollo para dispositivos moviles vemos que soporta para la programación en Windows Phone, Android e IOS.
Ademas incorporar una herramienta de diseño rápido de interfaz a través de la cual nos a ser muy útil para el diseño de prototipos para el usuario final.
Entra las librerías que han quedado finalistas nos encontramos las siguientes:
En el apartado de mejor herramienta para la codificación se lo ha llevado el software «JetBrains IntelliJ IDEA 12.0 Ultimate» Esta versión destaca por incluir una interfaz de usuario para el diseño de aplicaciones Android, un compilador más rápido, soporte para las nuevas funcionalidades de Java anunciadas. Ademas de incluir soporte para las distintas herramientas de control de versiones incorporando la integración con GIT y Team Foundation Server 2012.
Entra las herramientas de codificación que han quedado finalistas nos encontramos las siguientes:
Desde hace tiempo llevo escuchando la discusión sobre que lenguaje es mejor para aprender a programar. Las opciones que mas escogidas son Java, C# y PHP.
Algunos de los argumentos que nos puede convencer para elegir java son los siguientes:
Java es fácil de aprender
Java es un lenguaje orientado a la programación orientada a objetos
Java tiene un API muy potente que nos proporciona , entre otras, el pode realizar operaciones de Entrada y Salida (I/O), de networking, manejo para parsear documentos XML y interacción con las base de datos.
Herramientas de desarrollo muy potentes y gratuitas como Eclipse y NetBeans
Una amplia librerías de código Open Source como pueden ser Hibernate, Spring, ….
Java tiene comunidad detrás amplia que nos proporciona soporte para cualquier problema que tengamos
Java es Gratis.
Lo argumentos que nos pueden decantarnos por c# son los siguientes:
La utilización de Delegados (Delegates) y Eventos (Events). Su manejo es algo mas sencillo de utilizar que el uso de los listener en java para la gestión de los eventos.
No dispone de una descripción de las excepciones anidadas. En java cada vez que se produce una excepción se nos informa de todo el detalle que se ha visto involucrado en la propagación de la excepción. En C# esto no es así, simplemente se nos indica la excepción que se produce y la causa. Este nos facilita a la hora de depurar errores.
El uso de propiedades nos hace el identificar mejor que son los atributos internos de una clase de los elementos, a nivel público, con los que se interactua con la clase.
Es mas flexible a la hora de organizar el código. En C# no tenemos que seguir la jerarquía de paquetes a la hora de crear nuestras clase ni tener que definir un archivo por clase o interfaz. C# en este aspecto nos da total libertada para que organicemos nuestro código acorde con nuestro desarrollo.
C# es un lenguaje orientado a la programación orientada a objetos
Y por último veamos las razones por las que elegir o en defensa para aprender a programar en PHP:
Podemos trabajar conjuntamente con HTML para el diseño de nuestras aplicaciones.
Es muy intuitivo de aprender.
Desde la versión PHP 5 ya es considerado como un lenguaje orientado a la programación orientada a objetos.
Disponemos de Frameworks para la elaboración de aplicaciones webs bastantes potentes
La gran mayoría de aplicaciones web se basan en PHP (WordPress, Joomla, Drupal, Magento, …)
Para aprender a programar sin duda debemos escoger Java por la rectitud a la hora de aplicar las normas de la programación orientada a objetos.
Ahora para el desarrollo de una aplicación nos deberemos ajustar siempre a los requisitos que nos imponga el cliente.
Durante cualquier desarrollo en el que nos vemos involucrados uno de los problemas mas comunes con los que nos encontramos es el tratamiento de fechas.
JODA, Java Data Time API, fue creada para dar un cambio al tratamiento de fechas que nos proporciona java por defecto. La clases que nos proporcionan java por defecto para el manejo de fechas han tenidos numerosos bugs y producían, en muchas ocasiones, efectos no deseados.
A continuación indico algunas de las razones por las que nos podemos decantar por la API de JODA son:
Es fácil de usar permitiendo manejar directamente campos como año y día de la semana
Nos proporciona una serie de herramientas para poder hacer cálculos sobre fechas de forma mas intuitiva.
Dispone de un amplia documentación sobre como utilizar la librería
Una amplia cobertura para la realización de test
Soporte de manejo 8 Calendarios distintos simultáneamente.
Es Open-Source.
En su página oficial, http://joda-time.sourceforge.net/, disponemos de la documentación necesaria y tutoriales que nos indican como utilizar esta libreria de java
Una de las operaciones que realizamos habitualmente es el intercambio de elementos, swap, en nuestros programas. Para ello lo mas natural es utilizar una tercera variable de almacén temporal para realizar este intercambio.
Pues existe un método para poder realizar este intercambio, entre variables numéricos, sin tener necesidad de utilizar una tercera variable.
Supongamos que tenemos dos variables con los valores 30 y 40;
int a = 30; int b = 40;
Podemos realizar este intercambio realizando las siguiente operación;
a = a + b // a la variable a le asigno el valor de a + b
En este paso el valor de a es = 70 (30 + 40)
b = a – b // A b le asigno el resultado de resta al valor calculado anteriormente de a con el valor inicial de b
Cuando realizamos esta resta la operación que estamos haciendo es la siguiente b = a – b = (30 + 40) – 40
Después de la resta el valor que nos queda almacenado en b es el valor de a de 40.
a = a – b // Y una vez realizado el cálculo de b le resto el valor a la variable de a el nuevo valor de b
Y por último en esta resta la operación que estamos realizando es a = (30 + 40) – 30
Quedándonos en a el valor de inicial de b de 40.
Si mostramos el valor de esta variables por pantalla veremos que ambos valores se ha intercambiado.
Tras este artículo podemos llegar a la conclusión que no debemos abusar de crear variables para ayudarnos a resolver cualquier operación. A veces con nuestro propio ingenio y nuestro conocimientos podemos llegar a otras soluciones.
Según el último informe Tiobe, el lenguaje más popular en Marzo de 2013 sería Java con un 18% seguido de C con un 17%. C# queda en el quinto puesto con casi un 7% . Este índice Tiobe, es muy criticado por su importante componente histórico, es decir tiene en cuenta todos los recursos existentes en Internet sobre un lenguaje.
También existen índices, como el PYPL, que usan el número de búsquedas realizadas en un momento dado (utilizando Google Trends) sobre los distintos lenguajes. Según este índice Java sería el lenguaje más usado con un 27% seguido de PHP con un 14%. C# ocuparía el tercer lugar con un 10% empatado con Python.
Estos resultados contrastan con una reciente encuesta de codeeval (una importante comunidad de desarrolladores) que revela que para este año 2013 el lenguaje más demandado será Python, con casi un 30% seguido de Java por un 25%
Algo que sí podemos ver en las tres encuestas es que Java es un lenguaje cada vez más popular, con un ascenso cada vez mas claro de Python. No en vano son los dos lenguajes más utilizados por Google.
El pasado mes de febrero aparecieron dentro de los sistemas operativos windows una falsa actualizacion de java
Microsoft informo a los usuarios de la existencia de falsas actualizaciones de Java.
Desde los responsabes de la compañía de Java ha recordado y reiterado a los usuarios que es fundamental consultar la web oficial de Oracle para garantizar que las actualizacion de Java que nos descargamos corresponde con la oficial.
Durante el pasado mes de enero aparecieron numerosos y nuevos problemas con Java y su ejecución en el sistema operativo de Windows.
Desde los responsable de Microsoft informaron a los usuarios sobre estas prácticas delincuentes, identificando aquellas actualizaciones que prometen falsamente solucionar problemas de seguridad en Java y que sin embargo, dichas actualizaciones en realidad lo único que hacen es comprometer la seguridad de los equipos ya que son obra de cibercriminales y no realmente de Oracle, que es la empresa responsable del software auténtico.
Microsoft nos recomienda descargar las actualizaciones desde la propia página de oracle y desactivar las actualizaciones automáticas. En caso de no saber exactamente como realizar estas operaciones lo mejor es desistalar el software de java y dehabilitar la ejecución en nuestro navegador web la ejecucion de código java.