Задать вопрос
  • Выбор между SQL и NoSQL документооринтированной базой данных?

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    Тут нет никакого выбора.

    Первое, что надо понять - это что в "веб приложении", да ещё и с "архитектурой", должна быть база данных. Без неё просто не обойтись. А из всего перечисленного базой данных является только постргес.
    (те, кто почему-то до сих пор не избавился от иллюзий, или просто стал жертвой незамысловатой рекламы, могут почитать, почему MongoDB базой данных не является).

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

    Соответственно, если говорить про базу данных, то выбор очевиден - Постгрес.
    Но если речь про поиск, то так и надо формулировать - "что использовать для поиска по базе данных?". И тут ответ тоже будет очевидный - Эластик (ну или любой другой поисковый движок - солр, мантикора, и так далее). Который и будет искать по информации, хранящейся в базе данных.

    Но это только если у вас действительно веб-приложение. Если же у вас стильный энергичный молодёжный стартап, целью которого является проесть деньги инвестора, то Монго - а ещё лучше Равен - будет идеальным выбором. Это же мечта любого говнокодера маститого разработчика - не нужно корпеть над структурой базы данных, мучиться с внешними ключами, вдумчиво расставлять индексы - а просто валить всё в одну кучу!
    Ответ написан
  • Выбор между SQL и NoSQL документооринтированной базой данных?

    В postgres можно искать по геоиндексам при помощи postgis.
    Для текстового поиска по описанию в постгресе есть полнотекстовый поиск.
    Произвольные поля можно добавить через колонку с jsonb.

    Так как нет никаких дополнительных данных, по которым можно было бы выбрать, я бы предложил взять постгрес, тк он вроде как все перечисленные нужды закрывает и не будет раздувать инфраструктуру, ведь вы уже собираетесь его использовать для хранения пользователей.
    Ответ написан
    1 комментарий
  • Какой путь исправления проблемы (sitemap.xml с дублями) для Яндекс поиска правильнее?

    @TimurRyabinin
    Здравствуйте! Я из Яндекса. Из указанных вами двух вариантов первый более предпочтителен. В sitemap не нужно указывать ссылки, которые не должны быть в поиске.

    Для ответа на вопрос про утерянные страницы не хватает информации.

    Пожалуйста, авторизуйтесь в аккаунте, на котором подтвердили права на управление сайтом. После этого напишите в поддержку с примерами ссылок через форму обратной связи в Справке: https://ya.cc/t/N9A014nK6K7w5T.

    Вы также можете прислать примеры ссылок в чат: https://ya.cc/t/P3FVrfxf6K7wP2.
    Ответ написан
    Комментировать
  • Как разобрать json на классы и переменные в c#?

    @UniverseElement
    Копируем JSON в буфер обмена.

    Создаём пустой C# файл. В нем не должно быть ничего, кроме указания namespace. Курсор поставим внутрь namespace, куда будет вставлен код созданных классов.

    В меню Viusal Studio выбираем EDIT > Paste Special > Paste JSON as Classes.

    В результате будут созданы необходимые C# классы.
    Ответ написан
    Комментировать
  • Как разобрать json на классы и переменные в c#?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    1. Пишете нужный класс с нужными данными: Как правильно описать класс для библиотеки Newtonsoft.Json C#?
    2. Открываете ман Newtonsoft.json в разделе конвертеров: https://www.newtonsoft.com/json/help/html/CustomJs... и далее в гугле.
    3. Пишете свой конвертер
    4. Радуетесь результату
    Ответ написан
    1 комментарий
  • Как пройти авторизацию через api сайта и внедрить это в код для парсинга?

    cyber-jet
    @cyber-jet
    В этом api должно быть сказано как осуществляется авторизация, т.е. кука или jwt-token в заголовке, которые нужно вместе с запросом отправлять.
    Ответ написан
    Комментировать
  • Лучшие практики для русскоязычных аббревиатур в API?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    Если предполагается в перспективе использование вне РФ - то лучше использование tin вместо inn, и прочие по возможности таким образом заменять.
    Ну а если сугубо для внутреннего пользователя - то можно использовать русские транслитерированные аббревиатуры.
    Ответ написан
    Комментировать
  • Почему не получается передать компонент через свойство?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Используйте наименование компонентов с заглавной буквы, в ином случае, реакт будет считать его не парным тегом:
    function Box() {
      return (
        <>
          <p>Box Component</p>
        </>
      );
    }
    
    function List({Component}) {
      return (
        <>
          <Component/>
        </>
      );
    }
    
    function App() {
      return (
        <List Component={Box}/>
      );
    }
    
    export default App;

    Либо:
    function List({component: Component}) {
    Ответ написан
  • Как сгенерировать 404 из view в asp.net core?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    В asp.net core ЧТО? Blazor Server? Blazor Web Assembly? Razor Pages? Web Api?

    Какие исключения? Вы понимаете, что такое исключение на уровне приложения? Это когда программа "отвалилась", произошла ошибка, сервер накрылся, базу данных физически украли, свет отключили или что-то подобное

    Ваш HttpException это по факту ошибка работы с протоколом Http, ошибка передачи информации или подобное. И то, даже школьники уже понимают, что ошибки нужно обрабатывать, а не специально генерировать. Если у вас программа будет на сервере, а вас просто сервер накроется из-за такого кода и вам нужно будет лезть и всё заново запускать

    Ошибка 404 это просто статус ответ от сервера, который уведомляет вас о том, что запрашиваемый ресурс не найден. Если у вас всё же стоит Web Api, тогда просто в контроллере делаете return NotFound()

    Если у вас Razor Pages или MVC, просто сделайте return RedirectToAction("NotFound", "Home") предварительно создав страницу NotFound в контроллере Home
    Ответ написан
    4 комментария
  • Что такое .Net и .Net framework?

    .NET Framework - это старая платформа, которая изначально в 2000х появилась.
    Потом в 2016 или типа того году появился .NET Core и .NET standart.

    .NET Core - новая, кроссплатформенная платформа, в которую изначально завозили всякие новые штуки типа нового JIT, вносили новые API, убирали старые, завозили новые фичи C#.

    .NET standart - спецификация, которая позволяет делать библиотеки, которые работают и на .net framework и на .net core с гарантией совместимости.

    Часть нововведений .NET Core вернулась в .NET Framework, а часть - нет.

    Потом произошёл ребрендинг и .NET Core переименовали в просто .NET, а .netstandard прекратили обновлять, тк все новые api теперь идут только в .NET, но не в .NET Framework.

    Как я понял .Net и .Net framework это программы, которые преобразуют папку с проектом в исполняемый файл, другими словами говоря - компиляторы.

    Не совсем. Есть две вещи:
    1. .NET runtime и .NET SDK
    2. .NET Framework и .NET Framework DevPack
    То что слева - это только рантайм, он отвечает за запуск уже собранных приложений.
    А вот в sdk уже входит компилятор и все необходимые для сборки приложений библиотеки.

    Сами по себе они отличаются тем, что .Net framework создаёт файл, запускающейся только на винде, а .Net - и на маке и на линуксе.


    Различие между .NET Framework и .NET я уже описал выше, но повторю:
    1. .NET Framework - старый/устаревший, менее производительный, и только windows (mono упоминать не будем)
    2. .NET с номером - новый/современный, более производительный, работает на разных платформах.

    Для нового проекта стоит выбирать только номерной .NET (сейчас вроде 9), если у тебя нет весомых доводов для выбора .NET Framework.
    Ответ написан
    4 комментария
  • Почему asp net потребляет много оперативной памяти на сервере?

    BasiC2k
    @BasiC2k
    .NET developer (open to job offers)
    Комуто надо надавать по рукам... ))
    Скорее всего не высвобождаются какие-то объекты, которые нужно высвобождать принудительно.
    Проанализируйте - что делает Ваше решение, где и как используются дополнительные библиотеки. Особое внимание (если применимо) - обработке графических объектов. Как вариант - при запуске из-под Visial Studio открыть окно мониторинга ресурсов и наблюдать - при каких операциях потребеление памяти увеличивается (и не снижается).

    66fe7e7303912432424750.png
    Ответ написан
    Комментировать
  • Почему asp net потребляет много оперативной памяти на сервере?

    Пахнет утечкой памяти, даже очень-очень нагруженные приложения редко больше пары гигов потребляют.
    "простейший api-сервис" редко больше 1гб потребляет
    Я бы начал со снятия дампа памяти, чтобы понять, какие объекты столько занимают, а там уже можно будет и найти конкретное местно, где утечка произошла.

    https://learn.microsoft.com/en-us/dotnet/core/diag...
    https://learn.microsoft.com/en-us/dotnet/core/diag...
    Ответ написан
    Комментировать
  • Какие можно посмотреть курсы/уроки по практике на rust?

    vabka
    @vabka Куратор тега Rust
    Оставлю шутки, про "выучил раст" в стороне и пойду по порядку, тем более что судя по недавним вопросам - заявление крайне смелое.

    0. По хорошему стоит подтянуть математику, тк она помогает абстрактно мыслить, а без этого в разработке будет крайне тяжело. (Опять же по соседним вопросам - математика не дотягивает даже до 9 класса мбоу сош).
    В принципе на этом моменте тебе больше не нужно будет задавать подобные вопросы.

    1. Проверь, что ты действительно прочитал хотябы растбук и понял его.

    2. Определись с тем, что ты будешь делать.
    Смотри что тебе больше нравится в индустрии и тем, где тебе будет приемлимо заработать. Тут решишь, что тебе приятнее - крипта, фриланс, свой какой-то мини бизнес, или найм в какую-то крупную компанию.

    3. Найди библиотеки, фреймворки для этого. Читай документацию, смотри примеры, делай какой-нибудь личный проект для практики. Сделай до завершённого состояния.

    4. На этом шаге можно уже смело пытаться заработать в п2

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

    PS: в последнее время мне нравятся видосы decrusting ... от чела https://youtube.com/@jonhoo?si=9VbtXlH4dgdCrwQ-
    Три часа непрерывного разбора всех абстракций какой-то библиотеки
    Ответ написан
    Комментировать
  • Стоит ли делать отдельный микросервис для Баз данных?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Кто то счетает это хорошей идеей, как возможность связать все сервисы

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

    petermzg
    @petermzg
    Самый лучший программист
    66b377a8d838f387114270.png
    66b377c874caf398469806.png
    var res = pm.response.json();
    pm.environment.set('token', res.token);

    66b377dacc9ab075006401.png
    Ответ написан
    Комментировать
  • Почему Model.IsValid = false когда запрос валидный?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    Все просто - ты с клиента передаешь JSON объект, а принимаешь на сервере строку.
    Вот и не сходятся типы.
    Либо делай DTO на сервере, либо передавай строку.
    Ответ написан
    Комментировать
  • Парсится только часть страницы. Как парсить всю страницу?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Добро пожаловать в современный web, где контент уже больше пятнадцати лет формируется динамически с помощью JavaScript, который BeautifulSoup выполнять не умеет.
    Ответ написан
    Комментировать
  • Возможно ли выполнить JavaScript код в Rust при помощи NodeJS?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    Хоть и вопрос несколько сумбурный и не совсем понятно, что автор хочет на самом деле...
    Но краткий ответ: да, возможно, но есть нюансы...

    Самый простой вариант - запускать node как отдельный процесс. Можно просто запускать на каждый чих, а можно заморочиться и организовать общение между приложением на Rust и приложением на Node.js

    Вариант поинтереснее - Node.js можно собрать как библиотеку (есть даже готовые бинарные сборки такого), линкуем с приложением на Rust. Всё живёт в одном процессе, но node будет запускать свои потоки.

    Есть и обратный последнему вариант. Можно из Rust кода собрать бинарный аддон к Node.js
    Правда тут уже JS код будет запускать код на Rust.
    https://napi.rs
    https://neon-rs.dev

    Можно пойти дальше. Если задача просто исполнять JS код из приложения на Rust, то можно слинковаться с одним из JS движков. Приколюх предоставляемых платформой Node.js здесь не будет (вроде fs или http), хотя никто не мешает реализовать это самостоятельно.
    https://crates.io/crates/v8
    https://crates.io/crates/quickjs_runtime
    Ответ написан
    3 комментария
  • Установка react на vps?

    Elaryks
    @Elaryks
    Вы уверены, что вам на VPS нужна именно dev-версия проекта? Скорее всего, вам нужно задеплоить готовое приложение. Например, вот инструкция: ссылка.

    Если коротко, вам нужно сбилдить проект через npm run build, потом папку dist из корня проекта скопировать куда-нибудь на VPS, настроить nginx (или другой) веб-сервер, чтобы он запросы по нужному вам URL перенаправлял на index.html из той папки.
    Ответ написан
    2 комментария
  • Как обезопасить программу С# от взлома?

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

    Но я просто пытаюсь угадать что и от чего ты пытаешься защитить.
    Ответ написан
    Комментировать