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ú

Mensajes - NathanD

#1
Buenas,

actualmente estoy en mi último año de Ingeniería Informática, y tengo varias cosas en mente para el futuro inmediato, que serían varios másters (no necesariamente de seguridad); y certificaciones, estas sí de Seguridad, puesto que he leído que es lo que más se valora.

He visto esta, la de Certified Ethical Hacker (CEH) y me ha interesado, pero por lo que he leído, la certificación expira a los 3 años de conseguirla... Mi idea no es, necesariamente, sacarme la certificación y ya meterme en el mundo laboral en ese ámbito; contemplo muchas ramas. Así que eso de que expire "tan" pronto me echa para atrás.

¿Podríais recomendar certificaciones? Agradecería si además tenéis en cuenta lo dicho arriba sobre que expiren.

Muchas gracias y saludos.
#2
Seguridad / Libro sobre XSS
24 Julio 2015, 21:15 PM
Buenas,

estoy buscando un libro sobre XSS, y el único que he encontrado es este: Xss Attacks: Cross Site Scripting Exploits and Defense, que parece estar bien, pero es de 2007 (8 años ya...), y no sé si iba a estar desactualizado y obsoleto. Y el libro tiene un precio que tampoco es para comprarlo a la ligera.

¿Os merece alguna opinión? ¿Creéis que merece la pena?

Gracias y saludos
#3
¿Nadie?
#4
Buenas,

estoy con programación concurrente, y la verdad es que me cuesta bastante. En este caso, el ejercicio propuesto es un programa cuya salida sea:
A
BB
CCC
A
BB
CCC
etc.

Donde cada hilo imprime su letra. Esto es lo que he hecho, cuya salida es correcta:

Código (java) [Seleccionar]

