Друпал 8 - Запрос к Базе данных

$tel = \Drupal::database()->query($zapr)->fetchAllKeyed();

======

$query = \Drupal::database()->select('users_field_data', 'u');
$query->addField('u', 'name');
$query->condition('u.name', 'miltorg');
$r = $query->execute()->fetchObject();

print $r->name;

<?php
/**
* @return
* Contains \Drupal\summ\Controller\FirstPageController.
*/

namespace Drupal\summ\Controller;

/**
* Provides route responses for the DrupalBook module.
*/
class FirstPageController {

Создание модуля в Друпал 8

1. Все свои модули нужно класть в папку /modules/custom/
2. Придумайте название модуля. Это важно. Оно, скорее всего будет отражаться практически везде. Для примера - summ
3. В папке /modules/custom/summ создаём файл summ.info.yml
4. Содержание файла:

name: Summ
description: Custom module for learning Drupal 8
type: module
core: 8.x
package: DrupalSumm

5. Зайдите в Модули, найдите и включите наш модуль. Всё должно быть без ошибок.
6. В результате - у нас есть наш подключённый модуль.

7. В той же папке нужно создать файл: summ.routing.yml

8. Содержание файла:

summ.first_page:
  path: '/first-page1'
  defaults:
    _controller: '\Drupal\summ\Controller\FirstPageController::content'
    _title: 'Hello World!'
  requirements:

mySQL

ALTER USER 'miltorg'@'localhost'
IDENTIFIED WITH mysql_native_password
BY 'uuuuuuuuuuuu';

GRANT CREATE, ALTER, SELECT, INSERT, UPDATE, DELETE, DROP ON * . * TO 'miltorg'@'localhost';

GRANT * ON * . * TO 'miltorg'@'localhost';

INSERT, UPDATE, DELETE, DROP

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

CREATE TABLE new3 SELECT * FROM new1 where sovpalo=10;

select v.* from ( SELECT new8.* , count(1) over(partition by d1) as cnt FROM new8 ) as v where cnt > 4;

SELECT id, MAX(d1), COUNT(*) FROM new8 GROUP BY d1 HAVING COUNT(*) > 2;

SELECT MAX(d1),MAX(st), MIN(st), COUNT(*) FROM new8 GROUP BY d1 HAVING COUNT(*) > 2;

----------------
CREATE TABLE iz209bez12
(
,
Model VARCHAR(20)
);

ALTER TABLE iz209bez12 DROP COLUMN Id; - удаление

Компьютер:

Время работы скрипта.

$t = time();
...
...
...
$t = (time()-$t)/60;
print "Прошло ";
printf('%0.2f', $t);
print " min";

Если нужны милисекунды:

use Time::HiRes;

$t = Time::HiRes::time;
...
...
...
$t2 = Time::HiRes::time;
$t3 = $t2-$t;
print "Прошло ";
printf('%0.8f', $t3);
print " сек ";

Компьютер:

CSS

@keyframes slide {
0% {
transform: translatex(var(--max, -170%))
}

100% {
transform: translatex(100%)
}
}

let newMax = '-100%';
document.querySelector(".news").style.setProperty('--max', newMax);

===========

dd

Диск /dev/sda: 931,53 GiB, 1000204886016 байт, 1953525168 секторов
Disk model: TOSHIBA MQ04ABF1
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 4096 байт
Размер I/O (минимальный/оптимальный): 4096 байт / 4096 байт

Диск /dev/sdb: 14,52 GiB, 15581839360 байт, 30433280 секторов
Disk model: OnlyDisk
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: dos
Идентификатор диска: 0x08d87a4c

sudo dd if=/dev/sda of=mbr2.img bs=1G skip=10 count=10 status=progress
10737418240 байт (11 GB, 10 GiB) скопирован, 435 s, 24,7 MB/s
10+0 записей получено
10+0 записей отправлено

Python

python3 -m http.server --cgi
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
127.0.0.1 - - [10/Dec/2020 23:30:22] "GET / HTTP/1.1" 200 -

#!/usr/bin/env python3

print("Content-type: text/html\n\n")

print("""

Обработка данных форм

""")

print("Hello world!")

print("""
""")

Java

String bigString = "Текст,\n" +
"расположенный\n" +
"на нескольких строках\n";

---------

Другого решения я пока не нашёл

perl2cpp-prokhorov

Perl -> C++, Perl to C++

Скрипт в разработке!

Скачать последнею версию: Скачать

Программа преобразует файл in.pl в out.cpp

1. В in.pl - исходный Perl скрипт. В out.cpp - сгенерированный программой скрипт на языке C++

Есть ещё 2 программы:
2. В in.pl - исходный Perl скрипт. В out.php - сгенерированный программой скрипт на языке PHP
3. В in.pl - исходный Perl скрипт. В out.java - сгенерированный программой скрипт на языке Java

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

Аналоги функций

==============
s/ря.*?ой/сержант/g;
----------------
#include
#include

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

JavaS

Поле - только цифры:

<script>
function tolkocislo(){
if (event.keyCode < 48 || event.keyCode > 57)
event.returnValue= false;
}
</script>

<input onKeyPress="tolkocislo()">

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

Удалить рекламу со страницы. Например видео:

ec2f441e2.innerHTML = '';

Обнуляется id ec2f441e2 , но видео может востанавливатся. То есть нужно стараться уничтожить Узел как можно большего размера.

window.document.querySelector(".google-adv2").innerHTML = ''; // это по классу

--------------------------
Вы можете получать список всех элементов, подходящих под заданное правила, используйте для этого querySelectorAll() — он всегда возвращает коллекцию элементов либо null.

Давайте выведем все ссылки в консоль.

Компьютер:

Сумма цифр в строке

Сумма целых цифр в строке:

Есть какая то строка а в ней есть цифры. Например:

"Прогр 56 за 2 евро в час только на странице: http://prohorov-andrej.ru/rabota на 42 стр."

В сумме должно получиться 100.

Код:

$str = 'Прогр 56 за 2 евро в час только на странице: http://prohorov-andrej.ru/rabota на 42 стр.';

//$fl_array = preg_grep("/^(\d+)?\.\d+$/", $array); это для плавающей точки
preg_match_all("/\d+/", $str, $fl);
print array_sum($fl[0]);

У меня получилось 100. А у вас?

Компьютер:

Расчет 40 дней

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

40 дней с 24.09.2023 это 02.11.2023

9 дней с 24.09.2023 это 02.10.2023

3 дня с 24.09.2023 это 26.09.2023

Компьютер:

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-Кнопка выгрузки из Базы Данных.

(async () => {

let response = await fetch('json.php', {
method: 'POST',
headers: {"Content-type": "application/x-www-form-urlencoded; charset=UTF-8"},
body: 'id='+u.id+'&zag='+zag+'&tel='+u.tel+'&city='+u.city+'&categories='+u.categories+'&podkat='+u.sub_category
});

//let result = await response.text();
//alert(result);
})();

----------

hhhhh

'use strict';

kn1.onclick = async () => {

Компьютер:

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

https://losst.ru/ustanovka-laravel-v-ubuntu-18-04

Написано что без Компосера тоже можно установить.

sudo apt install php-mysql php-mbstring php-tokenizer php-xml php-json php-common

- если это всё установлено - то оно сразу об этом скажет.

Нужно перейти в папку куда будите устанавливать этот самый Ларавел. Я сделал не правельно и установил всё в папку по инструкции /var/www/sites. Так тоже можно, но как к ней обращаться потом с Апачи?

sudo composer create-project --prefer-dist laravel/laravel laravelapp

- устанавливается очень долго и скачивает около 50МБ в распакованном виде.

Установит всё в папку laravelapp

БД получается что не нужна. Я создал БД и таблицу и прописал её в настройках, но там всё осталось нетронутым.

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

Страницы

Subscribe to Чайник RSS