• В чем суть роутера на php?

    Маршрутизация на уровне DNS

    Станислав Почепко не имеет значения, будет это url вида "eu.example.com" или "example.com/eu".

    а если я пишу к примеру по "олдскулу", то это плохо?

    Валентин Шапкин плохо - не очень уместное слово, скорее неудобно, например: приходит seo'лог и говорит: "теперь нам надо красивые урлы вида best-shop-in-the-universe.io/smarfoni/iphone/6s-pl..." - придется что-то придумывать, роутинг на уровне приложения или сервера. А когда у вас все такие url? Может случится некоторая боль, akubintsev как раз такую указал.

    Самый простой способ разобраться в работе приложения на php это поставить xdebug и пройтись по всем вызываемым функциям.

    Пишите код, документируйте его, тестируйте его, выкладывайте, просите других анализировать.

    Что до фреймворков, многие действительно упрощают жизнь и ускоряют на начальном этапе разработки до выхода в релиз, но только если вы их знаете. Другие фреймворки пытаются выйти на уровень Enterprise. С ростом нагрузки начинаются проблемы у обоих типов, либо фреймворк выкидывается и пишется свое приложение, либо его переделывают под свои нужды, этот выбор уже больше зависит от бюджета.
  • В чем суть роутера на php?

    Станислав Почепко не совсем понимаю, что подразумевается под отдельным потоком. Процесс наверное? Хорошо, допустим, имеем маршруты [европа, азия, америка], форкнули мы по процессу на каждый маршрут, как вдруг маршрут "азия" становится невероятно популярным, санкции там - сям. Поток начнет задыхаться от наплыва желающих и не будет успевать обрабатывать всех. Другие же потоки будут простаивать, но продолжать потреблять ресурсы. В этом контексте оно того не стоит.
  • В чем суть роутера на php?

    Станислав Почепко очень даже делают, все зависит от требований системы.

    Роутер следует расценивать, как удобство, но за любое удобство мы платим производительностью. Бремя маршрутизатора можно переложить на web server, а на dns делают роутинг по поддоменам, вопрос был по php роутинг. Чем меньше будет маршрутов, тем быстрее клиент получит содержимое.

    Некоторые примеры с разными точками входа:
    1. Есть файл index.php - в нем маршруты только для публичной части сайта. И есть admin.php - в нем маршруты для админской части сайта. В данном случае будет снижение нагрузки на публичную часть, не нужно будет перебирать админские маршруты.
    2. Есть index.php - все маршруты сайта. Есть upload.php - загрузка изображений, вообще без маршрутов, только обработка загружаемых данных.
    3. У facebook раньше была регистрация по адресу facebook.com/register.php, сейчас она на m.facebook.com/reg/, логин у них так и остался на m.facebook.com/login.php. У Vk тоже были разные точки входа, как сейчас не могу сказать.

    При разделении отвественности можно один большой сервис поделить на микросервисы, каждый со своим API, и у каждого будет своя маршрутизация.
  • Cервер для целого класса по 3D?

    Давно нахожусь не в теме массового создания 3d контента, но уверен, что render можно запускать по сети, нагрузку можно распределить на все машины класса. Останется сделать механизм очереди, если его нет из коробки.
  • Как исправить ошибку main.go:1:16: expected ';', found 'import'?

    Wired Required на будущее, полезно использовать gofmt, например: gofmt -s -w .
  • Как правильно создать индекс в ElasticSearch?

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

    loly

    1. Структурируйте данные, несмотря на то, что работаем с документной базой. Как можно что-то найти в бардаке?
    2. Используйте запросы по индексу через оператор "term" для точных совпадений, скорость будет одинаковой для строк и чисел.
    3. Используйте фильтр по уже отобранным данным через "term" и другим, оно кешируется, в теории обещают более быструю работу, на практике не замечал особого прироста
    4. Почитайте еще разок документацию, там ведь немного.
    5. telegram @omgnull
  • Как правильно создать индекс в ElasticSearch?

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

    "more" и "less" - непонятно. Количество работников для этой должности? Самый просто вариант - добавить счетчик. Сложный вариант - использовать фильтр скрипт, но его использование будет несколько затруднено, он хорошо для простых не nested типов.

    {
        "должность": "манагер",
        "имя": ["Анатолий", "Андрей"],
        "количество": 2
    },


    Далее.
    Если запрос на "должность" идет по точному совпадению - лучше использовать "term" вместо "match", чтобы искать по индексу, а не полнотекстовым поиском, если используется анализатор.
  • Как правильно создать индекс в ElasticSearch?

    loly каждый вложенный документ при типе nested будет проиндексирован отдельно, там есть некоторые ограничения по количеству полей. Сложно сказать, как это оптимизировать не зная ни количество шардов, машин, какие запросы планируются. Если у вас есть ресурсы можно выделить все вложенные документы в отдельный индекс на другой машине, но это создаст другие проблемы.

    Выделите пару часов, проведите стресс тест, может это не те дроиды, которых вы ищите.
  • Как протестировать action в консольном контроллере yii2?

    Kirill Djonua сигнатура конструктора контроллера
    public function __construct($id, $module, $config = [])

    вторым параметром передается как раз тот самый $module в виде Yii::$app
  • Где можно попрактиковаться в php?

    Робот это потому, что люди думать не хотят, им надо разжевывать в пюре превосходство понимания работы инструментов на низком уровне, а большинству нужно просто yeasy money - это норма. Не стоит по этому поводу гореть. Возьмите N разработчиков php или js и спросите, как вообще интерпретатор работает, что там внутри. В принципе, эти знания им могут ни разу в жизни и не понадобиться для клепания сайтов в студиях. Это, как на собеседовании спрашивать о реализации функции переворачивания строки или поиск палиндрома.
  • Где можно попрактиковаться в php?

    Робот на тостере нет возможности минусовать, в отличие от того же stackoverflow, в итоге здесь множество ответов не объективны. Приходится страдать.
  • Что посоветуете почитать по node.js?

    Сергей Протько просто интерес. Версия 0.1.0 у меня была нестабильна, в чем именно уже не вспомню давно было, еще на php 5.3.*. Другое воплощение libevent'a в виде ev не пробовал, как то вообще отказался от асинхронного php в таком исполнении на проде.
  • Что посоветуете почитать по node.js?

    На проде кто-то использует php+libevent?
  • Mongo: хранение комментариев и лайков в отдельной коллекции или в атрибутах самого файла?

    JRazor документ это одна запись в коллекции, вы можете посчитать сколько лайков можно в нем уместить, но не забываете также считать и названия свойств { "user": "", "name": "" } - это не пустой документ (ключи "user" и "name" это тоже данные), в монгодб нет схемы, она не хранит поля json документов отдельно

    stackoverflow.com/questions/22008822/mongo-get-siz...
  • Как лучше организовать отчет от RabbitMQ?

    HoHsi это не воркер. Это горячие данные, кеш (демон), воркеры отдают ему результаты работ, лучше всего держать прямо в оперативной памяти, но если данных много подойдет любое быстрое nosql (типа leveldb), логики должно быть минимум, чтобы не загружать проц и работать только на прием, отдачу и сброс нужных данных в хранилище. Хорошо вписывается событийная модель (event loop), когда site может подписаться на нужные ему события, а не опрашивать каждый раз демона на их наличие. Может быть вам из коробки подойдет redis.

    RPC или нет - не суть, нужен лишь удобный и быстрый механизм общения между компонентами системы.