Задать вопрос
  • Как декодировать строку?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Тут возможно encoding был применен несколько раз. Декодирование превращается в забавную игру. Но чтобы играть в нее нужно много времени.

    Скажи там после 1xbet какая следующая русская буква должна быть по смыслу?
    Ответ написан
  • Как написать цикл, чтобы рамка подбирала размер под текст на языке С++?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вот эти вот символы (191, 192, 196, 217, 218). лучше не использовать. Берите сразу Unicode в разделе BoxDrawing https://www.w3.org/TR/xml-entity-names/025.html

    Что за душный душнило этот ваш преподаватель? Расскажите ему уже что на дворе 2022 год.
    Ответ написан
    Комментировать
  • Как снизить нагрузку на API?

    mayton2019
    @mayton2019
    Bigdata Engineer
    ТЗ надо переделать. Зачем клиент все время чего-то переспрашивает? Пускай сервер сам уведомляет о прогрессе. 0% 25% и т.д.
    Ответ написан
    Комментировать
  • В какой программе можно спроектировать такую схему?

    mayton2019
    @mayton2019
    Bigdata Engineer
    В AutoCAD обычно рисуют почти все чертежи. Если нет других каких-то преференций.
    Ответ написан
  • Как правильно писать код на питоне со многими функциями?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Обычно делают функцию main, которая принимает строковые параметры типа:

    $ python3 jrbro.py --sortFolder /home/jrbro
    Ответ написан
    Комментировать
  • Хочу начать изучать С++, с чего начать?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Хочешь изучать С++ для удовольтсвия или для денег?
    Ответ написан
    2 комментария
  • Как учить язык ассемблера NASM?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Тяжелую ты тему поднял. Я за последние лет 10 вообще не слышал чтобы кто-то учился и сертифицировался на знания ассемблера. Обычно эти знания идут прицепом к языку "C" и разработке компилляторов. Поэтому по частным случаям можно наверное спрашивать сишников. Они - ближе к теме.

    Был когда-то неплохой ресурс wasm. Там много статей было. Но чего-то щас его не найти.

    Я последний раз учил ассемблер по книжке Питера Абеля (MS-DOS :)) И я тогда учился в техникуме. По жизни вобщем не особо пригодилось.

    По поводу asm, tasm, fasm... Они все одинаковы. Можешь учить с любого. Потом переход будет прозрачный. Единственно... у одного из низ операнды идут в обратной нотации. Ну типа не слева направо а справа налево.
    Ответ написан
    4 комментария
  • Не сожгу ли процессор i9 10900?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Есть 3 фактора которые разрушают технику. Температура. Пыль. Вибрация. Вобщем-то пыль связана с температурой.

    Я думаю что не сожжешь. Все будет нормально. Просто если каждый день его так гонять то вместо гарантийных 5 лет он проработает к примеру 3. Но тебе пофиг. Через 3 года обновишся. Или что-то другое полетит. Короче или ишак сдохнет или султан.
    Ответ написан
    Комментировать
  • Как выбрать базу данных?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Есть такая старая поговорка из тайм-менеджмента - "что СРОЧНО - то не важно".

    Если есть некий источник который продуцирует записи со скоростью 10к в секунду и мы хотим писать их сразу (мгновенно) то наверное у нас есть такой-же потребитель который так-же быстро способен их потребить.

    А есть вообще такой? Мне сложно себе представить. Если это биг-дата со стримингом - то там надо использовать не постгрес а другие системы. Kafka+Spark например. Но я не буду давать таких советов потому что люди обычно сидят на консервативных системах типа реляционок и хотят делать на них все. Просто им так удобнее.

    Давайте немного арифметики. Если мы формируем 10к в секунду то за сутки у нас набегает 10000L * 60 * 60 * 24 = 864 000 000 или восемьсот миллионов строк. Это вот если загрузка будет постоянно такая.
    Ответ написан
    Комментировать
  • Как mysql/mariadb сортирует одинаковые значения?

    mayton2019
    @mayton2019
    Bigdata Engineer
    В программировании различают понятие стабильная сортировка (stable sort) когда подряд идущие одинаковые ключи в массиве при сортировке также идут в той-же последвательности со значениями. Но это работает только для массивов.

    Реляционная алгебра не определяет никаких массивов. Собственно мы не знаем порядка как хранятся кортежи в таблице. Более того. Оптимизация пространства в БД может их тасовать как колоду карт. Тот-же вакуум в Постгресе. Или работа пакетов DBMS_SPACE для Oracle. Или любое delete+insert может сломать порядок который был раньше.

    Поэтому применительно к БД такой вопрос лишен смысла. Если вам нужен какой-то дополнительный ранг сортировки - вводите новое поле (sequence_num) и сортируйте по field,sequence_num. Тогда будет порядок.
    Ответ написан
    Комментировать
  • Оптимальный формат хранения изображения в текстовом виде?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Base64 и не создавался для сжатия. Он хранит примерно 4 символа на 3 байта. Вот такая формула.

    Есть другие кодировки наподобие base85 которые просто использую другую формулу укладки байтов в символы. Но все это фигня и экономия на спичках.

    Можно ли просто хранить произвольную бинарную информацию в текстовом виде? Да можно. Но при отображении на экране возникнут следующие проблемы. Есть символы которые имеют разные коды но одинаково отображаются на экране. Это искажает наше восприятие информации. Какова цена ошибки - решайте сами. Есть символы которые имеют некий магический эффект для терминала linux (это диапазон от 00 до 1F (control)). При печати их на экран курсор может начать двигаться в разных направлениях. В некоторых терминалах может быть сбой или зависание. Или терминал может издавать писк. Есть символ 00 который имеет зарезервированное значение например для C++/C - ASCIIZ строк. Он маркирует конец строки. И любая попытка передать такой файл "строкой" вызовет неожиданное поведение для вас.

    При хранении произвольных символов внутри XML или JSON строк могут работать ESC последовательности или экранировка которая увеличивает размер строки. Тоесть эффект может быть обратный в зависимости от того какие байтики будут сохранены.
    Ответ написан
    Комментировать
  • Как исправить ошибку связанное с foreign key в Entity?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Ты каким-то образом создал табличку books без индекса первичного ключа.

    В Hibernate есть опция работы со схемой. Либо ты сам руками правильно создаешь все объекты. Либо ты доверяешь это инициализации hibernate.

    <prop key="hibernate.hbm2ddl.auto">create | validate | update ....</prop>
    Ответ написан
    3 комментария
  • Как ускорить запросы с group by в ClickHouse?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Да ничего тут нельзя особо сделать. 10 секунд - холодный запуск группировки по 88 млн строк - это вполне себе хорошая цифра. Сомнительно что железо выдавит из себя больше. Ведь так или иначе нужно эти 88 млн пересчитать и даже будь это все в памяти - все равно обойти каждую ячейку. А дальше дело будет только хуже. Ведь табличка растет.

    Есть техники микро-батчинга когда большая задача разбиватеся на порции. Например у тебя есть дневной партишен на 15 млн. Делишь его на часовые. Получается по 625 тыщ строк. Уже лучше.

    Делаешь некую кумулятивную табличку. Типа

    create table charge_cumulative(
      id long,
      cnt_cumulative long,
      delta_sum_cumulative long
    )

    Ну и на каждый микро-батч добавляешь к ней значения count, delta_sum. У тебя вроде удачно получается что можно только складывать.
    Ответ написан
    Комментировать
  • MySQL Master Slave не корректно работает?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Есть идея - заблокировать все прикладные учетные записи на slave. И создать их специальные теневые варианты которые дают доступ только read-only.

    Игры с созданием таблиц - это треш конечно. Надо просто расследовать инцедент с созданием таблиц и надавать плеткой по рукам. Тот кто это сделал - был частью системы. Он знал креды. Знал пароли.

    Создавать триггеры я думаю не стоит. Это просто какое-то избирательное решение, которое в будущем создаст только больше проблем.
    Ответ написан
    Комментировать
  • Можно ли навредить серверу из docker?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Будь то забиванием озу, диска, или проникновением в bash самого основного сервера.

    Ты знаешь, многие вопросы в инфо-технологиях быстрее проверить чем доказывать ссылаясь на литературу.
    Это как в физике-механике. Делаем эксперимент. Яблоко падает. И уже подгоняем формулы и научную основу.

    Создай образ докера. Создай С++ привет мир-приложение которое делает malloc(1Гб). А потом сделай

    docker run .... --memory 512M

    Что тебе мешает это сделать и просто прийти в хабр уже с ответом и дальше спрашивать по безопасности докера?
    Ответ написан
    Комментировать
  • Шифрование для защиты от MITM?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Но если, допустим, два человека ведут беседу в текстовом чате, а во время обмена публичными ключами, "по середине" незаметно вторгнется еще один человек (MITM - Man In The Middle)

    Давай в этой схеме я выброшу двух людей. И заменю их на браузер и сайт. Там на самом деле и просиходит такой-же чат. Браузер спрашивает и сайт отвечает. Так вот. Эта схема защищена цифровыми сертификатами. И центром сертификации. Тоесть еще до того как вы начали хоть какой-то обмен работают протоколы установки соединения по TLS/SSL когда браузер может удостоверится что центр сертификации одобрил одного из людей и подтвердил его личность. Это Боб проверяет что Алиса - это действительно Алиса. И также получает ее public key который вобщем-то публичен и тоже является частью сертификата.

    Вот придумай где подпихнуть твоего человека-Кларка посередине.

    Я слышал про "квантовое шифрование", но это уже следующий век.

    Квантового шифрования не существует. Есть алгоритм быстрог разложения длинного числа на множители который является частью протоколов RSA. Но все успехи в науч-попе пока ограничены тем что создали комп очень малой разрядности который и близко не подошел к нужным границам и комп сам представляет собой физ-лабораторию с криогеном и защитой от всеговсего. И нет даже надежды что такой комп вставят в телефон или десктоп. Физика - здесь наука злая и циничная. Более того даже если будут успехи в этой области у КК - то у нас в запасном кармане есть эллиптическая криптография EDSA на которую пока еще ничего не придумано. Поэтому насчет КК и криптографии нам можно вообще не беспокоиться. И нашим детям тоже. И внукам.

    Кстати я вижу что qna.habr для меня использует алгоритм EDSA + SHA256
    Ответ написан
  • Какое наиболее простое решение для генерации текста на основе текста, написанного реальным человеком?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Сомнительно что сеть будет знать всю историю человека. Можно ведь спросить Васю - помнишь дескыть как год назад ты на шашлыках перебухал и опозорился? И что сеть ответит?
    Ответ написан
    6 комментариев
  • Как объединять несколько языков одном проекте?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Да это можно. Просто сборка всех трёх (двух) проектов будет через разные сборщики.

    И среду разработки... Я даже не знаю как настроить потому что нет такого шаблона с миксом этих языков.

    Вообще подумайте будет ли команде разработки удобно, когда в одну ветку master например будут заходить 3 вида изменений.
    Ответ написан
  • Как произвести на свет сию программу?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Нужно для начала узнать в каком формате приходят исходные данные.
    Ответ написан
    Комментировать
  • Каково реальное актуальное ограничение по скорости интернета со стороны провайдера/серверов?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Невозможно всем жителям планеты Земля обеспечить 1 гигабит. Просто чтобы такая схема заработала надо одновременно промодернизировать всех (!) провайдеров. И толщина uplink на всех сетевых устройствах должна пропорционально увеличиться. Посчитайте сколько нужно. Расчет несложный. Если вы каждому конечному потребителю с 25 мегабит (ADSL) гарантируете полосу 1Г - то вы умножаете толщину канала на 40. И где-то наверху у провайдера нужно будет 40-кратно увеличить количество магистралей, тарелок и спутников и прочее. Вот спросите провайдера - он уже готов это сделать?

    Это один фактор. И следующий - энергетика и глобальное потепление. Сетевые устройства - это тоже вам ни хрен собачий. Они - все энергопотребляют. Даже в состоянии покоя когда не передают. Согласитесь просто так наращивать потребление незачем. И кому это надо? Тик-токи у вас открываются нормально. Что еще надо?
    Ответ написан
    1 комментарий