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

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


  Mostrar Mensajes
Páginas: [1]
1  Programación / Desarrollo Web / Galeria de imagenes grid.filter (librería Muuri) - Filtrado de img al hacer clic en: 6 Febrero 2020, 04:42 am
Hola que tal? En esta oportunidad estoy realizando un pequeño portafolio web y buscando un poco en internet me encontré con esta librería bastante interesante.

Esta librería tiene algunas estructuras que tanto html y js que se deben seguir para poder llegar acabo sus animaciones,

En este caso estoy tratando de realizar el proceso de filtrado con grid.filter().

Código html: En este caso, estoy usando el parámetro "data-(atributo)" para llamar a las categorías por su atributo es justo data-categoria="" ya que los demás son otros atributos que usare en otro momento.

HTML:
Código
  1. <div class="categorias" id="categorias">
  2.  
  3.                        <a href="#" class="text"> All Categories</a>
  4.                        <a href="#">Graphic Design</a>
  5.                        <a href="#">Web Design</a>
  6.                        <a href="#">Sketches</a>
  7.  
  8.                    </div>
  9. </div>
  10. <div id="contenedor2">
  11. <section class="grid" id="gridjs">
  12.  
  13.  
  14.    <div class="item"
  15.  data-categoria="GraphicDesign"
  16.  data-tipo="Graphic design PSD illustrator art comic"
  17.   data-description="Art | PSD | illustrator">
  18.  
  19.    <div class="item-content">
  20.     <img src="imgport/Alaz.png" alt="">
  21.    </div>
  22.    </div>
  23.    <div class="item"
  24.    data-categoria="GraphicDesign"
  25.     data-tipo="Graphic designart PSD illustrator art comic"
  26.     data-description="Art  illustrator  Comic">
  27.    <div class="item-content">
  28.     <img src="imgport/alaz3.png" alt="">
  29.    </div>
  30.  </div>
  31.  
  32.  
  33.  <div class="item"
  34.  data-categoria="GraphicDesign"
  35.  data-tipo="Graphic design art PSD  music party"
  36.  data-description="Photo | PSD | Party">
  37.    <div class="item-content">
  38.     <img src="imgport/Photo-Enveroiment.png" alt="">
  39.    </div>
  40.  </div>
  41.  
  42.  <div class="item"
  43.  data-categoria="GraphicDesign"
  44.  data-tipo="Graphic design Photo person PSD stone"
  45.   data-description="Photo | illustrator | fresh air" class="GraphicDesign">
  46.    <div class="item-content">
  47.     <img src="imgport/Mujer.png" alt="">
  48.    </div>
  49.  </div>
  50.  
  51.  <div class="item"
  52.  data-categoria="GraphicDesign"
  53.  data-tipo="Graphic design art PSD comic "
  54.  data-description=" Art | illustrator - PSD | City">
  55.    <div class="item-content">
  56.     <img src="imgport/Photo - City.png" alt="">
  57.    </div>
  58.  </div>
  59.  
  60.  <div class="item"
  61.  data-categoria="WebDesign"
  62.  data-tipo="Sketches Website Boceto"
  63.  data-description=" Briefcase design | Website">
  64.    <div class="item-content">
  65.     <img src="imgport/Web-design.png" alt="">
  66.    </div>
  67.  </div>
  68.  <div class="item"
  69.  data-categoria="Sketches"
  70.  data-tipo="Sketches Website Boceto"
  71.  data-description=" Briefcase design | Website">
  72.    <div class="item-content">
  73.     <img src="imgport/Sketche.png" alt="">
  74.    </div>
  75.  </div>

Código JS: La librería tiene diferentes formas de ser ejecuta, en tal caso lo único que busco es cuando le de a los enlaces, estos me devuelvan solo las imágenes de esa categoría seleccionada.

Código
  1. const grid = new Muuri('.grid', {
  2.  
  3. layout: {
  4.  
  5.    rounding: false
  6. }
  7.  
  8.  });
  9.  
  10.  
  11. window.addEventListener('load', () => {
  12.  
  13. grid.refreshItems().layout();
  14. document.getElementById('gridjs').classList.add('loadimg'); /*Carga todas las imagenes con una pequeña transicion css*/
  15.  
  16. const enlace = document.querySelectorAll('#categorias a');
  17. enlace.forEach((catego) =>  {
  18.  
  19. /*Obtengo las categorias por medio queryselector y luego paso un foreach para ir recogiendo las imagenes respectivas*/
  20.    catego.addEventListener('click' ,  (evento) => {
  21.  
  22. evento.preventDefault();
  23.  
  24. console.log(enlace);
  25.  
  26.  
  27.    grid.filter('[data-categoria="GraphicDesign"]');
  28. /*Obtengo solo las categorias las imagenes de GraphicDesign*/
  29.  
  30. });
  31.  
  32. });
  33.  
  34. });
  35.  
  36.  

