Задать вопрос
  • Как POJO влияет на производительность приложения?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Сделай listDataRu, listDataEng синглтоном и ничего не будет нагружать.
    Ответ написан
    3 комментария
  • На каком движке делались ролики к играм PS1?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Большинство игр 90-2000х использовали rendered графику в заставках. И графика эта могла делаться
    на 3DStudio Max, Blender, Maya или на любом пакете который тогда существовал. Движок самой игры обычно
    для какой-то детальной анимации не годился. Посмотрите на заставку к Quake3, StarCraft там от самой игры
    даже моделей нет.
    Ответ написан
    Комментировать
  • Как осуществить поиск по файлу CSV?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Ты действительно из JavaScript собираешся работать с CSV файлом? Просто обычно js работает с небольшими
    json документами которые прилетает от back-end и не требуют тяжелых поисковых операций.

    Я вижу лишь одно удачное коробочное решение - разбить твой документ на key / value и (ключевая часть
    и все остальное) и загрузить это в localstorage как тут пишут https://developer.mozilla.org/en-US/docs/Web/API/W...
    Ответ написан
  • Сильно начал гудеть ноутбук. Что это может быть?

    mayton2019
    @mayton2019
    Bigdata Engineer
    У каждого подъезда в доме видит объявление. Типа - компьютерный мастер Вася.
    Установка Винды. Заправка картриджей. Прошивка роутеров.
    Вот иди прямо к нему.
    Нечего тут в хабре делать. Корпус надо вскрывать и смотреть гре разбился подшипник
    кулера.
    Ответ написан
    5 комментариев
  • Как реализовать побитовый сдвиг чисел, которые записаны как строки ( длинные числа хранятся в строках)?

    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 |   |
    Ответ написан
    Комментировать