• Как получать данные с сайта?

    konst20
    @konst20
    Программист, преподаватель, немного электронщик
    Ловите самую полную версию получения данных со страницы с использованием curl (ф-я webPageGet() , можно просто скопипастить отсюда ):
    https://bitbucket.org/kostyantyn_kyyashko/sf.notte...
    Ф-я возвращает не только контент страницы, но и заголовки, и куки

    Полученный контент парсите с помощью simple_html_dom
    https://simplehtmldom.sourceforge.io/

    Есть и другие варианты парсеров, но они вам со старта не зайдут, да и смысла нет.
    Ответ написан
  • Определенное RDS (запросы в секунду) в сервере очередей?

    konst20
    @konst20
    Программист, преподаватель, немного электронщик
    Средствами Gearman этого сделать, разумеется, нельзя - это явно внешняя по отношению к gearman задача.
    Главная идея - запустить весь поток через какой-то регулятор.
    Как бы я сделал.
    1) есть мастер-воркер, который добавляет задачи на сервер очередей на запрос к внешнему АПИ
    2) клиенты кидают в очередь не задачи на запрос к внешнему АПИ, а задачи на запрос к этому самому мастер-воркеру
    3) мастер-воркер, получив задачу, смотрит, не превышен ли поток, и, если превышен, ждет, не превышен - кидает в очередь задачу на запрос к внешнему АПИ
    Ответ написан
  • IP тв на даче. Какой канал нужен? Какое оборудование?

    konst20
    @konst20
    Программист, преподаватель, немного электронщик
    5 мегабит на один ТВ
    У меня есть Aura HD - показывает, для IPTV хватит, но если есть поновее приставки - лучше их. Приставка по архитектуре и сути - это планшет без экрана, поэтому смотрите характеристики ЦП, объем ОЗУ
    Нужно будет привыкнуть к тому, что каналы переключаются существенно медленнее, чем на обычном ТВ
    Ответ написан
  • Как запускать параллельные задачи на PHP?

    konst20
    @konst20
    Программист, преподаватель, немного электронщик
    Лихая задача.
    Что бы вы ни делали, все будет ресурсозатратно, а ну ка, у вас в онлайне 1000 чел запустили по нескольку задач, которые делают по нескольку тысяч действий ))
    Не вижу проблемы в том, чтобы запустить много воркеров. Вы можете использовать вот эту мою разработку для автоматического запуска и остановки воркеров, там есть класс, из которого можно управлять воркерами.
    https://habrahabr.ru/post/212761/
    Алгоритм: появилась задача - бросаем ее на сервер очередей - запускаем один воркер. Задача выполнилась - останавливаем один воркер.

    Воркеры можно располагать на разных серверах. Можно мониторить, на каком сервере по скольку воркеров запущено, и догружать свободные.
    Таким образом, задача с помощью Gearman превращается в распределенную.
    Сам по себе Gearman ресурсов почти не потребляет. Ресурсы будут потреблять воркеры, но от этого вам никак вообще не уйти - воркеры ведь решают задачу, чем бы вы ни решали задачу, вы потребите те же самые ресурсы.

    Еще. Вам не нужно для распределения задачи несколько Gearman. Вам нужен один сервер очередей Gearman, на котором регистрируются воркеры с разных серверов. Вообще введите в курс задачи подробнее где-то в личке, я смогу помочь более предметно.
    Ответ написан
  • Почему не добавляется фоновая задача gearman?

    konst20
    @konst20
    Программист, преподаватель, немного электронщик
    Из предположений:
    1) переименуйте задачу, видел такие грабли
    2) где-то в процессе добавления задачи процесс падает. Отмониторьте

    Вопрос: чем вы смотрите очередь?
    Ответ написан
  • Как перенести сайт на поддомен, сохранив URL?

    konst20
    @konst20
    Программист, преподаватель, немного электронщик
    Варианты:
    1) в настройках домена указать перенаправление, это в панели управления доменом
    2) на домене .рф оставить единственный php файлик примерно такого содержания
    header: "Location: http://<новый домен>";
    Чем удобен способ 2? Вы можете до перенаправления определить все что вам нравится: город/страну/посмотреть куки - и записать это в БД, получив статистику.
    Ответ написан
  • Как добавить переменную в суперглобальный массив $_SERVER?

    konst20
    @konst20
    Программист, преподаватель, немного электронщик
    Давайте называть вещи своими именами.
    $_SERVER - это переменная
    внутрь нее нельзя добавить переменную
    Но $_SERVER - это массив, поэтому можно добавить значение внутрь массива с каким-то ключом.
    Эта переменная уже существует независимо от воли программиста, в массиве $_SERVER есть какие-то ключи и значения. И, конечно же, можно изменять этот массив как нравится.

    Изменить значение:
    $_SERVER['DOCUMENT_ROOT'] = 'foo';
    $_SERVER['PROTOCOL'] = 'bar'


    Добавить пару "ключ-значение":
    $_SERVER['bar'] = '132';
    $_SERVER['foo'] = 111;


    Удалить значение:
    unset($_SERVER['DOCUMENT_ROOT']);
    или грохнуть весь массив $_SERVER
    unset($_SERVER);

    Все как с обычным массивом. Туда же все суперглобальные массивы, коих есть несколько:
    php.net/manual/ru/language.variables.superglobals.php

    Кстати, "суперглобальные" не означает никакой магии. Просто при использовании суперглобальных переменных внутри ф-и не нужно писать вот такого например
    global $_SERVER
    global $_POST
    Ответ написан
  • Как посчитать свою профессиональную стоимость?

    konst20
    @konst20
    Программист, преподаватель, немного электронщик
    Тренды и текущее состояние зарплат можно отслеживать, например, вот тут
    jobs.dou.ua/salaries
    Это Украина, но уровень актуален и для России, с небольшими плюс/минус.

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

    konst20
    @konst20
    Программист, преподаватель, немного электронщик
    Хоровиц и Хилл - это книга по радиотехнике
    Автор, уточните вопрос - интересует именно электротехника или радиотехника/электроника?
    Ответ написан
  • Насколько сильно уровень сигнала влияет на скорость 3G или что дает 3G антенна?

    konst20
    @konst20
    Программист, преподаватель, немного электронщик
    У меня не зависит от уровня вообще, если есть сигнал. Оттого, что сигнал мощнее, скорость не возрастает.
    Я применяю антенну за городом - там без антенны уровень меньше 1 палки, то есть менее -100dBm, связь срывается. В моем случае антенна влияет не на скорость - на устойчивость связи за городом.

    Украина, провайдер "Интертелеком"
    Ответ написан
  • Как узнать, использует ли сайт API?

    konst20
    @konst20
    Программист, преподаватель, немного электронщик
    Это неправильный вопрос.
    Вы можете узнать снифферами:
    - какие JS библиотеки/фреймворки используются
    - веб-сервер (Apache/Nginx/IIS)
    - иногда платформу (Debian/Fedora/Windows etc.)
    - иногда язык серверной части (PHP/node.js etc.)
    - иногда серверный фреймворк (Yii/Zend etc.)
    - практически всегда - CMS, если она есть конечно (Wordpress/Joomla/Magento etc)
    Используйте вот такие снифферы (это расширения для Chrome):
    Wappalyzer
    Ghostery
    Ответ написан
  • Как получить из 7,5-8 Вольт 5 Вольт, не менее 6 Ампер?

    konst20
    @konst20
    Программист, преподаватель, немного электронщик
    Если просто снизить напряжение, возьмите последовательно несколько обычных выпрямительных диодов. На одном диоде падает 0,4-0,7 Вольт (в зависимости от диода), и это падение напряжения более-менее стабильно.
    Несколько диодов последовательно дадут падение напряжения:
    один диод = 0,4 Вольт например, тогда 7 диодов последовательно = 0,4*7 = 2,8 Вольт падения напряжения.
    Диоды на ток не менее 10 Ампер.
    Количество последовательно соединяемых - подберите для получения нужного напряжения, начинайте с бОльшего количества, уменьшая.
    диоды можно соединять параллельно. Это не влияет на напряжение, но каждый будет греться меньше.
    И стОят такие диоды копейки и есть везде.

    Для оценки нагрева щупайте рукой. очень горячий - не критерий, рука не выдержит и 60 градусов, а для диода это ок.
    Если не шипит при касании влажной рукой и не тянет горелым - это ок, более не заморачивайтесь
    Ответ написан
  • Имеет ли право php скрипт по умолчанию читать-записывать в файл?

    konst20
    @konst20
    Программист, преподаватель, немного электронщик
    Постановка вопроса некорректная.
    Скрипт имеет право на все что угодно, но делать это самое все что угодно он будет от имени пользователя веб-сервера, www-data например (это типично для debian)

    100% - если вы в скрипте создаете файл, например, file_put_contents('my_file.txt', 'hello world'), то с файлом 'my_file.txt' ваши скрипты смогут делать все что угодно.
    99% - вы сможете читать любые файлы
    А вот если вы попробуете записать в уже имеющийся файл или папку, то тут все зависит от того, какие права и кто создал эти файл/папку.

    .htaccess тут вообще ни при чем
    Ответ написан
  • Почему не работает php код?

    konst20
    @konst20
    Программист, преподаватель, немного электронщик
    Конкретизируйте вопрос.
    Что значит "не работает"? Fatal Error, или другие ошибки, или не работает логика, то есть подали то-то и то-то, ожидали вот это, а на выходе - совсем другое.

    Белый экран - это 99% отключен вывод ошибок на уровне php.ini. Включите их, гугл в помощь - "php отображение ошибок"

    Я бы сделал вот что.
    1. Убедился. что все ОК с путем к файлу
    2. проверил работу кусков кода между if-ами
    3. и потом погрузился бы в раздумия, потому как все остальное в коде очевидно

    P.S. сори, а зачем эти пляски с fopen и пр.? Есть же file_get_contents() без всяких $fh

    P.P.S. и да, раз такое веселье, разберитесь с проверкой isset($_POST['Check']), иначе код будет сыпать нотайсы
    Ответ написан
  • Какой парсер HTML на PHP выбрать?

    konst20
    @konst20
    Программист, преподаватель, немного электронщик
    Simple HTML DOM
    Удобный скрипт, но маленький выбор селекторов


    Простите, не соглашусь
    библиотека понимает, например, такое
    $css = "div.class1 p.class2 a" - элемент a, который внутри p class="class2", который внутри div class ="class1"
    при этом между указанными элементами могут быть еще элементы.
    Селекторы библиотека понимает любые, с чего вы взяли "маленький выбор селекторов".
    С Simple HTML Dom есть некоторый гемморой на старте, также нужно отслеживать ситуацию, когда элемент не найден, но нареканий у меня нет.
    Ответ написан
  • Каков план личностного развития PHP программиста с нуля?

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

    Важные моменты
    веб-программирование на базе PHP - это стек технологий: PHP/SQL/CSS/HTML/JS + Linux хотя бы азы + знание важных инструментариев (FTP, Git/SVN, работа с БД)
    чистый PHP плюс даже все перечисленное выше - не особо нужно и не интересно. Нужно знание конкретных платформ: фреймворков и/или CMS. (Почитайте вакансии на Хантиме по запросу PHP, обратите на это внимание). Навскидку самые востребованные (спорно конечно): Yii фреймворк, CMS Битрикс и Wordpress.

    Как начать?
    Смело на амбразуру!
    1) Установите у себя рабочую среду LAMP/WAMP - Apache, PHP, MySQL. Для этого возьмите пакет Denwer или OpenServer, что больше понравится. Сделайте Hello World просто как HTML, потом на PHP, потом алертом на JS. Порадуйтесь.
    Установите все редакторы кода. Кто там вам будет рекомендовать блокнот или notepad++ - не слушайте. Варианты: если машина мощная (4+ Гб памяти и пр.), берите редактор phpStorm (для php/html/css/js). Если не очень мощная - берите komodo edit. Для работы с БД инструмент встроен в Denwer/OpenServer, это phpMyAdmin
    2) Идеально, если вы договоритесь сделать кому-нибудь сайт. Бесплатно или за небольшую плату. Если нет - сами себе поставьте задачу: сайт про котиков/про детей etc. Красивый сайт, с галереей, с эффектами, с материалами
    Возьмите CMS Wordpress и попытайтесь сделать сайт у себя на компьтере. Настоящий сайт, во всей красе, как вы хотите. Правьте его, смотрите код, экспериментируйте. Сообщество огромное, вы найдете ответы на все свои вопросы
    Потратьте чуть денег, купите себе домен и хостинг, залейте сайт на хостинг.
    Порадуйтесь. Похвастайтесь.
    3) Ищите в сети тестовые задачи и решайте их, изучайте материалы собеседований, вопросы - их много.
    4) Зарегистрируйтесь на odesk.com под каким-то фейковым email, пройдите тесты по PHP, CSS, HTML, jQuery, Wordpress, а во время прохождения делайте скриншоты вопросов. Потом изучайте эти вопросы, ищите ответы, далеко не обязательно на все. Тесты вы, конечно, не пройдете, но вам нужны только вопросы.
    5) Постоянно следите за вакансиями "PHP-программист", "веб-программист" на Хантиме, на hh.ru и подобных ресурсах.

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

    Вот как раз на полгода.
    После этого у вас появится масса информации, и дальше вы сами сориентируетесь.
    Ответ написан
  • Как подключить wifi роутер в существующую сеть?

    konst20
    @konst20
    Программист, преподаватель, немного электронщик
    Просто воткните провод сети в LAN порт роутера. И все.
    Ничего настраивать в роутере - режим точки доступа и пр., не нужно.
    Все ноутбуки, соединившиеся по Wi-Fi, увидят сеть, и ноутбуки будут видны из сети, Wi-Fi будет чем-то вроде радио-патчкорда.

    Не очень представляю ситуацию, если пересекаются адресные пространства DHCP роутера и сети - возможен ли кофлиет IP-адресов, поймет ли DHCP роутера такуюситуацию, но это не ваш случай.
    Ответ написан
  • Простейшая очередь задач на PHP?

    konst20
    @konst20
    Программист, преподаватель, немного электронщик
    А на том же Gearman нужно писать гору лишнего кода

    Это еще почему?
    $client = new GearmanClient();
    $client->doBackground(<function>, <data>);

    Как раз пара строк кода.
    Ответ написан
  • Стоит ли соваться в мир IT человеку с плохим зрением?

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