Feda /dev/ - No Javascript allowed

Normas
spoiler
Personas non gratas
Memes feda dev




B

hostias tío, ahora el certido rosa está pixelado....

GuaNaGe

En breves tenemos de nuevo el AoC típico navideño^^

desu

#31460 nueva casa?

mi mas sincera enhorabuena.

de donde eres?

la semana que viene estare por sevilla si quieres quedar.

B

Acaban de revisarme la prueba técnica, me han dicho que está muy bien, el código limpio y bien estructurado, los logs donde tienen que estar. Me dieron la opción de hacerlo en python o en scala, ellos trabajan en scala, pero sabían que tenía más experiencia en python y por eso me dieron la opción. Finalmente me marqué un kazulu y la hice en Scala, me han dicho que buena decisión y que lo valoran eso.

Que muy pronto me dirán algo, así que bueno, yo contento porque la prueba me han dicho que está muy bien, solo me queda esperar. Todavía no puedo borrar las carpetas con los proyectos del ERP jajajaj

15 4 respuestas
Leos

#31474 Suerte tio! Que la hayas hecho en scala te va a dar bastantes puntos!

1
Martita-

#31474
Nunca dude de ti.

1
B

#31474 Suerte! Puedes contar un poco que te han pedido en la prueba? Por curiosidad.

1 respuesta
B

#31477 Tenía que levantar 3 dockers, uno para Spark, otro para Hadoop y otro para Airflow.

Después tenía que picar los DAGS en airflow que es el orquestador.

Por último, la parte de Scala-Spark, tenía que hacer unas ETL dirigidas por metadatos para no hardcodear. Tenía que leer unos datos de HDFS, validar unos campos, en el caso de los que pasasen la validación, añadir una columna dinámicamente según los metadatos, en el caso de los que no la pasasen, añádir una columna con el motivo, también dinámicamente a partir del dataflow. Por último, guardar los resultados en hdfs

1
privet

#31474

Wei-Yu

scala y python, lo siento mucho

1 respuesta
Ranthas

#31480 Le falta .net para el trío cancerígeno

1 respuesta
Traber

#31481

Console.WriteLine("Tus muertos");
2
denimH

Duda de fpero, a santo de qué en java si declaro una variable como float, al inicializarla el valor se guarda como double?
Me dice StackOverflow que es para mejorar la precisión de los cálculos, pero me parece una gilipollez si para guardar el dato en la variable tengo que hacer casting a float igualmente.

2 respuestas
desu

Otro exito del desu camp.

Me alegro que todos mis alumnos del hilo esten mejorando sus condiciones salariales gracias a leerme.

Cuando aprendes del mejor es facil, pero vosotros tambien poneis de vuestra cuenta.

Aunque luego me salgan alumnos medio rana que hacen sobre enginieria, escuchan a gente tirarse pedos y comen hierba.

El desu camp es todo un exito.

#31483 como? pon el codigo.

1 1 respuesta
frekaice

#31483 Por diseño del lenguaje, en su momento debieron pensar que siempre es mejor tener más precisión (double) aunque suponga más memoria que el float. Si tienes que hacer casting es posiblemente pq no devuelve un float

1 respuesta
denimH

#31484 Sencillo, este codigo da error:

public class desuCamp {
    public static void main(String[] args) {
       float num = 53.15;
       System.out.println(num);

}
}

Porque da igual que declares la variable como float, si la inicializas con un valor que perfectamente podría ser float, a java eso le suda los cojones y lo pone como double.

Para que este código esté bien tienes que hacer casting

public class mediaVida {
    public static void main(String[] args) {
       float num = (float) 53.15;
       System.out.println(num);

}
}

Esto responde a alguna razón que se me escapa o es simplemente una caca de diseño?

1 respuesta
desu

#31486 float num = 53.15f;

53.15 por defecto es un double.

creo que es asi, compruebalo...

esto es debido a varios motivos, primero que java es muy viejo y la inferencia de tipo es una mierda, en su dia inexistente. luego esta el tema de objeto/value type. luego estaria el tema de usar 64bits por arquitectura.

quedate con que la inferencia de tipado de java es una mierda.

1 respuesta
Naith

Y diría que es double por defecto en la mayoría de lenguajes. El primer caso no te saca ni un warning?

1 respuesta
denimH

#31487 #31485 Creo que no me he explicado bien. Estoy preguntando por el motivo por el que por defecto se pone double.
Es como si declaro
char letra = "A"
y luego cuando llamo a la variable me viene como su valor en ASCII en lugar de como la letra A, pues nonsense total.

