• Как правильно построить поиск на сайте(Laravel + elasticsearch)?

    где-то поля указаны как name_ru\name_en
    почему не одно поле? Пользователь ищет на любом языке и Эластик просто находит по запросу.

    где-то просто title внутри которого либо json с {ru:} где-то просто текст, и необходимо искать в соответствии с нужной локалью на портале.
    ну так приведи к нужному виду поля, чтобы был просто текст, безо всяких JSON в теле поля.

    Эти болячки нужно решать в Ларавел, а не Эластиком.

    я не понимаю как сделать поиск сразу по всем типам
    https://www.elastic.co/guide/en/elasticsearch/refe...
    Ответ написан
    Комментировать
  • Объясните как работает php-fpm?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Для начала почитайте что такое SAPI. Затем представьте что apache + mod_php разделили на web-сервер, который проксирует запросы на php-fpm и отдает статику, и собственно отдельный web-сервер который имплементит SAPI и выполняет запросы связанные только с php. То есть статику отдавать мы можем только через php. Суть примерно та же что и у apache2 + prefork + mod_php но оптимизированный только для работы с php. Так же можно поставить на фронт более быстрый и легковесный сервер который умеет проксировать запросы.

    То есть php-fpm это эдакий fast-cgi сервер который постоянно держит готовые для работы пул-процессов (сколько в пуле процессов настраивается, так же как и от какого пользователя их запускать и все такое прочее). Каждый новый запрос уходит в какой-либо процесс из пула, запрос отрабатывает, возвращаем результат тому кто попросил (web-серверу обычно). Если процесс падает (fatal допустим) - поднимаем новый.

    Принципиальной разницы между apache2+mod_php нету, просто упрощается инфраструктура. Наш web-сервер должен только уметь проксировать запросы и отдавать статику, а php-frpm вообще может быть на разных машинах (балансировщиком можно раскидывать запросы). Ну и сами понимаете, nginx + php-fpm будет быстрее обрабатывать запросы чем apache2+mod_php какой бы мы менеджер процессов не использовали в апаче. Минусов по сравнению с apache+mod_php я даже не могу предложить.

    А php-runtime не зависит от этого. Он один на всех, CLI, FPM, mod_php...
    Ответ написан
    7 комментариев
  • Что думаете о Livewire и Inertia.js?

    agoalofalife
    @agoalofalife
    Team Lead
    И тот и другой инструмент под свой круг задач вполне подходит.
    Livewire - как вам ответили выше, хорошо подходит mvp, небольших сайтов, где нет большой нагрузки и грандиозных планов.
    Хотя кто-то берет на себя риски и делает все на нем. Из подводных камней, это у вас связаны руки в js, так же на каждое действие, он будет слать запрос на сервер. То есть написали букву в input, запрос на сервер(хотя можно оптимизировать, но тем не менее), в итоге получается такой оверхед на все.
    Стоит иметь в виду о смеси ответственностей, точнее livewire будет вас постоянно склонять к этому, так как в классах php у вас постоянно логика фронта.
    Еще могут быть не очевидные проблемы, при синхронизации данных, и вам надо будет подставлять задержки.
    У меня была проблема с загрузкой файла, в кратце есть две настройки в вашем php.ini и отдельно в файле livewire, в каждом стоит свое максимальное значение размера файла.
    Так вот- грузил я картинку по событию change, после загрузки была написана валидация, в кратце файл не грузился и в блок с валидации было пусто.
    Проблема заключалось в том, что livewire не как об этом не сообщал и не намекал, просто не грузил файл и валидация не проходила.
    Так что будьте готовы решать такие нюансы.
    Мой субъективный опыт получился двоякий, с одной стороны мне понравилась скорость, с другой стороны что-то не работает, возможно это временно пока все шишки не набьешь.

    С Inertia опыт пока только теоретический, но он уже ближе к нормальному стеку. Просто вам не надо думать о роутинге, api, вывода ошибок.
    Врать не буду, ибо фраза:
    В теории нет разницы между теорией и практикой. А на практике есть

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

    Вывод
    Рекомендую попробовать оба варианта несколько раз, тогда вы составите для себя полноценное мнение об этих инструментах.
    Любой продукт который поддерживается и используется сообществом - уже лучше N фреймворка который знаете вы и еще двое людей.
    Повторюсь еще раз, имеет место быть, так как для всех копеечных проектов которые живет два понедельника - писать spa - очень дорогое и бессмысленное удовольствие.
    Ответ написан
    Комментировать
  • Автоматическое форматирование отступов в ассоциативных массивах в PHPStorm

    Tyranron
    @Tyranron
    PHPStorm 7
    Preferences (или Settings) > Секция Project Settings > Пункт Code Style > Подпункт PHP > Вкладка Other > Чекбокс Align key-value pairs
    Ответ написан
    1 комментарий
  • Отклонили релиз в app store, с требованием приложить видео, возможно ли обойти? Кто-то сталкивался?

    fedorez
    @fedorez
    Хатуль мадан
    Я сталкивался. Решение проблемы - берете и пишете видео (прямо на устройстве через запись экрана), приаттачиваете, посылаете. Если косяков нет, вам вскоре одобрят релиз.
    На каждый релиз писать видео не придется, во всяком случае у меня такое было только раз (а обновлений после того случая было много)
    Ответ написан
    Комментировать
  • Как установить php7 pdo_pgsql через Dockerfile?

    Для Debian или Ubuntu попробуйте установить libpq-dev.
    Ответ написан
    1 комментарий
  • Возможно ли зарабатывать на C++-е в 14, с 3 летним опытом программирования?

    @n1ksON
    мидл
    Можно, но не нужно.
    Ваш громкий "опыт работы 3 года", далёк от реалий. Да и на плюсах не так много заказов
    Ответ написан
    Комментировать
  • Зачем интерфейсы если есть трэйты?

    AleksandrB
    @AleksandrB
    Совсем недавно вывел "Hello world"
    Зачем нужны машины, если есть трамваи?

    Трэйты и интерфейсы - это совершенно разные вещи, предназначенные для совершенно разных целей. Трэйт - это способ расширения класса. Своеобразное множественное наследование, интерфейсы - это макет класса. Жду еще вопроса "зачем нужны интерфейсы, когда есть абстрактные классы".

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

    Представь, у тебя есть класс А с методами M1 и M2, с которым работают 3 других класса. Первый класс использует только метод M1, второй только метод М2, третий M1 и M2. Если ты просто передашь им в параметры класс А, то первые 2 класса будут зависеть от методов которые они не используют. Какой выход? Создай 3 интерфейса - для каждого класса и передавай их. Тогда классы использующие класс А не будут зависеть от того что не используют.
    Ответ написан
    2 комментария
  • Fullstack: составить дорожную карту?

    approximate_solution
    @approximate_solution
    JS Developer. Angular\React\Vue\Ember
    я себя вижу как будующий фуллстек

    Я себя тоже когда-то видел новым Линусом Торвальдсом, но жизнь не щадит.

    поэтому можно по подробнее про бэк и фронт.

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

    Алгоритм действий для вас -
    1. Выбор сферы -> хочу работать там-то.
    2. Выбор языка -> определился со сферой, есть такие вот языки, на которых реализуется функционал.
    3. Изучения языка и инструментария по выбранным выше аспектам
    - Вопросы - (нужна ли математика в данной сфере, если нужна - то какой уровень математики, какой уровень computer science, что нужно знать из базы).
    - от фронта до бэка(если бизнес модель и задача позволяет одновременно реализовывать фронт и бэк без боли и огромного количества поглощаемой информации).
    4. Учитьсяи работать от 2-3 лет(если есть желание быть фуллстэком) и до бесконечности, желательно сразу идти в офис что бы перенимать опыт у более опытных товарищей).

    я себя вижу как будующий фуллстек

    Я когда вижу Резюме - фуллстэк - 2 года опыта, немного начинает подташнивать. Нормальный фронт, или нормальный бэк - это 2-3 года работы, когда задача решается так как нужно, и +\- не приходится переделывать. Нормальным фуллстэком вы станете лет через 5, поэтому начните с алгоритма, и далее если хватит сил - уже прыгайте на второй корабль.
    Ответ написан
    2 комментария
  • Как преобразовать HTML, JS, CSS в EXE?

    politon
    @politon
    HTML5,CSS3,JS,PHP,SQL,API,canvas,animation...
    Ответ написан
    Комментировать
  • Имеет ли смысл TypeScript, если на том же backend php?

    @dimoff66
    Кратко о себе: Я есть
    1) Что вы получаете на выходе в js - вообще никого не волнует, минифицированный код никто в здравом уме ни читать ни править не станет. Вся типизация - это контроль за порядком во время разработки.

    2) PHP может вернуть только один тип данных - строку. Если она в формате json - то типы в json одинаковы для всех языков и при JSON.parse будут преобразованы в типы js.

    Так что не переживайте, смело подключайте TS, типизация дело хорошее, тем более что в сравнении с такими языками как Java или C# в TS она весьма щадящая.
    Ответ написан
    Комментировать
  • Имеет ли смысл TypeScript, если на том же backend php?

    ruddy22
    @ruddy22
    Спасение утопающих — дело рук самих утопающих
    Конечно. Backend - соверншенно другая система.

    Преимущество TS - отлов ошибок на этапе компиляции (до запуска кода), чтобы "бить" по рукам JS разрабу, если тот пишет фигню. Если в общих словах.


    Но ведь мы не знаем точно какой тип данных вернёт бэк(привет php c попыткой вернуть 3.0 числом, а не стрингом). Преимущество TS тут разве не падает? Если мы не можем с такой же точностью контролировать типы на бэке?


    Для решения таких проблем существуют другие инструменты - документация. Можно ещё притянуть Swagger (https://swagger.io/).

    Если хочешь проверять типы данных в runtime, то советую посмотреть в сторону JSON Schema Validation (https://json-schema.org/implementations.html).

    Swagger - актуален для документации, т.к. даёт спецификацию API.
    JSON Schema Validation - можно затянуть и на фронт, и на бек.
    Ответ написан
    Комментировать
  • При ожидании ответа от сервера AXIOS заменять элемент анимацией загрузки во Vue.js?

    Kozack
    @Kozack Куратор тега Vue.js
    Thinking about a11y
    Я знаю два способа:
    1. Простой:
      1. Создаёте переменную loading.
      2. Перед отправкой запроса выставляете значение loading = true.
      3. После отправки в секции finally выставляете значение loading = false.
      4. В самом шаблоне смотрите на этот переключатели и отображаете загрузку


    2. Сложный, но более надёжный
      1. Используете xstate для управления состояниями вашего компонента.
      2. В самом шаблоне смотрите на текущее состояние и отображаете загрузку



    UPD
    Очень советую этот доклад по теме
    Ответ написан
    5 комментариев
  • Почему много людей в IT недовольны своей работы?

    У каждого своя причина. Кто-то выгорел, кто-то просто устал. Со временем понимаешь что зп это не главное, да и зарплата в IT не такая уж и большая. И что ты каждый день сидишь по 14, 16 а иногда по 18 часов в день перед монитором. Никакой физической активности. Решаешь какие-то странные хочухи клиентов. Результат твоей деятельности мало кто увидит, большая часть твоего кода уйдет на помойку. Что каждый день выходят новые языки, фреймворки. Что количество данных, которые нужно пропускать через мозг, растет с каждым днем. А мозги только стареют. Помнишь Ваас рассказывал про безумие? Так вот, это оно. Каждый день ты залипаешь перед монитором, пытаясь решать кем то придуманную проблему. У тебя уже искривление позвоночника, зрение -5, туннельный синдром где-то не за горами. А ничего, кроме как пялиться в монитор, ты не умеешь.
    Ответ написан
    31 комментарий
  • Почему много людей в IT недовольны своей работы?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    В ИТ, как и везде, есть люди, которых в специальность занесло случайно, и просто нытики. Первые страдают потому, что находятся не на своём месте, занимаются неподъёмной для них работой и не могут достичь успеха. Вторые потому, что не страдать просто не могут.
    Ответ написан
    4 комментария
  • ВЕБ студия с сотрудниками фрилансерами?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    фрилансеров под те же задачи и они будут работать фактически за бесплатно?

    Фрилансеры, которые работают фактически за бесплатно, выполняют задач почти ничего.

    Фрилансеры, которые могут закрыть все задачи вебстудии, обычно зарабатывают больше.
    Ответ написан
    Комментировать
  • ВЕБ студия с сотрудниками фрилансерами?

    catdesign
    @catdesign
    Веб-разработчик
    1. Фрилансер - это черная дыра. Нет никаких гарантий, что вы с первого раза найдете хорошего специалиста. Вы потратите массу времени походив по рукам как портовая путана, потеряете массу времени и сил. В итоге скорее всего специалиста вы найдете, но какой ценой?

    2. Нет слово бесплатно. Бесплатно будут работать только молодые специалисты, которых вы воспитаете. И то не долго, постепенно их интерес и отеческие симпатии пропадают, люди имеют свойство развиваться.

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

    Вывод: Строить свою веб-студию можно только из своих коллег по цеху с которыми вы уже работали. Для этого желательно самому побыть фрилансером или же поработать в студии. Однако помимо кадровой работы у вас должна быть тонна знаний из разряда всего понемногу. Иначе вы останетесь без денег с лапшой на ушах
    Ответ написан
    1 комментарий
  • Как сделать страницу 404 в VUE.js?

    dosya97
    @dosya97
    Fullstack web-developer
    const routes = [
    ...
      { 
    		path: '/404', 
    		name: '404', 
    		component: NotFound, 
    	}, { 
    		path: '*', 
    		redirect: '/404' 
    	}
    ]
    Ответ написан
    4 комментария
  • Как можно защитить верстку?

    DevMan
    @DevMan
    единственный надёжный вариант - слать скриншоты низкого качества.
    всё остальное не спасет от ушлых.

    а вообще, есть золотое правило: "не работать с мудаками". правда вырабатывается оно не сразу.
    Ответ написан
    12 комментариев
  • Какой есть облачный сервис с виртуализацией процессора?

    allivut
    @allivut
    Системный администратор с 2006 года
    Ну тут нужен сервис baremetal стоит самый дешевый из тех что знаю 40$ в месяц. Это всего 2 ядра и 4 гига ОЗУ.
    Есть еще вариант купить свое железо (не обязательно серверное) и разместить в датацентре. Ценник не скажу, но выходит вроде дешевле.

    Зачем virtualbox? Если есть куча гипервизоров, которые жрут меньше ресурсов хостовых машин? Proxmox, KVM, XCP-ng итд
    Если это для каких то опытных поделок то зачем это размещать где-то?
    Если это все же интерпрайз то просто набираешь VPS с необходимыми характеристиками и связываешь их сетью.
    В этом плане конечно гибче всего AWS тут можно настроить любой формат железа. Но вряд ли будет дешевле.
    Ответ написан
    Комментировать