Задать вопрос
  • Типы ключей в базах данных?

    ayazer
    @ayazer
    AKLZephyr,
    1)
    если просто - да, только праймари ключ всегда один, а уникальных - может быть много.
    если сложно - нет, это все-же разные вещи. праймари ключ это clustered index, т.е. он влияет на то, каким образом данные в таблице физически хранятся на диске. и именно по этой причине можно иметь только 0-1 праймари ключ для таблицы. а nonclustered index - это просто отдельная структура, которая помогает быстрее находить нужную запись.
    2) да
    3) да

    upd: ну и так как в тегах именно майскл, то для
    InnoDb - всегда имеет clustered index
    myisam - не поддерживает clustered index, а использует heap table (т.е. сваливает все в 1 кучу без какой-либо сортировки)
  • Как открыть проект(web приложение) скачанное с github?

    ayazer
    @ayazer
    Антон не вводите человека в заблуждение. бинарник может выйти только при селф-хостет приложении на .неткоре которое собирают под винду. а тут по структуре проекта видно что это старый асп.нет который соберется в набор длл которые надо будет захостить в иисе/кестреле
  • Нужно ли хранить калорийность, количество жиров, углеводов и белков отдельно для рецепта и ингредиента?

    ayazer
    @ayazer
    FairyFox5700, конечно будет дублированием. Нужно ли записывать - зависит от задачи. Если рецептов много и нужно будет иметь возможность фильтровать по калорийности - такая денормализация очень сильно ускорит работу запросов (т.к. будет просто поиск по индексу). Но с другой стороны - в случае изменения калорийности ингридиента обновлять калорийность всех рецептов нужно будет уже ручками.
  • Как добавить +1 к значению null?

    ayazer
    @ayazer
    а что вы ожидаете получить в итоге то?
  • Почему SQL-запрос не захватывает строки с NULL?

    ayazer
    @ayazer
    NULL в мускуле не является


    в скле вообще, не только мускуле. Бо кто-то может подумать что это особенность мускуля.
  • В чем профит индекса в данном примере?

    ayazer
    @ayazer
    поиск начиная с первого кортежа на диске будет происходить как-раз при отсутствии индекса. при наличии - это будет пара шагов вглубь по бтри чтоб найти нужную запись.
  • Какой порядок порядок полей выбрать при создании индекса MySQL?

    ayazer
    @ayazer
    Глеб Жуков. упорядочена. но относительно gender. именно по этой причине индекс (gender, age) нельзя использовать для поиска только по age. в итоге нужно будет делать доп. проверки для всех 6к записей что не отфильтровались по первому ключу. а зачем это делать если можно сразу отфильтровать все кроме 200 записей? Именно в этом примере разница и не важна, но когда кол-во записей перевалит за пару терабайт - начнет болеть.

    насколько я помню explain analyze во всех деталях показывает как работает оптимайзер.
  • Как написать SQL запрос?

    ayazer
    @ayazer
    NameOf Var, это которые генерирует EF при использовании code-first подхода? они вообще зло
  • Как написать SQL запрос?

    ayazer
    @ayazer
    а еще лучше использовать binary. он и меньше места занимает, и операции сравнения быстрее.
    Да и зачем int для inOut, когда это битовое поле
  • Как реализуются классы в C#?

    ayazer
    @ayazer
    ... как и один класс может быть в нескольких файлах
  • Как вернуть 2 значения из метода?

    ayazer
    @ayazer
    public (int, int) Count() же должно быть (ну или именованный кортеж)
  • Как избежать дублирования кода для горизонтально масштабируемого веб-приложения?

    ayazer
    @ayazer
    donflash, это была самая первая реализация. Он нее и уходили. Слишком сложно поддерживать, слишком дорого маштабировать. сейчас в итоге 2 сервиса для конфигурации и десяток сервисов которые обрабатывают данные в режиме 24/7. Все сервисы шарят набор библиотек с доменной логикой (которая ограничена спецификациями/существующими процессами), при этом каждый сервис уже решает что и как он будет у себя хранить и отображать. Конечно возникает оверхед когда сервис1 знает про сущность которая нужна будет только сервисам 3, 4 и 7, но в итоге пока это выглядит как меньшее зло.
    На уровне конфигурации сервиса уже может происходить настройка специфической логики под какую-то определенную ситуацию (в основном чтоб иметь возможность атомарно маштабировать только место где не успеваем обрабатывать данные)
  • Как избежать дублирования кода для горизонтально масштабируемого веб-приложения?

    ayazer
    @ayazer
    аналогичная ситуация. 1 апи для конфигурации и молотилка на 50-80 серверов которая в режиме нон-стоп обрабатывает данные. За несколько лет оптимизаций и рефакторинга пришли пакету с доменными сущностями и общей логикой, который уже и подключается во всех проектах.
  • Какой должен быть подход к выбору архитектуры интернет-магазина?

    ayazer
    @ayazer
    я возможно озвучу неожиданное мнение, но может стоит просто платить за какое-то готовое решение типа промюа? особенно учитывая
    Никаких знаний в веб-разработке у нас нет. Будем отдавать работу на оперсорс.
    . А время/деньги потратить на что-то более полезное? Если ничего не выйдет - потеряете только свое время и пару месяцев оплаты сервиса. Если дела пойдут - можно будет облегчить себе жизнь дописав свои скрипты для автоматической синхронизации остатков с каким-то 1с и вполне неплохо себя чувствовать. А реальной надобности в своем решении может и не возникнуть.
  • SQLAlchemy или PL/pgSQL?

    ayazer
    @ayazer
    Tobi-kun,
    у каждой базы один и тот-же скл. это стандарт который выполняется во всех крупных РСУБД, а все шерховатости можно уточнить по первой-же ссылке в гугле. Заметные различия начинаются уже при использовании специфики базы. там уже вылазят и TSQL для MSSQL, и plsql для оракла , и plpgsql с plperl и десятком других языков для постгреса.
    Я не отговариваю от использование ормов, в некоторых случаях они действительно незаменимы. Но разобратся с склем на уровне достаточном для написания крудов - наверно пара вечеров. понимая как пишутся "сырые" запросы орм перестает казатся магией и разобратся с ним займет еще может вечер. А дальше видя проблемное место уже будет не так страшно смотреть план выполнения и думать как это все пофиксить
  • SQLAlchemy или PL/pgSQL?

    ayazer
    @ayazer
    умея в скл проблем пересесть на использование либо полноценной орм, либо просто какого-то маппера нет (кроме душевной боли от необходимости использовать очередной "более удобный" дсл вместо "старого и неудобного" дсл). Да и языки/фреймворки/ормы меняются, а зная какой-то sql99 становится в принципе пофиг с какой базой работать. Понимая как "под капотом" работает условный постгрес становится легче работать с условной авророй. Да, нюансов всегда хватает, но к тому моменту ты уже приблизительно знаешь что искать. Ормы офигенно удобны когда нет сложной логики и таблицы влязят в память. Иначе один фиг использование любого орма превращается в использование кастомного скл + маппинг. По поводу того что орм позволяет не думать о диалектах скля - я не знаю ни 1 человека которому действительно нужно было перевести проект с <название базы> на <название базы> и это бы реально решило все проблемы. Обычно серьезные проблемы возникают на большых проектах, и в таком случае при переезде на другую базу различия в синтаксисе будут наименьшей проблемой. Ну и да, начинать с постгреса действительно будет немного сложней чем с мускуля. Но для простых запросов различия наверно будут минимальны.
  • Как транслировать потокое видео с экрана компьютера на веб-страницу?

    ayazer
    @ayazer
    ebroker блин, я не заметил что приходило уведомление. но вдруг кто-то будет такую-же проблему решать то MJPEG сам по себе просто состоит с сегментов 0xFF 0xD8 0xFF 0xD9 (или как-то так, возможно я перепутал местами 0xD9 и 0xD8) Потому имея набор отдельных кадров сделать с них корректный стрим не проблема.

    Степан Даващеневопрос, ну потому я и советовал посмотреть на применение условного h.264/h.265. Я знаю что подход "записывать только изменения относительно предидущего кадра" точно используется, но я не помню где конкретно. правда вся конструкция станет заметно сложнее т.к. "на коленке" это уже не выйдет сделать.
  • C# или Java для игр?

    ayazer
    @ayazer
    1. один хрен
    2. неправда
    3. в шарпе чуть больше синтаксического сахара, это да.
    4. а в джаве есть JNI. и да, как часто вам (оправданно) приходилось применять unsafe?
    5. а джаве есть.. джава? не нужно иметь аналог .net native если весь язык первоначально проектировался с учетом работы на любом условном пылесосе.