Si alguien ha trabajado con esta librería, queria saber como puedo filtrar las imágenes cuando le haga click a un enlace y que solo me traiga la categoría que fue seleccionada y me devuelva solo los atributos que contenga esa categoría. Lo único que logro es que me traiga una sola categoría.

Alguna idea?

Documentacion: https://haltu.github.io/muuri/

IMG de muestra: https://i.stack.imgur.com/hUhPp.jpg
Cuando las categorias se desaparecen y solo trae la categoría de GraphicDesign: https://i.stack.imgur.com/Trlh1.jpg
2  Programación / Java / Re: (Java) Dudas y resolución con respecto a la subida de fotos a BD desde NetBeans en: 21 Mayo 2019, 16:33 pm
Hola que tal? gracias por responder, escribe este post con la intencion de aclarar un poco mis dudas, acerca de los frames y bases de datos. Pero con respecto a lo que dices que tengo malas practicas, a lo que a mi concierne esta bien, ya que enrealidad estoy usando variables globales para inicializar y obtener datos en los metodos, o te estas refiriendo a que las variables G las inicializo con otras coasa?.  No entendi tu punto. :xD

Tampoco hago las cosas por salir del paso, esto es un foro de internet donde todos los dias un nuevo usuario se registra y puede exponer su inquietud con respecto algun proyecto o ejercicio de programacion, claro estan esas personas que solo se registran para que les hagan la tarea por ejemplo o publican 5 o 10 post con lo mismo en esta u otra sección para que les contesten rapido. Yo por lo menos me detuve a leer las reglas del foro para formular este post y expuse todo lo que estaba aconteciendo con mi programa.


Pero no te preocupes, ya resolvi mi problema y para no gastar "tanta saliba" explicare la solucion muy breve:

SEÑORES! ANTES DE GUARDAR LOS DATOS EN UNA BD CON CUALQUIER OBJETO Y TENER UNA CLASE  APARTE COMO LA MIA... POR FAVOR, ASEGURENSE Y ESTEN PENDIENTES CUANDO DECLAREN LOS OBJETOS!, SIEMPRE PASEN LAS REFERENCIAS! (AL CONSTRUCTOR DE LA GUI EN ESTE CASO).  :laugh: :xD :xD :rolleyes:


Gracias ^^.

3  Programación / Java / Re: (Java) Dudas y resolución con respecto a la subida de fotos a BD desde NetBeans en: 21 Mayo 2019, 16:32 pm
Pon el código más completo a ver, ese NPE no lo localizo bien en el log parece que está en en alguna de esas líneas del listener del JButton.

Otra cosa a parte preguntas cosas, que en realidad por lo que veo tienes malas prácticas en el código, pero abria que ver más.
Por ejemplo ver las variables de instancia, que no son globales en Java no existe eso.

Resolverte o responder justo lo que quieres así sea malas prácticas por salir del paso no vale la pena gastar tanta saliba, o cartílagos de los dedos. :xD

Hola que tal? gracias por responder, escribe este post con la intencion de aclarar un poco mis dudas, acerca de los frames y bases de datos. Pero con respecto a lo que dices que tengo malas practicas, a lo que a mi concierne esta bien, ya que enrealidad estoy usando variables globales para inicializar y obtener datos en los metodos, o te estas refiriendo a que las variables G las inicializo con otras coasa?.  No entendi tu punto. :xD

Tampoco hago las cosas por salir del paso, esto es un foro de internet donde todos los dias un nuevo usuario se registra y puede exponer su inquietud con respecto algun proyecto o ejercicio de programacion, claro estan esas personas que solo se registran para que les hagan la tarea por ejemplo o publican 5 o 10 post con lo mismo en esta u otra sección para que les contesten rapido. Yo por lo menos me detuve a leer las reglas del foro para formular este post y expuse todo lo que estaba aconteciendo con mi programa.


Pero no te preocupes, ya resolvi mi problema y para no gastar "tanta saliba" explicare la solucion muy breve:

