52

Анонс бесплатного курса "Командная строка для разработчиков"

По нашему опыту, современному backend-разработчику неплохо бы понимать Linux на каком-то уровне. Свои мысли насчёт того, зачем разработчику Linux, мы недавно оформили в виде статьи, вызвавшей особо бурные обсуждения.

Кто-то считает, что без линукса действительно никуда. Кто-то считает, что разработчику и в винде комфортно. Кому-то наши примеры показались выдуманными. Кто-то нашёл примеры очень жизненными.

На наш вкус, линукс полезен, но существует непростая проблема высокого порога входа. Есть либо огромные книги вроде Advanced Bash-Scripting Guide, либо фрагментарные статьи совершенно разного уровня качества, либо различные курсы. Курсов много разных, но у нас своё видение. Как в классическом комиксе про стандарты:

Анонс бесплатного курса "Командная строка для разработчиков" IT, Linux, Обучение, Ubuntu, Курсы, Онлайн-курсы, Python, Программирование, Разработка, Длиннопост

Сообщество любит отправлять новичков читать мануалы, что мега-полезно, но довольно непросто. Кстати, на курсе мы разберём, как читать man-ы.

Наша мотивация по созданию курса

Мы довольно давно готовим молодых python-разработчиков, и начинаем именно с базовых знаний в Linux, прививая желание и умение работать в терминале. Вдохновляясь курсом "Поколения Python" на степике, мы решили сделать свой бесплатный курс "Командная строка для разработчиков", посвящённый терминалу Linux, языку bash и базовому администрированию. Начинающим разработчикам поможем преодолеть неловкость перед текстовым терминалом, опытным разработчикам покажем неочевидные и полезные в работе фишки для увеличения продуктивности.

Курс начинался с оффлайна, а переход в онлайн требует существенной переработки материала. Поэтому релизимся поэтапно, выпуская новые уроки по мере готовности.

Подробнее о курсе

Курс сильно завязан на практику, поэтому обязателен компьютер с линуксом в каком-то виде. Мы предлагаем три варианта:

  1. Ubuntu в качестве гостевой операционной системы. Для этого в системе виртуализации (virtualbox, VMWare или любой другой) поставить Ubuntu.

  2. Ubuntu в качестве основной операционной системы. Годится любой Linux-дистрибутив или даже macOS.

  3. Ubuntu в WSL2, он же Windows Subsystem for Linux.

Начало курса неспешное и подходит совсем для начинающих. При этом мы обращаем внимание на важные детали, на которые часто никто не обращает внимание. Например, когда выбирать короткие, а когда выбирать длинные флаги команды? Есть ли разница между ls -al, ls -la и ls --all?

Примерная структура курса

Модуль 1. Пользуемся Ubuntu. Осваиваем терминал

  1. Введение в курс.

  2. Перемещаемся по файловой системе.

  3. Работаем с файловой системой.

  4. Редактор текста, работаем с файлами. Создаём и запускаем скрипты.

  5. Процессы, знакомимся с PID, ps | grep и конвейером.

  6. Используем ctrl-r и работаем с историей команд. Алиасы.

  7. Настраиваем терминал.

Модуль 2. Программируем в Ubuntu. Основы Bash

  1. Bash для разработчика, несколько занятий. Полезные однострочники на примере изменения формата файлов, сортировки в разных вариациях.

  2. Всё про поиск - конкретных файлов, поиск внутри файлов .

  3. Виртуальная файловая система proc. Используем proc, PID, PPID, дескрипторы стандартных потоков, файловые дескрипторы, аргументы командной строки, подменяем PATH. Переменные окружения (как они работают, область и время действия), в том числе PATH и HOME. Спецсимволы < > >> 2> 2>> &>.

  4. Работаем с учётными записями в Ubuntu. Разграничиваем права доступа.

  5. Применяем sudo и root. Немного про безопасность, проблемы копирования из терминала, про пакеты, которые ставятся курлом.

