Une autre implémentation du traitement des données

Imaginez un outil avec lequel vous pouvez transformer n'importe quelle donnée en ... n'importe quelle donnée.

L'exemple le plus accessible est Images. Et si je veux obtenir une image d'une certaine taille et mettre quelque part un filigrane (également une certaine taille).

Et voici un exemple de ce à quoi cela pourrait ressembler :

image

PS: Ceci est un article de synthèse, s'il est intéressant, je décrirai plus en détail les approches.

La motivation


Récemment, en novembre 2018, j'ai dû redimensionner une photo ...

Les services en ligne en raison de leurs «fonctionnalités» (publicité, interface étrange, etc.) ont rendu ce processus aussi pénible que possible.

Les outils standard de Windows 10 ne m'ont pas paru évidents. J'ai dû télécharger GIMP et à partir de là faire tout ce qui était nécessaire - pour redimensionner la photo.

À ma défense:

  1. Heure d'apparition du problème ~ 1 h (1 h)
  2. Il n'y avait pas d'ordinateur portable fonctionnel à portée de main
  3. Windows est à la maison uniquement pour les jeux. Parfois, j'écris du code avec un clavier Apple



Et puis un autre programmeur a décidé de créer un autre os ... Outil.

Prérequis


Cet outil doit être toutes les béquilles béquilles:

  1. Interface utilisateur simple
  2. API simple
  3. Organisation pratique des entités de projet
  4. Boutons et paramètres minimum
  5. La possibilité de mettre en œuvre leurs ... "standards"
  6. Open Source: backend et frontend

Et le plus important - tous ceux qui comprennent ce qu'ils veulent devraient pouvoir l'utiliser.

Plusieurs séquences possibles:

  1. Image, image plus petite, filtre
  2. Télécharger le contenu URL, ne laisser que du contenu utile, Ne laisser que du texte
  3. Téléchargez une image, déterminez qu'il y a un objet dessus (correspondance de modèle)



Implémentation


Lire récemment sur Habré Il faut grandir aux microservices ... et décidé de suivre. Il y a déjà eu quelques tentatives pour faire une telle chose à travers des structures «belles» (dans mon imagination): chaque fonction (comme template_match , md5 ) est comme un microservice optimisé pour résoudre sa tâche. En conséquence, tout y arrivera, mais pas aujourd'hui :)

Total disponible:

  1. Frontend sans beaux fonds d'écran
  2. API backend
  3. Céleri (en développement local j'utilise Redis, et dans le test et prod RabbitMQ)
  4. Travailleurs backend

Je dirai tout de suite: je suis très médiocre avec Frontend, cependant, grâce à Stackoverflow et à la recherche Google.



Plus d'exemples


Tous les exemples peuvent être trouvés ici , ils sont combinés en «projets».

L'un d'eux: extraire du texte d'une page HTML



Attention : le site fonctionne en lecture seule, mais le résultat vous sera retourné. Il ne pourra pas enregistrer vos modifications dans Project et Pipeline.

Une petite explication


Une liste de ce qui peut transformer les données: ici

Ce que ce projet n'est pas:

  1. Entrepôt de données
  2. Mineur de Bitcoin

Le projet est très similaire à:

  1. Zapier
  2. Yandex Nirvana
  3. Parse.com (quelques années achetées par Facebook)

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


All Articles