Feda /dev/

eXtreM3

He creado una regla que comprueba que una contraseña ha de tener mínimo 8 caracteres, de los cuales al menos 2 sean letras y al menos 2 sean números

preg_match( '/[a-z][^a-z]*[a-z]/i', $password )
            && preg_match( '~\d.*\d~', $password )
            && strlen( $password ) >= 8

Se puede mejorar?

pd no estoy muy ducho con expresiones regulares, no me matéis.

Sk8eR

#33826 hace al menos 80 posts que no recomiendas libros... Algún update? Siguen los clásicos e infumables?

afhn

Tengo mi api en java con jax-rs, envío una imagen con un ResponseBuilder través de un método con una anotación

@Produces({"image/png", "image/jpg", "image/gif" })

, todo perfecto, devuelve un array de bytes de la imagen. Header:

responseBuilder.header("Content-Disposition", "attachment; filename=\"" + tituloImagen + DOT + extension);
responseBuilder.header("Content-Type", "image/" + extension + "");

Api magento de otra persona, recibe esa respuesta, tiene problemas para sacar la extensión de la imagen, debería hacer yo algo o es cosa suya?

eondev

#33783 pero que ptua mierda es esa colega menudo ascazo y qué guarrada leer eso tio AlumnosBean ostia puta el sida encima haces 2 veces .next()
En serio para picar algo en java hay que crear 7 factorys 9 beans, y 29845278945 lineas de mierda para cada cosa? :nauseated_face: :nauseated_face:

2 respuestas
afhn

#33874 está mal, lo sé, pirada xd. Lo que tiene ser de FP, ni un iterador en condiciones se puede.

eXtreM3

Faltan contadores.

Ranthas
#33874eondev:

En serio para picar algo en java hay que crear 7 factorys 9 beans, y 29845278945 lineas de mierda para cada cosa?

4
B

Estoy haciendo un libro de data structures en java y me esta surgiendo algun problemilla.
El equivalente en Java de esto como sería?

; En scheme, dada una lista y un item, busca en ella y borra dicho elemento
(define (remove l key) 
	(cond 
		[(null? l) '()]
		[else
			(if (equal? (car l) key)
		            (remove (cdr l) key)
			    (cons (car l) (remove (cdr l) key)))]))

La falta del "cons" me jode xDD
Si alguien tiene un minutillo se lo agradeceria.

1 respuesta
MisKo

Pero porque os pensais que este es el hilo de preguntar cosas? xDD

Crearos hilos propios hombre ya

1 respuesta
Lecherito

#33878 Eso en java no se puede hacer

1 respuesta
B

#33880 Y para ir creando una lista a medida que recorro la original como se haría? O directamente se enfoca de diferente manera?

1 respuesta
B

#33879 Lo que no entiende esta gente es que este es MI hilo para preguntar, no su hilo para preguntar. Gentuza.

Lecherito

#33881 Se enfoca de diferente manera, sabrias hacerlo en bash?

1 respuesta
B

#33883 Que va, estoy siguiendo la senda del pato y no he visto nada de eso.
Los otros ejercicios del estilo me han salido modificando la lista original haciendo historias del estilo: first.next = first.next.next.
Pero en este no se como hacerlo, y mira que es una tonteria.
Supongo que en esos otros me tiraba porque eran voids, aqui quiero hacer return de la lista y ni idea.

1 respuesta
Lecherito

#33884 Uff es que si no sabes en bash entonces es mas dificil de explicar...

1 respuesta
B

#33885

public static void remove(Node first, String key) {
		if (first.next == null) {
			return;
		}
		if (first.next.item == key) {
			first.next = first.next.next;
		}
		else {
			remove(first.next, key);
		}
	}
	

Asi me funciona, pero no retorna nada. Quizas el libro lo explica más adelante, ya veremos. Gracias!
Edit: no, no funca si el item que quiero borrar es el primero xD Seguiré probando

2 respuestas
Lecherito

#33886 De nada por la ayuda, asi esta perfecto!

segudj

Lanzo una pregunta, cuanto hay que desarrollar un requisito sin ninguna linea de descripción del mismo?

1 respuesta
desu

#33886 Esta muy bien que hagas estos ejercicios, yo estoy haciendo cosas del estilo.

Mi consejo? Hazlo recursivo e iterativo! Para mi recursivo = aprender concepto, iterativo = implementación real.

Yo hoy he hecho post/pre/in order iterativo

edit: aparte devolvería un objeto siempre que puedas para hacerlo más funcional, fuciones puras

1 1 respuesta
B

#33888

1
B

#33889 Como lo harias para devolver el objecto? He estado un buen rato y no veo manera de modificar la lista y devolverla.

1 respuesta
desu

#33891 Ahora me he mirado tu codigo mejor y esta mal, si tengo ["1","2","3"], como borro el primer elemento ? xd

Lo que tienes que hacer es casos de test super senzillos, dejate de iterativo xd

1 respuesta
B

#33892 Lo sé xD En el edit lo he puesto haha

public static void remove(Node first, String key) {
		if (first== null) {
			return;
		}
		if (first.item == key) {
			first= first.next;
		}
		else {
			remove(first.next, key);
		}
	}
	

Asi deberia funcionar bien, pero lo pruebo y no me va. Al final he pasado y he seguido haciendo.
Me toca los huevos por que en Scheme tardo literalmente 30 sec, pero en Java no me aclaro.

2 respuestas
desu

#33893 http://www.cs.toronto.edu/reid/web/javaparams.html

Cosas de java, a mi también me da asco.

1 respuesta
Lecherito

#33894 Vamos que no tienes ni idea de como funciona y te quejas

Grise

#33893
Cambia el método si puedes y te pasas el nodo anterior y el actual.

Si el nodo que buscas es el primero de la lista (anterior == null) haces actual = null, si es el último (actual.next == null) asignas anterior.next = null y en el resto de los casos cuando actual tenga el valor que buscas le dices que anterior.next = actual.next.

EDIT: Esto es una mierda de solución porque es hacer lo mismo que iterando pero aprovechando la recursión, la forma graciosa de hacer esto de manera recursiva es devolverte el nodo siguiente al actual cuando lo encuentres y hacer la asignación al llamar a la función, pero whatever.

eisenfaust

Kotlin va a tener el mismo futuro que Groovy en cinco años. El operador ternario se debería usar siempre y al que le moleste que se vuelva a COBOL. Expresiones > statements. Los lenguajes no deberían tener “else”. El que dijo lo de iterativo = implementación real debería dejar los libritos de pajeets para entrar en google y volver a la universidad a repasarse compiladores.

1 4 respuestas
Soulscx

herejías

Ranthas

#33897 Pero Rust tiene mocks o no?

B

#33897 Por que dices que los métodos iterativos no son la implementación real? No consumen un espacio cte a diferencia de los recursivos? Soy noob en esto y me interesa xD

1 respuesta
Tema cerrado