• Почему MySQL внутри Docker-контейнера прерывает (отменяет) "длинные" запросы?

    Sergei_Erjemin
    @Sergei_Erjemin Автор вопроса
    Улыбайся, будь самураем...
    Оказалось проблема в клиенте. Я тестировал запросы на dbForge Studio for MySQL Professional версии 9.0.304 ... А у него как раз проблема с коннектом. Ее поправили в версии 9.0.338

    https://www.devart.com/dbforge/mysql/studio/revisi...
    Ответ написан
  • Как с гарантией определить, что сайт открыт на смартфоне или планшете?

    @zkrvndm Автор вопроса
    Веб-разработчик
    Всем спасибо за ответы, я нашел устраивающий меня вариант, который дает 100% гарантию. Буду просто тупо вещать на body обработчик onmouseover и если обнаружена мышка над документом, считаем, что сайт с открыт с ПК и перестраиваем меню для комфортной работы именно с мышкой. Изначально же буду всегда принимать, что сайт открыт на смартфоне и меню держать в режиме работы с тачем, пока не обнаружена мышка.

    P. S. Это не сработало, увы. На смартфонах клики распознаются в том числе и как события мыши, хотя мыши нет.
    Ответ написан
  • Sphinx как решить проблему с поиском?

    tumbler
    @tumbler
    бекенд-разработчик на python
    SELECT *  FROM recognit WHERE MATCH('город | екатеринбург');

    Сходу в документации не найду, но по-моему слова через пробел ищутся по принципу "И".
    Ответ написан
  • Как сделать плавную прокрутку на странице?

    Vlad_IT
    @Vlad_IT Куратор тега CSS
    Front-end разработчик
    Все решения будут дико тормозить. Сайт по ссылке тормозит на macbook pro 2018 с i7, во время скролла лишь появляется желание побыстрее закрыть сайт.
    Лучше нативного скролла нет ничего, убеждался в этом множество раз. Если нужна плавная прокрутка к нужной позиции, то тоже есть нативные решения: css scroll-behavior или на js параметр behavior у scrollTo
    Ответ написан
  • Как Мониторить динамические параметры в Заббиксе?

    @MechanID
    Админ хостинг провайдера
    Вам нужно использовать LLD - low-level discovery
    Ответ написан
  • Почему для веб-разработки в основном выбирают MySQL?

    inoise
    @inoise
    Solution Architect, AWS Certified, Serverless
    Да никто не лучше. Этот холивар длится примерно вечность и никогда не закончится. Каждая из этих технологий решает примерно одни и те же задачи, но немного по-разному. Вот и все.

    А остальное "лучше-хуже" уже особенности проекта и радиус кривизны рук (недостаток опыта). Есть еще 100500 баз данных и что?
    Ответ написан
  • Как правильно составить условие?

    @IS-Builder
    $a = rand(0, 100);
    $b = rand(0, 50);
    
    if ($a > $b) {
        $b += $a;
        $a = $b - $a;
        $b -= $a;
    }
    
    echo $a, ' ', $b;
    Ответ написан
  • Как правильно составить условие?

    nokimaro
    @nokimaro
    Если нужно поменять значение 2-х переменных, то надо использовать третью переменную или изощрятся используя промежуточную функцию как буффер.

    $e = rand(0, 100);
    $l = rand(0, 50);
    if($e > $l)
    {
        list($e, $l) = array($l, $e);
    }
    
    echo $e;
    echo $l;
    Ответ написан
  • Укрепить знания PHP велосипедом или через фреймфорк?

    glaphire
    @glaphire Куратор тега PHP
    PHP developer
    Ответ на такой вопрос тут давали неоднократно.
    Для работы нужны понятные поддерживаемые решения, и разработка на фреймворках это обеспечивает. Вы не сможете навелосипедить на уровне, близком к фреймворку без правильных знаний проектирования кода. Разбирайтесь в существующих подходах, тогда в проекте будет смысл
    Ответ написан
  • Выбор дополнительного ЯП?

    Sanasol
    @Sanasol
    нельзя просто так взять и загуглить ошибку
    Хотелось бы на всякий случай изучить что-нибудь, чтобы довольно быстро найти работу.

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

    На питоне не только датасаенс(гыгы), вы же синтаксис питона учите, а не датасаенса.
    В чем проблема работать на питоне на любой работе?

    Опять же почему на другом языке должна быстрее работа найтись?

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


    Если задача найти "быстро работу", то надо было просто начать искать на питоне её и уже бы может нашлась.
    А не начинать выбор нового языка в процессе изучения старого.

    Если вопрос не в том что надо найти работу прямо сейчас, а когда-то потом, то выбирайте что больше нравится, а лучше изучите таки питон до конца, вам с большой вероятностью не надо будет до конца жизни внезапно искать работу и на абсолютно другом языке. Или вы думаете что питон умрет через год другой сразу и окончательно? Где гарантия что не умрёт *другой_язык_нейм* через тот же срок?

    Golang....разработка маленьких приложений в нем довольно быстра и приятна).

    Если под маленькими подразумевается одна конкретная функция и весь код в сотню-другую строк.
    Для всего остального придётся таки относительно глубоко копать и не сказал бы что это легко и приятно.
    Ответ написан
  • Правильно ли я понимаю, как отработает индекс?

    @ayazer
    Sr. Software Engineer
    нет. главное чтоб в where были или первое поле, или первых два поля, или все 3 поля. в каком порядке вы их напишете в запросе - без разницы.

    т.е. where country = ?? использовать индекс не будет вообще, а where country = ?? and entityId = ?? будет использовать только первую часть составного индекса (по ентитиИд).
    Ответ написан
  • Учу php+laravel, сделал небольшой сайт, хочу начинать искать работу в областы php, хотели узнать этих знаний хватит для поиска работы?

    Sanasol
    @Sanasol Куратор тега PHP
    нельзя просто так взять и загуглить ошибку
    Первое самое глобальное - почему laravel 5.8?
    Вы документацию используете же наверняка, видели же по любому что там уже больше полугода зарелизен 6.0. А 5.8 даже уже не поддерживается критикал патчами

    Шаблоны слеплены по старинке кусками без структуры.
    При том что и @extends и @section вполне себе используются, но код выглядит как будто в вордпресс заглянул где пачка файлов и открываются теги в одном, а закрываются в другом. Не надо так.

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

    Нейминг тоже пляшет 5ea3409220fb2064428997.png

    Трейты это хорошо, но довольно странное использование. Как будто пытались изобрести репозитории или хотя бы вынести повторяющийся код, но почему тогда хотя бы не в моделях методами?

    Что это такое и зачем я вообще не понял. Когда есть response()->json() например (и опять же местами оно есть тоже). Про ->data я уж вообще молчу.

    JSON роуты намешаны в кучу с обычными. Хотя есть даже отдельный файлик api.php в routes. Это в целом-то как угодно, но опять же про кодсайтл и практики устоявшиеся внутри Laravel.

    Методы которые не являются собственно обработчиками запросов в контроллерах тоже такое себе. Не сказать что криминал, но просто опять же создание мешанины.

    Requests это хорошо, но почему там только required везде, а если туда массивы какие-нибудь слать начать, всё поляжет.

    Используете мидлвар с параметром role:admin, а на самом деле admin захардкожен

    И снова про кодстайл array() уже не очень актуально, гораздо более лаконично использовать короткий синтаксис [].
    Хотя опять же строгих рекомендаций на этот счет нет.

    Указание классов $this->belongsTo('App\City'); не очень красиво, да и в IDE поддержка какая-то непонятная, как будто от этого уже давно ушли. Проще и удобнее писать $this->belongsTo(City::class);. Бонусом подсветка в IDE, автодополнение и класс импортировать через use можно в таком случае.

    Зачем такое выносить? Это переиспользуемый код? Он помог сделать код чище? Вместо одной строчки кода сделали 4 на ровном месте.

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

    По сути всё про:
    1. Кодстайл php, автоформатирование и вот это всё. Поставьте IDE или что-нибудь что может форматировать по PSR.
    2. Кодстайл/структура Laravel тоже стоит придерживаться того как всё устроено конкретно внутри фреймворка. Чтобы код был однородным.

    этих знаний хватит для поиска работы?

    Пробуйте, каким-нибудь трейни-джуном-то должны взять, но по этому коду трудно сказать что вы умеете, тут и php функций как таковых не используется и логика вся "прямая" как не знаю что :)
    По коду понятно только что на Laravelе что-то смастерить наверно сможете хоть и из говна и палок. На php например сможете сделать тоже самое? Даже пусть с копозером и пакетами какими-нибудь, но собрать из разных частей и склеить вместе.
    Ответ написан
  • PHP фильтр по трем полям БД, я сильно намудрил?

    Adamos
    @Adamos
    $fields = [
      'clientName' => 'name',
      'clientPhone' => 'phone',
      'clientEmail' => 'email'
    ];
    $where = [];
    $resultArr = [];
    foreach($fields as $key => $field) {
      if($arr[$key]) {
        $where[] = "`$field` LIKE ?";
        $resultArr[] = '%' . $arr['clientName'] . '%';
      }
    }
    if(count($where) > 0) {
      $sql .= ' WHERE ' . implode(' AND ', $where);
    }
    Ответ написан
  • Какие перспективы у профессий разработчик бд (oracle) и веб-разработчик? Что выбрать?

    @FanatPHP
    Чебуратор тега PHP
    Господи, опять очередные страдания, "люди добрые памажите решить чем мне заниматься, мы сами не местные пять семей по вокзалам". У вас у всех прямо гамлетовские страдания, "быть или не быть". Вопрос века, ошибка смерти подобна - "в какой области я больше бабла получу???!!!111" Да ни в какой. Никому ты не нужен, такой беспомощный нытик. Ни в вебе, ни в энтерпрайзе.

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

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

    НИ В КАКОЙ. В прошлом веке кончились те времена, когда ты выбирал себе профессию на всю жизнь. Сейчас мир меняется если не за 2 года, то за 10 лет неузнаваемо. Важны способности, а не навыки. Важно понимать общие принципы построения программных систем, а не конкретный синтаксис одного языка. Да, возможно через 5 лет разработчики БД будут совсем не нужны (на самом деле нет). Но я тебе точно говорю что и через 5, и через 50 лет будут нарасхват люди с мозгами и руками. И надо не затачивать свои руки под один конкретный инструмент, а разивать мозги, учить теорию, учиться самостоятельности, пытаться стать исследователем, а не мелким лавочником.
    Ответ написан
  • Как сделать чтобы большая БД держала нагрузку?

    Melkij
    @Melkij
    PostgreSQL DBA
    Ооо.... Вы это сейчас вообще серьёзно?

    Если вы запускаете DBaaS платформу и не знаете что делать собственно с базами - то у вас не
    Запускаю свою облачную платформу, код и архитектура создана с нуля.

    У вас нет вообще абсолютно ещё ничего и уж архитектуры - в особенности. Кроме "идеи", над которой бьётся давно и много кто, при том имея ресурсы на собственные команды DBA.

    Например: юзер пишет какой-то запрос и ему не нужно указывать на какой сервер что отправлять или откуда читать, для него это один сервер.

    Значит этому юзеру достаточно ходить только на мастер.
    Для сферического в вакууме приложения нет средств автоматически распределять запросы по репликам. И такое сделать вовсе невозможно без накладывания ограничений на использование. Например,
    select somefunc();
    Что делает эта функция? Она только читает данные и потому можно отправить на реплику или она пишет и потому должна быть на мастере? Хотите правильный ответ от контрибьютора postgresql? Это достоверно не знает даже сама база до тех пор пока не выполнит функцию.

    Другой пример:
    begin isolation level repeatable read;
    select ...
    update ...
    commit;

    Как максимум на запросе select вы должны уже знать можете ли вы эту транзакцию отправить на читающую реплику. Откуда бы вам это узнать заранее?
    И прочие принципиально-нерешаемые вопросы.

    DBaaS это не про большие базы. Как бы не хотелось маркетингу убедить в обратном. Это про небольшие или стартующие проекты, где проще переплатить сервису за относительно вменяемую настройку и сопровождение типовой конфигурации.
    Ответ написан
  • Почему composer жрет ОЗУ?

    @Flying
    Проблема Composer'а с потреблением памяти при обновлении с большим количеством зависимостей - весьма известная, достаточно посмотреть в их issue tracker (1,2 и множество других).

    Jordi Boggiano, один из авторов Composer говорит (к примеру здесь) что проблема будет принципиально решена во второй версии, которая сейчас в разработке.

    Aside note: обычно команды, модифицирующие список пакетов (и требующие для этого кучу памяти) стоит запускать только при разработке (т.е. к примеру на вашей локальной машине), для деплоя проекта необходимо использовать composer install, а он много памяти не требует.
    Ответ написан
  • Как узнать нагруженность на сервере?

    @pfg21
    ex-турист
    подключить систему мониторинга. она все покажет.
    от элеметарного atop до монстров типа munin
    https://en.wikipedia.org/wiki/Comparison_of_networ...
    Ответ написан
  • Обязательно ли в ларавеле использовать Eloquent ORM?

    @EvgeniiR
    https://github.com/EvgeniiR
    Обязательно ли в ларавеле использовать Eloquent ORM?

    Нет, не обязательно.

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

    Делайте сырые запросы к базе. Не нужно натягивать сову на глобус выборки на ORM.

    ORM помогает когда вам нужны модели с логикой для какой-то операции. Если цель - просто получить данные от базы - выборки через SQL, и маппинг на DTO по прежнему остаются лучшим выбором.
    Ответ написан
  • Почему не работает код с namespace?

    DevMan
    @DevMan Куратор тега PHP
    потому что в объявленном неймспейсе нет такого класса.
    нужно либо указывать для него полный неймспейс (в данном случае это корневой), либо импортировать через use.

    https://www.php.net/manual/ru/language.namespaces....
    Ответ написан