Feda /dev/ - No Javascript allowed

Normas
spoiler
Personas non gratas
Memes feda dev




Sphere

#23608 Yo me fui a la calle porque le dije a mi jefe que quería más dinero en la renovación del contrato, este se lo dijo al gerente y el tío respondió que por esa subida podía pagar unos becarios de extracurriculares y que el veterano del laboratorio que llevaba años los formara. Dicho y hecho xDDDDD

En realidad me hicieron un favor, porque con los meses de paro que tuve y tras ver que mi sector no tenía futuro me lancé a este y menos mal. Tras comerme marrones e injusticias llegué curtido a la cárnica y no eché ni una hora extra no remunerada, además de que fui el primero en pirarse cuando vi que me empezaban a meter faena ajena a lo que me gustaba. Lo malo para algo es bueno.

#23610 De lujo. De vez en cuando discuto con colegas que dicen que no soportarían el full remote, que ellos prefieren juntarse con el equipo, que si no los ves no puedes hacer piña con ellos y eso va contra la cultura de empresa y además hace más difícil la cooperación, brau brau brau brau. Mientras esté cómodo, aprenda y me llegue la paga a final de mes yo estoy contento. Los amigos se pueden hacer fuera del horario laboral.

1
wdaoajw

Los únicos que veo que defienden el presencial son gente en puestos de management... Casualidad? No lo creo

1 respuesta
aren-pulid0

Yo no estoy en management pero si que de vez en cuando me gusta venir a la oficina, ni full remoto, ni full oficina, algo de variedad

wdaoajw

1 día a la semana máximo voy a la oficina, si me hacen ir más os aviso para que me enchufeis en vuestras empresas. De momento sigo full remote y sin fecha de vuelta

Kaledros

#23612 Y los de RRHH. Son los dos puestos que sin presencial no pueden justificar la mitad de su jornada.

desu

#23597 Ya HAHAHAHAH

Esa es otra.

Porque he llegado y no habia nada hecho.

desu

como se puede ser tan inutil?

como puedes decir estas bobadas y escribir este monton de mierda y quedarte tan ancho?

3 respuestas
B

.

isvidal

#23617 Me salían sus vídeos en recomendados pero no los miraba, me dio por entrar a este video y la verdad uff, ha cambiado mi perspectiva, supongo que usaba el switch porque es lo que uno lee en la teoría que sirve para varias decisiones, uno se acostumbra tanto a la teoría que no le damos espacio a la creatividad de simplificar las cosas, muchas gracias amigo, me haz dado una perspectiva diferente.

Kaledros

Yo, antes de ver el vídeo: "joder, qué exagerado, tampoco será para tanto"
Yo, después de ver el vídeo: "hijo de puta..."

1 respuesta
r2d2rigo

Chavales, si pone emojis en el titulo del video, no es de fiar.

1 respuesta
isvidal

#23621 tiene cojones que lo diga alguien con un emoji de avatar en mv

2
B

.

1 respuesta
Kaledros

#23623 Los dos, uno por ponerlo y el otro por grabar semejante barbaridad.

desu

La verdad que no he visto el video.

No quiero darle visitas ni tiempo de visualizacion.

Lo he visto por encima y he visto lo que ha picado y su solucion...

Y estoy seguro que no ha entrado a comentar los pros y cons de cada cosa, ni ademas a hecho la solucion correcta con un switch.. que seria tenerlo en una funcion y usarlo como una expresion.......

en fin.

si tienes un switch super largo tansolo necesitas una funcion para arreglarlo.

const result = someFunction(input)

y que someFunction se encargue del switch.

Y ya esta, tienes tu expresion y tu switch limpio en un lado y no tienes problemas. si quieres volver una funcion tambien lo peudes hacer. esque no he visto el video y nse que cojones dices.

Ranthas

A saber qué mierdas buscas en YouTube para que te recomiende semejante cochambre ( @LLoid ), en mis sugerencias sólo salen "Funny cat videos"

1
Wei-Yu

no sé cuándo estáis de coña y cuándo no

B

.

2
desu
const d = {
    "0": "0",
    "1": "1",
    "2": "2",
    "3": "3",
    "4": "4",
    "5": "5",
    "6": "6",
    "7": "7",
    "8": "8",
    "9": "9",
};

const f = (n) => {
    switch(n){
        case "0":
            return "0"
        case "1":
            return "1"
        case "2":
            return "2"
        case "3":
            return "3"
        case "4":
            return "5"
        case "6":
            return "6"
        case "7":
            return "7"
        case "8":
            return "8"
        case "9":
            return "9"
    }
}

for (let i = 0; i < 200000000; i++) {
    const randomNumber = Math.floor(Math.random() * 10);
    const value = f(randomNumber );
}

si ejecutas d[randomNumber]

~/repositories/javascript via ⬢ v10.19.0 
❯ time node foo.js 

real    0m2.191s
user    0m2.297s
sys     0m0.075s

~/repositories/javascript via ⬢ v10.19.0 took 2s 
❯ time node foo.js 

real    0m2.259s
user    0m2.409s
sys     0m0.033s

si haces la funcion con switch

❯ time node foo.js 

real    0m1.757s
user    0m1.898s
sys     0m0.045s

~/repositories/javascript via ⬢ v10.19.0 
❯ time node foo.js 

real    0m1.794s
user    0m1.937s
sys     0m0.045s

