Bonjour ! Je ne me suis pas encore présenté, car je n’en ai pas eu l’occasion. Je m'appelle Harutyun {ha.root.eeoon} et je suis ingénieur logiciel et développeur Golang passionné. J'adore vraiment le langage et j'aime travailler avec sa chaîne d'outils. Je travaille avec Go depuis cinq ans. Avant de passer à Golang, j'ai travaillé en tant que développeur Full Stack, avec PHP comme langage backend principal et JS + jQuery pour le frontend.
À cette époque, j'ai remarqué que de nombreuses entreprises passaient de Ruby, NodeJS et PHP à Golang pour améliorer la latence, introduire la concurrence et permettre l'exécution de tâches en arrière-plan pour leurs produits. Le premier article que j'ai trouvé était sur le blog de Shopify, expliquant comment le passage à Golang a amélioré la latence de leur service de 80 %. J'ai été fasciné par l'article et j'ai commencé à lire des références, des concepts linguistiques et le blog officiel de Golang pour mieux comprendre la langue.
Après PHP, Golang était comme une bouffée d'air frais : tout était rapide, incroyablement rapide. Je me souviens du premier programme que j'ai écrit : un validateur de somme de contrôle de fichier pour certaines données open source de la NASA provenant de la mission Apollo. Il s’agissait d’une collection de cinq fichiers, chacun d’une taille d’environ 2 Go. Voir un temps d’exécution de 1,4 seconde m’a époustouflé. À ce moment-là, je savais que je devais passer ma pile à Golang pour créer et développer des logiciels géniaux.
Dans cet article, je souhaite partager quelques ressources qui m'ont aidé à devenir ingénieur Golang et continuer à m'aider à développer de nouvelles compétences tout en restant à jour avec les dernières technologies.
Si vous débutez avec Go et que vous souhaitez un livre qui rend le processus d'apprentissage facile et accessible, je vous recommande vivement « Get Programming with Go » de Nathan Youngman et Roger Peppé. Ce livre est parfait pour les débutants car il se concentre vraiment sur les bases sans vous submerger de trop d'informations à la fois. Ce qui est génial dans ce livre, c'est la clarté avec laquelle il explique tout. Cela commence dès le départ, en vous guidant étape par étape à travers les concepts fondamentaux de Go. Vous apprendrez les bases comme comment déclarer des variables, utiliser des boucles et écrire des fonctions, mais les auteurs le font d'une manière très accessible, même si vous n'avez pas beaucoup d'expérience en programmation.
Si vous êtes nouveau sur Go ou même nouveau dans la programmation en général, « Get Programming with Go » est l'un des meilleurs endroits pour commencer. Il est conçu pour vous aider à construire une base solide dans la langue sans vous sentir perdu ou frustré, et lorsque vous aurez terminé, vous aurez une solide compréhension du fonctionnement de Go. Une chose que j’ai vraiment aimé, c’est que le livre ne suppose pas que vous connaissez déjà de nombreux autres langages de programmation. Il est écrit dans un langage simple et vise à vous aider à comprendre la syntaxe et la structure de Go d'une manière simple et directe. Il couvre également l’approche unique de Go en matière de gestion des erreurs et de la mémoire, mais encore une fois, d’une manière très conviviale pour les débutants.
Si vous avez déjà suivi « Get Programming with Go » et que vous souhaitez faire passer vos compétences Go au niveau supérieur, je vous recommande fortement de poursuivre avec « Learning Go » par Jon Bodner. Alors que « Get Programming with Go » vous donne une base solide et présente le langage d'une manière très conviviale pour les débutants, « Learning Go » approfondit les aspects les plus complexes du langage, parfait lorsque vous Je suis prêt à explorer Go plus en détail.
Ce livre s'appuie sur les bases et vous aide vraiment à comprendre les subtilités de Go, comme son modèle de concurrence, ses interfaces et la gestion des erreurs. Alors que le premier livre vise à vous aider à démarrer, « Learning Go » approfondit les fonctionnalités uniques de Go et vous donne une image beaucoup plus claire de la façon d'écrire du code plus efficace et plus maintenable. Les explications restent très accessibles, mais elles sont plus complètes et couvrent des concepts que vous n’avez peut-être pas encore abordés. Donc, si vous avez terminé « Get Programming with Go » et que vous êtes prêt à approfondir vos connaissances, « Learning Go » est la prochaine étape idéale. C’est une excellente façon de poursuivre votre aventure Go et de vraiment maîtriser la langue.
Après avoir construit une base solide avec « Get Programming with Go » et plongé plus profondément dans les concepts fondamentaux de Go avec « Learning Go », la prochaine étape logique dans la maîtrise du langage est « 100 erreurs de Go et comment les éviter » par Teiva Harsanyi. Ce livre est la continuation parfaite de votre parcours Go car il déplace l'accent de l'apprentissage de la langue vers le perfectionnement de vos compétences et évite les pièges courants que même les développeurs expérimentés rencontrent.
Là où les deux livres précédents vous ont aidé à comprendre le fonctionnement de Go et comment utiliser ses fonctionnalités, « 100 erreurs de Go » adopte une approche plus pratique en mettant en évidence les erreurs du monde réel qui trébuchent souvent. les développeurs et comment les éviter. C’est une ressource fantastique pour les développeurs qui souhaitent affiner leur expertise en apprenant des expériences des autres. Le livre couvre les erreurs sur un large éventail de sujets, notamment la concurrence, la gestion des erreurs, les tests et la gestion de la mémoire, vous donnant un aperçu de la façon d'écrire du code Go plus robuste, efficace et sans bug. Il ne s’agit pas seulement de coder les meilleures pratiques, mais aussi de comprendre les raisons profondes qui expliquent pourquoi certaines approches peuvent sembler correctes au début mais peuvent conduire à des erreurs subtiles plus tard. Ce livre est inestimable pour améliorer vos compétences Go, vous aider à réfléchir de manière plus critique à votre code et vous assurer d'éviter les pièges courants à mesure que vous progressez vers l'écriture de programmes Go de niveau plus professionnel.
Chaque livre s'appuie sur le précédent, garantissant un parcours d'apprentissage complet depuis les bases jusqu'à la maîtrise des subtilités du Go. Vous commencez par « Get Programming with Go » pour établir une base solide, car il présente le langage d'une manière simple et conviviale pour les débutants. « Learning Go » vous plonge ensuite plus profondément dans les fonctionnalités et concepts fondamentaux de Go, vous donnant une compréhension plus approfondie des capacités du langage. Enfin, « 100 erreurs Go et comment les éviter » se concentre sur des conseils pratiques et concrets, vous aidant à identifier et à éviter les pièges courants, faisant de vous un développeur Go plus efficace et plus confiant.
"Test-Driven Development in Go" d'Adelina Simion est le dernier ajout à ma collection. Avec sa nouvelle perspective et son approche moderne du TDD, ce livre renforcera davantage la capacité des développeurs à écrire du code Go fiable et minutieusement testé tout en restant au courant des dernières pratiques de développement. Ce livre vous guidera dans l'adoption du développement piloté par les tests, garantissant que votre code Go est non seulement fonctionnel mais également robuste et maintenable. En vous concentrant d'abord sur l'écriture de tests et en les utilisant pour guider votre processus de codage, vous obtiendrez des informations plus approfondies sur la production d'un code de meilleure qualité.
https://research.swtch.com
C'est le blog personnel de Russ Cox, un contributeur clé du langage de programmation Go. Russ Cox est l'un des développeurs originaux de Go et a beaucoup écrit sur le langage, son développement et les concepts de génie logiciel en général. Son blog couvre des sujets techniques approfondis, en particulier autour des décisions de conception, des outils, du modèle de concurrence et des optimisations de performances de Go. Il s’agit d’une excellente ressource pour mieux comprendre l’évolution de Go et comprendre la raison d’être de nombreuses fonctionnalités du langage. Cox écrit également sur des sujets plus larges liés aux langages de programmation, aux compilateurs et à la théorie de l'informatique. C'est un incontournable pour les développeurs qui souhaitent se plonger dans les subtilités de Go, et il offre des perspectives uniques sur la façon dont Go est conçu pour résoudre des problèmes pratiques.
https://dave.cheney.net
Dave Cheney 是 Go 社区的杰出人物,为该语言做出了重大贡献,特别是在性能优化、错误处理和最佳实践等领域。他的博客因提供有关编写惯用且高效的 Go 代码的深入、实用的建议而闻名。他涵盖的主题包括 Go 的并发模型、内存管理、测试策略和性能调优。 Dave 还以以易于理解的方式分解复杂主题而闻名,这使得他的博客成为初学者和高级 Go 开发人员的绝佳资源。他撰写了有关常见 Go 设计模式、性能陷阱以及如何充分利用该语言功能的文章,并提供了帮助开发人员编写更健壮且可维护的 Go 程序的技巧。如果您想加深对 Go 的理解或探索先进技术,Dave Cheney 的博客是一个很棒的资源。
https://jvns.ca
虽然 Julia 的博客不仅仅涉及 Go,但它以其平易近人且富有洞察力的帖子而闻名,涉及广泛的技术主题,包括系统编程、调试、网络,有时还包括 Go。她的写作风格轻松且可读性强,使复杂的主题更容易理解,即使对于初学者也是如此。朱莉娅的与众不同之处之一是她能够理解复杂的概念,无论是网络基础知识还是操作系统的工作原理,并将它们分解为简单易懂的帖子。她经常使用杂志和插图来使技术内容更具吸引力,这是她博客的独特之处。尽管 Go 不是主要关注点,但当她撰写有关 Go 的文章时,却是从实用的系统级角度出发。如果您热衷于系统编程并想了解 Go 如何融入这个世界,Julia Evans 的博客是一个很好的资源!
https://go.dev/blog/
Go 编程语言的官方博客,由 Google 的 Go 团队维护。该博客涵盖新版本、功能、设计决策和社区更新。这是从核心开发人员的角度理解 Go 的重要来源。它是有关 Go 编程语言的更新、新闻和深入帖子的主要来源,由 Google 核心 Go 开发团队维护。该博客涵盖了广泛的主题,包括:
不幸的是,这些是仅限俄语的频道,并且大多数帖子来自俄罗斯来源,因此它们可能不适合很多人。但如果您懂俄语,就一切准备就绪!
学习 Go 是一次有益的旅程,拥有正确的资源会让一切变得不同。无论您是刚刚起步还是想要深入了解更高级的概念,这里提到的博客和书籍都可以提供宝贵的见解和指导。从掌握基础知识到避免常见陷阱,这些资源都经过精心策划,以确保您能够有效、自信地发展您的 Go 技能。
当您继续探索 Go 时,请记住,Go 社区的优势不仅在于其强大的语言,还在于其分享知识的意愿。今天提供的资源反映了无数希望帮助您取得成功的贡献者的辛勤工作和奉献精神。潜心投入,不断学习,享受这个过程,因为有了 Go,就有无限的可能性!
我想花点时间表达我对令人难以置信的资源的感激之情,这些资源使学习 Go 成为如此有益的经历。从有关语言设计和性能的深入博客文章到编写高效、惯用代码的实用建议,社区中许多人的贡献是无价的。这些资源背后的清晰性、热情和奉献精神帮助了包括我在内的无数开发者改进和成长。
感谢您让 Go 成为我们所有人的一次愉快而丰富的旅程!
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!