Feda /dev/ - No Javascript allowed

Normas
spoiler
Personas non gratas
Memes feda dev




JuAn4k4

#14730 Eso hace mi hija contra el cristal, pero no se queja sino que sigue y sigue

B

#14730 el único vídeo que sigo viendo varias veces cada año y me sigue haciendo gracia

eisenfaust

https://vectorized.io/

By design, redpanda allocates all the available memory (aside for some small OS reservation) upfront, partitioning the allocated memory between all cores and pinning such memory to the specified NUMA domain (specific CPU socket).

Oftentimes, the default CPU configuration is prioritized for end-user-typical use cases such as non-cpu-intensive desktop applications and optimizing power usage. Redpanda disables all power-saving modes and ensures that the CPU is configured for predictable latency at all times. We designed redpanda to drive machines around 90% utilization and still give the user predictable low latency results.

https://vectorized.io/documentation/autotune/

La tengo en la mano. Ya comentaré algo porque creo que voy a hacer una locura en producción.

1 2 respuestas
Axtrix

#14733 un viernes te la vas a jugar a romper produccion?

3 respuestas
B

#14734 no considero que una vida pueda ser plena sin un deploy el viernes a las 14:00

Leos

#14734 dime algo mejor en la vida que la satisfacción de deployear a última hora del viernes en prod y desaparecer el finde mientras todo puede estar ardiendo?

2 respuestas
danao

#14733 tenéis montado Kaftka? para que lo usáis?
#14736 y volver el lunes a que te pongan la cara roja, si, buena satisfacción xD

1 respuesta
Kaledros

No sé si me pasa como a las embarazadas que sólo ven carritos pero ha sido entrar en un proyecto que usa Kafka y verlo en todas partes. ¿Se ha puesto de moda o siempre ha sido así?

3 respuestas
danao

#14738 por el tema de data pero yo veo muy poco y he tocado -1 por eso tengo curiosidad de los casos de uso donde los usa la gente y para que, porque todo el mundo habla de ello y muchas veces no terminan de tener claro para que lo usan o ni si quiera si lo estan usando para lo que se supone que es y hacen que yo tampoco lo tenga claro xD

me fio de que si me cuenta eisen su caso de uso va a ser real y útil y no "porque lo lei en medium" o cualquier cosa de esas

1 respuesta
desu

Kafka es la pieza que metes en todos lados para decir que tienes una arquitectura big data y poder justificar los presupuestos.

1 respuesta
B

#14740 amén a eso

Por cierto, pedí el certificado con la clave privada y el informático de la empresa me respondió que no era necesaria, seguí investigando y encontré dos fuentes en las que decía que para ese trámite sí lo era.

Hoy me ha pasado el certificado + la clave privada y ya tengo la aplicación funcionando.

Quiero daros las gracias, es un tema que no he tocado nada y me ayustasteis a aclararlo

MTX_Anubis

#14738 #14739 No es solo en tema de data. En cuanto necesites usar un sistema de colas, why not? Tiene un coste de manetimiento que la gente suele despreciar y desde luego no es nada despreciable pero es cualquier sistema de colas lo tiene.

Yo la primera vez que lo usé es porque montamos un sistema en el que había decenas de miles de conexiones permanentes (sockets vaya) y por consiguiente se enviaban cientos de miles de peticiones por segundo. Por ahí había microservicios que se registraban a topics y consumían de ellos, producían nuevos eventos que se envíaban a estos sockets también, blablabla. Y ya que estábamos pues metimos un event driven con kafka y los microservicios eran idependientes unos de otros con una consistencia eventual (y con eso nos sobraba para lo que era) y esto facilitó mucho la vida.

Aunque los problemas que nos trajo kafka (de 0.7 a 1.0) y sus millones de bugs fueron un poco infierno durante el primer año de testing xD

Aunque ahora mismo le habría dado otra aproximación al tema de los microservicios, kafka seguramente lo hubieramos seguido utilizando, sobre todo para desacoplar el tema de las conexiones de los clientes con la aplicación en sí. Para otros proyecto parecidos aunque sin tanto alcance directamente he hecho una app con toda la lógicia y ni tan mal, claro que recibían muchos menos mensajes y así iba bien.

1 2 respuestas
r2d2rigo

Y esto es lo que pasa cuando programas la IA de tu coche en JS: https://www.thedrive.com/news/37366/why-that-autonomous-race-car-crashed-straight-into-a-wall

1 respuesta
Kaledros

#14742 Nosotros tenemos una arquitectura orientada a eventos y lo usamos para comunicar layers. Ni Big Data ni nada con un tráfico enorme, simplemente por desacoplamiento. Los servicios son completamente ignorantes del sistema que se use para comunicar los mensajes y eso nos ayuda a mover piezas cuando lo necesitemos.

1 1 respuesta
Axtrix

#14736 tomarme una cerveza despues del curro en mi casa, sabiendo que mi compañero rompio produccion un viernes a las 2 de la tarde y le queda un rato en la oficina

Kaledros

