Профиль пользователя заблокирован сроком с 17 мая 2024 г. по 17 мая 2025 г. по причине: нарушение правил сайта
  • Как составить запрос один ко многим?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Да ладно вам, простой запрос же.

    select
    	films.*
    from meta
    left join films on films.id = meta.id_films
    where meta_value in (13,15,27)
    group by id_films
    having count(meta.id) = 3

    В IN подставляете все нужные категории
    having count = общее количество категорий запрошенных пользователем.

    Если нужен не четкий поиск, можно например сделать вот так:
    select
    	films.*,
    	count(meta.id) as cnt
    from meta
    left join films on films.id = meta.id_films
    where meta_value in (13,15,27)
    group by id_films

    и дальше показывать юзеру по убыванию cnt
    Ответ написан
    Комментировать
  • Чем создать карту сайта на 5млн страниц?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Мне кажется что парсить сайт по внешним ссылкам - это ну очень ресурсоемко и криво.
    Логично генерить sitemap путем хардкода структуры сайта/запросов в базу, заодно можно корректно заполнять поля lastmod, changefreq итд.
    Ответ написан
  • Какой тип использовать? DECIMAL либо FLOAT?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Если необходимое количество знаков после запятой может меняться - то DECIMAL с указанной точностью + обязательно использовать для математики какую-нибудь либу которая умеет в точность, в противном случае результат Вас может жестко огорчить
    $a = 5.2 * 3;
    $a = $a - 15.6;
    echo ''.$a; // выводит 1.7763568394003E-15
    https://3v4l.org/NnLTF

    Альтернативное решение: если точность везде фиксирована, а сами цифры не очень большие - храните в integer/big integer и при выводе делите на нужное число.
    Ответ написан
    Комментировать
  • По какой теме в наше время можно создать биржу?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    1. То что Вы хотите сделать, правильно называется маркетплейс.

    2. С ресурсами порядка "несколько тыс. долларов" - сделать можно, но будет впустую.

    В любом маркетплейсе самое сложное это не разработка системы, а привлечение поставщиков товаров и клиентов.
    Для поставщиков - нужен отдел продаж на зарплате.
    Для клиентов - вложения в трафик.
    Это если вы строите B2C/B2B истории.

    Новые C2C проекты в сфере реальных товаров на мой взгляд изначально обречены.
    Обдумывая идею "а давайте сделаем авито только для ..." - не забывайте, что
    а) если у авито этого нет - скорее всего по их мнению там нет спроса / предложения / трафика.
    b) если вдруг выяснится что авито ошибся, а вы были правы и смысл в этой категории есть - через неделю после вашего запуска она появится на авито со всеми вытекающими. Накопить серьезное преимущество вы не успеете, тем более без бюджета на продвижение.

    В рамках бреда - можно попробовать выехать на хайповых темах типа криптокотиков, но нужно опять же уметь быстро этот хайп ловить, быстро запускать проект и делать правильный smm для запуска вирусности.
    Ответ написан
    Комментировать
  • Как правильно разделить классы в ООП PHP?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Не нужно городить отсебятину, есть PSR в котором все написано.
    Официальный сайт www.php-fig.org/psr
    Один из русских переводов https://svyatoslav.biz/misc/psr_translation/
    PSR-0 и PSR-4 это прям то что Вам нужно.
    Заодно советую почитать про MVC.
    Ответ написан
    Комментировать
  • Как вы обычно оцениваете риски при разработке проекта?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Если по ГОСТ`у - ищите технического аналитика который умеет писать такие документы (даю наводку - они обычно в крупных интеграторах трудятся, но можно и на фрилансе найти)
    В зависимости от степени формализма - можно и за недельку типовой документ накопипастить, а можно и на пару месяцев закопаться. В любом случае тема очень большая и в паре абзацев этот вопрос не осветить.

    Если понятийно, imho основной риск разработки - перерасход ресурсов (времени и/или денег), в том числе предельный вариант: все ресурсы кончились, а продукта нет.
    Соответственно это можно расписать по причинам (неверная оценка задачи, недостаточная экспериза внутри команды, итд итп).

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

    В целом тут сложно советовать заочно, даже в учебниках одним из способов составления списка рисков значится мозговой штурм)
    Ответ написан
    Комментировать
  • Как объеденить колонки?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    WHERE обрабатывается ДО формирования кортежей, соответственно concat_url просто не определен в этот момент.
    Вариантов в лоб два:
    a) использовать HAVING вместо WHERE
    b) в запросе вместо concat_url писать само выражение WHERE CONCAT(c.id,'-',c.url) = ...

    Но в любом случае лучше так никогда не делать.
    Получившийся запрос не будет использовать никакие индексы.
    Правильно - добавить UNIQUE KEY (id, url) и искать WHERE id = ... AND url = ...
    Ответ написан
    Комментировать
  • Почему не работает php скрипт по Cron?

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

    В режиме телепата могу предположить что проблема с путем инклуда.
    В любом случае по этому кусочку кода можно гадать до бесконечности, нужны логи.
    Ответ написан
  • Как думаете, получат ли VR шлемы и очки массовое распространение?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Я склонен считать что действительно массовое распространение получит не VR, а AR.
    Там еще хватает технических проблем, но сам кейс использования гораздо понятней.

    По факту полноценных устройств AR пока нет, но крупные игроки активно играются.
    google glass (мир его праху)
    microsoft hololens (пока не вышел)
    apple ar kit (+пачка патентов www.patentlyapple.com/patently-apple/augmented-reality ) - уже работает, но только в телефоне.
    Ответ написан
    Комментировать
  • Что нужно требовать от компании-разработчика?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Все сугубое imho:
    1. Что должна предоставить нам компания, кроме работающего приложения, чтобы в дальнейшем штатные разработчики без труда подхватили проект?

    Смена команды разработки - всегда боль.
    Если это резкая смена команды - то либо это заканчивается переписыванием 70-80% кода, либо закладывайте ~30% потраченных на разработку ресурсов на вхождение новой команды в курс дела.

    На мой взгляд есть 2 способа этого избежать:
    a) покупка изначальной команды в штат
    b) участие ваших штатных разработчиков в проекте изначально (но мало кто из аутсорсеров на это пойдет)

    ну а предоставить собственно должны исходники без обфускации, с читаемыми названиями переменных, форматированием согласно принятым стандартам языка (для php например это PSR), документацию.

    2. Какое качество кода должно быть, есть ли какие-то стандарты качества, которые нужно отразить в договоре?

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

    3. Как относятся компании к договору NDA?

    Относится отлично, но NDA в РФ не работает по факту. Хотя все их очень любят подписывать по поводу и без.

    4. Какую документацию по проекту мы должны получить от разработчика?

    Ту которую хотят ваши разработчики. Для веб-приложения на мой взгляд программа минимум это
    а) ТЗ по которому все пишется
    b) описание внешних и внутренних компонент приложения, что они делают и как взаимодействуют
    c) описание структуры БД, как объектов со связями, так и полей. Если где-то денормализация - обоснование её наличия и описание логики.
    d) описание endpoint проекта если есть (апи, итд)

    5. Нужно ли прописать в договоре пункт про бэкдоры, работает ли это на судебном уровне
    В РФ imho нет.
    Ответ написан
    2 комментария
  • Как реализовать поиск данных в бд по заданным параметрам?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Я позволю поставить ссылку на недавний вопрос Как лучше устроить базу данных?

    Основные тезисы такие же:
    - иметь NN столбцов в одной таблице - однозначно плохо, поэтому умещать все в одной таблице - bad design.
    - в любой непонятной ситуации проектируйте базу исходя из 3НФ (google it) и все будет хорошо.

    В данном конкретном случае, у вас есть 2 основные сущности: рецепт и продукт с соотношением многие-ко-многим, соответственно правильная структура базы в упрощенном виде:

    1. Рецепт
    • id рецепта (integer, primary, auto increment)
    • название рецепта (varchar)
    2. Продукт
    • id продукта (integer, primary, auto increment)
    • название продукта (varchar)
    3. Единица измерения (добавил для примера, не обязательно)
    • id единицы измерения (integer, primary, auto increment)
    • название единицы измерения (varchar)
    4. Элемент рецепта
    • id рецепта
    • id продукта
    • id единицы измерения
    • количество продукта в указанных единицах измерения (decimal)

    В последней таблице можно сделать составной PRIMARY (id рецепта, id продукта), а можно добавить еще отдельный PRIMARY автоинкрементный, а указанный выше составной ключ сделать просто UNIQUE.
    Ответ написан
    Комментировать
  • Как лучше устроить базу данных?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Увеличивать количество столбцов до бесконечности - bad design.
    Делать отдельные таблицы на разные виды товаров - получше, но не гибко.

    я бы сделал 4 таблицы:

    1. товары
    id_товара, id_категории, название товара

    2. свойство
    id_свойства, название свойства

    3. значение свойства у товара
    id_товара, id_свойства, значение

    4. возможные свойства категории
    id_категории, id_свойства

    получится достаточно гибко и масштабируемо
    Ответ написан
    1 комментарий
  • Как ускорить получение данных с АПИ?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    @sochi-russia
    у сайта нет базы данных.

    сделайте. не умеете - научитесь. не хотите учиться - наймите профессионала.
    объяснить как из php работать с базой данных - явно выходит за рамки вопроса на тостере.
    материала в сети море.

    php.net/manual/ru/intro.mysqli.php
    www.mysql.ru/docs/man/Reference.html
    Ответ написан
    2 комментария
  • Может ли один хороший веб-разработчик заменить команду?

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

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

    В третьих - вопрос рисков. Один человек может заболеть, уволиться, умереть наконец.
    Команда и распределение обязанностей страхует эти риски.

    Если говорить про приведенный пример в виде сайта Аэрофлота - мой опыт работы с enterprise компаниями, говорит что задачка "нам нужно сделать новый баннер на главной странице" оформляется в виде небольшого ТЗ страниц на 70-80, включает в себя предварительную аналитику, 5-6 вариантов дизайна, исследования фокус групп, - и это все не говоря о юридической части работы. Сможет ли это все сделать 1 человек за приемлемое для заказчика время - ...
    Ответ написан
    1 комментарий
  • Правда ли что программистам навязывают определенные мысли?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    1)обязательно надо знать математику алгоритмы и тд(даже если это не используется)

    Если хочется выйти за рамки дешевой рабочей силы - да.

    2)надо работать бесплатно на первых порах

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

    3)создавать open source проекты бесплатно чтобы показать всем свой код

    Скорее нет

    4)всегда думать о работе даже по выходным и тд

    Если хочется выйти за рамки дешевой рабочей силы - ДА.

    UPD:
    Реальность такова, что если вы хотите выйти за рамки дешевой рабочей силы - у вас ровно 2 способа это сделать:
    а) вы можете основать собственное дело
    b) вы можете в чужом деле вырасти из человека который пишет код, в партнера который решает проблемы бизнеса ( что в конечном счете эквивалентно предыдущему пункту)

    И то и другое подразумевает что вы перестаете разделять свою жизнь и работу.
    Вы, это и есть то дело, которым Вы занимаетесь. 24/7/365.
    И это к слову сказать справедливо для практически любой сферы, не только IT.
    Ответ написан
    11 комментариев
  • Кто поможет с кодом на PHP?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    вы реально считаете что кто-то будет вглядываться в пережатую картинку где светло-серым по темно-серому написан код? выложите на pastebin хотя бы.

    ну и стандартный вопрос для отладки - т.к форму вы не показали, покажите что выводит print_r($_POST)
    Ответ написан
    2 комментария
  • Какую структуру выбрать для базы данных?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Не очень понял описание, с живыми примерами было бы понятней.
    Модификации у всех товаров одинаковые?
    Т.е условно - у всех товаров модификация №1 - цвет, значение 1 - красный, 2 - синий итд?

    В таком случае храним 5 табличек - справочников с расшифровкой значений модификаторов.
    В таблице товаров храним 5 полей со значениями этих модификаторов
    Ответ написан
  • Что это и зачем нужно?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Что не понятного в надписи DDoS protection by Cloudflare ?
    Ответ написан
    Комментировать
  • А как вы отправляете email с сайта?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Ответ написан
    Комментировать