• Защита социальных сетей или как обходить блокировку парсинга?

    kocherman
    @kocherman
    Парсить FB надо на мощных виртуалках, на каждой виртуалке по 5-10 запущенных Chrome, никаких selenium. Переписываешь скрипты на Userscript. Много IP достигается покупкой premium-proxy-list. Однотипный поиск делать бесполезно. Надо смотреть фото, читать комменты, соблюдать рандомные задержки. Изредка ставить лайки. Не забывай эмулировать разные разрешения экрана и разные размеры окон.
    Ответ написан
    8 комментариев
  • Честно ли будет человеку создавать сайт на конструкторе и брать за это деньги?

    makssof
    @makssof
    Web-разработчик
    Нужно понять, что клиенты платят не за продукт, а за человекочасы, которые порождают этот продукт.
    Если результат есть, то потраченное на создание время должно быть оплачено

    Зайди на фриланс, увидишь $n/час
    А, к примеру, workle именно так и работает: фриланс в конструкторе сайтов
    Ответ написан
    Комментировать
  • Честно ли будет человеку создавать сайт на конструкторе и брать за это деньги?

    GavriKos
    @GavriKos
    Если итог работы будет полностью удовлетворять постановке задачи и не будет претензий у заказчика - то какая разница?
    Ответ написан
    Комментировать
  • Что лучше использовать #include или LoadLibrary?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Насколько я понимаю.
    В include описывается библиотека, она может быть статической линковки, так и динамической.
    В случае динамической линковки компилятор берет на себя все ваши вызовы loadLibrary, getProcAddress и прочее.

    1) Откуда берёт библиотеки LoadLibrary ?

    Папка приложения, Системные пути (PATH), knowdlls, полный путь до библиотеки

    2) Проверяет ли LoadLibrary подпись библиотеки, если берёт её из системных путей ?
    да,
    https://msrc-blog.microsoft.com/2014/05/13/load-li...

    3) Уменьшится ли размер исполняемого файла если использовать только LoadLibrary, без #include ? {Один не в счёт, надо же как-то брать HMODULE, WINAPI и прочие штуки ...}
    Линкуйте библиотеки динамически, размер уменьшится, LoadLibrary ни как не влияет.

    4) Что лучше использовать #include или LoadLibrary ?
    5) Если библиотека существует и существует метод к которому я хочу обратится, может ли появиться ошибка ?

    Понимание что они такие жирные
    https://rsdn.org/article/cpp/crt.xml
    Как загружается PE файл
    https://rsdn.org/article/baseserv/peloader.xml
    Ответ написан
    Комментировать
  • Что лучше использовать #include или LoadLibrary?

    @MarkusD Куратор тега C++
    все время мелю чепуху :)
    Вопрос, на самом деле, заключается не в выборе межу LoadLibrary и #include, а в выборе между явным и неявным связыванием.

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

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

    Директива препроцессора #include[?] лишь косвенно относится к вопросу. На самом деле к вопросу относится директива #pragma comment( lib )[?].
    Прагма работает только для cl - компилятора от Microsoft. Подключаемая таким образом статическая библиотека должна находиться в перечисленных Library Path, в настройках сборки проекта. Эта прагма является альтернативой прямого указания статической библиотеки в настройках сборки проекта.
    Эту директиву любят использовать в сторонних заголовках, код для которых поставляется только в бинарном виде, в статических или динамических библиотеках. Вместе с динамической библиотекой такого решения поставляется и библиотека статическая, в которой находятся инструкции для неявного связывания с динамической библиотекой. Результатом работы #pragma comment( lib ) с такой статической библиотекой будет неявное связывание твоего кода с указанной динамической библиотекой.

    Размер PE ощутимо растет при компоновке из статических библиотек.
    Явное и неявное связывание слабо влияют на размер PE, но явное связывание усложняет жизнь разработчика, т.к. поддерживать загрузку интерфейса библиотеки разработчику придется самому.
    Ответ написан
    Комментировать
  • Что изучать дальше в Python?

    approximate_solution
    @approximate_solution
    JS Developer. Angular\React\Vue\Ember
    Не слишком сложные, иногда даже лёгкие попадаются. Но вот проблема.

    Пора с этим заканчивать. Решать задачи ради решения задач - тупиковый путь.
    Плюс к этому прочитать ещё пару книг(в планах прочитать: грокаем алгоритмы, изучаем python)

    Книги тоже очень хорошо, но как правило если вы хотите писать что либо на python, самое правильное решение - писать что нибудь на python
    Вот вам пример проектов - https://proglib.io/p/great-python-projects/
    Для начала начните с простых, вроде калькулятора, либо записной книжки с стикерами типо драг&дроп, постепенно повышая сложность пет проектов.

    далеко мне ещё до написания реальных проектов(хоть и не больших), но боюсь, что мотивация пропадёт...

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

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Вы наверное слышали про телеграмм и понты Павла про олимпиадниеов, и как их разнесли нормальные программисты. Основная проблема олимпиадниеов на мой взгляд решение задачки за 42 секунды. Пусть она будет кривой но уложись в тайм лимит, и дело в общем то не в этом. Эти ооимпиадники прилетают и снят своё гуано вокруг,
    Ответ написан
    4 комментария
  • Как определиться с профессией?

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

    vvpoloskin
    @vvpoloskin
    Инженер связи
    В универе в 2005 я начинал учить программирование с C, Для факультатива учил ассемблер, в 2008 год поработал программистом, коммерческая разработка не понравилась, уволился, из офисного кресла 2 года поработал монтажником, дальше сетевым админом, сетевым проектировщиком и теперь работаю системным архитектором ИТ (программирование, сети, стройка). Это к тому, что не надо в 15 лет пытаться выбрать дело всей жизни, нужно пробовать и останавливаться на том, что понравится.

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

    origami1024
    @origami1024
    went out for a night walk
    Исходя из того, что тут твой код работает:
    https://www.programiz.com/python-programming/onlin...

    Предвижу что у тебя есть переменная с названием time в этом файле, которая затирает модуль time. Скорее всего где-то на 15ой строке
    Её нужно переименовать (например, в netime)
    Ответ написан
    3 комментария
  • Как по нажатию кнопки остановить все демон потоки?

    LaRN
    @LaRN
    Senior Developer
    Можно использовать библиотеку threading, там есть такая сущность как event. С помощью event можно послать сигнал всем потокам, а потоки получив этот сигнал могут или приостановиться или самоуничтожиться.

    Пример использования есть тут:
    https://www.bogotobogo.com/python/Multithread/pyth...
    Ответ написан
    Комментировать
  • Cpu нагрузка nginx много статики sos?

    1 Дохлый процессор сервера не вытягивает по нагрузке
    2 Никакущий диск или вообще убитый диск, где лежит статика
    3 Кривые и косые настройки nginx
    4 Подобная беда наблюдается, когда с сервера надо отдавать много мелких картинок раскиданных по тысячам папок с подпапками на файловой системе XFS
    5 Кто-то нашёл тяжёлые запросы и дедосит, не сильно, сервер
    6 Комбинация вышеприведённого
    7 Диск со статикой сетевой и это зло медленно работает

    Посоветуйте как бороться с нагрузкой Cpu nginx много статики
    1 Настроить и подключить кэширование статики
    2 Разбираться с настройками сервера, анализировать входящий трафик, смотреть на аппаратуру
    Ответ написан
    Комментировать
  • Как правильно передать в RegSetValueEx в lpData NULL?

    @MarkusD Куратор тега C++
    все время мелю чепуху :)
    Начнем с простого.
    sizeof( expresion ) позволяет узнать минимально допустимый размер памяти, требуемый для того чтобы память могла вместить объект с типом результата утверждения expresion.
    sizeof( value ) вернет размер LPCWSTR, т.е. размер типа const wchar_t*.

    wcslen не допускает передачу нуля в качестве своего параметра. Забота об этом лежит полностью на тебе.

    RegSetValueExW может принимать нуль в параметре lpData, но тогда cbData обязан содержать 0. Но в целом, это очень плохая практика. Если тебе нужно записать пустую строку, пиши пустую. строку. Т.е. "", но не нуль.

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

    Далее, по самому коду. Его тяжело читать.
    Как читать будет легче
    bool modifyKey( HKEY root_hey, const std::wstring_view& path, const std::wstring_view& key_name, const std::wstring_view& new_value )
    {
       HKEY folder_key;
    
       if( RegCreateKeyW( root_hey, path.data(), &folder_key ) != ERROR_SUCCESS )
       {
          return false;
       }
    
       const BYTE* const value_buffer = reinterpret_cast<const BYTE*>( new_value.data() );
       const DWORD buffer_size = static_cast<DWORD>( new_value.length() * sizeof( wchar_t ) + 1 );
       if( RegSetValueExW( folder_key, key_name.data(), 0, REG_SZ, value_buffer, buffer_size ) != ERROR_SUCCESS )
       {
          RegCloseKey( folder_key );
          return false;
       }
    
       if( RegFlushKey( folder_key ) != ERROR_SUCCESS )
       {
          RegCloseKey( folder_key );
          return false;
       }
    
       RegCloseKey( folder_key );
       return true;
    }
    Ответ написан
    7 комментариев
  • Как решить archiver.Zip.Make undefined?

    tumbler
    @tumbler
    бекенд-разработчик на python
    Ну если сурсы старые, то скорее всего вам придется сделать их совместимыми с настоящим временем.
    Ответ написан
  • Как решить archiver.Zip.Make undefined?

    Банально: нужно использовать известный метод вместо Make.
    Без кода ничего больше добавить нельзя.
    Ответ написан
    9 комментариев
  • Как открывать ссылки через мое приложение (ПК) как в телеграме?

    hottabxp
    @hottabxp Куратор тега Python
    Сначала мы жили бедно, а потом нас обокрали..
    Как запустить мою программу при открытии ссылки в ... По ссылке вопрос по c#, но это значение не имеет, так как там в основном работа е реестром.
    PS: Telegram в теге лишний.
    Ответ написан
    Комментировать
  • Где найти оригинальны windows 95?

    hottabxp
    @hottabxp
    Сначала мы жили бедно, а потом нас обокрали..
    Rutracker -> Программы и Дизайн » Операционные системы от Microsoft » Настольные ОС от Microsoft (выпущенные до Windows XP)

    оригинальный бесплатный продукт, желательно с ключами активации
    WHAT???
    Ответ написан
    Комментировать
  • Как получить первый элемент массива, если есть указатель на массив(wstring)?

    Если есть указатель на первый элемент массива строк wstring* arr, то *arr — первая строка в нём; (*arr)[0] — первый символ первой строки. Тут всё верно.

    А программа не работает вот почему. Вернуть сырой массив из функции C++ невозможно никаким образом. (В данном случае, возвращается указатель на уже удалённый массив!) Решение: не использовать сырые массивы, а создавать, наполнять и возвращать vector<wstring>. В данном случае, подходит именно вектор, т.к. в строке может быть разное число слов.
    Ответ написан
    4 комментария
  • Вернуть компьютер в исходное состояние - это?

    mindtester
    @mindtester Куратор тега Windows
    http://iczin.su/hexagram_48
    это равносильно чистой установке операционной системы?
    да
    Или если вирусы/вредоносное ПО внедрились в систему, то функция «Вернуть компьютер в исходное состояние» их не удалит?
    ни кто не может гарантировать, что 0-дай уязвимости вас не настигнут в любой позе, в любое время, в любом месте

    ps разве что можно считать, что ресет системы достаточно сильно снижает вероятность повторного заражения для большинства угроз
    Ответ написан
  • В параметрах функции ставится двоеточие или запятая?

    @historydev Куратор тега JavaScript
    Острая аллергия на анимешников
    Это вспомогательная функция редактора, название параметра который принимает функция, для упрощённого чтения кода.
    Ответ написан
    Комментировать