[PYTHON] Cela fait un an que j'ai rejoint le département de développement d'applications Web, alors je regarde en arrière

introduction

Juste en janvier de cette année, j'ai été transféré dans l'équipe de développement, Nous sommes sur le point d'entrer dans l'année. C'est peut-être le début de l'année, alors Je décrirai ce que je veux faire pour cette année et un bilan.

À propos du produit que nous développons

L'équipe de développement dans laquelle j'ai déménagé Je suis en charge du service de mesure des journaux d'accès pour les données de comportement en ligne. Il existe de nombreux liens avec le service de publicité numérique, etc. La plate-forme est principalement AWS, la plupart des sources sont PHP et certaines sont Python / Java.

Mon état après mon transfert

Initialement intéressé par la programmation, Je faisais beaucoup de choses entre le travail. Je voulais le faire moi-même Je veux passer un peu plus de temps à étudier J'ai commencé à fréquenter quelque chose comme une école de programmation.

Apprenez de la grammaire de base de Ruby au modèle MVC, etc. J'ai créé un service de type Twitter en utilisant Ruby on rails sous une forme proche de la copie. J'ai obtenu mon diplôme parce que je sentais la limite de ma croissance à l'école de programmation. Après cela, je n'ai pas créé d'application originale J'étais occupé avec le travail et je passais mes journées à la hâte.

Sur le plan commercial, les écoles de programmation accordent la priorité absolue à la création de «choses qui prennent forme». (Sinon tout le monde sera frustré) Donc, je ne comprends pas vraiment le sens, mais si je suis le matériel didactique, cela fonctionnera. Comme cela se fait dans un environnement cloud, il n'y a pas beaucoup de différence entre les environnements, La particularité est que si vous suivez le matériel pédagogique, il n'y aura presque aucune erreur.

Je pense que c'était un bon début, mais Je pense maintenant que je n'avais pas beaucoup de connaissances sur les infrastructures comme autour du serveur.

En étudiant dans un tel environnement, j'ai déménagé à cause d'une relation, À ce moment-là, j'ai ressenti comme suit. ・ Je comprends dans une certaine mesure HTML / CSS / ruby / python / mysql ・ Le modèle MVC connaît le contour ・ Les connaissances autour du serveur sont presque nulles. vi Quand je l'ouvre, je ne peux pas le fermer et je suis impatient ・ Bien sûr, aucune connaissance des réseaux, des logiciels ou du matériel ・ AWS n'a touché que Cloud9 et EC2

À partir de là, je pense qu'il y a beaucoup plus à faire, Je veux accélérer la croissance l'année prochaine, alors Je vais revenir sur ce que j'ai fait, ce que j'ai pu faire et ce que je voulais faire l'année prochaine.

Ce que j'ai fait cette année

En regardant en arrière sur cette année, je pense qu'elle peut être divisée en trois étapes: période de formation, période de réponse à l'enquête de division et période de travail de développement.

Période de formation (janvier-avril)

Immédiatement après avoir été affecté Parce qu'il s'agissait d'un modèle rare de transfert de la division commerciale vers le développement, Je n'ai presque pas de travail. Obtenez le thème de votre recherche, écrivez Hello world en plusieurs langues, Je faisais la sortie de fichier. Nous nous sommes également concentrés sur l'étude des protocoles et des réseaux HTTP pendant cette période. En outre, le traitement de l'information de base a également été acquis pendant cette période.

Période de réponse à l'enquête (mai-octobre)

Parce que j'ai un bon aperçu de nos services J'ai commencé à répondre aux demandes de renseignements, Le travail consistant à recueillir des informations spécifiques de la DB a considérablement augmenté. De plus, certains sont affectés par l'attribut Samesite de Chrome, J'ai également participé à la réponse.

Aux travaux de développement (à partir de juillet)

Je pense que j'ai commencé à toucher au travail de développement à partir du mois de juillet.

・ Mise en œuvre de la validation dans JS ·Tableau de bord ・ Correction de section du modèle d'apprentissage automatique ・ Correction de la liaison de données avec les services associés ・ Libération de service J'étais autorisé à le faire. Tous étaient comme toucher pour la première fois, alors Même si cela a été douloureux, je pense que c'était une excellente expérience d'apprentissage.

Ce que je peux faire et me souvenir cette année

Période de formation (janvier-avril)


Ce que j'ai appris
・ Connaissances de base suffisantes pour recevoir le traitement de l'information de base ・ La grammaire de chaque programme (HTML & CSS, Python, PHP, Javascript, jQuery, SQL) qui peut être fait avec Progate ・ Comment utiliser Git ・ Comment utiliser Redmine · Classification de la distribution Linux -Classification du gestionnaire de colis


Ce que je peux faire
-Créer une application de bureau simple avec python ・ Fonctionnement facile d'Excel avec python

Je ne pouvais rien faire à ce moment-là, alors je ne faisais que participer. Si je n'avais pas d'objectifs, ce serait difficile pour moi de le faire, alors J'ai entré dans le but de réussir le traitement de l'information de base, et j'ai pu le passer en toute sécurité. Pouvoir réussir m'a donné des connaissances, ce qui m'a donné confiance.

Je pense que c'était bien d'avoir une façon d'aborder des choses que je ne comprends pas ici. Par exemple, essayez de saisir une autre perspective Prenez un moment pour saisir d'autres choses et essayez à nouveau d'apprendre. Le reste est l'importance de la production. En particulier, j'ai tendance à avoir une idée approximative des choses. Dans ma propre interprétation, je viens de créer une image, J'ai remarqué que ce n'était pas bien verbalisé.

Après tout, si vous ne pouvez pas le verbaliser, vous ne pouvez pas l'utiliser pour communiquer avec les gens, alors Je pense que c'était un avis important.

Aussi, avec la connaissance de la distribution Linux, La collecte d'informations autour de la construction de l'environnement est devenue plus fluide. Auparavant, j'ai vu un article tel que "Comment installer XX sur Ubuntu" J'ai souvent copié le code de cet article sur CentOS et cela n'a pas fonctionné, mais ... Il est devenu possible de classer les informations qui peuvent être appliquées et les informations qui ne peuvent pas être appliquées dans une certaine mesure.

Période de réponse à l'enquête (mai-octobre)


Ce que j'ai appris
・ Configuration de l'infrastructure du service interne ・ Connaissances AWS telles que EC2, ELB, Opsworks, CloudFront, CloudWatch, Athena, S3 ・ Connaissances de base telles que la structure des dossiers de CakePHP et Laravel ・ Connaissance des cookies et des attributs des cookies (même site, domaine, etc.) ・ Méthode de test de charge utilisant Jmeter


Ce que je peux faire
・ Un ensemble de commandes Linux -Création de programme avec script Shell (entrée / sortie de fichier, opération DB, remplacement, etc.) ・ AWS CLI (s3, athena) ・ Donnez au journal d'accès la forme souhaitée avec Athena ・ Donnez au journal d'accès la forme souhaitée avec php et python -Extraction de données de plusieurs tables avec mysql (je n'étais pas doué pour rejoindre) ・ Effectuez un test de charge avec Jmeter et produisez un peu moins de 1000 imps par seconde.

Dans la période autour d'ici Il y a eu de nombreuses réponses à des demandes telles que la délivrance de telles données par la division commerciale et le nombre de ces demandes. Les opportunités telles que l'extraction de données à partir du journal d'accès accumulé dans s3 ont considérablement augmenté, mais Faites des extractions similaires via PHP, essayez avec Pandas, faites tout avec Athena, etc. J'ai pu contester de différentes manières. Il existe une quantité décente de données, telles que l'extraction de chaînes de caractères et la conversion de balisage, etc. Je pense que j'ai pu étudier parce que j'ai pu faire d'autres choses que cela. Quant à mysql, j'ai appris la partie sensuelle de savoir si se joindre dans cet ordre le rendrait plus lourd.

Aussi, grâce à quelque chose comme écrire dans Shell que ce travail est gênant De nombreux programmes Shell sont désormais disponibles.

Aux travaux de développement (à partir de juillet)


Ce que j'ai appris
・ Comment déployer chaque serveur de votre entreprise ・ La partie touchante de Vue.js ・ Vue d'ensemble de Java (orienté objet) ・ Maven, outils de construction de fourmis faciles à utiliser ・ Concept d'analyse de régression logistique ・ Connaissance AWS de ECS, ECR, CodeCommit, AWS Batch, Kinesis, KCL, etc. ・ Connaissance de Fluentd


Ce que je peux faire
・ Manipulation DOM dans JS ・ Manipulation DOM avec Jquery, Ajax -Correction simple de Vue.js · Utilisation du framework css ・ Mise à l'échelle automatique avec ECS et ECR -Manipulation de fichiers de plusieurs Go à l'aide de bibliothèques python telles que pandas et numpy ・ Personnalisez Auth, envoyez un mail, créez des règles de validation avec Laravel ・ (Mis à part la précision) Estimation du développement -Modification, compilation et exécution basées sur la copie Java

Depuis juillet, nous avons progressivement pu recevoir des tâches de développement. Comme je l'ai souvent fait avec des fonctions que j'ai faites pour la première fois ou des frameworks de bibliothèques que j'ai touchés pour la première fois J'étais très reconnaissant d'avoir pu élargir mes horizons.

Si quoi que ce soit, il existe de nombreuses possibilités de toucher la face avant, C'était la première fois que je touchais correctement JS, En seconde période, il était bon de toucher légèrement le monde de Vue.js.

De plus, parce que j'étais autorisé à effectuer le travail de publication Connaissance spécifique de l'architecture de service J'ai pu organiser les connaissances autour d'ECS et d'ECR.

A part ça, j'ai touché doucement Java, J'ai pu atténuer dans une certaine mesure l'image difficile de Java. (J'ai détesté Oracle DB)

Ce que je veux faire l'année prochaine

