Задать вопрос
  • Зачем login повторяется в phpmyadmin?

    У тебя отсутствует уникальное ограничение для этого поля.
    Есть запрос на установку такого ограничения:
    ALTER TABLE users ADD UNIQUE (login);

    Так же, чтобы удалить имеющиеся сейчас дубли:
    DELETE FROM users
    WHERE id NOT IN (
        SELECT MIN(id)
        FROM users
        GROUP BY login
    );


    В обработке регистрации должна проверка на наличие существующего логина в базе данных перед добавлением
    Ответ написан
    4 комментария
  • Батчинг входящих запросов с неблокирующим ожиданием?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    А вам точно это нужно?
    Потому что тут у вас появляется нюанс, который не совсем ложится на схему работы веб-приложения: у ваших отдельных запросов появляется общее состояние. Как минимум, это - накапливаемый пакет запросов, а ещё, наверное, в это состояние входит нечто общее для всех запросов для работы с БД: подключение или, если используется Entity Framework, DbContext. Это общее состояние придется как-то хранить, регулировать доступ к нему (DbContext к примеру, параллельный доступ не поддерживает в принципе), и вовремя это состояние удалять. Если посмотреть на стандартные механизмы ASP.NET Core, то сессия (ISession) для этого, наверное, не подойдет - там можно хранить только сереализуемые в байты пассивные объекты, и насчет регулировки доступа там непросто. Подойдет концентратор (Hub) SignalR, у которого есть сохраняемый между вызовами контекст подкючения - но ради него, скорее всего, потребуется менять способ вызова API из браузера: у него там своя клиентская библиотека.
    Ну и, по-любому, как-то надо реализовывать активную часть - которая, собственно, отслеживает пакет изменений и вовремя отправляет его в БД.
    Ваша идея
    Шедуллер в фоне будет периодически читать коллекцю объектов на запись и устанавливать результат выполнения в соотвтвующий TaskComplitionSource.

    мне не совсем нравится. Зачем периодически? Kучше чтобы эта активная часть срабатывала по факту добавления запроса в пакет - например, асинхронно ожидала Task от TaskComplitionSource. который метод добавления запроса завершал бы по факту добавления завершающего пакет запроса. Но и завершение по таймауту тоже предусмотреть надо - по жизни оно всякое бывает: обычно для таких целей используется WaitAny для комбинации основной ожидаемой задачи с Delay по таймауту.
    Ну, а ещё требуется, наверное, чтобы для каждого пользователя состояние было свое. В принципе, это делается, но надо делать. Для SignalR для этого можно использовать Hub.Context.Items - это словарь, который может содержать произвольные объекты, и сохраняется на время действия всего подключения.

    А ещё у меня, в принципе, есть своя самодельная библиотека, которая решает ту же задачу - сохранение контекста сеанса, в том числе - активного, с выполняющимся кодом. Я описывал ее недавно в статьях (кроме основной статьи есть дополнительная) на Хабре. Можете попробовать её, если переделывать API не хочется: она вполне годится для работы с API на базе MVC API Controller. или Minimal API. В принципе, она заточена немного под другую задачу - получние и возврат дополнительных результатов в фоне, но для вашей задачи она тоже подойдет. Напишу тут сразу технические подробности как использовать: ссылку на активную часть, собирающую и отправляющую пакет, можно хранить в IActiveSession.Properties, точно так же, как если бы вы хранили ее в Hub.Context.Items, а обработчик завершения, который прибирает за собой (в SignalR его место в OnDisconnect) - привязать к IActiveSession.CompletionToken через его метод Register. В общее для всез запросов состояние входит свой контейнер сервисов со своей областью действия в течение всего существования состояния, так что, если для работы с БД требуется Scoped-сервис из DI-контейнера, то его можно получить оттуда (в дополнительной статье написано, как, а также написано, как защититься от нежелательного одновременного доступа к такому сервису).

    Только вот библиотека эта, естественно, ни разу не стадартная, use at your own risk. Но если попробуете ее, мне будет интересно, что получилось. В том числе - и обнаруженные ошибки, заодно я и для вас их исправлю :-) .

    PS И неплохо было бы IMHO, чтобы дальнейший диалог, если он будет, шел на русском языке, без "батч", "эвейтить", "шедулер" и прочих транслитераций, IMHO лучше уж по-английски писать, если перевод неизвестен. А то я человек старый, мне читать этот пиджин тяжеловато.

    PPS А ещё благодарю за идею, о том, в какую сторону мне развивать мою библиотеку.
    Ответ написан
    1 комментарий
  • Я и есть тот самый джун с 3мя годами опыта?

    Maksim_64
    @Maksim_64
    Data Analyst
    подавайся на любой грейд и любые требования к опыту, даже если там написано более 6 лет. Посмотри, как резюме проходит скрининг, посмотри как проходишь собесы, и там видно будет.
    Ответ написан
    Комментировать
  • Бэкенд или фронтенд должен объединять таблицы по FK?

    xez
    @xez
    TL Junior Roo
    Нет никаких причин оперировать понятиями бд на фронт-энде.
    Ответ написан
    1 комментарий
  • Как создать клиент для запуска мода на SourceSDK?

    @ElxkoT
    Source SDK, который для создания модов, не предполагает компиляции своего .exe, так как это набор инструментов для работы с движком, а не его исходники. Если ну прям очень хочется, на гитхабе можно найти слитые исходники - из них .exe собрать можно, но легальность сих манипуляций под большим вопросом, особенно, если планируется финальный продукт распространять каким-либо образом
    Ответ написан
    Комментировать
  • Java или Kotlin для андроид?

    Jacen11
    @Jacen11
    https://developer.android.com/modern-android-devel...
    вот официальный сайт андроида, где там хоть слово про джаву? некоторые либы уже не совместимы с джавой

    а Java умирает
    не умирает она. Но на андроиде не используется

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

    если что, гугл выбрал котлин для андроида скорее по политическим причинам
    Ответ написан
    2 комментария
  • Стоит ли изучать Java для разработки под Android или лучше сразу приступить к изучению Kotlin?

    @Nel_Bylin
    java джун , ученик
    Можно сразу начать с котлина, особо нечего не потеряешь
    Ответ написан
  • Какие конкретно знания по пакетам Adobe (Photoshop, Illustrator, AfterEffects) должны быть у UX/UI дизайнера?

    pozZzitiv
    @pozZzitiv Куратор тега Дизайн
    Дизайнер и перфекционист
    На вопрос нельзя дать однозначного ответа.

    К чему стоит быть готовым при походе на собеседование? Какие вопросы могут задавать?

    Абсолютно любые. Всё зависит от того кто будет с вами общаться (HR, дизайнер, директор и т.п.), что за компания и решение каких практических задач им требуется. Самый верный способ узнать — задать вопрос в отклике на вакансию, на собеседовании, или связаться с компанией по доступным контактным данным.

    Решил прогуглить конкретно что мне нужно знать и понимать во всех этих программах - не нашёл конкретного и исчерпывающего вопроса.

    И не найдёте. Вопрос слишком общий. Одним в Фш нужна только обтравка, другим только цветокоррекция в RAW, третьим экшены пилить.

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

    Задачи могут быть самые разные. Если брать именно "знание ПО" или даже "уверенное владение" конкретно на вакансии UI/UX:
    AE - от мелкой анимации иконок или частей интерфейса до создания видео-презентаций поведения интерфейса или монтажа роликов/анимации для будущих сайтов/приложений.
    PS - может быть вообще что угодно. Цветокоррекция, редактирование ("отфотошопить"), генерация изображений. Пакетная обработка графики и фото, создание экшенов и т.п. Может перегон каких-то старых макетов из psd в Фигму. PS в принципе неотъемлемый инструмент в арсенале любого опытного дизайнера, даже не смотря на то, что многое можно делать сразу в Фигме (но не всё также удачно).
    AI - создание или редактирование иконок и иллюстрации.

    Плюс, обилие плагинов и надстроек для всех этих программ, разный функционал (Фигма все еще делает хуже даже что-то простое, что могут отдельно PS/AI).

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

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    Проблема в том, что вы не гуглите ошибку, которая говорит, что у вас нет правильного FULL BACKUP.
    И там-же в гугле есть инфа - как это сделать.
    Ответ написан
    Комментировать
  • Как правильно сделать программную проверку качества соединения с сайтом?

    GavriKos
    @GavriKos
    Подзадача - определиться с термином "качество". пинг - не показатель качества. И к сайту не относится - другой уровень.
    Что такое качество? Скорость загрузки сайта? Но на это влияет не только канал, так что речь не о качестве соединения.
    Ответ написан
    5 комментариев
  • Invalid expression term "else" как исправить?

    GavriKos
    @GavriKos
    If пишется с маленькой буквы. У вас везде с большой.
    Используйте не сублайм, а что то более близкое к IDE. Хотя бы VSCode.
    Ответ написан
    Комментировать
  • Пустая страница при деплое, как исправить?

    alsolovyev
    @alsolovyev
    ¯\_(ツ)_/¯ Enjoy life, Eat well & Laugh often
    Если вы просто открываете index.html в браузере, то у вас должны быть ошибки в консоле. Что-то тип:
    [Error] Origin null is not allowed by Access-Control-Allow-Origin. Status code: 0
    [Error] Failed to load resource: Origin null is not allowed by Access-Control-Allow-Origin. Status code: 0 (index-n_ryQ3BS.css, line 0)

    Не дает загрузить файлы из-за безопасности.
    Запустите какой сервере простой (live-server или python3 -m http.server) или используйте vite preview:
    // package.json
      "scripts": {
        // ....
        "preview": "vite preview"
        // ....
      },
    Ответ написан
    2 комментария
  • Почему в данном случае не работает обращение к элементам массива по индексу?

    wataru
    @wataru
    Разработчик на С++, экс-олимпиадник.
    Могли бы вы привести тип PMIB_IPNETTABLE? Поищите ее в исходниках, все должно стать понятно.

    Не специалист по паскалю, но если это структура от winAPI, то она сишная, и там идет работа с указателями и никакой длины массива нет (как часть table). А массивы в паскале по другому реализованы - там длина должна рядом хранится. В этой структуре длина тоже есть, но как часть структуры, а не часть массива. Поэтому с точки зрения паскаля у вас там массив длины 1.
    Через указатели все работает, потому что проверок никаких не делается на выход за границу массива.
    Массив бы тоже сработал, но там проверка длины встроенная.
    Ответ написан
    7 комментариев
  • Что не так с новым Unity 6?

    egorhyperbole
    @egorhyperbole
    Вообще странно.. Напишите в поддержку, это уже сам юнити виноват,
    PS. Попробуйте переустановить полностью Unity (включая Unity Hub)
    Ответ написан
    Комментировать
  • Как исправить ошибку error CS1001?

    https://learn.microsoft.com/ru-ru/dotnet/csharp/la...
    Предположу, что ругается на эти строчки, которые действительно не имеют смысла:
    public void InitializePlayer()
    {
    string = Player;
    }
    
    public void AddScore(int points)
    {
    int = 0;
    }

    Как исправить - знает только автор.
    Чтобы в будущем до такого не доводить - пиши в нормальном редакторе, который сразу подсвечивает проблемы, а не в блокноте.
    Ответ написан
    Комментировать
  • Как сверстать нестандартный грид блок?

    sergski
    @sergski
    web-developer
    Самый очевидный и надёжный способ -- 3 колонки с контентом сверху-вниз. Или вот. Или гуглите Masonry
    Ответ написан
    Комментировать
  • Как обыграть проблему с 1px используя overflow?

    @nikmil Автор вопроса
    Нашла решение использовать
    -webkit-mask-image: -webkit-radial-gradient(white, black);


    В данном примере плохо решает проблему, но для меня это оказалось решением!
    Ответ написан
  • Как создать указатель на массив или как решить задачу?

    AshBlade
    @AshBlade Куратор тега C#
    Просто хочу быть счастливым
    Не проще ли вынести логику работы с 1 массивом в отдельную функцию и в зависимости от name передавать разные массивы?
    void CommonLogic(byte[] array)
    {
          method_one(array);
          method_two(array);
           /* Основной код */
    }
    // Вызов этой функции
    byte[] common;
    
    switch (name)
    {
        case "Bob":
            common = array_bob;
            break;
        case "Tom":
            common = array_tom;
            break;
        case "Sam":
            common  = array_sam;
            break;
    }
    CommonLogic(common);
    Ответ написан
    6 комментариев
  • Как исправить данную ошибку?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    что тут не так? Не могу понять, что не правильно :/

    Ну там же написанно...
    Error at property 'operation': Value must be one of append, remove, set.


    // operation: "removeHeaders",
    operation: "remove",
    
    // operation: "setHeaders",
    operation: "set",
    Ответ написан
    3 комментария
  • Как исправить данную ошибку?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Использовать правильное значение опции. Там же прям в ошибке написано - вы её хотя бы читали?
    Ответ написан
    1 комментарий