Добро пожаловать на курс "Командная строка для разработчиков"! Введение и первое занятие уже доступно.

Интереса ради, мы спросили ChatGPT, нужен ли линукс для питонистов.

ChatGPT о важности Linux для python-разработчика

Python-разработчикам может быть полезно использовать операционную систему Linux в своей работе по ряду причин.

Во-первых, Linux обычно является основной платформой для серверных приложений и веб-серверов, которые часто используются для хостинга Python-приложений. Разработчики, работающие с серверными приложениями, должны быть знакомы с Linux, чтобы установить, настроить и поддерживать серверное окружение.

Во-вторых, многие инструменты и библиотеки для Python, такие как NumPy, SciPy и Pandas, часто предназначены для работы в Linux-подобных операционных системах. Разработчики, которые используют эти инструменты, будут иметь преимущество, если они работают на Linux.

В-третьих, Linux предлагает множество инструментов командной строки, которые могут значительно упростить и ускорить разработку. Например, Linux-разработчики могут использовать командную строку для автоматизации задач, обработки данных, управления пакетами и тестирования кода.

Наконец, Linux является бесплатной и открытой операционной системой, которая имеет широкое сообщество разработчиков и пользователей. Это означает, что Python-разработчики могут получить доступ к большому количеству бесплатных инструментов, библиотек и ресурсов, которые могут помочь им в их работе.

В целом, использование Linux может значительно улучшить производительность и эффективность работы Python-разработчика, поэтому знание и опыт работы с этой операционной системой могут быть ценными навыками для разработчика.

Как считаете, правы ли нейросети?

Больше постов читайте по тегу «Курсы». А если сами хотите изучить новую профессию, посмотрите актуальные курсы от проверенных школ с реальными отзывами на сайте Пикабу Курсы.

GNU/Linux

1.2K пост15.6K подписчика

Правила сообщества

Все дистрибутивы хороши.

Будьте людьми.

Вы смотрите срез комментариев. Показать все
0
Автор поста оценил этот комментарий
С чего вообще начать изучать программирование человеку, который знает только что это про буквы на черном фоне?
раскрыть ветку (3)
0
Автор поста оценил этот комментарий

Сильно зависит от вашей цели. Зачем вам изучать программирование?


Программирование - это весьма непросто. Недавно был интересный пост 10 причин не идти в IT


Я подбивал материалы для начинающих разработчиков на python Ответ на пост «Без рейтинга. Самообучение PHP или курсы»


Тут вот товарищ советует курс вместо Поколений Python из моей подборки #comment_278074818


Если говорить о студенте (когда есть много свободного времени плюс сильное желание), то начинать я бы рекомендовал с книги "Язык программирования Си" от создателей языка Си Кернигана и Ритчи. Книга покрывает всю базу программирования (без ООП, функциональщины и прочего) и является максимально крутым введением. Она мелкая (200 страниц А5) и в каждом разделе задания (разного уровня сложности). Но надо быть сильным духом, чтобы по этой книжке пройти и не потерять мотивацию. Зато потом проще, так как многие языки вдохновлялись Си. И после этой книжки можно спокойно идти по моей подборке выше

раскрыть ветку (2)
1
Автор поста оценил этот комментарий
Я системный администратор, и мне бы хотелось уметь автоматизировать процессы, чтобы не тратить личное время на регулярные проблемы
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

С точки зрения знакомства с Linux рекомендую мой курс :) Про автоматизацию в линуксе будет немало практики уровня "как слепить из известных команд полезную штуку"


Вторым полезным инструментом для автоматизации является python. Когда нужна более сложная логика, то писать её на bash становится очень уныло. По python рекомендую посмотреть подборку выше. Есть классический Лутц, но он очень многословный и, на мой взгляд, не годится для знакомства с языком. Тут рекомендую на том же степике посмотреть самые популярные бесплатные курсы с положительными отзывами

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку