L'architecture en couches du réseau Internet
On connaît tous Internet. C’est le réseau informatique qui permet le transfert de données à l’échelle mondiale. Son ampleur est étourdissante avec environ 5 milliards d’utilisateurs, 200 millions de sites web actifs, 330 milliards d’emails envoyés par jour et 40 mille recherches sur Google chaque seconde. On y accède par divers moyens (Wi-Fi, fibre optique, le câble coaxial…), et à l’aide de divers appareils (ordinateurs, smartphones, montres connectées…).
Lire la suiteColorer le texte du terminal : tput et séquences ANSI
Un terminal en noir sur blanc ou inversement, ce n’est ni très intéressant, ni très joli, ni très informatif. Heureusement, les émulateurs de terminal modernes offrent une variété d’options de formatage et de couleurs de texte et de fond. Il faut juste savoir les appliquer à l’aide des séquences d’échappement ANSI ou de la commande tput. Dans cet article, nous explorerons ces deux méthodes.
Comment réussir sa piscine à 42
Il y a un an jour pour jour, je franchissais le seuil de l’école 42 à Paris pour la première fois. Je me jetais à l’eau pour tenter ma chance dans l’épreuve de la piscine. Ce mois d’apprentissage en informatique a été un véritable maelström aussi bien intellectuel qu’émotionnel. J’ai barboté tant bien que mal jusqu’à la ligne d’arrivée pour enfin me retrouver sélectionnée.
Lire la suiteLa différence entre le terminal, la console et le shell
Quand on s’aventure dans le monde informatique, on rencontre souvent les termes “terminal”, “console” et “shell”, qui semblent être utilisés de façon plus ou moins interchangeable. Est-ce que c’est vraiment le cas ? Et sinon, quelle est la différence entre tous ces termes ?
Lire la suitePourquoi un blog est un outil indispensable du développeur
Dans la boite à outils virtuelle de tout développeur, il devrait y avoir au moins un éditeur de texte, un compte GitHub, et un blog. Être développeur, c’est bien plus que savoir coder. Il faut savoir apprendre et s’adapter aux nouvelles technologies, communiquer avec ses pairs pour expliquer des points obscurs, et structurer sa pensée pour pouvoir formuler des solutions. Il faut aussi avoir une présence en ligne et un réseau professionnel. Pour cela, un blog est un outil indispensable du développeur.
Lire la suiteVariables locales, globales et statiques en C
Une variable, c’est un nom qu’on donne à un lieu de stockage en mémoire que notre programme peut ensuite manipuler. On peut préciser sa taille et son type en fonction des valeurs qu’elle contiendra (char, int, long). Mais on peut aussi contrôler sa longévité et sa portée lors de sa déclaration. C’est pour cela qu’il nous faut savoir distinguer les variables locales des variables globales ou encore des variables statiques quand on programme en C.
Lire la suiteBinaire 010 : l'utilité des opérations bitwise et du bit shifting
Les ordinateurs ne connaissent qu’une seule langue : le binaire. Nos nombreux langages de programmation nous permettent de donner des instructions dans un format lisible par l’humain. Ces instructions seront ensuite traduites en longues séquences de 0 et de 1. Bien que ce niveau d’abstraction nous est indispensable, il est parfois utile voire bien plus efficace de manipuler les bits de façon directe, à l’aide du bit shifting (décalage de bit) et des opérations bitwise (opérations bit à bit).
Lire la suiteBinaire 001 : compter et calculer comme un ordinateur
Comme on le sait tous, un ordinateur ne connaît que deux choses: les 1 et les 0. Chaque lettre dans cette phrase, chaque couleur, chaque seconde d’une vidéo ou d’un morceau de musique, chaque page web, chaque programme n’est qu’une longue succession de 1 et de 0. C’est le binaire, et si l’on souhaite pouvoir communiquer efficacement avec ces machines en tant que programmeurs, il faut comprendre comment marche ce système de numération en base 2.
Lire la suiteMalloc : allouer de la mémoire en C
Dans les langages de programmation compilés comme le C, il est souvent intéressant voire nécessaire d’allouer de la mémoire de façon dynamique sur le tas, pour accommoder des variables de grande taille ou de taille incertaine. C’est la fonction malloc qui nous permet de demander au système d’exploitation d’allouer une zone de mémoire à utiliser dans notre programme.
Lire la suiteCatégories
Tags
- Binaire
- Bit
- Bitshifting
- Communication Inter-Processus
- Commutateurs Réseau
- Console
- CTF
- Data Race
- Deadlock
- Descripteur De Fichier
- Développeur
- Entiers
- Errno
- Escalade Des Privilèges
- Fichier
- Fork
- Free
- Gestion D'erreur
- Heap
- IPv4
- Kill
- Linux
- Malloc
- Masque De Sous-Réseau
- Mutex
- Mémoire
- Opérateurs Bitwise
- Outils De Programmation
- Pentesting
- Pipe
- Processus
- Programmation Concurrente
- Protocoles
- Routage
- Routeur
- Shell
- Signal
- Socket
- Stack
- Statut De Fin
- Système D'exploitation
- TCP/IP
- Terminal
- Thread
- Tryhackme
- Variables
- École 42
- Écriture