OVH Cloud OVH Cloud

À tous les futurs gourous...

12 réponses
Avatar
AMcD®
On n'en voit pas une grosse pub et c'est bien dommage. Signalons que le
monumental Inside Windows (successivement appelé ensuite Inside Windows NT
(2nd Ed), Inside Windows 2000 (3rd Ed), appelée Windows Internals pour sa
4th Ed est sorti fin décembre 2004, début 2005.

http://www.amazon.fr/exec/obidos/ASIN/0735619174/402-3696876-7947347

C'est LE bouquin indispensable qui reste collé au bureau pendant 3 ans
tranquille. Pas de code, mais des détails introuvables ailleurs sur la
structure interne de Windows 2K, XP ou 2k3. Ça parle même un petit peu de
LongHorn. Cette édition a été revue et de nouveaux chapitres sont fameux,
comme le 14, sur l'analyse des crashes.

Bref, j'y suis soudé dessus depuis que je l'ai reçu. Comparé à tous les
bouquins minables qui pulullent sur le marché, genre 200 pages pour neuneus
cliqueurs qu'on trouve 5 fois mieux expliquées sur le Web en anglais, vous
ferez un investissement de 40 euros (Amazon) que vous ne regreterez pas.
Près de 1.000 pages, des figures de références, des exemples qui permettent
de comprendre et refaire le sujet traité, etc.

Notez qu'il n'y a pas de CD cette fois-ci. Doivent en avoir marre chez Kro
de retrouver leurs chm sur emioule :-).

PS : je ne suis aucunement lié à Microsoft, je n'ai pas l'honneur d'être
MVP, je n'ai aucun intérêt à leur faire de la pub si ce n'est que c'est le
genre de bouquin plutôt unique en son genre, écrit par des pointures,
rarement réimprimé, qui disparaît vite du marché et qu'on pleure quand on
l'a pas. Bref, avis à tous les bidouilleurs des entrailles de Windows.

--
AMcD®

http://arnold.mcdonald.free.fr/

10 réponses

1 2
Avatar
Olivier Huet
Bonjour,


AMcD® a écrit :
Windows Internals pour sa
4th Ed est sorti fin décembre 2004, début 2005.

http://www.amazon.fr/exec/obidos/ASIN/0735619174/402-3696876-7947347

C'est LE bouquin indispensable qui reste collé au bureau pendant 3 ans
tranquille.


> ...


Je confirme c'est un très bon bouquin - je l'avais même précommandé un
peu avant sa sortie :-)


Attention par contre, quelqu'un qui ne lirait que celui-là passerait
peut-être à côté des bases. En effet, il passe parfois un peu vite sur
des choses complèxes mais très détaillées dans d'autres bouquins et dans
MSDN : il ne faut donc pas lire que celui-là.


En tout les cas, les chapitres que j'ai déjà lu (je n'en suis qu'au 2/3,
je lis plusieurs trucs à la fois) sont très très très très
enrichissants. Par contre, il faut parfois s'accrocher, ça décrit des
mécanismes complèxes (par exemple, la gestion de la mémoire est gratinée
:-) ) !


J'aime bien aussi, sa façon de décrire à la fois la partie
fonctionnement et la partie visualisation des différents compteurs de
perf, outils ou bien commandes de debugger, pour visualiser le bout de
fonctionnement qu'il décrit : ça en fait un bouquin utile à la fois pour
le developpement et l'administration avancée (analyse de perf, de
dysfonctionnements etc.).


Voilà un deuxième point de vue, positif aussi !!!


Olivier Huet
Avatar
AMcD®
Olivier Huet wrote:

Attention par contre, quelqu'un qui ne lirait que celui-là passerait
peut-être à côté des bases. En effet, il passe parfois un peu vite sur
des choses complèxes mais très détaillées dans d'autres bouquins et
dans MSDN : il ne faut donc pas lire que celui-là.



