hideout-lastation.com
Paradis Pour Les Concepteurs Et Les Développeurs


Premiers pas avec le développement Web Fullstack

Ces jours-ci, le développement de la pile complète moderne est très populaire dans les petites agences et les grandes entreprises avec une équipe technique dédiée. Les ingénieurs Web full stack travaillent sur l'ensemble d'une pile de technologies Web, y compris la gestion frontend, backend et serveur .

Beaucoup de gens soutiennent que la pile complète ne mène qu'à être un «touche-à-tout, maître de rien». D'un certain point de vue, cela peut être vrai, mais les compétences ne sont aussi importantes que ce qui peut être accompli avec. De nombreux développeurs de piles complètes offrent de la valeur, car ils peuvent prendre une idée de la conception au lancement et comprendre pleinement chaque étape du processus .

Si vous envisagez d' aller sur la route de la pile complète, alors cet article est pour vous. J'expliquerai les exigences générales d'un développeur de pile complète, ce que le rôle implique, et comment les compétences peuvent être utiles pour les pigistes / entrepreneurs qui veulent travailler directement pour les clients ou dans leurs propres projets.

Principes fondamentaux de la pile complète

Le développement de la pile complète moderne a parcouru un long chemin, car la technologie Web a beaucoup changé. Les exigences de la pile complète doivent être utilisées comme lignes directrices à considérer. En règle générale, une «pile» représente les technologies qui s'exécutent à l'unisson pour faire fonctionner un site Web . Cela signifie que le code frontend, le code backend, un système de base de données et une plate-forme de serveur Web + OS pour le serveur.

Le principe de base du développement de la pile complète est de comprendre tous les aspects de la construction d'un site Web. Cela ne signifie pas la connaissance de la conception ou du travail UI / UX, bien que cela puisse grandement améliorer votre viabilité et votre qualité de travail.

  • Les fondamentaux de frontend comprennent HTML / CSS et JavaScript, le plus souvent avec un framework, tel que Angular ou React.
  • Pour une langue de backend, vous voudrez choisir quelque chose qui peut être couplé avec un système de base de données. PHP / MySQL est le plus commun et le plus facile à apprendre car il alimente de nombreux moteurs CMS comme WordPress. De plus, la pile LAMP est indéniablement la pile web la plus populaire aujourd'hui.
  • Les connaissances du serveur peuvent être aussi simples ou détaillées que vous le souhaitez. Les bases absolues seraient la connaissance d'un programme serveur comme Apache couplé à une base de données comme MySQL ou PostgreSQL .
  • Vous pouvez aller encore plus loin pour inclure la connaissance de l'installation de serveurs de messagerie, ou des outils de performance, tels que memcached ou Varnish.
Un développeur de pile complet devrait se lancer dans les trois domaines avec suffisamment de connaissances pour lancer un site web indépendamment, et sans l'aide de quelqu'un d'autre.

Profondeur technique de la connaissance

Une grande question sur le développement de la pile complète est la profondeur de chaque zone . Un ingénieur full stack est-il vraiment maître de tout? Certains prétendent que c'est possible, mais ce n'est peut-être pas le but d'aller en pile complète .

La plupart des entreprises veulent embaucher des ingénieurs de la pile complète qui ont un peu de connaissances partout. Ces ingénieurs peuvent se spécialiser dans un domaine, mais ils sont capables de remplir n'importe quel rôle en cas de besoin .

Les développeurs qui commencent juste cette voie devraient s'amuser dans tous les domaines en apprenant «juste assez» pour résoudre les problèmes au fur et à mesure qu'ils se présentent . Cela donne une interprétation du monde réel aux technologies pour voir comment différents problèmes s'appliquent aux projets réels.

Le plus grand avantage du codage full stack est la possibilité de créer vos propres applications sans travailler pour d'autres utilisateurs.

Si vous apprenez chaque étape du processus de développement, vous pouvez tout faire vous-même. Vous n'avez pas besoin d'être un maître de PHP pour construire une application personnalisée Laravel. Et vous n'avez pas besoin d'être un gourou de JavaScript pour créer une navigation déroulante flexible particulièrement maintenant que nous avons tellement de code open source disponible sur le web.

Alors, à quelle profondeur devriez-vous aller dans l'un de ces domaines? Cela dépend entièrement de vous, et votre réponse changera probablement au fil du temps.

Mais quand vous commencez, allez juste assez loin pour implémenter ce que vous avez appris dans un vrai projet . Lorsque vous croisez quelque chose que vous ne comprenez pas, utilisez-le comme une opportunité pour aller plus loin, et en apprendre davantage sur ce sujet particulier .

Choix des langues

C'est une énigme pour le nouveau développeur de choisir les technologies à apprendre. Obtenir les nécessités de la route, HTML et CSS sont absolument nécessaires . JavaScript est également une nécessité, mais vous n'avez pas besoin de vous considérer comme un maître JS. Vous devriez cependant être intéressé d'apprendre plus que du simple JavaScript.

La plupart des développeurs apprennent également jQuery, mais les frameworks tels que React, Ember, Angular, Vue ou Backbone offrent tous un processus plus simple pour créer des applications Web complètes.

Il est possible de plonger encore plus profondément dans l'apprentissage des effets JavaScript sophistiqués, tels que les animations, mais ils sont totalement optionnels. Un développeur de pile complète devrait en savoir juste assez pour faire le travail, et passer à autre chose.

