5/jekyll_site/ru/index.md
2023-12-17 08:10:27 +03:00

5.9 KiB
Raw Blame History

title description sections tags canonical_url url_translated title_translated
Код с комментариями Заметки на тему программирования с примерами кода и комментариями. Решения задач и описания решений.
Решения задач и описания решений
java
javascript
linux
bash
алгоритмы
реализация
текст
шрифты
комбинации
изображения
картинки
криптография
/ /en/ Code with comments

{%- assign articles = "" | split: "" %} {%- assign articles = articles | push: "Дерево каталогов со ссылками" %} {%- capture article_brief %} Напишем скрипт Bash для построения дерева каталогов для репозитория в файле Markdown. Будем использовать только средства Bash и программу ls. Полученный файл будем использовать в вёб-интерфейсе для навигации по объектам репозитория.

Создаём рекурсивную функцию и с её помощью обходим файлы и каталоги репозитория. Для каждого каталога выполняем программу ls и получаем отсортированный список входящих в него файлов и каталогов: сначала идут каталоги, потом файлы, сначала заглавные буквы, потом строчные, исключаем неотслеживаемые файлы, которых нет в репозитории — получаем дерево каталогов в отсортированном виде. {%- endcapture %} {%- assign articles = articles | push: article_brief %} {%- assign articles = articles | push: "Генератор паролей" %} {%- capture article_brief %} Пишем программу на JavaScript для формирования случайных 20-значных комбинаций из латинских букв, цифр и спецсимволов. На выбор 60 вариантов — 4 столбца по 15 строк. Первый символ — всегда буква, все символы в каждой комбинации идут без повторов. Будем формировать пароли для вёб-сайтов в браузере.

Давно пользуюсь этим алгоритмом — у меня все пароли для вёб-сайтов по этой схеме сгенерированы, поэтому рекомендую. Первая версия была написана на Java, но для вёб-сайтов проще получается на JavaScript, чтобы далеко не ходить. {%- endcapture %} {%- assign articles = articles | push: article_brief %} {%- assign articles = articles | push: "Рисуем сердечко в консоли" %} {%- capture article_brief %} Напишем два варианта алгоритма на Java для вывода сердечка в консоль в форме текстового изображения — поздравим женщин с восьмым марта. Нарисуем график функции в форме сердечка и в дополнение нарисуем символ сердечко в форме картинки, а картинку выведем текстом — консольное поздравление с восьмым марта. {%- endcapture %} {%- assign articles = articles | push: article_brief %} {%- assign articles = articles | push: "График функции в консоли" %} {%- capture article_brief %} Напишем алгоритм для вывода графика функции или системы уравнений в консоль в виде текста. Будем использовать средства Java. Для вычислений будем использовать класс Math, а для обхода диапазона координат — два вложенных цикла for. Нарисуем в консоли график окружности и графики вписанных в неё ромба и квадрата. {%- endcapture %} {%- assign articles = articles | push: article_brief %} {%- assign articles = articles | push: "Рисуем простую капчу" %} {%- capture article_brief %} Напишем алгоритм для отображения текста в виде картинки с использованием библиотеки Java AWT. Символы и шрифт могут быть любыми, но для этого примера будем использовать комбинацию заглавных латинских букв и цифр со шрифтом Comic Sans — будем рисовать простую капчу для сайта или блога.

Спецсимволы рассмотрим, но пользоваться ими не будем, потому что угадать их с таким оформлением текста пользователю будет сложно. Например, плюс + угадать ещё можно, а вот минус - или нижнее подчёркивание _ уже с трудом, и даже если угадаешь, тогда найти эти кнопки с трудом, особенно на телефоне. Поэтому для капчи будем использовать комбинацию только из заглавных латинских букв и цифр. {%- endcapture %} {%- assign articles = articles | push: article_brief %} {%- include main_page.html articles = articles -%}