SEÑORES! ANTES DE GUARDAR LOS DATOS EN UNA BD CON CUALQUIER OBJETO Y TENER UNA CLASE  APARTE COMO LA MIA... POR FAVOR, ASEGURENSE Y ESTEN PENDIENTES CUANDO DECLAREN LOS OBJETOS!, SIEMPRE PASEN LAS REFERENCIAS! (AL CONSTRUCTOR DE LA GUI EN ESTE CASO).  :laugh: :xD :xD :rolleyes:


Gracias ^^.

PD: Cambie un poco mi codigo principal (BD), ya que en algunas partes estaba equivocado con respecto a logica.
4  Programación / Java / (Java) Dudas y resolución con respecto a la subida de fotos a BD desde NetBeans en: 17 Mayo 2019, 21:11 pm
Hola buenas tardes a todos, soy nuevo en este foro y quería preguntarles a ustedes (iniciados o expertos en el tema) sobre como se debe cargar una foto a una base de datos.

Se que me diran: OYE! PERO EN YOUTUBE Y INTERNET AHI MUCHOS TUTORIALES DE ESO.... Lo se , una de la cosas que me gusta hacer es buscar e indagar siempre sobre un problema o algo que no se, por que de verdad es esencial orientarte y aprender algo sobre los temas y/o personas que están en este mundo de  programación, pero sinceramente, por mas que leo y busco no encuentro la forma de como solucionar esto.

Mi código es el siguiente:

            
Metodo que me permite ingresar datos a la DB

Código
  1. public void InsertoImagen (ImagenPrincipalPR imagenPrincipalPR)
  2. {
  3. try{
  4. con=DriverManager.getConnection("jdbc:postgresql://127.0.0.1:5432/Sistem.DB","postgres","ender");
  5. String SQLInsert = ("insert into categoria_pr (nombre_pr,descripcion_pr,image_pr,enum_pk)"
  6. + "VALUES (?,?,?,NULL)");
  7. if (imagenPrincipalPR.getFoto() != null)
  8. {
  9. try{          
  10. {
  11. String SQLInsert2 = ("insert into categoria_pr (image_pr) "
  12. + "values (?)");
  13. archivo = imagenPrincipalPR.getFoto().getAbsoluteFile();
  14. convertir = new FileInputStream (archivo);
  15. Sta = con.prepareStatement(SQLInsert2);
  16. Sta.setBinaryStream(3, convertir );
  17. }            
  18. } catch (FileNotFoundException ex) {
  19. ex.printStackTrace();
  20. }
  21. }    
  22. Sta = con.prepareStatement(SQLInsert);
  23. Sta.setString(1, imagenPrincipalPR.getNombre());
  24. Sta.setString(2, imagenPrincipalPR.getDescripcion());
  25. Sta.setBinaryStream(3, convertir );
  26. Sta.executeUpdate();
  27. } catch (SQLException ex) {
  28. ex.printStackTrace();
  29. }
  30. finally
  31. {
  32. try {
  33. con.close();
  34. Sta.close();
  35. } catch (SQLException ex) {
  36. ex.printStackTrace();
  37. }
  38. }
  39. }
  40. }

El programa trata de insertar y devolver 3 campos: 2 Strings (Nombre y descripcion),1 File (que este caso es la foto en cuestion).

Como podran darse cuenta, estoy usando el metodo de encapsulacion (SET y GET) para devolver los datos propuestos, luego mediante un Object (unido a un código que verán despues) se obtendran todos los campos de un JDialog. El campo NULL en String SQLInsert, es un tupla de tipo serial que no usare en mi codigo, solo se insertan los datos vistos en el codigo.

Ok, con respecto a la validacion  if (imagenPrincipalPR.getFoto() != null), la coloque debido a que el tipo de error de que me salta es NULLPOINTEREXCEPTION. Despues de leer mucho y por lo que he visto, Esto salta cuando algun objeto de mi clase o (algun arguemento en el metodo) es nulo y debe especificarse. Mi metodo lo realize asi, ya que por logica mia :rolleyes: , todo el constructor me devuelve nulos, asi que por lo tanto debo hacer validacion para que no me salte el problema, o estoy argumentado mal en esta parte?.

Tambien, tengo una pregunta con respecto a esta parte del método:

¿Es necesario volver a insertar solo ese dato en el if?, con esto digo que debido a que me devuelve nulos, se debería de insertar nuevamente a la base de datos? o no seria tan necesario?.

                                        
GUI

Código
  1. https://ibb.co/Gk1FcS4


