Задать вопрос
  • Как подключить бд к серверу в docker-compose?

    @q2digger
    никого не трогаю, починяю примус
    на этот вопрос тут наверное раз в день ктото отвечает.
    у каждого докер-контейнера СВОЙ локалхост и свой 127.0.0.1
    К базе из контейнера API обращайтесь по имени контейнера базы и по ее порту контейнера то есть
    postgres_db: 5432
    Ответ написан
    2 комментария
  • Кому отдать предпочтение iMac или Windows PC?

    @Drno
    У тебя не в железе проблема, в а прокладке между рулём и сиденьем.
    Поставь нормальную винду, поднастрой её немного.
    настрой железо
    всё будет летать.
    я хз как у тебя это может лагать, разве что там дикие перегревы или кривой биос

    Хотелось бы видеть замеры температуры для начала, при нагрузке и стресс тесте. например от OCCT или аида64
    Ответ написан
    6 комментариев
  • Сколько вообще целых и дробных чисел с неповторяющимися цифрами существует?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Давайте прикинем.
    Для дробных чисел, имеющих хоть один значащий разряд перед запятой и один после мы должны выбрать первую цифру из девяти (ноль исключаем), последнюю из восьми (исключаем уже выбранную и ноль), третью из восьми оставшихся, четвёртую из семи и т.д. Кроме того, точка может стоять в одной из n-1 позиций, где n - количество цифр.
    Получаем:
    Чисел из 10 цифр: 9 * 8 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1 * 9 = 26'127'360
    Чисел из 9 цифр: 9 * 8 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 8 = 23'224'320
    Чисел из 8 цифр: 9 * 8 * 8 * 7 * 6 * 5 * 4 * 3 * 7 = 10'160'640
    ...
    Чисел из 2 цифр: 9 * 8 * 1 = 72
    Просуммировав, получим 63'130'248
    Добавим сюда числа вида 0.xxx. Поскольку ноль фиксирован, первую цифру после него мы можем выбрать из девяти, вторую из восьми оставшихся и так далее.
    Чисел из 10 цифр: 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1 = 362'880
    Чисел из 9 цифр: 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 = 362'880
    Чисел из 8 цифр: 9 * 8 * 7 * 6 * 5 * 4 * 3 = 181'440
    ...
    Чисел из 2 цифр: 9
    Сумма 986'409
    Теперь возьмём целые числа. В первой позиции не может быть нуля, поэтому первую цифру выбираем из девяти. Вторую из девяти оставшихся, третью из восьми и т.д.
    Чисел из 10 цифр: 9 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1 = 3'265'920
    Чисел из 9 цифр: 9 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 = 3'265'920
    Чисел из 8 цифр: 9 * 9 * 8 * 7 * 6 * 5 * 4 * 3 = 1'632'960
    ...
    Чисел из 2 цифр: 9 * 9 = 81
    Чисел из 1 цифры: 9
    Сумма 8'877'690
    Сложим всё, добавив ноль, получим 72'994'348.
    Ответ написан
    5 комментариев
  • Как правильно тестировать базу данных в .NET?

    Splo1ter
    @Splo1ter
    .NET Developer (9 years+)
    Тестировать бд не надо
    Надо тестить общую логику.
    Поднимаете контейнер с базой данных и тестируете.
    База данных существует во время всей сессии тестов.
    Потом контейнер убивается.
    Ответ написан
    3 комментария
  • Как правильно тестировать базу данных в .NET?

    AshBlade
    @AshBlade Куратор тега C#
    Просто хочу быть счастливым
    Решение простое - создаешь мок БД для тестов.
    1. Тест начинается - запускаешь БД и заполняешь данными необходимыми (как сказал Василий Банников можно сделать дамп с удаленными чувствительными данными)
    2. После каждого теста необходимо выполнить откат - если какие-то данные были добавлены/удалены/изменены
    3. При завершении тестирования удаляешь БД

    На мой взгляд, здесь просто много инфраструктурной работы. Полезные инструменты:
    1. Testcontainers - запускаешь БД в контейнере. Сам ей пользовался, есть много шаблонов для разных БД, чтобы с нуля не писать все. Можно также скрипт инициализации (схема, дамп) добавить - вот тебе и настройка
    2. В зависимости от фреймворка есть разные механизмы запуска кода после каждого тест-кейса. Если про xUnit, то:
      1. Тестовый класс реализует IDisposable - выполняется после каждого тест-кейса. Можно тут реализовать логику отката БД
      2. Для инициализации самого контейнера (чтобы каждый раз не запускать заново) - IClassFixture



    Также никто не отменял внешний инстанс БД использовать - просишь дба создать отдельную БД специально для тестов, просто запускать теперь параллельно не получится
    Ответ написан
    Комментировать
  • Как правильно тестировать базу данных в .NET?

    Вся логика выборок, фильтров и т.д. вынесена на уровень Storage Procedure, значит не получится создать тестовую БД с тестовыми данными.

    Это ещё почему? Во время прогона тестов поднимаете полноценную СУБД, которую заполняете всеми табличками и процедурами.
    Больше вариантов нет, если хочется этот слой протестировать.
    При наличии миграций - это не должно быть сильно сложно.

    В крайнем случае можно взять дамп продовой базы, вычистив все чувствительные данные.
    Ответ написан
    2 комментария
  • Как правильно тестировать базу данных в .NET?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Мне не нравится сама идея тестирования базы.

    Тестируют обычно бизнес логику. Слой Services, Processors e.t.c.

    Если ваш язык программирования бизнес-логики это PL/SQL, T/SQL e.t.c. то я вам сочувствую.
    Наверное в этом и есть главная причина ваших трудностей. Эти языки неудобно тестировать
    и практики тестирования наподобие *Unit, *Property e.t.c. тестов там исторически не прижились.

    Создание тестовой БД в таком случае - да. Это компромисс. Вот и двигайте в этом направлении.
    Поднимайте все в контейнере типа docker.
    Ответ написан
    6 комментариев
  • Можно ли с нуля обучится программированию, используя только интернет и не тратив деньги?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Не только можно, но и нужно, ибо основа программирования и разработки ПО - это прежде всего самообразование. Начните вот с чего-то типа вот такого: https://roadmap.sh/
    Ответ написан
    1 комментарий
  • Можно ли с нуля обучится программированию, используя только интернет и не тратив деньги?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Вообще можно. Сможете ли конкретно вы - неизвестно.
    Ответ написан
    Комментировать
  • Как можно сделать линию(нитку) удочки, как в майнкрафте?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    Почитай про кривые безье
    Ответ написан
    Комментировать
  • C# 7.3 Как мне вызвать асинхронный метод, находящийся в отдельном файле?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Task (задача) - это не Thread. Это спрецифичный для исполняющей системы (CLR) .NET объект, который позволяет отследить завершение выполнения операции, выполняющейся независимо от вашего основного потока управления и получить результат выполнения, если он есть (в вышем случае результата нет). Для запуска задачи, которую возвращает асинхронный метод (в отличие от вновь созданного объекта задачи - new Task(...)) ничего делать не нужно - она уже запущена исполняющей системой. Поток (Thread) для ее выполнения, если он нужен (а нужен он не всегда, иногда задача завершается внутри асинхронного метода синхронно) обычно берется из пула потоков (но могут быть нюансы, если они вам интересны - читайте про SynchronizationContext).
    Если вам нужно дождаться выполнения задачи в синхроннном коде (у вас сейчас такой), то следует использовать метод задачи Wait(), но он заблокирует основной поток. Альтернатива для современного .NET (7.3 для этого достаточно современный) - использовать асинхронный метод Main: просто указать static async Task Main() вместо static void Main. Тогда можно дожидаться выполнения Install асинхронно, с помощью операции await: await update.Install(); При этом основной поток блокироваться не будет, но если ему все равно делать нечего (это зависит от типа приложения), то выигрыша от этого не будет (в консольном приложении, например).
    PS Зачем вы применили атрибут [STAThread] к метод Install? Ведь, согласно документации
    Примените этот атрибут к методу точки входа (Main()метод в C# и Visual Basic). Это не влияет на другие методы
    То есть, он тут бессмысленнен. И вообще, это - тяжкое наследие технологии OLE2/COM.
    Ответ написан
    1 комментарий
  • Как конвертировать через обобщение в c#?

    WNeZRoS
    @WNeZRoS
    Вам нужен .NET 7 или новее чтобы воспользоваться интерфейсом IParsable.
    public static void Input<T>(T[] nums) where T : IParsable<T>


    (ref в параметре не нужен при таком использовании внутри, массив это ссылочный тип)
    Ответ написан
    3 комментария
  • Почему индикатор, расположенный спереди на системном блоке, горит оранжевым светом?

    @SunTechnik
    1. Картинка не открывается.
    2. Вариантов корпусов - как грязи.
    Смотреть надо описание корпуса и символы около индикаторов.

    Хрустальный шар говорит, что диск умер/ подыхает. Но даже постоянно горящий индикатор диска не обязательно говорит о его неисправности.
    Ответ написан
    3 комментария
  • Как разрешить доступ к MS SQL (named instance) серверу за WIndows Firewall?

    mindtester
    @mindtester
    http://iczin.su/hexagram_48
    https://learn.microsoft.com/ru-ru/sql/sql-server/i...

    ps все еще веселее. там есть конфигуратор служб/протоколов. можно назначать алиасы и двигать порты для каждого инстанса/протокола

    pps ну и в конекшенстрингах можно указывать сдвинутые порты

    ppps к примеру, sqlexpress, алиасом "." в инстанс по дефолту. хотя вопросы с портами это не решает
    Ответ написан
    Комментировать
  • Что выбрать для CI/CD проектов на .net?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    • Самое ближайшее и доступное в вашем случае - GitHub Actions
    • Чуть более сложно, но больше гибкости и автономности - GitLab PipeLines (можно даже у себя захостить сервер)
    Ответ написан
    2 комментария
  • Возможно ли на винде написать программу дешифровки?

    @kalapanga
    Можно ли написать такую программу в принципе? Конечно. TrueCrypt например, или что там сейчас вместо него, примерно так и работают.
    Удобен ли для написания такой программы C#? Не уверен, скорее нет. Потребуется весьма низкоуровневое программирование.
    Ответ написан
    6 комментариев
  • Между сборками и пространствами имён нет прямого соответствия. Что это значит?

    AshBlade
    @AshBlade Куратор тега C#
    Просто хочу быть счастливым
    Ты можешь создать сборку (грубо говоря, проект/.csproj), которая называется Service.Domain, но все классы там будут в неймспейсе (пр-ве имен) Another.Namespace
    Т.е. название проекта не накладывает ограничений на названия пр-в имен, которые в нем хранятся.
    Ответ написан
    Комментировать
  • Как сделать редирект с domain.ru:8080 на domain.ru?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Люди, вы чего? Что с вами?! Документацию надо чтить!

    server {
              listen 8080;
              server_name domain.ru
              return 301 http://$host$request_uri;
    }
    Ответ написан
    2 комментария
  • Как загружать данные перед серверным рендерингом в React?

    @diller
    Реакт рендерится на стороне клиента, это в любом случае просадка по сео, Next js придется подтянуть, там не сложно. Я вообще забил на реакт и написал свою оболочку на js + ts.
    Ответ написан
    Комментировать
  • Как отправить post запрос на сайт крипты Bybit?

    BasiC2k
    @BasiC2k
    .NET developer (open to job offers)
    Вам нужно взять конкретный запрос и пристально его рассмотреть. Все зеголовки, куки, токены.
    Потом попробовать эмулировать запрос пока не будете получать нужный ответ. Делаете приложение.
    Потом решаете как получать куки (например эмулятором браузера или расширением к браузеру) и подсовываете своему приложению.
    Это вариант для самых сложных случаев.
    Ответ написан
    3 комментария