En tant que programmeur Java et développeur de logiciels, j'ai beaucoup appris des nombreux articles intitulés Ce que chaque programmeur devrait savoir sur..... , ils ont tendance à fournir de nombreuses informations utiles et complètes sur un sujet particulier qui serait autrement difficile à comprendre. découvrir. Dans ma quête de connaissances, je suis tombé sur des articles très utiles que j'ai mis en favoris comme informations de référence à relire. L'idée que de nombreux programmeurs pourraient bénéficier de la lecture de cette collection m'a incité à écrire cet article et à partager avec vous tous ces articles « Ce que tout programmeur devrait savoir ». Dans cet article, vous vous familiariserez avec l'ensemble classique de connaissances dont tout programmeur a besoin, dans des sujets tels que la mémoire , Unicode , l'arithmétique à virgule flottante , la mise en réseau , la conception orientée objet), le temps , l'encodage d'URL , la chaîne et bien d'autres. Cette liste est très importante pour les débutants et les nouveaux arrivants car ils manquent souvent de connaissances pratiques. Étant donné que la plupart des articles sont basés sur des exemples réels, les programmeurs débutants et intermédiaires peuvent en apprendre beaucoup. De plus, apprendre les bases au début de votre carrière vous aidera à éviter les erreurs que d’autres programmeurs et développeurs de logiciels ont déjà commises au cours de leur parcours d’apprentissage. Malheureusement, toutes les informations contenues dans les articles décrits ne sont pas faciles à digérer dès la première lecture. Il est probable que vous ne compreniez pas immédiatement certains détails concernant les nombres à virgule flottante, ou que vous soyez dérouté par les subtilités de la mémoire, mais il est important de garder cette collection à portée de main et de vous y référer de temps en temps pour obtenir des éclaircissements. Je vous souhaite donc bonne chance et bonne lecture de ces excellents articles. À propos, n'oubliez pas de partager d'autres articles « Ce que tout programmeur devrait savoir » s'ils ne figurent pas déjà sur notre liste.
Ce que tout programmeur devrait savoir sur la mémoire
traduction en russe C'est l'un des articles classiques qui vous guidera à travers les fonctionnalités de la mémoire, dont certaines sont anciennes, d'autres nouvelles, certaines célèbres et d'autres moins. Malgré le rôle managérial et l'omniprésence, tous les programmeurs ne disposent pas d'un niveau de connaissances suffisant sur la mémoire. Il est important de se familiariser avec la mémoire dans les systèmes modernes si vous travaillez à écrire des applications hautes performances. Les concepteurs de matériel proposent des modèles de gestion de la mémoire et des techniques d'accélération plus complexes, telles que les caches CPU, mais ceux-ci ne peuvent pas fonctionner de manière optimale sans l'aide des programmeurs. Je lis toujours cet article et je ne peux pas vous dire tout ce que j'en ai appris sur la RAM, les caches CPU tels que le cache L1 et L2, les différents types de mémoire, l'accès direct à la mémoire, la conception du contrôleur de mémoire et la mémoire en général. . En bref, une lecture incontournable pour les programmeurs de tout niveau.Ce que tout scientifique devrait savoir sur l'arithmétique à virgule flottante
Le sujet de l’arithmétique à virgule flottante est délicat et difficile à maîtriser. De nombreux programmeurs Java ne savent même pas ce qui peut mal se passer lorsqu'ils comparent des valeurs avec le typefloat
/ double
Operator ==
. Beaucoup d'entre nous commettent souvent des erreurs lors de la mise en œuvre de calculs monétaires de types float
et double
. Cet article est un autre joyau de cette série et constitue une lecture incontournable pour tous les développeurs et programmeurs de logiciels. Au fur et à mesure que vous acquérez de l'expérience, vous devriez aborder les subtilités des sujets généraux, et l'arithmétique à virgule flottante en fait partie. En tant que développeur Java senior, vous devez savoir comment effectuer des calculs monétaires, quand utiliser ou float
comment arrondir des nombres à virgule flottante, et bien plus encore. Même si vous avez de solides connaissances sur ce sujet, après avoir lu l'article, vous découvrirez peut-être quelque chose de nouveau sur les opérations en virgule flottante. double
BigDecimal
Ce que tout développeur devrait savoir sur Unicode
Le codage des caractères est un autre domaine dans lequel de nombreux programmeurs ont du mal, et « Le minimum absolu que tout développeur de logiciels devrait absolument connaître sur l'Unicode et les jeux de caractères (sans excuses !) » vise à combler cette lacune. Pour mémoire, oui, c'est le titre complet de cet article. Son auteur est Joel Spolsky, l'un des fondateurs de https://stackoverflow.com . Joel a écrit cet article sur son blog il y a près de 10 ans, mais il n'a pas perdu de sa pertinence dans le monde moderne. L'article explique ce qu'est Unicode, ce qu'est un encodage, comment les caractères sont représentés à l'aide d'octets, et bien plus encore. L'une des meilleures choses de cet article est le langage et la méthode de présentation, même si vous ne connaissez rien à Unicode, vous n'aurez aucun problème à le comprendre. En bref, une autre lecture incontournable pour tous les programmeurs, codeurs et ingénieurs logiciels.Ce que tout programmeur devrait savoir sur le temps
Outre le codage des caractères, l'heure et les dates (Time
et Date
) sont un autre domaine dans lequel de nombreux programmeurs, moi y compris, ont des difficultés. Même les développeurs expérimentés se perdent dans l'heure GMT, UTC, l'heure d'été et les secondes intercalaires. Pour être honnête, il n'est pas facile de gérer les fuseaux horaires sans commettre quelques erreurs, et l'utilisation de l'heure d'été rend la tâche encore plus difficile. Les problèmes s’aggravent si vous faites des essais et des erreurs, car vous ne pourrez jamais résoudre votre problème en procédant ainsi. Il existe un grand nombre de choses qui peuvent mal tourner, et tout autant d’idées fausses. Des choses comme savoir si une date contient ou non un fuseau horaire peuvent vous dérouter, la conversion de l'heure UNIX vers d'autres fuseaux horaires peut vous irriter et vous pouvez facilement oublier la synchronisation des horloges et des retards. J'espère qu'après avoir lu cet article, bon nombre de vos idées fausses sur le temps disparaîtront et que vous développerez une compréhension complète du temps.
Ce que tout développeur Web devrait savoir sur le codage d'URL
Cet article décrit les idées fausses courantes sur le codage URL (Uniform Resource Locator), puis tente de clarifier le codage URL pour HTTP, puis présente les problèmes et solutions courants. Bien que cet article ne soit spécifique à aucun langage de programmation, il illustre des problèmes en Java et se termine par des explications sur la résolution des problèmes de codage d'URL en Java et dans les applications Web à plusieurs niveaux. Vous apprendrez la grammaire URL de base, la syntaxe générale des URL en HTTP et d'autres protocoles. Cet article couvre également les pièges courants des URL tels que le codage des caractères, les caractères spéciaux dans différentes parties d'une URL et les problèmes de codage/décodage d'URL. Si vous êtes un programmeur Java, vous apprendrez également à gérer correctement les URL dans une application Java. Comment créer une URL et utiliser la bibliothèque client HTTP Apache Commons. Enfin, il propose également de bonnes pratiques et des suggestions pour travailler avec des URL, telles que la façon dont vous devez encoder une URL lors de sa création, vous assurer que vos filtres de réécriture d'URL gèrent correctement vos URL, et bien plus encore. En bref, une lecture incontournable pour tout développeur et programmeur Web.Que sait tout programmeur sur le développement Web ?
Cet article intéressant de programmersStackExchange traite de ce que tout programmeur implémentant les détails techniques d'une application Web devrait prendre en compte avant d'ouvrir un site au public. Il comprend des éléments issus des domaines de la conception d'interface et de l'expérience utilisateur, de la sécurité, des normes Web, des performances, de l'optimisation des moteurs de recherche (SEO), des technologies utilisées et de certaines ressources importantes. Le monde d'aujourd'hui dépend largement d'Internet et il est assez courant qu'un programmeur possède un site Web ou un blog personnel. L'expérience acquise grâce à cet article vous sera utile non seulement dans vos activités professionnelles, mais aussi dans vos propres projets. Vous découvrirez toutes les technologies clés telles que HTTP, HTML, XML, CSS, JavaScript, la compatibilité des navigateurs, des astuces pour réduire le temps de chargement de votre site, les sitemaps XML, les spécifications du W3C et plusieurs autres points clés.Ce que tout programmeur devrait savoir sur le référencement
Ceci est un autre article qui sera très utile pour les développeurs Web, les programmeurs et les blogueurs. Le référencement est trop important pour être ignoré, et il est important pour de nombreux programmeurs et blogueurs de connaître les bases de l'optimisation des moteurs de recherche pour aider Google à trouver leur contenu et à le montrer à d'autres programmeurs. Puisqu’aucune entreprise ne peut survivre sans une présence sur le Web dans le monde connecté d’aujourd’hui, le référencement devient encore plus important. Si vous avez une startup vendant un produit, le référencement est quelque chose dont vous devez vous occuper. Tous les programmeurs, en particulier les développeurs Web, peuvent grandement bénéficier de cet article. N'oubliez pas que l'optimisation des moteurs de recherche est vaste et très dynamique, et varie selon les différents moteurs de recherche, tels que Google, Yahoo et autres. Ainsi, pour maîtriser ce sujet, vous devez toujours mettre à jour vos connaissances.Ce que tout programmeur C devrait savoir sur le comportement non défini #1/3
Le langage de programmation C a le concept de « comportement indéfini ». Le comportement indéfini est un vaste sujet avec beaucoup de nuances, et c'est l'une des raisons pour lesquelles j'aime Java : moins de comportements indéfinis, moins de confusion, plus de stabilité et plus de paix. De nombreuses choses apparemment raisonnables en C ont en réalité un comportement indéfini, ce qui constitue une source courante de bugs dans les programmes. De plus, tout comportement non défini en C autorise les implémentations (du compilateur et du runtime) à générer du code qui formate le disque dur, effectuant des choses complètement inattendues, ou pire. Lisez cet excellent article pour une plongée profonde dans la mer des comportements imprévisibles.Ce que tout programmeur doit savoir sur les réseaux
D'après l'article lui-même "Vous êtes programmeur. Vous êtes-vous déjà demandé comment fonctionnent les jeux multijoueurs ? De l'extérieur, cela semble magique : deux joueurs ou plus partagent une expérience collaborative en ligne, comme s'ils existaient réellement ensemble dans le même monde virtuel. Mais comment "Nous savons la vérité, programmeurs, que ce qui se passe réellement est très différent de ce que vous voyez. Il s'avère que tout cela n'est qu'une illusion." Il s'agit d'un article très intéressant sur les réseaux écrit pour les programmeurs de jeux, mais je pense que chaque programmeur et développeur peut en bénéficier.Ce que tout développeur Java devrait savoir sur les chaînes
Ceci est mon articlejava.lang.String
et personnellement, je pense que tout programmeur Java devrait le savoir. Les chaînes sont très importantes dans la programmation Java quotidienne et c'est pourquoi une bonne connaissance est indispensable pour tout développeur Java. Cet article couvre de nombreux aspects importants de Strings, notamment le pool de chaînes, les littéraux de chaînes, la comparaison de chaînes avec ==
vs equals()
, la conversion d'octets en chaîne, la raison pour laquelle une chaîne est immuable, la concaténation de chaînes appropriée et bien plus encore. Un programmeur avancé connaît peut-être déjà toutes ces fonctionnalités, mais ce serait quand même une bonne idée de les revoir.
GO TO FULL VERSION