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

По нашему опыту, современному 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.1K постов15.5K подписчиков

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

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

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

Вы смотрите срез комментариев. Показать все
1
DELETED
Автор поста оценил этот комментарий

Просто почитайте книгу "Командная строка Linux"

раскрыть ветку (3)
Автор поста оценил этот комментарий

Которая Шоттса Уильяма?

раскрыть ветку (2)
DELETED
Автор поста оценил этот комментарий

ага

раскрыть ветку (1)
Автор поста оценил этот комментарий

Да, книга хорошая. Но к ней у меня с самого начала куча вопросов. Первые две команды date и cal ещё куда ни шло. А потом сразу df, free и exit, от которых будет больше вопросов, чем ответов. И знаете, когда снова автор вернётся к df? Спустя 180 страниц, треть книги.


Некоторые, с моей точки зрения мега-важные темы опущены. Например, зачем нам короткие и длинные флаги вообще? Почему бы не оставить что-то одно?


Операции с файлами в 4 главе начинаются с wildcard - считаю уместным это давать позже. Аналогично с жёсткими и символическими ссылками. При этом help и man вводятся только в 5 главе, что считаю неверным порядком изложения материала.


На мой вкус, автор иногда избыточно лезет вглубь там, где это с практической точки зрения не очень имеет смысл и очень мало оставляет места для реальной практики. Например, совсем не разбирается, чем полезны alias и как они могут ускорить работу. У меня своё видение, как следует излагать материал, чтобы покрыть нужные темы и не потерять мотивацию обучающегося в процессе. "Командная строка Linux" Ш. Уильяма в целом крутая. Надеюсь, мой курс станет достойной альтернативой

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