Расчет 40 дней

Программа рассчитывает 40 дней от введённой даты. Включая эту дату.

40 дней с 07.03.2026 это 15.04.2026

9 дней с 07.03.2026 это 15.03.2026

3 дня с 07.03.2026 это 09.03.2026

Компьютер:

C++


Глобальная Замена по регулярному выражению. Эквивалент:
s/ря.*?ой/сержант/g;

#include <regex>
#include <iostream>

int main()
{
//std::string s = "Вася был рядовой хороший - ряженной";
s = std::regex_replace("Вася был рядовой хороший - ряженной", std::regex("ря.*?ой"), "сержант");

std::cout << s << std::endl;
}



---------------------------

Многострочный текст

u =
" be\n"
"tring.\n";

u =
" be\
tring.";

u = R"HTML(
11
22
33
)HTML";


------ -----------
Достаём цифры с строки и получаем среднее:

#include <iostream>
#include <regex>
using namespace std;

int main(){
const string s = "pro hor ov,5,1,3,1,5";
regex space_re(R"(\d+)");
float $os; int $i=0;

for(auto t= sregex_token_iterator(s.begin(),s.end(),space_re); t!= sregex_token_iterator(); ++t){
$os += stoi(*t);
++$i;
}

float $f=$os/$i;
std::cout<<$f<<"\n";
}


----------- ----------
Закрытие программы как только нажат Ввод:

#include <cstdio>

int main() {getchar();}

Или так:

#include <iostream>

int main()
{

std::cout << "Нажмите Enter для завершения";
std::cin.get();
return 0;
}

----------
Из строки получить число:

#include <iostream>
//#include <cstdlib>

int main()
{

std::cout << (atoi("222") * 2);
return 0;
}
---------

Переменная типа int может занимать до 4-х байт
chart - это целое число из таблицы ансс11

------ --------

//пример использования функции puts

#include <cstdio>

int main(){
puts("10");
return 0;
}
---------- ------------

#include <cstdio>

int main(void){
printf("Привет мир");
return 0;
}

говорят что printf более тормознутая чем cout >>

printf(25); - даст ошибку - так-как перед выводом числа нужно форматировать.

Например вот так:
printf("%d", 25);

Для чисел - там просто куча методов форматирования.
Для строк - есть возможность выбора количества выводимых символов, центровка
https://ru.wikipedia.org/wiki/Printf

#include <cstdio>

int main(void){
printf("Привет %d мир %d", 55, 23);
return 0;
}

----------- ----------

Создаёт и записывает строку в файл.

#include <iostream>
#include <cstdio>

int main ()
{
FILE * D = fopen("file1.txt", "w");

if (D != NULL)
{
fputs("Пример использования функции fopen ", D); // записать строку в файл
fclose (D);
}
return 0;
}

---------- -------

//пример использования функции fgets

#include <cstdio>

int main()
{
FILE * D = fopen("file.txt" , "r");
char mystring [100];

if ( fgets(mystring, 100, D) != NULL ) // считать символы из файла
puts(mystring); // вывод на экран
fclose (D);

return 0;
}

JS-Кнопка выгрузки из Базы Данных.

<?php
// PHP-логика определения телефона
$id = $modx->resource->get('id');

if ($id == 59 || $id == 60 || $id == 61 || $id == 72) {
$tel_display = '8 7777777 **';
$tel2 = '77777777';
} else {
$tel_display = '+77777777-**';
$tel2 = '777777777777';
}

// Записываем две последние цифры в сессию PHP.
$_SESSION['last_two_digits'] = substr($tel2, -2); - оно говорило что это должно передаться в u.php, но пока - не срабатывало.

print <<
$tel_display

Компьютер:

hhvm

hhvm инсталляция
Ubuntu

apt-get update
apt-get install software-properties-common apt-transport-https
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xB4112585D386EB94

add-apt-repository https://dl.hhvm.com/ubuntu
apt-get update
apt-get install hhvm
--- ---- ----- ----- -----

Привет мир:

hhvm -m server -p 8080

Запустив HHVM, напишите простую программу Hello World с именем hello.hack:

<<__EntryPoint>>
function main(): void {
echo "Hello World!\n";
}

Компьютер:

Content scripts Встраиваемый скрипт firefox WebExtensions

https://developer.mozilla.org/ru/docs/Mozilla/Add-ons/WebExtensions/Your_first_WebExtension

about:debugging#/runtime/this-firefox - с этой страницы грузил своё дополнение

WebExtensions - это кросс-браузерная система разработки дополнений (для браузеров).

https://github.com/mdn/webextensions-examples

1 2 3 4 5 6 7 8 9

