Feda /dev/ - No Javascript allowed

Normas
spoiler
Personas non gratas
Memes feda dev




desu

#59818 Si gente como tu trabaja ahi que esperas?

1
fehnd

#59818 No tenéis alertas y peña de SRE de guardia? eso debería haberse detectado antes de que petara, aparte de que no debería haber llegado a prod, pero eso es otro cantar

Lo bueno es que ahora seguro que acabáis teniendo una alerta para que no se vuelva a ocurrir (si tenéis a alguien encargado de eso claro)

1 respuesta
Kaledros

#59822 No, si las alertas han empezado a saltar como locas, el problema es que han saltado de todos los servicios. Cuando unos veintipico servicios empiezan a lanzar alertas para casi todas las operaciones la faena es tuya para encontrar el origen del problema, el equipo de guardia se ha ido a dormir hace una hora porque llevaban desde las dos de la mañana en pie hasta que ha descubierto lo que pasaba y lo han podido mitigar.

1 respuesta
fehnd

#59823 Buah, pobres chavales, después de eso uno se piensa si seguir ahí o que, porque literalmente es un fallo humano de alguien que se ha despreocupado al hacer un cambio y ni ha mirado si petaba o que.

Esas cosas frustran un montón.

desu

https://github.com/vrnvu/go-todo

que le puedo meter a esto? estaba pensando grafana con prometheus para logs y metricas.

es un tutorial para fperos, asi tengo el java y el go.

3 respuestas
Kaledros

#59825 Algo de concurrencia, por ejemplo, pero no se me ocurre el qué en algo tan sencillo como una app de notas. También le metería aquello que comentamos hace tiempo de que el mismo test apuntase a distintos entornos (local, pre, pro) cambiando sólo las variables de entorno.

1 respuesta
desu

#59826 el codigo ya es concurrente.

lo de los tests de integración me parece una bobada. https://github.com/vrnvu/go-todo/pull/4/files

solo hay que apuntar a donde toque segun el entorno y no lo tengo desplegado en ningun sitio

laZAr0

#59825 creo que ya tenías por ahí un traefik con grafana y prometheus, en vez de meterle cosas a eso, podrías aprovecharlo, dockerizar tu app, comunicar los servicios y desplegarlos a través del docker compose. Y ya si eso haces lo mismo con el frontend, con alguna librería de componentes de JavaScript que odies. Así sales un poco de tu zona de confort.

1 respuesta
Cerealfriend

#59825 Tiras cada file.go con su package (main, handler, db, models...) o bajo una carpeta cmd/ y todo package main? Es muy de fpero eso? O q es mejor para estructurar?

1 respuesta
desu
#59828laZAr0:

dockerizar tu app, comunicar los servicios y desplegarlos a través del docker compose

no quiero usar docker xq no lo necesito, es una mala practica desplegar con docker-compose

#59828laZAr0:

Y ya si eso haces lo mismo con el frontend, con algún framework de JavaScript que odies. Así sales un poco de tu zona de confort.

tengo uno a medias en swift nativo mac/ios. no hay javavascript q no sea mi zona de comfort.

no me parece nada de esto pueda usar para enseñar nada

#59829 no importa mucho, yo uso los packages solo para tener namespaces en el codigo.

de hecho aun se puede mejorar: https://github.com/vrnvu/go-todo/pull/5/files

lo puedes tener todo en la root del proyecto en el mismo modulo.

go.mod
go.sum
main.go
handler.go
handler_test.go
sqlite.go
sqlite_test.go

pero claro, si todo esta en el package main pues puedes tener colisiones de nombres. si tuivese dos handles no podria tener NewHandler. Deberia tener NewHandlerTodo y NewHandlerList y NewHandlerFoo... en cambio puedes tener todos.NewHandler, list.NewHandler, foo.NewHandler...

ahora lo convencion es cmd para los binarios, package modulos que exportas, intenternal modulos que no exportas.

go.mod
go.sum
cmd/binario/main.go
pkg/modulo_que_quieres_exportar/modulo.go
internal/modulo_interno/blah.go

pero vamos, cuestion de gusto:

todos, err := t.todosDB.GetAll(r.Context())

vs

todos, err := t.repo.GetTodos(r.Context())

si vas a tener multiples modulos prefiero usar este naming, me parece mejor a lo que la gente suele hacer.

si no vas a reutilizar los modulos pues es mas fino tener todo mas declarativo y explicito.

lo puedes tener todo en package main, o todo en un package todos por ejemplo, a la DDD, y cuando añadas otros handlers pues vas scando funcionalidades a internal para re-utilizar.

