php archivos - Instituto FOC | Informática ONLINE | FP Informática ONLINE

Especialistas en Informática

Taller técnico: Metodología TDD

Al finalizar esta sesión serás capaz de:

  • Conocer la metodología TDD
  • Planteamiento de pruebas unitarias

Contenidos de la sesión:

  • Para poder conseguir los objetivos previstos en la sesión trataremos los siguientes contenidos con un enfoque práctico
    • Metodología TDD
    • Planteamiento de test unitarios
    • Test unitarios con phpUnit

¿Conoces los fraudes más comunes en Internet?

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.

5

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.

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, son capaces de detectar algunos de estos fraudes y eludirlos.

Los desarrolladores siguen prefiriendo Linux.

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.

Entre 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, tenemos partidarios de uno y otro sistema.

¿Cómo medir la velocidad de carga de mi página web?

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.

PageSpeed01

 

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.

pingdown01

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.

pingdown02

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.

 

Tipos de hojas de estilos que podemos aplicar en nuestra 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.

css

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:

  1. La hoja de estilos en línea frente a la externa e interna
  2. 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:

  • CSS interna, de la siguiente manera:
  1. <script type=»text/javascript»>
  2. function startTime(){
  3. today=new Date();
  4. h=today.getHours();
  5. m=today.getMinutes();
  6. s=today.getSeconds();
  7. m=checkTime(m);
  8. s=checkTime(s);
  9. document.getElementById(‘reloj’).innerHTML=h+»:»+m+»:»+s;
  10. t=setTimeout(‘startTime()’,500);}
  11. function checkTime(i)
  12. {if (i<10) {i=»0″ + i;}return i;}
  13. window.onload=function(){startTime();}
  14. </script>
  15. <div id=»reloj» ></div>
  16. <head>
  17. <style type=»text/css»>
  18. #reloj { font-family: ‘DS-Digital’;
  19.         width: 450px;
  20.                                background-color: black;
  21.                                font-size:100px;
  22.                                color: green ;
  23.                                text-align: center;
  24.                                }
  25.      </style>
  26. </head>
  • CSS externa, de la siguiente manera:

Contenido fichero externo con los estilos CSS. Lo llamaremos estilos_reloj.css.

  1. #reloj {
  2.                                font-family: ‘DS-Digital’;
  3.         width: 450px;
  4.                                background-color: black;
  5.                                font-size:100px;
  6.                                color: green ;
  7.                                text-align: center;
  8. }

Contenido fichero con el código principal:

  1. <script type=»text/javascript»>
  2. function startTime(){
  3. today=new Date();
  4. h=today.getHours();
  5. m=today.getMinutes();
  6. s=today.getSeconds();
  7. m=checkTime(m);
  8. s=checkTime(s);
  9. document.getElementById(‘reloj’).innerHTML=h+»:»+m+»:»+s;
  10. t=setTimeout(‘startTime()’,500);}
  11. function checkTime(i)
  12. {if (i<10) {i=»0″ + i;}return i;}
  13. window.onload=function(){startTime();}
  14. </script>
  15. <div id=»reloj» ></div>
  16. <head>
  17. <meta http-equiv=»Content-Type» content=»text/html; charset=iso-8859-1″ />
  18. <title>Ejemplo de estilos CSS en un archivo externo</title>
  19. <link rel=»stylesheet» type=»text/css» href=»estilos_reloj.css» media=»screen» />
  20. </head>

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.

 

Como mostrar la fecha y hora actual en nuestra página web usando Javascripts.

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.

<div style=»float:left;»>

<script type=»text/javascript»>

var  today = new Date();

var m = today.getMonth() + 1;

var mes = (m < 10) ? ‘0’ + m : m;

document.write(‘Fecha: ‘+today.getDate(),’/’ +mes,’/’+today.getFullYear());

</script></div>

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.

 <script type=»text/javascript»>