Le choix de la langue de backend est moins sur l'avantage technique, et plus sur le confort. La plupart des programmeurs se rendent compte que Python est un langage plus polyvalent que PHP, cependant la majorité des sites web fonctionnent sur des serveurs PHP. Cela fait de PHP un langage précieux pour plus d'entreprises.

Choisissez n'importe quelle langue adaptée à vos besoins, ou vous offre les meilleures perspectives. Gardez également à l'esprit que vous n'êtes pas coincé avec un langage de backend pour toujours . Si vous démarrez avec Ruby mais passez en Python, vous ne perdez rien dans le processus.

Cependant, je recommande une fois que vous trouvez une langue de backend que vous aimez, approfondissez avec ce langage, et prenez un cadre connexe . PHP a Laravel, Ruby a Rails, et Python a Django - parmi beaucoup d'autres options. Ces frameworks accéléreront votre processus de développement et vous aideront à structurer correctement vos applications.

Bases de données et serveurs

Le choix d'un moteur de base de données dépend des exigences du projet et de la pile du serveur. PHP fonctionne souvent avec MySQL, c'est donc le choix le plus préféré. Les deux plus grandes piles web actuelles sont LAMP (Linux-Apache-MySQL-PHP) et MEAN (MongoDB-ExpressJS-AngularJS-Node.js).

La plupart des sociétés d'hébergement offrent LAMP dès le début sans aucune configuration requise. Mais des solutions personnalisées comme Digital Ocean vous permettent de faire tourner presque n'importe quoi avec un peu de graisse de coude. Vous pouvez trouver plus de piles Web dans cette liste ou en effectuant une recherche en ligne.

Votre base de données de choix sera souvent liée à la langue de votre backend . Python est fourni avec le support SQLite par défaut, et les développeurs RoR peuvent généralement travailler avec n'importe quoi. Et honnêtement, n'importe quelle langue peut généralement fonctionner avec n'importe quelle base de données.

Mais vous voulez choisir quelque chose qui est assez commun à utiliser dans la majorité des projets web. SQL est un langage général et utilise la même syntaxe pour tous les moteurs de base de données. Vous trouverez des différences dans la configuration et l'administration de la table, mais celles-ci sont généralement mineures.

Au-delà des bases de données, voici quelques sujets techniques sur le serveur que vous voudrez peut-être connaître.

  • CDN et hébergement de contenu
  • Installation du logiciel serveur et mises à jour
  • Meilleures configurations de serveur pour les pics de trafic et les temps de chargement
  • Solutions de mise en cache pour les requêtes de base de données et le stockage du système de fichiers
  • Sauvegardes automatisées de bases de données et de fichiers plats ou de sauvegardes d'images disque
  • Configuration HTTPS avec gestion de domaine (serveurs DNS, enregistrements CNAME, etc.)
  • Des sujets plus détaillés, tels que le courrier électronique, les microservices et l'équilibrage de charge

L'une des meilleures façons d'apprendre est de bricoler avec les serveurs lorsque vous construisez des projets. Prenez un compte VPS de base et essayez de configurer vos propres piles. Ces VPS sont des environnements de serveurs virtuels complets où vous avez le contrôle total pour configurer (ou détruire) tout. En outre, la liste ci-dessus n'est pas une feuille de route obligatoire pour tous les développeurs de pile complète.

Les seules connaissances dont vous avez vraiment besoin sont celles qui sont requises pour créer un environnement de serveur vierge et installer le logiciel nécessaire pour exécuter un site Web . De là, toute autre chose est juste une connaissance améliorée. Si vous avez des questions ou souhaitez en savoir plus sur les professionnels, consultez la communauté Reddit's / r / SysAdmin.

La route à suivre

Si vous voulez vraiment apprendre le développement de la pile complète, faites une liste de toutes les technologies que vous voulez apprendre . À partir de là, vous pouvez les aborder un à un en créant vos propres projets de pratique pour tester ce que vous apprenez.

Le développement Web est une industrie en constante évolution, vous devriez donc toujours vouloir en savoir plus. Testez différentes piles et langues jusqu'à ce que vous trouviez ce que vous aimez. Mais toujours vouloir aller plus loin et aller mieux!

Le développement de la pile complète en vaut-il la peine? C'est à vous de décider. Mais voici quelques articles connexes qui pourraient vous aider à comprendre cela.

  • Sur la légitimité de "Full-Stack" (heapsortjobs.com)
  • Donc vous voulez devenir un développeur full-stack (rubysteps.com)
  • 7 conseils sur la façon de devenir un développeur de pile complète (usersnap.com)

DNSChanger - Malware qui cible vos routeurs via un navigateur Web

DNSChanger - Malware qui cible vos routeurs via un navigateur Web

Les logiciels malveillants qui ciblent les ordinateurs sont plutôt courants, mais les logiciels malveillants qui ciblent les routeurs sont complètement différents. Les chercheurs de l'entreprise de sécurité Proofpoint ont découvert que son fonctionnement est similaire au malware de Stegano récemment découvert .Le logi

(Conseils techniques et de conception)

Comment afficher la transcription chronométrée en même temps que l'audio lu

Comment afficher la transcription chronométrée en même temps que l'audio lu

Transcription audio est la version texte du discours, utile pour fournir des matériaux utiles comme des conférences enregistrées, des séminaires, etc. pour les audibles contestées. Ils sont également utilisés pour conserver des enregistrements textuels d'événements tels que des entretiens, des audiences et des réunions.L'aud

(Conseils techniques et de conception)