• Как правильно спроектировать БД для чатов?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Тут будет действовать правило разработки NoSQL систем. Если вы хотите чтобы ваш чят быстро работал - вам надо все запросы сделать очень простыми. Тоесть никаких джойнов, группировок и подзапросов. Материализуйте
    все запросы чтобы отдача данных была простой и примитивной.

    Посмотрите как проектируются БД на основе Mongo, CouchDb, Cassandra. Посмотрите как используется NGinx.

    Django/ORM здесь - это просто опция которая может быть или может не быть, но на успех мероприятия она
    не влияет.
    Ответ написан
  • Как определить зашифрована ли строка с помощью функции openssl_encrypt или не зашифрована?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Как определить зашифрована ли строка с помощью функции openssl_encrypt или не зашифрована?

    Такого метода вобщем-то нету. Но если openssl_encrypt возвращает строку в кодировке base64 - то эта строка будет
    иметь характерный "хвостик" в виде символов равно (padding) для добивания строки кратного байтам размера.
    И все прочие символы имеют равномерное (шумящее) распределение.

    Но если я прикольнулся и изначально положил в openssl_encrypt такую подобную вышеуказанной, то тогда
    нет возможности определить была она зашифрована, или я просто прикольнулся.
    Ответ написан
    Комментировать
  • Как распарсить приведённую строку?

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Да. Ты правильно выбрал преобразование Хафа для кругов (окружностей). Только у тебя должен
    быть pipeline из последовательного применения фильтров.

    1) Сначала обесцветить картинку.
    2) Применить фильтр границ. На этом этапе круги появятся
    3) Ты заранее знаешь диаметр круга - желательно его вбить в настройки чтоб Хаф не искал все-все радиусы
    которые возможны.
    4) Ну и далее - твой метод должен их найти.
    Ответ написан
    3 комментария
  • Как сделать перевод не называя номер карты?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Найти посредника. Пообщать ему процент.
    Ответ написан
    Комментировать
  • Что делать если нижняя крышка ноутбука прогнулась иза температуры?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Неси в ремонт. Не вздумай гнуть руками. Еще хуже сломаешь что-нибудь.
    Подставка здесь - не поможет уже. Надо устранить причину.
    Ответ написан
    1 комментарий
  • Как работают eMMC и SD memory card, точнее, как они умирают?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Возьми еще штук 10 SD-шек.

    Если ты пошел по пути физика-экспериментатора - то эксперимент должен воспроизводиться и в статистике
    показать что ты прав.

    Также у тебя не должно быть системной ошибки. Может они горят по другой причине.
    Ответ написан
    Комментировать
  • Не работает простой код хотя он правильный в чем может быть проблема?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Так вроде лучше

    for (int i = 0; i < 10; i++) {
            cout << i << endl;
    }
    Ответ написан
  • Шифрует ли мобильный оператор трафик мобильного интернета?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вопрос наверное распадается на несколько направлений. GSM/CDMA/3g e.t.c.
    В зависимости от стандарта связи или протокола там будут разные свойства.

    Наверное если вопрос стоит о сертификации - то да. Я думаю что можно 100% отвечать
    уверенно. Щас ни один современный стандарт связи не идет без encryption. Это что-то
    уж очень древнее вроде "пейджнговой" связи или "телекса" могли пулять в эфир открытые тексты.

    Другое дело что лично вам с этого никакой пользы нет. Спецслужбы слушают на том
    уровне стека где этот траф обычно уже расшифрован.
    Ответ написан
    Комментировать
  • Как правильно хранить контент поста?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Использовать собственные минифицированные теги, благодаря которым определенный парсер будет воссоздавать нужные блоки с помощью компонентов (возможно динамичесих)

    20 лет назад этот вопрос был полнонстью решен с помощью технологий XML/XSLT/XPath.
    Языки C#/dotNet, Java поддерживают этот стек. И много других языков и библиотек.

    Потом еще создавали более простые вещи. Шаблонизаторы. Velocity, FreeMarker. Они немножко
    переворачивают постановку. Но их тоже можно рассмотреть.

    Хранить html код в столбце поста кажется нецелесообразным.

    С точки зрения суммарной стоимости владения (TCO) база данных всегда будет дороже
    чем файловая система. А самым дешевым будут хранилища типа Amazon S3, MS Blob, G-Drive.
    Ну если пересчитать удельно сколько стоит гигабайт.

    Хранить каждый элемент поста отдельно в бд со следующим содержанием (element_name, position, content, post_id),
    Тут - непонятно. Но есть такое эвристическое правило дизайна
    хороших NoSQL систем. Все данные для запроса должны лежать физически рядышком
    и не требовать дополнительных действий
    . В идеале - для отдачи поста вы должны сделать
    один единсвтвенный SELECT без joins и без подзапросов и агрегаций и без CONNECT-BY.
    Ответ написан
    2 комментария
  • Как определить большинство и меньшинство по числовой характеристике?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Почитай по ключевому слову - Кластеризация.
    Ответ написан
    Комментировать
  • Как незаметно переползти на новый сервер?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Обычно поднимают балансировщик и делают так что сначала все ходят на 1.1.1.1.
    Потом делают перевод новых сессий в новое место в пропорции 20:80.
    И так далее пока все сессии не переползут.
    Ответ написан
    4 комментария
  • В чем причина такого результата проверки сетевого кабеля?

    mayton2019
    @mayton2019
    Bigdata Engineer
    диоды мигают в хаотичном порядке, как-будто перепутаны все жилы.

    Чепуха какая-то. Какие выводы мы здесь должны сделать из хаотичного мигания?

    Я вот так рассуждаю. Когда ничего непонятно - инженер должен отбросить сложные инструменты - и
    взять простые. Бери мультиметр и проверяй целостность жил. И сопротивление изоляции между жил.

    Свич убери вообще чтоб не мешал. Закольцуй кабель в кольцо чтоб было удобно мерять.
    Ответ написан
    Комментировать
  • Как лучше повышать словарный запас?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Ну я когда учил - группировал слова по тематике. Например спорт, природа, путешествия.
    С какого на какой язык делать vocab - не имеет значения. Но важно слово тут-же начать применять.
    Некоторые слова я разбирал на их составные части. Напрмер Pine-apple. Water-melon.
    Если ты используешь карточки - то можно на них рисовать скетчи и это тоже помогает заучивать.

    Некоторые слова включаются в устойчивые выражения и только в них и существуют.
    Их надо знать в контексте. (do the washing up, carry on, eat out).

    У меня вот со временами (tense) проблема. Все что past tense я просто заучиваю. Потому что базовая
    формула из учебников просто для меня не работает в разговорной речи. Я - торможу и не успеваю
    сформулировать мысль. Вот как-то так.
    Ответ написан
  • Сколько всего паролей будет?

    mayton2019
    @mayton2019
    Bigdata Engineer
    72 в десятой степени будет 3 743 906 242 624 487 424

    Вот такое число. В физических величинах это будет ... эээ 3 квинтиллиона с хвостиком.
    Ответ написан
    Комментировать
  • Почему в SQLite при JOIN не дает значения из таблицы которую присоединяю?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Мне кажется ты сам не понимаешь чего хочешь. Ты используешь LEFT-join.
    Это означает что ко всем строкам левой таблицы присоединяются те строки
    правой таблицы в которых найдено совпадение. Если совпадений нет - то
    правая часть выборки заполняется null. Так и должно быть.
    Ответ написан
    Комментировать
  • Нужен ли радиатор для M.2 NVMe в игровом ПК?

    mayton2019
    @mayton2019
    Bigdata Engineer
    непрерывную запись в течение получаса.

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

    Непрерывную запись можно создать в серверах БД например когда идет копирование таблиц или создание
    индексов.
    Ответ написан
    Комментировать
  • Как найти дубли URL через регулярные выражения?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Эта задачка не на регулярки а на программирование. Если у вас есть список этих URL в виде CSV, то надо брать язык который вы знаете (PHP или Node) и писать логику нормализации. А потом унификации. Например.

    Input:
    habr.ru
    habr.ru/test.htm
    https://habr.ru
    habr.ru/yyy
    www.habr.ru
    https://habr.ru

    нормализуем. Отбрасываем например название протокола
    habr.ru
    habr.ru/test.htm
    habr.ru
    habr.ru/yyy
    www.habr.ru
    habr.ru

    Сортируем
    habr.ru
    habr.ru
    habr.ru
    habr.ru/test.htm
    habr.ru/yyy
    www.habr.ru


    И вот они дубли 3 штуки. Можете итератором пройти и собрать. Или сделать agg/count в языке где
    такое с коллекциями делают.

    И никаких регулярок.
    Ответ написан
    Комментировать
  • В чем суть соли хэш паролей?

    mayton2019
    @mayton2019
    Bigdata Engineer
    В 2000х годах хакеры, используя метод радужных таблиц (rainbow tables) научились находить пароль по известному хешу
    за вполне короткое время если обладали заранее расчитанной базой этих таблиц. И если они знали
    какая хеш-функция работала. Особенно для Windows NTLM у них ловко выходило. И при условии
    что пароль был корткий. До 8 символов например. Для большего пароля база росла экспоненциально.

    Противостоять этому методу можно было легко. Для каждой единицы программного обеспечения
    нужно было создать соль (salt) и на уровне алгоритма и добавлять ее к паролям везде. Логику алгоритма
    аутентификации это вообще не меняло но зато отбрасывало злоумышленников во времени намного назад.

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

    В криптографии есть аналогия с вектором инициализации IV для симметричных шифров.
    Ответ написан
    Комментировать
  • Как точность нейронной сети зависит от функции активации?

    mayton2019
    @mayton2019
    Bigdata Engineer
    В процессе обучения сигмоид очень важен т.к. он обеспечивает сходимость алгоритма. Направление грубо говоря.

    Насчет рабочего режима модели я не скажу. Но вроде-как нейросети очень толерантны к элементной базе. В 20м веке считалось что нейроны вообще нужно строить не на софте а в виде транзисторной логики. Или на биологических элементах (уж каких я не знаю).

    Практически если у тебя уже есть софт и модель то замена одно функции на другую в коде это дело одной
    минуты. Лямбду заменить. Или еще один класс унаследовать.
    Ответ написан