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

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    Могу порекомендовать доклад от 2GIS и их вариант с написанием lua-модуля для nginx (opernresty)
    https://www.youtube.com/watch?v=pYxnW7kYcbU

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

    samodum
    @samodum
    Какой вопрос - такой и ответ
    Да, тебе показалось.
    Никто не просит ссылки на соцсети.
    В любом случае, ничто не мешает сказать, что у меня нет аккаунта в соцсетях.
    Хотя, ссылку на соцсети Linkedin, Github или stackoverflow вполне можно оставить, там я есть
    В итоге многие создают такие вот фейки-аккаунты в пиджачках, а порой и вообще без личных фоток, и все отведено только под работу. Репосты на тему работы, паблики на тему работы и т.д.

    Это уже клиника. Скажи этим людям, чтобы больше так не делали. Аккаунт где всё про работу говорит о том, что у человека проблемы с головой, либо что это фейковый акк. В реальности таких людей не бывает. Кроме Илона Маска, где он постоянно только о работе и пишет ;)
    Ответ написан
    4 комментария
  • Нужно ли создавать отдельный профиль в соцсетях с имитацией фанатичного отношения к работе?

    vabka
    @vabka
    Токсичный шарпист
    Многие работодатели просят ссылки на соцсети и недвусмысленно намекают, что человек должен уделять все время (даже свободное) только работе и не иметь других интересов.

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

    Лучше у этих же hr-ов спросить. Мб просто проверка на адекватность - вдруг ты там постишь что-то максимально токсичное и обсираешь своих предыдущих работодателей.
    Ответ написан
    1 комментарий
  • Как быстро развернуть 5гб mysql дамп в Windows?

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

    @zkrvndm
    Софт для автоматизации
    Тут все зависит от маленького нюанса, а именно, что будет если отправить форму на секунду раньше? Форма не отправится? Или отправится, но скидку не получишь?
    Ответ написан
    3 комментария
  • Что улушчить, чтобы отправлять 40000 запросов в секунду?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Вообще-то, по грамотному надо расширять API для выполнения bulk запросов...
    Или такой вариант вообще не рассматривается?
    Ответ написан
    Комментировать
  • Почему не срабатывает скрипт моего расширения для браузера на некоторых сайтах?

    @zkrvndm
    Софт для автоматизации
    Скорее всего проблема в том, что на момент запуска кода из content.js кнопка ваша еще отсутсвует на странице.

    Я дам вам функцию кликер с одного из своих расширений, используйте его:
    Асинхронная функция кликер
    function clickElements(selector, regexp, where) {
    	
    	return new Promise(function(returnResult) {
    		
    		var search_result = false;
    		
    		var local_reactive_function = function() {
    			
    			var click_elements = searchElements(selector, regexp, where);
    			
    			if (click_elements.length > 0) {
    				
    				if (search_result === false) {
    					
    					search_result = true;
    					observer.disconnect(); 
    					
    					setTimeout(function() {
    						
    						var click_elements = searchElements(selector, regexp, where);
    						
    						for (var n = 0; n < click_elements.length; n++) {
    							click_elements[n].click();
    						}
    						
    						returnResult(click_elements.length);
    						
    					}, 1000);
    					
    				}
    				
    			}
    			
    		}
    		
    		var observer = new MutationObserver(local_reactive_function);
    		
    		observer.observe(document.body, {
    			characterData: true,
    			attributes: true,
    			childList: true,
    			subtree: true
    		});
    		
    		local_reactive_function();
    		
    	});
    	
    }
    
    function searchElements(selector, regexp, where) {
    
    	var search_elements = [];
    	
    	if (typeof where !== 'undefined') {
    		
    		var all_elements = where.querySelectorAll(selector);
    		
    	}
    	
    	else {
    		
    		var all_elements = document.querySelectorAll(selector);
    		
    	}
    	
    	for (var n = 0; n < all_elements.length; n++) {
    		
    		if (typeof regexp == 'object') {
    			
    			if (typeof regexp.test == 'function') {
    				
    				if (regexp.test(all_elements[n].innerText.trim())) {
    					
    					search_elements.push(all_elements[n]);
    					
    				}
    				
    			}
    			
    			
    		}
    		
    		else {
    			
    			search_elements.push(all_elements[n]);
    			
    		}
    	}
    	
    	return search_elements;
    
    }

    Чтобы кликнуть последовательно (один за другим) несколько элементов вызывайте функцию clickElements:
    (async function() {
        await clickElements('CSS-селектор 1');
        await clickElements('CSS-селектор 2');
        await clickElements('CSS-селектор 3');
    })();

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

    @U235U235
    Построийте диаграмму Вороного для набора точек.
    см. https://habr.com/ru/post/309252/
    Ответ написан
    1 комментарий
  • Контроль одноранговой сети?

    @res2001
    Developer, ex-admin
    Если не хотите АД, то легких путей не ждите. АД - это и есть легкий путь.

    Для начала вам нужно на всех компах в сети:
    1. Завести одного пользователя (с одним и тем же паролем) с правами администратора. На компах админов то же нужно завести такого же пользователя.
    2. Настроить удаленный доступ по RDP на всех компах как минимум для админа
    3. Дать четкие имена компам, что бы вы могли без труда по имени/фамилии сотрудника (номеру телефона или чему-то еще) определить проблемный комп. Можно в качестве wallpaper вывести IP адрес и другую инфу, для этого есть соответствующий софт.
    4. Включить "доступ к файлам и принтерам"
    5. Убрать права администратора у пользователей
    6. Начиная от Windows Vista и дальше, нужно выключить UAC для удаленного запуска программ. Делается это правкой реестра:
    reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f


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

    П.2 позволит подключиться к рабочему столу и потрогать руками, не отрывая задницы от своего кресла.
    В RDP есть такая штука как remote shadow - это дает возможность удаленно подключаться к рабочему столу пользователя одновременно с пользователем (т.е. пользователь будет видеть все ваши действия, так же как и вы его). Часто это бывает удобно, но требует специфической настройки. В инете есть информация, ищите.
    П.5 - это обычная мера безопасности, которая обеспечит 50% безопасности вашей сети.
    П,6 - без этого пункта вы не сможете удаленно выполнять программы, требующие админских прав, на компах. Сам UAC отключать не стоит, вещь достаточно полезная.

    Имея эту базу, дальше вы уже можете прикручивать к сети прокси, фаерволы, почтовики и т.д. и т.п. не сильно отвлекаясь на поддержку пользователей и компов в сети.
    Но не ждите, что кто-то или что-то сделает эту работу за вас. Таких чудесных программ не существует. Вам придется погружаться во все детали самому.
    Изучите хотя бы один скриптовый язык программирования, встроенный в винду из коробки: cmd, powershell, JScript, VBScript. Сейчас, пожалуй, самый актуальный powershell. Это поможет частично автоматизировать ваши процессы.

    PS: Если что я 10 лет админил одноранговую сеть из более чем 100 компов. АД там не разворачивалась по "идеологическим" причинам я в этом был не виноват :-)
    Ответ написан
    6 комментариев
  • Как в авто режиме генерировать запросы в сеть?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    Как вариант, отслеживай изменения API через Swagger и меняй свои запросы на основе этого.
    Но это какая-то дичь, высосанная из пальца. Нафига тебе это говно?
    Никто так не делает
    Ответ написан
    2 комментария
  • Как в авто режиме генерировать запросы в сеть?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    В такой ситуации я бы свой бакенд поднял.
    И при изменениях у поставщика апи вносил изменения на своем сервере, а не перерелизил приложение. Лаг с модерацией до 3х дней, да и заставить пользователей обновиться та еще проблема.
    Ответ написан
    Комментировать
  • Как лучше разместить в оперативной памяти массив комплексных чисел с точки зрения производительности?

    @res2001
    Developer, ex-admin
    Удобнее использовать массив структур:
    struct complex_t {
    float re, im;
    };

    Смысл тот же, что и в c[2*N], но пользоваться удобнее и читабельность кода повышается.
    Учтите, что операции над double обычно выполняются дольше, чем над float.
    Ответ написан
    Комментировать
  • Как получить данные публичной гугл таблицы в виде .json из фронтенда?

    TTATPuOT
    @TTATPuOT
    https://code.patriotovsky.ru/
    По первой ссылке в гугле оказалось, что у таблиц есть вот такой роут:
    https://spreadsheets.google.com/feeds/cells/YOURGO...

    YOURGOOGLESHEETCODE и SHEETPAGENUMBER заменить на ваши. Например:
    https://spreadsheets.google.com/feeds/cells/1g4FBk...
    Ответ написан
    4 комментария
  • На чём делать телефонию?

    sergey-kuznetsov
    @sergey-kuznetsov
    Автоматизатор
    Бесплатный Issabel всё это умеет. Настраивается мышкой в веб-интерфейсе.
    Если городской номер на аналоговой линии, то прикупить шлюз с FXO-портом. Если провайдер современный, то предоставляет доступ к номеру через SIP и шлюз не понадобится.
    Если трубки аналоговые, то им понадобится шлюз с FXS-портами, но лучше сразу пользоваться IP-телефонами либо на обычные мобильники поставить SIP-клиент.
    Ответ написан
    Комментировать
  • Почему regex101 и php возвращают разный результат?

    @galaxy
    Потому что у вас и строки разные, и выражения.
    В PHP парсер строк обрабатывает обратный слеш:
    $z = "Запрос на доступ\nТелефон: 79991457764\nДанные: Останкин Ostoonekeen";
    $r = "/(?<=\\n).*/";
    var_dump($z);
    var_dump($r);
    
    /*
    string(101) "Запрос на доступ
    Телефон: 79991457764
    Данные: Останкин Ostoonekeen"
    string(11) "/(?<=\n).*/"
    */


    На regex01 такой обработки нет и \n - это именно слеш и буква n.

    Используйте одинарные кавычки для таких строк (или удваивайте количество слешей).
    Ответ написан
  • Нарвался в гугл рекламе на такое изображение, что это за зверь такой?

    Zettabyte
    @Zettabyte
    Проф. восстановление данных ▪ Вопрос? См. профиль
    Это стоковая картинка надгробия. Гораздо интереснее, действительно, то, как рекламируемый сайт сумел её добавить.

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

    Ещё вариант, если у вас есть платящий гуглу клиент - это написать в поддержку и прямо спросить "как мне тоже прикрутить такое?". Платным пользователям гугл со скрипом, но обычно отвечает.
    Ответ написан
    2 комментария
  • Как получить скорость в 7000 mb/s на ssd m2?

    Zettabyte
    @Zettabyte
    Проф. восстановление данных ▪ Вопрос? См. профиль
    Нижний слот у вас соединён с чипсетом, соответственно, он залочен на использование линий PCIe 3.0.

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

    Сложно говорить о семи тысячах, но думаю, что в районе 5000 МБ/с вы наверняка получите. Не забывайте только, что высокая скорость записи будет примерно на четверти объёма, дальше даже динамический SLC-кэш будет заканчиваться.
    Хотя, если вы собираетесь играть, не работая с какими-то большими проектами, то не совсем ясно зачем нужна такая скорость - она будет скорее приятным бонусом.

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

    P.S.
    Если же моё предположение о назначении нового компьютера неверно и вы собираетесь интенсивно использовать диск, то на мой взгляд, куда важнее будет озаботиться охлаждением.
    Активно гонять такой ССД без охлаждения явно не стоит - от перегрева он может отправиться в мир иной гораздо раньше, чем вы ожидаете.
    Ответ написан
    8 комментариев
  • Как обратится к псевдониму имени класса используя переменную?

    Я тебя расстрою парень. Для динамического формирования нельзя использовать пространство имён Прийдется писать полный путь ручкми.
    https://www.php.net/manual/ru/language.namespaces....
    Ответ написан
    3 комментария