A LitTle bIt Of eVeryThInG..
$server="192.168.153.1";
$usuario="root";
$pass="123";
$db="laberinto";
$link=mysql_connect($server,$usuario,$pass)or die (exit(mysql_error()));
mysql_select_db($db);
print "Facil ";
print "< table border=1><td>Nombre</td><td>Modo</td><td>Tiempo [hh:mm:ss]";
$sqlx="Select * from ganadores where modo='facil' order by hora, minuto, segundo ";
$rsx = mysql_query($sqlx) or die(exit("Error"));
while($rowx=mysql_fetch_array($rsx)){
print "".$rowx["nombre"]."".$rowx["modo"]."".$rowx["hora"].":".$rowx["minuto"].":".$rowx["segundo"]."";
}
print "</table>";
Cuando configuramos un servidor de bases de datos con MySQL es importante brindar acceso a los clientes que se desean conectar a la base de datos, por defecto MySQL bloquea todas las conneciones por motivos de seguridad, entonces para brindar acceso tenemos que usar "GRANT"
GRANT [tipo_acceso] ON [base datos/tablas] TO usuario@[host] IDENTIFIED BY [password]
GRANT ALL ON laberinto.* TO root@'192.168.153.128' IDENTIFIED BY '123';
Vamos a ver como crear hilos en C\C++ usando QT, y como practica vamos a hacer un cronometro, este ejemplo se ha realizado usando:
Ubuntu 10.04
QDevelop
QTDesigner 4
Lo primero que vamos a hacer es crearnos un nuevo proyecto usando QDevelop, el cual llamaremos hilosQT, luego vamos a fuentes -> clic derecho -> agregar, y vamos a crear una clase para el hilo, la llamaremos hilo.cpp y vemos que también nos crea la cabecera hilo.h
void hilo::run(){
while(1){
if(s==59)
{
s=0;
m++;
}
if(m==59)
{
m=0;
h++;
}
s++;
ventana->lcdNumber->setProperty("intValue", s);
msleep(1000);
}
class hilo : public QThread
{
public:
void run();
hilo(MainWindowImpl *gui);
MainWindowImpl *ventana;
int h, m ,s;
};
hilo *crono;
MainWindowImpl::MainWindowImpl( QWidget * parent, Qt::WFlags f)
: QMainWindow(parent, f)
{
setupUi(this);
connect(pushButtonIniciar, SIGNAL(clicked()), this, SLOT(iniciarCronometro()));
}
void MainWindowImpl::iniciarCronometro()
{
crono = new hilo(this);
crono->start();
}
domingo, 10 de octubre de 2010 34 comentarios Etiquetas: c, c++, cpp, cronometro, qdevelop, qt, qtdesigner, ubuntu
Código
”El buen código es su mejor documentación”
— Steve McConnell
”Cualquier código tuyo que no hayas mirado en los últimos seis meses o más es como si lo hubiese escrito otro”
— Eagleson’s Law
”El primer 90% del código corresponde al primer 90% del tiempo de desarrollo. El 10% restante corresponde al otro 90% del desarrollo”
— Tom Cargill
Desarrollo de software
“Los buenos programadores usan sus cerebros, pero unas buenas directrices nos ahorran de tener que hacerlo en cada caso”
— Francis Glassborow
”En software, muy raramente partimos de requisitos con sentido. Incluso teniéndolos, la única medida del éxito que importa es si nuestra solución resuelve la cambiante idea que el cliente tiene de lo que es su problema”
— Jeff Atwood
”Considerando el lamentable estado de nuestras aplicaciones informáticas actuales, el desarrollo de software es todavía un arte oscuro, y no puede ser aún considerado una ingeniería”
— Bill Clinton
”No puedes crear un gran software sin un gran equipo, y la mayoría de los equipos de desarrollo se comportan como familias disfuncionales”
— Jim McCarthy
Depuración
”Tan pronto como comenzamos a programar encontramos, para nuestra sorpresa, que crear programas correctos no era tan fácil como habíamos pensado. Tuvo que descubrirse la depuración. Puedo recordar el instante exacto en el que me dí cuenta que una gran parte de mi vida desde entonces iba a pasarla encontrando errores en mis propios programas”
— Maurice Wilkes descubre la depuración, 1949
”Depurar es al menos dos veces más duro que escribir el código por primera vez. Por tanto, si tu escribes el código de la forma más inteligente posible no serás, por definición, lo suficientemente inteligente para depurarlo”
– Brian Kernighan
”Si la depuración es el proceso de eliminar errores, entonces la programación debe ser el proceso de introducirlos”
— Edsger W. Dijkstra
Calidad
”¡No me importa si funciona en tu máquina! ¡No estamos vendiendo tu máquina!”
— Vidiu Platon
”Programar es como el sexo: un único error y tienes que estar soportándolo toda la vida”
— Michael Sinz
“Hay dos formas de escribir programas sin errores; sólo la tercera funciona”
— Alan J. Perlis
”Puedes tener un software de calidad o puedes tener aritmética de punteros, pero no puedes tener ambas cosas al mismo tiempo”
— Bertrand Meyer
”Si McDonnalds funcionara como una compañía de software, uno de cada cien Big Macs te envenenarían, y la respuesta sería ‘lo sentimos, aquí tiene un cupón para dos más’”
— Mark Minasi
“Codifica siempre como si la persona que finalmente mantendrá tu código fuera un psicópata violento que sabe dónde vives”
— Martin Golding
”Cometer errores es humano, pero para estropear realmente las cosas necesitas un ordenador”
— Paul Ehrlich
”Un ordenador te permite cometer más errores y más rápido que cualquier otra invención en la historia de la humanidad, con las posibles excepciones de las pistolas y el tequila”
— Mitch Radcliffe
Predicciones
”Todo lo que puede ser inventado ha sido ya inventado”
— Charles H. Duell, Comisario de oficina de Patentes en EEUU, en 1899
”Pienso que hay mercado en el mundo como para unos cinco ordenadores”
— Thomas J. Watson, Presidente de la Junta Directiva de IBM, sobre 1948
“Podría parecer que hemos llegado a los límites alcanzables por la tecnología informática, aunque uno debe ser prudente con estas afirmaciones, pues tienden a sonar bastante tontas en cinco años”
— John Von Neumann, sobre 1949
“Pero, ¿para qué puede valer eso?”
— Ingeniero en la división de sistemas informáticos avanzados de IBM, hablando sobre los microchips, en 1968
”No hay ninguna razón para que un individuo tenga un ordenador en su casa”
— Ken Olson, Presidente de Digital Equipment Corporation, en 1977
”640K deberían ser suficientes para todo el mundo”
— Bill Gates, 1981
”Windows NT podrá direccionar 2GB de RAM, que es más de lo que cualquier aplicación va a necesitar jamás”
— Microsoft, durante el desarrollo de Windows NT, en 1992
”Nunca seremos realmente una sociedad sin papeles hasta que la gente de la Palm Pilot creen ‘WipeMe 1.0′”
— Andy Pierson
(Nota: Wipe es la traducción de toallita de papel)
“Si las cosas siguen así, al hombre se le atrofiarán todas sus extremidades excepto los dedos de pulsar los botones”
— Frank Lloyd Wright
public class cronometro implements Runnable{
Thread hilo = new Thread(){public void run(){try{while(true){if(seg==59) { seg=0; min++; }if(min==59) { min=0; hora++; }seg++;lblTime.setText(hora+":"+min+":"+seg);hilo.sleep(1000);}} catch (java.lang.InterruptedException ie) { System.out.println(ie.getMessage()); }}};
public boolean issuspended = false;private void btnStartMouseClicked(java.awt.event.MouseEvent evt) {if(!issuspended){hilo.start();lblStatus.setText("Estado: Iniciado");}else{hilo.resume();issuspended = false;lblStatus.setText("Estado: Resumido");}}
hilo.suspend();issuspended = true;lblStatus.setText("Estado: Suspendido");
hilo.stop();lblStatus.setText("Estado: Parado");
SELECT DATEPART(weekday,[date_var])
SELECT DATEPART(weekday,'2010-8-2')
2
SELECT DATENAME(dw, GETDATE())
Monday
X Error of failed request: BadAlloc (insufficient resources for operation)Major opcode of failed request: 140 (XVideo)Minor opcode of failed request: 19 ()Serial number of failed request: 83Current serial number in output stream: 84
domingo, 4 de julio de 2010 0 comentarios Etiquetas: debian, gnome, linux, multiverse, paquetes, ubuntu, universe
Buscando un cliente de twitter para ubuntu me he topado con esta aplicacion, muy fiel al estilo de gnome sencillo y al grano, twitux es una aplicacion con el que podras ver y postear actualizaciones de tu twitter, vale la pena probarlo, muy parecido al pidgin.
mkfs.vfat /dev/sdb1
$sudo ln -s /usr/share/cups/model/samsung /usr/share/ppd/custom/samsung
este es un ejemplo de gestion de riesgos con RUP, se presenta una lista de riegos y un plan de gestion de riesgos,
Risk List - Lista de riesgos
Risk Management Plan - Plan de gestion de riesgos
Si tu celular es un poco modesto ( :D ) y no puedes ver las presentaciones de power point, este es un muy buen truco, probado con mi celular sony ericsson w580i.
lunes, 19 de abril de 2010 3 comentarios Etiquetas: celular, ericsson, point, power, ppt, presentacion, sony, ver
Metodologia SCRUM
SCRUM es un proceso en el que se aplican un conjunto de mejores practicas para trabajar en equipo y obtener el mejor resultado posible...[+]
sábado, 17 de abril de 2010 0 comentarios Etiquetas: analisis, diseno, metodologia, presentacion, scrum, sistema, usac
La manera mas rapida y sencilla de desproteger o desbloquear un PDF que ha sido "protegido" es usar una solucion online, no requiere registro ni nada, solo vamos a esta pagina:
Desbloquear/Desproteger PDF online
y llenamos el formulario asi:
al darle "submit" se abrirá una nueva hoja con el PDF desprotegido!
Hay una manera muy sencilla de insertar archivos PDF dentro de un post, de esta manera se podra visualizar cuando alguien lea el post, para ello vamos a ayudarnos de google docs:
Entramos esta direccion:
https://docs.google.com/viewer
y en 4 pasos podemos insertar nuestros archivos dentro de un post:
ya sea que uses wordpress o blogger, los spoilers son de utilidad, nos ayudan a ocular/mostrar informacion, que se visualizara solo si el usuario lo desea, a continuacion veremos como insertarlos en un post:
Blogger
Para insertar un boton de Spoiler puedes usar la edicion de HTML e insertar el siguiente codigo y en la ultima linea insertas el texto a mostrar:
<div>
<input value="Mostrar" onclick="if(this.parentNode.getElementsByTagName('div')[0].style.display != ''){this.parentNode.getElementsByTagName('div')[0].style.display = '';this.value = 'Ocultar';}else{this.parentNode.getElementsByTagName('div')[0].style.display = 'none'; this.value = 'Mostrar';}" type="button" />
<div style="display: none;">TEXTO A MOSTRAR/OCULTAR</div>
</div>
El presente artículo habla sobre las relaciones, de uno a muchos, muchos a uno, muchos a muchos
y de uno a uno. Presenta mucho más que simples conceptos, en este artículo encontrara claridad y exactitud, necesarias cuando hablamos de informática en general.
descargar
Estos son los apuntes del curso: Bases de datos 1, con el Ing. Luis Espino.
descargar
Resumen
Algunas personas opinan que los diagramas Entidad-Relación deben contener un alto nivel de abstracción, otros opinan que se debe manejar un nivel bajo de abstracción. A continuación veremos cuál de estas es la mejor opción.
Palabras clave: diagrama, entidad, relación, nivel, abstracción.
Abstract
Some people believe that the Entity-Relationship diagram must contain a high level of abstraction, others think that should be handled low abstraction. We will now see which of these is the best option.
Keywords: diagram, entity, relationship, level, abstraction.
Para saber si es mejor un alto o bajo nivel de abstracción en los diagramas, primero debemos definir que es abstracción. Abstracción se define como: “Proceso mental, que permite al individuo comprender un concepto de un objeto. Sin tener al objeto de manera tangible” (ARACELI S.)
La abstracción es la capacidad mental que nos ayuda a deducir la esencia de un concepto, entonces podemos decir que a mayor grado de abstracción menor será el grado de complejidad del diagrama. Haciendo uso de la definición de abstracción podemos decir que la abstracción (comprensión del concepto de un objeto intangible) en un diagrama hace el grado de complejidad menor al usuario, y éste puede comprender ampliamente el diagrama, pero si el grado de abstracción es menor, el diagrama le resultara sumamente difícil de entender al usuario.
Conclusión
Podemos concluir que la mejor opción a la hora de diagramar modelos Entidad-Relación es buscar siempre un alto nivel de abstracción, para que sea entendible por todos los usuarios.
Recomendaciones
SQA fue un tema muy interesante que recientemente me ha tocado investigar en la Universidad, empecemos definiendo que SQA es Software Quality Assurance, que traducido seria aseguramiento de la calidad del software, su funcion es asegurar que los estandares, procesos y procedimientos son los apropiados para el proyecto y son correctamente implementados. En este articulo se incluye:
SQA
Una de las cosas que mas se busca en la web es como subir archivos a blogger, seria muy interesante que se pudiera pero no, blogger nos provee de un blog mas no de un alojamiento en el servidor, en blogger no se pueden subir archivos, no es un servidor de archivos, entonces que hacer cuando se deseas publicar algun material?
Buenos lo mas sencillo es usar servidores gratuitos para alojar archivos, y hacer un link hacia ellos, puedes usar por ejemplo:
Para anadir una lista de tweets a tu blog (de blogger) basta con ir a la pagina de twitter:
http://twitter.com/badges/blogger
Seleccionan el número de tweets e ingresas el titulo del widget y luego das clic en el boton "Add to blogger" (añadir a blogger) y listo!
this is one of many ideas im trying to start, hopefully it will be a really nice business :)
El código de tres direcciones consiste en una secuencia de instrucciones, cada una de las cuales tiene como máximo tres operandos.Esta representación intermedia tiene varias propiedades. Primera, cada instrucción de tres direcciones tiene a lo sumo un operador, además de la asignación. Por tanto, cuando se generan esas instrucciones el compilador tiene que decidir el orden en que deben efectuarse, las operaciones; la multiplicación precede a la adición, etc. Segunda, el compilador debe generar un nombre temporal para guardar los valores calculados por cada instrucción. Tercera, algunas instrucciones de "tres direcciones" tienen menos de tres operadores, por ejemplo X = 1, etc.
Ejemplos de sentencias de control en codigo tres direcciones:
If-then-else
Ej:
if ( x > y ) then
a;
else
b;
t0 = x;
t1 = y;
if ( t0 > t1 ) goto La:
goto Lb;
La: a; goto Lc;
Lb: b; goto Lc;
Lc: ...
Switch ( X )
0: A; break;
1: B; break;
2: C; break;
default: D; break;
goto La;
La:
if ( X == 0 ) goto Lb;
if ( X == 1 ) goto Lc;
if ( X == 2 ) goto Ld;
goto Le;
Lb: A; goto Lf;
Lc: B; goto Lf;
Ld: C; goto Lf;
Le: D; goto Lf;
Lf: ...
for ( i = 0; i < 5; i++)
{ A; }
t0 = 0;
La:
if ( t0 < 5 ) goto Lb;
goto Lc;
Lb:
A;
t0 = t0 + 1;
goto La;
Lc: ...
while ( x > y)
{ A; }
t0 = x;
t1 = y;
La:
if ( t0 > t1 ) goto Lb;
goto Lc;
Lb:
A;
goto La;
Lc: ...
domingo, 17 de enero de 2010 6 comentarios Etiquetas: 3, codigo, compiladores, direcciones, ejemplos, else, for, if, switch, then, while