Компьютер:

Html код страницы сайта

Как получить HTML код страницы сайта:

Sh:
curl https://test.ru/info.php - на экран
curl -O http://prohorov-andrej.ru/index.php - в файл

1. Если у вас открыта страница в любом из браузеров - просто кликните правой мышкой в любом пустом месте страницы и с выпадающего меню выберите пункт "исходный код страницы" или "просмотр в виде НТМЛ"

2. С помощью языка Perl. Скрипт прост:

#!/usr/bin/perl

use LWP::Simple;

$URL="http://yaca.yandex.ru/yca/cat/Computers/";
print "Content-type: text/html\n\n";
print get($URL);

3. С PHP HTML код страницы сайта получить ещё проще:

<?= file_get_contents('http://www.example.com/');?>

Или так:


<?= implode('', file('http://www.example.com/'));?>

Компьютер:

Laravel

Установка на Виндоус:
1. Требуется Компосер.
2. php с дополнительными модулями. - Нужно просто раскомментировать их в ini или же тупо добавить:

extension=fileinfo
extension=zip
extension=sqlite3
extension=pdo_sqlite
extension=exif
extension=gd

Компьютер:

VK API

https://api.vk.com/method/users.get?fields=photo_50,city,verified&v=5.52&access_token=

user.get - метод
fields=photo_50,city,verified - что выводим.

v=5.52&access_token= - Чтоб получить токен нужно:

https://oauth.vk.com/authorize?client_id= &display=page&redirect_uri=https://oauth.vk.com/blank.html&scope=friends&response_type=token&v=5.52

client_id= - номер приложения которое нужно создать:

https://vk.com/apps?act=manage

https://vk.com/dev/first_guide - это всё отсюда

Сочитания клавиш

Обновить (не используя кэш) Ctrl+F5 ; Ctrl+Shift+ R

Перейти в конец страницы End ; Ctrl+↓

Копировать Ctrl + C
Вырезать Ctrl + X

Закрыть вкладку Ctrl + W ; Ctrl + F4

Закрыть окно Ctrl + Shift + W ; Alt + F4

https://support.mozilla.org/ru/kb/sochetaniya-klavish?redirectlocale=en-US&as=u&redirectslug=Keyboard+shortcuts&utm_source=inproduct

Vue.js

Home component

=========== ==================== ================= =================

php

$u = '2022-01-01';

$g = idate('Y', $u)+1;
$m = idate('m', $u);
$d = idate('d', $u);

$nach = date('Y-m-d', $u);
$lastY = date('Y-m-d', strtotime("$g-$m-$d"));

print "$nach---$lastY":

Это - Плюс один год.

-------------------
<?=$_GET['soob'] ?? ""?>

============
setlocale(LC_ALL, 'ru_RU', 'ru_RU.UTF-8', 'ru', 'russian'); // устанавливаем локаль

echo strftime("%d %b %G %a", strtotime($date)); // выводим дату на русском

===========

Компьютер:

Регулярные выражения

^((?!http).)*$ - кроме http

^(\+7|7|8)?[\s\-]?\(?[489][0-9]{2}\)?[\s\-]?[0-9]{3}[\s\-]?[0-9]{2}[\s\-]?[0-9]{2}$ --- номер телефона для России

https://serblog.ru/validaciya-nomera-telefona-na-js-i-jquery/

Выделить города:

Республика Карелия, Беломорский район, г. Беломорск, Мерецкова улица, 6
Ханты-Мансийский автономный округ - Югра, 628616, г Нижневартовск, ул Менделеева, д. 8,
Республика Крым, 298302, Крым Респ, Керчь г, Жени Дудник ул, дом 1
Республика Татарстан, г. Набережные Челны, Моторная улица

perl

my @files = glob( $dir . '/*' );

=====

e - Расмматривать правую часть как выражение.

20px -> 10px

$k=2;
s|(\d+)(?=px)|int($1/$k)|eg;

------------

$_ = <>; # Читать одну строку с клавиатуры

---------------

qx/строка/

`строка`
Сначало строка интерполируется а потом выполняется как
системная команда.
А вывод команды можно - в переменную.

Пример:
print `date`;

Результат:
Thu Nov 14 13:36:49 MSK 1996

----------------
#!/usr/bin/perl -w

use utf8;
use strict;
use Wx;

my $app = Wx::SimpleApp->new;
my $frame= Wx::Frame->new( undef, -1, "Trivial Sample" );
my $button = Wx::Button->new( $frame, -1, 'Test' );
#EVT_BUTTON( $this, $button, 'OnAbout' );

$frame->Show;
$app->MainLoop;

