Imagine una herramienta con la que pueda transformar cualquier dato en ... cualquier dato.
El ejemplo más accesible es Imágenes. ¿Qué sucede si quiero obtener una imagen de cierto tamaño y poner en algún lugar una marca de agua (también un cierto tamaño)?
Y aquí hay un ejemplo de cómo
se vería esto :

PD: Este es un artículo de revisión, si es interesante, describiré más detalladamente los enfoques.
Motivación
Recientemente, en noviembre de 2018, necesitaba cambiar el tamaño de una foto ...
Los servicios en línea debido a sus "características" (publicidad, una interfaz extraña, etc.) hicieron que este proceso fuera lo más doloroso posible.
Las herramientas estándar de Windows 10 no me parecían obvias. Tuve que descargar GIMP y desde allí hacer todo lo necesario: cambiar el tamaño de la foto.
En mi defensa
- Hora de ocurrencia del problema ~ 1AM (1am)
- No había una computadora portátil en funcionamiento
- Windows es el hogar solo para juegos. Ahora a veces escribo código con un teclado de manzana

Y luego otro programador decidió crear otro hueso ... Herramienta.
Requisitos
Esta herramienta debe ser todas las muletas muletas:
- IU simple
- API simple
- Organización conveniente de las entidades del proyecto.
- Botones mínimos y configuraciones
- La capacidad de implementar sus ... "estándares"
- Código abierto: backend y frontend
Y lo más importante: todos los que entienden lo que quieren deberían poder usarlo.
Varias secuencias posibles:- Imagen, imagen más pequeña, filtro
- Descarga contenido de URL, deja solo contenido útil, deja solo texto
- Descargue una imagen, determine que hay algún objeto en ella (coincidencia de plantilla)

Implementación
Leído recientemente en Habré
Es necesario crecer hasta microservicios ... y decidí seguir esto. Ya ha habido un par de intentos para hacer tal cosa a través de estructuras "hermosas" (en mi imaginación): cada función (como
template_match ,
md5 ) es como un microservicio optimizado para resolver su tarea. Como resultado, todo llegará a esto, pero no hoy :)
Total disponible:
- Frontend sin hermosos fondos de pantalla
- API de backend
- Apio (en desarrollo local uso Redis, y en la prueba y producción RabbitMQ)
- Trabajadores de backend
Diré de inmediato: soy muy mediocre con Frontend, sin embargo, gracias a Stackoverflow y la búsqueda de Google.

Más ejemplos
Todos los ejemplos se pueden encontrar
aquí , se combinan en "proyectos".
Uno de ellos: extraer texto de una página HTML
Atención : el sitio funciona en modo de solo lectura, pero se le devolverá el resultado. No podrá guardar sus cambios en Project y Pipeline.
Una pequeña explicacion
Una lista de lo que puede transformar datos:
aquíLo que este proyecto no es:
- Almacén de datos
- Minero de Bitcoin
El proyecto es muy similar a:
- Zapier
- Yandex Nirvana
- Parse.com (un par de años como lo compró Facebook)