elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: ¿Usas Skype? Protégete de los Skype Resolver


  Mostrar Temas
Páginas: [1] 2 3
1  Programación / Bases de Datos / Implementar un disparador en Postgresql en: 18 Noviembre 2017, 13:47
Buenas!

Estoy intentando implementar un disparador (o disparadores) en Postgresql. Me piden que se mantenga correctamente actualizada la columna number_toys de la tabla LETTER. Se quiere mantener el cálculo de nombre de juguetes frente a posibles cambios que se puedan producir a los juguetes pedidos en las cartas. Se puede suponer que los usuarios o programas no actualizarán nunca directamente la columna number_toys de la tabla LETTER, y que en el momento de insertar una nueva carta, el valor de la columna number_toy serà 0.

El schema que tengo es el siguiente:

Código
  1. BEGIN WORK;
  2. SET TRANSACTION READ WRITE;
  3.  
  4.  
  5. SET datestyle = DMY;
  6.  
  7. CREATE TABLE CHILD(
  8. child_id SMALLINT,
  9. child_name VARCHAR(255) NOT NULL,
  10. birth_date DATE NOT NULL,
  11. gender VARCHAR(255) NOT NULL,
  12. address VARCHAR(255),
  13. city VARCHAR(255),
  14. CONSTRAINT PK_CHILD PRIMARY KEY(child_id),
  15. CONSTRAINT VALID_GENDER CHECK (gender IN ('m', 'f')),
  16. CONSTRAINT VALID_DATE CHECK (birth_date <= now())
  17. );
  18.  
  19. CREATE TABLE SIBLING(
  20. child_id1 SMALLINT,
  21. child_id2 SMALLINT,
  22. CONSTRAINT PK_SIBLING PRIMARY KEY(child_id1, child_id2),
  23. CONSTRAINT CHILD1_FK FOREIGN KEY (child_id1) REFERENCES CHILD(child_id),
  24. CONSTRAINT CHILD2_FK FOREIGN KEY (child_id2) REFERENCES CHILD(child_id)
  25. );
  26.  
  27.  
  28. CREATE TABLE LETTER(
  29. letter_id SMALLINT,
  30. arrival_date DATE NOT NULL DEFAULT NOW(),
  31. number_toys INTEGER NOT NULL DEFAULT 0,
  32. child_id SMALLINT,
  33. CONSTRAINT PK_LETTER PRIMARY KEY(letter_id),
  34. CONSTRAINT CHILD_FK FOREIGN KEY (child_id) REFERENCES CHILD(child_id),
  35. CONSTRAINT VALID_CHILD_ID CHECK (child_id IS NOT NULL)
  36. );
  37.  
  38. CREATE TABLE TOY(
  39. toy_id SMALLINT,
  40. toy_name VARCHAR(255) NOT NULL,
  41. price REAL NOT NULL,
  42. toy_type VARCHAR(255) NOT NULL,
  43. manufacturer VARCHAR(255),
  44. CONSTRAINT PK_TOY PRIMARY KEY(toy_id),
  45. CONSTRAINT POSITIVE_PRICE CHECK (price > 0),
  46. CONSTRAINT VALID_TYPE CHECK(toy_type IN ('symbolic', 'rule', 'educational', 'cooperative', 'other'))
  47. );
  48.  
  49. CREATE TABLE WISHED_TOY(
  50. letter_id SMALLINT,
  51. toy_id SMALLINT,
  52. CONSTRAINT PK_WISHED_TOY PRIMARY KEY(letter_id, toy_id),
  53. CONSTRAINT LETTER_FK FOREIGN KEY (letter_id) REFERENCES LETTER(letter_id),
  54. CONSTRAINT TOY_FK FOREIGN KEY (toy_id) REFERENCES TOY(toy_id)
  55. );
  56.  
  57.  
  58. CREATE TABLE FAMILY_TOYS(
  59. child_id SMALLINT,
  60. sibling_id SMALLINT,
  61. letter_id SMALLINT,
  62. toy_id SMALLINT,
  63.  
  64. CONSTRAINT PK_FAMILY_TOYS PRIMARY KEY(child_id, sibling_id, letter_id, toy_id),
  65. CONSTRAINT FAMILY_FK_SIBLING FOREIGN KEY (child_id,sibling_id) REFERENCES SIBLING(child_id1, child_id2),
  66. CONSTRAINT FAMILY_FK_LETTER FOREIGN KEY (letter_id) REFERENCES LETTER(letter_id),
  67. CONSTRAINT FAMILY_FK_TOY FOREIGN KEY (toy_id) REFERENCES TOY(toy_id)
  68. );
  69.  
  70. COMMIT;
  71.  

