Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - tr0n

#1
Python / El final de Python 2.7
Enero 01, 2020, 02:55:30 PM
Hola a todos y feliz año 2020,

Abro este post para recordar que al empezar este nuevo año, ha llegado el fin del mantenimiento de Python 2.7. Que significa esto? Significa que no saldrán nuevas actualizaciones de Python 2.7 al considerarse una versión antigua y una versión que ya no debería usarse en nuevos proyectos. Si alguien descubre un agujero de seguridad en cualquier biblioteca de Python 2.7, no saldría ningún parche para arreglar el problema.

Desde ahora, siempre que alguno tenga interés en aprender Python, ha de empezar con un tutorial de Python 3.

Espero que tengan un próspero año cargado de conocimiento!!
#2
Hola a todos,

Bueno, admito que el titulo de este post parece spam o como si estuviera promocionando un curso, pero es todo lo contrario, quiero compartir una herramienta propia de Java de la cual se ha escuchado muy poco: jshell

jshell es un REPL que fue incluida desde Java 9. Un REPL ("Read-Eval-Print-Loop") es un modo interactivo del lenguaje de programación, o visto de otro modo, es como si el lenguaje se comportara como un lenguaje de scripting como python. Una gran ventaja de tener un REPL es que interpreta línea por línea y no es necesario compilar toda una clase.
Para tener jshell hay que tener un jdk mayor o igual a 9, recomendable el jdk 11 por ser la versión de mayor soporte.

Por ejemplo, para imprimir un "hola mundo" se necesitaría crear una clase como la siguiente:
Código: text

public class HolaMundo {
     public static void main (String [] args){
          System.out.println("Hola Mundo");
     }
}


Pero en jshell solo necesitamos ejecutar la línea que en realidad imprime a la consola. Desde una terminal se ejecuta el programa jshell:
Código: text

$jshell
|  Welcome to JShell -- Version 11.0.3
|  For an introduction type: /help intro

jshell> System.out.println("Hola mundo");
Hola mundo

jshell>


Esto representa una gran ayuda para las personas que no tienen mucha experiencia en programación y encuentra en Java una gran barrera de conceptos OOP y redundancia (boilerplate) para ejecutar simples tareas. También es muy útil a la hora de aprender las nuevas funcionalidades del lenguaje

Código: text

jshell> class User{
   ...> private String name;
   ...> private int age;
   ...> public User(String name, int age){
   ...> this.name=name;
   ...> this.age=age;
   ...> }
   ...> public String getName(){return this.name;}
   ...> public int getAge(){return this.age;}
   ...> public void setName(String name){this.name=name;}
   ...> public void setAge(int age){this.age=age;}
   ...> }
|  created class User

jshell> var userList = List.of(new User("john", 30), new User("Mary", 21));
userList ==> [User@4b85612c, User@277050dc]

jshell> userList.stream().filter(user -> user.getAge() > 25).map(User::getName).forEach(System.out::println);
john

jshell>/exit
|  Goodbye


En el ejemplo anterior se crea la clase User y se crea una lista con dos instancias de User. Esta lista se declara con var (Java 10 ). Finalmente, se imprime el nombre de los usuarios cuya edad supere los 25 usando streams (Java 8 ).

Podemos ejecutar archivos con jshell y crear pequeños scripts

Código: text

import java.util.zip.*;

var fileZip = "file.zip";
var dest = new File("./");
var buffer = new byte[1024];
var zis = new ZipInputStream(new FileInputStream(fileZip));
var zipEntry = zis.getNextEntry();
var destFile = new File(dest, zipEntry.getName());
var fos = new FileOutputStream(destFile);

int len;
while((len = zis.read(buffer)) > 0){
fos.write(buffer, 0 , len);
}
fos.close();
zis.closeEntry();
zis.close();

/exit

Este archivo lo guardo como una extensión .java. Muy importante, recuerden que se debe colocar /exit al finalizar el script o si no el programa no va a terminar. Para ejecutar el archivo, teclear

Código: text

$jshell unzip.java


Saludos, no duden en realizar cualquier pregunta...
#3
Java / Pequeña colección de juegos en Java
Agosto 15, 2018, 12:34:40 AM
Hola a todos.

Hace tiempo que tengo unos juegos a medio terminar en java con JavaFX, por ahora no los estoy manteniendo activamente pero cualquier opinión es bienvenida.

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Como dije todos están a medio terminar y le faltan muchas funcionalidades, especialmente el primero fue cuando apenas aprendía Java por lo que el código deja mucho que desear jaja.
Los proyectos están en Maven, si tienen problemas o dudas al compilar me avisan y les ayudare.
#4
Hola a todos,

Hace poco descubrí dos vulnerabilidades en un sitio web de comercio electrónico, quisiera enviar un reporte que ya tengo hecho. Sin embargo, me inquieta un poco la posibilidad de que el comercio tome algún tipo de represalia contra mi, después de todo, nunca les pedí permiso para hacer este tipo de actividades. Alguno de ustedes ha tenido algún problema por informar vulnerabilidades? o realmente no hay nada porque temer.
Saludos..
#5
Presentaciones y cumpleaños / Hola a todos
Septiembre 28, 2017, 12:41:21 AM
Hola a todos. Soy tr0n y soy un apasionado por la programación, me dedico al desarrollo web principalmente Java, Javascript y C#.
Me gustaría ampliar mis escasos conocimientos en seguridad informática ya que considero que es algo importante para un desarrollador pero que es un tema muy ignorado. Espero aprender mucho en este foro y poder aportar algo a la comunidad.