• Гугл проиндексировал то, что скрыто в роботс.тхт?

    @good-villain
    Упорот, но в меру
    На страничке, которую хотите скрыть, поставьте просто тег noindex. Правила robots почему-то не у всех срабатывает.
    Ответ написан
    Комментировать
  • Стоит ли использовать ссылки в PHP?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Не стоит.
    Вместо этого надо запомнить одно очень важное правило:

    Любую проблему следует решать только при её наличии.

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

    Если памяти скрипту хватает, то не надо вообще ничего оптимизировать.
    Если не хватает, то надо разобраться - почему, и устранить конкретную проблему.

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

    Не говоря уже о том, что ретиво бросившись решать какую-нибудь проблему, можно обнаружить, что она давно уже решена без твоей помощи. На досуге можешь почитать про copy-on-write
    Ответ написан
    Комментировать
  • Как научить принтер отрезать чек?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    отрез бумаги это одна из последовательностей байтов
    GS;V;0
    ESC;i
    ESC;d;0
    ESC;m

    возможно у вашего принтера другая команда
    CRM посылает в порт устройства байты.
    При печати html страницы участвует еще драйвер.

    И вот мне интересно какой драйвер на телефоне ?
    Да и посредник между сайтом и принтером для црм тоже интересен.
    Ответ написан
    3 комментария
  • Кто больше зарабатывает: веб-дизайнер или верстальщик?

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

    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) Взять себя в руки и найти причину. Ты мужик или нет? Это задача даже не для программиста, с ней любой нормальный сис. админ справится.

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