#14743 Le pasó lo mismo al Ariane 5: https://www.bugsnag.com/blog/bug-day-ariane-5-disaster Un desbordamiento de memoria que jodió el sistema de guiado. Bonus track: el backup que saltó cuando crasheó el sistema principal tenía el mismo bug XDDD

MTX_Anubis

#14744 Una arquitectura orientada a eventos también tiene sus problemas. Si que es cierto que se desacoplan y volver los servicios reactivos hace más fácil la implementación.

Pero tienes el problema de los silos de conocimiento si no se comparte bien esa información y no está bien documentada y que a veces no sabes muy bien que está pasando (tienes que conocer bien el sistema). Vamos al final la carga cognitiva viene por otro lado y necesitas otro tooling distinto para poder seguir trazas, lo dicho antes de la consistencia eventual (si no hay problemas o no tienes pues eso que ganas), hacer análisis, etc. Vamos lo propio de sistemas distribuidos: cambias unos problemas (de aplicación) por otros probablemente más complejos y costosos (infraestructura) así que tienes que
ver si te compensa.

Luego está el diseño del sistema, es mucho más dificil diseñar una arquitectura de microservicios que un monolito, de hecho la mayoría d elo que he visto son monolitos distribuidos y al inicio del proyecto que dije antes, cuando comenzamos a pensarlo y plantear la arquitectura es lo que nos estaba pasando hasta que decidimos plantearlo con event-driven sin ni si quiera haber leido del tema pero fue a la conclusión que llegamos xD. Te hablo hace ya 6 o 7 años que no había tanta info sobre el tema, no se hablaba mucho de microservicios (aunque estos conceptos al final son los mismos que los de un SOA y tengo un par de libros por ahí que me sirvieron bastante para conceptos) y docker estaba en pañales xD. Suerte para nosotros que había bastante info del stack de twitter y de netflix. De hecho ese fue mi primer proyecto tocho en Scala.

1 1 respuesta
danao
#14747MTX_Anubis:

Pero tienes el problema de los silos de conocimiento si no se comparte bien esa información y no está bien documentada

me he acordado de este comic

2
desu

A mi lo que no me gusta de la nueva ola (post 2015) de colas, DDD, eventos, CQRS y similares es la mierda de boilerplates y estructuras de ficheros que creáis como mongolos.

Es lo mismo que he visto que pasaba hace 10 años con JavaEE y demás mierdas. Que tenias que seguir unos patrones de interficies y implementar DAO y nose que mil historias mas.

Lo mismo ahora con tu carpetita domain tu carpetita infraestructura y todo con los nombres bien puesto, hay mas carpetitas que ficheros de código. Si quitas clases, getters y setters y demás boilerplate de lenguajes de pajeet te queda el 5% del código y te cabria en un fichero. El cual pondrías ordenadamente dentro de 10 subcarpetas.

Solo cambia el plato, sigues comiendo la misma comida de perro y siendo un perro.

Y entiendo perfectamente el beneficio de organizar el código cuando trabajas en equipo (no entiendo que TODO el mundo siga el mismo patrón que ha dictado alguien que ni ha puesto código en producción) pero estas añadiendo complejidad innecesaria como un subnormal porque en lugar de aprender lo que es un evento y una cola has aprendido donde poner el archivo para el Command, que interficie tienes que implementar y que nombres le tienes que poner a tus clases.

Cuando miro código open source no veo las mierdas que predican estos gurus modernos de youtube la verdad, y ese codigo open source de Netflix, Twitter, Google mueve más trafico y escala mas trafico que el codigo que han picado los primeros para sus cursos de udemy, además que en sus blog técnicos me hablan de lo malo, no todo es flores. Me hace preguntarme donde empieza la linea de equipos que siguen estas guías y donde termina. Imagino que cuando empieza la linea también empieza el Java.

Picas el mismo código funcional en 100 archivos menos y 10k LOC menos. Con las mismas propiedades incluyendo el beneficio de que hay menos código que mantener. Pero no es clean code porque no esta en la carpetita que toca kek.

Con este rant respondo a @fyn4r que me dijo un día que ya se me había pasado el gusto por el ddd o algo asi.

2 respuestas
r2d2rigo

Imagina pensar que el codigo funcional es mas legible que una arquitectura N-Tier en un lenguaje OOP.

2 respuestas
Wei-Yu

si condensas ese mensaje en menos de 10 líneas te queda un bait aceptable, pero te has liado demasiado

1 respuesta
desu

#14750 En ningún momento he dicho eso. Tener mil interfaces, abstract classes y 500 carpetas no es legible. Puedes hacer lo mismo en 5 carpetas.

Crear esas estructuras es de hecho un claro ejemplo de YAGNI, resolver problemas que no tienes, abstracción prematura etc etc

Si escribes clean code en 5 carpetas y en el futuro tienes que pasar a 50 carpetas lo harás en 5 minutos.

Si empiezo escribiendo 50 carpetas estoy obligandome a un nivel de complejidad que mi problema no tiene.

Es lo mismo que tener 5 funciones y en el futuro crear un metodo generico que las resuelva. VS empezar con funciones generica y jerarquias de clases que solo complican tu codigo y al final la mitad no las vas a utilizar. Estas forzando tu diseño a problemas que no tienes ni sabes si tendras.

