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

    @Drno
    Ни 1 провайдер не требует установку своего роутера.
    В случае установки «оптической розетки» / роутера это устройство можно перевести в режим моста и настроить всё на Вашем оборудовании
    Ответ написан
    Комментировать
  • Обязателен ли провайдерский роутер?

    @SunTechnik
    Если подключение GPON, то оборудование провайдера обязательно.
    Его можно попросить перевести в режим бридж,
    тогда не будет дополнительного Nat, и можете использовать все функции своего роутера.

    Либо искать провайдера, который делает подключение по ethernet..
    Но это надо уже уточнять подключение конкретного провайдера по конкретному адресу.
    Ответ написан
    Комментировать
  • Что это за форматы файлов: abz и jz?

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

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Лучше купить то, что подходит по совокупности параметров - сроки доставки, гарантия, энергоэффективность и так далее. Это вам не видеокарту в игровом компе поменять.
    Ответ написан
    1 комментарий
  • Как в Git в организовано хранение файлов?

    saboteur_kiev
    @saboteur_kiev Куратор тега Git
    software engineer
    Вообще-то как раз гит хранит целые копии файла.
    Для каждого файла создается его хеш, и файл-объект хранится под именем с этим кешом.

    If you again examine your objects directory, you can see that it now contains a file for that new content. This is how Git stores the content initially — as a single file per piece of content, named with the SHA-1 checksum of the content and its header. The subdirectory is named with the first 2 characters of the SHA-1, and the filename is the remaining 38 characters.


    То есть любое изменение файла - создает еще один файл-объект.
    Два одинаковых файла не будут занимать два места, даже если они хранятся под разными именами.

    Каждый коммит - содержит список файлов и хеш для содержимого.
    А ветка - это просто ссылка на конкретный коммит и немного метаданных.

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

    Чтобы посмотреть содержимое любого гит-объекта, юзай
    git cat-file -p ID_объекта (где айди объекта это как раз его хеш)

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

    Но, поскольку SVN - централизированная система, где все изменения хранятся только на сервере, можно менять формат хранения между версиями, так как это не нужно согласовывать со всеми пользователями репозитория.
    Например кроме диффов, в поздних SVN периодически сохраняются полные снепшоты, например каждые 1000 коммитов делается полный слепок, что ускоряет перерасчеты.
    Ответ написан
  • Стотит ли менять asp.net mvc на asp.net web api + nextjs?

    @mletov
    В первую очереди улучшить UI за счёт React библиотек

    Если много сложных форм с зависимыми контролами и большое количество интерактивности на сайте, то Angular/React/Vue или может быть даже Blazor - верный выбор. Иначе незачем огород городить.

    Рассказали бы что за проект.

    улучшить SEO используя SSR возможности NextJS

    Нормальное SEO можно сделать и на MVC. Это вопрос качества исполнения, а не технологии.
    Ответ написан
  • Стотит ли менять asp.net mvc на asp.net web api + nextjs?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    нормально себя чувствует.

    Работает и не трогай
    Ответ написан
    3 комментария
  • Есть ли сервис или библиотека, который/ая предоставляет бесплатный API/инструментарий для отправки смс на телефон для верификации/просто отправки смс?

    ValdikSS
    @ValdikSS
    Суть в том, чтобы найти сервис, который предоставит бесплатный инструмент, который позволит отправлять много смс на разные номера телефонов

    Таких нет, конец дискуссии.
    Отправка СМС, особенно по миру, стоит очень дорого. Настолько дорого, что Telegram сделал сервис для использования телефонов пользователей для отправки СМС, чтобы на этом экономить, либо просто отказывается отсылать СМС без оплаты Premium.
    Ответ написан
    2 комментария
  • Как сохранить контроль над смартфоном при использовании в корпоративной среде?

    CityCat4
    @CityCat4
    Жил да был черный кот за углом...
    У Касперского есть какое-то решение по корпоративным телефонам. Для тестов админы поставили себе - потом избавиться не могли, пришлось к заводу скидывать :)
    Ответ написан
    Комментировать
  • Как устроен донат по UID в Genshin Impact?

    @MrNity
    Есть официальные дистрибьюторы как codashop или gold.razer, может еще кто есть новые, через АПИ и партнерство к ним работают эти магазины, в codashop не знаю как щас но раньше было сильное ограничение на карты, принимались только корейских банков.
    Да, это безопасно, никаких проблем донатов по UID нет и ничего за это не будет.
    Можно и свой магазин так открыть, если сильно захотеть
    Ответ написан
    Комментировать
  • В чём отличие между middleware и фильтрами в .Net?

    AshBlade
    @AshBlade Куратор тега C#
    Просто хочу быть счастливым
    Middleware - это часть ASP.NET Core. Они занимаются обработкой HTTP запроса, могут его изменять/дополнять. Например, производить авторизацию или, если запрос пришел от прокси, то разворачивать отображать HTTP заголовки
    Фильтры - это часть MVC, фреймворка внутри ASP.NET Core. Т.е. они часть контроллеров и предназначаются только для них, но могут работать и как Middleware (HttpContext поле доступно). Дополнительно, у них есть иерархия вызовов, в зависимости от типа фильтра, а middleware вызываются каждая и в зависимости от порядка их регистрации
    Ответ написан
    2 комментария
  • В чём отличие между middleware и фильтрами в .Net?

    yarosroman
    @yarosroman Куратор тега C#
    C# the best
    Middleware работают на уровне запросов, а фильтры на уровне слоя MVC, применяются для контроллеров, actions.
    Ответ написан
    2 комментария
  • Как в Webstorm "поиск по файлам" использовать регулярные выражения?

    Нужно включить поиск по регуляркам (голубой астериск на скриншоте) и, собственно, написать эту самую регулярку:
    65f1807a6837d054014964.png
    Ответ написан
    4 комментария
  • Какой самый мощный процессор можно поставить на Acer Aspire E3-112?

    QQQ-RRR
    @QQQ-RRR
    Здравствуйте, всё зависит от бюджета, способов достаточно. Если уже стоит "не родной" процессор то и материнская плата тоже не его (о чем писали выше). Я бы начал следующим образом:
    1. Узнал что за материнская плата стоит
    1.1 Распаян или сокет для процессора
    1.2 Подбор и расчёт нового процессора
    2. Оперативка - распаяна или есть слоты
    3. Необязательно но - если стоит бюджетный SSD то лучше бы взять что то "стабильное и быстрое"
    4. Обдумать вопрос операционной системы, если ноутбук для работы то мб стоит перейти на Linux (есть менее требовательные дистрибутивы и стабильно рабочие).
    Опять же всё упирается в бюджет, знания и возможности, удачи)
    Ответ написан
    Комментировать
  • Как и где искать изготовление "железок" под заказ?

    ValdikSS
    @ValdikSS
    Напишите любому китайскому производителю подходящих по характеристикам плат. Большинство из них охотно идут на контакт.
    Ответ написан
    2 комментария
  • Как найти первую стажировку или работу джуна по python?

    Maksim_64
    @Maksim_64
    ML Engineer
    1. Не нужно искать стажировку.
    С учетом что у тебя нет коммерческого опыта (шансы работа) / (шансы стажировка) > 1

    2. При поиске работы не нужно откликаться только на вакансии без опыта, откликайся на все ну и что, что у тебя будет автоматических отказов > 99 процентов, есть еще 1. Некоторые вакансии предполагают выполнение тестовых заданий. В некоторых вакансиях написано требуется опыт при этом зарплата сильно ниже рынка. Твоя первая задача это научится хоть какой-то фидбек получать от потенциального работодателя, созвон хотя бы. Стремись попасть на собеседование даже если у тебя нет шансов его пройти.

    3. Говори что официально не работал, но есть не официальный опыт. Сделай порфолио, что бы было что показать в резюме.

    С таким подходом на каждые 200 откликов твоя ожидаемая величина 2-5 потенциальных фидбека, 0-2 собеседования. Дальше, как справишься. Подводя итог, когда некое событие маловероятно то лучший рецепт это активность. Не нужно самому добровольно себя обесценивать. Скорее всего рынок заплатит тебе мало, но это совершенно не одно и тоже, когда ты сам, себя обесцениваешь подходом дайте шанс, я почти ничего не умею, но научусь и т.д. и т.п.
    Ответ написан
    1 комментарий
  • Будет ли комплект беспроводной клава+мышь работать от стороннего универсального usb-bluetooth адаптера?

    @SunTechnik
    Этот комплект беспроводной, но не bluetooth.
    От универсального адаптера работать не будут.
    Привязка к передатчик происходит на заводе.
    Для этого оборудования не имеет смысла заморачивался, дешевле купить новый комплект и не терять передатчик..
    Ответ написан
    1 комментарий
  • Cannot convert return expression of type, C# generic method, как вернуть конкретный тип?

    AshBlade
    @AshBlade Куратор тега C#
    Просто хочу быть счастливым
    как можно вернуть конкретный тип значения без изменения сигнатуры?

    В данном случае - никак.
    T - это generic параметр для подстановки во время компиляции. Он означает конкретный тип.
    Так как никаких ограничений на него не выставлено, то считается, что может в него быть вставлено абсолютно что-угодно. Но возвращаемые значения должны уметь конвертироваться в этот возвращаемый тип, например, если T - long, то ParseInt сработает, т.к. int конвертируется к long (неявно и явно), а DateTime к long просто так нет. А теперь вместо T подставь byte или какой-нибудь класс и подумай - можно ли int к этому классу сконвертировать.

    Пишу парсер

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

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

    Например, так можно

    enum TokenType
    {
        Int,
        Decimal,
        DateTime,
    }
    
    public abstract class ParseResult
    {
          public abstract TokenType Type { get; }
    }
    
    public class IntParseResult: ParseResult
    {
           public override TokenType Type => TokenType.Int;
           public int Value { get; }
           IntParseResult(int value)
           {
                 Value = value;
            }
    }
    
    public class DecimalParseResult: ParseResult
    {
           public override TokenType Type => TokenType.Decimal;
           public decimal Value { get; }
           DecimalParseResult(decimal value)
           {
                 Value = value;
            }
    }
    
    public class DateTimeParseResult: ParseResult
    {
           public override TokenType Type => TokenType.DateTime;
           public DateTime Value { get; }
           DateTimeParseResult(DateTime value)
           {
                 Value = value;
            }
    }
    
    public interface IParser
    {
              ParseResult Parse(string str);
    }
    
    public class IntParser: IParser
    {
            public ParseResult Parse(string str) => ParseInt(str);
    }
    
    public class DecimalParser: IParser
    {
            public ParseResult Parse(string str) => ParseDecimal(str);
    }
    
    public class DateTimeParser: IParser
    {
            public ParseResult Parse(string str) => ParseDateTime(str);
    }
    
    public static class MyParser
       {
           private static IParser GetParserFor(string str) { /* .... */ };
           public static ParseResult Parse(string str)
           {
                  var parser = GetParserFor(str);
                  return parser.Parse(str);
           }
       }


    Я рекомендую убрать этот статический парсер и вынести решение о том какой парсер использовать выше по иерархии вызовов, либо пересмотреть логику парсинга, т.к. просто посмотреть на строку и понять как парсить - не самое эффективное решение.
    Ответ написан
    Комментировать
  • Хорошая ли идея создавать БД на стороне клиентской части (фронтенда)?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    Зависит от многих факторов:
    1. Если это полноценное офлайн приложение:
    - Если необходима полноценная СУБД (SQL Server, Postgres, MySql) - то нет. Мало кто захочет дополнительно себе устанавливать такие тяжелые зависимости, они всегда могут ее удалить и тогда уже не восстановить, обновления ПО либо не будут возможны, либо трудны
    - Если это встраиваемая СУБД (SQLite) - то вполне да, так многие приложения делают (на андроиде слышал SQLite часто используют)
    2. Если это онлайн приложение в браузере:
    - localStorage - это key/value хранилище
    - web sql - устаревшая технология
    - куки - могут пропасть в любое время
    3. Если это корпоративные клиенты, то можно навязать им свои требования по необходимости запуска СУБД на каждой машине

    Тут все зависит от того, что под БД подразумевается и для каких целей это нужно

    UPD: SQL запросы из клиента напрямую в БД - очень плохая идея, не надо так (обновления, безопасность, гибкость и т.д. - все постарадает)
    Ответ написан
    4 комментария
  • Стоит ли брать рэковый supermicro или обойтись midi tower?

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

    Минусы:
    - оно ШУМИТ! Даже если в биосе выставить минимальную скорость вентиляторов - оно воет как пылесос на малых оборотах, а если температура выше некоего порога - оно кладет на настройки и взвывает сильнее. Правда, к этому быстро привыкаешь.
    - если крякнул вентилятор - бегом на ittelo.ru или другую барахолку с запчастями - в обычно магазине серверный кулер не найти - он маленький и высокооборотный.
    - если крякнул БП - проще купить новую платформу (на том же ittelo.ru). серверные БП стоят совершенно ненормальные деньги.

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