Por ahora lo que tengo es esto, pero no es correcto y no sé que es lo que me falta/falla. ¿Alguna alma caritativa por favor?  :-* :-* :-*

Código
  1. BEGIN
  2.  
  3. RAISE INFO ''update_numbertoys_letter execution'';
  4.  
  5.  
  6. IF (TG_OP = ''UPDATE'') THEN
  7.  
  8.    PERFORM update_numbertoys_by_letter(NEW.child_id);
  9.    IF(NEW.child_id <> OLD.child_id) THEN
  10.        PERFORM update_numbertoys_by_letter(OLD.child_id);
  11.    END IF;
  12.    RETURN NULL;
  13. ELSIF (TG_OP = ''INSERT'') THEN
  14.    PERFORM update_numbertoys_by_letter(NEW.child_id);
  15. ELSIF (TG_OP = ''DELETE'') THEN
  16.    PERFORM update_numbertoys_by_letter(OLD.child_id);
  17. END IF;
  18.  
  19. RETURN NULL;
  20.  
  21. END;
  22. ' LANGUAGE plpgsql;
  23.  
  24. CREATE TRIGGER trigger_update_numbertoys_letter AFTER INSERT OR DELETE OR UPDATE OF child_id ON child FOR EACH ROW  
  25. EXECUTE PROCEDURE update_numbertoys_letter();
  26.  
  27. COMMIT;


Gracias,
2  Foros Generales / Dudas Generales / Akeeba Backup falla en frontend en: 13 Octubre 2017, 20:13
Hola,

Creo que el tema debería publicarlo aquí. Si véis que debe ir en otro lado ya sabéis... xD

A ver, tengo una página web con Joomla que usa Akeeba Backup para las copias de seguridad. He configurado en el hosting una tarea Cron para que ejecute un backup automático. El problema es que me falla, si lo hago desde Joomla no hay problema, pero en frontend me genera error. He probado cambiar configuraciones y no veo dónde tengo el problema, he revisado que haya espacio en el hosting y todavía tengo espacio de sobra.



En otra página web de pruebas lo he configurado igual (e incluso es en el mismo hosting que donde está la otra) y ahí si me lo hace bien. No sé si es que el backup de la primera página es demasiado grande o... yo que sé xD

A ver si alguien me puede echar un cable.


Gracias,
3  Sistemas Operativos / Windows / Windows 7 no reconoce pen de almacenamiento, pero sí otros dispositivos USB en: 16 Enero 2017, 19:56
Hola,

Tengo un problema un poco... "raro"? xD La verdad es que no me había encontrado nunca con nada igual, a ver si alguien me puede iluminar :D

Se trata de un portátil Asus, con Windows 7 Home Premium 64 bits y resulta que no puede cargar dispositivos USB de almacenamiento. Los USB funcionan, porque teclados, ratones... cualquier otro dispositivo que NO sea de almacenamiento lo detecta y funciona. Únicamente son con los dispositivos de almacenamiento. Cuando conecto algun pendrive me aparece así:



Procedo a actualizar a ver si lo detecta. Genera error:



Y se cambia el icono



Pruebas que he hecho (sin éxito):
- Desinstalar e instalar los drivers del chipset.
- Windows Update.
- Probé con otros pendrives distintos, ninguno "funciona" en esa máquina.
- Seguí estos pasos: http://www.sevenforums.com/hardware-devices/86442-unable-install-any-usb-devices.html#post1014226
- Probé una instalación limpia de Windows 7 en otro disco y ahí sí funcionan los pendrives.

NOTA: no puedo optar por reinstalar el sistema, pues no es mío. El reto es solucionar este problema sin reinstalar.


Saludos,
4  Foros Generales / Sugerencias y dudas sobre el Foro / Buscar usuarios del foro en: 17 Noviembre 2016, 11:17
Hola,

