Feda /dev/ - No Javascript allowed

Normas
spoiler
Personas non gratas
Memes feda dev




r2d2rigo

Jaque mate, profetas de Elm: https://lukeplant.me.uk/blog/posts/why-im-leaving-elm/

1 respuesta
HeXaN

#5101 Y la gracia es que el mendas ese se va a otras dos hipsteradas que no usa ni el que las desarrolló.

2
B

Yo programo en TempleOS usando HolyC.... y cuando no, pues programo en Plan9 usando un lenguaje innombrable, quien osa mencionarlo acaba muerto.

desu

B

Power Ranger, definición:

aren-pulid0

Que opinais de Redux ?

Yo lo estoy usando en un proyecto personal y la verdad que me parece la bomba

1
B

Que llevando año y medio hecho a Vuex (el state manager de Vue) me parece un coño. Por verboso, más que nada; su función la hace y hasta ahí.

vincen

Para web scraping y ejecutar código JS en la web para obtener algo, por donde tengo que tirar?

Python si o si con scrapy? Hay alguna alternativa sin pasar por python?

3 respuestas
afhn

Es mejor tirar por el suicidio.

HeXaN

#5108 Python + navegador headless (mediante Selenium, normalmente). En serio, es lo más fácil que existe.

eondev

#5108 selenium tiene pa varios lenguajes si no quieres pasar por python

2
Leos

#5108 puppeteer

2
CaNaRy_r00lz

Hay alguien aqui en el foro que sea el dios de AutoCAD? me gustaria hacer una par de cosas pero no se ni por donde empezar a buscar, que todo lo que pongo en google me terminan saliendo cosas diferentes a lo que busco

Zoko

Me he encontrado esto hoy revisando el codigo de un compañero de trabajo.

Declarando un objeto, diccionario o como querias llamarlo, basado en otro.

{
  ...
  "prop1": foo.bar.prop1 === null ? false : true,
  ...
}

Se me caen los cojones al suelo.

2 respuestas
_Rpv

#5114 estaría bien saber como lo haríamos los de aquí.
Para empezar yo no haría que la construcción de un objeto dependiera de otro objeto.

Y si fuera necesario....

{
  ...
  "prop1": foo.bar.prop1 === null,
  ...
}

También se podria pasar esa propiedad directamente como parámetro booleano constructor ...

3 respuestas
Fyn4r
foo.bar.prop1 is not None

supongo xd

Kaledros

Te creas un helper isNull() que devuelva true o false dependiendo de si el objeto que le pasas está vacío, es null, vale 0, etc. Lo haces estático y lo llamas desde donde quieras.

 prop1 = isNull(foo.bar.prop1)

Y a isNull() le puedes ir añadiendo todo lo que vayas necesitando.

1 respuesta
Ranthas

#5115 Lo que propones hace justo lo contrario de lo que está haciendo #5114

#5117 Eso te sirve para un tratamiento global en toda la aplicación, es decir, todos los objetos se comportan de la misma manera a la hora de evaluar su nulidad. ¿Pero si no es así? Ya tienes que crear una clase base abstracta y obligar a todos los objetos susceptibles de ser nulos a heredar de ella y reimplementar el isNull(), con el consecuente cluttering. Además, que eso parece Javascript, más risas todavía.

Podría usar !foo.bar.prop1, pero vamos, queda igual de horroroso

2 respuestas
Zoko

En este caso independientemente de que está accediendo a una propiedad anidada, para mi el problema está en que lo que ha escrito es practicamente equivalente a:

if (something === true) {
  return false;
} else {
  return true;
}

Como dice #5118, se trata de una simple negación, sin entrar más a fondo en lo que varios habéis entrado, que eso es otro cantar.

Es que me parece acojonante que no se de cuenta de lo que está escribiendo.

Kaledros

#5118 Sí, si lo quieres para objetos (de dominio, etc) sí, deberían heredar todos de un Entity o algo así. Pero si foo.bar.prop1 es una lista o un primitivo puedes implementar isNull() y discriminar el parámetro por instanceOf.

r2d2rigo

#5115 esta especificando logica en un JSON???????!!!!!!!!!!!??????????????????????????

Mira me cago en dios teneis el SOLID para limpiaros el culo.

1 respuesta
Wei-Yu

tbh yo creo que vas a piñón fijo a tirar código por a o por b y no te das cuenta de que estás haciendo el condicional así; a fin de cuentas si a nivel lógico está bien no te vas a dar cuenta si te salió la forma de escribirlo sin pensar

desu

Si en tu logica/dominio tienes un null has hecho algo muy mal. No deberia existir por diseño. "make illegal states unrepresentable".

Si en un adaptador lo que esta mal es el dto.

Si te lo tienes que comer si o si, una expresion si es algo simple, un validador si complejo.

PS: Esas cosas con nulls me las he encontrado.... muy tipico de Pedros.

1 respuesta
Kaledros

#5123 Puedes tener un null fácilmente si haces una query a BD que no devuelve resultados. Para eso se inventaron los Optional en Java, por ejemplo.

2 respuestas
desu

#5124 Correcto, estas en el nivel 3. El null no deberia salir de ese adaptador.

1 respuesta
MTX_Anubis

#5124 Y es por ahí por donde va Desu, que no deberías tener nulls. Lo suyo sería utilizar lenguajes que no lo permitiera y te ahorras el 80% (% inventado obviamente) de las expeciones que da una aplicación.

Pero vamos que los option/optional no los inventaron en Java xD

1 respuesta
Kaledros

#5126 Sí, he escrito mal la frase, debería haber dicho que para eso se pusieron los Optional en Java XD

HeXaN

¿Pero quién es el masillas que programa todavía con lenguajes que tienen null?

1 respuesta
eXtreM3

Amo y odio JS por igual, qué puto asco!

Kaledros

#5125 Releyendo esto me he puesto a pensar en cómo resolver bien (no de cualquier manera) un null en una query. En los sitios en los que he estado lo que se suele hacer, que es para pegarles con un palo untado en mierda, es propagar una excepción de negocio y devolver una pantalla de error. Eso me parece una cochinada como una casa por múltiples razones, pero sobre todo porque al usuario una pantalla de error a) le cabrea, b) no le sirve para nada.

Pero independientemente de la representación del error, lanzar una excepción de negocio por una query que no devuelve resultado es una chapuza como un dios porque eso no es una excepción, es un caso completamente normal. Si yo busco un registro que no existe eso no es un error, un error es que la BD esté caída o que el servicio no responda, por ejemplo.

¿Cómo lo hacéis vosotros para tratar un resultado vacío en una query?

1 respuesta