Задать вопрос
  • Что браузер может знать о компьютере?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вопрос состоит из двух частей. Первое - собственно какие права доступа даны браузеру операционной системой. Тут - сложно сказать. Я-бы исходил из пессиместичного ответа. Скорее всего - полные права пользователя. Вот все что делает пользователь в своём хоум-каталоге - все делает браузер. Видит все-файлы и создает сокетные соединения во внешний мир. В случае чего технически может слить весь ваш home вместе с паролями и ключами и кредитками если они "просто так лежат" в файлах. Почему еще не слил - это просто вопрос нашего доверия к самому производителю.

    UPD: Дополнение. Отдельным вопросом можно уточнить что видит JavaScript машина. Тут я не специалист. Пускай веб разработчики скажут. По крайней мере нем обещали что JavaScript не имеет доступа к локальным файлам напрямую.

    И второй - какие сведенья бразуер регулярно шлет на сайты. Это проверить легко например через https://www.hashemian.com/whoami/ и вообще через любые whoami-сервисы.

    В режиме разработки в браузере - можно видеть ту-же самую инфу где-то во вкладке Network (send) кажется.
    Ответ написан
    Комментировать
  • Как получить результат из exec с русскими символами?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Точного ответа на твой вопрос сразу нельзя дать. Потому - что тут идет экспертное дерево вопросов и ответов.
    Непонятно где ты запускаешь. В среде разработки или в консоли.

    Попробуй сначала в консоли сделать так.

    C:\>chcp 866
    Active code page: 866

    Запустить приложение.

    И потом еще так.
    C:\>chcp 1251
    Active code page: 1251
    Ответ написан
    4 комментария
  • Можно ли изучить игровой движок Godot без знаний англ?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Однако godot не располагает обширного русского сообщества

    Здесь вместо godot можно подставить любую современную технологию. И если
    смотреть с точки зрения развития - то технический английский все равно нужен
    хотя-бы для того чтобы быстро читать мануалы и извлекать информацию об ошибках.

    Кстати советую вам не доверять машинным переводам. Они ущербны. Почти все.
    Ответ написан
    Комментировать
  • Насколько большая разница между Intel Core i7-1255U и Core i5-1235U в ноутбуках?

    mayton2019
    @mayton2019
    Bigdata Engineer
    До 2005 года мы жили в сладкой неге работающего закона Мура. Каждая новая покупка - удваивала производительность и играх и приложениях. Pentium, P-2, Celeron, P3, P4, Dual-Core .e.t.c.

    Сегодня - потратишь несколько кило-баксов и получишь +10% (возможно) к работе офисных приложений. И то не всегда за счет процессора а за счет других небольших увеличений. Там где-то частота шин. Там где-то просто чуть более быстрый SSD. А так ... просто покупать ради нового стикера на корпусе? Ну это как тюнинг авто. У кого синие светодиоды - тот и самый крутой в рабочем посёлке.

    Вобщем пускай i5 работает пока не сгорит.
    Ответ написан
    Комментировать
  • Зачем именно нужны связи в бд?

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

    insert into message(9999999, -1, "Mua-haha...");

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

    Разумеется можно полагаться на логику твоего приложения и думать что такая ситуация невозможна
    но с точки зрения БД она вполне возможна потому как родственная связь User + Message нигде не объявлена.
    И SQL позволяет это сделать.

    Чтоб поправить ситуацию надо эту связь добавить и тогда я не смогу создать фейковые посты от анонимосов.
    ALTER TABLE Message
    ADD FOREIGN KEY (userid) REFERENCES users(id);

    По умолчанию констрейнт создается с опцией restict (это было в Оракле как в Майскл - не знаю)
    и это гарантирует что невозможно также удалять родительские записи пока есть дочки.
    Для скорости ссылочные ключи всегда - индексированы.

    Рассуждать на тему вреда от аномалий - это просто терять время. Каждый владелец БД сам решает
    какие уровни строгости ему вводить. Вообще любая теория касаемая БД - по сути просто развивает
    идею строгости НФ1,2,3,4,5,6 и ссылочных ограничений.

    Будет ли виден пост от анонимосов - это тоже другой вопрос и он не имеет отношения к обсуждаемой
    теме. Ведь тема касается именно логичности данных в БД а не тем методам которые их отображают.

    По сути вопрос сводится к тому как не создавать мусор в БД.
    Ответ написан
    2 комментария
  • Безопасно ли использовать?

    mayton2019
    @mayton2019
    Bigdata Engineer
    У торрент клиентов - примерно одинаковые возможности. Кроме того их много. Можно ваш заменить на mTorrent, Azure, Transmission. На них вроде-бы жалоб не поступало.

    И вообще в данной схеме угроз не сам торрент клиент а скачиваемый контент является более опасным. Тоесть надо проверять фолдер "Downloads" более тщательно. Особенно крякнутые игры под Windows.
    Ответ написан
    Комментировать
  • Крестики-нолики.Проблемы с ходом Х?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Нет-нет дружище этот код надо выбросить. Переписывать или улучшать его нет смысла. Он плох. У тебя есть координатная сетка. Но ты почему-то не пользуешся этим а вычисляешь какие-то частные случаи.

    Вообще в изучении программирования - копирование чужого кода - это не плохо. Это вполне себе метод. Только скопировать нужно разобравшись как новый код работает. И сравнить его со своим решением. Я тоже так делал когда изучал бейсик для БД1001 или для Sinclair. Я просто копировал всякие текстовые игры-квесты и потом изменял и улучшал их.

    Найди любые крестики-нолики на С++. И в качестве критерия - код должен быть хотя-бы короче чем твой.
    Ответ написан
    Комментировать
  • Как эффективно составить гистограмму слов (big data)?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Это стандартный туториал из книжки Изучаем Apache Spark. Там за 5 строчек кода ведется подсчет частоты слов.
    Ответ написан
    Комментировать
  • Насколько полезно читать книги?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Видео могут забанить или перенести куда-то в платное.
    А книгу купил - и лежит себе на полке.
    Ответ написан
    Комментировать
  • Зачем надо (1) в COUNT?

    mayton2019
    @mayton2019
    Bigdata Engineer
    С практической точки зрения - надо смотреть план исполнения запроса. Там будет указан тип сканирования и предикат как БД фильтрует строки. Если план для
    SELECT (1)
    не отличается от
    SELECT (*)
    то тогда можно считать что это - одно и тоже.

    Почему обсуждение теоретического SQL я считаю здесь вредным и бесполезным? Потому что ни я ни
    кто либо из присуствтующих стандарт SQL не читал. Это - закрытый и платный документ. И
    обычно нам достается не текст стандарта а текст самой реализации на Oracle/PG/MySQL.
    Вот и говорим о реализации а не о стандарте. А реализации бывают разные. В оракле например
    требуется фейковая табличка dual для пустых безтабличных запросов. В других dbms
    - фейковая табличка не нужна. Синтаксис другой.

    Если кто-либо из присуствующих читал стандарт SQL и знает как объявлено поведение count() - то прошу
    привести хотя-бы цитату.
    Ответ написан
    1 комментарий
  • Нужно ль изучать математику параллельно изучению программирования?

    mayton2019
    @mayton2019
    Bigdata Engineer
    В целом - нет. Современное программирование - достаточно интуитивное. Если вы собиратесь делать сайты (фронт или back) то какая-то сильно продвинутая математика вам не нужна. Хватит сложения и умножения и взятия процентов. В остальном - знания достаточно гумантитарные. Знать иностранный язык. Быть polite и соблюдать code of conduct в корпорации.

    А если планируете идти в data-science, машинное обучение - то там надо. Там надо чтобы отстаивать свою правоту перед заказчиком и коллегами. Мат-статистику и теорвер хотя-бы на уровне основ надо знать.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Возможно ищется функция F следующего вида

    J(n) = F(J(n-1))

    Здесь предполагается что расчет F и J(n-1) будет значительно проще чем расчет J(n).
    Ответ написан
    Комментировать
  • Какая есть литература про парсинг различных форматов данных?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Есть ли литература в которой объясняется методика парсинга форматов типа pdf/doc/специфических бинарных форматов?

    Единой методики нет. Для парсинга коммерческих форматов лучше брать коммерческие либы.
    Так хоть будет гарантия что все сработает без ошибок.

    Я использовал опенсорцсные библиотеки iText, Poi для pdf,doc. Но не столько для парсинга
    сколько для генерации отчетов. А генерация обычно использует подмножество спеки.

    https://poi.apache.org/

    О том чтобы самому разбирать бинарный формат - забудь. Это будет просто пустая трата времени.
    Можно разбирать простые бинарные форматы такие как BMP (bitmap) но для сложных нужно
    потратить долгие месяцы и годы чтения спецификаций и то ты реализуешь не все а просто
    какое-то подмножество формата. Сам создатель Microsoft форматов документа как-то писал
    что они даже для него сложны.

    Есть фреймворк Kaitai-Struct который пытается формализовать описание всех форматов
    в виде некого DSL (в виде yaml). Я пробовал его использовать. Как по мне - он генерирует
    слишком переусложеннные сериализаторы где много лишнего кода. Еслибы писать вручную
    то очевидно что было-бы компактнее.

    https://formats.kaitai.io/
    Ответ написан
    Комментировать
  • Как перемешать между собой слова создав новые?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Почти во всех языках разработки есть функция shuffle которая случайным образом тасует массив как колоду карт.
    Вот как тут пишут https://www.geeksforgeeks.org/shuffle-an-array-in-... с помощью numpy.

    Есть еще генераторы перестановок (permutations) там можно получить не случайные а последовательные и неповторяющиеся перестановки. Например для массива из 10 слов можно получить больше 3 млн новых массивов.
    Ответ написан
  • Как убедиться что сжатые изображения является продуктами исходного?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Ну... сжатая картинка сохраняет стационоарными некоторые свойства. Например палитра. Цветовые кривые.
    Если не сильно сжимать то и некоторые частотыне свойства сохраняются. Вот. Персептуальный хеш.
    Это такое 8х8 черно белая матрица. Тоже идентичная для оригинала и для скейлинга. На habr.com была
    хорошая статья про эти виды хешей.

    Но честно я-бы такое вообще не делал. Больше
    холивара чем практической пользы.
    Ответ написан
    3 комментария
  • Почему в Kotlin (а может и в Java) так много методов?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    В Java мне часто не хватает некоторых методов для работы со строками и я подключаю commons-lang3. Кажется там есть всякие расширенные опции поиска и замены. И что характерно там не нужен формат регулярки. А просто можно строку заменять на строку. Я давно ничего не делал в Котлине и не знаю как там щас. Но мне кажется что они пошли по пути очень быстрой эволюции языка. Я не знаю хорошо это или плохо. Как мне кажется это всегда плохо
    для изучающих язык. Язык богатый фичами языка - всегда будет сложен в разборе поведения. Яркий пример - неопределенное поведение в некоторых языках. Целые статьи на эту тему пишут. Чтоб объяснить почему инкременты с присвоениями конфликтуют в одном выржаении.

    И вообще найти баланс между ядром языка и библиотеками - это большое искусство. Я в данном случае - за простоту языка.
    Ответ написан
    2 комментария
  • Как удалить идентифицирующую покупателя информацию из PDF?

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

    Зачем я это говорю. Просто поддерживаю автора в его параноидальных мыслях.
    Ну а если-б не говорил было-б лучше? Предупрежден - вооружен!
    Ответ написан
    3 комментария
  • Как удалить ненужные версии JDK?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Не знаю откуда вы сформировали такой отчет.

    С точки зрения современной ОС вы можете хранить много конфигураций JDK/JRE и перключаться между ними просто изменяя PATH/CLASSPATH. Это работает для Linux в основном. Для Windows мне это не удавалось. По крайней мере был еще один способ конфигурирования путей доступа к библиотекам который я на тот момент не знал. Возможно через реестр.

    Чтобы удалить ненужный - нужно знать какие вам нужны. Я-бы оставил только 17 поскольку она LTS (Long Term Support) а все остальные бы удалил если нет других требований.

    Из оставшихся двух версия corretto - разрабатывается и поставляется амазоном на его виртуалки. Поэтому если хостинг покупаете в амазоне то имеет смыл и ее использовать. Но я не вижу JDK это или JRE. Для процесса разработки софта (компилляции) нужна только JDK.
    Ответ написан
    2 комментария
  • Почему в играх двигают мир вокруг игрока, а не наоборот и где можно почитать про то самое наоборот?

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

    Пл поводу графики в играх. Я кажется знаю откуда ты эту фразу слышал. Это проеобразование world координат во view. Это идет от точки зрения алгебры матриц которые используются в 3Д графике. Чтоб показать на экране какую-то объект (куб, тор или пирамиду) надо все его координаты сначала умножить на матрицу его базовых преобразований (повроты сдвиги и масштаб) и потом еще это умножить на матрицу камеры. Здесь кстати на уровне камеры и делают всякие искажения перспективы и изометрию. И мы получаем фактические координаты экрана. Там еще идет хитрая оптимизация что две матрицы -константы и их можно взаимно перемножить и тд.

    Это в теории. Как реализовано в OpenGL/Vulkano - я щас не знаю. Но думаю что основа - таже.

    Вот. Поэтому да. С точки зрения камеры - она стоит неподвижно. И вся вселенная точек, полигонов и спецэффектов крутится бешено вокруг камеры чтоб занять именно то положение которое должен видеть игрок когда играет например в 3Д шутер.
    Ответ написан
  • Как изменить внешний вид коммитов, отправляемых из github в discord?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Коммит - это просто текстовое сообщение которое добавляется командой

    git commit -m "Message text here..."

    Сделай

    git log
    для обоих проектов и посмотри как текст выглядит внутри.

    Я думаю что ничего интересного там нету.
    Ответ написан
    Комментировать