public class HiloLetra implements Runnable{

char letra;
int numVeces;
Buffer buffer; //Recurso compartido
static int turno;


public HiloLetra(char letra, int numVeces, Buffer buffer) {
this.letra = letra;
this.numVeces = numVeces;
this.buffer = buffer;
}


@Override
public void run() {
while(true) {
try {
buffer.imprimirLetra(letra, numVeces);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}


Código (java) [Seleccionar]

import java.util.concurrent.Semaphore;


public class Buffer {

int numeroLetras;
Semaphore arrayCandados[];
int posicionArray;


public Buffer(int numeroLetras) {
this.numeroLetras = numeroLetras;
arrayCandados = new Semaphore[this.numeroLetras];
posicionArray = 0;
crearCandados();
}

private void crearCandados() {
arrayCandados[0] = new Semaphore(1);
for(int i = 1; i < numeroLetras; i++) {
arrayCandados[i] = new Semaphore(0);
}
}

public void imprimirLetra(char letra, int numeroLetra) throws InterruptedException {

while(numeroLetra-1 == posicionArray) {
arrayCandados[posicionArray].acquire(numeroLetra);

for(int i = 0; i < numeroLetra; i++) {
System.out.print(letra/*+", posicion array: "+posicionArray*/);
}
System.out.println();

posicionArray++;
if(posicionArray == numeroLetras) {
posicionArray = 0;
}

arrayCandados[posicionArray].release(posicionArray+1);
}
}
}


Código (java) [Seleccionar]

public class Principal {

final int NUMERO_LETRAS = 3;


HiloLetra runnables[];
Thread hilosLetras[];
Buffer buffer;


public Principal() {
runnables = new HiloLetra[NUMERO_LETRAS];
hilosLetras = new Thread[NUMERO_LETRAS];
buffer = new Buffer(NUMERO_LETRAS);
crearHilos();
}

private void crearHilos() {
for(int i = 0; i < NUMERO_LETRAS; i++) {
runnables[i] = new HiloLetra((char)(i+'A'), i+1, buffer);
//System.out.println("creado hilo "+(char)(i+'A')+", num veces: "+(i+1));
hilosLetras[i] = new Thread(runnables[i]);
}
}

private void iniciarHilos() {
for(int i = 0; i < NUMERO_LETRAS; i++) {
hilosLetras[i].start();
}
}


public static void main(String[] args) {
Principal principal = new Principal();
principal.iniciarHilos();
}



}


Buffer es la clase donde se guarda el array de semáforos, y cuya instancia es un recurso compartido por todos los hilos.

Como he dicho, la salida del programa es correcta. Pero mi duda radica en si la concurrencia de veras está bien gestionada. Porque, mientras se ejecuta el programa, el administrador de tareas indica que la CPU está al 100%, lo cual me hace pensar que no se estén gestionando bien los hilos.

Gracias de antemano y saludos.
#5
Pues a si tengo que agrupar los elementos con divs, párrafos, qué grupos hacer, cómo hacer la alineación...

Gracias por responder.
#6
Buenas, llevo bastante tiempo dándole vueltas a cómo hacer lo de la siguiente imagen, y la verdad es que no tengo ni idea.



No pongo el código porque básicamente es inútil, mi problema es el concepto.

Estaría muy agradecido si me ayudarais aunque fuera a plantearlo.
#7
Cita de: sapito169 en 23 Noviembre 2013, 18:08 PM
de casualidad cometiste el error de usar linux?

trata con la dirección   completa del archivo incluyendo la extension
Sí, estoy usando Ubuntu, en Windows no lo he probado. Acabo de intentarlo dándole el path absoluto, tal que así:
Código (java) [Seleccionar]

File file = new File("another.wav");
sonido.open(AudioSystem.getAudioInputStream(new File(file.getAbsolutePath())));

Pero sigue saltando la misma excepción.

Gracias por responder y un saludo.
#8
Buenas, estoy tratando de reproducir un archivo de audio (.wav en este caso, que por lo que he visto es el más extendido en estos casos) para luego implementarlo en otro programa.

Antes de ponerme a ello, he usado AudioSystem.getAudioFileTypes() para ver qué audios están soportados. La salida es la siguiente:
wav
au
aif


Pues bien, al intentar reproducir un .wav, me salta la excepción que he puesto en el título:

Código (java) [Seleccionar]
javax.sound.sampled.UnsupportedAudioFileException: could not get audio input stream from input file

He probado cambiando el nombre del archivo por uno inexistente por si el problema era que no encontraba el archivo, pero no es así; sí lo encuentra, pero no es capaz de reproducirlo.

Os dejo el código fuente:

Código (java) [Seleccionar]
import java.io.File;

import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;

public class Reproductor {

public static void main(String[] args) {
try {

Clip sonido = AudioSystem.getClip();

sonido.open(AudioSystem.getAudioInputStream(new File("another.wav")));

sonido.start();

while (sonido.isRunning())
Thread.sleep(1000);

sonido.close();

} catch (Exception e) {
System.out.println(e.getMessage());
}
}

}


Gracias de antemano y un saludo.
#9
Cita de: egyware en 19 Noviembre 2013, 11:49 AM
Ya no se como ayudarte, al parecer el problema va más de java.
Insistiendo si es que que programaste algo mal, podrías probar esta biblioteca https://github.com/EsotericSoftware/kryonet (utiliza NIO). Y si con esto no funciona definitivamente problema de tu red.


Saludos!



No te preocupes, bastante me has ayudado ya. Miraré la biblioteca que me has puesto, gracias.
Luego probaré la aplicación en la universidad, a ver. De todas formas, si quisiera que la aplicación funcionara no sólo en una LAN sino en Internet (mi intención desde un principio), ¿tendría que hacer alguna modificación?

Muchas gracias por tu ayuda, un saludo.
#10
Nada, no hay manera. Haciendo el Telnet sí, pero desde la aplicación de Servidor no. He mirado las configuraciones de redes de Windows, desactivado Firewall y Antivirus, y nada. He probado hasta a hacer un .jar de cada programa y ejectuarlo desde la consola de Windows por si el problema era Eclipse, pero tampoco.