Попробовал Github Copilot. Это проект, в рамках которого Гитхаб обучил нейросеть на миллионах строк программного кода, загруженного людьми, и теперь она вроде как способна предлагать автоматическое дополнение к тому, что вы пишете.
В теории, если вы напишете название функции, например public int Fibonacci(int n), то она сразу предложит вам автоматически подставить всё остальное.
Конкретно с этим примером система действительно справляется, но в целом впечатления у меня от неё смешанные, и на мой взгляд она пока что не стоит тех $10 в месяц, которые за неё просят после тестового двухмесячного периода.
Я уже писал ранее о своём отношении к нейросетям. В задачах дополнения данных они работают средненько: значимый процент решений будет с ошибками. Вот и здесь — сначала я подумал, что Copilot сможет за меня копипастить популярные однотипные куски кода из интернета. Например, я не помню алгоритм Вагнера-Фишера, постоянно его копирую из своих других проектов, часть из которых выложена на Github и наверняка была передана в обучение Copilot. Я предложил нейросетям мне этот алгоритм написать, они написали что-то отдалённо похожее. Внешне выглядело убедительно и даже компилировалось, но работало неправильно, и при ближайшем рассмотрении оказалось, что там просто случайно надёрганные строчки из настоящего алгоритма. Некоторые проверки по 2 раза, а часть нужной логики упущено совсем. Об оформлении кода вообще говорить не стоит: пока всё, что мне выдавалось, оформлено плохо, и на ревью я бы написал разработчику несколько замечаний.
Однако, в других местах работает, как задумано. Если у вас есть дуальные функции, оно умеет предлагать дописать остаток (пример на скриншоте ниже). Но из того, что я попробовал, только процентов 20 случаев реально были полезны. Остальные 80% или вообще неверный код, или правильный, но такой неаккуратный, что лучше самому написать.
Есть ещё проблема: массовый копипаст довольно опасен, потому что легко пропустить какую-то мелочь. В идеале нужно весь вставленный код проверять построчно, но по когнитивной нагрузке это близко к тому, чтобы создать его самостоятельно. И человеческое внимание совершенно точно будет расслабляться и размываться при работе с такими средствами автодополнения, а, значит, неизбежны ошибки. На месте чувствительной к багам энтерпрайз-разработки я бы вообще запрещал бы своим сотрудникам применять Copilot.
С другой стороны, возможно, подобная утилита хорошо зайдёт для прототипирования, на хакатонах, на стримах с демонстрацией разработки чего-нибудь. У меня будет возможность проверить на соревновании через месяц, но в работе скорее всего отключу.
#dev
👩💻 Bash Prompt Generator.
• Очень крутой ресурс, где можно сконфигурировать строку для ввода команд в bash. Выбираете параметры, расставляете их в нужной последовательности и копируете готовую конфигурацию.
➡️https://bash-prompt-generator.org/
#bash
👩💻 Bash Reference Manual.
• Для изучения Bash в нашем канале собрано очень большое кол-во полезного и бесплатного материала! Сегодня нашу коллекцию пополнит одно фундаментальное руководство от GNU, которое поможет освоить Bash или подтянуть свои знания, если Вы ранее уже приступали к изучению.
➡️https://www.gnu.org/software/bash/manual/bash.pdf
#bash
👩💻 Кручу-верчу, запутать хочу.
• Короткая, но полезная статья, в которой собраны необычные и малоизвестные трюки с перенаправлениями в bash.
- /dev/tcp;
- Placeholder -
- Группировка команд;
- Подмена процессов.
➡️https://habr.com/ru/post/786224/
#bash
• Очень объемная коллекция однострочников bash, которые могут быть полезны в решении определенных задач или повседневной работе. Добавляйте в избранное:
➡Terminal Tricks;
➡Variable;
➡Math;
➡Grep;
➡Sed;
➡Awk;
➡Xargs;
➡Find;
➡Condition and Loop;
➡Time;
➡Download;
➡Random;
➡Xwindow;
➡System;
➡Hardware;
➡Networking;
➡Data Wrangling;
➡Others.
#bash#Linux
📚Бесплатный курс: Linux - администрирование - Bash, кладовая полезных знаний.
• В данном курсе нас с вами ждёт неформальное путешествие по основам работы системного администратора в операционных системах на базе GNU/Linux. Главным нашим инструментом будет Bash (в основном), попробуем с ним подружиться и взглянем на типичные задачи системного и сетевого администрирования (в той или иной степени). Также нас ждёт немало интересных теоретических выкладок по системам, сетям и кибербезопасности.
• В курс входят: 32 урока, 18 часов видео и 29 тестов. Цель курса - познакомиться с основами работы системного администратора в операционных системах на базе GNU/Linux.
➡️https://stepik.org/course/181507/
#bash#Linux
👩💻 DevOps Bash tools.
• Добавляем в нашу коллекцию еще один репозиторий для изучения Bash, содержащий в себе более 1000 скриптов, которые могут оказаться полезными для DevOps и не только — AWS, GCP, Kubernetes, Docker, CI/CD, APIs, SQL, PostgreSQL, MySQL, Hive, Impala, Kafka, Hadoop, Jenkins, GitHub, GitLab, BitBucket, Azure DevOps, TeamCity, Spotify, MP3, LDAP, Code/Build Linting, pkg mgmt для Linux, Mac, Python, Perl, Ruby, NodeJS, Golang, .bashrc, .vimrc, .gitconfig, .screenrc, tmux...
➡️https://github.com/HariSekhon/DevOps-Bash-tools
#bash#DevOps
• Нашел крутой инструмент для работы с историей команд. Тулза называется hiSHtory и у нее очень богатый функционал: умеет хранить статистику выполнения команд, сохраняет дополнительную информацию о них (например, код завершения, или время выполнения команды), и позволяет синхронизировать данные между другими машинами. Удобно!
➡️https://github.com/ddworken/hishtory
#Tools#bash