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:
- Connect Source editing plugin
- Customize CKEditor by adding additional plugin to CKEditor registry.
SuluCMS v2.5 uses CKEditor v.5 where Source editing is plugin.
So, we need to:
Задача которую решаем — возможность из-под PHP-кода выполнить произвольную shell-команду (как через shell_exec) с возможностью задать timeout на команду.
Для чего задавать timeout для shell команды?
Timeout нужен в случае, если shell_exec на выполнении команды просто подвисает. Мы не можем никаким образом обернуть функцию shell_exec чтобы прервать его через заданное время и выбросить исключение.
Хотел написать код на 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.
Давайте вычитаем контент используя golang функцию ioutil.ReadAll
из io.ReadWriter
таким образом, чтобы контент остался в буфере.
Давайте предположим, что мы создаем буфер таким образом:
out := new(bytes.Buffer)
Пускай у меня будет такая структура json.
Использую Doctrine и ODM. Нужно получить все записи из mongoDb где поле с типом hash является пустым объектом, то есть не имеет ни одного значения.
В марта 2021 вы могли получить email от Google Search Console с темой "New requirements for SharedArrayBuffers" (Новые требования для SharedArrayBuffers).
Сообщение выглядело примерно так:
Не все пользователи поняли в чем именно дело, кто-то начал разбираться в чем дело, кого-то это совсем не касается.
Это сообщение вы получили потому что Google обнаружил на вашем сайте Javascript-код, который использует SharedArrayBuffer в тот момент, когда вы получили это предупреждение. Использование SharedArrayBuffer может быть не явно в вашем коде, а может быть из-за использования сторонних фреймворков, библиотек или других 3rd-party компонентов, используемых на сайте.
PHP 8.0 что нового
Новые нативные функции:
str_contains — для проверки есть ли подстрока в строке.
str_contains(string $haystack, string $needle): bool
В случае если в папке ~/.ssh лежит более одной пары ключей, может понадобиться использовать тот или другой ключ в зависимости от того, к какому ресурсу мы хотим конектиться.
Начал использовать codeship как CI для symfony5 приватного репозитория на github.
Впечатления положительные. Можно настроить CI через codeship веб-интерфейс, не добавляя не единого нового файла в проект.
Итак, для codeshipCI + private repo нам нужно следующее.