Задать вопрос
  • Как защититься от парсельщиков?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Существует несколько способов борьбы.

    Вектор усложнения доступа к информации

    Информация отдается с сервера с постоянной меняющейся структурой. Например блоки меняются местами и CSS генерируется налету, причем классы собираются рандомной цепочкой и имеют абсолютно рандомные названия. Это может повлиять на SEO.
    Если этого мало, то контент рендерится с помощью JS аналогичными алгоритмами. Сам JS тоже генерируется и обфусцируется. Доставка контента происходит через сложные технологии, например через WebRTC DataChannel или WebSockets. Про SEO не может быть и речи, плохо работает через мобильник.
    С подобным подходом прийдется писать парсер под ваш сайт. Скорее всего он будет делать скриншот и скармливать его распознавалке.

    Вектор контроля доступа к информации

    Доступ к информации предоставляется определенному кругу лиц. Например клиентам. Объемы доступа регламентированы и превышение карается расторжением договора или штрафом.

    Вектор ограничения доступа к информации с помощью каптчи

    Для идентификации клиентов используются evercookie+fingerprinting. Используется рейтинг адресов и подсетей.
    Для недоверенных подсетей (ip принадлежат в основном разного рода хостинг-провайдерам) captcha отображается сразу. Аналогично при появлении трафика из необычного места, например внезапный трафик из Индии или Китая.

    Вектор "медленный сервер"

    Анализируются поведенческие характеристики с помощью машинного обучения. Строится эталонная модель.
    Все, кто не попадает под модель, упираются в медленный сервер. Сайт начинает отдавать контент сразу, но очень медленно, например страница может открываться секунд 30. Причем попытка параллельного запроса приводит к ошибке. Если сайт велик, то подобные штуки останавливают парсильщиков на ура. Вдобавок дополнительно контролируются определенные вещи, вроде "пользователь загрузил js и css", провел мышкой там и там.

    Вектор для реального отваживания воришек

    Кроме выше перечисленных способов, есть очень простые, но действенные способы. При обнаружении парсинга, парсильщику отдается неверная/искаженная определенным образом информация. Например, если есть подозрение на конкурента ворующего цены, можно отдать цены чуть выше настоящих и немного подменить название товара, например заменить определенным образом букву "а" на "a". Затем такая штука ищется поисковиком и находится сайт конкурента.
    Далее вопрос решается так, как это удобно бизнесу. Обычно жалуются на нарушение копирайта. Ну или у конкурента внезапно сгорает склад. Тут уж кто на что горазд.

    А это специально для любителей парсить чужие сайты: cломанные пальцы очень сильно мешают набирать на клавиатуре будьте осторожны, в большинстве случаев воровство контента того не стоит.

    Подытожим. В большинстве случаев защита от парсинга вредит SEO.
    Если у вас воруют контент, значит он хороший. Защищайте его с умом. Простые средства вроде копирайта и успешные дела за воровство контента отвадят воришек от вашего сайта. Просто придайте делам огласку. Отслеживайте воровство и жалуйтесь в поисковые системы.
    Используйте технические средства для отслеживания воровства, например непечатаемые символы и стеганографию в картинках.
    Используйте внутренние ссылки и привязки к контенту и его автору. Например логические отсылки на свои предыдущие работы или другие товары, которые можно купить только у вас.

    Если у вас воруют статьи, просто требуйте обратную ссылку.
    Если воруют описание товаров, предложите продать его, а на вырученные деньги улучшите свое или увеличите оборот или потратьте их на рекламу.
    Еще одна рекомендация - сделайте все, чтобы поисковики узнавали о вашем контенте раньше, чем у воришек.
    Ответ написан
    6 комментариев
  • Как создать конструктор статьей?

    alexey_bille
    @alexey_bille
    Web developer
    Попробуйте Froala
    Ответ написан
    Комментировать
  • В чем смысл ВУЗа?

    @garik_R
    On my way
    В ВУЗе учат взаимодействовать с людьми. Не в том смысле, что прогулять пары, прибухнуть, а наоборот, решить проблемную контрольную, написать курсовую. Развивать навыки, в любой сфере. Часто, именно этим, люди в Вузе и пренебрегают. Это социальная структура, где, по идеи, должны были собраться люди со схожими интересами. К сожалению, у нас это простой способ откосить от армии. Или родители сказали: "Ты должен поступить..." еtc. Кроме того, диплом поможет устроиться на хорошую работу у нас в стране или где-то в другой.

    Зачем учить? Что касается "странных" предметов, которые, казалось бы, никому не нужны - это ошибочная точка зрения. Любая работа сталкивает нас с такими неожиданностями, о которых мы и не думали. Вот тогда и вспоминаешь про какое-то ОБЖ и так далее. Часто негодование на этот счет связано не с большим умом, а наоборот, с большим незнанением и узким взглядом на жизнь. Подобные предметы нужно проглотить, отмучаться и знать где подсмотреть в случае чего. Или просто посмотреть шире. Вы же не станете отрицать, что даже если Вы учитесь на программиста, знать основы экономики необходимо, верно? А потом вы можете устроиться на работу, где будете писать какой-то софт где уже и не помешают и глубокие знания?

    Без математики можно заниматься только формошлепством. Везде так или иначе нужна математика. Где-то простая арифметика, где-то нюансы шифрования.

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

    Учить наизусть? Скажем так - хуже не будет. Да, сейчас всё немного изменилось. Если до ~2000х важно было иметь хорошую память. По книгам сложней искать, но других способов тогда не было. Сейчас нет острой необходимости помнить важную информацию. Сейчас важно знать где найти. Это умение стало более важным сейчас, из-за доступности интернета. Важная информация откладывается у вас в голове, если вы её постоянно используете - этого не избежать. Тут действительно, сейчас важно знать где найти, чем помнить досконально. Но человек, который является ходячей библиотекой оставляет гаааараздо более интересное впечатление, нежели тот, который говорит: "Щас, сек, я точно знаю, это вот здесь было написано". Перед работодателем это совершенно точно. Если вы помните, умеете развивать мысль, а не тупо заучили - то вы оставите более яркое впечатление. Мне кажется, это старомодный подход и со временем действительно можно будет погуглить и это всех будет устраивать. Но сейчас имидж умного, начитаного человека всё еще очень важен. Всё еще интересно поговорить вживую, с телефоном в кармане, нежели общаться отрывками статей, которые только что прочитал.

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

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

    php10
    @php10
    Разработчик на PHP
    PHPStorm
    Ответ написан
    Комментировать
  • Telegram шифрует все или только секретные чаты?

    jasonOk
    @jasonOk
    Легче болтать, чем код писать
    Только секретные чаты.
    Ответ написан
    1 комментарий
  • Какие библиотеки, плагины и прочее для верстки вы используете в своих проектах?

    jasonOk
    @jasonOk
    Легче болтать, чем код писать
    Если вы не знаете, где искать, то загляните сюда: unheap.com
    Замечательный ресурс.
    Ответ написан
    Комментировать
  • Подойдет ли книга по C++ авторства Р. Лафоре для изучения ЯП с нуля?

    Konstantin18ko
    @Konstantin18ko
    Стоматолог
    Изучаем программирование на C
    Дэвид Гриффитс, Дон Гриффитс

    А потом бы взялся бы за C++

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

    MaxDukov
    @MaxDukov
    впишусь в проект как SRE/DevOps.
    начните с понимания сколько данных и в каких БД у Вас. А то Вы начнете отдавать память Постгресу, храня основные данные в Мускуле.
    у мускуля отдельная песня - движки. Вы пишите про innodb - а в нем ли храните?

    Короче, первый шаг это сбор статистики.
    Ответ написан
    8 комментариев
  • Как правильно тюнить конфиги БД, распределять ресурсы?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Здесь по инструкции только под Postresql выделяется все 100% ОЗУ, такой конфиг подойдет разве что если на сервере будет только постгрес крутится и не более.

    Именно так. Потому что вы читаете про highload. Под СУБД выделяется отдельный физический хост, плюс ещё парочка таких же под реплики. И уж явно не с механическим io. highload СУБД на HDD не бывает уже очень давно.

    Проставьте оба конфига из расчёта 16гб памяти. Всё равно упрётесь в диски. Да и в CPU тоже упрётесь.
    Если вы поставите shared_buffers в 25% ram, и innodb_buffer_pool_size в 80% - то у вас запустится банально только одна из баз. Ну или буфер перманентно в свопе будет, что в общем-то ещё хуже.
    Кстати, надеюсь, вы по крайней мере проверяете смысл изменяемых настроек. Чтобы не было интересных сюрпризов вроде сделали всю базу на myisam, а крутите innodb_buffer_pool_size
    Ответ написан
    Комментировать
  • Как организовать "вечный" онлайн на форуме?

    Stalker_RED
    @Stalker_RED
    Подойдет любая программка умеющая качать по http (wget, curl).
    И не забудьте подставить в запрос свои cookie.
    Ответ написан
    Комментировать
  • Как преодолеть кризис начинающего специалиста?

    sim3x
    @sim3x
    А кто сказал, что будет легко?

    spoiler
    Даже если вы занимаетесь bleeding edge разработкой в универах или корпорациях, то рутина будет занимать 90% вашей работы

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

    Потому, если вас не хватает сейчас, то стоит подумать, а нужно ли оно вам вообще
    Ответ написан
    Комментировать
  • Где и как можно пройти тестирование знаний по LAMP-стеку?

    @spaceatmoon
    Примечание. Сам не сдавал, но думаю что так и есть


    Тут попросили про Zend Certification описать, но я думаю вы уже прочитали, что это такое. Поэтому для тех кто не знает.

    Есть такие чуваки из фирмы www.zend.com. Они являются разработчиками PHP и у них же есть официальная сертификация называемая Zend PHP Certification. Там так же есть сертификации по их фреймворку Zend Framework, но это уже для тех кто им пользуется. Нас интересует именно PHP Certification.
    www.zend.com/en/services/certification/php-certifi...

    Стоит на сегодня $195 - ~12к рублей. Относительно дешево учитывая плюшки.
    Плюшки:
    1. Пожизненная (поправьте если не так) лицензия на их же разрабатываемая IDE под PHP. Смотрел тут недавно сравнения с PHPStorm и достаточно годно я скажу.
    2. Сам сертификат, можно выпендриваться. Тоже пожизненный, ну и страничка типа такой. www.zend.com/en/yellow-pages/ZEND024408
    3. Возрастает шанс и значимость для иностранных фирм. Особенно из Германии.
    Минусы:
    1. У нас не котируется.
    2. (ИМХО) Сам сертификат достаточно легко получить и знаний особо не дает. Поэтому не стоит налегать на рекрута.

    Подготовиться можно по их же книжке. По отзывам это отличное дополнение к их докам, а доки у них хорошие. Думаю сам купить и стоит всего $20
    www.zend.com/en/services/certification/php-certifi...
    В этой книжке обозрены все разделы для получения сертификации. Да и сама структура книжки радует. В интернете есть и бумажная версия, но я даже не знаю, стоит оно того.

    Ах да, чтобы пройти успешно сертификацию, нужно хотя бы иметь 1 год на плечами опыта на PHP.
    Сертификация проходит как тестовая часть на права. Приходишь, садишься за компьютер, дают 50 минут, блокнот и ручку, и решаешь.

    Перед реальной сдачей есть сайты для проверки своих знаний как на сертификации.
    Ответ написан
    Комментировать
  • Какие книги полезны для повышения эффективности одного программиста?

    ApeCoder
    @ApeCoder
    • "Рефакторинг: улучшение существующего кода"
    • "Программист-прагматик"
    • "Эффективная работа с унаследованным кодом"
    • "Чистый код"
    • "Code complete"
    Agile, scrum, kanban наверно тоже больше для команд .


    Общий подход может применяться и индивидуально. Еще можно прочитать про Getting Things Done
    Ответ написан
    Комментировать
  • Как адаптировать меню под мобильные устройства?

    nakree
    @nakree
    Fullstack Developer
    Можно сделать на чистом СSS или JS. На CSS делается через медиазапросы и псевдоклассы. Нужно на мобильном экране скрывать меню для десктопов и показывать другое меню для телефонов при каком то событии, например, при клике. Подробно рассказывается в этом видео:
    https://www.youtube.com/watch?v=MwD_tZGc7gA

    "Гамбургер" без js - label + скрытый checkbox 30:33
    Ответ написан
    Комментировать
  • Как правильно вносить изменения в проект ASP.NET?

    vladimirbondarev
    @vladimirbondarev
    Разработчик ПО
    Функция "Publish" в VS это всего лишь деталь поставки. Формируй пакет поставки и разворачивай его на FTP.
    Подмена файлов, будь то бинарных или текстовых плохая практика, можно что-нибудь отломать и потом долго мучиться восстанавливая предыдущие состояние. Каждая поставка содержит в себе изменения, значит должна быть присвоена версия, которая содержит определенный ченджлог, иначе через цать таких поставок начнется каша.

    Опишу общий процесс поставки:
    • вносятся финальные изменения в разработческой ветки, тестируются
    • сливаются изменения разработческой версии с master, исправляются конфликты, тестируются
    • собирается пакет поставки, содержащий все необходимые конфигурационные, бинарные и прочие файлы и т.д.. Пакет не должен содержать мусорных файлов. Присваивается пакету версия
    • поставляется пакет на демонстрационный сервер. Если есть БД, то восстанавливается бэкап с продуктовой, либо максимально приближенный к последнему состоянию оригинальной. Применяются миграции.
    • регистрируется приложение в IIS, тестируется
    • поставляете пакет на продуктовое окружение
    • если есть БД, то создается бэкап, применяются миграции
    • разворачиваете пакет поставки
    • переключаете IIS на использование поставленной версии

    Это процесс, к которому мы пришли не сразу. Были и подмена файлов на продакшене и живая правка кода. Иногда это приводило к плачевным последствиям. Потом итеративно выработалась ручная процедура поставки, после для экономии времени эта процедура автоматизировалась. Сейчас самый продолжительным участком поставки является ручное приемочное тестирование на демонстрационном окружении. Автоматизированные приемочные тесты тоже есть - они прогоняются после сборки билда, но как и весь код они могут содержать ошибки, поэтому ручной прогон приемочных тестов исключать не решаемся.
    Ответ написан
    3 комментария
  • Как прокачать себя в паттернах проектирования?

    vladimirbondarev
    @vladimirbondarev
    Разработчик ПО
    Вот еще классная книга от Сергея Теплякова. Можно найти также ее бесплатно на просторах интернета.
    Ответ написан
    Комментировать
  • Какие плагины вы используете для Wordpress?

    EaGames
    @EaGames
    Front-end developer
    Используются в проектах в основном по 4-5 штук максимум:

    Raw HTML
    Duplicator
    Reveal IDs
    Tab Override
    Cyr to Lat enhanced
    Custom Post Type UI
    Custom Post Type Permalinks (taxonomy also)
    Intuitive Custom Post Order
    Advanced Custom Fields
    Advanced Custom Fields: Repeater Field
    Advanced Custom Fields: Options Page
    Breadcrumb NavXT
    Remove Category URL
    TinyMCE Advanced
    Easy FancyBox
    Plugin Organizer
    MinQueue
    BJ Lazy Load
    Device Theme Switcher
    Contact Form 7
    Contact Form 7 Redirect
    Contact Form DB
    TablePress
    Easy Watermark
    Regenerate Thumbnails
    WP-PostViews
    Infinite-Scroll
    Hide-n-Disable-comment-url-field
    Шорткоды
    Откл. комментарии
    Menu Icons
    UpdraftPlus - Backup/Restore
    WP Super Cache
    WP-Polls
    Yoast WordPress SEO и All in one Seo
    Yet Another Related Posts Plugin
    Ответ написан
    Комментировать