Задать вопрос
  • Как реализовать последовательное скачивание файлов с сервера?

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

    так что не майтесь дурью, zip поддерживается везде, чуть ли не по умолчанию, передавайте одним файлом.
    Ответ написан
    2 комментария
  • Как сами спецслужбисты пользуются интернетом?

    @rPman
    Не думаю что то чем занимаются публичные лица российского государства особо интересно западным спецслужбам, но для галочки полагаю все, от компьютерной мышки до дверных ручек и шнурков на обуви, напичканы шпионским оборудованием по самое нибалуй, не удивлюсь что это как спорт, чей отдел больше докинет ;)

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

    Техническое отставание России по сравнению с тем же США на столько велико, что думаю речи о каких то попытках действовать вопреки планетарного полицейского не идет, отсюда логичный вывод и считается, не в шутку, что все происходящее у нас санкционировано и контролируется ими уже давно.

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

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

    @rPman
    Откройте вкладку в браузере, нажмите F12, выберите закладку networks, теперь вбейте адрес вашего сайта в адресную строку и нажмите enter - смотрите какие запросы идут, каждый можно изучить, какой у него URL (по правой кнопке можно получить готовую команду curl чтобы повторить его в скриптах), дальше подбирайте или имперически определяйте где в url или post запросах какие параметры и посдставляйте нужные.

    Так работают аналитические парсеры, вам придется работать с исходными данными веб-приложения (не всегда это удобно) это не надежный способ (не всегда срабатывает) либо требует БОЛЬШЕ усилий разработчика, так же обычно такой метод проще обнаружить разработчику веб сайта и блокировать автоматически, но это самый эффективный по нагрузке на сеть и процессор.

    Есть второй вариант, вы открываете браузер с установленным плагином для инжекта вашего javascript кода на страницу (или специализированную версию, они зовутся headless - без интерфейса, так же можно написать мини-приложение на основе webkit или того же майкрософтовской компоненты webbrowser в .net и работать со страницей прямо из вашего языка програмирования, но чаще javascript jquery удобнее на порядок) и получаете доступ к данным уже после того как страница загрузилась и код ее формирования отработал. Этот вариант самый универсальный и простой, не требует изучение кишков вебсайта и значительно проще при поддержке парсера в будущем, когда сайт изменится, и главное этот метод значительно сложнее обнаружить владельцу сайта, но значительно нагружает сетевой канал и процессор.
    Ответ написан
    Комментировать
  • Как транслировать фото, видео на телевизоры распределенная территориально?

    @rPman
    В вашем случае около каждого телевизора нужно поставить кеширующее устройство (достаточно роутера с поддержкой usb дисков/флешек или карт памяти), все телевизоры сетевые умеют проигрывать с домашних NAS, так что достаточно обычных домашних роутерорв с настроенным ftp чтобы вы могли заливать (ваши скрипты) на них ваши файлы и телевизоры их могли проигрывать

    Если ваш телевизор не умеет сеть, то купите карту памяти с wifi доступом и вставьте ее через usb картридер в телевизор, затем настройте доступ к флешке через роутер (лучше vpn настроить от всех роутеров сетей где телевизоры до вашего управляющего сервера)
    Ответ написан
  • Может ли сайт идентифицировать компьютер с чистым браузером и vpn?

    @rPman
    Основная идея - собирать косвенные данные, доступные из браузера, до куда дотянешься.

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

    * данные о машине - webgl (данные о видеокарте, в т.ч. внутри виртуальной машины или нет), битность операционной системы и в принципе саму операционную систему, размер экрана (разрешение монитора), размер шрифтов (размер пиксела для retina-like экранов)

    * наличие и отсутствие плагинов в браузере, каждый плагин кстати может дать индивидуальные данные (можно попытаться вызвать публичные методы плагина, интерпретировать результат и т.п. многие разработчики очень безалаберно относятся к информации)

    * кеш (в пределах одного браузера) и тайминги (наличие кеширующего прокси)

    * данные о локальной сети (часто vpn на локальном компьютере не закрывает доступ этого компьютера в локальную сеть), например при типичных конфигурациях, у 99.(9) частников роутер это 192.168.0.1 или 192.168.1.1, к нему можно делать get/post ajax запросы, определить модель версию прошивки и даже попытаться подобрать пароль (взломанный роутер это вообще джекпот), помимо роутера есть много много http служб на нестандартных портах, которые запускают различные не шибко умные разработчики сервисов, часто в windows экосистеме, даже антивирусы этим балуются - наличие таковых уже четкий маркер, то же самое для других машин в сети, само наличие или их отсутствие уже маркер...
    Ответ написан
    6 комментариев
  • Google PageSpeed врет?

    @rPman
    3ukskqneyqrtokcnpznl6ya4v8u.png
    пол секунды грузится http под 15кб, а потом автоматом столько же еще полторы секунды стартовая страница

    При использовании европейской прокси, скорость загрузки первой страницы почти 3 секунды, разбирайтесь что там за тормоза, это нереально много.
    Ответ написан
    Комментировать
  • Подтверждение и отмена привязки лицензионного ключа?

    @rPman
    В общем случае никак (в вашей схеме организации), так как ушлый пользователь может проксировать запросы к вашему серверу лицензий с любого количества установок.

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

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

    @rPman
    nginx reverse proxy
    Ответ написан
    Комментировать
  • Почему вылетает при просмотре видео?

    @rPman
    Инфы ноль но я угадаю - поставьте mxplayer и в нем перебирайте кодек, тамчарианты от software до нескольких hardware
    Ответ написан
    Комментировать
  • Вопрос о телеграме. Как получить информацию об участников канала?

    @rPman
    В штатном клиенте telegram пишите в поиск нужный вам канал (даже тот в котором вас нет), выбираете в результатах поиска его, не нажимаете join, нажимаете на заголовок, листаете вниз и смотрите список его участников, нажав на каждого по очереди сможете узнать их id (если такого нет телефон не будет показан, если он не у вас в контактах), в общем стандартный публичный профиль включая список каналов, пересекающихся с вашими (т.е. не все а только те на которых вы есть)
    Ответ написан
  • OpenVPN сервер режет скорость интернет канала?

    @rPman
    Openvpn нагружает процессор, у VPS-ок он и так слабый и ограниченный., т.е. это может быть узким местом (плюс то же сжатие, которое в vpn часто включают по умолчанию не добавляет скорости)

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

    p.s. настройте vpn на использование udp соединений а не tcp
    У tcp в современном интернете проблемы с производительностью, очень хорошая статья с примерами и тестами, в которой сказано что потери в канале на 5% понижают скорость от размера канала до 75%, на 10% - уже половина. В слоучае с vpn такие проблемы смело умножайте на два, так как сначала пакет идет на сервер а потом от сервера к вам.
    Ответ написан
  • Как запоминать последний визит пользователя?

    @rPman
    Судя по всему проблема кроется не в записи в базу данных, а в том, когда и как часто вы это делаете.

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

    Правильный подход - клиентское приложение открывает и держит открытым сетевое соединение (websocket например, все браузеры поддерживают, ну а приложения могут сами ниже уровнем tcp использовать), в этом случае приложению так или иначе придется отсылать в это подключение ping пакет (keep alive таймаут) но в этом случае закрытие приложение пользователем будет отловлено в тот же миг по закрытию сетевого подключения, т.е. в базу данных на сервере не нужно ничего писать, бакэнд сможет по списку открытых подключений все сказать сам.

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

    @rPman
    Храните в памяти, в переменных или вам нужно слишком много или нужно хранить между запусками скриипта (например между разными запросами)?

    sql базы данных практически все умеют временные таблицы в оперативной памяти, пользуйтесь этим, если у вас много данных, заодно все что связанно с данными останется в sql.

    Существуют in memory database, начиная со старейшего memcache. Попробуйте redis.
    Ответ написан
    Комментировать
  • Асинхронность, многопоточность в андроид?

    @rPman
    Да android (это linux + java или что угодно) - многопоточная операционная система (и запускается на железе с несколькими ядрами в процессоре, давно), и да вам никто не мешает как пользоваться этим так и нет.

    Асинхронность не подразумевает использование threads, например можно использовать асинхронные сокеты в пределах одного потока.

    Вот в комментариях к вопросу немного разжевано.
    Ответ написан
    Комментировать
  • Почему служба обновления Windows 10 включается сама?

    @rPman
    Потому что могут, потому что сволочи, потому что хотят иметь контроль над ВСЕМ миром пользователей pc, потому что власть, потому что бабки,... потому что компании microsoft старейшая it компания, столько такие не живут и проблем у нее набралось столько что правильная разработка и решение задач у нее не стоит в приоритете.

    Вам нужно останавливать еще службы: Wuauserv, cryptsvc и bits

    p.s. совет, удалите содержимое C:\Windows\SoftwareDistribution\Download так как туда уже загрузилась новая версия и ждет чтобы вы ее установили, так же в корне диска должны появиться каталоги, скрытые (обычно вы знаете что там должно лежать) на несколько гигабайт, тоже можно удалить.

    Не поленитесь, запустите штатную очистку диска (свойства диска C:, кнопка очистка диска, кнопка очистить системные файлы, удалите загруженные обновления, старые файлы обновлений, точки отката и прочее)

    p.p.s. резервная копия, всегда, иначе вместо отпуска получите безуспешные попытки восстановить систему, не поленитесь, купите флешку на 32-64гб и установите на нее clonezilla, 10-20 минут вашего времени потраченных на бакап спасут вам несколько суток и море нервов, всегда.
    Ответ написан
    4 комментария
  • Как быстро убрать звуковую рекламу из видео, не пережимая весь видео файл?

    @rPman
    ffmpeg позволяет работать с audio и video независимо, не пережимая video, т.е. достаточно будет перепаковать только звук, это минуты.

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

    Лучше читать документацию и гуглить примеры, с фильтром или без
    Ответ написан
    2 комментария
  • Есть у кого пример настройки либо кеширующего сервера либо SSD кеш на самом сервер?

    @rPman
    linux имеет несколько инструментов по использовании ssd как кеш для диска на уровне файловой системы, вот пример с упоминаниями остальных
    Ответ написан
    2 комментария
  • Какая лицензия Windows нужна для запуска на виртуальной машине?

    @rPman
    Запутанная система лицензирования у майкрософт на столько сложная, что требуется специальный человек, который ходит на специальные курсы и сдает соответствующие экзамены, чтобы он мог объяснить вам что да как.

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

    Самая мелкая версия (с точки зрения лицензий и цены) которая может быть запущена внутри виртуальной машины - это win10 pro, и да, вам не подойдут версии oem. Еще есть форма лицензирования, когда вы берете лицензию в аренду на месяц (кажется доступна только с enterprise версий, там тоже куча разновидностей) а еще есть software assurance, которая как доп пакет позволяет лицензироваться от рабочих мест пользователей а не устройств (это если я верно понял то море поноса что написано на официальном сайте).

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

    А еще есть/были различные программы в помощь мелкому бизнесу (от каких то оборотов или доходов в год, я не сильно уточнял) когда за относительно небольшую арендную плату вам дают доступ к огромному пакету продуктов чуть ли не без ограничений, включая необходимые версии windows.. но на ограниченный срок (пять лет кажется), т.е. чтобы основательно подсели на иглу, а вот потом доить по полной.

    p.s. без виртуализации, для маленьких офисов, может оказаться самый выгодный вариант win 10 home + минимальное количество процессорных блоков, к которым подключено одновременно несколько рабочих мест (монитор+клавиатура+мышь), на базе ibik aster, судя по тому что компания еще существует, они как то урегулировали споры с лицензированием (на форуме у них были эпичные цитаты общения с представителем майкрософт, по которому следовало что даже играть хотсит вдвоем нельзя на домашних версиях)
    Ответ написан
    Комментировать
  • Архиватор win 32 со словарем 2-4 ГБ?

    @rPman
    Я вам уже ответил ранее.

    Вы просто попробуйте пройтись по текстовому sql-дампу diff-ом, результат вас удивит, ни один архиватор так эффективно не ужмет.

    Кстати сам по себе diff по sql не очень эффективный, но если воспользоваться специализированным инструментом, заточенным именно на выявление разницы в данных БД, то можно получить еще больший профит (т.е. патч будет равен ровно тем данным, что были изменены).

    К сожалению готовые инструменты чаще всего затачивают под конкретную базу данных, и это явно будет не firebird. Посмотрите утилиты от dbForge data compare, возможно оно вам подойдет (правда оно для вашей задачи избыточно), кажется там была возможность подключиться к любой базе.

    Совсем правильно, поищите программиста, который вам запилит command line утилиту именно для этой задачи, делов то на неделю кодинга, может меньше.
    Ответ написан
    3 комментария
  • Как реализовать вкладкобезопасное считывание/запись в localStorage?

    @rPman
    Увы, спецификация четко говорит:
    4.5 Threads

    Because of the use of the storage mutex, multiple browsing contexts will be able to access the local storage areas simultaneously in such a manner that scripts cannot detect any concurrent script execution.

    Но, вы можете попытаться, и симулировать мютексы сами.

    Классический пример, ищем атомарную операцию которая одновременно отметит факт блокировки в хранилище и выдаст ее состояние. Например реализация мютекс: lockState=++localStorage['lockState'];
    Здесь вы получаете количество процессов, желающих получить доступ к объекту и одновременно повышаете количество блокировок, вы смело можете долго проверять это значение, и если оно больше 0 то не немного подождать и повторить попытку потом (само собой тут же уменьшив количество блокировок), когда именно, отдельный разговор, например можно завернуть работу с вашей базой через ваши методы, где и вызывать свои колбеки.
    Ответ написан
    Комментировать