Задать вопрос
  • Нормальная ли практика, когда несколько сервисов подключены к одной бд?

    @login40k
    Не поддержу отвечающих выше. В мире микросервисных архитектур есть популярный антипаттерн https://microservices.io/patterns/data/shared-data... - шаренная база данных. Это обратная сторона паттерна database per servive. Чтобы избегать проблем с шаренными хранилищами применяют, те самые, "глобальные" апи, которые принадлежат конкретной системе. Эта система и ее команда управляют доступом к этой БД. Эти апи называют CRUD интерфейсами например.
    Ответ написан
    2 комментария
  • Почему эта переменная возвращает System.string[] вместо пути?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Ну во-первых, потому что так в документации написано.

    Во-вторых, само название метода GetFiles ничего вам не говорит? Данный метод возвращает список файлов в указанной директории.

    В целевой папке всего один файл

    И что? Значит метод вернёт вам массив с одним элементом. Если вы хотите получить конкретный файл, значит вам нужно что-то на подобии File.Open и т.д.

    значение переменной jar = System.string[]

    Тут по очереди. У вас System.string[] вылез, скорее всего из какого-то Console.WriteLine. Почему? Потому что тип вашего jar и массив типа string. Когда вы пытаете вывести какой-то тип в Console.WriteLine, который не предусмотрен в перегрузках, он будет вам выводить GetType().FullName, т.е. название типа, которое вам и выводится.

    Вообще, очень дурна привычка использовать var, просто не делайте так, а то вы плутаете сами себя и вы не понимаете, что вам должен возвращать метод
    Ответ написан
    8 комментариев
  • Как сформировать технологический стек для веб-приложения с геоинформационной системой отслеживания грузового транспорта?

    newross
    @newross
    Product owner
    Я собрал 3 подобных сервиса, как для Glonass/GPS, так и для AIS. В текущем решении 180 000 единиц транспорта отслеживается. Вот несколько базовых моментов из опыта:
    1. Приборы отправляют данные на сервер сами, а не наоборот. Твоя задача принимать и быстро сохранять данные в бд. В какой - не важно. У меня хорошо работает связка из реляционной бд для оперативных данных типа текущего положения, nosql для архива.
    2. Протоколов у трекеров огромный зоопарк, у каждого производителя свой. Не привязывай свою реализацию к конкретному протоколу. Сделай общий API для сохранения данных в базу, а затем уже подключай протоколы по мере необходимости.
    3. Если тебе нужен геофенсинг, сразу закладывай event-driven архитектуру. Опять таки не важно какой ты возможешь брокер сообщений.
    Все остальное вторично. Для отображения данных хоть на любом low-code забирай данные напрямую из оперативной базы и отображай на карте.
    Ответ написан
    Комментировать
  • На что обратить внимание при проектировании крупного ресурса?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    для форума, думаю реляционная БД в любом случае удобнее.
    В теории, если он достигнет размеров Хабра, можно будет вообще переписать продукт, к тому времени накопятся хотелки, накопится опыт что и как работает, что востребовано и что нет.
    База данных же скорее всего просот масштабируется, Индексируется, кластеризируется.
    Посмотрите как спроектированы базы популярных форумов (xenForo, IBP, vbulletin)- ничего особенного нет, хотя рассчитаны на огромное количество юзеров, но это решается больше железом. И все на реляционных базах.
    Ответ написан
    7 комментариев
  • Какой самый быстрый способ найти позицию последовательности 0-bit заданной длины в int[]?

    wataru
    @wataru Куратор тега Алгоритмы
    Разработчик на С++, экс-олимпиадник.
    Зависит от длины n. Если n маленькое то можно прикладывать маску. Байт x содержит 3 ноля в последних битах, если ~x &0x7 == 0x7. Аналогично, сдвигая маску из трех единиц (0x7) можно приложить ко всем позициям.

    Если n большое, то надо чтобы было много нулевых байт в массиве подряд. Тут можно использовать SSE инструкции для массового сравнения байт с нулями.

    Потом, можно еще распараллелить поиск в несколько потоков. Каждый поток ищет последовательность, начинающаюся в отдельном куске массива.
    Ответ написан
    Комментировать
  • Как в typescript объединить ключи, и если появляются повторы, то сделать объединение типов?

    Alexandroppolus
    @Alexandroppolus
    кодир
    Запилил такой вариант.

    Поддерживаются вложенные объекты и массивы (кортежи), см. пример. Глубина рекурсии произвольная, но результат получается здоровенный, если много всего.

    Решение влоб: сначала находим все пути до простых значений, потом по множеству этих путей собираем объект.
    Ответ написан
    3 комментария
  • Нужна ли нам вся эта безопасность?

    @accountnujen
    Интел, Intel vdt, Intel ppt, от Microsoft, Device Guard и т.д. Вопрос, а нужно ли мне все это?

    маркетологам нужно. вам - нет.
    под предлогом заплатки уязвимости/безопасности можно урезать процентов 30-40% производительности. Этим страдает и intel, и amd. Этакий лёгкий способ заставить юзера купить новое оборудование. Если вы думаете, что избавиться от этого можно лишь установить Windows без этих обновлений, то вы очень сильно ошибаетесь. Все процессорные обновления необратимы. Если взять два старых процессора: один из коробки, а второй из системы после обновления, то они покажут разную производительность на чистой старой системе.

    если грубо говоря, производитель выпускает какой-нибудь tmp и говорит: новая windows работать без него не будет. Хочешь новую - покупай новый ПК. Тоже самое и с другими средствами защиты: хочешь защититься - покупай новый ПК, иначе всё будет лагать.
    Ответ написан
  • Можно использовать микросервесную архитектуру для разных приложений/проектов?

    xez
    @xez
    TL Junior Roo
    Этот вопрос решается сервисом аутентификации пользователя, который отдает пользователю аутентифицированному ключ, с которым он ходит уже по всем сервисам.
    Копать отсюда: https://oauth.net/2/
    Ответ написан
    Комментировать
  • Что нужно знать начинающему системному администратору?

    @brar
    ///После недельного простоя, мне звонят и приглашают на стажировку////
    Значит, опытные спецы за ту зп, которую они предлагают даже не откликаются. Взяли Вас "На стажировку". Это и правда и нет, одновременно. Вы друг друга нашли, скажем так.
    Выжмите максимально опыт в практике из этой хитрой конторки. Главное - не сильно себя вините, если что-то сломается, а на вас будут наезжать. Отвергайте любые обвинения в случае простоя. Далее, как поднатореете, через месяцев 12 ищите нормальную, которая понимает объёмы и ответственность IT-специалиста за простои в работе и платит в ~2 раза больше.

    По теме вопроса: первое, на что обратить внимание - на критичность того ии иного сервиса. Прям подойти к боссу и спросить - "что должно работать весь рабочий день?". Телефония? БД? 1с? Без чего прям кранты? К тому сервису и направьте своё максимальное внимание. Смоделируйте на практике восстановление БД из резервной копии. Файловый сервер. Сотрудник уволился, грохнул все свои наработки/файлы, логины на торговых площадках, почтовую переписку etc. Промониторить доступы предыдущих сотрудников на администратиыный доступ к каким-либо сервисам/серверам/роутерам/площадкам.
    Ответ написан
    Комментировать
  • Какую бд лучше выбрать?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега SQL
    Седой и строгий
    Mongo почти никогда не проще использовать. Для её выбора должны быть очень веские основания.
    Ответ написан
    Комментировать
  • Что учить fullstack разработчику(.net core)?

    Steel_Balls
    @Steel_Balls
    Добрый день!
    Судя по вопросу, то ты junior без опыта работы.
    Чтобы стать Fullstack, у тебя должен быть опыт коммерческой разработки от 3 лет на позиции Middle (как минимум) в backend+frontend+devops+dba ОДНОВРЕМЕННО!
    порешав задачи на leetcode

    leetcode-задачки нужны только чувакам из яндекса и сбера/финтеха только для собеседований и ничего общего с реальностью эти задачи не имеют.
    Уже изучил C# до ООП включительно

    И что? А ШП ты изучил? Если нет, то грош цена твоему ООП

    И ещё, любой разработчик должен уметь пользоваться поиском. Если самому тебе трудно, то на, держи:
    https://roadmap.sh/full-stack
    (заметь, литкода там нет)
    Ответ написан
    3 комментария
  • В чем заключается суть бинарного поиска неотсортированного массива?

    wataru
    @wataru Куратор тега Алгоритмы
    Разработчик на С++, экс-олимпиадник.
    Ну ведь тут массив же отсортирован. Хоть и с приколом: он сдвинут. Можно тем же бинарным поиском найти, где там "разрыв" происходит, а после у вас 2 отсортированных куска. Или сразу модифицировать бинпоиск.
    Представьте, что у вас массив, где сначала идут 1, а потом 0. Можете найти в нем, где 1 переходит в 0?

    Или смотрите так: ищите вы x. Взяли значение a[m]. Можете, посмотрев на a[l], a[m], a[r] и x понять, в какой половине лежит x?

    Edit: ах, тут числа могут быть одинаковыми. Тогда бинпоиск тут не работает. Ибо может быть тест {1,1,1,2,1,1} - и тут можно 2 в любую позицию поставить. И, если вам надо эту 2 найти, то вам придется просмотреть все числа, иначе вы ее не найдете. Бинпоиск возможен, если первое и последнее числа разные.
    Ответ написан
    3 комментария
  • Что выбрать для CI/CD проектов на .net?

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

    Jenkins:
    - Бесплатный
    - Можно развернуть на Windows, что тебе нужно для net framework

    Ещё бы порекомендовал Teamcity - вроде первые несколько раннеров у него тоже бесплатные и он достаточно хорошо с .net интегрирован
    Ответ написан
    Комментировать
  • Стоит ли использовать lodash сейчас?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Я так понимаю все что предлагает лодаш уже реализовано нативно

    Не понимаете.
    Ответ написан
    Комментировать
  • По какой логике bind принимает только первый контекст?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    Метод bind возвращает новую функцию, которая уже игнорирует свой контекст и передаёт тот, который запомнила.
    Если в коде, то это примерно так работает:
    Function.prototype.bind = function bind(ctx, ...args) {
        const originalFunction = this;
        return function (...args2) {
            return originalFunction.apply(ctx, args.concat(args2));
        };
    }
    Как видите, возвращаемая функция уже никак не использует свой this.
    Соответственно второй вызов bind его будет передавать в пустоту, однако может добавить аргументы.
    Ответ написан
    4 комментария
  • Насколько C# сейчас подходит для разработки под linux?

    @enavermate
    Нужно!
    Недавно сдали 12 месячный проект. ASP.NET5, MVC-framework, PostgreSQL, KestrelServer (начали проект спустя !4! месяца после выхода оного). Задачи: Сервер + REST API.
    Сначала хотели разместить на Azure, но что-то не заладилось.
    В итоге разместили на Linux'овом сервере.
    5 месяцев - полёт нормальный.
    Мануалов для конфигурирования от MS уже намного больше.
    Так что пишите - уже всё готово!
    Ответ написан
    Комментировать
  • Как выбрать между C# и Java?

    bingo347
    @bingo347
    Crazy on performance...
    Никто за Вас не решит.

    Могу поделиться своим субъективным ИМХО полиглота способного закодить многие вещи примерно на 15 различных ЯП - DX (Developer Experience) лучше у шарпа. Система типов будет понадежнее. Контракты на дженерики сделаны весьма хорошо (если бы я не знал Rust, то может и сказал бы, что отлично). Куча приятного сахара, вродеpublic int Field { get; private set; }или async/await или функциональных фишечек вроде замыканий (хотя в Java вроде тоже завезли уже)

    Но самое важное, шарп позволяет писать в любой из 3х парадигм (процедурщина, ФП, ООП) и успешно их комбинировать, а Java хоть и притворяется ООП языком, адекватно и не сожрав всю память пользователя на ней можно писать только процедурщину, пусть и в ООП обертке.
    Ответ написан
    3 комментария
  • Как выбрать между C# и Java?

    CellycoMobiles
    @CellycoMobiles
    indi developer @CellycoMobiles
    Выбирайте c# - порог вхождения ниже. Когда освоитесь будет проще выбрать Java, как дополнительный язык программирования. Но к этому времени станете высокооплачиваемым C# разработчиком.

    По вашим аргументам. Падение интереса к C# в РФ связано с уходом Макрософта из России. Поэтому так ярко выглядит.
    Красота синтаксиса, в современной Java все гораздо лучше шарпа. Или если любите синтакисческий сахар берите Kothlin.
    C# не обязательно только web и gamedev. Лично видел внутри одного банка приложение на шарпе. Есть одна студия, которая все свои продукты выпускает на шарпе. Да много где шарп применяется.

    + за C#
    Ответ написан
    Комментировать