Рекурсия • Обработка файлов • Вёб-навигация
Напишем скрипт Bash для построения дерева каталогов для репозитория в файле Markdown.
Будем использовать только средства Bash и базовое ПО Linux — ls
, sed
, tr
и echo
— без дополнительных программ. Полученный файл DIRECTORY_TREE.md
будем использовать
в вёб-интерфейсе для навигации по объектам репозитория.
Создаём рекурсивную функцию и с её помощью обходим все файлы и каталоги репозитория, за
исключением списка из .gitignore
— строим структуру каталогов в форме дерева. Выводим
элементы в виде ссылок <a>
, сворачиваем папки с одним вложенным элементом в одну строку,
помещаем собранное дерево в контейнер <pre>
и добавляем заголовок — в результате получаем
краткий и лаконичный файл Markdown со ссылками.
Криптография • Случайные комбинации
Пишем программу на JavaScript для формирования случайных 20-значных комбинаций из латинских букв, цифр и спецсимволов. На выбор 60 вариантов — 4 столбца по 15 строк. Первый символ — всегда буква, все символы в каждой комбинации идут без повторов. Будем формировать пароли для вёб-сайтов в браузере.
Давно пользуюсь этим алгоритмом — у меня все пароли для вёб-сайтов по этой схеме сгенерированы, поэтому рекомендую. Первая версия была написана на Java, но для вёб-сайтов проще получается на JavaScript, чтобы далеко не ходить.
Геометрические фигуры • Текстовое изображение • Отрисовка шрифта
Напишем два варианта алгоритма на Java для вывода сердечка в консоль в форме текстового изображения — поздравим женщин с восьмым марта. Нарисуем график функции в форме сердечка и в дополнение нарисуем символ сердечко в форме картинки, а картинку выведем текстом — консольное поздравление с восьмым марта.
Геометрические фигуры • Текстовое изображение
Напишем алгоритм для вывода графика функции или системы уравнений в консоль в виде текста. Будем
использовать средства Java. Для вычислений будем использовать класс Math
, а для обхода диапазона
координат — два вложенных цикла for
. Нарисуем в консоли график окружности и графики вписанных
в неё ромба и квадрата.
Криптография • Отрисовка шрифта • Поворот изображения
Напишем алгоритм для отображения текста в виде картинки с использованием библиотеки Java AWT. Символы и шрифт могут быть любыми, но для этого примера будем использовать комбинацию заглавных латинских букв и цифр со шрифтом Comic Sans — будем рисовать простую капчу для сайта или блога.
Спецсимволы тоже рассмотрим, но использовать их не будем, потому что угадать спецсимволы пользователю
будет сложно с таким оформлением текста. Например, плюс +
угадать ещё можно, а вот минус -
или
нижнее подчёркивание _
уже с трудом, и даже если угадаешь, тогда найти эти кнопки с трудом, особенно
на телефоне. Поэтому для капчи будем использовать комбинацию только из заглавных латинских букв и цифр.
© Головин Г.Г., Код с комментариями, 2024