Задать вопрос
  • Почему в некоторых мониторах 144 Гц?

    @rPman
    https://hi-news.ru/computers/pochemu-igrovye-monit...
    144 — это 24 умноженное на 6. Все текущие герцовки дисплеев делятся на 24: 120 Гц, 144 Гц, 240 Гц, 360 Гц.
    Ответ написан
    7 комментариев
  • Не открывается exe файл после компиляции gcc. Что делать?

    @dima20155
    you don't choose c++. It chooses you
    Что значит не открывается?
    Если у вас приложение, которое выводит "hello world", то вы просто не успеете увидеть, результат, как оно мгновенно закрывается. Если я прав, то используйте std::getchar(); (или её С аналог) в конце.
    Ответ написан
    2 комментария
  • Экранирование sql запросов, достаточно ли функции?

    Adamos
    @Adamos
    Самописные "защиты от инъекций" вследствие непонимания автором того, что он вообще делает, обычно убивают двух зайцев сразу.
    И оставляют дыру в безопасности, и портят данные в базе.
    Для реальной защиты подготовленного запроса, как правило, достаточно. Но если очень постараться, дырку можно проделать и в нем.
    Ответ написан
    Комментировать
  • Экранирование sql запросов, достаточно ли функции?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Эта функция не самописная, а цельнотянутая. Причем из самых смрадных помоек интернета.
    К защите от инъекций не имеет вообще никакого отношения.

    - trim() ни к инъекциям, ни к защите отношения не имеет
    - stripslashes() просто бессмысленная функция, которая только портит данные
    - htmlspecialchars() не имеет отношения к SQL. Применяется при выводе данных, а не при получении
    - real_escape_string() - единственная функция, которая имеет отношение к SQL, но при этом вообще не предназначенная ни для каких защит.

    Попробуйте на основании этой информации самостоятельно оценить полезность вашей функции.

    Возьмем классический пример
    $_GET['id'] = '1;DROP TABLE Students;';
    $id = formatstr($_GET['id']);
    $sql = "SELECT * FRPM Students WHERE id=$id";

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

    Как правильно все отметили выше, для защиты от инъекций используются подготовленные запросы, в которых все переменные заменяются на специальные маркеры, и передаются отдельно.
    Ответ написан
    2 комментария
  • Зачем нужен метод clone() если есть ссылки?

    bingo347
    @bingo347
    Crazy on performance...
    Метод clone из трейта Clone производит копию некоторого ресурса, мы получаем еще один ресурс во владение. При этом данные не обязательно копируются, логика может быть любой, например Rc и Arc в нем просто увеличивают счетчик ссылок, а ресурс остается одним, разделяя владение на несколько владельцев.
    Ссылки ограничены временем жизни ресурса, на который они ссылаются, к тому же менять ресурс мы можем только по уникальной ссылке, а метод clone создаст копию ресурса и отдаст владение этой копией, что позволит этой копии жить дольше, чем исходный ресурс, а так же изменять эту копию независимо от исходного ресурса.
    Ответ написан
    1 комментарий
  • Почему сильно напрягаются глаза от ноутбука с IPS?

    GavriKos
    @GavriKos
    Микропетпроджект - домашнее облако homeCloud
    Дело может быть в чем угодно. Глаза индивидуальны. Так вот чтобы докинуть:
    - яркость не та что вам привычна
    - контрастность не та что вам привычна
    - окружающее освещение не подходит
    - шим таки есть
    - расстояние/уго/посадка неверные
    - и все возможные и невозможные сочетания этих и других факторов.

    Что поможет? Ну или смириться - глаза привыкнут, или настраивать что можно настроиьт, или менять ноут. Конкретного ответа никто кроме ваших глаз не даст
    Ответ написан
    4 комментария
  • Как пофиксить нерабочий второй монитор, когда на первом игра в полноэкранном режиме?

    Stalker_RED
    @Stalker_RED
    В большинстве игр в настройках можно вместо fullscreen выбрать windowed fullscreen. Если такого режима нет, то возможно он включается параметрами в ярлыке (во многих движках, даже если разработчики не добавили в меню).
    Третий вариант - запустить в окне, и уже сторонними утилитами убрать рамку.
    Работает везде, где есть режим "в окне", если и его нет в меню - попробуйте alt+enter.
    Ответ написан
    Комментировать
  • Как пофиксить нерабочий второй монитор, когда на первом игра в полноэкранном режиме?

    @Drno
    Используй оконный режим в игре
    Ответ написан
    Комментировать
  • Что эффективней, чтение из файла или массив?

    2ord
    @2ord
    что будет эффективней, держать постоянно в памяти 5 больших массивов, чтобы искать по ним нужную информацию, или каждый раз искать по .txt файлу.
    Эффективнее использовать язык запросов SQL к СУБД (например, SQLite).
    Преимущество в централизованном хранении данных и стандарте доступа к ним.
    Один-два запроса к СУБД могут заменять порой довольно приличное количество кода (порой даже нетривиального).

    Исходим из предположения, что типичный студент навряд ли будет писать что-то высокотехнологичное и поэтому, скорее всего, СУБД и будет самым оптимальным доступом к данным.

    Если нужно что-то специализированное для данных, то нужно уточнять какова структура данных. Тогда могут понадобиться NoSQL.
    Ответ написан
    4 комментария
  • Что эффективней, чтение из файла или массив?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вопрос не глупый а вполне себе хороший.

    Его плавное развитие приводит к концепции баз данных. Самое главное что можно сказать тезисно это
    1) Пока памяти хватает (массив) - используй смело память
    2) Диск - больше и дешевле памяти
    3) С памятью работать легко. С диском - очень неудобно и надо обрабатывать IOExceptions почти всегда.
    Диски внезапно полны сюрпризов. Могут быть сетевыми дисками.
    4) Разные диски имеют скорость на порядки разную.
    5) Диски ведут себя очень плохо на random access. От этого даже метрика IOPS появилась.
    Ее очень любят обсуждать админы баз данных.
    6) Существуют структуры данных которые спецом создавались только для дисков (B+Tree)
    7) Диск - переживает выключение питания.
    8) Самые разумные решения - сочетают в себе и диск и память в тех частях кода где это нужно.
    9) Есть интерфейсы программирования которые виртуализирут диск как память. Этим пользуется
    SQLite например.
    10) Диск может достигать очень высокой последовательной скорости чтения или записи в файл
    при условии отсутствия конкурирующих записей в данный момент. Этим пользуются в БД
    для журналирования событий.

    В принципе если современный программист просто будет использовать только оперативную память
    то никто ему не сможет ударить по рукам или подойти с какой-то метрикой и чего-то там измерив
    сказать что он неправ. Тут уж только падения по OOM и потери информации и performance issues
    могут быть каким-то значимым аргументом.
    Ответ написан
    3 комментария
  • Что эффективней, чтение из файла или массив?

    Stalker_RED
    @Stalker_RED
    Память намного быстрее диска, даже если это SSD или рамдиск.
    Но память намного дороже дисков, и если данных много, то возможно дешевле данные читать из файлов.
    Сравните сколько стоит HDD на 18Тб и сколько стоит сервер с соответствующим объемом.

    Что вы подразумеваете под эффективностью - вам виднее.
    Ответ написан
    4 комментария
  • Сколько времени можно питать ноутбук от инвертора из гнезда прикуривателя автомобиля без риска потом не завести двигатель?

    nava2002
    @nava2002
    Инженер
    Такой режим для автомобильного аккумулятора не желателен.
    Даже если разряжать аккумулятор не более чем на 50% аккумулятора хватит на пару месяцев.
    Заряжать ноутбук нужно только при работающем двигателе.
    Ответ написан
    2 комментария
  • Должен ли я ограничивать длину пароля?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Автор беспокоиться о максимальной длине POST-запроса.

    Я-бы просто предложил не беспокоиться а провести тестирование корнер-кейсов. Ввести там пароль
    в 256 символов. Или в 64К символов. Или в 4 гигабайта символов.

    И уже пойти от конкретной проблемы.

    А то получается что человек пришел и говорит. Вот... что-то меня беспокоит. Но я не знаю что.
    Помогите доктор. С чем-то...
    Ответ написан
    9 комментариев
  • Как отображать mp4 видео без ос?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Работа без ОС с железом заключается в том что вы делаете свою "ОС на минималках" и компилируете
    ее в ваш софт. Поэтому мне кажется что тут более важный вопрос - а что вам нужно от ОС ?
    Загрузчик? Файловая система? Драйвера для экрана? Для звука? Это все очень сложные
    инжереные вопросы и чтобы их решать - нужно сначала уметь их решать вместе с ОС и уже
    потом как-то придумать как избавиться от ОС.

    Иначе выглядит что вы просто хотите странного.
    Ответ написан
    Комментировать
  • Гит: лёгкий откат изменений (дискард) у группы файлов без добавления в игнор?

    @vitaly_il1
    DevOps Consulting
    Я советую добавлять бинарники не оттуда, где они создаются, а из другой директории. Если и когда надо - копируем туда бинарники вручную перед коммит.
    Ответ написан
    3 комментария
  • Актуальна ли на данный момент Desktop разработка на C# WPF?

    Моё мнение - десктоп-разработка по-прежнему актуальна, но стала более нишевой.
    Кажется, что её совсем мало - но это не потому, что прям десктоп вообще никто не пишет, а потому что веба пишут намного-намного больше.

    Почему веба сейчас так много?
    Потому что веб дал возможность доставлять на клиента исполняемую логику очень быстро. Не нужно ничего ставить, просто заходишь на сайт. При этом, обеспечивается ПРИЕМЛЕМЫЙ уровень user experience. Это всё ещё и кроссплатформенно.
    Вот на мобилках веб во многих случаях не даёт столь же хороший UX, поэтому там пышным цветом цветёт разработка "нативных" приложений. Забавно, не так ли? Ну и на мобилках изначально были созданы каналы быстрой доставки приложений - Магазины. Очень важно, что это было сделано изначально, и к этому все сразу привыкли.

    Так что там с десктопом?
    Я считаю, он остался для того софта, который обычно относят к категории проф. инструментов (тут согласен с Dmitry Roo ). Тяжелые редакторы вроде After Effects, CAD-системы, ну и тулы для разработчиков. Если так подумать, десктопный софт и раньше был в основном для специалистов и профессионалов, как и вообще стационарный компьютер. Просто раньше те, кто сейчас читает новости на смартфоне, читали их в бумажной газете, а пиццу заказывали по телефону.

    Иными словами, это не десктопа стало прям в 10 раз меньше, это просто НЕпрофессиональных пользователей стало в десятки раз больше, как и кейсов непрофессионального использования техники - для заказа пиццы, для общения в мессенджере и т.д. И это всё закрывается в том числе мобильной и веб-разработкой. (с другой стороны, почему Телеграм такой ох*енный? Ну например потому, что его десктоп написан НЕ на вебе. И он просто отлично работает, а не тормозит по 20 секунд при запуске как Скайп)

    А что с WPF?
    Конечно именно эта технология потеряла в популярности. Основная причина очевидна - отсутствие кросс-платформенности. Да, Винда все ещё имеет сильные позиции на десктопе, но всё-таки уже перестала быть нерушимой. Одних макодрочеровюзеров вон сколько. Линукс уже не такой страшный (хотя конечно это все ещё 1-2% от всего десктопа). Да и вообще, когда на вебе платформа по сути одна - это Хром (я обожаю Firefox, но такими темпами через лет 10 он точно сдохнет, как это не прискорбно), то видя это десктоп-разработчики жутко бомбят (я в том числе) и требуют себе такого же удовольствия. Поэтому вместо WPF нынче интересны Avalonia и Platform UNO (это если на дотнете).

    С точки зрения Винды есть WinUI, но это опять таки платформозависимая есть. Она для тех, кому интересна только Винда, или у кого есть бабки поддерживать нативно все нужные платформы.
    Ну и соглашусь с ответом Василий Банников , он хорошо описал границы десктопа на сегодняшний день.

    А вообще, я жду когда WebAssembly наберёт ещё больше силы, и границы между вебом и десктопом просто сотрутся. Нет ничего такого в HTML и тем более JS, чтобы на них всё на свете переписывать. Это делается только по одной причине - см. выше про скорость доставки логики на машину клиента. И текущая популярность веба как платформы для приложений (именно платформы, а не информационной сети) - это по причине того, что Гугол всех победил производительностью браузера, и все подсели на Хром как на платформу - дешёво, доставляется ОЧЕНЬ быстро, работает ДОСТАТОЧНО быстро, покрыты сразу все устройства.
    Ответ написан
    2 комментария
  • Почему совпадают внешние IP-адреса?

    kotomyava
    @kotomyava
    Системный администратор
    Получить ip можно, если такую услугу предоставляет ваш провайдер. И это не решение вашей проблемы - у вас будет этот выделенный ip, один как и сейчас, если это один внешний канал. А несколько ip у обычного провайдера получить очень вряд-ли получится.

    Прокси правильно применённый - решение вашей проблемы. Почему в вашем случае это не помогало большой вопрос... Может просто curl не ходил вообще через прокси?
    Ответ написан
    2 комментария
  • Как работает sudo?

    hottabxp
    @hottabxp
    Сначала мы жили бедно, а потом нас обокрали..
    Как работает sudo?
    Что конкретно интересует, то что sudo позволяет выполнять команды от имени другого пользователя, или то, как технически оно устроено внутри?

    Всём привет, хотел узнать какие команды можно вводить в Qute
    Вводить то можно абсолютно любые, но не все они будут работать.

    почему то ввожу различные команды и у меня пишет, что нет доступа /доступ запрещен
    На каком устройстве находится Qute? На автомобиле, чайнике, умных часах, телефоне, или может вы используете вообще виртуальную машину?

    нет доступа /доступ запрещен
    Это потому, что нет root-прав. Чтобы их получить, нужно рутировать устройство. Для этого идем на 4пда и ищем там на форуме инфо по конкретному девайсу.

    Перед тем как рутировать устройство, рекомендую сначала почитать как оживить кирпич!
    Ответ написан
    22 комментария
  • Если я запущу симулятор iOS в Xcode, будет ли у меня доступ к физической камере моего mac?

    GeorgeGeorge
    @GeorgeGeorge
    Студент
    Нет. У симулятора нет доступа к камерам и прочим "физическим" штукам.
    Ответ написан
    2 комментария
  • Актуальна ли на данный момент Desktop разработка на C# WPF?

    xez
    @xez
    TL Junior Roo
    Сейчас скорее, desktop разработка потеряла актуальность, вне зависимости от технологии.
    Вспомните сами сколько приложений вы приобрели за последний год и сколько сайтов вы посетили (за посещение сайтов вы тоже платите, но не деньгами).
    Думаю перевес будет все таки в пользу вэба.

    И приложения десктопные, кмк смещаются в профессиональную область. Продаются всякие ide, cad, офисные пакеты и т.д… Рядовому пользователю это все не интересно.

    Есть ещё геймдев - но это уже отдельная отрасль.
    Ответ написан