Skip to content

Instantly share code, notes, and snippets.

@Rulexec
Last active August 29, 2015 13:56
Show Gist options
  • Save Rulexec/9287663 to your computer and use it in GitHub Desktop.
Save Rulexec/9287663 to your computer and use it in GitHub Desktop.
1. Hello World! Программирование — это просто.
Что такое программирование. План. «Следите за руками»: пишем Pong (демонстрация).
2. Стек технологий.
Немного истории развития, стеки (железо, ОС, приложения, или библиотеки над библиотеками библиотек) и уровни технологий (машинные коды, ассемблеры, низкоуровневые, высокоуровневые ЯП).
3. Если так, то вот так, иначе вот эдак!
Понятие алгоритма, if-then-else, for, while, do-while, switch. Goto-праотец.
4. Примитивные типы данных.
Переменные, массивы, структуры.
5. f(x).
Функции, рекурсия.
6. Black stateful box.
Чёрный ящик, состояние, интерфейс.
7. Bird Hardcorius [практика].
Создание клона Flappy Bird.
8. Cruel World.
Память современного компьютера. Указатели реальны.
9. Программирование — это сложно.
О сложности алгоритмов, большое О, асимптоматика по времени и памяти.
10. Усложнить, чтобы упростить.
Списки, двусвязные списки, стек, очередь, деревья. Хештаблица.
11. Snake Hardcorius [практика].
Создание змейки.
12. We need to go deeper.
asm, машина Тьюринга.
13. Всё есть объект.
ООП. Класс. Наследование. Абстрактные классы. Интерфейс. Полиморфизм. Права доступа. Инкапсуляция.
14. I'm a software architect!
Архитектура. Паттерны. MVC. PubSub. Dependency Injection. Разделяй и связывай.
15. Turing Hardcorius [практика].
Реализация машины Тьюринга.
16. Всё под контролем.
Системы контроля версий, git. Коммиты, ветки.
17. Это всё ещё работает?
Тестирование. Модульное, интеграционное, системное тестирование. TDD. Непрерывная интеграция.
18. Сохранить всё.
Базы данных. Реляционные/не реляционные. SQL.
19. Повышенной безопасности.
Не доверять входным данным. Уязвимости на примере SQL-инъекций. Параллельность, состояние гонки. Синхронизационные примитивы. Транзакции. Segmentation fault. Buffer overflow.
20. HTTP/1.1 200 OK.
Сети. Интернет. Кадры, IP, UDP, TCP, HTTP.
21. {"answer": 42}
Сериализации. XML, json. Бинарная сериализация.
22. Farm Hardcorius [практика].
Создание многопользовательской фермы (игры про выращивание чего-либо на сервере) по TCP.
23. I'm spiderman!
Суть веб-разработки. MVC, роутинг путей, javascript.
24. Farm Hardcorius II [практика].
Портирование Farm Hardcorius на HTML5.
25. Project X [большая практика].
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment