rdkafka installation on MacOS

Given you have not rdkafka installed:
 
class "RdKafka\Conf" does not exist
 
By following 5 steps, you should resolve the installation issue and have the rdkafka extension working on your macOS system.

PostgreSQL на MacOS простая установка и использование

Для установки PostgreSQL на MacOS будем использовать brew (очень популярный менеджер пакетов в MacOS) для простоты.

Давайте посмотрим какие сервисы уже установлены и менеджатся через brew:

% brew services
Name          Status User File
memcached     none
nginx         none
php           none
php@8.2       none
postgresql@16 none

 

Тестер витой пары RJ-45 FWT11R трассоискатель и прозвонка

FWT11R — это небольшое мультифункциональное устройство, которое поможет:

  1. проверить целостность жил кабеля RJ45
  2. поиск скрытой проводки, функция трассоискателя.

FWT11 Тестер RJ45 многофункциональный с функцией прозвонки всех жил витой пары

FWT11 — кабельный тестер, производства компании BSIDE, предназначен для выполнения трассировки скрытой проводки, поиска силовых и коммуникационных линий, локализация обрывов, а также выполнения проверки распиновки Ethernet кабелей.

 

 

SuluCMS v2.5 add Source Editing feature to CKEditor

SuluCMS v2.5 uses CKEditor v.5 where Source editing is plugin. 

So, we need to:

  1. Connect Source editing plugin
  2. Customize CKEditor by adding additional plugin to CKEditor registry.

Sulu add Soure editing support to CKEditor

PHP выполнить shell команду синхронно с timeout

Задача которую решаем — возможность из-под PHP-кода выполнить произвольную shell-команду (как через shell_exec) с возможностью задать timeout на команду.

Для чего задавать timeout для shell команды?

Timeout нужен в случае, если shell_exec на выполнении команды просто подвисает. Мы не можем никаким образом обернуть функцию shell_exec чтобы прервать его через заданное время и выбросить исключение.

PHP Shell exec if no timeout applied

Вычитание unsigned INT в javascript

Хотел написать код на javascript, выполняющий то же самое что уже написанный на C++ код. Столкнулся с очень многими нюансами, один из которых это разница в вычитании UNSIGNED INT типов.

Например, в С/С++ подобных языках в случае если переменные INT объявлены unsigned.

1 - 115 = 4294967182

std::cout << "1-115: " + std::to_string((unsigned int)1-(unsigned int)115) + "\n"; //выведет: 4294967182

При попытке повторить то же самое на javascript. На javascript результатом вычитания будет:

1-115

-114 или же 114 если взять abs.

С использованием bigInt библиотеки (или без нее) будет 114 (ну или минус 114 если взять abs).

Собственно, моя цель при вычитании получать в JavaScript точно такое же значение как получаю в C++ : 4294967182.

Переполнение unsigned INT C++ пример на аналоговых часах

 

Что нового в PHP 8.1

Golang: Прочитать буфер ioutil.ReadAll from io.ReadWriter без потери контента

Давайте вычитаем контент используя golang функцию ioutil.ReadAll из io.ReadWriter таким образом, чтобы контент остался в буфере.

Golang readAll из ioutil вычитать контент без потери контента

Давайте предположим, что мы создаем буфер таким образом:

out := new(bytes.Buffer)

Doctrine ODM fetch documents with empty object (field type hash with no values)

Пускай у меня будет такая структура json.

Использую Doctrine и ODM. Нужно получить все записи из mongoDb где поле с типом hash является пустым объектом, то есть не имеет ни одного значения.

message related to SharedArrayBuffers from Google Search Console

В марта 2021 вы могли получить email от Google Search Console с темой "New requirements for SharedArrayBuffers" (Новые требования для SharedArrayBuffers).

Сообщение выглядело примерно так:

Не все пользователи поняли в чем именно дело, кто-то начал разбираться в чем дело, кого-то это совсем не касается.

Почему вы получили это сообщение о SharedArrayBuffer?

Это сообщение вы получили потому что Google обнаружил на вашем сайте Javascript-код, который использует SharedArrayBuffer в тот момент, когда вы получили это предупреждение. Использование SharedArrayBuffer может быть не явно в вашем коде, а может быть из-за использования сторонних фреймворков, библиотек или других 3rd-party компонентов, используемых на сайте.

 

 

НОВЫЕ ПОЛЬЗОВАТЕЛИ