Задать вопрос
  • Что такое Trojan:HTML/Phish.YH!MTB?

    Название и тот факт, что он лежит в кэше браузера намекают, что он видимо может подменять сайт собой для кражи твоих данных.
    Ответ написан
    1 комментарий
  • Можно ли скрыть чаты и запросы в ChatGPT?

    Скрыть нельзя - только удалить. Ибо аккаунт считается как персональный
    Ответ написан
    Комментировать
  • Как можно упростить реализацию работы с БД в C#?


    однако в CRUD-функциях будут разные SQL-запросы

    Вынеси код со всеми CRUD-операциями в отдельный класс с интерфейсом. Передавай экземпляр этого класса в форму.

    Сами формы можно в рантайме через рефлексию попробовать генерировать.
    Ответ написан
    Комментировать
  • Ошибка в ChatMemberAdministrator. Как исправить?

    У метода PromoteChatMemberAsync нет такой перегрузки, какую ты пытаешься использовать.
    Ответ написан
    2 комментария
  • Как локадизовать сайт на другие языки?

    Создать 1 домен, но указать 10 префикстов типа .com/en, .com/ru и тд. Здесь я вижу плюс в том, что не нужно создавать много доменов. Но минус в том, что SEO будет хорошее только для того языка, какой язык имеется у главной страницы. И что-то мне подсказывает, что через поисковые системы меня другие страны не найдут...

    Всё нормально индексируется и ищется - никакие дополнительные домены не нужны (и в некоторых случаях могут быть даже вредны, тк два разных домена = два разных сайта)
    Главное чтобы корректно были расставлены метаданные на всех страницах.

    Отображать юзерам содержимое исходя из ИП адреса пользователя.

    Вот так вообще не надо делать. Но если у тебя всё ок с метаданными, то ты можешь по первому посещению нового клиента попробовать предложить ему нужный перевод.
    Поисковым роботам предлагать такого не надо.

    Как это сделано у ютуба например, или тиктока

    У них так не сделано.
    Ответ написан
    8 комментариев
  • Как сделать, чтобы интернет продолжал работать, пока качаю игру в Steam?

    Ограничь скорость загрузки в настройках загрузки в стиме.
    Скорость тарифа - 300 мегабит.

    Вот и получается, что 36мб в секунду полностью всё выжирают.
    Ответ написан
    4 комментария
  • Куда расти дальше?


    От опытных программистов хочу узнать: что делать дальше, куда и как развиваться, что попробовать.

    1. Посмотри как у других оформлены проекты.
    2. Посмотри на современные стандарты C# и попробуй обновить свой проект.
    3. Смотри вакансии и изучай технологии, которые требуются.
    4. Погугли, что изучают в вузах и поизучай фундаментальные вещи.

    Самый главный навык, который тебе нужно получить, - это навык самостоятельного поиска информации, тк в реальном мире не факт, что у тебя рядом будет опытный ментор, который даст всё в разжеванном виде
    Ответ написан
    Комментировать
  • Почему консольное приложение С# созданое в VS Code выглядит нестандартно?

    Из-за того что модератор вполне оправданно удалил скриншоты - предположу, что там был вот такой код:
    Console.WriteLine("Hello World!");
    А в большинстве руководств ты видишь примерно такой код:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    
    namespace MyApp
    {
        public class Program
        {
            public static void Main(string[] args)
            {
                Console.WriteLine("Hello World!");
            }
        }
    }

    VS Code тут ни при чём.
    У тебя всего одна строчка кода и она при этом работает благодаря двум фичам, которые ввели в C# 9 и 10:
    1. Top-level statements - позволяет не объявлять класс со статичным методом Main - вместо этого в одном любом из файлов можно сразу начать писать код для выполнения и компилятор будет считать код в этом файле за точку входа
    https://learn.microsoft.com/en-us/dotnet/csharp/fu...
    2. Global Using Directive - можно написать global using Namespace; и этот неймспейс будет неявно подключен ко всем файлам в проекте. Также можно написать <Using Include="Namespace" /> в csproj-файле для аналогичного эффекта. Некоторое количество таких глобальных включений уже настроено по-умолчанию на уровне SDK.
    https://learn.microsoft.com/en-us/dotnet/csharp/la...

    Соответственно в .NET 7 переделали шаблон на именно такой, чтобы упростить вход для новичков и приучить к новому стилю.
    В других источниках ты видишь другой код, тк в тех источниках он был написан до выхода .NET 7.

    Старый синтаксис никто не убирал - он всё ещё работает, если тебе очень нужно, но вот шаблон придётся установить отдельно, если ты хочешь, чтобы новые проекты создавались со старым синтаксисом.
    (Но уверяю тебя - тебе это не нужно)
    Ответ написан
    Комментировать
  • Почему обработчик команды в discordpy срабатывает перед on_ready?

    Видимо метод __leaderboard, который обращается к таблице users был вызван до того, как был вызван метод on_ready.

    Вот цитата из документации, в которой говорится, что не гарантируется, что этот метод будет вызван раньше всех:
    https://discordpy.readthedocs.io/en/stable/api.htm...

    This function is not guaranteed to be the first event called. Likewise, this function is not guaranteed to only be called once. This library implements reconnection logic and thus will end up calling this event whenever a RESUME request fails.


    Как вариант решения - инициализируй базу данных до того как бот будет запущен.
    Например объяви функцию prepare_database с вот таким кодом:
    @client.event
    async def on_ready():
        prepare_database()
    
        for guild in client.guilds:
            for member in guild.members:
                if cursor.execute(f"SELECT id FROM users WHERE id = {member.id}").fetchone() is None:
                    cursor.execute(f"INSERT INTO users VALUES ('{member}', {member.id}, 0, 0, 1, {guild.id})")
                else:
                    pass
    
        connection.commit()
        print('client connected')
    
    def prepare_database():
        cursor.execute("""CREATE TABLE IF NOT EXISTS users (
     name TEXT,
     id INT,
     cash BIGINT,
     rep INT,
            lvl INT,
            server_id INT
        )""")
    
        cursor.execute("""CREATE TABLE IF NOT EXISTS shop (
            role_id INT,
            id INT,
            cost BIGINT
        )""")


    И вызывай её перед запуском бота:
    prepare_database()
    client.run(settings['TOKEN'])
    Ответ написан
  • Как можно убрать тип Unknown?

    Укажи конкретный тип в public alert$ = new Subject()
    Например public alert$ = new Subject<IAlert>()
    Ответ написан
    Комментировать
  • Этот сайт безопасен?

    Сайт взломали и его никогда не починят - создатели его уже очень давно забросили (уже не первый год на нём лишь всякий мусор)
    Для посетителей ничего угрожающего на сайте нет (сейчас)- только немного жуткая картинка с соответствующей музыкой.

    Пользуйтесь версией из веб-архива:
    https://web.archive.org/web/20180423111610/http://...

    Так что если под "её взломали" имеется в виду, что были взломаны какие-то её личные страницы в соцсетях - виноват не этот сайт.

    Код страницы


    <html>
    <head>
    <title>Hacked By Dkid03</title>
    <meta name=viewport content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <meta name=keywords content="Wh00pz ! Your Security Get Down">
    <meta name=description content="Wh00pz ! Your Security Get Down">
    <meta property="og:image" content="https://f.top4top.io/p_2211gqdei0.jpg">
    <meta name=googlebot content="all,index,follow"><meta name=allow-search content=yes><meta name=audience content=all>
    <meta name=copyright content="Dkid-Sama">
    <link href="https://fonts.googleapis.com/css2?family=Staatliches&display=swap" rel="stylesheet">
    <link rel="preconnect" href="https://fonts.gstatic.com">
    <link href="https://fonts.googleapis.com/css2?family=Benne&family=Roboto&family=Share+Tech+Mono&display=swap" rel="stylesheet">
    </head>
    <body bgcolor="black" text="white" oncontextmenu="return!1" onkeydown="return!1" onmousedown="return!1" onclick='document.getElementById("lagu").play(),fs()' id="body" onload="typeWriter()">
    <style>
    
       .ngen {
    
          position: absolute;
    
          margin: auto;
    
          height: 50%;
    
          top: 0;
    
          bottom: 0;
    
          left: 0;
    
          right: 0;
    
       }
    
    </style>
    <style>
    
    
    
    *{
    
    
    
    font-family: "Courier New";
    
    
    
    }
    
    
    
    html {
    
    
    
    background: black;
    
    
    
    color: white;
    
    
    
    }
    
    
    
    </style>
    <center>
    <img src="https://g.top4top.io/p_25500cvli0.jpg" width="300px" style="box-shadow: white 0px 0px 2px;border-radius: 10px;">
    <br>
    <span style="color: rgb(white);"><i><strong>Defaced By Dkid03</i></strong><br>
    <font color="white" style="font-family: 'Benne', serif;">- The Lost Child -
    <br>
    <br>
    <font color="white">"Penghianatan Tidak Memandang Hubungan<br>
    Tidak Peduli Sedekat Apapun Penghianatan Bisa Terjadi Bahkan Orang<br>
    Yang Sangat Kalian Percaya Bisa Kapan Saja Berkhianat"
    <br>
    	<br>
    	<font color="red" style="font-family: 'Benne', serif;">Don't Panic, I Just Changed the .htaccess File</font>
    </center>
    </body>
    <center><audio src="https://i.top4top.io/m_2550kqyrn0.m4a" autoplay="true" id="lagu" loop=""></audio></center>


    Картинка действительно жуткая, так что впечатлительным лучше не смотреть

    64727a45d1de5075543254.png
    Раньше, кстати, там вообще порнушка была.


    PS: Нашёл баг на тостере. Если спойлер вложен в спойлер, то все вложенные спойлеры открываются вместе с внешним спойлером.
    Ответ написан
    6 комментариев
  • Не могу найти библиотеку для таких графиков красивых?

    plotly, chartjs, d3.
    "Красиво" достигается при помощи стилей.
    Ответ написан
    Комментировать
  • Что такое справочник в ИС и какой доступ необходимо организовывать к ним?

    Что есть справочник в ИС?

    (В моём понимании. Моё понимание не совпадает с пониманием 1С)
    Справочником, как правило, считают данные, которые не имеют бизнес-ценности сами по себе, редко добавляются новые записи, очень редко меняются уже занесённые - короче очень статичные.

    Например справочником будет:
    Список адресов по ФИАС.
    Города и страны.
    Единицы измерений.

    И так далее.

    Тоесть список клиентов, грузов, получателей и так далее - это не справочники. Это полноценные бизнес-данные.

    Или предприятие чудит?

    Я думаю, что так.

    Смотрим на требование, которое вам дало руководство и попробуем его деконструировать:

    В общем очень интересная тема. Как-то кто-то сказал (приказал), что справочники должны управляться отдельным доступом (АРМом). Всё бы ничего, но в ИС 50 АРМов и примерно 150 справочных модулей и некоторый диапазон АРМов должны иметь доступ к редактированию справочников (конкретно: клиенты, грузы, получатели, доверенности, доверенные лица, агенты ну и что-то и т.д.

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

    Ваше первое и, очевидно, неподходящее решение - ограничить доступ к операциям со справочникам. Перевести их в readonly для каких-то групп пользователей и разрешить редактирование для других групп.

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

    Правильным решением будет:
    1. Проанализировать бизнес-процесс и понять кто и какие действия вообще делает.
    2. Изменить логику работы ИС так, чтобы она способствовала работе в рамках этого бизнес-процесса.

    Дальше буду на примере условного магазина, в котором условные операторы оформляют заказы для клиентов, а условные менеджеры заносят товары в номенклатуру, а условные курьеры доставляют товар клиенту.
    В отрыве от 1С.

    Получается, у нас будут такие виды пользователей с их обязанностями и нуждами:

    1. Оператор
    - Заводит в систему заказ для клиента
    - Читает номенклатуру товаров, чтобы можно было наполнить заказ товарами, которые нужны клиенту.
    - Читает уже созданные заказы, чтобы сообщить клиенту статус его заказа
    - Заводит новых клиентов при первом заказе

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

    3. Курьер
    - Читает адрес доставки и машино-места заказа, который ему назначен
    - Сообщает, что этот заказ был доставлен
    - Сообщает, что не удалось этот заказ доставить
    - Сообщает, что клиент отказался от товара
    - Сообщает, что клиент отказался от заказа целиком

    И вот нужно ввести в ИС "процедуры" для всех эти операций и ограничивать доступ на уровне этих процедур.
    Прямого доступа к данным не должно быть ни у кого.
    (Иначе зачем вам 1С? Если вам допустим полный доступ к данным - вам достаточно будет табличек в условном google docs)
    Ответ написан
    Комментировать
  • Как верстать сайты на двух языках?

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

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

    Код в итоге будет что-то типа:

    index.html:
    <div>
      <p>{{text}}</p>
    </div>


    i8n/ru.json:
    {
      "text": "Привет мир!"
    }


    i18n/en.json:
    {
      "text": "Hello world!"
    }


    i18n/es.json
    {
      "text": "Hola mundo!"
    }


    Но если у тебя появляются динамические данные, нужна поддержка right-to-left языков, и вообще нужна адаптация под разные регионы (типа чтобы условный Американец и условный Китаец получали разный UX), то всё будет немного сложнее. Гугли дальше по словам "Интернационализация" и "Локализация"
    Ответ написан
    5 комментариев
  • Правда ли, что если изучить Фронтенд а потом начать изучать Бэкенд, ты почти забудешь Фронтенд?

    vabka
    @vabka Куратор тега Веб-разработка
    Раз в принципе сущетсует такое понятие как full stack разработчик - значит неправда, знания фронта после бэка не выветриваются.
    Ответ написан
  • Какие есть бесплатные Telegram боты для ведения рейтинга пользователей?

    А может быть и нет готового бесплатного решения?

    Может быть.

    Ибо:
    1. Достаточно сложно формализовать подобные проверки на "хорошие манеры"
    2. Они часто избыточны
    3. А чтобы что? Какую проблему должен решать такой рейтинг?
    4. И почему нельзя вручную модерировать? Зачем пытаться воспитывать людей, которые не понимают, если можно просто один раз дать бан
    Ответ написан
    Комментировать
  • Как сделать узконаправленным ChatGPT api python?

    Экспериментируй с промптом. "Расскажи" ChatGPT что за задачу он будет решать, на какие вопросы и в какой форме отвечать, а на какие не отвечать.
    Экспериментируй, пока не получишь результат.

    Причём можно скомбинировать:
    1. Сделать запрос, чтобы он определил тематику вопроса и сказал, относится ли он, например, к медицинской тематике или нет.

    2. Обычным кодом обработать это и передать уже сам вопрос, чтобы получить ответ.

    3. Обработать ответ, чтобы он соответствовал форме.
    Ответ написан
    Комментировать