• Как определить «темный» или «светлый» цвет?

    GavriKos
    @GavriKos
    Перевод в HSL, и смотрим на порог L (вроде).
    Например так.

    Причем тут OpenCV непонятно
    Ответ написан
    4 комментария
  • Какой мониторинг под линукс самый простой и информативный??

    paran0id
    @paran0id Куратор тега Linux
    Умный, но ленивый
    Ответ написан
    Комментировать
  • Может кто-нибудь дать реальную задачу на которой можно применить ООП?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Парадигмы нужны для управления сложностью. Соответственно их надобность начинаешь замечать и понимать в действительно сложных проектах. Причём просто скачать откуда-то сложный код взрослой системы вряд ли будет достаточно, надо несколько лет поддерживать и развивать такую систему в большой команде, часть которой за эти несколько лет ещё и сменится.
    Ответ написан
    3 комментария
  • На каком языке писать сайт?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    C# Шаблон веб приложение NET 6 + Razor pages
    Ответ написан
    Комментировать
  • Какую выбрать СУБД, если в день может быть более 11млн записей?

    mayton2019
    @mayton2019
    Bigdata Engineer
    11 миллионов inserts в день - это 127 в секунду. При такой нагрузке справится любая современная БД. Ну я не знаю таких чтоб не справлялись. Делайте только короткую буферизацию и batch-insert пачками по 100 - 1000 чтобы оптимизировать сетевой roundtrip.

    Есть специализированные NoSQL системы такие как RocksDb, Tarantool в которых именно много оптимизаций сделано было для быстрой вставки. Они выдерживают и во много раз быстрее.

    И в данной задаче нужно также спросить бизнес - как быстро данные нужны к чтению пользователя. Нужно сию секунду чтоб они отобразились на UI или можно подождать пару минут или часов.
    Ответ написан
    1 комментарий
  • Какую выбрать СУБД, если в день может быть более 11млн записей?

    При такой постановке задачи лучшим вариантом СУБД будет та, которую знают и умеют обслуживать ваши админы.
    С таким объёмом вставок справится любая мейнстримная на правильно подобранном железе. Что ещё вы собираетесь делать с этими записями нам неведомо, посему на выбор повлияеть не может.
    Ответ написан
    1 комментарий
  • Как сделать вложенность кэша?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Ты сам себе создал проблему. Вот какую пользу тебе дает вложенность?

    Бери правило Паретто. Вот если метод method_2 покрывает 80% нагрузки - то кешируй только его а на остальное - забей. Это будет проще и надёжнее чем придумывать какие-то немыслимые ВЛОЖЕННОСТИ которые никакого
    отношения к техникам кеширования не имеют.
    Ответ написан
    Комментировать
  • Какой тип данных лучше использовать JSON или JSONB?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Какой формат данных (JSON или JSONB) лучше использовать в этой ситуации?

    Похоже автор занялся любимой задачей скучающих разработчиков. А именно - ПРЕЖДЕВРЕМЕННОЙ оптимизацией.

    JSON и JSONB возникли например из задачи хранения в БД ДОКУМЕНТОВ. Документ - предполагает специфический юзкейс. Например однократное создание и редкую модификацию. И частое чтение с поиском по текстовому индексу например.

    Является ли задача автора - подходящей под данный use-case? Чорт его знает. Я-бы сказал что пока нет. Все таки комментарии пользователя это такие себе... частые модификации документа которых хотелось-бы избежать.

    И вообще пока не будет создано 2 макета или 2 proof-of-concept с бенчмарками - мы не можем точно сказать что лучше.

    Сам-же Бартунов например в одном из своих докладов рассказывал что сама идея затащить в PG документы возникла из идеи работать с properties в одном поле. С такой себе неструктурированной информацией. А сама задача вознила из прикладной проблемы в дизайне базы для системы образования. Им нужно было хранить в строке неспецифицированный лист атрибутов. Это еще не JSON но уже дедушка его. Вот его так порешали. Это похоже на кейс автора? Я-бы сказал что далеко нет.

    Вообще чтоб доказать или опровергнуть огульный тезис о JSON-ификации я-бы довел постановку до абсурда. Зачем мы будем трекать комментарии в JSON. Давайте и посты туда-же. И странички. И вообще всю модель положим в 1 документ JSON. Каково а? У нас будет база с 1 единственной JSON строкой которая хранит в себе всё. Технологично? Да. И не запрещается.

    Вот как-то так.
    Ответ написан
    Комментировать
  • Kotlin медленный?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Kotlin как и все JVM-основанные языки имеет сложный рантайм. Который обладает способностью прогреваться от постоянных запусков. И поэтому чтобы точно и уверенно замерять перформанс - нужно правильно подходить к проблеме. Например использовать JMH для изммерений.

    А для редких (одноразовых) запусков Python действительно может быть быстрее. Это я сам наблюдал в AWS-Lambda.
    Функция лямбда которая вызывается 1 раз в сутки должна быть написана на чем-то вроде Python/NodeJS.
    Ответ написан
    Комментировать
  • Kotlin медленный?

    Jacen11
    @Jacen11
    могу еще добавить что не умеешь измерять скорость программ с виртуальной машиной
    Ответ написан
    Комментировать
  • Что будет при увеличении вместимости канала?

    @deliro
    1. Нет, либо нет в 99.9999% случаев
    2. Да, чтобы ограничить то, на скольких OS тредах может расположиться рантайм. Это прямо влияет на CPU-bound задачи и почти не влияет на IO-bound. Например, у тебя есть функция, которая перемножает матрицы. В канал поступают матрицы, есть 10 горутин, которые читают оттуда и умножают матрицы. Очевидно, что если GOMAXPROCS будет == 1, то все эти горутины будут жить на одном треде и будут "мешать" друг другу, задействуя не более одного ядра процессора. Если GOMAXPROCS будет 10, то каждая горутина может расположиться в отдельном ОС треде и считать себе там матрицы на "собственном" ядре.
    3. Увеличится канал (sic!). Канал — это очередь. Канал без буфера — это "очередь", в которую можно добавить элемент только если с другой стороны этот канал кто-то пытается прочитать. Если такого нет — горутина будет ждать, пока этот канал кто-то захочет прочитать и наоборот, если кто-то читает канал, а с другого конца никто туда не пишет, то горутина будет ждать до тех пор, пока в канал кто-то не захочет записать. Если в канале есть буфер, то это уже становится полноценной очередью. Есть N слотов, если кто-то пришёл записать в канал, канал никем не слушается и там есть хотя бы один свободный слот — этот "кто-то" запишет в канал и пойдёт по своим делам и только если в буфере нет свободных слотов, то этот "кто-то" будет ждать, пока слот освободится. И наоборот, если кто-то слушает канал и в буфере канала уже что-то есть, то он сразу забирает первый на очереди элемент и уходит. Обычно это делают, чтобы сгладить нагрузку. Например, у тебя есть парсеры, которые что-то парсят, чтобы потом записать на диск. Но диск — штука непредсказуемая, может записать за 1мс, а может тупить 20мс. Довольно странно, если парсер будет ждать диск эти 20мс, хотя у него есть работа, которую он может выполнять прямо сейчас. Для этого можно создать буфер, куда парсер будет кидать данные СРАЗУ, а горутина, которая пишет на диск, заберёт их "когда-нибудь потом", когда диск перестанет тупить.
    Ответ написан
    4 комментария
  • Какими средствами сделать веб-интерфейс работы с БД?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Как мне кажется вы не правильно ставите задачу. По сути менеджеры и разработчики решают разные задачи.
    Поэтому для разработчиков phpmyadmin а для менеджеров как вы и сказали самописное приложение с возможность быстрого ввода карточек и несколькими отчетами.
    Ответ написан
    Комментировать
  • Какими средствами сделать веб-интерфейс работы с БД?

    @garbagecollected
    То, что вы хотите, имеет научное название headless cms, например, strapi или ей подобные.
    Ответ написан
    Комментировать
  • Что должен уметь делать Python разработчик?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Не перестают удивлять меня такие вопросы. Каждый день вы имеете дело с результатами труда разработчиков. Включаете компьютер, у него в железе крутятся прошивки, написанные кем-то, загружается операционная система, написанная кем-то, вы открываете браузер, написанный кем-то, взаимодействуете с фронтом qna.habr.com, написанным кем-то, который шлёт web-серверу, написанному кем-то, запрос к бэкенду qna.habr.com, написанному кем-то, который работает с брокерами, кэшами, СУБД и прочим-прочим, написанным кем-то. Вот уметь написать всё это и должен разработчик неважно на чём. Когда я начинал, я постоянно задавался вопросами "Как это устроено? Смогу я написать такое же? Что надо, чтобы смог?", поэтому мне не нужно было ни у кого спрашивать, что изучать.
    Ответ написан
    Комментировать
  • Что должен уметь делать Python разработчик?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Должен уметь делать то же самое, что и любой не питон-разработчик ПО. ЯП - лишь инструмент. Программирование и разработка ПО - проектирование и реализация алгоритмов в рамках требований задачи и возможностей используемых инструментов.
    Ответ написан
    Комментировать
  • Как процессор ''понимает'' машинный код?

    @pfg21
    ex-турист
    в ЦПУ нет понятия "аналоговый сигнал" - он работает с четко заданными состояниями "0" и "1" (бывает и не двоичный процессор), описанными напряжением в соответствующих ячейках памяти.
    эти состояния "нажимают" через проводки на АЛУ и прочие модули процессора и перестраивают их работу.
    для пример стоит глянуть видосик с ткацкой машинкой управляющей перфокартами, наглядно неимоверно.
    Ответ написан
    Комментировать
  • Как процессор ''понимает'' машинный код?

    @evgeniy_lm
    как процессор понимает нули и единицы
    Никак, он вообще думать не умеет
    как происходит преобразование нулей и единиц в электрический сигнал.
    Никак. Нет там нулей/единиц, Есть только электрические сигналы типа включено/выключено. Это человек такие сигналы называет "логический ноль", "логическая единица"
    Есть ли в ЦПУ ЦАП?
    А что такое ЦПУ? Если имеется ввиду CPU (логика подсказывает), то нет его там. Я даже представить не могу что ему там делать. Современный процессор с аналоговыми сигналами ни как не пересекается. Существуют процессоры для цифровой обработки аналоговых сигналов (аудио, видео, пр.) называется DSP там и ЦАП есть и АЦП и даже не один.
    Ответ написан
    Комментировать
  • Как лучше работать с вычислительными задачами и потоками во Flask?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Многопоточность
    Седой и строгий
    Во-первых, while блокирует воркер так же, как и join. Во-вторых, Flask не предназначен для многопоточности и её в нём следует избегать. Лучше использовать асинхронность или очередь задач.
    Ответ написан
    6 комментариев
  • Как лучше хранить мелкие данные в базе?

    @alexalexes
    В самом кратком варианте у вас будет одна таблица, которая будет отвечать за дерево страниц.
    Таблица pages:
    id - идентификатор страницы;
    parent_id - идентификатор родителя страницы;
    title - Название страницы
    short_name - Краткое наименование (обычно используются для пунктов меню)
    alias - имя алиаса для построения url страницы (то что вы указали как type: about, advantages, etc...)
    create_date - дата-время создания страницы
    update_date - дата-время изменения страницы
    content - тело страницы
    is_hidden - флаг скрытости страницы (удобно использовать для устаревания страниц)
    PS: Посмотрите как это реализовано в любой популярной CMS, похожая таблица и свойства таблиц есть в любой из реализаций.
    Ответ написан
    Комментировать