Passer aux informations sur le produit
Cours de conception de systèmes pour développeurs aujourd'hui
Cours de conception de systèmes pour développeurs aujourd'hui
Description
Introduction au livre
Pratique de la conception de systèmes apprise à travers des cas de services à la mode,
Maîtrisez tout, de la conception architecturale pratique aux entretiens d'embauche dans les grandes entreprises technologiques, dans un seul livre !


Ce livre couvre tous les éléments fondamentaux de la conception de systèmes que les praticiens doivent connaître, depuis les concepts de base de la conception de systèmes jusqu'à la conception de systèmes et de services distribués.
Ce livre aborde de manière pratique tous les concepts et connaissances essentiels aux architectes système, notamment les équilibreurs de charge, les bases de données, le stockage, la mise en cache, les files d'attente et le DNS. De nombreux schémas et illustrations vous permettront d'acquérir rapidement et facilement des connaissances pratiques.
Vous apprendrez notamment à concevoir des services à grande échelle populaires auprès des utilisateurs, en utilisant des exemples concrets tels que X, Instagram, Google Docs et Netflix, ce qui facilitera la compréhension et la mémorisation.
Nous avons également inclus un guide et un aide-mémoire pour les entretiens avec les grandes entreprises technologiques, afin que vous puissiez appliquer immédiatement et efficacement les concepts clés appris lors de vos entretiens.
Ce livre couvre tous les aspects de la conception de systèmes, de A à Z, des concepts de base aux études de cas d'entreprises et à la préparation aux entretiens d'embauche. Maîtrisez tout en un seul ouvrage !
  • Vous pouvez consulter un aperçu du contenu du livre.
    Aperçu

indice
Partie 1 : Principes fondamentaux de la conception de systèmes

Chapitre 1 : Principes fondamentaux de la conception des systèmes
1.1 Définition de la conception du système
1.2 Différents types de conception de systèmes
1.3 L'importance de la conception de systèmes dans l'industrie
1.4 Un exemple concret qui illustre l’importance de la conception du système.
1.5 Résumé

Chapitre 2 Propriétés des systèmes distribués
2.1 Exemple de système distribué : un système de réservation de chambres d’hôtel
2.2 Cohérence
2.3 Disponibilité
2.4 Tolérance de partition
Latence de 2,5
2.6 Durabilité
2.7 Fiabilité
2.8 Tolérance au handicap
2.9 Évolutivité
2.10 Résumé

Chapitre 3 : Théorie et structure des données des systèmes distribués
3.1 Théorème CAP
3.2 Résumé du PACELC
3.3 Problème des généraux byzantins
3.4 Théorème d'impossibilité FLP
3.5 Hachage cohérent
3.6 Filtre Bloom
3.7 Esquisse de comptage-moyenne
3.8 Hyperloglog
3.9 Résumé

Composants essentiels d'un système distribué - Partie 2

Chapitre 4 : Principes fondamentaux des systèmes distribués : DNS, équilibreurs de charge et passerelles d’application
4.1 Comprendre le DNS
4.1.1 Requêtes DNS
4.2 Évolutivité, fiabilité et cohérence du DNS
4.3 Équilibreur de charge
4.4 Passerelle d'application
4.5 Architecture de microservices
4.6 Présentation du service de passerelle d'applications natives du cloud
4.7 Options sur site
4.8 Résumé

Chapitre 5 Conception et mise en œuvre des composants du système : bases de données et stockage
5.1 Base de données
5.2 Magasin clé-valeur
5.3 Optimisation de l'évolutivité et de la réplication des données
5.4 Implémentation des fonctions get et put
5.5 Tolérance aux pannes et identification des pannes dans les magasins clé-valeur
5.6 Entretien sur la conception de systèmes : Questions et stratégies de conception de magasins à valeur clé
5.7 DynamoDB
5.8 Base de données familiale de colonnes
5.9 HBase
5.10 Bases de données graphiques
5.11 Base de données graphiques Neo4j
5.11.1 Un regard plus approfondi sur Neo4j
5.12 Modélisation relationnelle et modélisation graphique
5.13 Résumé
5.14 Références

Chapitre 6 Mise en cache distribuée
6.1 Définition de la mise en cache
6.2 Conception de cache distribué
6.3 Solutions de cache distribuées représentatives
6.4 Résumé

Chapitre 7 : Publication/abonnement et files d’attente distribuées
7.1 L'évolution des systèmes distribués
7.2 Conception du système de publication/abonnement
7.3 Kafka
7.4 Flux Kafka
7.5 Kinesis
7.6 Résumé

