Задать вопрос
  • Как быстро распарсить много json файлов на python?

    mayton2019
    @mayton2019
    Bigdata Engineer
    А почему ты решил что парсинг это узкое место? Ты пишешь информацию в базу. Тоесть у тебя конвейер операций.
    И я думаю что до того как начинать оптимизацию, надо собрать логи по таймингам. Сколько милисекунд занимет
    чистый парсинг и сколько запись в БД.

    Попробуй еще простой параллелизм. Разбей эти 8000 файлов на 2 фолдера по 4000.
    И запусти 2 python-процесса. Будет допустим не 5 часов а 3 часа. Уже лучше.
    Продолжнай дробить пока удельная скорость обработки не деградирует.
    Ответ написан
    2 комментария
  • Как параллельно подгружать файлы в C++?

    mayton2019
    @mayton2019
    Bigdata Engineer
    У тебя должна быть shared memory для всех потоков-участников этого процесса.
    И один из потоков (главный) должен заранее планировать что какие-то части
    файлов должны находится в shared memory в нужное время. Технически
    для C/C++ это решенная задача. Тут единственное что интересно - это
    обсуждать логику главного потока. Тоесть когда и в какой момент времени
    главный должен решать что подгружать. А может он передумает и решит
    что надо срочно выгружать потому что сюжет игры меняется. Или игрок
    будет бегать между 2 левлами через портал и постоянно перегружать
    уровни туда-сюда.
    Ответ написан
  • Можно ли заменить HDD 1Tb на SSD 4Tb в iMac Retina Pro 27" 2015?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Ну для дисков у меня обычно есть такая формула. Я считаю соотношение объем/цена.

    К примеру Kingston SSDNow A400 480GB 2.5" SATAIII 3D V-NAND стоит 25$ тоесть считаем
    25$ / 480Gb = 0.05 $/Gb = 5 центов за гигабайт.

    Если взять самый топовый SSD по объему то он может оказаться очень дорогим. Непропорционально.

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

    Здесь еще можно учитывать занятость слотов и энергопотребление но главная формула уже
    есть и от нее можно отталкиваться.
    Ответ написан
    3 комментария
  • Какие могут быть полезные или интересные применения для демо-сайта с ChatGPT?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Самая интересная идея для ИИ - как разбогатеть очень быстро и без рисков.

    Идея - нужная. Я гарантирую это (С)
    Ответ написан
    2 комментария
  • Как определить размер функции в байтах Машиного кода?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Такой функции скорее всего не существует. Тут как в парадоксе про пудинг. Чтобы узнать хороший он или
    нет - его надо сьесть. Вот чтобы узнать длину машинного кода нужно провести этот код по всем стадиям
    компилляции
    . А судя по внешнему виду это не С++. Это DotNet поэтому здесь будет минимум 2 стадии.
    DotNet => MSIL. И потом уже в машинный код. Подозреваю что длина машинного кода будет
    зависеть от версии DotNet, от разрядности платформы 32/64 и от целевой железной архитектуры
    Intel/ARM e.t.c.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Пользователь всегда может сделать снимок телефоном. Тебе вообще для полного контроля
    над пользователем нужен не сервый фон а какой-нибудь договор вроде NDA. А так то что ты
    хочешь скорее всего невыполнимо без тотального обновления софта на всех клиентах.
    Ответ написан
    Комментировать
  • Как объединить запросы?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Тебе можно вообще все три таблицы объединить в одну. И сделать partitioning by range по полю created.
    При такой архитектуре все запросы у вас пойдут в одну таблицу. А поле push_type станет просто ненужным.
    Или можете сохранить его чтобы различать бывшие типы строк push/push_actual.

    По partitioning - посмотрите примеры как тут пишут https://dev.mysql.com/doc/mysql-partitioning-excer...
    Ответ написан
  • На чем сейчас (локально) принято хранить долговременные данные (бэкапы)?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Лет 10 назад можно было на барахолках купить стриммеры HP. А кассет было много на предприятиях. Некоторые впоследствии на радиорынках продавались еще в нераспечатанном виде. Производитель лент гарантировал что-то вроде 15 лет хранения информации (при условиях правильной температуры и влажности). Это - самые длительные сроки что я видел. Размер касеты у них кажется был 20-40Гб.

    Еще Verbatim продвигал какие-то особо прочные DVD+R диски с алмазным покрытием. А по объему кажется это были 4.7G Надо посмотреть я не помню точно. Вобщем надо искать + еще покупать пищущее устройство.
    А сейчас даже ноуты продают уже без DVD привода.

    Я у себя дома храню на двух HDD дисках серии WD-Green. Конечно непонятно что делать если от времени сгорает
    контроллер но вроде как 2 сразу в один день не должны сгореть.
    Ответ написан
    2 комментария
  • Насколько сложно сделать простое web приложение на python?

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

    Вы уже решили кто это безобразие оплатит?
    Ответ написан
  • Что быстрее SQL или Javascript?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Мужские мужчины уже ответили на основной вопрос.

    Я добавлю что чем больше данных мы обрабатываем тем дороже становиться цена передчи
    информации из места где оно храниться в блок вычислений. В концепции трехзвенки которая
    описана RDS(Postgres)/NodeJS/Python/Web удобнее всего вычилсять прямо в Postgres. Поскольку
    данные рядом и сетевых расходов на передачу нет. Если Postgres по каким-то причинам не может
    вычислять или не владеет API то в этом случае мы с помощью курсора (SELECT) передаем
    нужный датасет на клиента (в данном случае это Python/Node) и там вычисляем. При этом
    мы должны понимать что это займет время и сетевой канал да еще и результат вычислений
    тоже надо отослать обратно. Тоесть данные будут бегать как рейсовый автобус туда-сюда.

    Для однозначного решения что хорошо и что плохо - надо ставить эскперимент. Но предварительно
    мне и присуствующим уже очевидно что лучше всего вычислять прямо в хранимых процедурах
    Postgres. Единственным доводом против может быть несовершенство языка PL/pgSQL
    но я-бы этот факт тоже проверил. Для реляционных задач его обычно хватало.

    Данная проблема (рейсовый автобус для данных) еще более сильно выражена в BigData. Там стараются
    дизайнить систему так что данные - write-only и после загрузки в хранилище (ETL/ELT) больше никогда
    не изменяются и лежат неподвижно (т.н. Bronze Level информации). И джобы которые бегают
    по ним - запускаются в вычислительном кластере физически рядом с дисковым хранилищем.

    Вот. А на клиента отдаются обычно сводные отчеты и кака-то аналитика. Это то что в 100-10000 раз меньше
    по размеру обычно чем основные данные.
    Ответ написан
    Комментировать
  • Почему не могу объединить разделы на флешке?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Флешка обычно небольшого размера. Ее дешевле отформатировать заново чем заниматься
    задачами volume management.
    Ответ написан
  • Может нейросеть оценить синусоидальность сигнала?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Данная задача решается с помощью анализа Фурье. Ну по крайней мере в науке и технике
    методу Фурье всегда доверяют поиск периодов и фаз на сигнале.

    А по составу спектра уже смотрят какие примеси есть. Например Чистый синус будет иметь один пик
    в части основной гармоники. Прямоугольные периодические импульсы - нечетные гармоники убывающие
    по определенному затуханию.

    Спектр представляет собой вектор комплексных чисел. Где есть частота и комплексная амплитуда.
    И вот этот спектр уже можно подавать на вход нейросети.

    Линию вида y=kx+b можно представить как очень низкую частоту (инфразвук) с большим периодом.
    Впрочем возможность детектировать такой инфразвук будет заложена у вас в самом методе Фурье.
    С какой частоты начнете анализ - то и получите.
    Ответ написан
  • Как удаленно установить и запустить OS в режиме lite?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Это скорее всего не сработает. Т.к. нужны настройки wifi. Их надо где-то указать. Но со стороны действительно
    выглядит как некий злой умысел. Будто ты втихаря хочешь рабочие станции занять каким-то нехорошим делом.
    Ответ написан
  • С чего начать учить Kotlin?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Можно рассмотреть 2 Котлина. Или два варианта использования.

    Первое - это разработка под Adroid. Тут как бы понятно. Если Google его поддерживает то его стоит
    изучать и использовать. Но это означает - связать свою жизнь с клепанием формочек в мобилах.

    Второе это Spring/Kotlin/Java/Groovy e.t.c. Стек современного ентерпрайза. Тут - я бы не был так уверен.
    Дело в том что Java технологии - в силу генезиса опирается на достаточно старый и консервативный стек.
    И почти все стектрейсы ошибок будут неизбежно содержать сущности мира Java (JDK). От этого не уйти.
    Это как С++ разработчик вынужден знасть ассемблер когда дело касается анализа крашей приложения
    и вопросов ABI. Короче "не отпускает мать-земля"! Сколько ни придумывай абстракций а как жахнет
    черный или синий экран - сиди и вспоминай назначения регистров и что в них функция положила.
    Из позитивных моментов. Kotlin очень часто хвалят за лаконичный синтаксис и null-safety. Но последние
    несколько лет java community взяло бешеный темп развития (иначе я это назвать не могу) и начинает
    вносить изменения в спеку языка. Records, Pattern matching все эти штуки сильно приближают
    Java к Scala и Kotlin и возможно через лет 5 матрица фич этих языков будет одинаковой по всем
    позициям. Просто будут по разному называться. Вместо какого-нибудь "оператора Элвиса" будет
    оператор "Джона Леннона". Вобщем стоит ли рваться в Котлин "любой ценой" - я не знаю.
    Ответ написан
    Комментировать
  • Монитор + подвешенный к нему системный блок это лучше чем моноблок? И подойдет ли такой комп для видеомонтажа?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Тебе для монтажа что надо? Многоядерный процессор. И быстрый диск.
    Вот и смотри не в то чего там куда подвешено а смотри в бенчмарки.
    Ответ написан
    2 комментария
  • Какой Ардуино подарить ребенку на 10 лет?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Не забывайте что самое лучшее время которое ребенок может провести - это время с отцом.
    Все эти умные игрушки не имеют никакого значения если вы лично с ним не играете в них.

    Даже бумажный самолетик сделаный с отцом будет ребенку интереснее и ценнее чем Playstation
    и прочее.
    Ответ написан
    2 комментария
  • Правильно ли я выбрал структуру базы данных, создав 2500 одинаковых таблиц?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Andrew_Novikov,

    Пользователь выбирает имя спортсмена, например "Petr_Yan", дальше идет запрос к БД "select * from Petr_Yan",

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

    Над таблицами думают. Их рисуют на архитектурных диаграммах. Ты чисто случайно словил
    дефект в различиях файловых систем Linux/Windows и мы пришли вообще к тому что ты
    сделал невернй дизайн БД.

    После того как переделаешь - проблема сама собой уйдет. А когда будешь придумывать
    имена таблиц - делай все в одном регистре. Так - проще жить. Меньше в будущем
    будет архитектурных косяков.
    Ответ написан
    6 комментариев
  • Какой размер кэш процессора на одно ядро?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Обычно L3 - общий для всех ядер а L2/L1 - персональные кеши для каждого Thread/Kernel.
    Но технологии меняются. И я не думаю что это какая-то окончательна архитектура. Могут быть
    и исключения.
    Ответ написан
  • Где научиться профессионально искать и анализировать информацию?

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

    Я-бы не доверял подобным курсам. Они балансируют на грани гуманитарных знаний - а там нет
    хорошего критерия оценки на выходе. Тоесть тебе впарят какое-то знание но как его эффект оценить - непонятно.
    Сертификат о том что ты - хорошо умеешь гуглить? Согласись это странно.

    Есть курсы связанные со скоро-чтением. С тайм-менеджментом. Это мне кажется более полезно.
    Хотя самый главный курс - это твои родители. Чему они тебя научили. Потом садик. Школа. Универ.
    Профессия чему научила. Вообще есть у людей мозг. И он от рождения - разный. И несмотря
    на всяких коучей есть у людей лимиты по возможностям. Я вот например никогда не мог запоминать
    расположение фигур на шахматной доске. Сколько не пытался. Не дано такое мне умение. Длинные
    телефоны не могу запомнить. Да много лимитов в башке есть. Ты подумай - может это просто насилие
    над твоим разумом заставлять тебя анализировать и искать информацию? Может это просто не твоё?
    Ответ написан
    Комментировать
  • Какой уровень блокировки строк по умолчанию в запросе SELECT?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Документация гласит

    https://www.postgresql.org/docs/current/transactio...

    Read Committed is the default isolation level in PostgreSQL.


    P.S. В Оракле - тоже самое.
    Ответ написан
    Комментировать