Por cierto, bastante mas ilegible hacer casting poniendo float num = 53.15f; que poniendo float num = (float) 53.15;

3 respuestas
Fyn4r

#31489

char letra = A

Entiendo lo que quieres decir, pero vaya ejemplo has ido a buscar xD

1 respuesta
Naith

#31489 es que debería o dar error, o castearlo y tener un warning del compilador.

Acabo de probar tu caso en dos compiladores online y:

Main.java:6: error: incompatible types: possible lossy conversion from double to float
    float num = 53.15;
                ^
1 error
denimH

#31488 Claro, el primer caso me dice que estoy metiendo un double en una variable float.

1 respuesta
desu

#31489 lo habitual es poner 53.15f, aunque tienes razon que es ilegible.

viene de c, de hecho hay compiladores como gcc que a partir de la version 4.2 creo que dejaron de soportarlo, el otro dia me dio un error por esto mismo XD

los registros de la cpu tendran 64 bits... el motivo principal es hoy en dia los 32 bits tienen poco sentido... por esto por defecto son 64 bits, porque al cargar ese numero en el registro tendras 64 bits y las operaciones de hardware se haran con componentes con 64 bits

Naith

#31492 es que los números con coma flotante por defecto son doubles. No hay más. Es así porque en su día se decidió que fuese así.

denimH

#31490 Iba a hacer una analogía con el juguete este de los niños simulando la ram, pero me ha parecido peor ejemplo xD

1 respuesta
desu

#31495 veo que eres novato. lee las ultimas respuestas, las mias vs las de los demas.

en el futuro, ya has aprendido, que no hace falta que leas a los demas.

es por arquitectura, registro de 64 bits se carga el numero, las piezas de la cpu van con 64 y tal. no se como vas de arquitectura pero no tiene mas.

si el sistema de tipado fuese mas listo no haria falta hacer el cast explicito. pero seguiria siendo 64 bits por defecto por arquitectura.

seguramente, incluso tu diciendole que sea un float de 32bits, habria casos que el compilador te optimizaria a 64 bits porque es mas eficiente y requeririas a;adirle una flag de compilacion. como digo, tener floats de 32 no tiene sentido hoy en dia salvo casos contados. es que vas a realentizar la cpu sin motivo.

sobe el char = 'a'. pues has puesto un mal ejemplo, porque el char normalmente es 1 byte e internamente sera el codigo 0..255 XD depende de la implementacion del lenguaje con que trabajes.

un buen ejemplo relacionado con lo que dices del char son las strings, la mayoria de lenguajes 99% tienen las string mal. las strings NO son cadenas de caracteres. las strings son cadenas de utf8. rust es el unico mainstream que las tiene bien. esto es asi porque sino te comes los utf8 y los utf16 y todo se complica porque alguien decidio que un caracter es un byte. y eso no es asi XD

PS: Plot twist, soy tu profesor de java, ya veras ma;ana la que te voy a dar por pedir que te hagan los deberes en foros.

1 respuesta
denimH

Me valen las respuestas, thanks

#31496 Mucha coña pero el otro día tuve que explicarle al profesor por qué en este código no se cumplía la condición para entrar en el if.

const x = 0
if (x > 0) {
  blablabla
} 

Ranthas

Viene explicado con claridad en la documentación de Oracle.

Por defecto, TODOS los tipos de número se almacenan como double. Para sobreescribir este comportamiento, hay que inicializar la variable usando F (o en minuscula) junto al número.

¿Por qué? Sencillo, por su representación en binario; con double tienes la máxima precisión, por lo que es la mejor elección para representar un número. En Java es así, y teniendo en cuenta que la operatoria con números en punto flotante sigue un estándar IEEE, diría al 99,99% de seguridad que es así en cualquier lenguaje de programación.

desu

Por hoy ya estoy, toggle ha a;adido un cambio a la UI, te sale este calendario. es la polla.

tansolo tienes que acordarte de darle play al plugin, es la polla.

vez numero x1919139 que recomiendo toggle y animo a que alguien ponga sus estadisticas de cuanto trabaja.

xq por aqui se habla mucho pero veo pocos datos.

men lie woman lie numbers dont

1 respuesta
vivora

#31499 Yo estaría más orgulloso de que al final de mi jornada me saliese un 75% self, que un 12% self :rofl:

1 respuesta