5.9 KiB
title | description | sections | tags | canonical_url | url_translated | title_translated | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Код с комментариями | Заметки на тему программирования с примерами кода и комментариями. Решения задач и описания решений. |
|
|
/ | /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 -%}