Задать вопрос
  • Знание или гугление?

    Adamos
    @Adamos
    Знание или гугление?

    Почему "или"-то? Знание И гугление.
    "Чтобы задать верный вопрос, нужно знать половину ответа" (с)
    Если ты можешь нагуглить готовое решение своей проблемы - это всего лишь означает, что ты решаешь тривиальную проблему, не стоящую больших затрат энергии на решение.
    Зависимость от инфраструктуры - это не хорошо и не плохо, это цена за эффективность работы, которая, буде вы начнете избавляться от этой зависимости, тупо резко упадет.

    А задаваться вопросами "что будет, если отключат интернет" - для обывателя, который ничего с этим сделать не может, это пустая рефлексия. Что будет, если отключат электричество? Полгода назад вы бы только посмеялись над таким вариантом...
    Ответ написан
    Комментировать
  • Знание или гугление?

    krdpsr
    @krdpsr
    loading...
    стыдно задавать такие вопросы
    ты перешел грань

    настоящий инженер-программист делает всё сам
    а тот кто копипастит - это не инженер, это чесальщик-мотальщик кода
    Ответ написан
    2 комментария
  • Как в c# подгрузить строку из файла во время компиляции?

    @Rellorer Автор вопроса
    Остановился на использовании ресурсов
    для .net 6.0 у меня получилось следующее
    1. драг энд дропом кидаем файл в .resx
    2. получаем в коде
    string content = Resources.ResourceManager.GetString("filename")


    Чтобы загрузить файл во время компиляции вроде как можно использовать T4 Text Templates, но это довольно замудренный способ для этой задачи
    Ответ написан
    2 комментария
  • Существует ли какая- та тула, плагин или просто сервис который бы помогал улучшить код.?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Как только такая появится, вы станете не нужны.
    Ответ написан
    Комментировать
  • Почему привод ZenDrive не видит BD-R диски?

    @alexalexes
    В спецификации ZenDrive SDRW-08U9M-U нет поддержки blu-ray дисков.
    https://www.asus.com/ru/Motherboards-Components/Op...
    PS: M-DISC маркировка говорит лишь о технологии материала диска, а не о его формате записи. Он может быть как DVD, так и blu-ray (они же BD). Вы пытаетесь использовать формат диска в приводе, который его не поддерживает.
    Ответ написан
    Комментировать
  • Нужно ли в таких случаях делать защиту от инъекций?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    во первых - у вас ошибка в коде, отсутствует кавычка: 'password,
    Во вторых - вопрос в корне не верный, если мы говорим о коде. Основное правило при работе с данными от пользователя - данным от пользователя нельзя доверять никогда.
    Отсюда же и второе правило - любые данные в запросах, если это переменные пришедшие из кода, а не прописанные буквами и цифрами в запросе, должны быть через подготовленные выражения, вы не можете гарантировать что где-то не пропустите пользовательский ввод в запрос.
    Ответ написан
    Комментировать
  • Нужно ли в таких случаях делать защиту от инъекций?

    rozhnev
    @rozhnev Куратор тега PHP
    Fullstack programmer, DBA, медленно, дорого
    Нужно!!!
    Ответ написан
    Комментировать
  • Нужно ли в таких случаях делать защиту от инъекций?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Нужно, разумеется.
    Это как в одном пошлом анекдоте про поручика Ржевского,
    - Запрос есть? Значит нужно.

    Если кажется, что защита слишком сложная, то либо вариант предложенный Сергей delphinpro в комментариях,
    $stmt = mysqli_prepare($connect, "INSERT INTO `bd` (`id`, `name`, `tel`) VALUES (NULL, ?, ?)");
    mysqli_stmt_execute($stmt, [$_POST['name'],  $_POST['tel']]);

    Либо, поскольку это ещё не везде работает, пишется маленькая функция на 5 строк, и кладётся в файл, где прописано соединение с БД
    function prepared_query($mysqli, $sql, $params, $types = "")
    {
        $types = $types ?: str_repeat("s", count($params));
        $stmt = $mysqli->prepare($sql);
        $stmt->bind_param($types, ...$params);
        $stmt->execute();
        return $stmt;
    }

    И дальше просто
    $sql = "INSERT INTO `bd` (`name`, `tel`) VALUES (?,?)";
    prepared_query($connect, $sql, [$_POST['name'], $_POST['tel']]);

    Просто, быстро, аккуратно, безопасно
    Ответ написан
    Комментировать
  • Как записать в переменную строку из JSON файла с#?

    @oleg_ods
    Используй StreamReader. С помощью метода ReadLine можно читать файл построчно.
    Ответ написан
    Комментировать
  • Как записать в переменную строку из JSON файла с#?

    HemulGM
    @HemulGM
    Delphi Developer, сис. админ
    Это не json файл. ЧИтай его как обычный текстовый файл. Построчно или полностью
    Ответ написан
    Комментировать
  • Каковы перспективы языка С++?

    xez
    @xez
    TL Junior Roo
    На hh 3 831 вакансии.
    Не похоже, что "по факту не востребован, а вакансий по нему практически нет."
    Ответ написан
    Комментировать
  • Как защититься от разработчика?

    CityCat4
    @CityCat4 Куратор тега Информационная безопасность
    Жил да был черный кот за углом...
    4. Как я могу обезопасить себя от возможной кражи сайта и доменного имени регистратором?

    А он кому-то так нужен? Не работайте с микрорегистраторами, работайте с серьезными конторами и никому нафиг Ваш домен не упрется. Вы явно преувеличиваете собственную значимость.
    2. Как я могу обезопасить себя от возможной кражи сайта и доменного имени фирмой

    Зарегить домен в одном месте, сайт в другом. После регистрации домена сменить пароль и больше его фирме не давать - все нужное она уже сделала. Не разрешать действия с доменом без личного присутствия.
    От кражи сайта - никак, они же его разрабатывают :)
    Ответ написан
    2 комментария
  • Как защититься от разработчика?

    @Drno
    Регистратором - никак.

    Заключай договор. где всё четко должно быть прописано

    Зарегистрируй все на себя, им выдай либо нужные права, на отдельного пользователя, если такое есть, либо данные для входа
    Ответ написан
    2 комментария
  • Курсы оператора БПЛА или самостоятельное обучение?

    @ewgenc
    Вы не сможете купить промышленный дрон за указанную сумму. БПЛА могут быть очень разными и сложными комплексами (например популярный нынче Орлан-10), и опыт работы с бытовыми квадрокоптерами вам не очень поможет. Работа с авиацией - это сертификация всего и вся, без сертификата будет сложно.
    Ответ написан
    2 комментария
  • Как выбрать подходящий курс в "Код будущего"?

    @tukreb
    Востребованным всегда будет БАЗА, а это алгоритмы и теории.
    Всякая фигня типо парсеры или боты - это МУСОР, если вы знаете базу то и сами их напишите.

    Поэтому выбирайте тот курс, который даст вам основные знания по программированию.
    Ответ написан
    1 комментарий
  • Как выбрать подходящий курс в "Код будущего"?

    @AVKor
    какой курс выбрать

    Тот, который интересен.
    Что реально поможет стать востребованным?

    Через 4 года как минимум? А кто это знает?

    Самым востребованным в стране может оказаться наличие опыта боевых действий, а вовсе не знания и навыки в ИТ.
    Ответ написан
    4 комментария
  • Сколько нужно серверов и каких образом они должны общаться, чтобы создать безопасную систему?

    @ewgenc
    Падает сервер с БД, ваши действия в дальнейшем? Резервирования мощностей нет, сервера под бекапы критически важных данных нет, репликации данных нет. Безопасное хранение пользовательских данных как будете реализовывать?
    Ответ написан
  • Можно ли питать 2 жеских диска и ссд?

    hint000
    @hint000
    у админа три руки
    Не сгорит.
    Если будет недостаточно мощности, то появятся суровые артефакты, либо просто зависнет ПК. Ещё раз: нет, не сгорит.
    зарядка, графический планшет, вебка но я их отключаю и постепенно включаю
    Нет смысла отключать, это всё очень мало потребляет.
    Ответ написан
    Комментировать
  • Хочу изучить основы информационной безопасности, какую книгу рекомендуете?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Рекомендуете ли вы книгу «Основы информационной безопасности» Е.В. Вострецова?

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

    Единственная практическая польза тут может быть такая: если вы сдаёте предмет автору этой книги, купите и потешьте её самолюбие и кошелек.
    Ответ написан
    4 комментария
  • Какой тип данных у переменной a?

    bingo347
    @bingo347
    Crazy on performance...
    У переменной a указан тип встроенный массив [T; n]. Но у такого типа нет метода get_unchecked_mut(). Он есть у среза на массив [T]
    Тут нужно понять как в Rust работает оператор точка.

    Во-первых, мало кто пишет, но операторов точка на самом деле в Rust целых 2:
    - Доступ к полю структуры/кортежа/юниона
    - Вызов метода
    Rust различает их по наличию круглых скобок:
    struct S {
        a: i32,
        f: fn(),
    }
    
    impl S {
        fn a(&self) {}
    }
    
    let s = S { a: 0, f: || {} };
    s.a; // Доступ к полю
    s.a(); // Вызов метода
    (s.f)(); // Вызов функции по указателю, который лежит в поле f

    С доступом к полю все просто, компилятор преобразует его в смещение в памяти где это поле лежит относительно самой структуры.
    А вот с вызовом метода все интереснее, Rust пытается рассахарить его в одну из следующих конструкций в следующем порядке:
    S::a(s);
    S::a(&s);
    S::a(&mut s);
    <S as Deref>::Target::a(S::deref(&s));
    <S as DerefMut>::Target::a(S::deref_mut(&mut s));
    <<S as Deref>::Target as Deref>::Target::a(<S as Deref>::Target::deref(S::deref(&s)));
    <<S as DerefMut>::Target as DerefMut>::Target::a(<S as DerefMut>::Target::deref_mut(S::deref_mut(&mut s)));
    // ...
    и так пока либо не найдет вариант, который компилируется, либо пока не обнаружит что для очередного типа не реализован трейт Deref.
    Подробнее можно почитать тут: https://doc.rust-lang.org/stable/nomicon/dot-opera...

    У всех массивов есть Deref к слайсу, в core библиотеке прописано что-то вроде:
    impl<T, const N: usize> Deref for [T; N] {
        type Target = [T];
        fn deref(&self) -> &[T] {
            // ...
        }
    }
    За счет этого все массивы (а так же векторы, у которых тоже Deref к слайсу) получают методы слайса. И по тому же принципу String получает методы str.

    Ну и кстати, неявный вызов deref может еще происходить при взятии ссылки.

    Ну и из комментов к вопросу:
    Что тут делает unsafe код как раз понятно
    Однозначно понятно, он здесь делает UB так как обращается к памяти владелец которой неизвестен.
    Ответ написан
    1 комментарий