Partie 3 : Se familiariser avec la pratique de la conception de systèmes

Chapitre 8 : Conception et mise en œuvre des composants du système : API, sécurité et indicateurs
8.1 API REST
8.2 API gRPC
8.3 Comparaison de REST et gRPC
8.4 Sécurité des API
8.5 Journalisation des systèmes distribués
8.6 Métriques dans les systèmes distribués
8.7 Notifications dans les systèmes distribués
8.8 Traçage dans les systèmes distribués
8.9 Résumé

Chapitre 9 : Concevoir un service de raccourcissement d’URL
9.1 Cas d'utilisation concrets
9.2 Conception d'API
9.3 Calcul de l'ampleur du problème
9.4 Conception du système
9.5 Examen des exigences
9.6 Résumé

Chapitre 10 : Conception des services de proximité
10.1 Cas d'utilisation concrets
10.2 Conception de l'API
10.3 Calcul de l'ampleur du problème
10.4 Conception du système
10.5 Examen des exigences
10.6 Résumé

Chapitre 11 X Conception de services
11.1 Exigences fonctionnelles
11.2 Exigences non fonctionnelles
11.3 Modèle de données
11.4 Dimensionnement du système
11.5 Exploration de la conception de haut niveau
11.6 Conception de services Tweet
11.7 Conception du service utilisateur
11.8 Chronologie du service Conception détaillée
11.9 Conception détaillée du service de recherche
11.10 Autres considérations
Résumé du 11.11

Chapitre 12 : Conception de services Instagram
12.1 Exigences fonctionnelles
12.2 Exigences non fonctionnelles
12.3 Conception du modèle de données
12.4 Dimensionnement du système
12.5 Conception de haut niveau
12.6 Conception détaillée du service
12.7 Autres considérations
12.8 Résumé

Chapitre 13 : Conception du service Google Docs
13.1 Exigences fonctionnelles
13.2 Exigences non fonctionnelles
13.3 Modèle de données
13.4 Dimensionnement du système
13.5 Conception de haut niveau
13.6 Conception détaillée des microservices
13.7 Autres considérations et meilleures pratiques
13.8 Résumé

Chapitre 14 : Conception des services Netflix
14.1 Exigences fonctionnelles
14.2 Exigences non fonctionnelles
14.3 Modèle de données
14.4 Dimensionnement du système
14.5 Conception de haut niveau
14.6 Conception détaillée du service
14,7 CDN
14.8 Résumé

Chapitre 15 : Conseils pour se préparer à un entretien d’embauche en conception de systèmes
15.1 Comment se préparer à un entretien d'embauche en conception de systèmes
15.2 Conseils pour les entretiens de conception de systèmes
15.3 Résumé

Chapitre 16 : Aide-mémoire sur la conception des systèmes
16.1 Sur quelle structure dois-je baser mes réponses lors d'un entretien de conception de systèmes ?
16.2 Quel système de stockage de données dois-je utiliser pour chaque cas d'utilisation ?
16.3 Quelle structure de données dois-je choisir pour chaque cas d'utilisation ?
16.4 Quels composants dois-je utiliser pour chaque cas d'utilisation ?
16.5 Quel protocole dois-je utiliser pour chaque cas d'utilisation ?
16.6 Quelle solution doit être appliquée pour chaque cas d'utilisation ?
16.7 Résumé

Image détaillée
Image détaillée 1

Dans le livre
L'intelligence artificielle d'Apple, Siri, a été présentée au monde pour la première fois en 2011, ce qui lui fait treize ans cette année.
Parmi les articles de SisaIN parus à l'époque, un titre a particulièrement attiré mon attention.
« Siri, tu ne deviens pas trop intelligente ? » Je me souviens que beaucoup de gens exprimaient à l'époque leur enthousiasme face à la perspective d'une ère révolutionnaire dans le domaine de l'intelligence artificielle.
Cependant, à cette époque, Siri ne pouvait exécuter que quelques fonctions par commandes vocales, et l'on considérait donc que cela ne suffisait pas pour parler d'intelligence artificielle.

Comment l'intelligence artificielle a-t-elle évolué aujourd'hui ? Tel est le titre d'un article paru dans le Korea Economic Daily en mars 2025.
Le premier journal au monde entièrement géré par une intelligence artificielle a été lancé… Les journalistes humains n'ont plus qu'à saisir les questions. Il s'agit là d'une avancée remarquable. Le secteur informatique l'est encore plus.
En mai 2025, Google a lancé Veo3, sa nouvelle IA de génération vidéo, et ses performances sont tout simplement stupéfiantes.
Si vous entrez une image, le logiciel créera automatiquement une vidéo naturelle correspondant à l'image, et si vous regardez la vidéo de démonstration, le résultat est tellement naturel qu'il est difficile à croire.
Il n'est pas exagéré de dire que l'IA est désormais profondément ancrée dans nos vies.