function startTime(){

today=new Date();

h=today.getHours();

m=today.getMinutes();

s=today.getSeconds();

m=checkTime(m);

s=checkTime(s);

document.getElementById(‘reloj’).innerHTML=h+»:»+m+»:»+s;

t=setTimeout(‘startTime()’,500);}

function checkTime(i)

{if (i<10) {i=»0″ + i;}return i;}

window.onload=function(){startTime();}

</script>

<div id=»reloj» style=»font-family: ‘DS-Digital’; width: 450px; background-color: black;font-size:100px;color: green ; text-align: center «></div>

¿Podrás aplicar estilos a este reloj digital hasta conseguir el siguiente aspecto?

Reloj-Digital

Una vez conseguida esta presentación, te animo a publicar el código, es un ejercicio muy gratificante.

 

¿Qué son las supercomputadoras cuánticas?

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».

BINARIO-TEXTO-1

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, a resolver 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.

Robo de password

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.

 

Linux en Windows. Quién lo hubiera dicho hace una década!!!!.

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.

Linux-Amor-Windows

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.

Ahora Windows y Linux ya trabajan juntos. Desde esta semana es posible descargar la distribución Ubuntu desde la tienda de aplicaciones de Microsoft en ordenadores  equipados con Windows 10.

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.

¿Cumple tu página web con las normas básicas de accesibilidad?

El concepto de accesibilidad es muy conocido por nuestros alumnos del certificado de profesionalidad IFCD0210-Desarrollo de Aplicaciones con Tecnologías Web, ya que forma parte del temario del curso.

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.1

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.

validator-w3-ugr

Beneficios que tiene para nuestra web al cumplir con las normas de accesibilidad:

  1. Aumentar el número de usuarios visitantes del sitio web, al posibilitar que los usuarios con discapacidad, de edad avanzada, baja alfabetización, etc..
  2. 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.
  3. Reduce tiempos de carga de las páginas web y del servidor
  4. 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.

Ejemplo de script para proteger el código fuente de nuestra página web

codigo-pc-llave

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:

<body oncontextmenu=»return false» onkeydown=»return false»>

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.

Este tipo de técnicas de programación web, las estudian nuestros alumnos del certificado de profesionalidad IFCD0210 Desarrollo de Aplicaciones con Tecnologías Web y están muy familiarizados con ellas.

 

 

 

Lanzar una URL desde PHP

En muchas ocasiones se nos plantea que debemos ejecutar una página web desde la nuestra SIN PERDER EL CONTROL del flujo de ejecución en nuestra página. Veamos en este post cómo Lanzar una URL desde PHP en segundo plano, sin abandonar la página actual.

Es una situación por ejemplo que tenemos programada una web en la que agregamos información a una BD y despues queremos continuar con la ejecución de nuestra web.

Bien para eso existen varios modos de hacerlo. En este post nos centramos en el trabajo con la clase cURL de PHP.

A través de distintos métodos podemos tanto construir el enlace junto los parámetros a enviar.

Aquí comienza el primer problema. ¿Deseamos enviar los parámetros por POST o por GET?.

En el ejemplo que acompaño, yo construyo este envío por el método GET:

 

<?php

<…. código deseado …..>

$url = ‘http://www.miurl.es/guardardatos.php/’;
$fields = array(
‘nombre’ => urlencode($nombre),
‘apellidos’ => urlencode($apellidos),
‘email’ => urlencode($mail),
‘telefono’ => urlencode($telefono),
‘provincia’ => urlencode($provincia)
);
//Poner los parámetros en el formato correcto
foreach($fields as $key=>$value) { $parametros .= $key.’=’.$value.’&’; }
rtrim($parametros, ‘&’);

$url = $url . ‘?’ . $parametros;

//abrir conexión
$ch = curl_init();