A ver, una consulta referente al buscador del foro. Imaginemonos que quiero enviar un mensaje privado a un usuario del foro o ver sus ultimos mensajes publicados, cómo debería hacerlo de manera rápida en vez de buscar en dicho subforo y/o tema que yo recuerde que ese usuario a publicado algo?

Porque he probado de introducir solo en el buscador del foro el nombre del usuario y el buscador me pide sí o sí el asunto/tema a buscar.

De ahí la duda, no sé si es que lo hago mal o se podría implantar eso en el buscador.


Gracias,
5  Programación / Programación C/C++ / ¿Este programa está mal optimizado? en: 18 Octubre 2016, 15:50
Buenas tardes,

Bueno, resulta que tengo dos códigos (a simple vista parecen idénticos) pero, cuando ejecuto /usr/bin/time -v desde el terminal de Linux, el terminal se me demora mucho más en calcular el tiempo de ejecución del segundo código que el del primero.

¿Alguien sabe a que se debe?

Código:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#define N 4000

// Matrix
long long int A[N][N],B[N][N],R[N][N];

int main()
{
int x,y,z;
char str[100];

/* Matrix initialization */
for(y=0;y<N;y++)
for(x=0;x<N;x++)
{
A[y][x]=x;
B[y][x]=y;
R[y][x]=0;
}

/* Matrix multiplication */
for(y=0;y<N;y++)
for(z=0;z<N;z++)
for(x=0;x<N;x++)
{
R[y][x]+= A[y][z] * B[z][x];
}       

exit(0);
}

Código:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#define N 4000

// Matrix
long long int A[N][N],B[N][N],R[N][N];

int main()
{
int x,y,z;
char str[100];

/* Matrix inicialization */
for(y=0;y<N;y++)
for(x=0;x<N;x++)
{
A[y][x]=x;
B[y][x]=y;
R[y][x]=0;
}

/* Matrix multiplication */
for(x=0;x<N;x++)
for(z=0;z<N;z++)
for(y=0;y<N;y++)
{
R[y][x]+= A[y][z] * B[z][x];
}       

exit(0);
}

Gracias
6  Programación / Desarrollo Web / Abrir nueva ventana reajustada desde menú en: 7 Septiembre 2016, 23:50
Hola!

Estoy peleándome con una página web (Wordpress) pero por mucho que busco y pruebo no lo consigo, seguro que hay algo que se me escapa pero no veo qué hago mal (también debo reconocer que entiendo lo justo de páginas webs).

Al grano xD

En cierta página web tiene un menú horizontal arriba de la página, la idea es que en una de las opciones (Emisión en directo) de ese menú se abra una nueva ventana con un tamaño concreto (a poder ser sin barra de navegación y no reajustable por el usuario). La página Wordpress tiene una plantilla PHP que se llama "Reproductor" pero no consigo lo que quiero. Supongo que esa plantilla ya la usó otro admin antes pero no sirve porque el streaming es distinto que hay ahora.

He probado con javascript, con mil historias, pero cuando pulso en Emisión en directo se me abre una pestaña nueva en el navegador y, dentro de ella un enlace que si clico si que se me abre la ventana que quiero.

El tema es que quiero evitar ese paso intermedio y que se me abra directo. ¿Alguna idea?


Gracias :D
7  Programación / Java / Duda herencia de constructor en: 26 Octubre 2015, 01:20
Hola,

Estoy realizando una ampliación de una aplicación de clase y me encuentro encallado en el tema de herencia (intentaré explicarme lo mejor posible):

En el ejercicio hay tres clases: Author, Main y Material.
La clase Main no la puedo modificar (normas del enunciado).
Material debe ser la clase heredada de Author.

Realizo la herencia así (adjunto solo una parte de código):

