Задать вопрос
  • Можно ли погибнуть от паров канифоли и металлов?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Еще задолго до того как вы погибните у вас будут признаки ухудшения здоровья. Легочные болезни
    например. Но я в юности много паял. И у меня нет ничего легочного. А вот моя жена поработала парикмахером
    более 10 лет и у нее уже есть астма и прочие сопутсвующие.

    Короче. Есть профессии во много раз более опасные чем пайка. А всем остальным, дорогие мои
    красноглазые ботаны (и радиолюбителю тоже), с больше вероятностью грозит остеохандроз,
    туннельный синдром, просадка зрения ну и... гемор как ни странно.
    Ответ написан
    1 комментарий
  • Как загрузить большое количество данных в базу SQLite на React Native?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я не встречал бесплатных механизмов репликации. Обычно для толстых коммерческих БД типа Oracle продавались коробочные продукты (Streams/GoldenGate) которые требовали знаний на уровне сертификации.

    Какие могут быть пути репликации в простом случае. Для таких детских бд как SQLits:

    1) Убить всё что локально и скачать все что есть в удаленной БД. На вид выглядит просто. Но неясно
    как часто это делать. Что будет триггером для такого события? Очевидно что должна быть золотая середина
    между потерпеть еще на старых данных или плюнуть и стартовать обновление которое на мобиле
    может затянуться на несколько минут. Вобщем пользователь страдает.

    2) Придумать механику инкрементального обновления. Для этого вам будет нужно добавить во все
    таблицы поле типа last_update_timestamp (вот примерно как Сергей выше писал) и обновлять только те
    записи которые старше максимальной даты которая уже есть. Кроме того надо во второй транзакции
    убить те записи которые были удалены в remote. Здесь - посложнее т.к. для убийства мы должны
    гарантировать существование PK для всех отслеживаемых таблиц. Мой опыт работы с БД показывает
    что там не то что PK там даже и нормализация не всегда делается. Все это как-то выглядит хрупко
    как хрустальная ваза и возможно потребует дополнительных индексов которые раньше не требовались
    для работы системы. Но при хорошем индексировании триггер можно дергать хоть каждые 15 минут.

    В более сложном варианте я-бы предложил реплицировать не SQL протокол а тело самой таблицы.
    И вести учет контрольных сумм блоков наподобие дерева Меркла. Но это решение настолько далеко
    уходит от React-Native приложух что я-бы сам себе не советовал. Тут еще могут быть трудности с native
    представлением SQLite. Неизвестно будет ли такая реплика бинарно-совместима.
    Но это будет хотя-бы быстрая реплика.
    Ответ написан
    Комментировать
  • Какой программой запустить распределённые вычисления на пользовательских рабочих местах?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я думаю что это надо согласовывать с руководством. Были случаи когда админы запускали всякие майнеры и прочее а потом за их действия "прилетало" компании. Сотрудники тоже рано или поздно поймут что на десктопе происходит что-то странное. Температуру и загрузку железа невозможно просто скрыть.

    Вобщем не подставляйтесь.

    Да ну и отвечая на вопрос. Что можно посмотреть в этом направлении.

    - YARN https://hadoop.apache.org/docs/current/hadoop-yarn...
    - Mesos https://en.wikipedia.org/wiki/Apache_Mesos
    - Kubernetes уже упоминали выше.
    Ответ написан
    Комментировать
  • Как настроить автоматический сон ПК при отсутствии раздачи?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Это противоречит идее торрент раздач. Ты можешь быть не сидером но раздающим когда у тебя 99% скачанного файла к примеру. Оптимизация конечно хорошая но для сети в целом она никакой пользы не несет. Если ты просто экономишь электричество - то просто выключай да и все.
    Ответ написан
    Комментировать
  • Как лучше организовать очередь сообщений для их разбора по графику?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я-бы разобрался с дублями. Если есть система которая продуцирует их - то наверное можно
    как-то решить этот вопрос на уровне источника. Это performance issue который нужно обусждать.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Поскольку топик тегирован алгоритмами - то мы должны обсуждать именно алгоритмы.

    Алгоритм называется DFS (Deep First Search). Это поиск в дереве в глубину.
    Поиск выдает нам листовые вершины. И путь от корня до листовой вершины будет
    кандидатом на ответ.

    Значит наша задача - перебрать всех кандидатов на предмет совпадения с шаблоном.

    "C:\***\\AppData\***\Adobe"

    Здесь можно рассмотреть разные оптимизации. Например узел 1 и 3 и 5 уровней у нас - константа.
    Это можно было бы рассматривать но мне без конкретного языка программирования это уже
    неудобно и не интересно. Поэтому было-бы хорошо чтобы автор указал язык разработки.
    Ответ написан
    Комментировать
  • Где выполнять маппинг данных из разных таблиц базы данных на frontend или на backend?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Нет запрета на использование маппингов на фронте. Но я-бы дополнительно проверил
    что пользователь не имеет возможности каким-то образом влиять на этот маппинг
    всякими инжекциями и попытками сломать логику и создать security issue.

    Обыно для крупных проектов нет проблем с хранением DTO/Entities на многих слоях приложения.
    Только тебе надо подняпрячся и один раз создать некий стандарт на хранение маппингов. Можно
    даже не в коде а в виде json/yaml и использовать эти DSL для генерации кода на все другие слои.
    Ответ написан
    Комментировать
  • Почему диск SSD удаляется со всеми данными? Как-будто сам форматировался?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Почему диск стерся?

    Я думаю что никто в топике не в состоянии ответить на этот вопрос.

    Диск нужно нести в сервисный центр. Пускай его там тестируют. Возможно был перегрев.
    Ответ написан
    Комментировать
  • Потянет ли unreal engine 4?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я очень хочу заняться разработкой игр, но переучиваться на c# и использовать unity не хочу

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

    Расскажи с какого языка ты хочешь свичнуться!

    В скобках замечу что на собеседованиях по UE больше спрашивают сам UE а не С++. Да-да дружище.
    В наше время знания фреймворка уже превалируют над языком.

    ОЗУ: 8 гб
    - Процессор: Intel(R) Pentium(R) 3558U @ 1.70GHz 1.70 GHz

    Это офисный ПК и процессор образца 2014 года. И он не предназначен для запуска игр. В его описании
    так и написано. Какая здесь может быть проблема. Как разработчик игры, ты должен видеть output.
    Ты должен ощущать игру так как ее будет ощущать игрок бюджетной конфигурации текущего (2023)
    года. Если ты ее не видишь как видит игрок то соотв ты будешь делать очень странную инди-игру
    которая как раз и будет игрой для офисных ПК 14 года. Вобщем не занимайся ерундой.
    Купи себе нормальный десктоп. Ноуты - это баловство.
    Ответ написан
    2 комментария
  • Интернет провайдер видит МАС всех компов, подключённых к модему?

    mayton2019
    @mayton2019
    Bigdata Engineer
    По первым шести символам мак адреса можно определить производителя сетевого устройства.
    Вот как тут пишут https://dnschecker.org/mac-lookup.php

    Ну а оставшиеся цифры - ХЗ. Номер в серии наверное. 16 млн слотов зарезервировано.

    Даже если-бы провадер и знал. И что с того?

    Вот я подкючен проводом ethernet к гигабитному интернету. И провайдер видит mac моего роутера.
    Потом назначает айпишник согласно плану DHCP. И забывает нахрен. Больше этот мак нигде не нужен.
    Ответ написан
    Комментировать
  • Не работает INSERT INTO, почему?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Открой MySQL консоль и выполни эту команду с конкретными параметрами

    INSERT INTO `films`(`img`, `img_vertical`, `trayler`,`film_categories`, `name`, `state`, `sinops`, `roles`, `creators`, `awards`) VALUES (................


    Увидишь ошибку и пояснение. Предположительно там идет нарушение unique key либо констрейнта not null.
    Ответ написан
  • Как сделать в MySQL изменение поля строки через время?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Ну вообще базы так не делают. Их стараются делать в стиле WORM (Write Once - Read Many).
    Вот. И долбить по таблице каждую секунду проверяя записи - это создавать нагрузку как майнер.
    А зачем эта нагрузка? Атмосферу зря нагревать.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Ответ - это решение уравнения

    x + 0.05x = 950
    Ответ написан
  • Что делать, когда Wolfram говорит, что будет корень, а считать не хочет - a³+b³=z³?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Дружище Корень. Вижу прошло пару месяцев а ты все тот-же Ферматист :)

    Я не знаком с пакетом Вольфрам. Но его делал очень умный человек. И я думаю что символьные
    вычисления там тоже поддерживаются.

    Но такие вычисления обычно подходят под расчеты с дробями. Например 1/2 + 1/3 = 1
    в символьных вычислениях поддерживаются. Это позволяет точнее посчитать
    пределы например.

    То что ты посчитал - это трансцедентное число.

    z = exp((1/3)*log(664572³ + 257118³))

    Из-за логарифма внутри.
    Везде где есть синусы, логарифмы (ряды Тейлора) мы можем говорить об этом
    свойстве чисел. Грубо говоря это число которое мы не можем в общем случае
    получить путем конечного числа операций над рациональными числами.

    И обычно в физике и в инженерном деле логарифмы и экспоненты считают приближенно.
    Используя float, double и extended (80bit). И этого хватает чтоб запускать ракеты на Марс.

    Их никто не считает точно, просто по той причине что их нельзя представить точно.
    У нас не хватит памяти всех датацентров чтоб точно такое считать.

    Иногда в очень-очень редких случаях математический пакет может упростить формулу
    аналитически (exp(log(x)) и получить более простые цифры без свойства трансцедентности.
    Почитай документацию по MathCad, MatLab, может там такое тоже есть.

    Я также упрекаю тебя в невнимательности. Я тебе в прошлый раз делал акцент на типах
    данных. И ты это благополучно проигнорировал. И снова ты полез в теорию чисел и Ферма
    даже не понимая с каким типом данных работает Вольфрам. Разберись сначала с этим вопросом.
    Иначе будешь всегда выглядеть почемучкой.
    Ответ написан
    6 комментариев
  • Seed для CRC32?

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

    написать хэш-таблицу без коллизий


    Написать такую таблицу можно если мы заранее знаем весь набор данных (в случае автора это
    множество ключей (K). Здесь для простоты предполагаем что ключи - это целые числа int32 (DWORD).

    Алгоритм примерно такой:
    1) Берем размер хеш-таблицы в n = size(K). Метод открытой адресации.
    2) Берем любую хеш-функцию (по области определения больше чем n
    SHA1, MD5, xxhash, mur-mur-hash)
    3) Начинаем наполнять таблицу.
    4) Как только детектирована коллизия - удаляем старую таблицу и создаем новую
    с размером например 120% от исходного n.
    5) Повторяем алгортм до тех пор пока не будут расставлены все ключи.

    Profit.

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

    Изучать хеширование на базе целых чисел - вобщем-то не интересно. Более общий случай - это
    строки (String) и я-бы делал эксперименты со строками и с реальными данными (мобильные
    телефоны емейлы налоговые номера и прочее). Целые числа - это .... слишком синтетические
    тесты и их результаты потом никуда натянуть нельзя.

    UPD: Алгоритм в таком виде не работает. По крайней мере от коллизий мы не избавились.
    Не голосуйте здесь пока.
    Ответ написан
  • Как сделать стрельбу под бит трека?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Думаю да. Нужно наверное отказаться от mp3 и сделать трекерную музыку.

    Я вот когда играл в Serious Sam -1 помню там когда enemies наполняли локацию - то и музыка
    как-то усиливалась и угнетала сильно. Но в Сэме наверное трекерная музыка была. Там проще
    было ритм и музыкальные партии задавать просто меняя семплы.
    Ответ написан
    3 комментария
  • Как разложить URL path на части?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Ну во всех языках есть функция чтоб разбить строку на составляющие по символу разделителю. Например

    https://stackoverflow.com/questions/5159086/php-sp...
    Ответ написан
    2 комментария
  • Как хешировать в хеш таблице узлы дерева?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Дружище тебе не надо портить дерево. Оно и так хорошо.
    Просто заведи отдельную хеш-таблицу и трекай две структуры
    одновременно.

    LRU например так и делает. Цепной список + Hashtable.
    Ответ написан
    Комментировать
  • Будет ли разница при воспроизведении 4к на разных дисках?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Да. Идея хорошая включить более тихие и медленные диски на 5600. Для домашнего кинотеатра - циркулярные
    пилы не нужны. Я как-то видел как инженеры по системам хранения включали хранилище Clarion на Hitachi 14 000 оборотов. Ну и блинов там в стойке было штук 20. Ну было ощущение что рядом взлетает истребитель.

    По поводу 5600. Посмотри как они включены. В современных матерях стоят уже SATA 3.0 но чорт его знает. Я видел гибриды где были и новые слоты и старые.

    Сколько нужно для просмотра кина в 4К качестве я не знаю. Это очень хитрый и лукавый вопрос. Дело
    в том что 4К трафик сильно зависит не только от разрешения но и от того как релизер сжал кино или
    сериал. Я никогда не сжимал 4К. Мне хватает FullHD для сериалов. Но я пережимаю через ffmpeg
    заменяя кодек звука и видео просто на тот который подходит под 2 моих стареньких телевизора LG.
    Могу показать скрипты. По сути я заменяю видеоряд AVC на libx264 и звук на mp3. Вот и 60 fps можно
    тоже проредить в 2 раза. Мне вот кино привычнее смотреть так. А аниме сериалы вообще едвали
    до 10 фпс доходят.

    Еще есть у меня мысль что под громким маркетинговым термином 4К могут быть скрыты несколько разрешений
    меньшего размера. Тут - таже история что и с Wifi/3g/4g. Эти термины созданы чтобы продавать нам
    услуги но они не гарантируют полосу и не являются технической спецификацией. По крайней
    мере 4К существует 2 вида.

    Поэтому качайте с торрента любое разрешение и скорость. И потом за 3-4 итерации пережатия
    можно всегда найти набор параметров чтоб воспроизводилось на медленных дисках. И
    я готов спорить что разницу вы особо не заметите.
    Ответ написан
    3 комментария