curl_setopt($ch,CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

//Si lo deseamos podemos recuperar la salida de la ejecución de la URL
//$resultado = curl_exec($ch);

//cerrar conexión
curl_close($ch);

<…. código deseado …..>

?>

 

 

Como digo la idea es que el flujo de la aplicación continue en mi funcion. Se realizará una llamada a la URL http://www.miurl.es/guardardatos.php/, junto con los parámetros que creemos en el string $parámetros y podremos recibir lo que produzca la ejecución de esa web que se realizará eso sí en segundo plano sin que el usuario aprecie nada.

 

¿Cual es el lenguaje de programación mas popular?

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:

toplanguageprogramming

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.

Actualiza tu Título de FP de Desarrollo de Aplicaciones Informáticas al nuevo Desarrollo de Aplicaciones Multiplataforma

El Real Decreto 450/2010, de 16 de abril estableció el título de Técnico Superior en Desarrollo de Aplicaciones Informáticas como una de nuevas titulaciones (LOE) de Formación Profesional de Grado Superior dentro de la familia de Informática.

 Posteriormente la Orden de 16 de junio de 2012 de la Consejería de Educación de la Junta de Andalucía desarrolló el currículo correspondiente. 

Aquellos alumnos/as que estudiaron el Ciclo de Desarrollo de Aplicaciones Informáticas (LOGSE) tienen la posibilidad de obtener la nueva titulación LOE convalidando buena parte de los módulos o asignaturas que cursaron.

La tabla estas convalidaciones es la siguiente:

0493. Formación y Orientación Laboral.
0373. Lenguajes de marcas y sistemas de gestión de información.
0489. Programación multimedia y dispositivos móviles.
0490. Programación de servicios y procesos.
0491. Sistemas de gestión empresarial.
0492. Proyecto de desarrollo de aplicaciones multiplataforma.
0494. Empresa e iniciativa emprendedora.

 Más información en:

https://www.foc.es/curso-tecnico-superior-desarrollo-aplicaciones-multiplataforma.php

Actualiza tu Título de FP de Administración de Sistemas Informáticos al nuevo Administración de Sistemas Informáticos en Red

El Real Decreto 1629/2009, de 30 de octubre estableció el título de Técnico Superior en Administración de Sistemas Informáticos en Red como una de nuevas titulaciones (LOE) de Formación Profesional de Grado Superior dentro de la familia de Informática.

 Posteriormente la Orden de 19 de julio de 2010 de la Consejería de Educación de la Junta de Andalucía desarrolló el currículo correspondiente. 

Aquellos alumnos/as que estudiaron el Ciclo de Administración de Sistemas Informáticos (LOGSE) tienen la posibilidad de obtener la nueva titulación LOE convalidando buena parte de los módulos o asignaturas que cursaron.

La tabla estas convalidaciones es la siguiente:

ASI (LOGSE) <=> ASIR (LOE)
Sistemas informáticos monousuario y multiusuario =   0369. Implantación de sistemas operativos
Redes de área local  =   0370. Planificación y administración de redes
Sistemas gestores de bases de datos =   0372. Gestión de bases de datos  y 0377. Admón. de sistemas gestores de bases de datos
Fundamentos de programación   =   0373. Lenguajes de marcas y sistemas de gestión de información.
Desarrollo de funciones en el sistema informático = 0374. Administración de sistemas operativos.
Implantación de aplicaciones informáticas de gestión =   0376. Implantación de aplicaciones Web.
Formación en centro de trabajo = 0382. Formación en centros de trabajo.
 
 
Si tienes el Ciclo de Administración de Sistemas Informáticos puedes obtener en el Instituto Fomento Ocupacional y en modalidad a distancia el nuevo Ciclo de Administración de Sistemas Informáticos en Red cursando,  cursando únicamente los siguientes módulos:
 

0380. Formación y Orientación Laboral

0371. Fundamentos Hardware

0381. Empresa e iniciativa emprendedora

0378. Seguridad y alta disponibilidad

0375. Servicios de red Internet

0379. Proyecto Integrado

Más información en:

https://www.foc.es/curso-tecnico-superior-administracion-sistemas-red.php

 

¿Qué lenguaje de programación (Java, C# y PHP) es mejor para aprender a programar?

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:

  1. Java es fácil de aprender
  2. Java es un lenguaje orientado a la programación orientada a objetos
  3. 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.
  4. Herramientas de desarrollo muy potentes y gratuitas como Eclipse y NetBeans
  5. Una amplia librerías de código Open Source como pueden ser Hibernate, Spring, ….
  6. Java tiene comunidad detrás amplia que nos proporciona soporte para cualquier problema que tengamos
  7. Java es Gratis.

Lo argumentos que nos pueden decantarnos por c# son los siguientes:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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:

  1. Podemos trabajar conjuntamente con HTML para el diseño de nuestras aplicaciones.
  2. Es muy intuitivo de aprender.
  3. Desde la versión PHP 5 ya es considerado como un lenguaje orientado a la programación orientada a objetos.
  4. Disponemos de Frameworks para la elaboración de aplicaciones webs bastantes potentes
  5. 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.

 

Convocatoria Pruebas de acceso para los ciclos formativos de grado superior en Andalucía

En Andalucía, cada año se lleva cabo una convocatoria ordinaria de pruebas de acceso a los ciclos formativos en el mes de junio, y otra de carácter extraordinario en el mes de septiembre.

Los plazos de solicitud son la primera quincena de mayo y la segunda de julio, respectivamente. Recuerda que no será necesario que te presentes a estas pruebas si estás en posesión de alguna de las titulaciones que se exigen como requisitos de acceso.

La prueba de acceso a los ciclos formativos de grado superior tiene como finalidad permitir a las personas que no poseen el título de Bachiller continuar su formación accediendo a los ciclos formativos de grado superior. Para ello deberá demostrar que poseen la madurez en relación con los objetivos de Bachillerato y sus capacidades referentes al campo profesional de que se trate.

Para acceder por esta vía es necesario cumplir 19 años de edad en el año de comienzo del curso escolar o 18 años si se está en posesión de un título de Técnico relacionado con el ciclo formativo al que se desea acceder.

En cualquier caso, se contempla la exención de parte de las pruebas que procedan para quienes hayan superado un programa de cualificación profesional inicial, un ciclo formativo de grado medio, estén en posesión de un certificado de profesionalidad relacionado con el ciclo formativo que se pretende cursar o acrediten una determinada cualificación o experiencia laboral.

Más información en:

http://www.juntadeandalucia.es/educacion/formacionprofesionalindex.php/pruebas-de-acceso

Pruebas de Acceso a la Formación Profesional de Grado Superior

En Andalucía, cada año se lleva cabo una convocatoria ordinaria de pruebas de acceso a los ciclos formativos en el mes de junio, y otra de carácter extraordinario en el mes de septiembre.

Los plazos de solicitud son la primera quincena de mayo y la segunda de julio, respectivamente. 

La prueba de acceso a los ciclos formativos de grado superior tiene como finalidad permitir a las personas que no poseen el título de Bachiller continuar su formación accediendo a los ciclos formativos de grado superior. Para ello deberá demostrar que poseen la madurez en relación con los objetivos de Bachillerato y sus capacidades referentes al campo profesional de que se trate.

Para acceder por esta vía es necesario cumplir 19 años de edad en el año de comienzo del curso escolar o 18 años si se está en posesión de un título de Técnico relacionado con el ciclo formativo al que se desea acceder.

En cualquier caso, se contempla la exención de parte de las pruebas que procedan para quienes hayan superado un programa de cualificación profesional inicial, un ciclo formativo de grado medio, estén en posesión de un certificado de profesionalidad relacionado con el ciclo formativo que se pretende cursar o acrediten una determinada cualificación o experiencia laboral.

 

Más información en:

http://www.juntadeandalucia.es/educacion/formacionprofesionalindex.php/pruebas-de-acceso

Ejemplos de exámenes:

http://www.juntadeandalucia.es/educacion/formacionprofesional/index.php/pruebas-de-acceso/1653-ultimas-pruebas

 

Prueba de Acceso a la Universidad, ¿acceso también a la FP?

La normativa educativa establece cuales son los requisitos de acceso a la Formación Profesional de Grado Superior. En concreto:

– Estar en posesión del título de Bachiller.

– Haber superado el segundo curso de cualquier modalidad de Bachillerato Experimental.

– Haber superado el curso de orientación universitaria (COU) o preuniversitario (PREU).

– Estar en posesión del título de Técnico Especialista, Técnico Superior o equivalente a efectos académicos.

– Titulación universitaria o equivalente.

– Haber superado la prueba de acceso a ciclos formativos de grado superior.

Sin embargo no se menciona a la Prueba de Acceso a la Universidad, ¿es posible acceder a al Grado Superior de FP con esta prueba superada?.

La respuesta es afirmativa, siempre y cuando:

– se trate de la prueba de acceso para mayores de 25 años (no se incluyen las de mayores de 40 ni de 45 años).

– se obtenga la convalidación por la prueba de acceso al Ciclo.

El requisito de la convalidación con la prueba de acceso al Ciclo es por tanto imprescindible y debe realizarse con carácter previo a la matrícula.

Para ello es necesario inscribirse en las Pruebas de acceso al Ciclo y solicitar la exención total de la misma, aportando la certificación correspondiente.

En Andalucía hay dos convocatorias: una en junio, con periodo de inscripción del 1 al 15 de mayo y otra en septiembre, con inscripción del 15 al 31 de julio.

Dicha convalidación es un mero trámite, pero necesario. Siendo recomendable que se realice en la primera de las convocatorias con objeto de poder solicitar la matrícula en el mes de junio.

Fuentes:

Art. 21 del REAL DECRETO 1538/2006, de 15 de diciembre, por el que se establece la ordenación general de la formación profesional del sistema educativo.

Información pruebas de acceso a la Formación Profesional en Andalucía

http://www.juntadeandalucia.es/educacion/formacionprofesionalindex.php/pruebas-de-acceso

 

 

 

Prácticas erróneas que cometen los desarrolladores de PHP

En la actualidad hay muchas aplicaciones realizadas por los desarrolladores de PHP. Muchos de estos desarrollares caen en los siguientes errores a la hora de realizar un desarrollo web.

Los principales errores que suelen cometer son:

1.- Utilizar el motor de base de datos MyISAM en vez de INNODB.

Normalmente en las bases de datos MySQL se suele poner por defecto el motor de base de datos MyISAM. Este motor no permite establecer claves foráneas o la utilización de transacciones. Por lo que si queremos crear una base de datos consistente MyISAM se nos quedara corto.

Mi recomendación es que siempre se utilice INNODB para, al menos, mantener la integridad referencial de los datos con los que vamos a interactuar con nuestras aplicaciones.

2.- Utilizar las funciones mysql de php

Otro error muy común es la utilización de las funciones que proporciona php para acceder a una base de datos MySQL. Desde la versión de PHP 4.1..3 tenemos disponible la clase MySQLi que dispone de constructores y método para realizar una gestión mucho mas eficiente de las sesiones con MySQL.

3.- No sanear la entrada de datos

Un error muy común es no proteger nuestros formularios de la inyección sql. Una de las formas mas correctas de evitar que se produzcan este tipo de ataques es no permitir caracteres como «‘» o «;» que puenda hacer ejecutar una sentencia SQL distinta de la que nosotros utilizamos.

4.- No utilizar UTF-8

Por defecto las bases de datos MySQL utilizan una calificación UTF8 pero los desarrolladores de PHP al realizar las web utilizan otro tipo de codificación basados en el idioma o paÃís en el que realizan la página.  Esto implica que la información que se almacena en nuestra base de datos no se introduce de forma correcta.

Para que no suceda esto lo mejor es utilizar siempre UTF8 de esta forma aseguramos que nuestra página se visualice bien en cualquier sitio.

5.- Favorecer el uso de PHP sobre SQL

Siempre debemos tener claro que debemos dividir la carga entre los distintos sistemas que nos componen nuestra aplicación. Así si nosotros queremos saber una media o el número de ventas producido en una fecha. Es mas simple y rapido realizar sobre SQL que utilizar PHP para realizar el cálculo sobre toda la información que obtenemos de la base de datos.

Muchos desarrolladores no tienen en cuenta esto y provocan que sus páginas tarden mas en cargarse para realizar una operación que desde la base de datos se realiza en pocos segundos.

6.- No optimizar las consultas realizadas en nuestros programas.

A la hora de realizar las consultas, en la gran mayoría de los casos, si esta muestra la información que deseamos la dejamos como esta. Esto puede provocar que cuando incremente nuestro volumen de datos esta consulta tarde mas en ejecutarse de lo esperado.

Muchos desarrolladores no conocen la orden de MySQL Exaplain. Esta orden de MySQL realiza un análisis de nuestra consulta mediante el cual podemos ver en que parte de nuestra consulta ralentiza la devolución de resultados y podremos optimizar la consulta para que se ejecute mas rápido.

7.- Utilizar tipos de dato erróneos para almacenar la información.

8.- Utilizar el * en las consultas select

Un error muy común a la hora de interaccionar con las bases de datos es realizar consultas en las que me devuelvan todos los campos de una tabla o vista. Esto puede hacer que tarden mas en visualizar el resultado de nuestra página ya que tiene que procesar toda la información cuando nosotros, en la mayoría de los casos, solo vamos a utilizar unas columnas determinadas.

Lo recomendable es evitar el * y seleccionar aquellas columnas que vamos a necesitar para nuestras páginas en PHP.

9.- Olvidar realizar backups

Espero que todas estas recomendaciónes las tengáis en cuenta en futuro para vuestros desarrollos sean en PHP o en otro lenguaje.

Abierto plazo inscripción para las Pruebas de Acceso a la FP en Andalucía

Para poder acceder a la Formación Profesional de Grado Superior, aplicable también para la FP a distancia es necesario:

– Estar en posesión del título de Bachiller.

– Haber superado el segundo curso de cualquier modalidad de Bachillerato Experimental.

– Haber superado el curso de orientación universitaria (COU) o preuniversitario (PREU).

– Estar en posesión del título de Técnico Especialista, Técnico Superior o equivalente a efectos académicos.

– Titulación universitaria o equivalente.

Para las personas que no reúnen ninguno de estos requisitos, anualmente se convocan unas pruebas de acceso a los ciclos formativos en junio y otras en septiembre.

Para acceder por esta vía a los ciclos formativos de grado superior, se requiere tener 19 años cumplidos en el año de celebración de la prueba o dieciocho se si acredita erar en posesión de un título de Técnico relacionado con aquel al que se desea acceder.

Además, quedan exentos de realizar la prueba de acceso aquellos aspirantes que hayan superado la prueba de acceso a la universidad para mayores de 25 años.

El plazo de inscripción para la convocatoria de junio es del 01 al 15 de mayo.

Más información en:

http://www.juntadeandalucia.es/educacion/formacionprofesionalindex.php/pruebas-de-acceso

Certificaciones PHP

Desde el centro FOC podéis solicitar el exámen para la certificación 2010 Zend/PHP Conference &amp; Expo.

El exámen Zend PHP de certificación proporciona reconocimiento de la industria del conocimiento y la habilidad con PHP. Obtener una ventaja sobre otros programadores de PHP que no están certificados, cuando se busca un nuevo trabajo, o en su revisión salarial anual.

El examen Zend PHP certificación abarca los criterios especificados por el plan de estudios Zend PHP Asesor de Educación es esencial para demostrar sus conocimeintos expertos en PHP. La credencial es un estándar de la industria que reconoce la experiencia de PHP.

El material para la certificación lo podéis descargar desde la siguiente página de Zend Techonologies:

http://www.zend.com/en/community/downloads

¿Necesitas ayuda?