Задать вопрос
  • Как просто сделать неблокируемое взаимодействие с питоновским процессом?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Существует много техник взаимодействия между процессами. Основное ключевое слово для поиска - IPC (Inter process communications). Там дальше надо выйти за границы Питона потому что эти техники немного разные для Windows/Linux. Некоторые похожие (Network Sockets).

    Если надо просто вести учет строк в PIPE между процессами то можно так

    bzip2 -d -k -c very_long_file.txt.bz2 | pv -l > /dev/null
    Ответ написан
    Комментировать
  • Есть ли софт для создания сотен файлов формата excel?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Софт есть. Но в данной задаче есть элемент программирования. И поэтому тебе нужен программист.
    Ответ написан
    Комментировать
  • Какой должен быть синтаксис у SQL запроса при конфликте?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вот тут примеры и синтаксис пишут

    https://wiki.postgresql.org/wiki/UPSERT
    Ответ написан
    Комментировать
  • Почему такой разброс цен в VPS/VDS?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Маленькая ремарка.

    В наше время такая метрика как количество процессоров (vCPU) - это маркетинговый обман.
    Скорее всего продаются виртуалки. И когда мы спорим и обсуждаем на них цены - надо обсудить
    каким образом облако их выделяет и вам предоставляет. Я думаю что режимов виртуализации
    может быть много. Ядра. Треды. Процессы в докерах-кубернетисах - это тоже
    в некотором роде виртуализация.
    Ответ написан
    4 комментария
  • Можете раскодировать код?

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

    1) Вы пытаетесь представить открытый текст. Например он может начинаться со строки "Привет".
    Или мы можем заведомо знать о том что в открытом тексте есть русский или болгарский или польский
    язык и исходя из его свойств (гистограмма или биграмма) проверять гипотезы.

    2) Вы начинаете перебирать все известные методы доисторической криптографии
    - Шифр Цезаря (Виженнера)
    - Квадрат Полибия
    - Пасьянс Шнайера (колода карт)
    - Палочки-веревочки и прочее
    и последовательно применять их до тех пор пока не получим ответ.
    Разумеется все это надо делать автоматизированно иначе это похоже на брейн-фак. А кому нужно
    факать себе мозг да еще и безплатно?

    В блоге Романа Душкина есть много науч-попа на эту тематику. Практически по всем темам.

    3) Если к открытому тексту пременен современный метод криптографии типа AES/Blowfish
    то пишите - пропало. Нет надежды на нахождение открытого текста. Можете обещать любую
    денежную премию. Эти шифры слишком серъезны чтобы их пытаться угадать в хабре.

    Да и ключом в таких шифрах обычно идет не парольная фраза а вполне себе длинный вектор
    ключа и инициализации (256 бит например).
    Ответ написан
    4 комментария
  • Как разделить файл на две части по символам?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Это не будет работать. Base64 использует специальные символы padding в конце файла чтоб указать
    какой из символов терминирует поток байтов.

    Поэтому если ты просто текст base64 тупо разрежешь на 2 части то эти две части станут невалидные
    с точки зрения кодировки base64. Надо примерно так

    input string => base64decoder => bytearray => split_3500 => encode_each_array_base64 => save_to_files


    вот на таком выдуманном всевдо-коде.
    Ответ написан
  • Что надо знать для размещения сайта и работы с данными?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Надо ли учить PHP и MySQL?

    Считается что PHP/MySQL относятся к "морально устаревшему" стеку технологий (LAMP (lin+apache+mysql+php).
    (Я думаю что знания MySQL полезны. Это лучше чем "никакой" SQL.)

    На смену ему должен был выйти лет 7 назад MEAN (mongo+nodejs+....e.t.c.).
    Мне уже поздно переходить в MEAN. Слишком стар. Но я-бы перешел просто потому что это
    более новый взгляд на старое. Новое - всегда лучше чем старое.

    Учу веб-разработку для фриланса - делать сайты на заказ (знаю, что рынок супер конкурентный). По книжкам выучил JS, HTML, CSS, базовый jquery (*тут могла быть ваша шутка*), к фреймворкам и библиотекам пока не приступал.


    По поводу "размещать сайт". Это вообще не твоя основная цель. Цель - набить руку в системе.
    Для этого тебе не нужно иметь свои хостинги. А нужно просто влиться в систему которая уже
    их делает в режиме конвейера.

    По поводу "выучил по книжкам". Ты не выучил еще ничего. И дело даже
    не в техниках верстки. А ты пока не понял как работает процесс коллективной разработки софта.
    Это сложно. Это интересно и эффективно. И ты будешь эффективнее в команде а не во фрилансе.
    Работа в команде - это не только код. Это согласование ТЗ. Документирование.
    Скрам-процессы. Корпоративная этика и кодекс поведения. Это как лак для дерева.
    Ты - пригож для всех корпораций после этого. А во фрилансе хоть 40 лет просиди.
    Никто характеристики не даст и не впишеться.

    Поэтому лучше пойди в корпорацию. Покрутись несколько лет. Получи своё видение. И потом
    уже во фриланс если будет желание.

    Хочу понять, насколько глубоко надо лезть в бэкэнд

    На этот вопрос сложно ответить. Ты скорее сам почувствуешь. Опять-же после опыта в корпорации.
    Кстати и развиваться можно внутри корпораций вполне себе хорошо. И курсы и тренинги и сертификация.
    ИЧСХ тебе корпорация их и оплатит.
    Ответ написан
    Комментировать
  • Почему падает скорость при скачивание с lux?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если youtube не предоставляет никаких гарантий относительно скорости - то это нормально. Это нормальная политика троттлинга всех "качков". В противном случае инфраструктура youtube упала-бы для всех остальных клиентов которые смотрят видео с браузеров. Ведь расчет средней нагрузки на сети идет как раз из обычных пользователей а не качков.

    Названий у таких алгоритмов много. Троттлинг, шейпинг, rate limiting, leaky bucket (протекающее ведро).
    Ответ написан
    3 комментария
  • Какие структуры данных основаны на хеш-таблицах?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Очень много. Практически все современные NoSQL-in-memory-dbms используют хеш-таблицы в каком-то варианте.

    Хеш-таблицы являются частью механизма буферного кеша (страничного кеша) в дисковых БД. В Oracle, Postgres e.t.c.

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

    Дисковые файловые системы могут использовать хеш-таблицы (в зависимости от настроек). Как хранить списки файлов в директориях. Там кажется выбор есть. Дерево или хеш-табличка.
    Ответ написан
    5 комментариев
  • Как конвертировать байты(шестнадцатеричный код) в string в Python?

    mayton2019
    @mayton2019
    Bigdata Engineer
    В простейшем случае ты можешь сделать такую табличку

    b'\x01' => '01'
    b'\xff' => 'ff'

    Где одному байту будет соотвествовать 2 символа.

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

    Ну и API-ев богатое множество должно быть.

    По поводу твоих экспериментов с utf-8. Там есть запрещенные комбинации байтов. Потому
    не любой рандомный массив байтов обязан преобразовываться в символы.
    Ответ написан
  • Можно ли написать SQL запрос с выражением в WHERE и в SELECT, но без повторения этого выражения и без вложенного SELECT?

    mayton2019
    @mayton2019
    Bigdata Engineer
    В SQL - много таких особенностей. Тоже самое с group by и оконными фунециями. Надо много повторяющихся expressions написать.

    Попробуй еще так написать.

    WITH HT AS (
     SELECT `product_id`, MD5(`value`) AS myhash
      FROM modx_ms2_product_options
      LIMIT 10
    )
    SELECT * FROM HT WHERE `myhash` = 'e59253548ffcb090ecc0cd0944afd27f'
    Ответ написан
    Комментировать
  • Сможет ли Raspberry pi запустить нейронную сеть по определению объектов на камере в реальном времени?

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

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Такое связывание специфично для Java-фреймворков а не для языка С.

    Я-бы предложил обсудить вопросы безопасности. Что будет если пользователь вызовет функцию которую ему нельзя вызывать? Как мы вообще ограничиваем пользователя? Стоит-ли такая гибкость получаемого удобства? Может лучше пойти классическим путем? Перечислить все возможные варианты действий явно и в switch-case обработать?
    Ответ написан
    Комментировать
  • Не запускается Kafka в docker-compose, как починить?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Сравнительно недавно в Кафку завезли новый стандарт кворума на основе Raft-протокола. Это означает что Смотритель зоопарка будет скоро не нужен и его можно будет выкинуть нафик. А все ноды Кафки будут решать кворумные вопросы самостоятельно.
    Ответ написан
    3 комментария
  • Какой тип нейроной сети выбрать для прогнозирования цен на жилье (академическая задача)?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Тут надо сезон "разлохматить" на 4 входа. Обычно НС не работают с текстовым вводом. Поэтому
    будет во входном слое 6 входов типа:
    - area
    - AC
    - isSummer
    - isWinter
    - isSpring
    - isAutumn

    Всем сезонным факторам присваивается нолик на входе кроме текущего сезона.
    Там можно дать единичку. Для признака кондиционера тоже можно брать 1.0 если он есть.

    Дальше можно искать решение в виде например однослойной сети. Я-бы пошел от простого.

    И данных нужно побольше. Чтоб хотя-бы была выборка учебная и контрольная.
    Ответ написан
  • Подойдёт ли мини-ПК на Arduino/Raspberry pi для обучения программированию?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Нормальный Б/У десктоп будет лучше чем все эти Распберри и ардуинки. Я не понимаю чем там автор хочет
    заниматься но эти все просто несерьезно. Любая верстка - предполагает хорошую клавиатуру а работа
    человека за столом - предполагает нормальный монитор. Все эти телевизоры и джойстики и блютус-игровые клавиатуры - дадут вам билет в хронические заболевания глаз, шеи и поясницы.

    Работать нужно засучив рукава а не дурачится.
    Ответ написан
    6 комментариев
  • Как быстро получить случайное слово из файла на 12 ГиБ?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Какая максимальная длина слова? Ну допустим 20 символов.

    Не в курсе насчет питона. Но я-бы убрал фактор плавающей длины. Например я-бы разбил
    этот 12Гб файл на 20 файлов. Допустим в первом будут лежать все слова длиной в 1 символ.
    Во втором 2 символа. И так далее.

    Тогда формула будет такая. Считаем распределение слов по этим 20 файлам. Там гистограмма получается.
    Типа допустим 5% на 8 символьные слова. 8% на 9 символьные и так далее. Выбираем случайный файл
    ну как-бы учитывая "перекос". И потом уже внутри этого файла просто ищем случайное слово. Будет
    быстро потому-что слова уже имеют фиксированную длину.
    Ответ написан
    5 комментариев
  • Можно ли в SQL-запросе использовать перебор значений конкретного поля с разделителем и без него?

    mayton2019
    @mayton2019
    Bigdata Engineer
    В классическом SQL нет возможности работать с массивами и списками внутри одной ячейки. Фактически - это таблица не удовлетворяющая 1НФ и поэтому она не имеет право на жизнь.

    Explode. Да, верно. Функция explode разворачивает строки на 90 градусов и позволяет посмотреть на participantid как на дочерние строки от основной таблицы. Но объем обработки как-бы возрастает и если вы передаете эти развернутые стороки на клиента то соотв. растет размер трафика. И работать с такой опухолью не лучше т.к. уникальность по PK/UK переносится на эксплоднутые атрибуты.

    Как с этим бороться? Никак. Надо переделывать софт.

    Like не работает. Это да. Это - проблема.
    Ответ написан
    3 комментария
  • Что выбрать для подкачки?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Swap может быть полезен для режима Hibernate.

    Сама формула расчета размера свопа была разная для разных объемов оперативки для разных линуксов. Кажется для памяти меньше чем 2Гб рекоммендовалось брать своп хотя-бы в 2 раза больше. Для иного варианта - брать хотя-бы не менее чем размер свопа.
    Ответ написан