En "théorie", le gars qui veut devenir un bon codeur sous Windows, il
commence d'abord à avoir un bon niveau en C ou en C++. Ensuite, il commence
littérairement parlant par le Charles Petzold. Déjà, si tous les codeurs
Windows avaient ce cursurs, ce serait pas mal :-).

Le cheminement classique ensuite est le Jeffrey Richter et tu finis avec le
Solomon/Russinovich. Tu passes ensuite quelques heures par-ci, par-là
régulièrement dans le MSDN et tu deviens un excellent professionnel. Après,
si tu veux faire le malin, tu peux lire Le Robbins (Debugging) et toucher un
peu aux drivers (Oney). Rajoute un livre system oriented ou deux, suis
fréquemment les articles du MSDN magazine online, et tu commences à toucher
ta bille sérieusement.

On dira donc (c'est samedi, amusons-nous un peu) :

Level 1 (Newbye)

1) Bon niveau C ou C++
2) Livre 1 : Programming Windows, The Definitive Guide to the Win 32 API
(5th Ed), par Charles Petzold
3) Livre 2 : Programming Applications for Microsoft Windows (4th Ed), par
Jeffrey Richter
4) Se dépatouiller avec le MSDN online

Level 2 (Standard)

1) Livre 1 : Windows Internal (4th Ed), par David Solomon et Mark
Russinovich
2) Livre 2 : Undocumented Windows NT, par Prasad Dabak (ou tout autre livre
de ce style)
3) Se promener régulièrement dans la KB
4) Lire régulièrement les articles du MSDNMagazine :
http://msdn.microsoft.com/msdnmag/default.aspx

Level 3 (Pro)

1) Livre 1 : Debugging Applications, par John Robbins (il y a 1-2 autres
livres sur le debugging pas trop mal)
2) Livre 2 : Multithreading Applications in Win32, par Jim Beveridge (ou un
autre du style)
3) Livre 3 : Win32 System Programming (3rd Ed), par Jonhson Hart
4) S'abonner à quelques NG du genre microsoft.public.win32.programmer.kernel

Level 4 (Advanced)

1) Livre 1 : Writing Secure Code (2nd Ed), par Michael Howard (quoique
celui-là, on pourrait le recommander au Level 1 :-) !)
2) Livre 2 : Microsoft Windows XP Inside Out (2nd Ed), par Ed Bott
3) Quelques Ressource Kits (Security, Network, etc.)
4) NG du genre comp.os.ms-windows.programemr.nt.kernel-mode

Level 5 (Elite)

1) Livre 1 : The Windows 2000 Device Driver Book, par Art Baker
2) Livre 2 : Programming the Microsoft Windows Driver Model (2nd Ed), par
Walter Oney
3) Livre 3 : Win32 System Services, par Marshall Brain

On peut complèter par un livre ou deux sur le GDI ou DirectX, éventuellement
1 ou 2 aussi sur COM, COM+, DCOM et toute la série et tu deviens complet !
Là déjà, tu commences à répondre tranquilement aux questions de ce NG :-).
Bon, ensuite, pour aller plus loin, faut passer au hacking, à l'ASM, etc. Je
ferai la liste une autre fois.

Pour être "Hyped" aujourd'hui, il faudrait la même liste, mais axée .NET.
Là, ce n'est pas mon domaine.

--
AMcD®

http://arnold.mcdonald.free.fr/
Avatar
Arnaud Debaene
AMcD® wrote:

PS : je ne suis aucunement lié à Microsoft, je n'ai pas l'honneur
d'être MVP, je n'ai aucun intérêt à leur faire de la pub si ce n'est
que c'est le genre de bouquin plutôt unique en son genre, écrit par
des pointures, rarement réimprimé, qui disparaît vite du marché et
qu'on pleure quand on l'a pas.



Sans compter que Solomon et Russinovitch ne travaillent pas pour MS, et que
ce sont les seuls personnes que je connaissent capables d'expliquer des
mécanismes genre détails du gestionnaire de mémoire virtuelle tout en
s'envoyant des vannes à la figure toutes les 2 minutes et en rendant le
sujet LUMINEUX! (si vous avez l'occasion d'assister à une de leurs
conférences, foncez...)