En ce qui concerne la technologie, ce n'est pas quelque chose que je veux faire, mais Tout en collectant activement des informations Je veux pouvoir sortir au lieu de l'entrée lorsque j'en ai l'occasion. De plus, comme la plupart d'entre eux ont un sentiment de niveau, ils sont toujours introductifs à chaque technologie. Je voudrais insister sur le passage des débutants aux intermédiaires.

API Il n'y a pas eu de contact avec l'API jusqu'à présent. J'ai fait quelque chose comme frapper le journal alimentaire et l'API de Rakuten, Je n'ai aucune expérience de la mise en œuvre du côté API, donc je veux le faire. Tout d'abord, je pense que c'est de l'entrée de l'API Restful, N'est-ce pas comme essayer de publier une API simple? ..

Laravel Tout en étant touché par diverses langues, C'est acceptable! Je suis un peu inquiet de ne pouvoir penser à rien. Actuellement, Laravel est décent dans une certaine mesure, Avec Laravel, je veux l'amener à un état où je peux tout comprendre.

Architecture logicielle

Rejoignez la conférence PHP plus tôt ce mois-ci Intérêt accru pour l'architecture. Parce que j'ai emprunté Design It! Quel genre de réflexion dois-je adopter au quotidien? Je voudrais construire une telle pièce. L'architecture est large, donc Tout d'abord, j'aimerais approfondir les domaines qui m'intéressent et qui m'intéressent.

Code de test

La partie la plus pénible du travail de développement pendant un an a été les tests manuels. Je n'ai fait que la plupart du code de test écrit par des gens, donc Je veux être prêt à écrire rapidement du code de test.

Pour une raison quelconque, dans ma carrière lorsque je suis passé au département de développement dans les arts libéraux La preuve de certaines connaissances par qualification semble importante. Donc, tout en visant à acquérir des connaissances jusqu'au bout Je souhaite obtenir les qualifications suivantes.

Traitement de l'information appliqué réussi

De la sécurité au matériel, logiciel, base de données, etc. J'aimerais l'acquérir car ce sera l'occasion d'apprendre un large éventail de domaines. J'ai eu recours au traitement de l'information de base, mais comme il s'agissait d'une formule de sélection, On peut dire qu'il s'est établi en tant que savoir. Je vais progressivement commencer à apprendre dès le début de l'année et l'acquérir en avril.

Acquisition d'AWS Solution Architect

J'ai un peu touché AWS dans mon entreprise, Je veux garder les bases de services que je n'ai jamais touchés, donc je vais les acquérir. Je vais le prendre après le traitement des informations appliqué, donc L'objectif est aux alentours de juin.

Acquérir plus de connaissances en sécurité (test Tokumaru?)

Organisation de certification des ingénieurs PHP

Il y a un certain nombre de domaines où la sécurité est une préoccupation et la vitesse de création de services ralentit. Je veux aussi gagner en confiance ici Je veux vraiment le recevoir. On dit qu'un test bêta sera effectué au début de l'été prochain, donc Je ne sais pas ce qui va se passer, mais je garderai un œil dessus.

Créez (complétez) votre propre service

Je faisais un peu une application Web, J'ai été bâclé, alors Je veux m'en débarrasser le plus vite possible. Plutôt que de s'en tenir aux détails et de ne pas se déployer facilement Essayez de l'éteindre pour le moment quand il est terminé dans une certaine mesure, J'essaierai de le corriger en regardant la réaction.

Résumé

Ça fait un an que j'ai déménagé J'ai appris plus que ce à quoi je m'attendais. Je ne pense pas que j'aurais pu acquérir ces connaissances sans avoir été transféré. Cependant, je suis toujours une fille, alors Je ferai de mon mieux l'année prochaine pour pouvoir continuer à grandir.

Recommended Posts

Cela fait un an que j'ai rejoint le département de développement d'applications Web, alors je regarde en arrière
Quand j'ai essayé le concours AtCoder pour débutants, c'était un résultat terrible, alors je regarde en arrière
Notez que j'étais accro à accéder à la base de données avec mysql.connector de Python en utilisant une application Web
Il y a un long chemin à parcourir pour développer une application web
Je souhaite créer une application Web en utilisant React et Python flask
Ce à quoi j'étais accro lors de la création d'applications Web dans un environnement Windows
J'ai créé un programme pour rechercher des mots sur la fenêtre (développement précédent)
Notez que j'étais accro à la configuration de TensowFlow
J'ai créé un outil pour générer automatiquement un diagramme de transition d'état pouvant être utilisé à la fois pour le développement Web et le développement d'applications
J'ai été surpris de recevoir une belle critique lorsque j'ai écrit Python à CheckIO et son explication
Une histoire sur l'écriture d'AWS Lambda et de devenir un peu accro aux valeurs par défaut des arguments Python
Comme la date Excel lue par pandas.read_excel était une valeur de série, elle a été convertie en datetime.datetime.
J'ai essayé de trouver la différence entre A + = B et A = A + B en Python, alors notez
Une histoire sur tout, de la collecte de données au développement d'IA et à la publication d'applications Web en Python (3. développement d'IA)
L'éditeur Cloud Shell de GCP était encombré par l'environnement de développement Python, j'ai donc réussi à le reconstruire comme un terrain vacant.