• Честно ли будет человеку создавать сайт на конструкторе и брать за это деньги?

    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?

    2ord
    @2ord
    Банально: нужно использовать известный метод вместо 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
    Редактирую файлы с непонятными расширениями
    Это вспомогательная функция редактора, название параметра который принимает функция, для упрощённого чтения кода.
    Ответ написан
    Комментировать
  • Расскажите про ваш опыт обучения C++ по книгам?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Ни книга ни курсы ни статьи вас не учат.

    Это вы учитесь (если учитесь), пользуясь разными инструментами - книгами, курсами, практической работой.

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

    Если ни то ни другое, тяжело вам будет, наверное. Мозг не любит ломать привычки, будет подталкивать вас на прокрастинацию такими способами, что и сами не заметите.
    Ответ написан
    Комментировать