Задать вопрос
  • Шифрование для защиты от 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 комментарий
  • Как вычисляется 20 битный адрес путем сложения 16 бит адреса сегмента с 16 бит смещением в процессорах Intel 8086?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Это проектировалось в 20-м веке. Тогда считалось что 1Мб памяти - это очень много. Вот и была сделана такая странная формула где любая комбинация сегмента + смещения всегда заворачивает вас в этот мегабайт.

    Сегодня нет смысла изучать Intel 8086. Я не знаю что за преподаватель толкает вам такое старье. Это все равно что на уроках химии изучать философский камень или четыре стихии огонь-земля и так далее.
    Ответ написан
  • Выбрать Rust или C++?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Rust создавался при разработке браузера Mozilla чтобы закрыть конкретные дефекты С++. Системообразующие дефекты такие как NPE, Buffer Overflow e.t.c. Сегодня доля Rust файлов в сорцах мозиллы составляет 40% от общего количества файлов. Это - достаточно чтобы считать успехом мероприятие.

    Нужно ли брать Rust при разработке игровых движков? ХЗ. Я-бы сказал что Rust важнее для тех приложений где важна инфо-безопасность. Я не спец в Rust, но я чисто из любопытва смотрел например как в Rust открыть файл (мне надо было парсить логи). Так вот открыв файл ты не просто не получаешь файловую переменную. Ты получаешь монаду Either (там кажется она называется Result<>) и вот пока ты ее паттерн матчингом не проверишь - никакого файла не получишь. Тоесть протокол работы с файлами строгий настолько, насколько это возможно. Срезать поворот - не получается. Это в сях можно взять fopen(..) и результат проe..ать.

    Вобщем rust по уровню строгости напоминает... ну не знаю Haskell наверное. Хотя в Rust тоже можно творить безпредел - но по крайней мере ты будешь явно декларировать операции как usafe. Это слишком очевидно вобщем-то. Дело техники на code-review просто отделить опасное и принять решение стоит ли так кодить или нет.

    Да и один финский парень обещал что в Rust скоро зайдет как второй язык разработки ядра Linux. Ждем пока.
    Ответ написан
    Комментировать
  • Как решить ошибку "string indices must be integers" в postgresql?

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

    Это не является ошибкой. Возможно в дизайн закладывался текстовый ключ. Ну по крайней мере у тебя нет острой необходимости всё ломать сразу.

    Вообще такие страшные вещи которые ты затеял - делаются в специальные периоды времени. В окна обслуживания и предварительно всех предупредив.
    Ответ написан
  • Что не так в коде Java?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    А распечатай чему равно month.

    System.out.println("Input = " + month);
    Ответ написан
  • Как сделать git@..., если gitlab настроен через nginx reverse proxy?

    mayton2019
    @mayton2019
    Bigdata Engineer
    А сделай так
    GIT_TRACE=1 git clone ...
    будет больше отладочной инфы.
    Ответ написан
    Комментировать
  • Как создать такую структура FTP?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Можно попробовать завести пользователей с именем Отдел1-Группа1 и т.д.
    Ответ написан
    Комментировать
  • Как оптимизировать скорость работы?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Странно всё это

    Проанализировал индексы и удалил те, которыми база не пользуется, но это помогло, возможно дело в другом.

    верни лучше взад.

    Что еще менялось кроме железа. Версия PG?
    Ответ написан
    Комментировать
  • Где найти полное руководство пользователя по Линуксу?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вот можно тут почитать. Это ядро. Я думаю это общее над всеми линуксами. Доминанта так сказать.

    https://github.com/torvalds/linux/

    Man pages. Тысячи их по всей сети. Я даже не буду линки приводить. По сути они скорее всего являются перекомпилляцией man формата в html. Вобщем вторичны они. Разве что из-за красивых шрифтов их можно читать.

    По поводу Mint. Сомнительно что кто-то будет специально создавать книгу. Кому это надо? Книги вообще щас устаревают через пол-года после выхода. Вот форум есть какой-то https://forums.linuxmint.com/
    Ответ написан
  • Допустимо ли "хардкодить" глобальные константы?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Да, можно. Вот константа Math.PI захардкожена в библиотеке математики и ни у кого не возникает с этим вопросов.

    По поводу констант в Dagger2. Я с ним 1 раз поработал на проекте Java/AWS/lambda стека. Для простых проектов где требуется инжекторный двигатель, но Spring затаскивать - лениво, Dagger - самое то.

    По поводу допустимо или нет - да допустимо. Тем более что ты пишешь что "один раз на проект". Вот к примеру имя таблицы. Ну кому в голову придет его менять? Это объем работ на самом деле в сто крат более тяжелый. И даже не в Даггере дело а в том что таблица к тому времени станет слишком родной для environment и дешевле будет поднять новую таблицу чем переименоввать старую. Уж повертье так оно бывает.

    Передавать через конструктор или нет? Смотри если для модульных тестов тебе надо их менять - то передавай через конструктор. Если тесты не нужны на эту компоненту - то делай как проще.

    Про константу PI конечно была шутка но в проекте есть два зла. Первое зло - заиграться в конфигурации и любой пустяк через них протаскивать. И второе зло - сделать проект неконфигурируемым. Я думаю что хороший проект - стоит где-то посередине.
    Ответ написан
    Комментировать
  • Как переименовать файл внутри докера при разворачивании образа docker-compose?

    mayton2019
    @mayton2019
    Bigdata Engineer
    У докера есть своя философия. Его образ подготавливается как неизменный (immutable) а все что меняется - передается ему через переменные окружения (ENV) или просто как аргумены приложения entry point
    docker run -e key=val ...

    Вот так. Пересмотри свою логику чтоб она работала без переименований. А-то со стороны выглядит как грязный хак.
    Ответ написан
    3 комментария
  • Как сравнить по времени в таблицах, отбросив минуты и секунды до часов?

    mayton2019
    @mayton2019
    Bigdata Engineer
    У Оракла есть короткий синтаксис внутренних соединений. Вообще JOIN не нужно указывать.

    SELECT 
      t1.ID, t1.TIME
    FROM 
      t1,t2 
    WHERE t1.ID = t2.ID
      AND trunc(t1.TIME, 'hh24') = trunc(t2.TIME, 'hh24')

    И есть общая рекомендация - выделять ключевые слова SQL в uppercase. Так их удобнее видеть.
    Ответ написан
    Комментировать
  • В каких случаях использование индексов в таблицах PostgreSQL может замедлить выполнение запроса?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вашему архитектору - передавайте большой привет. Возможно его фраза звучала в контексте. И без этого контекста мы слышим мысль воспроизведенную вами так как вы поняли. Возможно арх. вообще сетовал на то что вы их нигде не создаете. Другое зло вобщемто.
    Ответ написан
    8 комментариев
  • Как войти в "ИИ"?

    mayton2019
    @mayton2019
    Bigdata Engineer
    У меня - очень угнетающее впечатление от практики применений библиотек. Ребята пытаются обучать нейросети даже не зная основ мат-статистики. У них сеть расходится. Переобучается. Выдает лажу на выходе которую они берут за чистую монету. Потом приходят в этот же форум и спрашивают почему opencv или tensor flow "глючит". Они даже вопрос не могут задать потому что не владеют терминологией.

    При этом я говорю без ревности там или обиды от конкуренции. Нету у нас конкуренции. У меня задачи другие. Мне за науку обидно. Будто в физ-лабораторию где коллайдеры и квантовые вычислители забежали мартышки и начали нажимать вообще на все-все кнопки на которые только можно. Спасибо языку Python и фреймворкам! Боже мой какое счастье!!

    Это я не в упрёк автору. Просто зачем пополнять зоопарк? Берите консервативную отрасль. Не из buzzwords а из современного и актуального завтра. Биохимия например. Нужная наука. И it там будет очень нужно.
    Ответ написан
    Комментировать
  • Как найти строки в файлах и изменить их с помощью python?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Тебе нужно каждый файл на лету распаковывать читать построчно. Применять к строке замену. И создавать файл-копию и тут-же писать в него и запаковывать обратно.

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

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

    Другое дело что основному процессору придется какой-то процент своих ресурсов тратить на работу симметричных алгоритмов.
    Ответ написан