#14751 No es ningún bait, es una observación.

Pero en fin, en 10 años cuando haya una moda nueva (y estos pajeets se enteren de su error) tendremos en la industria esta discusion de nuevo jeje

2 respuestas
eisenfaust

#14734 Siempre hay que romper algo, que luego te quieren bajar el rate del pager duty si todo está muy tranquilo.

#14737 Tenemos big data y todos los memes de moda pero casi toda la comunicación entre microservicios va también por Kafka, hasta los eventos de UI.

#14738 Te estás volviendo hipster por osmosis. Pronto estarás pensando en Smalltalk y programar en Java te causará síntomas de estrés postraumático. Aún estás a tiempo de tocar el piano en orquestas de pueblo.

#14742 Vaya puto horror fue usar <1.0 en producción. Bueno, miento, hasta 2.3 (KIP-354) y la pesadilla de GDPR. Ahora estamos todos esperando a KIP-500 pero parece que va para largo.

#14750 Por qué no usar FP+OOP? Así es más ilegible.

1 2 respuestas
Ranthas

#14752 Macho, estás hablando de optimización prematura, que ya sabemos todos que es siempre una cagada monumental. Es solo tener criterio, si tengo una app que solo maneja un producto, ¿para que coño voy a montar una abstract factory, con mil interfaces, wrappers, bridges y demas mierda? ¿Por si en el futuro tenemos dos productos?

Es simplemente entender lo que estás haciendo.

2 respuestas
Wei-Yu

#14752 es que tampoco has dicho nada; muy generalista. Lo podría haber dicho alguien que no ha tirado una línea en su vida.

1 respuesta
Kaledros
#14749desu:

Cuando miro código open source no veo las mierdas que predican estos gurus modernos de youtube la verdad, y ese codigo open source de Netflix, Twitter, Google (...)

Esta es la parte que parece un bait, porque la alternativa es pensar que crees que monstruos como Netflix o Youtube, con necesidades que tienen ellos y dos más, se parecen a aplicaciones enterprise hechas en Java que se usan para ecommerce.

#14753eisenfaust:

Te estás volviendo hipster por osmosis. Pronto estarás pensando en Smalltalk y programar en Java te causará síntomas de estrés postraumático. Aún estás a tiempo de tocar el piano en orquestas de pueblo

Calla, calla, lo bien que se vive siendo un ignorante, paso de que se me abran las puertas de la percepción XDDD

1 respuesta
desu

#14754 Pues estaba mirando los tutoriales que se han recomendado del canal del otro dia y los ejemplos de github.

https://github.com/CodelyTV/java-ddd-skeleton
https://github.com/CodelyTV/java-ddd-example

Y me los miraba con intención de aprender algo, pero es una perdida de tiempo que me he hecho escribir ese tochaco, imagínate la mierda que es. Paso de aprender un modelo mental y una estructura de ficheros para tirar 4 lineas de codigo.

En fin, buen finde gente.

#14756 Ellos solucionan problemas mas tochos, tienen equipos con mas altas y bajas que tu y proyectos mas largos. Y no hacen NADA (entiendase la exageracion) de lo que otros te dicen que NECESITAS para trabajar. Ese era mi mensaje. No lo necesitas.

#14755 Pues lo mismo se puede decir de un video tutorial de CodelyTV.

1 respuesta
eisenfaust

#14754 Yo tengo una regla básica: si vas a implementar una abstracción de ese estilo en el código, tiene que tener YA MISMO un caso de uso en el propio commit. De lo contrario te comes la PR con patatas.

No aplicable a la simple abstracción por funciones y bottom up programming. Los trastornados del DRY extremo (conocido como factoring antes de que Uncle Bob viniese a joder la fiesta) por culpa de nuestra exposición a Scheme o Forth también tenemos derechos.

1 respuesta
Ranthas
#14758eisenfaust:

Yo tengo una regla básica: si vas a implementar una abstracción de ese estilo en el código, tiene que tener YA MISMO un caso de uso en el propio commit. De lo contrario te comes la PR con patatas.

A los bosses no les gusta esto, ya que siempre están dando por culo con el "código flexible", sea lo que sea que signifique eso en sus cabezas, cada vez que digo que hay que hacer un refactor a X, porque ha llegado un nuevo caso de uso empiezan a resoplar con la misma cantinela.

Sin embargo, cuando pasa lo contrario, y hay en producción un código ultra-bloated, empiezan a llorar porque cuando intentan meterle mano no entienden una puta mierda y acaban llamandome para que se los resuelva.

Sinceramente, no veo el día de que les dé de una vez el infarto definitivo.

1 respuesta
Kaledros
#14757desu:

Y no hacen NADA (entiendase la exageracion) de lo que otros te dicen que NECESITAS para trabajar. Ese era mi mensaje. No lo necesitas

Max Verstappen no hace nada de lo que te dicen en la autoescuela que necesitas para conducir, así que supongo que yo tampoco. ¿Te das cuenta ahora de lo absurdo de la analogía?

1 respuesta