https://github.com/vrnvu/go-todo/pull/6/files

da bastante igual en general, mientras sea consistente

1 1 respuesta
Wei-Yu

qué rico este resumen de todo el drama de wordpress

https://www.reddit.com/r/SubredditDrama/comments/1g4pr8f/wordpress_the_software_is_currently_embroiled_in/

creo que en el foro había, por lo menos, ex-automattic, a ver si alguien se moja a decir algo

2 respuestas
Kaledros

#59831 Conozco a un trabajador actual que de momento ya se ha puesto candado en Twitter XDDD

1
HeXaN

Mucho texto.

r2d2rigo

#59831 lo de ir a llorar por privados de Twitter es tremendo.

Dr_Manhattan

4
Leagrove

Buenos dias, quería haceros una pregunta a las personas que sabéis o habéis tocado docker, tengo el siguiente comando ->
clear && docker-compose down && docker-compose build --no-cache && docker-compose up -d --build && docker logs -f node_app
Que lo que hace es que me para todos los container y los buildea y luego me enseña los logs de node_app

Mi pregunta es la siguiente, existe algún comando o alguna forma de por ejemplo hago un cambio en una de las apps en especifico lo subo a produccion y luego hacer el compose SOLO sobre esa app sin que el resto de las apps tenga que hacerles un compose? Es que me pasa que a veces necesito modificar algunos parametros que me pide el cliente sobre una app en concreto pero para hacerlo tengo que parar todas las apps y que se recomponga, muchas gracias por adelantado!

1 respuesta
pantocreitor

#59836 en el yaml que usas para el compose, separa las apps en diferentes yaml

1 2 respuestas
Leagrove

#59837 Es decir yo en mi docker-compose.yml tengo :
version: '3'
services:
node_app:
build:
context: ./nodeapp
container_name: node_app
expose:
- "8081"
volumes:
- pepito11volume:/app/prisma/database
networks:
- app_net
restart: always

warehouse_app:
build:
context: ./warehouseapp
container_name: warehouse_app_container
expose:
- "8082"
volumes:
- warehousevolume:/app/prisma/database
networks:
- app_net
restart: always

Lo que dices es que en ese docker-compose.yml deje una y luego cree un docker-compose-2.yml y meta exclusivamente

warehouse_app:
build:
context: ./warehouseapp
container_name: warehouse_app_container
expose:
- "8082"
volumes:
- warehousevolume:/app/prisma/database
networks:
- app_net
restart: always

Y así con todas las apps que tenga?

1 respuesta
desu
1 respuesta
Runig666

#59838 Si.

A no ser que sean mierdas como varios nodos de Elastic que trabajen juntos, siempre es más cómodo tener cada contenedor en su lugar. Aunque Compose se ponga a llorar por contenedores huérfanos

Y ya que estamos, haría el build por separado, y que lo actualice Watchtower. De esa manera no se para nada.

1 1 respuesta
Leagrove

#59840 #59837 Ostia pues muchas gracias a los dos la verdad , voy a probarlo ahora mismo

denimH

#59839 justo estaba leyendo el articulo en HN, bastante impresionante
https://phys.org/news/2022-10-solar-gravitational-lens-humanity-powerful.html

1 1 respuesta
desu

#59842 podriamos trabajar en estas cosas:

  • energia nuclear
  • transhumanismo
  • singularidad energética

pero trabajamos en:

  • alienar divs
  • porno
  • tiktoks para criar niños con asperger
isvidal

#59811 display: flex; align-items: center; justify-content: center

Son 60 euros mas IVA, de nada.

2 1 respuesta
Kaledros

Lo hemos conseguido, por fin se ha podido centrar un div.

7
r2d2rigo

#59844 pues fijate que me estaba pensando pagar a alguien que me hiciera el frontend pero me da que al final voy a tirar de algo que compile a WASM y pista.

PaCoX

estuve el otro dia en un evento de lowcode en Ámsterdam y enseñaron un generador de apps bastante potente, por si quereis echar un vistazo https://www.outsystems.com/low-code-platform/mentor-ai-app-generation/

1 1 respuesta
r2d2rigo

#59847 low code, apps y generative AI. La trifecta de "coge la pasta y corre".

1 respuesta
PaCoX

#59848 el low code es la unica manera viable de usar codigo generado para crear apps y no morir en el intento, el prox salto de la programacion.

1 respuesta
r2d2rigo

#59849 el low code lleva buscandose como el santo grial minimo desde principios de los 90s, y aqui estamos 30 años despues.

1 1 respuesta