• Как создать скрытый input для передачи технической информации на другую страницу?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Тип hidden не подходит, потому что его можно редактировать? А что из html вы вообще можете НЕ редактировать?

    Вам тут стоит понять одну очень важную штуку: html/css/js образуют client side. Вы должны понимать, почему это называется вообще "Клиентом"? Потому что эта вся информация полностью загружается на клиента и он имеет к ней доступ.

    По этому существует server side - часть программной системы, к какой конечный пользователь не имеет доступа, в отличии от клиентской части.

    Цель сервера - обрабатывать запросы с клиента. Первое, что делает сервер с данными, которые ему отправил клиент - ВАЛИДИРУЕТ. Соответственно, если данные не валидны - запрос разворачивается обратно на клиента и отдаёт ему какую-то ошибку

    Это всё так, к слову. Вам важно понять, что клиент может редактироваться, вы никак не сможете этого избежать. Но этого не стоит бояться, т.к. то, за что вы переживаете должно обрабатываться на сервере.

    Client side должен обрабатывать данные перед отправкой на сервер (Но сервер обязан их повторно валидовать) и после получения данных от сервера для наилучшего представления ИХ конечному пользователю

    UPD: для справки. Вы можете полностью редактировать html в режиме реального времени, но он не будет сохранён для всех пользователей, а только для вас, т.к. эта часть загружается только два вас как для конечного пользователя. Сам html хранится на сервере и является результатом работы сервера. Эту часть html, что вы видите в браузере вы можете редактировать.

    Вы можете динамически подключать стили или их удалять. Можете менять скрипты, удалять их из сайта (Тогда отправка вообще работать не будет и, соответсвенно, отключится весь функционал, за который отвечаел скрипт) или добавить новые скрипты. А можете вообще написать свой скрипт прямо в консоли браузера и он будет работать.

    Проблема в том, что даже после элементарной перезагрузки страницы (Через Ctrl + R или другими способами) это всё будет утеряно и вам загрузится тот самый html/css/js, который является результатом рабыты сервера того сайта, который вы просматриваете
    Ответ написан
    1 комментарий
  • Почему C# не кроссплатформенный?

    vabka
    @vabka Куратор тега C#
    Токсичный шарпист

    Почему C# не кроссплатформенный?

    На этот вопрос нельзя ответить сразу по двум причинам:
    1. C# - это язык, а язык не может быть кросс-платформенным, так как платформы в разрезе языка и нет.
    2. .NET уже много лет как кросс-платформенный.
    Начиная с уже мейнстримного .NET 8, заканчивая mono и всякой экзотикой типа nano framework


    но при этом, это не так

    Ничто нельзя запустить на "чём угодно"


    но в неё вопрос кроссплатформенности решена абсолютно полностью

    Если вопрос "абсолютно полностью" решён, то почему я не могу запускать программы, написанные на Java, на любом железе?
    Ответ написан
    Комментировать
  • Нормально если первый стейт менеджер для react который я буду учить - будет mobx, а не Redux?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Нормально если первый стейт менеджер для react который я буду учить — будет mobx, а не Redux?

    Нормально ли будет если в резюме есть mobx вместо redux?

    Давайте проведем анализ хэхэ на 02.2024:
    - Redux (772 вакансии).
    - Mobx (235 вакансий).
    - Zustand (21 вакансия).

    Резюмируя, Ваш навык Mobx примерно в 3 раза менее ценен на рынке, чем навык Redux. Разумеется, сравнение поверхностное, но какой то вывод можно сделать.
    Ответ написан
    6 комментариев
  • На сколько сложно создать офлайн генератор иконок?

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

    Гораздо выгоднее будет просто купить подписку на freepik
    Ответ написан
    Комментировать
  • VPS по паспорту — это норма?

    @Refguser
    Делаю ИМ и другие решения
    Может быть, я что-то упустил?

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

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Для игры "жизнь" есть несколько вариантов:
    1) Увеличить поле на 2 клетки по каждому измерению, поле будет храниться с 1, а индексы 0 и n+1 - всегда будут пустыми. Потребление памяти это почти не увеличит, а код упростит.
    2) Если соседние клетки считаются циклами, то можно границы области 3x3 пересечь с полем:
    for (int nx = max(0, x-1); nx < min(x+2, n); ++nx) {
      for (int ny = max(0, y-1); ny < min(y+2, n); ++ny) {
        if (nx == x && ny == y) continue;
        // {nx, ny} - сосед в поле, обрабатываем его.
      }
    }

    Можно код чуть ускорить, предподсчитав границы.
    3) Более читаемый, но чуть более медленный метод - явно проверять, а не за границей ли соседняя клетка:
    for (int nx = x-1; nx <= x+1; ++nx) {
      for (int ny = y-1; ny <= y+1; ++ny) {
        if ((nx == x && ny == y) || nx < 0 || ny < 0 || nx >= n || ny >= n) continue;
        // {nx, ny} - соседняя клетка.
      }
    }


    Я бы просто раздул поле - так код сильно проще.

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

    Daemon23RUS
    @Daemon23RUS
    2 пары маловато будет, а способов перестановки 20 бит (шифрования) много чтобы получить такие значения. Например младшие 8 бит получаются через XOR 0xb0 - но ведь это может быть просто совпадением и не иметь отношения к кодированию. Если так выйдет, что хвост 3й пары будет выглядеть так: XXXXXXXX6A то это совпадение превратится в зацепку, и то не факт что она подтвердится на след паре.
    Ответ написан
    Комментировать
  • Как получить метку проверенного издателя при запуске своего приложения?

    @Kypidon4ik
    Фрилансер, Wordpress developer
    Ответ написан
    Комментировать
  • Какая зависимость в Java приложении к подключению БД?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    1. Java (JDK/JRE) не содержит в себе драйверов доступа к БД вообще. В ней определен только базовый
    интерфейс java.sql.* и существует некий стандарт на то как драйверы должны работать. Например когда мы делаем ResultSet::close, или Statement::close, драйвер может ничего и не делать в этот момент. Все зависит от того
    как производитель (Oracle, MSSQL) реализовал под капотом работу драйвера. Поэтому как работает внутри драйвер это - тайна.

    2. Обычно если в приложении тебе часто и много нужно создавать объектов Connection, то используют пулы коннектов (Hikari Connection pool, DBCP, C3PO). Почитай в этом направлении. Пулы экономят сессионные
    объекты на стороне БД и создают новые коннекты быстрее за счет переиспользования сущесвтующих коннектов.
    В обычном (прямом режиме) работы с БД процесс установки соединения может занимать несколько секунд.
    Это может быть запредельно медленно для некоторых алгоритмов.

    3. В сложных ent. приложениях используются фреймворки типа Spring которые декларируют зависимости одник
    компонент от других
    и также обеспечивают ленивую инициализацию и работу синглтона. Всем новичкам
    нужно знать что такое синглтон и уметь им пользоваться. И лучше уметь это сначала без фреймворка
    чтобы понимать уже как это делает фреймворк.
    Ответ написан
  • Как реализовать быстрый обмен сообщения между скриптами на Python через RabbitMQ?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    Во-первых, сетевые задержки - у вас несколько серверов
    Во-вторых, сам python немного медленный (может сервер не самый мощный, в нормальных серверах не должно быть проблемой)
    В-третьих, прдьюсер постоянно создает новые обменники и очереди
    channel = await get_channel()
     
        exchange = await channel.declare_exchange(
            "direct", auto_delete=True
        )
     
        queue = await channel.declare_queue(
            consumer, auto_delete=True
        )

    В-четвертых, нужно время на подтверждение обработки запроса (await message.ack())
    Ответ написан
    Комментировать
  • Что тут задача фронтенда, а что бэкэнда?

    Newto
    @Newto
    Ваш вопрос похож на вопрос не от технического специалиста, а от клиента, который хочет понять что будет делать технический специалист по его заказу. Если я прав, то бросьте это дело — а именно, не пытайтесь понять что должен сделать верстальщик, а что программист. Вам тут это тысячу раз объяснят, вы поймёте, а потом поймёте, что всё равно не поняли. Если вы сами этим не занимаетесь, то понимание придёт лишь с опытом общения с исполнителями.
    Ответ написан
    Комментировать
  • Актуален ли ассемблер на сегодняшний день?

    Steel_Balls
    @Steel_Balls
    Да, актуален.
    Он применим во всех областях.
    Почитай что такое ассемблер и вопросы отпадут сами собой
    Ответ написан
    Комментировать
  • Как спрятать сообщения из network?

    yarkov
    @yarkov Куратор тега JavaScript
    Помог ответ? Отметь решением.
    Только через бэкенд. Шлём туда сообщение текстом, а бэкенд уже обращается к телеге.
    Ответ написан
    Комментировать
  • Есть сервера, которые стоит написать именно на Java, а не на Node?

    @Everything_is_bad
    что для REST серверов лучше Node не найти
    это твой главный неправильный вывод, лучший будет тот, который написан на технологии, которую лучше всего знает исполнитель.

    Например стриминговый сервер или сервер для чата, он же относится к разряду типичных запрос/ответ
    еще одна большая ошибка, вообще всё смешал в кучу, "стриминговый" это больше про максимальный pull c сервера, "чата" это про полноценный обмен в обе стороны, а "запрос/ответ" это про базовый http и он для этих обоих случаев, очень невыгодная стратегия, поэтому для них в http написаны свои частные протоколы, например, websocket для нормальной реализации чатов.
    Ответ написан
    5 комментариев
  • Варинты взлома и какие есть методы защиты?

    Noizefan
    @Noizefan
    оооо, щас заново понабежит киберспецов.

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

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

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

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

    обязательно к ознакомлению особенным, которым каждый божий день прогружают 0-day RCE под ios по радиоволнам через аирподсы, которые еще до сих пор в заводской упаковке: Почему человек узнал все обо мне по фейковой закрытой странице в вк? Как такое возможно?
    Ответ написан
    3 комментария
  • Как проинициализировать по умолчанию переменную?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Определить два конструктора - один с параметрами, а второй без, устанавливающий значения по умолчанию. При наличии файла читать из него параметры и вызывать конструктор с параметрами. При отсутствии файла вызывать конструктор по умолчанию. Если параметров много, то можно вместо множества полей использовать коллекцию или подключить шаблон "строитель", вам виднее, что будет правильнее в вашем случае.
    Ответ написан
    Комментировать
  • Python, что правильнее использовать, запуск бота на прямую или крон?

    @q2digger
    никого не трогаю, починяю примус
    правильнее сервис systemd нарисовать
    Ответ написан
    1 комментарий
  • Какой бесплатный мониторинг ресурсов (аналог zabbix agent) установить для vps linux ubuntu?

    vabka
    @vabka
    Токсичный шарпист
    А зачем искать аналог zabbix, если можно использовать сам zabbix? Он бесплатный, его можно установить на ubuntu, у него есть веб-интерфейс (и вполне можно интегрировать в grafana/prom, если хочется)

    https://www.zabbix.com/documentation/current/en/ma...
    Ответ написан
    2 комментария
  • Почему не соеденняется по SFTP?

    @SunTechnik
    А зачем приветствие выдавать через /etc/ssh/sshrc ?
    Для этого же есть /etc/motd
    Ответ написан
    2 комментария