3 ms·
This one is tough and I would love to be able to learn more from a mix of reading + assignments as well. There are several books I would recommend: 1) Databas
by hello_moto 15y ago
This one is tough and I would love to be able to learn more from a mix of reading + assignments as well.
There are several books I would recommend:
1) Database Design and Implementation by Edward Sciore:
http://www.wiley.com/WileyCDA/WileyTitle/productCd-EHEP000711.html http://www.wiley.com/WileyCDA/WileyTitle/productCd-EHEP00071...
This book teaches RDBMS from conceptual perspective up to implementing your own RDBMS (using Java albeit).
2) OS Design XINU Approach (look for the PC edition)
http://www.amazon.com/Operating-System-Design-XINU-Approach/dp/0136375391 http://www.amazon.com/Operating-System-Design-XINU-Approach/...
3) Bunch of UNIX/Linux books
- The Design of the UNIX Operating System (M. Bach)
- Design and Implementation of BSD 4.4/FreeBSD 5.2
Unfortunately I don't think jumping to the most recent Linux kernel books would be feasible.
4) Look for any books that teaches both concepts and provide simple implementation of the said concepts.
For example:
http://www.amazon.com/Definitive-Guide-SQLite-Experts-Source/dp/1430232250 http://www.amazon.com/Definitive-Guide-SQLite-Experts-Source...
Find a book that teaches the concept of Graphics Pipeline and try to implement it yourself: http://www.viznet.ac.uk/files/d39pipeline.gif http://www.viznet.ac.uk/files/d39pipeline.gif
5) Check out the Java SDK (the actual implementation, not how to use the library) and HotSpot VM guides
- Concurrent, NIO/IO, Networking, Threading
- Garbage Collection, optimization, Class Loading, etc
I think the more you learn, exercise, and understand many system designs out there could help you to build your own "intuition" in the future.