Les progrès de l'IA ont également entraîné des changements significatifs sur le marché du recrutement.
Les tâches simples et répétitives sont automatisées, et les entreprises recherchent des personnes capables de concevoir et d'exploiter des systèmes de plus en plus complexes.
Les développeurs doivent non seulement écrire du code de qualité, mais aussi posséder une compréhension structurelle et un jugement leur permettant de créer des services à grande échelle stables et flexibles.

Dans ce contexte, ce livre aborde les connaissances essentielles pour les développeurs d'aujourd'hui.
Il est structuré en fonction des différents défis de conception que l'on peut rencontrer sur le terrain, vous aidant ainsi à développer des compétences pratiques en résolution de problèmes au-delà d'une simple introduction aux concepts.
J'espère que vous lirez ce livre non pas comme un simple ouvrage théorique, mais comme un livre qui offre un aperçu de l'essence même de la technologie.

Même dans les postes de développement, il est courant d'entendre : « Nous accordons plus d'importance aux portfolios et aux compétences en collaboration qu'aux tests de codage. »
Cela s'explique par le fait que les critères d'évaluation, non seulement des compétences et de l'expérience, mais aussi de l'efficacité au travail, sont devenus plus sophistiqués.
Et au cœur de tout cela se trouvent les « capacités de conception de systèmes ».
Car la création d'un bon produit, qu'il soit grand ou petit, exige une compréhension et une réflexion approfondies sur la conception.

Plutôt qu'un livre que l'on lit d'une traite, c'est un livre qui gagne en profondeur au fur et à mesure qu'on savoure chaque page.
Je crois qu'en lisant les écrits de l'auteur, vous comprendrez bientôt mieux les systèmes complexes.
Ce n'est pas grave si vous ne comprenez pas tout d'un coup.
Lisez-le une première fois, relisez-le, et revenez-y chaque fois que vous en aurez besoin.
Plus vous ferez cela, plus ce livre vous en apprendra.
--- Note du traducteur

Avis de l'éditeur
Voilà comment se construisent les services performants.
Des concepts de base à la conception architecturale pratique en passant par les interviews des grands acteurs de la tech, tout dans un seul livre !

Principes essentiels de conception de systèmes pour les développeurs

Ce livre est une introduction à la conception de systèmes et vise à servir de guide pour l'ensemble du processus de conception de systèmes.
Il fournit une base théorique solide en couvrant tout, de la théorie de base des systèmes distribués aux algorithmes fondamentaux tels que le théorème CAP et les filtres de Bloom.
Il vous aide à apprendre simultanément des concepts et des pratiques dans un ordre linéaire et efficace : « Principes fondamentaux de la conception de systèmes → Théorie des systèmes distribués → Composants de base → Conception de services réelle → Conseils de préparation aux entretiens », tout en contribuant à renforcer vos compétences et votre compréhension en matière de réponses aux entretiens.

Un système qui apprend à partir d'exemples concrets tels que X, Instagram, Google Docs et Netflix.

Les points forts de ce livre sont les suivants :
Nous commençons par suivre les étapes de conception du système une par une et apprenons comment les principes de conception du système sont appliqués dans un environnement réel.
Deuxièmement, vous apprendrez tout, des exigences fonctionnelles au dimensionnement du système et à la conception des services aux utilisateurs, en utilisant des exemples de services populaires que vous rencontrez fréquemment dans la vie réelle, tels que X (Twitter), Instagram, Google Docs et Netflix.
Troisièmement, les différentes images et schémas, ainsi que les analogies du traducteur, facilitent la compréhension pour les débutants.
Si vous êtes un développeur qui souhaite évoluer au-delà du simple rôle d'auteur de code pour devenir architecte système, ce livre vous aidera à franchir une nouvelle étape, en abordant tous les aspects, des concepts fondamentaux aux exemples concrets.
SPÉCIFICATIONS DES PRODUITS
- Date d'émission : 26 septembre 2025
- Nombre de pages, poids, dimensions : 472 pages | 183 × 235 × 19 mm
- ISBN13 : 9791140715923

Vous aimerez peut-être aussi

카테고리