Como pueden ver en la imagen tengo todos los campos con el cual se obtendrantodos los datos especificados por el usuario. Luego por medio de un JButtom abro un JFileChooser que me permite pasar la imagen a un JLabel y ajustarla a su tamaño.

     
Buttom(Aceptar)

Codigo de mi Buttom (Aceptar):


Código
  1. Nom = this.NomCate.getText();
  2. Descrip = this.DescripMain.getText();
  3. if (imagenCateP == null)
  4. {
  5. JOptionPane.showMessageDialog(this, "Debe Escojer una foto");
  6. }
  7. else{
  8. ImagenPrincipalPR Creacion = new ImagenPrincipalPR(Nom, Descrip, imagenCateP);
  9. Base.InsertoImagen(Creacion);
  10. }

Cabe mencionar que todos las variables manejadas en este codigo (Buttom) son globales, (La variable imagenCateP) devuelve la path, por medio del JFileChooser que declare anteriormente. Como quiero asegurarme que la imagen sea insertada hago mi validacion antes de darle al click al buttom, si no es nulo, llamo al objeto Base, luego al constructor de mi clase y le paso el objeto al metodo explicado arriba.

Al momento de ejecutar y darle al bottom me tira la excepcion conocida por todos..  :silbar:

Código
  1. Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
  2. at VentanaDeCreacion.AceptarActionPerformed(VentanaDeCreacion.java:213)
  3. at VentanaDeCreacion.access$400(VentanaDeCreacion.java:21)
  4. at VentanaDeCreacion$4.actionPerformed(VentanaDeCreacion.java:119)
  5. at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
  6. at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
  7. at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
  8. at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
  9. at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
  10. at java.awt.Component.processMouseEvent(Component.java:6539)
  11. at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
  12. at java.awt.Component.processEvent(Component.java:6304)
  13. at java.awt.Container.processEvent(Container.java:2239)
  14. at java.awt.Component.dispatchEventImpl(Component.java:4889)
  15. at java.awt.Container.dispatchEventImpl(Container.java:2297)
  16. at java.awt.Component.dispatchEvent(Component.java:4711)
  17. at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
  18. at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
  19. at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
  20. at java.awt.Container.dispatchEventImpl(Container.java:2283)
  21. at java.awt.Window.dispatchEventImpl(Window.java:2746)
  22. at java.awt.Component.dispatchEvent(Component.java:4711)
  23. at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
  24. at java.awt.EventQueue.access$500(EventQueue.java:97)
  25. at java.awt.EventQueue$3.run(EventQueue.java:709)
  26. at java.awt.EventQueue$3.run(EventQueue.java:703)
  27. at java.security.AccessController.doPrivileged(Native Method)
  28. at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
  29. at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
  30. at java.awt.EventQueue$4.run(EventQueue.java:733)
  31. at java.awt.EventQueue$4.run(EventQueue.java:731)
  32. at java.security.AccessController.doPrivileged(Native Method)
  33. at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
  34. at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
  35. at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
  36. at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
  37. at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109)
  38. at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190)
  39. at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235)
  40. at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233)
  41. at java.security.AccessController.doPrivileged(Native Method)
  42. at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233)
  43. at java.awt.Dialog.show(Dialog.java:1084)
  44. at java.awt.Component.show(Component.java:1671)
  45. at java.awt.Component.setVisible(Component.java:1623)
  46. at java.awt.Window.setVisible(Window.java:1014)
  47. at java.awt.Dialog.setVisible(Dialog.java:1005)
  48. at VentanaDeCreacion$6.run(VentanaDeCreacion.java:265)
  49. at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
  50. at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
  51. at java.awt.EventQueue.access$500(EventQueue.java:97)
  52. at java.awt.EventQueue$3.run(EventQueue.java:709)
  53. at java.awt.EventQueue$3.run(EventQueue.java:703)
  54. at java.security.AccessController.doPrivileged(Native Method)
  55. at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
  56. at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
  57. at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
  58. at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
  59. at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
  60. at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
  61. at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
  62. at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

He intentado de todo, cambiar, establecer, quitar, poner, colocar, probar en la consola y la verdad no se que mas hacer.

Tampoco me voy a excusar con decir: "estoi empezando", por el poco tiempo que llego en java (y esto va para todo lenguaje) se les debe dedicar tiempo y con las practicas tratar de resolver los errores que surgen. Pero algo de orientacion no esta demas  :-X.

Gracias por leer y espero no haberte aburrido con tanto texto.  ;D
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines