• Как сделать выборку через hasMany?

    qonand
    @qonand
    Software Engineer
    во первых: Вы неудачно подобрали названия таблиц и полей в них (и соответственно моделей)
    1. shop_city - в комментария Вы пишите что это список филиалов, а судя по названию просто таблица связей. Уж лучше заменить ее название на что-то более подходящее, например (первое что пришло в голову): shop_office
    2. shop_product_price - по названию можно сказать что это цены товаров в магазине, но если вникнуть, то оказывается что это цены товаров в ФИЛИАЛАХ МАГАЗИНА.

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

    в третьих: когда Вы наведете порядок в связях, мы можете получить необходимую информацию либо с помощью запроса
    Product::find()->with(['<название связи с филиалом>.<название связи филиала с магазином>'])

    либо, если Вам нужно вывести товары у которых есть все связи
    Product::find()->joinWith(['<название связи с филиалом>.<название связи филиала с магазином>'], true, 'RIGHT JOIN')
    Ответ написан
    1 комментарий
  • Как достать src внутри тега iframe?

    profesor08
    @profesor08 Куратор тега PHP
    let e  = document.querySelector(".iframe-holder iframe");
    
    console.log(e.src);
    console.log(e.getAttribute("src"));
    Ответ написан
    1 комментарий
  • Почему Google ругается сам на себя в Google PageSpeed Insights по поводу шрифтов?

    @TheNYT
    Скажу вам честно, гугловский спидтест иногда такой маразм выдает, что на 100% практически любой сайт невозможно оптимизировать. Главное, чтобы вас устраивало время загрузки. Вспомните принцип Парето 20/80. Проверьте еще другими оптимизаторами, исправьте те ошибки, которые съедают больше всего скорости, это такие как не оптимизированные картинки, не сжатые css и прочее. Когда останутся задания "для перфекционистов", чтобы все было идеально, то знайте, что как-то значительно повысить скорость загрузки не удастся, а вот времени вы убьете на это с лихвой.
    Ответ написан
    1 комментарий
  • Где взять опыт Python, как попасть на стажировку?

    solotony
    @solotony
    покоряю пик Балмера
    Что-то объяснять рекрутершам бесполезно - у них стоит "фильтр",через который они обязаны прогнать всех претендентов. Для них что Python, что Perl, что Ruby - все пустые слова. Твоя задача на начальном этапе - это пробиться через.

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

    Естественно что все это будет бесполезным, когда ты пойдешь к конкретному начальнику отдела. Тут надо будет говорить о том что умеешь, что знаешь и он уже сможет понять что навык проектирования СУБД от языка не сильно зависит.
    Ответ написан
    Комментировать
  • Где взять опыт Python, как попасть на стажировку?

    opium
    @opium
    Просто люблю качественно работать
    Ну вы просто не говорите что вы фрилансер и показывайте проекты сделанные на фрилансе, ну или кому нибудь напишите проект за так , мне например)))
    Ответ написан
    Комментировать
  • Возможен ли план самообучения WEB разработке?

    @programrails
    А я думаю, что настоящее развитие может быть только по плану. Однако, ваша самая главная задача сейчас - это хорошо учиться в школе. Выучите веб, но ценой завала школы - глупость неимоверная, преступная. Не надо так спешить, детство даётся один раз в жизни. Не вебом единым жив человек. Не следует думать в отношении некоторых школьных предметов, что "это мне не понадобится". Понадобится всё. Начать с веб можно и с 18 лет - вполне достаточно. Если уж так неймётся - то забросьте пока до 18 лет к чёрту всю эту веб-разработку и основной упор сделайте на изучение английского языка. Станьте асом в английском языке и тогда ваши (российские) конкуренты (со временем) останутся далеко позади - потому что подавляющее большинство российских разработчиков позорно плохо (до смешного плохо) знают английский. Хороший английский - это секретный ключ к успеху в программировании. Не имея навыка смотреть американский фильм с оригинальной дорожкой и понимать (на слух) хотя бы половину - хорошим программистом не стать. Во-первых, бОльшая часть веб-документации - только на английском. Во-вторых - никогда не читайте англоязычную документацию в русском переводе (книги, статьи) - ничего не поймёте правильно - только в оригинале. Потому что перевести такое невозможно - можно только заново написать на другом языке. В-третьих - будете в Турции/Египте летом - сможете больше пообщаться при необходимости.

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

    Когда вам исполнится 17-18 - вообще забудьте про веб и все силы бросьте на поступление в ВУЗ. И лишь после поступления можно начинать с вебом. Да, и забудьте про компьютерные игры. Прямо начиная с сегодня. Совсем. Навсегда.

    Все предыдущие советы даны без учета возраста задающего вопрос. Эти ответы рассчитаны на человека от 18 лет возрастом. Мой же ответ - именно для 14-летнего.
    Ответ написан
    26 комментариев
  • Что обязательно нужно знать безопаснику?

    edinorog
    @edinorog
    Троллей не кормить!
    Не надо ровнять все вузы под одну гребенку. Если вы собираетесь поступать в вуз ... и у вас до сих пор вопросы подобного плана ... Боюсь вы уже потеряли массу времени. Дальше будет больше
    Ответ написан
    Комментировать
  • Что лучше использовать?

    @BorisKorobkov Куратор тега MySQL
    Web developer
    Если сомневаешься - используй InnoDB и внешние ключи (не обязательно, но в большинстве случае желательно).
    Ответ написан
    3 комментария
  • Как парсить без бана?

    JabbaHotep
    @JabbaHotep
    Пытаюсь минимизировать ручную работу
    Для большинства сайтов подойдет закупка прокси, но есть и такие сайты которые уже забанили пулы известных облачных сервисов (линода там и прочие digitalocean), поэтому гарантированно рабочего решения для всех сайтов с помощью прокси нет.
    Также на проблемных сайтах помогает максимально копировать запросы из реального браузера, все хедеры, рефереры и тому подобное. Также в практике были случаи когда парсинг прерывался из-за кук, в этом случае можно чистить куки. Паузы подбирать, например, nike нещадно банит, но если сделать паузы 40-80 секунд, то можно отпарсить с одним прокси без проблем.
    В общем, каждый кейс надо разбирать отдельно и принимать решение наиболее подходящее.
    Ответ написан
    Комментировать
  • Как парсить без бана?

    @Verz1Lka
    Web scraping expert
    Согласен с предыдущим пользователем.
    Хотите парсить в промышленных масштабах - покупайте прокси. Можно покупать общие с другими пользователями прокси, можно выделенные. Торовские ноды банят почти на первом этапе, если начинают защищать сайт.
    Да, можно так-же использовать разные cookie сессии. Хорошее решение - отдельная сессия для каждого прокси. Однако на практике могу сказать, что сайты редко анализируют именно поведение пользователя, чтоб детектить бота, это скорее уже какие-то крутые специальные антискрапинговые системы могут себе позволить.
    Ответ написан
    Комментировать
  • Как парсить без бана?

    @kzoper
    Думаю что надо не искать прокси, а покупать.
    Ответ написан
    2 комментария
  • Как парсить без бана?

    zamboga
    @zamboga
    Бизнес-аналитика, фин. моделирование, дашборды
    Я юзаю 2 варианта в зависимости от задач:
    1. Собственные прокси, поднятые на VPS (VDS).
    2. Прокси через TOR-ноды.
    Ответ написан
    Комментировать
  • Как парсить без бана?

    nightvich
    @nightvich
    ITman
    Юзаю tor через polipo.
    Ответ написан
    Комментировать
  • Как парсить без бана?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Парсеры палятся на том, что ведут себя как роботы. Люди не обходят все доступные ссылки, только некоторое подмножество без ухода на большую глубину. Чтобы не попасться, надо изобразить группу людей шарящихся по сайту. Для этого надо после разбора страницы входа парсить только две-три ссылки с неё, делать случайные паузы между запросами, потом сбрасывать принятые куки, менять user agent и прокси и парсить другие две-три ссылки. Естественно, прокси не должны быть публичными. Если вы могли найти и скачать их список, то разработчики защиты тоже уже его скачали.
    Ответ написан
    Комментировать
  • Почему не могу настроить скорость pagespeed?

    Kleindberg
    @Kleindberg
    Full stack
    Наверное не до конца или не правильно настроили плагин для кэширования. Попробуйте плагин WP Rocket - на него Google PageSpeed Insights не ругается. Также интересно, что за блок такой, который нужно скрывать от гугла. Не проще его оптимизировать?
    Ответ написан
    Комментировать
  • Не заполняется массив $_POST, что делать?

    Sanasol
    @Sanasol Куратор тега PHP
    нельзя просто так взять и загуглить ошибку
    type: "GET",

    Не заполняется массив $_POST, что делать

    13688021393561.jpg

    Еше лучше писать method, а не type.

    data: ({json: JSON.stringify({language: {func: "setLang", args: ["hjg"]}}) }),


    какая-то каша малаша.
    или JSON нормально делайте или отправляйте обычный массив/объект.
    В JSON php не понимает так-то сам по себе.
    Ответ написан
    1 комментарий
  • Как установить супервизор на сервер?

    jen-soft
    @jen-soft
    jen.soft.master@gmail.com, python/django
    установка:
    apt-get install suprevisor
    конфиг:
    sudo nano /etc/suprevisor/conf.d/my_site.conf
    пример конфигурационного файла для php
    https://github.com/JustinCarmony/PHP-Workers-Tutor...

    управление: (supervisor, supervisord, supervisorctl)
    логи
    cat /var/log/supervisor/supervisord.log
    живет ли supervisor
    pgrep -fl supervisor
    перезагрузка
    sudo supervisorctl reload
    состояние
    sudo supervisorctl status
    посмотреть лог работы (какие ошибки при запуске)
    sudo supervisord -n

    supervisor - будет следить что бы программа всегда работала, и в случаи падения перезапустит, после рестарта сервера так же запустит.
    crontab - если нужно что бы скрипт запускался каждый час/день/месяц,
    nohup - если нужно запустить программу в фоне, что бы она работала после закрытия терминала/ssh
    Ответ написан
    Комментировать
  • Почему не работает sql?

    rmfalx
    @rmfalx
    Попробуй в одну строку все написать. без переносов
    Ответ написан
    1 комментарий