Arnaud
Avatar
Olivier Huet
Bonjour,


AMcD® a écrit :
Level 3 (Pro)

1) Livre 1 : Debugging Applications, par John Robbins (il y a 1-2 autres
livres sur le debugging pas trop mal)
...



A là non, le livre de John Robbins est à mettre dans le level 1 ou
peut-être 1.5 :-), il est indispensable. En tout les cas, à lire avant
Windows Internal à mon avis.


Level 4 (Advanced)

1) Livre 1 : Writing Secure Code (2nd Ed), par Michael Howard (quoique
celui-là, on pourrait le recommander au Level 1 :-) !)



En effet, bien plus tôt que le 4 celui-là : 1 ou 1.5. Je vois parfois
des horreurs écrites par des gens qui ne l'ont forcément pas lu.


Olivier Huet
Avatar
AMcD®
Olivier Huet wrote:

A là non, le livre de John Robbins est à mettre dans le level 1 ou
peut-être 1.5 :-), il est indispensable. En tout les cas, à lire avant
Windows Internal à mon avis.



Ouaip.

En effet, bien plus tôt que le 4 celui-là : 1 ou 1.5. Je vois parfois
des horreurs écrites par des gens qui ne l'ont forcément pas lu.



Oui. Cela a été écrit à la va-vite. Et un oubli ou deux importants sont à
préciser. La suite ci-après est-elle mieux ?

Level 1 :

- Writing Secure Code (2nd Ed), par Michael Howard (2002)
- Programming Windows, The Definitive Guide to the Win 32 API (5th Ed), par
Charles Petzold (1998)
- Programming Applications for Microsoft Windows (4th Ed), par Jeffrey
Richter (2000)

ou

- Win32 Programming, par Brent Rector (1997)

Level 2 :

- Debugging Applications, par John Robbins (2000)
- Microsoft Windows XP Inside Out (2nd Ed), par Ed Bott (2004)
- Multithreading Applications in Win32, par Jim Beveridge (1996)

ou

- Multithreaded Programming with Win32, par Thuan Pham (1998)

Level 3 :

- Win32 System Programming (3rd Ed), par Jonhson Hart (2004)
- Win32 System Services, par Marshall Brain (2000)
- Microsoft Windows Security Resource Kit, par Ben Smith (2003)

Level 4 :

- Windows Internal (4th Ed), par David Solomon et Mark Russinovich (2005)
- Undocumented Windows NT, par Prasad Dabak (1999)
- Undocumented Windows 2000 Secrets, par Sven Schreiber (2001)
- Windows NT/2000 Native API Reference, par Gary Nebbett (2000)

- Level 5 :

- Developing Windows NT Device Drivers, par Edward Dekker (2000)
- The Windows 2000 Device Driver Book, par Art Baker (1999)
- Programming the Microsoft Windows Driver Model (2nd Ed), par Walter Oney
(2002)

La progression semble plus logique cette fois-ci.

Côté spécialisation, on pourra ajouter :

GDI & DirectX :

- Graphics Programming with GDI+ & DirectX, par Alex Polyakov (2005)
- Windows Graphics Programming : Win32 GDI and DirectDraw, par Feng Yuan
(2000)
- Introduction to 3D Game Programming with DirectX 9.0, par Franl Luna
(2003)

Réseau :

- Network Programming for Microsoft Windows, par Anthony Jones (1999)

COM, COM+, DCOM (eux je ne les ai pas lu, on me les a mentionnés par mail)

- Learning DCOM, par Thuan Thai (1999)
- Understanding COM+, par David Platt (1999)
- Understanding DCOM, par William Rubin (1998)

Eh bien mine de rien, ça nous fait une petite bibliographie actualisée 2005
du codeur Win32 :-).

Quelques notes :

- Seul le premier auteur est mentionné,
- Seuls des livres encore "trouvables" sont cités,
- Certains ont été traduits en français (vraiment pas beaucoup, peut-être 4
ou 5 dans la liste)
- Ce n'est que MA liste, certains en préfèreront d'autres.

Enfin, ce serait bien qu'un spécialiste .NET ajoute quelques références (des
livres qu'il a lu hein, pas des références Amazon...).

Merci à ceux qui m'ont suggéré 2-3 trucs par mail.

--
AMcD®

http://arnold.mcdonald.free.fr/
Avatar
Olivier Huet
ReBonjour,


Un ajout indispensable pour la partie COM : il faut lire avant tout
autre chose "Essential Com" de Don Box. (Addison-Wesley Professional
(décembre 1997).
Le phrase de préface de Charlie Kindel "Nobody explains COM better than
Don Box" est assez vraie :-)
En plus, il est assez court, et couvre pas mal de choses (bon c'est sûr,
étant court et un peu vieux, il lui manque des choses, mais "à lire
avant tout autre chose sur COM" !).


Tu parles un peu de sécurité dans ta liste. Je pense qu'il manque
"Programming Windows Security" de Keith Brown (Addison-Wesley
Professional (juillet 2000)).


Ben sinon il y en a quand même pas mal dans ta liste que je n'ai pas lu
et qui ont l'air bien, il va falloir que je m'en lise quelques-un :-)

Olivier Huet
Avatar
AMcD®
Olivier Huet wrote:
ReBonjour,


Un ajout indispensable pour la partie COM : il faut lire avant tout
autre chose "Essential Com" de Don Box. (Addison-Wesley Professional
(décembre 1997).



8 ans, ça fait pas un peu vieux ? M'enfin, j'y panne que le minimum à COM,
je fais confiance et rajoute :-) !

Tu parles un peu de sécurité dans ta liste. Je pense qu'il manque
"Programming Windows Security" de Keith Brown (Addison-Wesley
Professional (juillet 2000)).



Exact ! Je n'ai pu que le feuilleter sommairement, mais ça m'avait l'air
tout bon. J'ai également oublié un bouquin de Richter au passage.

Level 1 :

- Writing Secure Code (2nd Ed), par Michael Howard (2002)
- Programming Windows, The Definitive Guide to the Win 32 API (5th Ed), par
Charles Petzold (1998)
- Programming Applications for Microsoft Windows (4th Ed), par Jeffrey
Richter (2000) ou
- Win32 Programming, par Brent Rector (1997)

Level 2 :

- Debugging Applications, par John Robbins (2000)
- Microsoft Windows XP Inside Out (2nd Ed), par Ed Bott (2004)
- Multithreading Applications in Win32, par Jim Beveridge (1996) ou
- Multithreaded Programming with Win32, par Thuan Pham (1998)

Level 3 :

- Win32 System Programming (3rd Ed), par Jonhson Hart (2004)
- Win32 System Services, par Marshall Brain (2000)
- Microsoft Windows Security Resource Kit, par Ben Smith (2003)

Level 4 :

- Windows Internal (4th Ed), par David Solomon et Mark Russinovich (2005)
- Undocumented Windows NT, par Prasad Dabak (1999)
- Undocumented Windows 2000 Secrets, par Sven Schreiber (2001)
- Windows NT/2000 Native API Reference, par Gary Nebbett (2000)

- Level 5 :

- Developing Windows NT Device Drivers, par Edward Dekker (2000)
- The Windows 2000 Device Driver Book, par Art Baker (1999)
- Programming the Microsoft Windows Driver Model (2nd Ed), par Walter Oney
(2002)

Spécialisation :

GDI & DirectX :

- Graphics Programming with GDI+ & DirectX, par Alex Polyakov (2005)
- Windows Graphics Programming : Win32 GDI and DirectDraw, par Feng Yuan
(2000)
- Introduction to 3D Game Programming with DirectX 9.0, par Franl Luna
(2003)

Sécurité :

- Programming Windows Security, par Keith Brown (2000)
- Programming Server-Side Applications for Microsoft Windows 2000, par
Jeffrey Richter (2000, ne vous fiez pas au titre :-) )

Réseau :

- Network Programming for Microsoft Windows, par Anthony Jones (1999)

COM, COM+, DCOM (eux je ne les ai pas lu, on me les a mentionnés par mail)

- Essential COM, par Don Box (1997)
- Learning DCOM, par Thuan Thai (1999)
- Understanding COM+, par David Platt (1999)
- Understanding DCOM, par William Rubin (1998)

Manque plus que quelques .NETistes nous fournissent de bons livres référence
et on aura une petite bibli bien sympa.

--
AMcD®

http://arnold.mcdonald.free.fr/
Avatar
Arnaud Debaene
AMcD® wrote:

COM, COM+, DCOM (eux je ne les ai pas lu, on me les a mentionnés par
mail)
- Learning DCOM, par Thuan Thai (1999)
- Understanding COM+, par David Platt (1999)
- Understanding DCOM, par William Rubin (1998)



Concernant COM, j'ajouterais bien ATL Internals, par Brent E. Rector et
Chris Sells (1999). En plus de son intérêt pour COM à proprement parler, il
montre un paquet de techniques de programmation C++ "avancé" (quelqu'un à
dit templates?) qui peuvent être utilisées pour un tas de trucs, Windows ou
pas.

Enfin, ce serait bien qu'un spécialiste .NET ajoute quelques
références (des livres qu'il a lu hein, pas des références Amazon...).


Je ne me prétend pas (encore!) spécialiste de .NET, mais de toute façon je
pense que c'est une techno encore un peu jeune pour avoir des bouquins
vraiment intéressants (un bon bouquin n'est envisageable que quand on a un
peu de recul sur une techno AMHA). Le Richter est sympa pour débuter, mais à
part çà...

Arnaud
Avatar
AMcD®
Arnaud Debaene wrote:

Concernant COM, j'ajouterais bien ATL Internals, par Brent E. Rector
et Chris Sells (1999). En plus de son intérêt pour COM à proprement
parler, il montre un paquet de techniques de programmation C++
"avancé" (quelqu'un à dit templates?) qui peuvent être utilisées pour
un tas de trucs, Windows ou pas.



J'ajouterai tout à l'heure.

Je ne me prétend pas (encore!) spécialiste de .NET, mais de toute
façon je pense que c'est une techno encore un peu jeune pour avoir
des bouquins vraiment intéressants (un bon bouquin n'est envisageable
que quand on a un peu de recul sur une techno AMHA). Le Richter est
sympa pour débuter, mais à part çà...



Il vaux quoi le Petzold C# ? Quelqu'un l'a lu ? Sinon, pour .Net, je pensais
à ceux-là (mais j'ai même pas ouvert, j'ai juste vu mentionnés par ci, par
là) :

Introducing Microsoft .Net, par David Platt (2003) - Excellent auteur
Programming Microsoft .NET, par Jeff Prosise (2002) - Le gars de Programming
With MFC
Inside Microsoft Visual Studio .NET 2003, par Marc Young (2003), souvent
cité

+ celui de Richter.

Quelqu'un a lu, utilisé ?

--
AMcD®

http://arnold.mcdonald.free.fr/
Avatar
Olivier Huet
Bonjour,

AMcD® a écrit :
Arnaud Debaene wrote:
Programming Microsoft .NET, par Jeff Prosise (2002) - Le gars de Programming
With MFC



Alors en ayant lu du bien je l'ai acheté. Je n'ai pas encore eu le temps
de le lire - juste de le feuilleter : ça à l'air très bien fait, surtout
pour l'ASP.Net mais ça couvre un peu tout.


+ celui de Richter.



Pareil que le précédent : ça a l'air bien pour poser les bases et aussi
creuser bien en détail les fonctionnements un peu pointus (garbage
collector, AppDomains, exceptions etc etc).

Mais là aussi, je ne l'ai que feuilleté !


Donc un avis uniquement après feuilletage de bouquins :-)

Olivier Huet
1 2