Programación en Internet

Blog de la asignatura de la titulación Ingeniero en Informática

13 marzo 2019
by Sergio Luján Mora
0 comments

Más cutre, imposible

Que en las instrucciones de cumplimentación de la aplicación ACADEMIA de la ANECA aparezca al final el siguiente aviso, no es cutre, es cutrísimo en pleno siglo XXI:

De manera general, en cualquier campo de texto libre, no use comillas, barra inclinada, paréntesis y otros símbolos, porque el mérito afectado podría no guardarse.

25 febrero 2019
by Sergio Luján Mora
0 comments

Cómo crear una hoja de estilo para impresión

En How to Create Printer-friendly Pages with CSS se proporciona un excelente análisis. Se indican estos escenarios en los que pueda ser necesario imprimir una página web:

  • printing travel or concert tickets
  • reproducing route directions or timetables
  • saving a PDF for offline reading
  • accessing information in an area with poor connectivity
  • using data in dangerous or dirty conditions — for example, a kitchen or factory
  • outputting draft content for pen annotations
  • printing web receipts for bookkeeping purposes
  • providing documents to those with disabilities who find it difficult to use a screen
  • printing a page for your colleague who refuses to use this newfangled t’internet nonsense.

18 febrero 2019
by Sergio Luján Mora
0 comments

El problema de todos los años

Todos los años planteo el mismo requisito a mis estudiantes, todos los años me encuentro que la mayoría lo hacen mal.

En una aplicación web, se tiene que realizar la comprobación de la credenciales (nombre de usuario, contraseña) para acceder al perfil del usuario. En una primera fase no hay base de datos, así que los datos de los usuarios están codificados en la propia página web.

Inicialmente les pedía que lo hicieran suponiendo que hay dos usuarios. Casi nadie almacenaba los datos de los usuarios en un array.

Después lo incrementé a tres usuarios, con la esperanza de que se dieran cuenta de que usando un array se escribe menos, el código es más legible y mantenible. La mayoría de los estudiantes lo seguían haciendo mal.

Después lo volví a incrementar a cuatro usuarios… todo seguía igual.

¿A cuántos usuarios lo tengo que incrementar para que piensen en utilizar un array?

Aquí dejo el fascinante código de uno de mis estudiantes:

 

if(!empty($_POST['usuario']) && !empty($_POST['pdw'])){



	$usuintro = ($_POST['usuario']);
	$contraintro = ($_POST['pdw']);

	$usu1 = "marcos111";
	$contra1= "marquitos111";

	$usu2 = "marcos222";
	$contra2= "marquitos222";

	$usu3 = "marcos333";
	$contra3= "marquitos333";

	$usu4 = "marcos444";
	$contra4= "marquitos444";


	if(strcmp($usuintro, $usu1) === 0){
		if(strcmp($contraintro, $contra1) === 0){
		
 	  		header('Location: usuario.php');	 
 	  		
 		}
 		else{
			
			echo'Usuario o contraseña incorrecto';
		}
	}
	
	if(strcmp($usuintro, $usu2) === 0){
		if(strcmp($contraintro, $contra2) === 0){
			
 			header('Location: usuario.php');
 		}
 		else{
			echo'Usuario o contraseña incorrecto';
		}
	}

	if(strcmp($usuintro, $usu3) === 0){
		if(strcmp($contraintro, $contra3) === 0){
		
			header('Location: usuario.php');
 		}
 		else{
			echo'Usuario o contraseña incorrecto';
		}
	}

	if(strcmp($usuintro, $usu4) === 0){
		if(strcmp($contraintro, $contra4) === 0){
		
			header('Location: usuario.php');
 		}
 		else{
			echo'Usuario o contraseña incorrecto';
		}
	}


	if(strcmp($usuintro, $usu1) !== 0){
		if(strcmp($usuintro, $usu2) !== 0){
			if(strcmp($usuintro, $usu3) !== 0){
				if(strcmp($usuintro, $usu4) !== 0){
			echo'Usuario o contraseña incorrecto';
				}
			}
		}
	}


}

11 febrero 2019
by Sergio Luján Mora
0 comments

Google también se lía con la localización

Me topado con un error de principiante en Google Trends, un error que al principio no entendía porque no me creía que estuviese pasando.

La fecha 31/12/2015 me la marcaba como incorrecta. ¿Por qué? Una pequeña prueba, pongo 12/31/2015 y ¡la fecha es válida!

 

Aunque el dominio es google.es y la página está en español, ¡las fechas hay que introducirlas en formato inglés!

Y no es ese el único error, si se despliega el calendario, ¡los días de la semana están puestos en inglés y la semana empieza en S de Sunday, en domingo!

 

6 febrero 2019
by Sergio Luján Mora
0 comments

Un poco de conocimiento es algo peligroso, te hace pensar que eres un experto cuando no lo eres

Ayer se publicó en el periódico El País “Nuestra civilización depende igual del software que del agua”, una entrevista a Bjarne Stroustrup, el padre de C++.

El primer lenguaje de programación que aprendí fue Basic, después C, después Visual Basic, y después C++.

En el año 2006 publiqué el libro C++ paso a paso, que no cubre ni el 5% de C++, un lenguaje de programación descomunal.

Recomiendo la lectura de esta entrevista, muy interesante todo lo que dice:

Está bien que la gente sepa algo de todo: de ciencia, de historia, de matemáticas, de código. Pero el peligro es que gente que ha hecho matemáticas en el instituto piense que es matemático. Sé de qué hablo: tengo un título en matemáticas, he conocido a grandes matemáticos y no juego en su liga. Por otro lado, hay un número enorme de adolescentes, casi siempre chicos, que piensan que lo saben todo de programar y construir sistemas y nadie debe contarles nada. Un poco de conocimiento es algo peligroso. Te hace pensar que eres un experto cuando no lo eres.