• Как реализовать парсер товаров из интернет магазина средствами PHP?

    Mandor
    @Mandor
    1. Скачиваем главную страницу (или другую стартовую, если нужная информация находится не на главной).
    2. Парсим регулярками нужую нам информацию. Можно парсить не регулярками, а загрузить страницу в какой-нибудь html-парсер и получать от него данные в виде тегов.
    3. Информацию полученную регулярками кладем в базу.
    4. Парсим либо регулярками либо через внешнюю библиотеку html-парсера ссылки на другие страницы.
    5. Если ссылки нам подходят (не ведут на внешний сайт и другие бесполезные для нас страницы) - переходим по ним рекурсивно. Далее повторяем цикл с начала (только парсим не главную, а ту на которую перешли).

    Для обновления инфы на своем сайте запоминайте исходные id данных (ну или что-нибудь другое вместо id), и если такие записи в вашей БД уже есть - обновляйте их.
    Ответ написан
    1 комментарий
  • Как правильно сравнить время в цикле?

    bingo347
    @bingo347
    Crazy on performance...
    Если start > end то промежуток содержит полночь, в этом случае надо проверять, что текущее время входит либо в промежуток от start до полуночи либо от полуночи до end
    Ответ написан
    2 комментария
  • Как отдавать веб приложение Angular 2 (или React) по частям?

    @SergeyBugai
    Для этого существует lazy loading.
    В роутах нужно писать что то типа этого
    { path: '',
        loadChildren: './view/view.module#ViewModule'
        //component: ViewComponent
      }


    Вот чтатья не плохая blog.dmbcllc.com/angular-2-lazy-loading
    Ответ написан
    Комментировать
  • Знания Junior php разработчика?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    что должен знать идеальный джуниор (мое личное мнение):

    - Сетевой стэк. Нужно иметь хотя бы базовое представление о том как с сервером общаются. Ну то есть не нужно лезть в дебри, но понимать что такое HTTP или чем TCP от UDP отличается - нужно. В целом это пара часов чтения википедии.
    - GIT или любая другая распределенная VCS. Базовые навыки, что бы хотя бы понимал что есть git revert или git rebase, что такое фичабрэнчи и примерное представление как это работает и зачем надо.
    - Базовые основы unix. Ну то есть что бы не пугаться таких вещей как ssh хотя бы.
    - PHP. Без этого никуда. Он должен понимать что такое слабая динамическая типизация (не заучивать табличку кастов типов, а понимать плюсы и минусы, такая же история с приоритетами операторов - не заучивать а знать как избегать проблем с чтением кода)
    - Понимать что код чаще читают чем пишут, а потому не экономить 5 минут на написании кода, а писать так, чтобы сэкономить 30 минут человеку, разбирающемуся в куске кода.
    - Знать базовые вещи в плане безопасности. XSS и как защищаться, SQL инъекции и как защищаться, CSRF, MITM. Понимать что такое NDA, что данные пользователей - секретная информация. Как хэшировать пароли (не md5 а password_hash) и почему это важно.
    - Знать SQL. Глубоких знаний не требуется, нужно лишь понимание того, что такое нормальная форма, желательно разобраться с вопросом денормализации данных. Идеально иметь хотя бы базовые представления о том как работать с NoSQL решениями.
    - Процедурное программирование: почему глобальные переменные порождают сложность, что такое состояние, как можно использовать классы для изоляции состояния и т.д. Инкапсуляция. Инварианты, пост/пред условия, сохранение целостности...
    - Разделение ответственности. Это один из важнейших принципов, и упрощать все это до "mvc фреймворк" слегка неправильно. Вы должны понимать что от чего отделяете и главное зачем.
    - Автоматические тесты. Джуниор должен знать что это такое и иметь хотя бы минимальный опыт их написания. Должен понимать разницу между юнит и интеграционными тестами. Быть знакомым с пирамидой тестирования.
    - Уметь решать стандартные задачи не задавая слишком много вопросов. Например регистрацию пользователя по email-у вы должны написать, или авторизацию через соц сети, или комментарии, или новостную ленту.
    - Уметь дебажить. xdebug, blackfire и тд.

    В целом где-то за годик весь этот список можно влегкую покрыть с нуля.

    p.s. Я в списке специально не указывал ООП, поскольку всеравно первые пару лет у разработчиков выходит процедурщина на классах. Это не плохо, но того что в моем списке более чем должно хватать для решения стандартных задач. Но термины вроде "инкапсуляция/полиморфизм/наследование" требуются в обязательном порядке подавляющем количеством интервьюверов, а стало быть знать это надо. Единственное что - рекомендую в свободное время глубже погрузиться в этот вопрос а не тупо заучивать формулировки.

    Так же вещи вроде docker джуниорам знать не обязательно просто потому, что их врядли допустят сходу к управлению инфраструктурой. А так пару неделек на изучение и вперед.
    Ответ написан
    12 комментариев
  • Как написать простой слайдер с автопрокруткой?

    @void01
    чтото не вижу я там слайдера
    увидел -)
    такую фигню можно даже на чистом CSS сделать

    UPD
    https://jsfiddle.net/zcqzzzn4/
    не стал запариваться с красотой и точными таймингами -) просто идею донести
    Ответ написан
    Комментировать
  • Как стать спикером по фронтенду?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Но у меня вопрос, как люди становятся этими самыми спикерами?


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

    Собственно никакой магии. Либо просто случайно кто-то попросит что-то в духе "слушай, может выступишь?" либо сам.

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

    Тем более по фронтэнду. Там сейчас ситуация такая что большинство не очень опытные разработчики. И что-то интересное им рассказать и полезное более чем легко.
    Ответ написан
    Комментировать
  • Можно ли компилировать приложения ios ( ionic / cordova ) на ноутбуке НЕ mac ( а на обычный поставить macOS )?

    @WayMax
    Скачайте с торрента готовый образ установленной OS X для VMware и работайте в виртуалке OS X.
    Не надо никаких хакинтошей и танцев с бубном.
    Ответ написан
    Комментировать
  • Простая библиотека на чистом javascript для изучения внутренностей?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    Скромно подсуну один из своих плагинов: ion.sound.js - GitHub
    Ответ написан
    Комментировать
  • Простая библиотека на чистом javascript для изучения внутренностей?

    backbone.js
    underscore.js

    комментариев больше чем кода, наслаждайся :)
    Ответ написан
    2 комментария
  • Как укрепить знания Node.js?

    Не думаю что стоит делать работу бесплатно, даже если цель набраться больше опыта. Даже обладая большим опытом в какой либо сфере, при выполнении определенной работы придется познать много нового. Мой совет, развиваться и потихоньку делать свой какой нибудь проект, например сайт в любой отрасли деятельности, с пользователями, интересным функционалом (которого нет на сайтах подобного типа), если опыта совсем мало то делай копию схожего по твоей задумке проекта, но на свой лад, главное чтобы тебе было интересно и ты не забил бы через пару недель, в тоже время ищи проект, не обязательно на иностранных биржах, для начала пойдут и русские заказчики, можешь снизить стоимость работы, но никак не бесплатно. Тот же самый телеграм бот, или простенький сайт, предлагай заказчику свой стек разработки. В процессе ты получишь необходимые знания, будь это твой проект или проект заказчика. Думаю мой ответ поможет тебе.
    Ответ написан
    Комментировать
  • Как оптимизировать плавающий блок для сайта, чтобы он не дёргался?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    Вы неправильно спроектировали такую штуку.
    Правильный подход - в нужные моменты переключать у блока position: absolute на position: fixed и обратно.

    Двигая блок на чистом JS невозможно добиться абсолютной плавности кроссбраузерно.
    Ответ написан
    Комментировать
  • Какова производительность angular 1.5 с es6+babel в веб-приложении?

    @lega
    Если вы будете перебирать большие циклы, то babel с полной совместимостью может быть медленнее в 100 раз (на этих циклах), но в веб приложениях такое не часто, поэтому разница не должна быть заметна.
    Ответ написан
    Комментировать
  • Какова производительность angular 1.5 с es6+babel в веб-приложении?

    miraage
    @miraage
    Старый прогер
    Разница между es6-to-es5 (ведь в любом случае транспайлинг будет, ввиду ограниченной поддержки es6 на текущий момент) vs es5 по производительности будет ничтожной, по сравнению с тем, если допустить архитектурную ошибку в приложении.
    Я бы не парился по этому поводу воооооообще.
    Ответ написан
    Комментировать
  • Какова производительность angular 1.5 с es6+babel в веб-приложении?

    @k_sharonov
    Помог? Отметь решением!
    Так babel переписывает весь код из ES6 в ES5, разве нет? Если и есть смысл писать на es6+babel, то только для того, чтоб потом, когда браузеры полноценно будут поддерживать ES6, можно было бы не использовать babel.
    Ответ написан
    Комментировать
  • Как сделать сборку комплектации кухни на сайте?

    Stac
    @Stac
    Вот тут есть готовый конструктор кухонь.
    Мы планировали его использовать в одном проекте. Проект не состоялся, поэтому о реальном опыте работы с конструктором не расскажу.
    Ответ написан
    2 комментария
  • Как заказчики относятся к react native?

    Murmurianez
    @Murmurianez
    JavaScript Developer
    Хочешь сразу на все платформы и дёшево (и достаточно простой проект), готов к тому что функционал может быть порезан из-за невозможности реализации? ReactNative

    Много бабла и нужно бескомпромиссное качество - только native.

    Думаю, этих двух предложений хватит чтоб говорить с заказчиком =)
    Ответ написан
    Комментировать
  • Как открыть шлагбаум?

    gbg
    @gbg Куратор тега Arduino
    Любые ответы на любые вопросы
    Надо разбираться, есть ли у шлагбаума внешний интерфейс и какой он.
    -у него может быть последовательный интерфейс для интеграции в СКУД
    -у него может быть контактный интерфейс "открыть - закрыть"
    -интерфейс по радио, с использованием брелка
    -интерфейса может не быть или он может быть недоступен.

    Я думаю, вас интересует вариант с брелком.

    Вы можете разобрать брелок и подключиться к его кнопкам.
    Либо отреверсить радиопротокол. Тут понадобятся навыки использования SDR.

    Задача решаема полностью.
    Ответ написан
    7 комментариев