• Laravel очереди на другом сервере?

    Sanasol
    @Sanasol Куратор тега Laravel
    нельзя просто так взять и загуглить ошибку
    Так джоб может использовать всё что угодно чтобы выполниться, как вы хотите чтобы это работало без кода? Если нужен сервис какой-нибудь, модель из базы достать, в базу сохранить и т.д.

    Чтобы поднять очереди на другом сервере надо настроить общий редис и общую базу, тогда джобы будут балансироваться между серверами.

    Но деплоить надо полноценно приложение на оба сервера.

    Можно конечно сделать отдельные консюмеры на отдельном сервере чтобы там чисто один скрипт лежал, но это и будет работать вне ларавела полностью. Т.е. не сможете использовать сервисы, eloquent, модели и всё остальное из ларавела. В чем смысл.

    Пора изучить деплой на несколько серверов. А точнее в принципе деплой автоматический поднять, а сколько там серверов надо развернуть ему пофиг.
    Ответ написан
    Комментировать
  • Как организовать парсер с помощью очередей в Laravel Horizon?

    JhaoDa
    @JhaoDa
    LaravelRUS Team
    Во-первых, ты путаешь понятие «очередь» и «задание в очереди».

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

    Если кратко: создаёшь 20 очередей, каждой по одному воркеру с параметром --sleep=1.
    Ответ написан
    5 комментариев
  • Как получить название ключа массива?

    kawabanga
    @kawabanga
    RTFFFFFM
    https://www.php.net/manual/ru/control-structures.f...

    foreach($data['questions'] as $key=>$value)
    Ответ написан
    Комментировать
  • Каковы шансы сломать ноутбук при добавлении в него новых комплектующих?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Для нуба - большие.

    Ноут - это как большая мобила - крайне точная и крайне плотная компоновка.

    Поэтому:
    - перед разборкой все фотаем
    - используем часовые отвертки - винтики там крайне миниатюрные, запоминаем как они расположены - иногда винтики разной длины и отнюдь не взаимозаменяемы :)
    - не прилагаем никакого усилия - все должно вставляться и выниматься легко, если что-то не вставляется/не вынимается - значит ставите/вынимаете не так/не туда/не то
    - за платы стараемся хвататься как можно меньше
    - в гугле много роликов с разборкой той или иной модели ноута, есть такие плотно укомпонованные, что черта с два сразу поймешь, типа Sony Vaio
    Ответ написан
    Комментировать
  • Как чекнуть скорость редиректов?

    vabka
    @vabka Куратор тега Веб-разработка
    Токсичный шарпист
    открываешь страницу, и через f12 в devtools всё видно.
    Вкладка Network
    Ответ написан
    5 комментариев
  • Как перенести все данные с системного SSD на другой SSD?

    Slayer_nn
    @Slayer_nn Куратор тега Windows
    Гугол, памаги!
    Не, ну реально. Первая ссылка
    https://remontka.pro/perenesti-windows-na-drugoi-disk/

    Я использую aomei, т.к он бесплатен
    Ответ написан
  • Каковы шансы сломать ноутбук при добавлении в него новых комплектующих?

    gbg
    @gbg Куратор тега Железо
    Любые ответы на любые вопросы
    САМЫЙ ВАЖНЫЙ ДИСКЛЕЙМЕР
    Или почему нужна куча инструментов и оснастки, а не стол с газеткой и батина отвертка

    Ноутбук вы купили за XXX баксов. На заводе его собирали при помощи подходящей к винтам биты, механическим винтовертом с правильным моментом затяжки. При этом, ноутбук находился на антистатическом мате, а каждый винт был обработан фиксатором резьбы.

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

    САМЫЙ ВАЖНЫЙ ДИСКЛЕЙМЕР КОНЧИЛСЯ

    1) Отсутствие мануальных навыков может сыграть с вам злую шутку. Ковыряние ноутбука - операция высокой сложности. Если вы до этого никогда не делали своими руками работ с электронной техникой, риск растет. (Нет, замена колпачков на вашей ласточке к таким работам не относится).

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

    Мануальные навыки можно получить только на практике, никакой учебник или ютюб не передаст вам ощущения "вот так вот не надо, надо вот так!" (тикток тоже не поможет).

    2) Отсутствие знаний и понимания того, что перед вами и как это должно работать
    Вы просто не будете понимать, что за блоки и шлейфы перед вами, зачем они нужны, как они работают правильно, а как - неправильно. Следовательно, если что-то пойдет не так, вы или доломаете девайс, или будете искать проблему очень долго, а потом повеселите сервисмэна.

    3) Немаловажно иметь инструмент и оснастку. Антистатический мат для работы гораздо лучше стола, накрытого газеткой, отвертка должна быть не взятая у деда еще советская, а именно с тем типом шлица, который вам нужно отвинчивать (иначе слизанный крепеж гарантирован). Винты в ноутбуке, как правило, сидят на фиксаторе резьбы, который тоже надо купить и использовать - иначе через время они вывернутся, выпадут и утеряются (или весело коротнут что-то внутри)

    Таким образом, чтобы сделать эту операцию качественно, надо иметь:

    • пластиковые шпатели или заточенную кредитку для вскрытия корпуса. Нет, не надо брать у подручного балалаечника медиатор - он предназначен для игры на балалайке, - у него слишком маленькая площадь, за него будет тяжело ухватиться.
    • фиксатор резьбы
    • кассета с ячейками, куда вы будете складывать снятый крепеж. Не в кучку на столе, не в перевернутую крышку - а в кассету. Чтобы потом, просматривая видеосъемку того, как вы разбирали, вы ловко брали нужные винтики и сажали их на место. Иначе можно засадить более длинный винтик вместо штатного и тупо продырявить материнку, накопитель, память, или просто корпус.
    • подходящие отвертки, причем желательно не из магазина "все по 35р.". Отвертка, слизанная об винт - это шедевер!
    • одежда не должна быть из синтетики, а то будет весело
    • Нужны знания и навыки о том, как все перечисленное выше правильно и безопасно применять на практике
    Ответ написан
    3 комментария
  • Почему let x не попадает в window?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    Мужик, ну ты хотя бы документацию прочитай, прежде чем вопрос задавать!!!

    Вот с MDN цитата

    На верхнем уровне скриптов и функций let, в отличии от var, не создаёт свойства на глобальном объекте.


    ДОКУМЕНТАЦИЯ!!! – наше всё.
    Ответ написан
    13 комментариев
  • Laravel middlaware auth:api возвращает HTML, почему?

    Нужно в postman вместо

    Content-Type : application/json
    поставить
    Accept : application/json

    Content-Type - указывает какой тип контента отправит клиент
    Accept - указывает какой тип контента ожидает от сервера

    Поэтому laravel воспринимает клиента как браузер и отдает html а не json
    Ответ написан
    Комментировать
  • Почему может тормозить Samsung 980 PRO?

    @Wexter
    Так написано же что он подключен по 3.0 x2, вместо 4.0 х4. Поэтому и скорость низкая
    614875a62a9cb853215420.png
    Ответ написан
    7 комментариев
  • Как прописать в договоре на создание сайта, что таким подобным проектом мы заниматься не будем?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    Все договоры должны составлять профессиональные юристы. Одно неверное слово, которое можно трактовать двояко - и ваш бизнес под вопросом закрытия, суды и штрафы
    Ответ написан
    Комментировать
  • Как защитить контент от парсинга с помощью Nginx?

    @rPman
    Основная защита от парсинга - только при доступе к данным по авторизации и установка лимитов на данные (объем, доступный пользователю либо за какой то период времени, например сутки/месяц).

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

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

    Можно поставить 'палки в колеса', сделав этот процесс сложнее (и дороже), в основном это запутывание/шифрование данных, доступных напрямую (по api) с бакэнда и обфускация кода, его преобразования в видимый пользователю контент, чтобы классические (дешевые) инструменты не работали. Как всегда стоимость защиты (затрат на разработку) должна быть сравнима затрат граберов на получение данных (обычно им проще).
    К сожалению вместе с контент-грабером, в заблуждение будут введены роботы поисковых систем, ведь их основная работа - грабить контент.
    spoiler
    * api не должен быть простым и интуитивно понятным, идентификаторы могут вообще не быть постоянными (их можно преобразовывать на бакэнде на основе данных в сессии)
    * код javascipt, например получения ссылки на объект должен быть нетривиальным, т.е. чтобы получить следующую ссылку на требуемый граберу объект, потребовалось бы использовать сам браузер (а не простенький скрипт парсер html)
    * верстка может быть непостоянной, изменяющиеся, простые гуляющие наименования классов и идентификаторов уже могут создать кучу проблем (я такое встречал), а уж постоянное изменение структуры должно совсем запудрить голову даже опытным граберам (не встречал)
    * шрифт может не являться правильным (видимые символы могут не соответствовать их кодам), при этом генерируемый каждый раз новый под конкретную сессию пользователя. Простая подстановка, сильно усложнит (но не сделает невозможной) получение данных через буфер или document.innerText в консоли браузера, оставив граберу только вариант распознавание экрана скринридером (а не тривиальная верстка потребует от пользователя сложную настройку и автоматизацию и эти инструменты)
    * типовые javascript методы браузера должны быть замещены на 'неправильно работающие', чтобы граберу пришлось использовать внешние скрипты а не простой инжект javascript (обычно это сильно упрощает).
    Ответ написан
    3 комментария
  • Почему в Debian 500Gb HDD доступно всего 435Gb?

    Zettabyte
    @Zettabyte
    Проф. восстановление данных ▪ Вопрос? См. профиль
    Раз килобайты на 1000/1024 байта вы учли, то на всякий случай начните с проверки наличия удалённых файлов: lsof | grep deleted.

    Затем посмотрите tune2fs -l – это параметры файловой системы.
    В Линуксе на ext* выделяется 5% на резервирование в каждом разделе под нужды root'а. Никто, кроме него туда писать не может. Отображается в строке Reserved block count.

    Изменить можно командой tune2fs -m №, где № – новое кол-во процентов (2, 3, и т.п.), но лучше понимать для чего вы это делаете.

    Ну и обычно наиболее заметный оверхед возникает из-за таблиц inode'ов. Он зависит от их количества. По умолчанию на каждые 128 МБ используется 2 МБ айнод (8192 x 256 байт каждая), т.е. примерно 1.5-1.6%, что похоже на указанные вами цифры.
    Ответ написан
    Комментировать
  • Как из массива массивов сделать один массив?

    0xD34F
    @0xD34F Куратор тега JavaScript
    const result = arr.flat();
    
    // или
    
    const result = Array.prototype.concat.apply([], arr);
    
    // или
    
    const result = arr.reduce((acc, n) => (acc.push(...n), acc), []);
    
    // или
    
    const result = [];
    
    for (const n of arr) {
      for (const m of n) {
        result[result.length] = m;
      }
    }
    Ответ написан
    1 комментарий
  • Как отслеживать онлайн статус пользователя, как в соц. сетях?

    Sanasol
    @Sanasol Куратор тега Веб-разработка
    нельзя просто так взять и загуглить ошибку
    Надо просто добавить какой-нибудь last_activity_at в базу-таблицу пользователей и при любом запросе юзера к бекенду ставить туда текущую дату.

    При выборе уже выбираете тех у кого (last_activity_at > текущее_время - 5 минут) например.

    Это и будут онлайн пользователи.

    https://qna.habr.com/answer?answer_id=1535663#answ...
    Ответ написан
    Комментировать
  • Чем можно заменить i3-3220?

    @ewgenc
    Замените жёсткий диск на SSD, если это без проблем позволяет конструкция, а процессор поискать i7 на барахолках под ваш сокет, с учетом системы охлаждения.
    Ответ написан
    Комментировать
  • Чем можно заменить i3-3220?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Подойдут процессоры той же линейки Ivy Bridge под сокет 1155.
    Гарантированно можно заменить на i3-3240, серии i5 и i7 имеют большее потребление и тепловыделение, надо смотреть на рекомендации производителя моноблока.
    Ответ написан
    1 комментарий
  • Мне необходимо выбрать тему диплома, связанную с BIG DATA, e-commerce. Какую лучше взять?

    @dmshar
    Время, когда любую задачу машинного обучения гордо обзывали Big Data давно прошло. Big Data тем и отличается от традиционного Mаchine Learning (включая нейронки между прочим), что данных должно быть очень много. Очень. Очень-очень-очень. Настолько много, что вы не в состоянии решить задачу без распараллеливания, без специальных методов работы с постоянной подкачкой и пр. Big Data - это не классификаторы, не кластеризация и не Deep Learning. Это Hadoop и все, что вокруг него, это MapReduce, это Spark, X-plenty, Cassandra, всякие Hana, Teradata, Talend и пр.
    Вы точно это имеете ввиду, когда говорите про Big Data? И у вас есть терабайты этих самых данных, и доступ к соответствующим инструментам их обработки? Интернет-магазин, говорите? У вас есть доступ к данным Amazon?
    Может для начала стоит хоть с терминологией правильной разобраться (хотя диплом, что-то же вы 4 или 6 лет все-таки учили?), а уж потом думать про диплом.
    И если вы все-таки решите писать работу в области Machine Learning, то рекомендую для начала подумать, к каким данным у вас есть реально доступ, а уж исходя из этого и тему придумывать.
    Ответ написан
    Комментировать
  • Как узнать, сколько памяти "ест" сайт?

    hottabxp
    @hottabxp
    Сначала мы жили бедно, а потом нас обокрали..
    5 комментариев