-----------------------

Модальное окно:

Компьютер:

node.js

После успешной установки вы можем ввести в командной строке/терминале команду node -v, и нам отобразится текущая версия node.js:

miltorg@miltorg-linux:~$ node -v
v8.10.0
miltorg@miltorg-linux:~$

------------------------

Этот код запускает сервер:

const http = require("http");
http.createServer(function(request,response){

response.end("Hello NodeJS!");

}).listen(3000, "127.0.0.1",function(){
console.log("Сервер начал прослушивание запросов на порту 3000");
});

------------------------

Проверить: http://localhost:3000

-------------------

const http = require("http");
  
http.createServer(function(request, response){
      
    response.setHeader("Content-Type", "text/html");
    response.write("<!DOCTYPE html>");
Компьютер:

Wget

Для хранение зеркала страницы (или папки FTP), то используйте --mirror (-m), что заменяет -r -l inf -N. Вы можете добавить Wget в crontab с запросом на проверку обновлений каждое воскресенье:
crontab
0 0 * * 0 wget --mirror http://www.gnu.org/ -o /home/me/weeklog

Вы также хотите, чтобы ссылки конвертировались в локальные. Но после прочтения этого руководства, вы знаете, что при этом не будет работать сравнение по времени. Укажите Wget оставлять резервные копии HTML файлов перед конвертацией. Команда:
wget --mirror --convert-links --backup-converted \
http://www.gnu.org/ -o /home/me/weeklog

Компьютер:

perl и utf8

Perl нормально работает с utf8, но ему об этом нужно "сказать".

use utf8; # Весь наш скрипт - это utf8
use open qw(:std :utf8); # Все входные и выходные потоки - utf8

Гит

git clone https://github.com/miltorg/host.git
cd host
echo "Hello World" > index.html

git add --all
git commit -m "Initial commit"
git push -u origin main

--------------
Хостинг для любого репозитория:
Проект -- Settings -- pages
https://github.com/miltorg/host/settings/pages

None заменить на main
Репозиторий должен быть публичным
Страница появится не сразу.
Кешируется сильно

----

Компьютер:

Улицы города Гусев

9 Мая;ул;39005001000000100;238055;3914;3902;27212501000;

9 Января;ул;39005001000000200;238050;3914;3902;27212501000;

Александра Невского;ул;39005001000000300;238050;3914;3902;27212501000;

Арзамасская;ул;39005001000000400;238056;3914;3902;27212501000;

Артиллерийская;ул;39005001000000500;238050;3914;3902;27212501000;

Багратиона;ул;39005001000000600;238050;3914;3902;27212501000;

Балтийская;ул;39005001000000700;238056;3914;3902;27212501000;

Баумана;ул;39005001000000800;238050;3914;3902;27212501000;

Бетховена;ул;39005001000000900;238052;3914;3902;27212501000;

Вишневый;пер;39005001000001000;238050;3914;3902;27212501000;

Вокзальная;ул;39005001000001100;238050;3914;3902;27212501000;

Гагарина;ул;39005001000001200;238050;3914;3902;27212501000;

SSH

Ключи:
У себя на компьютере:
mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa

У вас на компьютере появится 2 файла. Один - нужно закинуть на сервер:

ssh-copy-id username@host

Получается что всё делается на моём компе.

--------

Вывод заголовков на экран
curl -I prohorov-andrej.ru

Сохранение в той же папке:
curl -O prohorov-andrej.ru

Выводит html на экран:
curl prohorov-andrej.ru

curl --data "firstName=John&lastName=Doe" https://test.ru/info.php
--- POST?

Вывод файла на экран:
cat out.cpp

Создание файла

> name.htm

Создание файла и запись строки в него:

echo "<?php echo 'This is test website';?>" > index.php

Вот взять LAMP. Он настолько прост, что тупая однострочная команда:

Компьютер:

swift - язык программирования

Регулярное выражение в swift тоже есть. Но в отличии от perl - всё очень непросто:

import Foundation

if "оля".range(of: "яя", options: .regularExpression, range: nil, locale: nil) != nil {print("есть")}else{print("нету")}

----------------------

Получить html страницы:

var request = URLRequest(url: URL(string: "http://google.com")!)
request.httpMethod = "GET"
let session = URLSession.init(configuration: URLSessionConfiguration.default)
session.dataTask(with: request) {data,response,error in
if let data = data {
let contents = String(data: data, encoding: .ascii)
}
}.resume()

не проверял. Точнее - выдало что запрещено.

let url = NSURL(string: "http://www.stackoverflow.com")

Компьютер:

Страницы

Subscribe to Чайник RSS