• Читабельность кода или скорость его выполнения?

    tzlom
    @tzlom
    Читабельность тоже не простой вопрос, я встречал людей для которых рекурсия менее читабельна чем цикл. Но читабельность это главное, суть в чём - код все равно когда-то придется менять (например он работает слишком медленно), если он не читабельный - его проще выкинуть, а это и потраченные ресурсы и риск.
    Ответ написан
    2 комментария
  • Как исправить вычисление хэша изображения при операции drag&drop?

    tzlom
    @tzlom
    Дождись загрузки изображения в Image перед вычислением хеша
    Ответ написан
    1 комментарий
  • Как ускорить код?

    tzlom
    @tzlom
    Мне кажется задача имеет аналитическое решение, т.е. можно вывести функцию от аргументов M и N которая бы не потребовала циклов при вычислении результата.
    Ответ написан
    Комментировать
  • Насколько сложнее C++ чем Java?

    tzlom
    @tzlom
    С++ сложнее джавы в плане метапрограммирования.

    Все эти разговоры про сложность управления памятью - крупное преувеличение, само по себе управление памятью вещь весьма простая - нужно просто не забывать что её нужно освобождать. Хоть в джаве и есть сборщик мусора (т.е. в принципе джава течь как С++ не может) по факту плохо использующая память программа на джаве может жрать память как не в себя и постоянно вставать на очистку мусора, как по мне - никакой разницы с С++ программой которая будет течь и падать, С++ хотя бы падать будет быстрее, что поможет при отладке :)

    Метапрограммирование в С++ это уже отдельная тема, там довольно много правил выведения типов, нет отладчика шаблонов и сообщения о простых ошибках могут быть очень многословны.

    Еще C++ ругают на Linux

    В первый раз слышу что у g++ есть плагины , вообще любая разработка под Linux гораздо проще чем под мастдай, любая библиотека установленная в систему очень легко доступна для ваших проектов, не надо ничего качать, ставить и собирать ручками как в винде, просто используете свой пакетный менеджер для установки пакетов и систему подключения оных в вашей системе сборки.
    Ответ написан
    1 комментарий
  • Что должен знать middle c++ разработчик?

    tzlom
    @tzlom
    Всё в разумных пределах, senior это middle умудрённый опытом, в его задачу входит выбирать инструменты и подходы, контролировать стиль и архитектуру а пишут потом все вместе.
    Ответ написан
    Комментировать
  • Как убрать декорацию функции?

    tzlom
    @tzlom
    Если под загружается динамически имеется ввиду линковка с .so , то это работает (пишу на всякий случай, мало ли).
    Убирать декорацию в самой библиотеке как мне кажется не самая лучшая мысль, но есть другой путь.
    Вам нужно в библиотеке объявить С функцию, которая вернёт нужные вам указатели на С++ функции.
    Это совершенно адекватный способ, например Qt использует похожий подход только функция конструирует объект наследованный от QPlugin
    Ответ написан
    Комментировать
  • Есть ли набор паттернов для проектирования собственных GUI контролов из приметивов?

    tzlom
    @tzlom
    Не совсем ответ - но выкиньте MFC туда где ему место ещё 8 лет назад и используйте Qt + QML.
    Ответ написан
    Комментировать
  • Как перенять объектно-ориентированное мышление?

    tzlom
    @tzlom
    Очень просто.
    Для начала - признайтесь себе что процедурное программирование у вас тоже страдает (иначе бы у вас не было этого вопроса), это не страшно, но с этим тоже надо что-то решать.
    Берёте любой свой процедурный проект (лучше маленький чтобы не застрять в рутине).
    Шаг первый - всё есть функция, поэтому весь код вне функций кладёте в функции, итого у вас получается что вне функций идёт только вызов main() (или как вы её назовёте)
    Второй шаг - функции работают только с тем, что в них передали. Удаляете глобальные переменные.
    Появляется проблема глубокой вложености, т.е. у вас внутри вызова А вызывается Б а в ней В которая хочет переменную из области видимости А, и таких случаев много. Тащить в Б все эти переменные - грустно и печально, поэтому делаем хитрость, каждая функция первым аргументом получает массив неких значений. Правило одно - функции не меняют имена и количество переменных в массиве, только значения.
    Третий шаг - функции должны быть короткими, выносите повторяющийся код в отдельные функции, если в функции используется много переменных - это повод разбить её на несколько меньших.
    Четвёртый шаг - вы уже пишете на ООП. Если 3 шага правильно сделаны, то осталось только оформить это дело согласно новым правилам - первый аргумент-массив это члены класса, соответственно функции использующие одинаковый массив - методы этого класса, прийдётся разобраться с доступом к полям и отдельными зависимостями, но это уже будет просто и понятно когда ты до этого доберёшься.
    Ответ написан
    4 комментария
  • Как лучше обработать такой вебхук?

    tzlom
    @tzlom
    проверяем входные данные
    fastcgi_finish_request
    и после этого уже начинаем работу

    только надо помнить что лимиты на время исполнения это не снимает
    Ответ написан
  • Почему не запускается Mint?

    tzlom
    @tzlom
    он вам говорит что не может найти носитель с которого бы мог загрузиться - возможно вы отключили жёсткий диск от виртуалки? зайдите в биос виртуалки гляньте какие носители он видит
    Ответ написан
  • В чем заключается ошибка в запросе SQL?

    tzlom
    @tzlom
    возможно - strict режим сервера, а у вас $count === "5" (в смысле это строка)
    Ответ написан
    Комментировать
  • Можно ли это решить, составить формулу/алгоритм?

    tzlom
    @tzlom
    тут вопрос в условии, если читать буквально, то система уравнений такая:
    N = N1*M1 + N2*M2 +N3*M3
    M = M1 + M2 + M3
    M1>=0
    M2>=0
    M3>=0
    очевидно - её можно решить, но решений может быть больше 1го
    тривиальный алгоритм - перебором всех возможных M1,M2,M3
    Ответ написан
    1 комментарий
  • Можно ли заряжать с большим или меньшим выходным напряжением?

    tzlom
    @tzlom
    Смотри полярность не перепутай, обычно рядом есть значок символизирующий какой полюс на центральном пине а какой на наружнем
    Ответ написан
  • На сколько ресурса затратно операция получения даты - микросекунд с 1970 в современных языках?

    tzlom
    @tzlom
    Для частого и максимально точного времени:
    OS:
    clock_gettime( CLOCK_REALTIME

    Windows:
    QueryPerformanceFrequency + QueryPerformanceCounter

    Mac:
    mach_timebase_info + mach_absolute_time

    ну а дальше при желании корректируем до UNIX timestamp
    Ответ написан
    Комментировать
  • Как скомпилировать проект под Mac OS X на Qt 5.7?

    tzlom
    @tzlom
    Ну скомпилить то ты скомпилишь, а проверять как?
    Поставь хакинтош в виртуалку и не мучайся
    Ответ написан
    Комментировать
  • В чем проблема неявного поведения при создании двух экземпляров одного класса?

    tzlom
    @tzlom
    require_once включает файл только один раз, на втором вызове файл не подключается и $$config не существует
    Ответ написан
  • Как собрать схему с микроконтроллером?

    tzlom
    @tzlom
    Если нужно тупо передавать данные от одного компа к другому по USB то всё вообще просто:
    берёшь 2 преобразователя UART/USB, соединяешь между собой, профит.
    Стоимость одного устройства - 170 руб/ 100руб на али

    Копирование файлов можно будет сделать из командной строки - перенаправлять ввод/вывод из/в COM порт.
    Провод можно сляпать из UTP - дёшево и сердито.
    Ответ написан
    Комментировать
  • Как перезалить папку с файлами/файл на github не внося изменения?

    tzlom
    @tzlom
    Может просто не в ту ветку смотрите?
    Ответ написан
    Комментировать
  • Rust или C++/C?

    tzlom
    @tzlom
    Если какие-то мелкие проекты - можно рисковать и пробовать Rust. Хоть язык и стабилизировался (хотя я не удивлюсь если будет ещё 2-3 минорных изменения не совместимых с 1.0) нет наработок по best practice, объективно документация страдает (подотстала от языка) и нет чёткого описания всех возможностей сложенного в одном месте. Концепция владения подставляет иногда ногу и привычные вещи делаются не так как обычно.
    Это не Rust плохой, это пока малое сообщество, но допустим лично я заинтересован в этом языке, и начал писать минорный проект на нём - чтобы изучить язык и освоиться с новыми концепциями. Возможно реализация владения в Расте - не идеальна, но я думаю в ближайшие 5 лет мы увидим как новые языки подбирающиеся к этой идее, так и надстройки к существующим позволяющие перенять плюсы этой системы, поэтому для себя лично я выделил это как целевое направление изучения и потихонечку копаю.
    Ответ написан
    Комментировать
  • Чем сгенерировать PHP-классы из XSD-схем?

    tzlom
    @tzlom
    Гуглите WSDL to PHP , на том же гитхабе десятки подобных проектов, сам ничего из этого не использовал поэтому советовать не могу.
    Из собственной практики - вопрос о работе с WSDL вставал один раз (и это была эпоха до композера, тогда всё было гораздо грустнее в плане количества и качества библиотек), решился он просто - какой-то популярной джавовой тулзой я попытался делать запросы и был послан сервером, от всего стека был только WSDL файл, сами запросы не работали.
    Ответ написан
    Комментировать