Задать вопрос
  • Какой использовать стек для написания онлайн сервиса управления производством?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    На том, который лучше всего знают ваши разработчики.
    Ответ написан
    Комментировать
  • Мне нужно создать телеграм бота наподобие личного дневника, как это сделать?

    С чем именно у тебя возникла трудность?


    Можете дать какие-нибудь наводки, что бы я понял, что мне нужно сделать, пожалуйста?

    Что сделать чтобы что происходило?


    По идее с помощью первой кнопки бот должен сохранить сообщение пользователя о прошедшем дне на сегодняшнюю дату

    Видимо бот должен просить отправить сообщение на день и сохранять куда-то текст.


    а при помощи другой выдать запись за любую другую и, если на нужную дату записи нет, сообщить об этом

    Видимо должен просить пользователя отправить дату, или предлагать список доступных дат (например в виде кнопок). И искать запись в своём хранилище на эту дату.

    Получается, тебе нужно определиться с:
    1. Где хранить записи и разобраться, как с таким хранилищем работать. Самое просто тут - в обычных текстовых файлах.
    2. Как именно в деталях должно строиться взаимодействие с пользователем и как такое взаимодействие можно запрограммировать.
    Тут можно использовать диаграмму состояний, например
    Ответ написан
    Комментировать
  • Полная разница sudo su, sudo -i, sudo -s?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    - Разница 1: Почти, sudo -i также меняет HOME на /root, и читает логин скрипты root юзера.
    - Разница 2: Верно, действия с sudo -i и sudo -s логгируются в журналах юзера, а sudo su - нет.
    - Разница 3: Верно, sudo позволяет настраивать ограничения для команд через sudo -i и sudo -s, но не для sudo su (так как sudo su переключает юзера в root).
    Еще не понял разницу между
    sudo su
    sudo su -

    - sudo su - переключает юзера на root, но окружение при этом не является полным root окружением.
    - sudo su - - эмулирует полный вход юзера root (login shell). Будут прочитаны все файлы конфигурации, которые обычно читаются при входе root (profile, .bash_profile, .bashrc и что-то там еще). Насколько я понимаю, это то, что нужно Вам при работе от имени юзера root.
    И где можно смотреть логи пользаков при использовании sudo -i, sudo -s?

    Viewing and monitoring log files, можно еще заюзать journalctl.
    Ответ написан
    5 комментариев
  • С какого раздела можно начинать читать Algorithms in Java от Седжвика если уже знаешь джаву?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Кроилово ведёт к попадалову. Читайте полностью.
    Ответ написан
    Комментировать
  • Как заставить cron работать внутри docker контейнера?

    smilingcheater
    @smilingcheater
    Вы некорректно задаёте команду для крона. Надо задавать полные пути для всех файлов
    * * * * * /usr/bin/php /var/www/laravel/artisan schedule:run


    В dev/null также пусто.

    Спасибо, посмеялся. Вы понимаете что такое /dev/null?
    Если вам нужны системные логи запуска команды - так и перенаправьте их в конкретный файл...
    Ответ написан
    8 комментариев
  • Как создать скрытый 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# не кроссплатформенный?


    Почему 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 комментариев