Задать вопрос
  • Как реализовать побитовый сдвиг чисел, которые записаны как строки ( длинные числа хранятся в строках)?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Сдвиг на 2^64 это я так понимаю что сдвиг влево на 64 бита. Иначе смысла бы не было. Получили бы ноль.

    Сдвиг влево - это умножение на 2 в степени числа сдвигов. Тоесть

    2^32 * 2^64 = 2^96

    (при умножении степеней показатели складываются)
    Ответ написан
    5 комментариев
  • Что лучше выбрать для взаимодействия в микросервисной архитектуре? MessageBroker или REST?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Современные брокеры такие как Kafka не имеют одной точки отказа. Можешь их рассмотреть вместо кролика.

    REST является синхронным по своему дизайну. Тоесть ты вызываешь rest метод и ждешь ответа именно на этот
    вызов в отличие от MQ где ты просто шлешь уведомления и тебе безразличен отклик. Поэтому MQ обычно
    быстрее и дешевле когда у тебя идут тысячи и миллионы месседжей в секунду.

    В REST можно делать пакетные (batch) методы. Это ускоряет обработку при массовом обслуживании
    но и коды ошибок будут тоже возвращаться в виде batch ошибок и их надо соотв также пачкой и обработать
    а это все усложняет бизнес-логику.
    Ответ написан
  • Почему индексируется страницы закрытые тегом robots и в robots.txt?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вот тут пишут https://developers.google.com/search/docs/crawling...
    что robots.txt - это как-бы рекомендательный а не запрещающий механизм. Тоесть гугл все равно
    сам решает индексировать ему или нет если есть внутренние ссылки на скрытое роботом содержимое.
    Ответ написан
  • Как установить флаги в debug.exe?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Спасибо что пригласил. Но я не большой специалист в ассемблере. Вот посмотри как тут пишут. Может поможет https://stackoverflow.com/questions/1406783/how-to...
    Ответ написан
    7 комментариев
  • Какая файловая система наиболее устойчива к сбоям?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Современное ПО очень сложное в части гарантий сохранения транзакций например. В БД для того чтобы
    сохранился commit, мы должны гарантировать что за секунду до аварии мы успели сделать FSYNC
    для всех буферных операци I/O.

    И эта проблема никак не решается заменой одной ФС на другую. Вы пишите хоть в ZFS, хоть в RAW,
    но здесь эта гарантия дает сбой. База не смогла сохранить последний коммит. И при recovery будет
    откат транзакций назад. И дальше надо на уровне приложений разбираться где какие платежи не прошли
    и кому вернуть деньги.

    Поэтому сервак БД должен быть хотя-бы застабилизирован на 5-10 минут чтобы успеть корректно сделать
    shutdown. Либо дежурный админ это сделает либо ваш софт - неважно. Тоесть отключение энергии должно
    быть плановым и контролируемым.

    По поводу cannot read superblock - не знаю. Я такого в своей практике никогда не встречал. Надо поисследовать
    вопрос глубже. Предполагаю что это не сама причина а следствие чего-то другого. Например виртуальные машины не нашли свою файловую систему.
    Ответ написан
    2 комментария
  • Как хранятся многомерные массивы в памяти?

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

    Но для такого твоего кейса матрицу можно линеаризовать. И разложить последовательно.

    int arr[6] = { 1,2,3,1,2,3};

    Формула доступа будет простая. Надо будет к базовому указателю прибавить дистанцию от начала
    до нужного элемента помня о том что LINE_WIDTH у нас уже известен и это длина строки в элементах.

    *(basePointer + i * LINE_WIDTH + j)

    Таким-же образом можно вывести формулу для 3х, 4х и более измерений. И массив можно отобразить
    на гиперкуб.
    Ответ написан
    Комментировать
  • Как лучше учиться архитектуре?

    mayton2019
    @mayton2019
    Bigdata Engineer
    По книжкам - не особо эффективно. Личный опыт и "насмотренность" взгляда здесь будут лучше учителя.
    Работая на себя или делая фриланс, архитектура не имеет особого смысла. Архитектура обычно появляется
    где есть какой-то конфликт. Например конфликт денег. Или людей. Или ресурсов. Или есть варианты как разрабатывать.
    Если ты писал сплошняком (стеной) код и это работало то это и есть твоя архитектура. И тебе другое не надо.

    Можешь почитать Макконнелла - Совершенный код. Но его лучше читать как-бы закрепляя то что
    ты сам уже понял.

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

    Если тебе интересна оценка твоего кода со стороны - то закжи себе code-review и просто послушай что
    другие teammates говорят о твоем коде. Будет больная и неприятная правда. Это все - тоже части архитектур.
    Ответ написан
    5 комментариев
  • Возможно ли разлочить 120hz на мониторе?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Ну ты сам написал - старичок. Для встроенного экранаAcer Aspire E1-571G стоит 60 Гц
    в описании товара. С чего им повышать частоту когда встроенный экран имеет такую
    инерцию что этого повышения никогда не будет видно?
    Ответ написан
  • Какую базу данных telegram использует?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Тут не важно какая база. Потому что продукт - это определенно - облачное приложение. И типов софта много.
    Скорее всего используется кластер из слабосвязных БД ориентированных на обработку сообщений
    (event-driven). Ну а учетки могут класть и в обычный MySQL. Там нагрузки особой нету. Только в регистрации
    или обновления учетки. Для аттачей или фоток может быть вообще какая-то аналогия S3 или BlobStorage,
    тоже вобщем не требующее сильной связности и хорошо растущая вширину.

    Вообще такие продукты как facebook, vk и прочие сети и мессенджеры имеют свои собственные
    решения очень узкие и заточенные под оптимизацию сетей. И их название нам ничего не
    скажет потому что это название - внутреннее и вряд-ли мы его нагуглим.
    Ответ написан
    Комментировать
  • Слетела виндовс?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Щас современные вирусы не такие. Они - тихо сидят. Или майнят. Или диск тебе шифруют. Или спамят. Или тырят карточки тихо.

    Нот такое поведение как у тебя - похоже на выгорание железа. Неси в ремонт. Там заодно и антивирусом еще
    раз прогонят.
    Ответ написан
    5 комментариев
  • Как сделать методы класса доступными только для одного класса?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Когда тебе хочется странного, то нужно заново пересмотреть дизайн этого UserService и DAO
    с точки зрения SOLID. Если этот DAO нигде не существует то может быть он вообще не нужен
    как сущность. Сделай композицию или рефакторинг чтобы у тебя был только UserService.
    Ответ написан
  • Как перевести все изображения в pdf?

    mayton2019
    @mayton2019
    Bigdata Engineer
    $ convert picture1.jpg picture2.jpg out.pdf
    Ответ написан
  • Не работает определение местоположения по IP. Почему?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Ну все эти геолокаторы по айпи (maxmind, ipgeo) показывают не твою локацию а локацию
    того IP адреса под которым тебя видит сайт.

    И кроме того эти базы нуждаются в постоянном обновлении. Если база устарела (что часто бывает
    в бесплатных сервисах) то она будет показывать старую инфу.
    Ответ написан
  • Что на клиенте создается свою пару ключей для https соединения?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Когда ты купил (устнановил себе ОС) в ней уже был браузер и в этом браузере прописаны центры сертификации. Это что-то вроде нотариальных контор. Ты им доверяешь по умолчанию. И они по цепочке являются гарантами сертификатов других доменов или других контор. И связка сет доменов + публичный ключ являются реквизитами сертификата. Ты их можешь увидеть в настройках безопасности браузера. И по протоколам TLS/SSL когда ты заходишь на сайт происходит быстрая проверка что интернет домен подтвержден и между вами устанавливается доверительный канал по которому вся инфа от сервера - прогарантирована. Но еще пока не скрыта. Но ввиду того что ассиметричка работает медленно и дорого, на самом деле эта процедура обрамляет другой протокол - создание симметричного канала с временным сеансовым ключом где дальше ты уже работаешь по обычному быстрому симметричному AES например до следующего сеанса обновления ключа. Этот канал уже скрытый от постороеннего наблюдателя. Если запускать openssl с некоторыми
    параметрами то эта процедура рукопожатия будет трассироваться на экран и можно подсмотреть что реально
    происходит у тебя на локалхосте.

    По поводу что там и где устарело. SSL/TLS это просто версии алгоритмов вот этого рукопожатия.
    Ответ написан
  • Как реализовать Postgresql Ecommerce?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вариант
    _     | M | X | L
    ------+---+---+----
    Red   |   | Y | Y
    Green | Y |   |
    Ответ написан
    Комментировать
  • Как правильно создать БД в одном execute?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Обычно БД создается во время процессов CD/CD через технологии liqubase/flyway.
    Таблицы тоже. В этом есть смысл потому что БД и таблицы это такие долго-живущие объекты
    и кроме того не лежащие в плоскости транзакций. Они - выше транзакций и их надо логически
    отделять от прочего java кода. А в java коде - оставить insert/update/delete.
    Ответ написан
    5 комментариев
  • Конвертер файлов с Word/EXEL в PDF на своем хостинге?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Есть опернсорцная библиотека на java Apache POI. Она умеет работать с Adobe, Microsoft форматами.
    Но как она конвертит одно в другое - я не знаю. Я такое не проверял. Но зато opensource.

    Есть библиотека pandoc (https://pandoc.org/) написанная на Haskel которая тоже знает много форматов
    и делает конверсию. Про нее еще шутят что это единственная полезная и практическая вещь которая
    создана на этом академическом языке. Но вроде opensource. Кстати в ней-же на титульной страничке
    стыдливо упоминают что pdf - не натив а через какие-то кастомные конвертеры pdflatex, lualatex, xelatex, latexmk, tectonic, wkhtmltopdf, weasyprint, prince, pagedjs-cli. Вот по ним отдельно тоже посмотри. Может они - лучше.

    Вот. Но как эти все штуки превратить в онлайн сервис - я не знаю. Это тебе надо просто более
    детально расписать требования. Если это REST или SOAP - напиши Open API с декларацией
    методов.
    Типа на вход word (xml) на выход PDF. И какие-то настройи по любому будут. Шрифты
    там подгружать или заменять на похожие и прочее. Это неизбежно. PDF/Word это сложные
    технологии и они так просто друг в друга не ходят.
    Ответ написан
  • Насколько законно для крупной компании пробивать человека по почте?

    mayton2019
    @mayton2019
    Bigdata Engineer
    я написал в компанию гневное письмо, где немного их оскорблял.


    а сама компания чуть ли не угрожает мне.


    Ну ты поросёнок еще тот :). Сначала нахамил а потом спрашиваешь про угрозы.

    Мы живем в сложном мире где не везде работает европейское право. Да и вообще право весьма
    относительно когда рассматривают другие народы и страны.

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

    Тебе-ж не трудно извиниться?

    А быковать или наезжать на корпорацию (у которой есть юристы) я очень сильно не советую. Это обычно
    ничем не заканчивается. Для них по крайней мере точно ничем. А для тебя - блек-листами и испорченой
    репутацией для рекрутинга. Тебя просто в будущем не наймут в приличное место. Будет стоять отметка -
    "проблемный" или "скандалист".
    Ответ написан
    Комментировать
  • Есть ли такой сервис с AI?

    mayton2019
    @mayton2019
    Bigdata Engineer
    AI здесь вобщем не нужен. Это классика машинного обучения еще из 20-го века.

    Я такое делал в алгоритме K-Means для Apache Spark. В данном случае выборкой были векторы { r, g, b }
    всех пикселов картинки а количество кластеров было 256. И на выходе алгоритма я получал массив из 256 наиболее популярных цветов (центров кластеров) для данной картинки.

    Реализация алгоритма K_Means есть в любом научном или статистическом пакете. Я еще находил ее
    в java commons-math кажется.

    Далее рисование мозаики - это отдельная задача. Она - утилитарная и любой разработчик Python / JavaScript
    ее сделает за 5 минут. И здесь AI тоже не нужен.
    Ответ написан
    2 комментария