Otra implementación de procesamiento de datos

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 :

imagen

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

  1. Hora de ocurrencia del problema ~ 1AM (1am)
  2. No había una computadora portátil en funcionamiento
  3. 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:

  1. IU simple
  2. API simple
  3. Organización conveniente de las entidades del proyecto.
  4. Botones mínimos y configuraciones
  5. La capacidad de implementar sus ... "estándares"
  6. 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:

  1. Imagen, imagen más pequeña, filtro
  2. Descarga contenido de URL, deja solo contenido útil, deja solo texto
  3. 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:

  1. Frontend sin hermosos fondos de pantalla
  2. API de backend
  3. Apio (en desarrollo local uso Redis, y en la prueba y producción RabbitMQ)
  4. 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:

  1. Almacén de datos
  2. Minero de Bitcoin

El proyecto es muy similar a:

  1. Zapier
  2. Yandex Nirvana
  3. Parse.com (un par de años como lo compró Facebook)

Source: https://habr.com/ru/post/es430880/


All Articles