Material.java
Código
  1. public class Material extends Author {
  2.  
  3. /** Maximum number of Authors in any Material */
  4. private static final int MAX_AUTHORS = 3;
  5.  
  6. /** Material Authors */
  7. private Author[] authors;
  8.  
  9. /** Authors number */
  10. private int authorsN;
  11.  
  12. /** Materials Title */
  13. private String title;
  14.  
  15. /**
  16.  * Constructor.
  17.  * @param title The title of this material
  18.  */
  19. public Material(String title) { //si lo dejo asi, el compilador me dice que debo hacer modificaciones en la clase Author. Si en vez de (String title) anado (String title, String name) me aparece problema de compilado en la clase main.
  20. super(name); //si en vez de name escribo title el programa me compila bien
  21. this.title = title;
  22. this.authorsN = 0;
  23. }

Añado las lineas en que me da error el compilador en la clase main si el constructor fuera Material (String title, String name):

Main.java
Código
  1. public static void main(String args[]) {
  2.    Material m1 = new Material("Object Oriented Programming. Java practices");
  3.    Material m2 = new Material("UML cases");
  4.    Material m3 = new Material("Introduction to Programming");
  5.    Material m4 = new Material("Algebra Theory");
  6.    Material m5 = new Material("Graph Theory");
  7. }

Y añado lo que debo modificar si dejo:
Código:
public Material(String title) {
super(name);

Author.java
Código
  1. //private String name; original
  2. protected static String name; //lo que debo modificar segun el compilador

Qué hago mal? Qué es lo correcto? Espero haberme explicado bien.


Gracias,
8  Programación / Java / Al compilar un codigo en Java me da error y no consigo averiguar qué pasa en: 30 Septiembre 2015, 23:18
Hola,

Justo ahora estoy aprendiendo ha programar un poquillo de Java y me han pasado un código en que debo encontrar errores sintácticos y semanticos como parte del aprendizaje. De momento estoy con los sintácticos para que me deje compilar el programa, lo que pasa que estoy encallado en un error y no veo muy bien qué falla (adjunto parte de código):

Código
  1. public void sort() {
  2. boolean end = false; //SINTACTIC ERROR: we must write boolean and not bool
  3. int upperLimit = this.quantity - 1;
  4. while ((upperLimit > 0) && (!end)) {
  5. boolean swapped = false;
  6. for (int j = 0; j < upperLimit; j++) {
  7. if (!isSorted(j, j+1))
  8. swap(j, j + 1);
  9. swapped = true;
  10. }
  11. }
  12. if (!swapped) {     //aquí es donde me falla
  13. end = true;
  14. }
  15. upperLimit++;
  16. };

Es parte de un código que lo que hace es ordenar los numeros de menor a mayor. El programa es más extenso pero creo que los errores los he podido corregir pero por más que me peleo, de aquí ya no paso.

¿Alguien podría explicarme cómo debería ser ese condicional? He probado poniendo !=swapped pero aun así nada...

Gracias!
9  Programación / Ingeniería Inversa / Deshabilitar permanentemente el uso de controladores firmados en Windows 8 en: 16 Julio 2015, 11:50
Buenas foro!

Hace un montón que no publico nada aunque regularmente entro al foro como invitado para seguir un poco "lo que se cuece" xD.

A ver, vengo con la siguiente duda. La cosa es que desde hace un año y medio, casi dos, emulé una mochila (Dongle USB) y me va perfecto. El problema se presenta en Windows 8. Indagando y buscando por toda la red no he encontrado ninguna respuesta o solución clara a mi petición. Mi idea es poder conseguir deshabilitar permanentemente el uso de controladores firmados en Windows 8. En W7 y anteriores no hay problema, hay herramientas de terceros (Dseo y ReadyDriver Plus) pero no funcionan con Windows 8.

Me resulta un poco molesto tener que iniciar el sistema y desde el propio Windows 8 tener que reiniciarlo manualmente en este modo de trabajo.

En definitiva, busco alguna alma caritativa que pueda proporcionarme ideas o soluciones en base a la deshabilitación permanente del uso de controladores forzados en Windows 8.

Gracias :D
10  Sistemas Operativos / Windows / [DUDA] Aplicaciones de Windows Store en Windows 7 en: 6 Julio 2014, 19:59
Buenas!

A ver, tengo una cuestión que quizá puede parecer una obviedad. Hay una aplicación en la Windows Store llamada JazlerShowLite que cuesta unos 2€. Pues bien, me gustaría saber si hay alguna manera de conseguir esa app para Windows 7 (hacer una migración o algo). Había pensado en pagar por la aplicación y guardarme el ejecutable, pero no sé si eso se puede hacer ni donde se guarda.

He probado a través de Pokki y plataformas así para ver si encuentro esa aplicación, pero no ha sido sin éxito. Si alguien sabe algo será bienvenido

Soy consciente que es muy probable que eso no sea posible, pero por probar que no quede...

Mil gracias :)
Páginas: [1] 2 3
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines