Git Basic2 provides resources for learning Git including books like Pro Git and tools like TortoiseGit. It discusses chapters from Pro Git including Getting Started and Git Basics. Git Basics is recommended as the chapter to read first to get started with Git. The document also covers understanding git log output, the detached head state, and differences between merging and rebasing branches in Git.
2014-06-26 - A guide to undefined behavior in c and c++Chen-Han Hsiao
This document discusses undefined behavior in C and C++. It begins by listing some great articles on undefined behavior, including one by Chris Lattner on what every C programmer should know. It then presents examples of code with undefined behavior, such as integer overflow, and explains why undefined behavior is both good and bad for compilers. The document warns that undefined behavior can lead to security vulnerabilities and bugs. It recommends being aware of undefined behavior, enabling compiler warnings, using static analysis tools, and preventing undefined behavior through code reviews and defensive coding practices.
Git Basic2 provides resources for learning Git including books like Pro Git and tools like TortoiseGit. It discusses chapters from Pro Git including Getting Started and Git Basics. Git Basics is recommended as the chapter to read first to get started with Git. The document also covers understanding git log output, the detached head state, and differences between merging and rebasing branches in Git.
2014-06-26 - A guide to undefined behavior in c and c++Chen-Han Hsiao
This document discusses undefined behavior in C and C++. It begins by listing some great articles on undefined behavior, including one by Chris Lattner on what every C programmer should know. It then presents examples of code with undefined behavior, such as integer overflow, and explains why undefined behavior is both good and bad for compilers. The document warns that undefined behavior can lead to security vulnerabilities and bugs. It recommends being aware of undefined behavior, enabling compiler warnings, using static analysis tools, and preventing undefined behavior through code reviews and defensive coding practices.