Задать вопрос
  • Кто больше зарабатывает: веб-дизайнер или верстальщик?

    Больше всего зарабатывает профессионал своего дела.
    Ответ написан
    Комментировать
  • Какую винду поставить?

    xez
    @xez
    TL Junior Roo
    "В игры не играет" - ставьте linux.
    Ответ написан
    1 комментарий
  • Как парсить с Virustotal анализ на вирусы автоматически?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    Ответ написан
    Комментировать
  • Как увеличить подъемную силу дрона?

    @svoleg
    Как увеличить подъемную силу дрона?

    Мои ответ будет касаться беспилотных, летательных, роторных дронов, а также коптеров с произвольным количеством винтов (мультикоптер), далее - коптер.

    Подъёмную силу коптера можно увеличить на 10% (цифра получена экспериментально) за счёт установки на коптере плоского аэродинамического экрана. Причём, увеличение подъёмной силы будет проявляться, как при движении коптера, так и при зависании коптера на одном месте.
    Привожу рисунок размещения плоского аэродинамического экрана на коптере.
    5f247e8a4d0a3926761835.jpeg
    Привожу рисунок воздушных потоков вокруг плоского аэродинамического экрана.
    5f247eda8d8b1569829592.jpeg
    Суммарная площадь отверстий в аэродинамическом экране должна быть близка к площади поверхности аэродинамического экрана, не занятого отверстиями (зависимость получена экспериментально).

    Больший эффект увеличения подъёмной силы (на 12%, цифра получена экспериментально) достигается при использовании изогнутого экрана. Привожу рисунок изогнуто аэродинамического экрана.
    5f2480530014a129193777.jpeg
    Объясняется данное явление законом Бернулли, в соответствии с которым происходит понижение давление в газовом потоке при увеличении скорости данного газового потока (показано на рисунке).
    5f24807f19d04478001472.jpeg
    Т.е. над аэродинамическим экраном устанавливается постоянное пониженное давление за счёт постоянного оттока воздуха с поверхности аэродинамического экрана в отверстия, в которых вращаются винты. Таким образом, дополнительная подъёмная сила (плюс 10…12%) появляется за счёт пониженного воздушного давления над поверхностью аэродинамического экрана.
    Ответ написан
    4 комментария
  • Какая существует программа для выявления (16+) картинок среди остальных изображений?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    Значит и программа такая должна быть для обычного пользователя?

    с чего бы оно значит и должна?

    боты юзают Nudity Detector

    https://deepai.org/machine-learning-model/nsfw-detector
    https://www.picpurify.com/nudity-detection.html

    или самостоятельно написать можно, есть даже на JS примитив
    Ответ написан
    6 комментариев
  • Почему CRC32 файла не рассчитывается и равен FFFFFFFF?

    15432
    @15432
    Системный программист ^_^
    1. Почему же всё-таки CRC32 файла вне зависимости от расширения не рассчитывается в то время, когда остальные алгоритмы работают исправно?

    Он рассчитывается.

    2. Что означает результат "FFFFFFFF"?

    Число 0xFFFFFFFF, в десятичной системе 4294967295

    3. Как альтернативными путями рассчитать CRC32 файла в 11-12 Мб?

    можно взять другой полином, например, CRC-32 CCIT, тогда получится другой результат

    4. Что можно изменить в файле, если результаты расчёта его CRC32 равны FFFFFFFF?

    Изменение значения любого байта в файле приведет к другому значению CRC32. Имя и расширение не является содержимым файла и на хеш не влияет.

    Предполагаю, что в файле заложена какая-то мина, которая мешает срабатыванию алгоритма CRC32 и зацикливает его. Или я не прав? Это только мои домыслы.

    Да нет, скорей всего в конце файла уже записано значение CRC32 всех предыдущих байт, из-за чего получается такой эффект. Можете считать это своеобразной проверкой целостности. Если CRC32 файла не будет равно 0xFFFFFFFF, файл будет считаться повреждённым. Видел такое в прошивках устройств.
    Ответ написан
    7 комментариев
  • Как правильно "разрезать" h264 фал?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Коротко - вы опухнете вручную разгребать всю ту чепуху из бит, которой является файл в формате h264. Там контейнер в контейнере контейнером погоняет.

    Возьмите libav и не ломайте себе голову.

    Длинно:
    h264 - это формат сжатия видео, который содержит опорные и всякие разные промежуточные кадры. Опорный кадр содержит в себе все что нужно для инициализации кодека, поэтому, если аккуратно угадать, можно добиться того, что декодер сможет инициализироваться и продолжить работу. Однако для этого, нужно аккуратно проанализировать весь битовый поток.

    Далее, сжатое видео может лежать в каком-то медиаконтейнере, которых много. Скорее всего, регик пишет в h264-annex B (это то, что надо гуглить), который является цепочкой блоков NAL разного сорта. Среди них есть блоки, содержащие настройки кодека, по которым можно понять, что вот этот вот кадр - это I-Frame, и на нем можно видео порезать. Но там еще нужно что-то придумывать с метками времени, иначе вместо перемотки у вас получится дурдом.

    Каждый блок NAL содержит заголовок, а заканчивается значением 00 00 00 01

    Так что первым этапом можете написать дампалку, которая будет выковыривать блоки NAL и писать их размер и тип. Можно нагуглить такую дампалку (они есть) и сидеть, сравниваться.
    Ответ написан
    1 комментарий
  • Как собрать команду блокчейн разработчиков? Где их найти? Как договориться?

    Adamos
    @Adamos
    Скорее всего, ваш "проект" так успешно "продался" именно потому, что
    Мы то сами не разработчики ни разу да и в технологии шарим "поверхностно"

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

    "Ведущие издатели очень заинтересованы в нашей ААА-игре об ограблении корованов, теперь нужно только ее написать".
    Ответ написан
    Комментировать
  • Php! или === null?

    Maksclub
    @Maksclub Куратор тега PHP
    maksfedorov.ru
    if($error === null){} предпочтительный (иногда он обязательный по стандартам), тк вариант if(!$error){} — это авто-приведение к bool:

    • например 0 приведется к false, в то время как он может быть валидным интовым значением
    • пустой массив — тоже может быть валидным значением, но с !$arr он приведется к false... конечно допускать в программе одновременно и [] и null стоит как можно реже, но такое может произойти


    !$any можно использовать комфортно, когда вы (и программа) уверена, что работает либо с объектом, либо с bool
    Ответ написан
    Комментировать
  • Как передать пару десятков сайтов их владельцам?

    inoise
    @inoise
    Solution Architect, AWS Certified, Serverless
    Ну, в принципе передача состоит из:
    1. написания документации
    2. передачу документации и доступов
    3. удаление у себя доступов


    В любом случае написать документацию стоит: о том где что находится, под какими аккаунтами, на каких серверах, где и какой репозиторий, как происходит ci/cd (даже если он происходит руками). Если есть возможность то стоит собрать простенький ci/cd в вашем репозитории (благо обычно есть бесплатный уровень использования).

    Лично я веду уже по всем своим проектам confluence. Благо, для личных нужд он free, если не перегибать палку. Если не хочется так то и простых документов в Word тоже будет достаточно.

    Очень важно не только кинуть в лицо человеку документацию и доступы, но и проверить что он понял и у него нет вопросов. Например, можно провести одну сессию по скайпу с расширенным экраном. Также важно закрыть общение. То есть предупредить что вы сжигаете мосты и поддержкой заниматься не планируете. Это очень важный шаг, который если забыть то призраки прошлого будут еще очень долго преследовать
    Ответ написан
    Комментировать
  • Как добавить SSD в программный RAID-1 в Win7?

    pindschik
    @pindschik
    ФЫВА ОЛДЖ
    1) Отключить на время все диски, кроме Целевого SSD. Взять флешку с виндой. Точно такой же как ваша. Поставить ее на SSD обычным способом, пустую.
    2) Подключить только Исходный HDD и Целевой SSD, взять флешку с AdminPE, загрузиться с нее. Там есть Image For Windows - им склонировать ТОЛЬКО 1 раздел с системой с Исходного (диск С) на Целевой (поверх диска С свежеустановленной винды). ТОЛЬКО 1 раздел - в 1 раздел, а не всё!
    3) Оставить только Целевой SSD, загрузиться с него, убедиться что система стартует (без остальных дисков - это важно).
    4) Оставить только Исходный HDD, загрузиться с флешки с AdminPE и удалить раздел С (не форматировать, а удалить).
    5) Все подключить и возрадоваться.

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

    С SSD Raid не делайте, это будет плохо. Там не будет работать TRIM. Он сдохнет (сперва в переносном, в потом в прямом смысле).
    Ответ написан
    Комментировать
  • Можно ли в PHP определить сколько аргументов требует функция?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    https://www.php.net/manual/ru/class.reflectionfunc...
    function func($arg1, $arg2 = null) {}
    
    $refFunc = new ReflectionFunction('func');
    print $refFunc->getNumberOfParameters(); // 2
    print $refFunc->getNumberOfRequiredParameters(); // 1
    Ответ написан
    Комментировать
  • Повреждение стека вокруг переменной - как побороть?

    @MarkusD Куратор тега C++
    все время мелю чепуху :)
    Соглашение __stdcall обязывает пользователя функции передать параметры функции на стеке по значению, но освобождает его чистить стек после вызова. Стек от параметров чистит сама вызванная функция.

    В результате подмены сигнатуры с BOOL (__stdcall *)(HANDLE, PBOOL) на bool (__stdcall *)(void*, bool*) компилятор думает об одном размере стека, а код функции - о других.

    Поэтому сигнатуры и соглашение о вызове импортируемой функции всегда должны совпадать с объявлением этой функции в импортируемой библиотеке! Вообще всегда! Даже при условии следующего текста.

    Однако, конкретно тут проблема у нас не в несовпадении типов, потому что.
    __stdcall свой результат передает через регистр. регистр используется целочисленный или вещественный. Для целочисленного регистра используется правило продвижения типа. Это означает, что функция, записав значение типа BOOL (размер 4Б) ничего не испортит пользовательскому коду, который прочитает из регистра все 4Б с учетом правила продвижения.

    Реальная проблема кроется в том, что указатель на однобайтовое целое (bool*) передается в использование как указатель на четырехбайтовое целое (BOOL* или PBOOL). Вызываемая функция ведь имеет сигнатуру BOOL (__stdcall *)(HANDLE, PBOOL) и со вторым параметром работает как с 4Б целым по указателю.
    Именно это и приводит к порче стека и тебе, автор, сильно повезло что ты запускаешься в отладке, где каждое значение на стеке обрамлено заборчиком, за сохранностью которого всегда приглядывает специальный сервисный код между обращениями к подпрограммам.

    Именно такой заборчик рядом с isWow64 и был поломан в результате вызова IsWow64Process с параметром неподходящей длины. Измени тип isWow64 на BOOL и все станет нормально, даже хендл "kernel32.dll" потом сможешь нормально освободить.
    Ответ написан
    5 комментариев
  • Почему Windows приложение может перестать запускаться?

    mindtester
    @mindtester
    http://iczin.su/hexagram_48
    Есть приложение написанное мной на С#...Приложение запускается с сетевого ресурса..
    даже странно что работало. сетевое расположение не является доверенным* для среды исполнения .Net

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

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

    skobkin
    @skobkin
    Гентушник, разработчик на PHP и Symfony.
    Смотрите в сторону PostmarketOS. Если в списке поддерживаемых устройств нет вашего - ваши шансы получить юзабельный Linux на смартфоне стремятся к нулю (есть редкие исключения, но в общем случае их рассматривать не стоит).
    Можете ещё на 4PDA и XDA по данной модели заглянуть, но скорее всего, там ничего не будет потому, что как сказано в другом ответе, есть проблемы с драйверами и фирмварью, которые часто распространяются в закрытом виде.
    Ответ написан
    Комментировать
  • Путь в программировании. Первый язык?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Смотря какая цель. Если вы сначала хотите получить фундаментальные знания (на практике, как бы это дико ни звучало), и при этом вы действительно никуда не спешите, то можно начать с Ассемблера. Конечно, без фанатизма, то есть слишком долго на нем останавливаться не стоит. Но он даст базу и общее понимание того, как оно работает под капотом более высокоуровневых языков.

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

    Однако если вы прицелены на конкретную задачу, то плясать уже можно от этой самой задачи, ее области применения, потому что, скорее всего, подходящим (лучшим) будет только один язык для данной области. Например, если задача сделать сайт - это это JavaScript и какой-то серверный язык. И, скорее всего, С++ вам для этой задачи не нужен, очевидно.
    Ответ написан
    5 комментариев
  • Встроенный браузер мобильно приложения VK не видит стили, как быть?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Спрашиваешь, как быть?
    Вот варианты:
    1) Забить болт. Пипл схавает.
    2) Не использовать стили вообще, тогда всё будет однообразно.
    3) Отделить некоторые стили от не некоторых, - это и будет решением.
    4) Отделить не все страницы от всех, - это и будет решением.
    5) Помолиться, чтобы эта магия испарилась.
    6) Сидеть в шоке и пялиться в экран, ожидая вразумительного ответа.
    7) Взять себя в руки и найти причину. Ты мужик или нет? Это задача даже не для программиста, с ней любой нормальный сис. админ справится.

    В общем, как видишь, однозначно ответить на вопрос нельзя. Любой из перечисленных вариантов является ответом, как быть в такой ситуации. Причем, это не ерунда какая-то, а реальные советы.
    Ответ написан
    Комментировать
  • Облачный сервис для node.js?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Берите любой vps. Наклейка "облачный" и SLA 99.999% добавит вам понтов и облегчит ваш кошелек.
    Впрочем посмотрите вывод команды top или как у меня диспетчера задач

    MAjEXQVixRRgx2.jpg
    Ответ написан
    7 комментариев
  • На чём построена структура интернета и есть ли шансы положить мировую систему?

    @MR27
    «Инцидент с AS7007». Первый раз интернет сломался в апреле 1997. В ПО одного роутера из автономной системы 7007 была ошибка. В какой-то момент роутер проанонсировал соседям свою внутреннюю таблицу маршрутизации и отправил половину сети в black hole.

    «Пакистан против YouTube». В 2008 году бравые ребята из Пакистана решили заблокировать у себя YouTube. Сделали они это настолько хорошо, что без котиков осталось полмира.

    «Захват префиксов VISA, MasterCard и Symantec компанией Ростелеком». В 2017 году Ростелеком по ошибке начал анонсировать префиксы VISA, MasterCard и Symantec. В результате финансовый трафик направился через каналы, которые контролирует провайдер. Утечка продолжалась недолго, но финансовым компаниям было неприятно.

    «Google против Японии». В августе 2017 Google начал анонсировать в части своих аплинков префиксы крупных японских провайдеров NTT и KDDI. Трафик отправился в Google как транзитный, скорее всего, по ошибке. Так как Google это не провайдер и транзитный трафик не пропускает, то значительная часть Японии осталась без Интернета.

    «DV LINK захватил префиксы Google, Apple, Facebook, Microsoft». В том же 2017 российский провайдер DV LINK начал зачем-то анонсировать сети Google, Apple, Facebook, Microsoft и некоторых других крупных игроков.

    «eNet из США захватил префиксы AWS Route53 и MyEtherwallet». В 2018 году провайдер из Огайо или кто-то из его клиентов проанонсировал сети Amazon Route53 и криптокошелька MyEtherwallet. Атака прошла успешно: даже несмотря на самоподписанный сертификат, предупреждение о котором появлялось пользователю при заходе на сайт MyEtherwallet, многие кошельки угнали и украли часть криптовалюты.

    Подобных инцидентов только за 2017 год было больше 14 000! Сеть все еще децентрализованная, поэтому ломается не все и не у всех. Но инциденты происходят тысячами, и все они связаны с протоколом BGP, на котором работает интернет.

    https://habr.com/en/company/oleg-bunin/blog/456582/
    Ответ написан
    9 комментариев
  • Как сдклать так чтобы мне каждую секунду прибавлялся баланс в базу и обновлялся на сайте каждую секунду?

    sergiks
    @sergiks Куратор тега PHP
    ♬♬
    Надо хорошенько запомнить то время, когда не было ничего, ноль на счете, ни шекеля в кармане.

    Количество секунд с того мрачного времени и есть число рублей на счете.
    Ответ написан
    1 комментарий