Существует много полезных инструментов, которые помогают автоматизировать рутинную работу и тем самым облегчить жизнь разработчика.
Выпускнику и преподавателю Computer Science Center, Равилю Галееву, пришла идея собрать такие инструменты и технологии в один курс и познакомить студентов с ними. За пример такого курса были взяты The Missing Semester of Your CS Education от MIT, Software Carpentry и cs50.
В этом посте мы собрали видеолекции курса Практический минимум и материалы к занятиям. Благодарим Равиля за подборку!
Содержание
Набор в Computer Science Center 2021
Введение в Linux
-
Буквально пара слов о том, что такое ядро
-
Набор исторических фактов (от Unix к Linux)
-
Файловая система
-
Пользователи
-
Файлы
-
Процессы
-
Unix way
Статьи
Wikipedia History of Unix
Книги
-
Brian Kernighan and Rob Pike - The Unix Programming Environment
-
Peter Seibel - Coders at Work: Reflections on the Craft of Programming
-
Steve Parker - Shell Scripting: Expert Recipes for Linux, Bash, and More
-
David Griffiths and Dawn Griffiths - Head First C
Видео
-
Александр Смаль История Unix систем
-
Александр Смаль Пользователи, файлы и процессы
Курсы
-
UNИX ПО GNU/Linux
-
Stepik Введение в Linux
Командная строка Linux
-
bash как REPL
-
Unix way
-
Шебанг
-
make
Статьи
-
The first web page, viewed by the first web browser, on a teletype, retrocomputing completeness
-
Software carpentry make
Книги
Ian Miell Learn Bash the Hard Way
Видео
-
Александр Смаль Bash скрипты
-
Виктор Ашик 008. Командная строка Unix
-
Виктор Ашик 004. Командная строка Unix
-
Brian Will Unix terminals and shells part1 part2 part3 part4 part5
-
Евгений Линский Основы C++. Лекция 2
Слайды/Презентации
-
Adrien Mahieux Bash for production systems
Bash-скрипты из реального мира
Система контроля версий git
-
git
-
commit
-
branch
-
merge
-
-
git flow
-
github
Статьи
-
Евгений Артюхов Ежедневная работа с Git
-
Vincent Driessen A successful Git branching model
-
Chris Beams How to Write a Git Commit Message
Книги
-
Scott Chacon and Ben Straub Pro Git
Видео
-
Марат Мавлютов 002. Системы контроля версий
-
Марат Мавлютов 003. Системы контроля версий
-
missing semester mit Lecture 6: Version Control (git)
Потренироваться
Языки разметки и XML
-
groff
-
LaTex
-
XML, JSON, YAML
-
Markdown, AsciiDoc
-
GraphViz, PlantUML
Статьи
-
Дмитрий Переверза Зачем нам UML
-
Поташников Николай PlantUMLвсе, что нужно бизнес-аналитику для создания диаграмм в программной документации
-
Иван Пономарев Презентация как код
-
Иван Кочуркин Современный формат презентаций
-
Амет Умеров Как я диплом в LaTeX писал с GitHub, Docker и TravisCI
-
John Gruber Markdown
-
Matt Welsh Writing man Pages Using groff
-
Eddie Smith From boiling lead and black art: An essay on the history of mathematical typography
Книги
К. В. Воронцов LATEX в примерах
Видео
-
Александр Смаль LaTeX
-
Владислав Танков Terraforming Clouds Видео
-
Tony Ibbs A brief history of text markup languages Видео Слайды
-
Самарев Роман Языки веб-программирования. SGML, HTML, CSS | Технострим
Слайды и другие материалы
-
Tony Ibbs A brief history of text markup languages
-
Борис Демешев latex_examples
Markdown cheatsheets
Разное
Регулярные выражения
-
Регулярки
-
grep
-
sed
-
awk
Статьи
-
Quantifiers (The Java Tutorials > Essential Classes > Regular Expressions)
-
Bash-скрипты, часть 7: sed и обработка текстов / Блог компании RUVDS.com / Хабр
Видео
-
Corey Schafer Regex Tutorial
-
Александр Смаль Регулярные выражения
-
Oliver Wegner sed basics
-
Михайло Иванкив Как я однажды верстал форму регистрации
Слайды и другие материалы
-
Debuggex: Online visual regex tester. JavaScript, Python, and PCRE.
-
regex - Greedy vs. Reluctant vs. Possessive Quantifiers - Stack Overflow
Взаимодействие с сетью
-
Разбираемся как работает посылка пакетов
-
Рассматриваем простейшие утилиты работы с сетью
-
Знакомимся с DNS, CDN, VPN и другими словами на три буквы
-
Пишем сервер на сокетах
Материалы
-
Julia Evans Networking!
Протокол HTTP
-
HTTP
-
REST
Статьи
Видео
Разное
Контейнеризация
-
chroot
-
Docker
-
Docker compose
Статьи
-
hexlet docker
-
How to Run Multiple Linux Distros Without Virtualization - Make Tech Easier
-
docker - What is the difference between CMD and ENTRYPOINT in a Dockerfile? - Stack Overflow
Видео
-
Solomon Hykes Introduction to Docker
-
Jake Wright Docker Compose in 12 Minutes Learn Docker in 12 Minutes
-
Mumshad Mannambeth Kubernetes for the Absolute Beginners
Курсы
Разное
Архитектура приложений
-
ООП
-
Паттерны
-
Многослойная архитектура
Статьи
Книги
Курсы
Видео
-
Greg Wilson What We Actually Know About Software Development, and Why We Believe Its True
-
John Ousterhout A Philosophy of Software Design
-
Jonathan Blow Preventing the Collapse of Civilization
Тестирование приложений
-
Тестирование
-
Логгирование
Статьи
-
Brian Kernighan Code Testing and its Role in Teaching
-
Tracing microservices with Zipkin and Kibana - merapar - Medium
Видео
-
UNИX 08. Тестирование
-
Анатолий Островский Логирование и трассировка запросов. Best Practices
-
Антон Бевзюк Демонстрация TDD на Java
-
Jakub Nabrdalik Improving your Test Driven Development in 45 minutes
Опасность в приложениях
-
Хеширование, контрольные суммы
-
Авторизация vs Аутентификация; JWT
-
Обмен ключами Диффи-Хеллман
-
RSA
-
TLS
-
Двухфакторная аутентификация
Статьи
-
Encode/Decode text & files to Base64 in Browser with Base64 Converter
-
Введение в KDF на примере решения криптографического ребуса / Хабр
-
Как HTTPS обеспечивает безопасность соединения: что должен знать каждый Web-разработчик / Хабр
-
Diagrams And Movies Of All The OAuth 2.0 Flows - Takahiko Kawasaki - Medium
-
OAuth 2.0 простым и понятным языком / Блог компании Mail.ru Group / Хабр
Видео
-
Hubert Sablonnire 100% Stateless with JWT
-
Laurens Van Houtven Crypto 101
-
Diffie Hellman Key Exchange by khan academy (смотреть с середины)
-
Поздняков С.Н. НОД. Расширенный алгоритм Евклида.
Книги
-
С. Рыбин, С. Поздняков Дискретная математика
-
М. Бабенко М. Левин Введение в теорию алгоритмов и структур данных
Билд-системы
-
от
make
кTravisCI
-
dockerhub
Статьи
-
Database version control Liquibase versus Flyway - robloxro - Medium
-
5 Blue-Green Deployment Best Practices for a Smooth Release | BlazeMeter
Видео
-
Денис Чернилевский Инструменты непрерывной интеграции
Разное
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
Кодировки, даты, локали
Разбираемся, почему /dev/random
печатает
краказябры
Статьи
-
Что нужно знать каждому разработчику о кодировках и наборах символов для работы с текстом
-
Что нужно знать каждому разработчику о кодировках и наборах символов для работы с текстом, часть 2
-
An Implementation of Unicode Normalization - Concerning Pharo - Medium
Видео
-
Андрей Акиньшин Поговорим про арифметику
-
Computerphile Floating Point Numbers
-
Tomasz Nurkiewicz Charbuster: 10 mitw o Unicode Слайды
-
Tomasz Nurkiewicz Krtka historia czasu Слайды
-
Александр Смаль Кодировки
-
Adrian Furtuna Practical Exploitation of rounding vulnerabilities in banking applications
Дебаг
-
Исключения
-
Дебаг
Статьи
-
A Crash Course on the Depths of Win32 Structured Exception Handling
-
Trapflag-Tracing I: Observing the Execution of a Program from Within Itself
Книги
-
Brian Kernighan and Rob Pike - The Practice of Programming
Видео
-
Harvard CS50 Introduction to GDB a tutorial
-
Harvard CS50 GDB
-
Pawe Moll How do debuggers (really) work
-
Кирилл Кринкин Отладка в Linux. Краткие сведения о gdb
Курсы
Кирилл Кринкин Основы программирования для Linux
Разное
Делитесь в комментариях своими рекомендациями материалов, которые пригодились вам.
Набор в Computer Science Center 2021
Помимо лекций и материалов студентам CS центра на курсе доступны домашние задания. Если вы хотите проходить ещё больше курсов по разным направлениям, приходите поступать.
CS центр это вечерние курсы по математике и программированию. Занятия проходят в Санкт-Петербурге и в Новосибирске. Жители других городов могут поступить на обучение в удалённом формате.
Чтобы поступить:
заполните анкету на сайте до 10 апреля,
решите задания онлайн-теста до 11 апреля,
участвуйте в онлайн-экзамене в конце апреля-начале мая,
пройдите собеседование в мае-июне.
Для тех, кто успешно справится со вступительными испытаниями, занятия начнутся в сентябре. Будьте готовы тратить на учёбу хотя бы 15 часов в неделю в течение двух или трёх лет. Если вы увлечены компьютерными науками или программированием, хотите развиваться в этих областях, любите учиться, то осваивать курсы и работать над проектами будет интересно и полезно.
Задать вопросы про набор можно в телеграм канале или по почте info@compscicenter.ru.