• Как защитить контент от парсинга с помощью Nginx?

    @rPman
    Основная защита от парсинга - только при доступе к данным по авторизации и установка лимитов на данные (объем, доступный пользователю либо за какой то период времени, например сутки/месяц).

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

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

    Можно поставить 'палки в колеса', сделав этот процесс сложнее (и дороже), в основном это запутывание/шифрование данных, доступных напрямую (по api) с бакэнда и обфускация кода, его преобразования в видимый пользователю контент, чтобы классические (дешевые) инструменты не работали. Как всегда стоимость защиты (затрат на разработку) должна быть сравнима затрат граберов на получение данных (обычно им проще).
    К сожалению вместе с контент-грабером, в заблуждение будут введены роботы поисковых систем, ведь их основная работа - грабить контент.
    spoiler
    * api не должен быть простым и интуитивно понятным, идентификаторы могут вообще не быть постоянными (их можно преобразовывать на бакэнде на основе данных в сессии)
    * код javascipt, например получения ссылки на объект должен быть нетривиальным, т.е. чтобы получить следующую ссылку на требуемый граберу объект, потребовалось бы использовать сам браузер (а не простенький скрипт парсер html)
    * верстка может быть непостоянной, изменяющиеся, простые гуляющие наименования классов и идентификаторов уже могут создать кучу проблем (я такое встречал), а уж постоянное изменение структуры должно совсем запудрить голову даже опытным граберам (не встречал)
    * шрифт может не являться правильным (видимые символы могут не соответствовать их кодам), при этом генерируемый каждый раз новый под конкретную сессию пользователя. Простая подстановка, сильно усложнит (но не сделает невозможной) получение данных через буфер или document.innerText в консоли браузера, оставив граберу только вариант распознавание экрана скринридером (а не тривиальная верстка потребует от пользователя сложную настройку и автоматизацию и эти инструменты)
    * типовые javascript методы браузера должны быть замещены на 'неправильно работающие', чтобы граберу пришлось использовать внешние скрипты а не простой инжект javascript (обычно это сильно упрощает).
    Ответ написан
    3 комментария
  • Требования к серверу видеонаблюдения?

    @rPman
    Протокол собственный
    все зависит от его реализации

    Кодирование потока надеюсь у вас специализированные железки или ip-камеры, потому как иначе такой поток не всякий сервер сможет обработать (можно сколхозить на базе nvidia gpu что-нибудь).

    Все остальное не добавляет никаких особых требований, настоятельно рекомендую собрать и протестировать уменьшенную версию решения с 1-2 камерами, скорее всего каждая будет требовать десяток другой ram и процент от ядра процессора.

    300+10 потоков умножаете на битрейт, плюс 30% получаете требования к дисковой системе. Обычные дешевые hdd дадут порядка 100мбайт/сек (помним что линейная скорость у hdd дисков не равномерная и кратно падает при нелинейном доступе, т.е. во время просмотра роликов, и то, если оттюнить файловую, к примеру увеличить параметр read-ahead), т.е. при 8мбит/с на камеру к примеру позволит на диск писать не больше 100 потоков а если одновременно и читать, то в разы меньше. Я видел системы, сколхозенные на windows машинах, они захлебывались на паре десятков потоков на диск. Так что рекомендую linux,

    Можно добавить промежуточный ssd буфер, на который будет производиться запись с камер, а уже с него паралелельным скриптом чанки видео переносятся на hdd, при просмотре роликов во временном интервале, пока они влезают на ssd, особого замедления не будет, и да скорость работы с ssd нужно брать в худшем (делить на 2 от худшей скорости записи на синтетических тестах, после полной записи всего объема на диск и помнить о быстрой выработки ресурса записи в таком режиме)
    Есть два способа использования этого буфера
    выбор зависит от того, какие именно ролики нужно будет смотреть из архива или недавние:
    * в буфер пишутся чанки видео и копируются на hdd в режиме FIFO, заполнив диск по максимуму, таким образом буфер содержит видео за последние X времени, и позволит просматривать эффективно только эти, к сожалению архив смотреть нельзя, так как это уронит скорость и будут потери данных записываемых в буфер
    * в буфер пишутся чанки видео и тут же параллельным скриптом с удалением переносятся на hdd, таким образом буфер будет постоянно пустой, но во время просмотра видео из hdd архива, копирование должно приостанавливаться/замедляться (разруливать приоритетами ОС), во время просмотра роликов из архива, буфер начнет заполняться, когда он закончится, либо нужно останавливать просмотр либо будут потери видео

    Если просмотр роликов из истории не носит регулярный характер, можно промежуточный диск использовать обычный hdd, в этом случае на время просмотра роликов скорость переноса с буферного диска на основные может не поспевать за скоростью всего потока, так что размер этого буферного диска определит, как долго можно смотреть эти ролики (нужен соответствующий софт, следящий за этим и останавливающий просмотр чтобы не потерять данные).

    raid0 дополнительную нагрузку на процессор не дает, и позволит примерно в sqrt(n) раз ускорить работу итогового устройства (n - количество дисков, и да, хоть на синтетических тестах линейная скорость возрастает n-крат, случайный доступ при просмотре роликов убьет весь этот бонус)

    raid5-6 может добавить требований к процессору, но незначительно, один 100мбит поток примерно кушает половину нагрузки ядра средней современной машинки

    raid0 - - mirror нагрузки не создает, т.е. если внезапно скорости процессора будет не хватать, можно будет за счет уменьшения эффективности хранения освободить чуток процессора от raid5

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

    dyfran
    @dyfran
    Абстрактный вопрос, абстрактный ответ.

    Проблема в управлении или недостатке технических знаний?

    Если первое то всё просто.
    Все вместе регаетесь и создаете доску в trello, вам подойдет бесплатная версия с лихвой.

    Начинайте с 4 колонок - общая свалка задач (бэклог), запланировано(plan), в работе(progress), завершено(done). Потом по необходимости добавите другие колонки (анализ - ba, sa; тестирование - qa и какие в голову взбредет).

    Формируете бэклог/скоуп/свалку текущих задач, которые надо сделать, оцениваете их верхнеуровнего по времени (часы или дни) и делаете горизонт планирования неделя/две.

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

    Дальше каждое утро 15 минутный статус, кто что сегодня делает с доски и какие проблемы.
    Задача закрыть весь ваш 1-2 недельный спринт со списком задач, который вы сформировали, если не закрыли, анализ причин и способы их исправления.

    Дальше только опыт.
    Вы сами поймете какие колонки вам нужны, какие нет, что в карточках не хватает в описании, а что лишнее, сколько планировать и как, и так далее
    Ответ написан
    Комментировать
  • Как через JavaScript транслировать видео на TV?

    alsolovyev
    @alsolovyev
    Создаете html:
    <video width="320" height="240" controls>
      <source src="movie.mp4" type="video/mp4">
      <source src="movie.ogg" type="video/ogg">
      Your browser does not support the video tag.
    </video>

    поднимаете сервер на html://localhost:8080. Открываете на телевизоре адрес своего комьютера(что-то тип 192.168.0.240:8080 - смотреть настройки роутера). Смотрите.

    А если серьезно, то Вам, очевидно, нужен сервер, который будет отдавать файлы(это делают стандартные библиотеки в nodeJS):
    const http = require('http');
    const fs = require('fs');
    
    http.createServer(function(req, res) {
    	res.writeHead(200, {'Content-Type': 'video/mp4'});
    	var rs = fs.createReadStream('video.mp4');
    	rs.pipe(res);
    }).listen(8080);

    Запускаете сервер. Открываете на телевизоре адрес своего компьютера(что-то тип 192.168.0.240:8080 - смотреть настройки роутера). Смотрите.

    Теперь добавляете свой функционал: библиотека\кодировка\сортировка и тд
    Зачем это самому делать? Есть на php - Plex, есть на js(почти как у меня пример выше:) ) - куча своих велосипедов или классика

    ps сервис Youtube написан на python
    Ответ написан
    Комментировать
  • Какие есть альтернативы ютубу, чтобы заливать видео 4K 60FPS?

    @alexdora
    Топ-менеджер корпорации
    Отвечаю сразу за хостинг. Сразу нет, трафика много будет и нужен солидный винт. Хостинг это для маленьких проектов и там на 1000 сайтов может быть 1гбит канал в легкую. Те кто грузит сильно или переводят на более дорогой тариф, или выгоняют
    Если на своем домене подойдет VPS с хорошим диском или Dedicate Server. Это в районе от 5 до 40евро
    Но если у вас там солидное количество трафика, придется платить дополнительно. На дешевые VPS дают вроде 1-2тб, на dedicate server 30TB (hetzner.de) исходящего. Для стриминга и доставки для более чем 10 человек 30ТБ при условиях 4K@60 - капля в море
    Другие сервисы может и есть, но такого качество и бесплатно вряд ли кто-то даст. Все упирается в трафик исходящий. У гугла свои каналы и им это по сути бесплатно

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

    smirnoff911
    @smirnoff911
    Могу делать все, но дайте время разобраться.
    Ты бы хоть бюджет указал. Хоть примерно.
    Я делал так:
    Вебкамера logitech c270 - примерно 1500 рублей (возможно нужны 2 вебкамеры, тогда примерно 3000)
    Фотоаппарат canon - Я не знаю сколько он сейчас стоит, но на вторичном рынке это все будет стоить не очень дорого. К тому же, нам не нужна топовая камера, а только такая которая умеет HD 720p.
    Штативы под все камеры.
    Микрофон zoom h1 - примерно 8000 тыс. рублей.
    Или можно купить микрофонный капсуль, транзистор, резистор, конденсатор, миниджек и провод. И спаять весьма чувствительный микрофон. Есть куча видео на YouTube, "предусилитель на одном транзисторе".
    Если нужно несколько микрофонов, придется брать микшерный пульт.
    Компьютер не супер крутой, главное чтобы с видеокартой Nvidia, она будет обрабатывать видеопоток.

    Программы:
    XSplit - это эфирная программа. В нее можно заводить звук, видео с нескольких вебкамер и отправлять поток на YouTube.
    ExtraWebCam - позволит подключить фотоаппарат canon как вебкамеру.
    Ну еще понадобятся провода, что бы это все подключить. ЮСБ удлиннители не бери больше 5 метров
    (на 5 метровом проводе, может не заработать).

    В итоге у тебя будет две вебкамеры, которые будут брать общие планы и фотоаппарат для крупных и средних планов.
    Если будут вопросы пиши на почту: a.smirnoff.a@gmail.com или в скайп: smirnoff_9111
    Ответ написан
    4 комментария
  • Вставка видео-ролика на сайт, какой формат лучше?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    Ваша задача не решаема. Гиг никак не ужать, в какой-нибудь адекватный размер
    какой формат

    Для веба применим только один формат, чтобы было максимально кроссбраузерно mp4 (h264-видео + aac-аудио)
    Уменьшайте разрешение и битрейт по максимуму, пока пиксели в глаза не полезут.
    + см Как оптимизировать видео, вставляемое в качестве фона?
    Ответ написан
    Комментировать
  • Как сделать такое меню?

    mdss
    @mdss
    А чем флексы не устраивают?
    Вот решение на основе свойства display table
    https://codepen.io/mdss/pen/vevQEJ
    Ответ написан
    3 комментария
  • Как внедрить готовый стартап в учебные учреждения?

    @kn0ckn0ck
    Продюсер
    Как я понял ваши продукты про повышение удобства/эффективности/продуктивности и вы их продаете в среде, где удобство/эффективность/продуктивность не ценится. Подумайте о том, что же вы все-таки продаете, если продажи случились. Проанализируйте реальные причины, по которым уже купили ваши продукты.

    Образовательные учреждения - это не бирюзовые организации, прикольные фишки внедрять они сами никогда не станут, пока не будет регламента или приказа на это сверху. А вот инициатором таких внедрений могут стать ИТ-подразделения (в любом крупном ВУЗе такие есть). Вам нужно говорить с аналогом CIO в корпорациях, это кто-то типа зам. проректора по ИТ ВУЗа. Ему нужно показать реальные выгоды от внедрения, тогда он возможно пойдет уговаривать сделать приказ на внедрение этого в учебный процесс.

    Сама по себе модель SaaS для большой/неповоротливой организации выглядит сомнительной. Идея SaaS - надо пользуйся, не надо - не плати. Если для внедрения продукта требуются изменения во внутренних бизнес-процессах организации (в учебном процессе, например), то ради какого-то стартапа это делать вряд ли будут. Нужно решение, которое можно поставить и обслуживать своими силами в течение лет 5 - 10. Убедитесь, что ваше решение не требует изменения существующих бизнес-процессов/регламентов/навыков персонала. Либо это другая история.

    Большинство образовательных учреждений в РФ государственные и подпадают скорее под категорию социального предпринимательства. Это не сосвем бизнес и скорее всего не для стартапа без серьезных внешних инвестиций. Убедитесь, что ваша бизнес-модель реалистична. Возможно, ВУЗы в большинстве не готовы даже бесплатно использовать ваши продукты, о каком бизнесе тут может идти речь?
    Ответ написан
    2 комментария
  • Как показать закрытое видео youtube на своем web сайте?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    нет у ютуба нет такой возможности.
    То что Вам нужно есть у https://boomstream.com/ru/, но в отличии от youtube там придется денежку платить. Но я так понимаю, Вы планируете монетизировать показы - тогда вкладываете то что берет boomstream в стоимость и дело в шляпе.
    Ответ написан
    2 комментария
  • Как осуществить вывод средств со счета Paypal на расчетный счет (ИП)?

    dimonchik2013
    @dimonchik2013
    полковник Андрейченко
    Вы молодец, приятно читать обстоятельный подход

    более-менее описано все тут:
    buh-v-seti.ru/uncategorized/raschetyi-s-klientom-c...

    у вас два узких места, на которые вам нужно найти твердые официальные подтверждения:
    первое: равноценность оплаты Пейпалом оплате безналом. Косвенно - учитывая автоматический вывод Пейпала на счет более 55к рублей - это точно где-то есть. Но я процитировать по памяти не могу, а просить бухов узнать - не с руки.

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

    в целом - и без ответов на это можете спать спокойно - в Пейпале вы будете как ИП, никаких попыток скрыть доход нет, а факсимиле использовать можно, но в зависимости от говнистости инспектор может придраться.

    Банку же суете оферту (правда, не забывайте за русский текст на ней).
    50к - это в год.
    Можно и больше - но там уже паспорт сделки, вообще такими макарами с постоянными клиентами вы сможете и прямо на счет принимать переводы.
    Ответ написан
    Комментировать
  • Есть ли готовые решения видеочата?

    @Wexter
    Ответ написан
    Комментировать
  • Является ли видео использования нелицензионного софта доказательством в суде?

    edinorog
    @edinorog
    Троллей не кормить!
    Мало ли что они запускали на этом компе. И снимали. Важен факт наличия в момент изъятия. Если там все затерто на 10 рядов и стоят триальные версиии ... комар не подточит носа у вашего друга. На все вопросы можно говорить - они сами поставили. А вы потом нашли и удалили как добропорядочный гражданин!)
    Ответ написан
    Комментировать
  • Должен ли веб-дизайнер продумывать SEO?

    Tantacula
    @Tantacula
    Ларавельщик, витающий в небесах.
    Смотря что просит. Если ты взялся за верстку и не рубишь в семантике html (не знаешь правила расстановки заголовков, а также для чего применяются article header footer и т.д. теги), то либо осваивай верстку нормально, либо не берись ее делать. Если же сеошник требует вставлять микроразметку и метатеги, то пускай сам расставляет, либо наймет себе в помощники верстальщика. Такие требования смело найух слать, к дизайну они не относятся (равно как и предложения переставить кнопочку, если в договоре с заказчиком нет пункта о n бесплатных правок), иначе на тебя еще и тексты с видеороликами повесят.

    А вообще странно звучит: "потому что заказчики уходят с него", работал я в одной фирме, где одной девушке поручили развивать сайт, она также заявляла: "потому что клиент кликает по ссылке и уходит", я попросил ее показать мне на яндекс метрике конкретно те моменты, когда клиент уходит, кликнув по этой ссылке, в итоге выяснилось, что она вообще не знает, что это такое и фразы ее основаны не на фактах, а на личных субъективных переживаниях. Этот сеошник опрашивал всех ушедших клиентов, чтобы это заявлять, или у него есть достоверная статистика по аналогичным сайтам с теми же каналами и теми же товарами? А может он бмщиками воспитан и для него если кнопка не желтая и недостаточно большая - клиент уходит?
    Ответ написан
    3 комментария
  • Upwork - Конфискация всех заработков. Как избежать?

    @iSergios
    Python-разработчик
    Однако Вы себе напридумывали. Давайте разберемся по-порядку.
    Внимание! Будет многабукав и много юридической информации.

    Итак, как к нам поступают деньги от клиентов Upwok?

    1) Клиент передает деньги Upwok'у. Ну тут как бы все чисто, никаких проблем. Деньги-то не у нас. Де-факто (и де-юро тоже) деньги перечислены на счет в банке или иной кредитной организации, который принадлежит Upwork.

    2) Upwork зачисляет деньги на наш "счет". [s]И тут Вы впадаете в панику.[/s] Давайте начнем с того, что деньги, как таковые, никуда не двигались. Они как лежали на счету Upwork'a в банке, так и продолжают там лежать. Upwork лишь рисует небольшую циферку у Вас в профиле и все. Ни юридически, ни фактически эти деньги Вам не принадлежат*. Upwork не является ни банковском, ни кредитной организацией, ни фондом ни иным лицом, уполномоченным производить операции с чужими денежными средствами. Все денежные средства, поступающие на его счета от заказчиков становятся денежными средствами Upwork. А то, что Upwork выплачивает эти суммы Вам - это он распоряжается принадлежащими ему деньгами. Т.е. выступает не просто посредником, который передает деньги из одних рук в другие, а промежуточным собственником. Как если бы вы купили автомобиль у одного товарища, оформили его на себя, а потом продали/переоформили его другому товарищу. То, что в Вашем профиле отражаются какие-то суммы с обозначением валюты, это не отражение состояния какого-то пресловутого счета - у Вас его на Upwork'e нет и быть не может - чисто юридически это просто обещание Upwork'а выплатить Вам сумму, эквивалентную указанной. И все. К этому моменту Вы еще не собственник этих денег, вы не можете их потратить.

    3) Upwork "выводит Ваши деньги" (а де-юре просто перечисляет на Ваш счет из своих), и вот тут возможны варианты:

    3.1) Upwork перечисляет деньги на Ваш банковский счет - проблем нет, все чисто. С точки зрения налогообложения возможны трудности, если это счет в иностранном банке, но это не проблема, а именно трудности, и их тут разбирали.

    3.2) Upwork перечисляет деньги на Ваш счет в небанковской кредитной организации. Опять варианты:

    3.2.1) Это PayPal или иная небанковская кредитная организация, которая официально зарегистрирована на территории РФ и включена в соответствующие реестры - проблем нет, все чисто. Эти организации имеют право осуществлять операции с валютой (при наличии лицензии, при ее отсутствии они автоматически переведут эти средства в национальную валюту, т.о. доллары Вы не получите).

    3.2.2) Это Skrill или иная небанковская кредитная организация, которая на территории РФ не зарегистрирована. Проблем нет с точки зрения нарушения отечественного законодательства. Upwork перевел принадлежащие ему деньги на некий счет, который по документам незарегистрированной на территории РФ организации принадлежит Вам. Т.е. именно Вы никаких валютных операций не совершали. К слову, доказать само существование, а равно принадлежность такого счета Вам в случае с иностранной организацией очень непросто. Ваши деньги приобретают довольно интересный статус кво - вы можете ими управлять, но в правовое поле РФ (а равно под действие предусмотренных законами ограничений) они как бы не попадают.

    И да, статья 15.25 КоАП РФ фактически запрещает расчеты в валюте на территории России в обход банков. Вот и все.

    _____________
    * В соответствии с действующим отечественным законодательством (что, кстати, полностью согласуется с общепризнанными принципами и нормами международного права) право собственности включает в себя 3 элемента: владение (фактическое обладание, включая принадлежность депозита), пользование (возможность извлекать из вещи пользу) и распоряжение (возможность определять дальнейшую юридическую судьбу вещи; применительно к деньгам - тратить их). Нет хоть одного из элементов - нет права собственности. Нет права собственности - нет проблем.
    Ответ написан
    Комментировать