I don't understand definitions and uses of many terms and programs used in this course, such as docker, github, repositories, etc.