~/repositories/javascript via ⬢ v10.19.0 
❯ time node foo.js 

real    0m1.813s
user    0m1.895s
sys     0m0.086s

1 respuesta
Wei-Yu

mira desu

me cago en tu puta madre

2 1 respuesta
isvidal

#23629 version 10 de node? Todo bien en la prehistoria?

isvidal

El video es fecal totalmente, como dice desu, la solucion ideal es un switch pero wrapeado en una funcion con un return por case, y te ahorras los break que los carga el diablo.

Ojala algun dia saquen un match() como en PHP

2
desu

#23630 Unos 500 ms.

enserio la opcion del diccionario es mas leible que tener un switch?

ademas estas malas practicas para que sea "mas legible" (ya me diras tu por quien es mas legible) y para evitar "escribir mucho" (que ya me diras escribir 20 lineas de switch es mucho ... si no lo vas a tocar nunca mas) las coges en otros lenguajes compilados y aun es peor.

porque en un compilado el compilador te optimza estas cosas si puede, y si usas algo dinamico como un diccionario o un objeto no puede y ademas ira lento.

si en lugar de esto tienes un array con indices pues mira.... si tus ids son indices y te sabes el tam;ao yo usaria arrays. a[N] donde N es algo peque;o te cabe en una pagina de cpu y vas que chutas.

los come hierba sobre enginieros como tu quizas no lo entienden, los ingenieros de verdad usamos el cerebro. quizas no sabremos levantar un webservice pero te hago un algoritmo que use la CPU como toca.

1 respuesta
JuAn4k4

Además con tener un lint que te diga que te estas dejando casos de los switch y que Pete si no contemplas todos ya valdría.

@desu te pongo tarea: Haz un benchmark en condiciones. En ese benchmark lleva más tiempo generar el random que lo que estás probando.

2 respuestas
desu

yo para poder trabajar con arrays tengo una especie de "ECS" muy simple y basico. solo lo uso para mapear objetos a punteros e identificarlos con ids.

Si por ejemplo tengo una List<ObjectA>, lo que hago es guardarme estas referencias y convertir ObjectA a un struct aos y guardame los ids.

De esta manera si tenia un algoritmo que usaba List<ObjectA> ahora puedo hacer data oriented y acceder por indices list[index_object_a][index_field_object_a]

cuando me cargan un algoritmo a ejecutar preproceso todos los inputs para transformarlos soa a aos y dale.

entonces cuando termino el algoritmo le hago un postprocesado haciendo la inversa, a partir de los punteros recupero las referencias a los objetos y construyo las respuestas que me interesan.

#23634 ya pero es el mismo coste para ambos no? lo haces para una N grande y corres el ejemplo muchas veces para sacar la media.

porque deberia esforzarme en hacer algo bien si puedo aproximarlo con estadistica?

no se como se hacen microbenchmarks en js, los he hecho en java XD

1 respuesta
Wei-Yu
#23633desu:

enserio la opcion del diccionario es mas leible que tener un switch?

depende de muchas cosas, la primera y más evidente es si hace falta siquiera; tiene sentido encapsular una lógica que no existe?

hacer un vídeo para hablar de un truquillo que aprendiste en una kata random tiene tanto sentido como ponerlo y rabiar porque en un ejemplo absurdo que acabas de picar cuesta medio milisegundo más ejecutar en un dict que en un switch

1 1 respuesta
aren-pulid0

#23634 como es eso del lint que te dice que te faltan casos del switch?

desu

#23636 No te voy a contestar porque no sabes ni por donde te da el aire. A base de los a;os he aprendido a no mancharme ni bajarme al barro con FPeros que no saben ni lo que es una expresion. Que de eso trata. "encapuslar una logica". en fin, limpiate el vocabulario de esas boberias anda.

Y yo he puesto el rendimiento porque es una cosa que si haces un video diciendo que NO hagas switch tienes que explicar, que todo tiene pros/cons y usar objetos dinamicos como un diccionario tiene un coste. como el coste de comprobar una string y acceder a su hash de un diccionario es mayor que el de acceder por indice a un array. tambien he puesto que con una funcion ya obtienes la expresion, que es lo que busca y el anormal no ha ense;ado en el video. porque ense;ar en tu video la solucion? muxo mejor ense;ar un truquito random para quedar de guay que es un code golf que no aporta nada.

Os dejo pajeetear en el barro.

1 respuesta
JuAn4k4

#23635 Si el random ocupa el 80% del tiempo que mides, tu medición va a tener mayor error. Generalmente se crean los datos antes, y se ejecutan ambos con los mismos datos.

1 respuesta
desu

#23639 incremento la N y da igual el porcentaje que cueste el random, cuanto mayor sea la N se aproximara a su limite.. si son 0.8 el ranodm y 0.2 el bucle, al principio quizas me dan medidas de 0.16 y 0.1799, pero si ejecuto una N muy grande me saldra una media de 0.2, se llama un limite. has ido a la escuela?

generar un random es una syscall no?, puede depender del momento, de nuevo al tener una N grande se minimiza la variacion y aproximas el limite real de su coste, ademas ejecutas el test varias veces porque el estado de la cpu/calentamiento creo que puede afectar al test.

no necesito calentar ninguna vm en node no? en java la calentamos.

explicame como puede tener mayor error porque no lo entiendo. existe error si, pero incrementas N hasta que la variacion es menor a una epsilon. fin.

menciono a un matematico @fyn4r