Задать вопрос
  • MySQL. Как удалить ограниченное количество строк из таблицы?

    orlov0562
    @orlov0562
    TechNOIR, посмотри, в момент выполнения запроса, какой еще запрос обращается к этим же данным.
    Например, в phpMyAdmin или любым дургим клиентом
    SHOW ENGINE INNODB STATUS
  • Как подключить асинхронно файл со стилями October CMS?

    orlov0562
    @orlov0562
    Gorila Lopster, я не силен в OCtoberCMS, думаю, не надо удалять, достаточно убрать/закомментировать подключение стилей в нем. Т.е. оставить его так
    [viewBag]
    snippetCode = "head-slot" == {% component 'bronxSEOWidget' %}
  • Запрет скачивания файла определенного расширения на Mikrotik?

    orlov0562
    @orlov0562
    snoopik6, к сожалению, не знаю, как происходит скачивание с почты mail.ru.

    Если это борьба именно с пользовательскими потребностями (например, бухгалтерия качает все подряд), то лучше перевести их на клиенты imap/smtp и ограничивать загрузку файлов внутри них. Тк, кто-нибудь все равно может запаковать файлики в разрешенный в микротике формат, например zip и точно так же переслать.

    Если надо полностью отрубить загрузку, то просто посмотри домен откуда mail.ru отдает файлы вложений, вангую он отличается от домена почты и его просто можно полностью заблокировать.
  • Запрет скачивания файла определенного расширения на Mikrotik?

    orlov0562
    @orlov0562
    CityCat4,
    да, так и есть, это не столько проблема микротика, сколько самого L7

    RB2011 очень старый. У меня такой же (RB2011UiAS-2HnD) и, к примеру, я отказался от его WiFi-я в пользу 300мбитной железки за 15$. Думаю, на новых Mikrotik-ах ситуация получше.
  • Как включить mbstring в php 7.1 на centOS-7?

    orlov0562
    @orlov0562 Куратор тега PHP
    Евгений М, теперь надо убедиться что используется версия именно php71, вот так в консоле
    php -v
    или вот так внутри скрипта (т.е. создаем файл test.php и открываем его в браузере)
    <?php
    phpinfo();


    Если версия нужная, то проверяем включено ли расширение вот так в консоли
    php -m | grep mbstring
    или соответствующий блок в таблице генерируемой phpinfo();
    <?php
    phpinfo();


    Если расширение не включено, включаем его командой в консоли
    phpenmod mbstring

    или создаем символическую ссылки из папки модулей, в папку подключения модулей. У меня это папки
    /etc/php/7.1/mods-available/*.ini (оригинальные файлы)
    и
    /etc/php/7.1/apache/*.ini (ссылки)
  • Что выбрать для разработки html шаблона?

    orlov0562
    @orlov0562
    Алексей Скляров,
    Если вам нужно написать 2 обработчика формы, повесить 10 обработчиков на кнопки

    думаю, что тут забыли добавить, что с такой задачей и jquery не надо :)
  • Как разбить транзакцию по микросервисам сохранив консистентность данных?

    orlov0562
    @orlov0562 Автор вопроса
    Да, так оно и есть, но задача сводилась к тому, что было, например

    БАЗА-ДАННЫХ
    TRANSACTION BEGIN
    INSERT INTO tbl-1
    INSERT INTO tbl-2
    INSERT INTO tbl-3
    TRANSACTION END


    а стало

    БАЗА-ДАННЫХ-1
    INSERT INTO tbl 1

    БАЗА-ДАННЫХ-2
    INSERT INTO tbl 2

    БАЗА-ДАННЫХ-3
    INSERT INTO tbl 3

    и вопрос в том, как при новой архитектуре обеспечить согласованность данных в случае отказа например БАЗЫ-3, при условии что каждая из БАЗ находится за микросервисом (т.е. что там в итоге за хранилище мы можем и не знать, наружу только произвольное API)
  • Как разбить транзакцию по микросервисам сохранив консистентность данных?

    orlov0562
    @orlov0562 Автор вопроса
    ну если ищут человека с большим опытом, то какой смысл собеседовать человека который заведомо не подходит?

    Думаю, потому что оценивают набор навыков, а не какой-то конкретный.

    хотеть можно много чего, обьективно в России проектов с хайлоадом на пальцах одной руки посчитать можно, а специалистов с большим опытом решений, да и еще свободных - вообще не существует)

    ну, если нельзя нанять спеца с большим опытом, то может можно того, кто с ним в одной комнате сидел и что-то знает, это такое дело. Ну, не подошел - не подошел. Может знания недостаточные, может рожа не та, это же такое дело. Зато, я вон сколько нового узнал. Они время конечно потратили свое, получается зря, но надо было потруднее тестовое задание давать, как раз бы на тему вопроса, было бы интересно.
  • Можно ли считать выполнение xmlhttprequest запроса работой в отдельном потоке?

    orlov0562
    @orlov0562 Автор вопроса
    sim3x, согласен. Все равно рад, что нашел пробел в своих знаниях, есть над чем поработать.

    Сорцы, я попытался глянуть, но вовремя вспомнил, что можно задать вопрос на тостере :)
  • Можно ли считать выполнение xmlhttprequest запроса работой в отдельном потоке?

    orlov0562
    @orlov0562 Автор вопроса
    sim3x, да все так, но фактически браузер делает запрос в отдельном потоке, и потом возвращает ответ в стек выполнения JS (а я думал, что это все делается внутри JS). В итоге, задействованы минимум два потока, к синхронности/асинхронности это не имеет отношения. Моя ошибка в том, что WebAPI, это не JS, хотя может именно это Вы и имеете ввиду.
  • Можно ли считать выполнение xmlhttprequest запроса работой в отдельном потоке?

    orlov0562
    @orlov0562 Автор вопроса
    Спасибо, теперь понятно. У меня были смешаны понятия движка и webapi. А точнее я думал, что попадая в стек выполнения JS, такие вещи как xhr выполняются в отдельном потоке. А оказалось, что они выполняются браузером (webapi), и попадают обратно в стек выполнения JS именно из API браузера.. Век живи, век учись :)
  • Как разбить транзакцию по микросервисам сохранив консистентность данных?

    orlov0562
    @orlov0562 Автор вопроса
    Тут дело в другом, похожая задача, насколько я понимаю: хабр 1, хабр 2, хабр 3, может существовать и должны быть какие-то готовые решения. Т.е. к самой задаче-то претензий нет. Насколько я понимаю, крупные компании, все равно этот вопрос как-то решают. Относительно собеседования я не парюсь, меня теперь интересует как такое вообще проектируют и какие инструменты при этом используют.
  • Как разбить транзакцию по микросервисам сохранив консистентность данных?

    orlov0562
    @orlov0562 Автор вопроса
    Спасибо, за ответ. Это скорее виртуальная задача, направленная на оценку опыта и знаний, чем решение конкретной проблемы. Правда, почему-то, я был уверен, что должны быть некоторые готовые шаблоны для решения таких задач.
  • Как разбить транзакцию по микросервисам сохранив консистентность данных?

    orlov0562
    @orlov0562 Автор вопроса
    Интересно, спасибо за ответ!

    Вопрос, возможно, был составлен таким образом, чтобы понять, как я рассуждаю исходя из тех или иных задач и моего опыта работы. Ничего, против таких вопросов я не имею, прекрасно понимаю, что распилить монолит под highload-ом, это то еще приключение и однозначного ответа не будет.

    Насколько, я понимаю, вся суть этого вопроса была подводка к использованию CQRS + Event Sourcing о существовании которого я узнал из требований вакансии, наверно что-то большое делают/планируют, раз об этом спрашивают.

    Но, теперь-то, интересно разобраться :)

    P.S. Не думаю, что хотели слить, скорее ищут человека с большим опытом в решении проблем highload-а на крупных проектах.

    P.S.2. Отмечу решением завтра, мб кто-то еще что-то посоветует.
  • Как сделать выдачу информации по введенному номеру?

    orlov0562
    @orlov0562 Куратор тега PHP
    на js делается так (введи 777)


    на php так (введи 777 и нажми тест)
    <form action="?">
        <input type="text" name="test" value="<?=isset($_REQUEST['test'])?htmlspecialchars($_REQUEST['test']):''?>">
        <input type="submit" value="Test">
    </form>
    
    <?php
    
    if (isset($_REQUEST['test']) && $_REQUEST['test']=='777') {
        echo 'Занято';
    }
  • Как скорректировать время в результате select?

    orlov0562
    @orlov0562
    Tibor128,

    Я не знаю как сделать SELECT * и получить время с поправкой без дополнительных телодвижений, подозреваю, что такого способа нет.

    Максимально близкое решение, это определить функцию, которая будет скрывать реализацию обработки, пример указан выше.
  • Как скорректировать время в результате select?

    orlov0562
    @orlov0562
    Вот я тут поигрался: https://rextester.com/CVGMO29671, смотреть лучше по ссылке, но код так же прилагаю ниже.

    "SET timezone" - не поможет, надо или в SELECT-е конвертировать, что от твоего решения не особо отличается или функцию писать. Моё мнение, лучше оставить конвертацию в SELECT-ах, если только пишешь не для своих нужд..

    --PostgreSQL 9.6
    --'\\' is a delimiter
    
    
    CREATE TABLE tbl100500 (
     id serial PRIMARY KEY,
     ts TIMESTAMP
    );
    
    SET timezone TO 'UTC';
    SHOW timezone;
    INSERT INTO tbl100500 (id, ts) VALUES (1, NOW());
    SELECT * FROM tbl100500;
    
    SET timezone TO 'UTC+1';
    SHOW timezone;
    SELECT * FROM tbl100500;
    
    SELECT id, ts AT time zone 'UTC+2' FROM tbl100500;
    SELECT id, timezone('UTC+3', ts) FROM tbl100500;
    
    CREATE OR REPLACE FUNCTION timezoned_ts()
    RETURNS TABLE (_id INT, _ts TIMESTAMP) LANGUAGE plpgsql AS $$
    BEGIN
        RETURN QUERY SELECT id::int, timezone('UTC+8', ts)::timestamp FROM tbl100500;
    END $$;
    
    SELECT * FROM timezoned_ts()
  • Как сделать запрос sql для 3,4 или более связанных таблиц?

    orlov0562
    @orlov0562
    mrusklon,

    flags - это главная таблица, от которой начинаются связи, представь себе 1 строку этой таблицы, и просмотри связи.

    [
    flags.(id фалага), flags.(название страны),
    ]

    дальше ты говоришь, присоединить данные из таблицы flag_color_link, такие у которых flag_id = (id флага), твоя строка расширяется

    [
    flags.(id фалага), flags.(название страны),
    flag_color_link.(flag_id), flag_color_link.(color_id)
    ]

    дальше ты говоришь, присоединить данные из таблицы flag_color, такие у которых color_id = (id цвета)
    твоя строка расширяется

    [
    flags.(id фалага), flags.(название страны),
    flag_color_link.(flag_id), flag_color_link.(color_id)
    flag_color.(id цвета), flag_color.(название цвета)
    ]

    в итоге, у тебя получается в каждой строке вот такой набор данных, дальше в select ты указываешь, что из него ты хочешь взять

    [
    flags.(id фалага), flags.(название страны),
    flag_color_link.(flag_id), flag_color_link.(color_id)
    flag_color.(id цвета), flag_color.(название цвета)
    ]
  • Wordpress не работают перенаправления на страницу профиля, если ник состоит не из цифр, как решить?

    orlov0562
    @orlov0562
    1) В сохраненном ошибка, лишний знак ^
    RewriteRule ^^profile/([^/]+)/? /?nick=$matches[1] [QSA,L]

    должно быть так
    RewriteRule ^profile/([^/]+)/? /?nick=$matches[1] [QSA,L]


    Если это не опечатка, то попробуйте убрать тут в начале
    add_rewrite_rule( '^profile/([^/]+)/?', '?nick=$matches[1]', 'top' );

    и посмотрите как будет в .htaccess

    2) Попробуйте руками в .htaccess подогнать, для теста, например так
    RewriteRule ^profile/(.+)$ /?nick=$matches[1] [QSA,L]

    или так
    RewriteRule ^profile/(abc)$ /?nick=$matches[1] [QSA,L]

    чтобы убедиться что проблема именно в регулярках, а не где-то в другом месте
  • Копия дизайна сайта популярного сервиса?

    orlov0562
    @orlov0562
    Владислав Лысков, погугли. Вкратце, это файлик с инфой о тех кто делал сайт.