5/jekyll_site/en/index.md

68 lines
4 KiB
Markdown
Raw Normal View History

2023-12-17 07:57:42 +03:00
---
title: Code with comments
description: Notes about programming with code snippets and comments. Problem solutions and solution descriptions.
sections: [Problem solutions and solution descriptions]
2023-12-17 08:10:27 +03:00
tags: [java,javascript,linux,bash,algorithms,implementation,text,fonts,combinations,images,pictures,cryptography]
2023-12-17 07:57:42 +03:00
canonical_url: /en/
url_translated: /ru/
title_translated: Код с комментариями
lang: en
---
{%- assign articles = "" | split: "" %}
2023-12-17 08:10:27 +03:00
{%- assign articles = articles | push: "Directory tree with links" %}
{%- capture article_brief %}
We write a Bash script for building a directory tree for a repository in the Markdown file. We use
only the accessories of Bash and the `ls` program. We will use the resulting file in the web interface
to navigate over the objects of the repository.
We create a recursive function and use it to bypass files and directories of the repository.
For each directory, we execute the program `ls` and get a sorted list of files and directories
included in it: first there are directories, then files, first uppercase letters, then lowercase,
exclude the untracked files that are not in the repository — we get the directory tree in
a sorted form.
{%- endcapture %}
{%- assign articles = articles | push: article_brief %}
2023-12-17 07:57:42 +03:00
{%- assign articles = articles | push: "Password generator" %}
{%- capture article_brief %}
We write a program in JavaScript for the formation of random 20-symbol combinations of latin letters,
numbers and special characters. There are 60 variants to choose from — 4 columns of 15 rows. First
character — is always a letter, all characters in each combination go without repetitions. We will
2023-12-17 08:10:27 +03:00
form passwords for web-sites in the browser.
I have been using this algorithm for a long time — I have all passwords for web-sites generated by
this scheme, so I recommend it. The first version was written in Java, but for web-sites it turns
out easier in JavaScript, so as not to go far.
2023-12-17 07:57:42 +03:00
{%- endcapture %}
{%- assign articles = articles | push: article_brief %}
{%- assign articles = articles | push: "Drawing heart in console" %}
{%- capture article_brief %}
Let's write two versions of the algorithm in Java to output a heart to the console in the form
of a text image — let's congratulate women on the eighth of March. Let's draw a graph of the
function in the form of a heart and, in addition, draw the symbol *heart* in the form of a
picture, and output the picture as text — console congratulations on the eighth of March.
{%- endcapture %}
{%- assign articles = articles | push: article_brief %}
{%- assign articles = articles | push: "Function graph in console" %}
{%- capture article_brief %}
Let's write an algorithm to output a graph of a function or a system of equations to the console
in the form of text. We will use Java tools. For calculations, we will use the `Math` class, and
to bypass the range of coordinates, we will use two nested `for` loops. We draw in the console a
graph of a circle and graphs of a rhombus and a square inscribed in it.
{%- endcapture %}
{%- assign articles = articles | push: article_brief %}
{%- assign articles = articles | push: "Drawing simple captcha" %}
{%- capture article_brief %}
Let's write an algorithm for displaying text as an image using the Java AWT library. Symbols
and font can be any, but for this example we will use a combination of uppercase latin letters
and digits with the *Comic Sans* font — we will draw a simple captcha for a website or blog.
We'll consider special characters, but we won't use them, because it will be difficult for the
user to guess them with such a text decoration. For example, the plus `+` is still possible
to guess, but the minus `-` or the underscore `_` is already with difficulty, and even if you
guess right, then to find these buttons with difficulty, especially on the phone. Therefore,
for captcha we'll use a combination of only capital latin letters and digits.
{%- endcapture %}
{%- assign articles = articles | push: article_brief %}
{%- include main_page.html articles = articles -%}