• Есть ли какие хорошие сервисы защиты от парсинга?

    Maksclub
    @Maksclub Куратор тега Веб-разработка
    maksfedorov.ru
    ломать верстку, чтобы не было закономерностей...
    очень сильно доставляет, когда парсишь что-то и нет четких правил, чтоыб зацепиться...
    отсюда следует, что можно динамически добавить разные теги именно с содержимым... (может на SEO повлиять)

    также серверная защита — количество обращений с одного IP в секунду и прчоее

    Вот статья есть интересная:
    https://habrahabr.ru/post/234729/

    ...

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

    Например Авито как бы не боролось, постоянно появляется софт, который даже картинки с телефонами тащит без проблем...
    Ответ написан
    Комментировать
  • Какой выбрать язык и архитектуру для связки web + mobile?

    Maksclub
    @Maksclub Куратор тега Веб-разработка
    maksfedorov.ru
    Что вам мешает сделать бекенд на swift?
    Видел на одной из работ -- делали веб-сервис на Perfect ... фронт на Реакте пилили
    пилил его джун, так что там проблемки были... но все же
    Также: https://github.com/Zewo/Zewo

    а вот и статься вам на Хабре:
    Perfect — REST сервер на Swift
    Ответ написан
    6 комментариев
  • Авторские права на GitHub?

    Maksclub
    @Maksclub
    maksfedorov.ru
    Неужели за столько лет развития интернета в сети не появилось бесплатного качественного аналога платной CMS?

    Полно, можете начать с поисковой строки Google, из интернет-магазинов бы отметил Sylius на Symfony
    Для обычных сайтов отметил бы OctoberCMS на основе фреймоврка LAravel

    что понимается под авторскими правами на GitHub

    тоже, что и без Гитхаба, авторские права идут автоматичсеки на любую работу, созданную человеком, кроме тех участков, которые позаимствовал у других и это право не отделимо, другое дело есть еще имущественные права

    В чем логика выкладывать свой код на всеобщее обозрение

    Код выкладывают не только на обозрение, но еще и на совместную доработку (в силу специфики Github -- это же хостинг GIT, то есть каждый кто хочет улучшить -- может улучшить, и так происходит с тысячами проектов),
    у некоторых проектов 1000 разработчиков -- каждый может внести лепту, от этого проект развивается, нежели бы он превратился в какашку у автора, который бы им ни с кем не поделился и сам устал от него

    Или сервис наполовину коммерческий

    По разному бывает, кто-то выкладывает ядро (фрейм), а продукты на нем уже платные... это дает разработчикам иметь платформу дял своих проектов/жделать дополнения и всякое другое, создается ээкосистема (больше людей обращают внимание на продукт) и легче продавать уже продукты на нем.
    Примеры:
    российская JetBrains (есть своя платформа бесплатная, на основе которой Google сделал IDE AndroidStudio),
    CMS ShopScript (платная) сделана на фреймворке этjq же компании WebAsyst

    ...

    Для справки, Github -- хостинг GIT, то что вы там что-то смотрите/читаете -- побочные сервисы и результат популярноси этого сервиса, но не его главное предназнавчение, это в первую очередь инструмент разработки...
    да, ресь про такие вот странички с версиями, кто куда и как добавлял и рекдактирваол код:
    https://github.com/laravel/homestead/commit/627f92...
    Ответ написан
    Комментировать
  • Подключать файлы лучше через cdn на сайт? или через скачанные файлы?

    Maksclub
    @Maksclub Куратор тега Веб-разработка
    maksfedorov.ru
    нужно знать особенности работы того или иного парвила css/js для разных браузеров,
    вот например правило calc для css работает дял определенных браузеров и вы должны это учесть:
    htmlbook.ru/css/calc

    а вот filter в Explorer совсем не работает:
    https://webref.ru/css/filter
    5a5484d4e6fce642824716.png

    также учитывайте автопрефиксы, есть для этого даже инструмент:
    https://autoprefixer.github.io/ru/
    Ответ написан
  • Как отловить сессию при выполнении php скрипта через ajax-запрос?

    Maksclub
    @Maksclub Куратор тега PHP
    maksfedorov.ru
    поэтому задача стоит грамотно отлавливать параметр сессии, чтобы на самом сервере ее проверять. Как это можно сделать?

    if($_SESSION['admin']) // ну или как вы там проверяете на админа
    {
           var_dump($_SESSION['paramName']);
    }

    в данном случае код на аякс-запрос (и не аякс) отдаст значение парамтера 'paramName', который в сессиии только, если пользователь залогинен
    Ответ написан
    Комментировать
  • Как создать базу всех книг на сайте?

    Maksclub
    @Maksclub
    maksfedorov.ru
    чтобы и формат и новинки и отзывы —грузите с интернет-магазинов
    https://www.labirint.ru/books/
    https://book24.ru у них есть партнерка с XML выгрузкой
    Ozon отдает по АПИ,
    https://eksmo.ru/ (крупнейший издатель и правообладатель)
    Яндекс.Маркет (с ним намучиться только придется)

    с этих магазинов вычлените общие закономерности в параметрах книг
    нужно будет делать под крупных игроков разные парсеры,

    для категорий нужно иметь свой словарь, где у каждой категории будут ассоциации
    помимо категорий еще возможны проблемы с авторами:
    • А.Пушкин,
    • Александр Пушкин
    • Пушкин, Александр
    • Пушкин, А.С

    тут могут помочь сервисы типа https://dadata.ru/api/#clean

    для унификации книг есть ISBN
    Ответ написан
    2 комментария
  • Как без form передавать данные между PHP в виде POST (не используя JS)?

    Maksclub
    @Maksclub Куратор тега PHP
    maksfedorov.ru
    Используйте http-клиент на основе curl:
    Guzle

    или просто curl
    Ответ написан
  • Почему GridView не видит id?

    Maksclub
    @Maksclub
    maksfedorov.ru
    Нужно заменить:
    'key' => 'Review_ID',
    на:
    'key' => 'id'

    Как и сказал ранее можно переопределить:
    www.yiiframework.com/doc-2.0/yii-grid-actioncolumn...
    Ответ написан
  • Как отобразить GridView::widget виде?

    Maksclub
    @Maksclub
    maksfedorov.ru
    в случае с yii\db\Query() возвращается массив, а не массив объектов, нужно поменять

    5a52aa62250c1951180081.png

    www.yiiframework.com/doc-2.0/guide-output-data-wid...
    Ответ написан
  • Что такое frontend окружение?

    Maksclub
    @Maksclub
    maksfedorov.ru
    Окружение — необходимые программы, операционная система для основной работы, дополнительные помощники (дополнители, сборщики, интерпретаторы и прочее) для работы фронтенда :)

    Сейчас в любой не понятной ситуации разворачиваю виртуалку с php, node, mysql, nginx, git, mongo, posgres на борту и вам советую

    Сейчас фронту нужно обязательно иметь Node.js и хорошую IDE (любую, на вашем месте взял бы Phpstorm или Pycharm. Так понял вы по Питону, но вот не знаю как в Pycharm с JS)

    Окружение: базовое
    • ОС с удобной консолью (MacOS, Linux), если вы на Windows — ставьте виртуалку с Linux, вам ооочень будет полезно работать только с ней, также для Windows нужен SSH-клиент, чтобы стучаться на свои проекты на виртуалке/удаленные
    • IDE чтобы можно было удобно работать, хорошая IDE возьмет кучу работы в виде сборки, тестирвоания и ускорения работы
    • Chrome Dev Tools (по кнопке F12 уже можно много чего. возможно нужны будут плагины для Vue/React)
    • GIT — мастхев, для того, чтобы вести проекты, участвовать в чужих и контролировать свою/чужую работу, для Windows вроде есть какие-то клиенты

    Окружение: софт
    • Настроенный веб-сервер (Nginx/Apache)
    • NodeJS (на ней работают все фронтенд решения)
    • NPM (идет с Node) для установки пакетов
    • SASS/LESS/PostCSS
    • Сборщики и автоматизаторы — кажется сейчас можно работать с одним Webpack
    Ответ написан
    Комментировать
  • Почему выдает 1 переменную и 6 раз?

    Maksclub
    @Maksclub Куратор тега PHP
    maksfedorov.ru
    внимательно смотрите на окончание объекта в теле цикла
    и вообще называть со слова get... нужно методы и функции ($noveltyMovies, $movie)
    Ответ написан
    Комментировать
  • Как получить имя роли пользователя?

    Maksclub
    @Maksclub
    maksfedorov.ru
    у пользователя может быть несколько ролей, потому и массив, если нужно одну или первую
    $userRole = array_keys(Yii::$app->authManager->getRolesByUser($user->id))‌​‌​[0]
    Ответ написан
  • Почему не находит класс из библиотеки при написании пакета (обёртки) для Laravel 5?

    Maksclub
    @Maksclub
    maksfedorov.ru
    А композер подтянул зависимости? То есть в папке vendor есть класс в папке и сама папка /vendor/begateway/ ?
    Вы походу этот свой пакет ставили не через композер и зависимости (begateway/begateway-api-php) не подтянули для него, на его физическое отсутствие и ругается программа

    • Либо добавьте зависмость в корневой composer.json composer require begateway/begateway-api-php:^4.0
    • Либо ставьте нормально свое решение через композер


    Такая же проблема и с другой подключаемой библиотекой, например Bugherd.

    Аналогично, если видите, что не найден класс -- идите и смотрите -- есть ли этот класс :) Ваш КЭП :)
    Ответ написан
  • Какую лучше всего базу книг использовать?

    Maksclub
    @Maksclub
    maksfedorov.ru
    Можно любой из топ5 книжных запарсить

    Кстати ваше приложение напомнило мне
    очень наглое предложение сделать такое детальное тестовое задание на должность джуниора:
    https://docs.google.com/document/d/17jn0PiBtkjfRX5...
    Ответ написан
  • Что закинуть в портфолио PHP-разработчику?

    Maksclub
    @Maksclub Куратор тега PHP
    maksfedorov.ru
    Создать гитхаб-профиль со своими модулями/компонентами/библиотеками/composer-пакетами

    • Проекты желательно не полными сайтами, а именно модулями, чтобы легче и понятнее было понять суть, а не пролистывать туеву хучу стандартного для фреймов кода
    • Код комментируйте, делайте максимально подробные описания и инструкции установки (какие миграции, какая версия пакета актуальная, как его подключить и как конфигурировать), кое-где и видео можно присобачить
    • Как вариант — сделать свой сайт, который бы более наглядно рассказал о ваших навыках, и более удобоваримо рассказал бы о ваших преоктах

    Неправильно: https://github.com/Maksclub/trendtech
    Правильно: https://github.com/Maksclub/parser
    Ответ написан
    3 комментария
  • Двойная цена битрикс?

    Maksclub
    @Maksclub
    maksfedorov.ru
    • Сделайте цену товара 1000 рублей, чтобы ничего не перекраивать в оформлении
    • Дополнительное поле: "Акционная цена" со значением, например 40 000
    • Добавьте поле к товару "Количество купивших" или поле "Сумма"
    • При покупке делайте +1 к количеству или +1000 к сумме , проверяйте поле не равно ли оно (или кол-ву купивших или сумме) нужному значению, если равно или больше -- запускайте рандомный выбор из списка покупателей

    ....................................................

    Вспомнил анекдот
    Решил купить еврей у крестьянина осла. Заплатил 100$. Договорились, что крестьянин приведет осла с утра.
    Утром крестьянин приходит к еврею весь расстроенный:
    — Сдох осел.
    — Тогда верни деньги.
    — Не могу – потратил.
    — Тогда неси осла.
    — А зачем он тебе дохлый?
    — Не волнуйся, я и на дохлом заработаю, приходи через недельку расскажу.
    Через неделю приходит крестьянин к еврею, мол ну как получилось?
    Тот:»Да, я на твоем осле заработал 198$!»
    — А как?
    — Я сделал 100 лоттерейных билетов по 2$, главный приз осел! И продал их все.
    — Так осел сдох!
    — Ну, так я победителю вернул его 2$.
    Ответ написан
    Комментировать
  • Как настроить phpmyadmin?

    Maksclub
    @Maksclub Куратор тега PHP
    maksfedorov.ru
    Для nginx Установка phpmyadmin супер проста

    • установить phpmyadmin
    • сделать хост типа такого:
      server {
          listen  80;
          charset utf-8;
      
          server_name pma.loc;
      
          #   Путь по которому будет ссылаться домен pma.loc (должен быть указан в hosts)
          root /usr/share/phpmyadmin;
          index index.php index.html index.htm;
      
          location / {
              try_files $uri $uri/ =404;
          }
      
          location ~ \.php$ {
      		include snippets/fastcgi-php.conf;
      		fastcgi_pass unix:/run/php/php7.0-fpm.sock;
      	}
      }



    или вообще закиньте файл adminer.php в нужный сайт и открывайте нужную БД, очень крутое и легкое решение
    https://github.com/vrana/adminer
    Ответ написан
  • Как убрать ошибку недостающих зависимостей в ubuntu?

    Maksclub
    @Maksclub
    maksfedorov.ru
    sudo add-apt-repository ppa:ondrej/php
    sudo apt-get update
    sudo apt-get install php5 git php5-curl


    а вообще вы что-то старое ставите, что за мануал? Мамонты жили еще тогда, когда мануал писали?
    Используйте 7 версию, php-fpm и Nginx, вот например инструкция:
    https://www.digitalocean.com/community/tutorials/l...

    композер ставить вот (перевелдена тоже у DO)
    https://www.8host.com/blog/ustanovka-i-ispolzovani...
    Ответ написан
  • Как назвать папку с JS, CSS, Images, Fonts?

    Maksclub
    @Maksclub Куратор тега Веб-разработка
    maksfedorov.ru
    не важно как называются, но лежать они должны не в папке views (там у вас скорее всего темплейты лежат), а лежать в публичной папке, в той, куда смотрит веб-сервер и есть точка входа
    Ответ написан
    Комментировать