Bonjour, c'est UNIBA de MJ.
Cette histoire concerne le travail avec python
dans un certain projet.
python
est l'un des langages célèbres qui ne nécessite aucune explication particulière.
Je travaille habituellement en tant qu'ingénieur front, mais j'ai commencé à toucher python
vers avril, pensant que je voulais connaître le back-end récemment.
Chez UNIVA, j'utilise principalement des langages tels que «javascript» qui est «node» et «ruby» qui est «rails» au travail.
Comme maladie de la cuisine, j'ai choisi «python», ce que personne n'avait fait (je le regrette car j'étais à l'agonie car personne ne pouvait me soutenir).
À ce moment-là, au bon moment, il y avait un projet avec un backend (je me demande vraiment si c'est un backend car je n'ai pas mis en place de serveur au final, mais ...), alors je l'ai contesté. Cela dépend de ce que j'ai vu.
Au fait, je l'écris assez désordonné. Je ne sais pas
Je vais revenir sur quel genre de projet il s'agissait.
html
lors de l'enregistrement de photos (surveillance de dossier + modèle)La chance à propos de cette implémentation était que l'implémentation côté serveur n'est pas entrée.
J'ai eu beaucoup de chance de ne pas avoir à penser au développement des infrastructures en plus de DB et ainsi de suite. Ou plutôt, j'étais plutôt inquiet (personne dans l'entreprise n'exécute un serveur avec python
!!!).
Regardons en arrière un par un.
html
lors de l'enregistrement des photos (surveillance de dossier + modèle)Watchdog
pour surveiller les dossiers, jinja2
pour générer html
J'ai utilisé / dev /).
Les deux sont des bibliothèques assez faciles à utiliser. C'est une bibliothèque bien conçue qui ne nécessite aucune explication particulière.
Cela a rendu le script principal beaucoup plus facile.
Quand il s'agit d'utiliser «watchdog», une partie du contenu des dossiers que vous souhaitez surveiller (comme le nombre de fichiers et le nombre de changements) doit être testé.
Il n'y a pas eu de problème particulier avec ce projet.
Concernant le paramétrage d'aws, j'étais en charge de la partie dont je laisse généralement le paramétrage au back-end de l'entreprise.
C'est un bon souvenir que j'ai eu un peu de mal dans la partie contrat lorsque j'ai obtenu le domaine avec route53
.
s3 ne peut pas être «certifié de base», mais il peut être restreint par «IP», donc la période de test y a été prise en charge. Cependant, la vérification autour du partage SNS
était un peu gênante, je veux donc la rendre plus facile la prochaine fois.
J'ai utilisé boto
pour le téléchargement côté python. On dit qu''amazon 'l'a officiellement publié, mais honnêtement, c'était un peu pénible car la référence était difficile à lire et je ne pouvais pas bien régler le délai de communication.
De plus, si le nom du bucket contient «.», Vous devez écrire quelque chose de spécial. J'ai remarqué le fait juste avant la sortie et j'ai eu un peu de sueur froide. Si vous l'associez à un domaine, vous devrez ajouter .
, donc je veux que vous fassiez attention à cela du côté de la bibliothèque ...
C'est une mesure de précaution pour empêcher le téléchargement de photos lors de leur publication.
Au début, je l'ai implémenté moi-même, mais à la fin j'ai utilisé une bibliothèque appelée basehash
.
La partie qui est devenue un petit problème était la coopération avec d'autres applications.
En tant que système, en plus de python
, une application créée par ʻopenFrameworks était en cours d'exécution, et le code QR était généré en tant que lien vers le Web, mais la valeur générée du côté
C ++ est du côté
python. Ne correspond pas. L'algorithme est le même, mais il ne correspond toujours pas. La cause est que la valeur de hash est trop grande pour être gérée normalement par
C ++. En bref, c'était un gros problème int. Il a été dit que
pythoncalculera bien autant qu'il y a de mémoire dans la spécification. Je suppose que c'est la raison pour laquelle «python» est utilisé dans des domaines de recherche tels que les universités. Après tout, la partie chiffrée a frappé python de
C ++et a renvoyé le résultat. ʻSi __name__ == '__ main __':
est très utile. heureux.
C'était sobre ici. .. ..
Par exemple, si la communication est perdue, une trame sera générée et un avertissement tel que "Veuillez réessayer" sera émis.
L'écran d'avertissement doit être affiché dans le thread principal (un amateur qui était initialement confus sans le savoir), mais le processus de téléchargement appelé depuis watchdog
est en cours d'exécution dans le sous-thread en raison de la nature de la bibliothèque, donc entre les threads Je devais communiquer.
Pour être honnête, c'était un monde inconnu de l'oncle qui joue habituellement avec html
.
La classe Queue
a résolu ce problème. Nous avons pu utiliser join
et task_done
pour faciliter la coordination des arrêts et départs des processus. Non, c'est pratique.
La sortie du journal a été effectuée en utilisant logging
. Pour être honnête, je veux compléter un peu plus la partie rotation des journaux.
De plus, avec ʻapplescript`, je l'ai fait démarrer automatiquement à la connexion, mais cette histoire est omise cette fois.
Ce que j'ai pensé quand j'ai touché le langage python
node
, mais je veux me féliciter de ne pas avoir été déçuComment c'est?
J'espère que vous reviendrez travailler en utilisant python
.
Recommended Posts