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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Blankspace у

    1) тебя все задачи - независимые. Ты можешь запускать 6 отдельных процессов на Python. В таком случае тебе не надо думать о синхронизации потоков.
    2) ты описал задачу максимальной утилизации ресурсов. Это - неверная задача. Это все равно что ты захотел сжечь побольше бензина. Цель - быстрее закончить парсинг N сайтов например используя M proxy серверов.
    3) Твой вопрос
    Сколько максимально я могу парсить сайтов по такой схеме, ориентируясь на мощность процессора

    Ответ - никто не знает. Не существует такой расчетной формулы. Есть скорее сет экспериментов которые ты сам будешь запускать на своей конфигурации и в зависимости от параметров (M,N) и получать результирующее время в секундах или в минутах. Процессорные мощности здесь скорее всего нипричем. Здесь сильнее влияет канал ввода вывода. Тоесть скорость сети и скорость с которой ты сохраняешь на диск разобранные данные.

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

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

    Почитай также про закон Амдала. Он сработает в твоём случае.
    Ответ написан
    Комментировать
  • Как отдать объект без некоторых полей?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Можно сделать базовый класс сущности без пароля. И от него унаследовать все+пароль.
    Дальше - дело техники.
    Ответ написан
    Комментировать
  • Как вывод strace записать в файл?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Попробуй так

    strace -p <pid> 2> file
    Ответ написан
    6 комментариев
  • Стоит ли учить assembler для реверсинга?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Под реверсингом насколько я понял имеется в виду реверс-инжинеринг. Скорее всего - по ситуации. Какими тулами ты пользуешся? Если они выдают достаточно информации - то тогда не надо.

    Но я-бы учил не для реверса а для понимания например железа и архитектуры. Просто это часть стека который мы каждый день используем. Как арифметика в быту. Деньги считаем. Значит знаем.

    Хотя мне кажется что в наше время зарабатывать на реверсе так-же бесполезно как и на трейдинге. Какие-то редкие случайные заказы. Вот на собственной разработке - поднимешь больше всегда.
    Ответ написан
    2 комментария
  • Нужен ли data science этичному хакеру?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Мне удивительно что хакер не умеет сортировать данные. Как же он до этого работал?

    По поводу нужности или не нужности data science. Я думаю что основы этой науки должен знать любой разработчик. По крайней мере понимать как кластеризовать сет данных. Или найти в данных какие-то положительные взаимо-влияния между различными атрибутами данных.
    Ответ написан
    4 комментария
  • Указываются ли комментарии в листинге кода?

    mayton2019
    @mayton2019
    Bigdata Engineer
    К сожалению комметарии всегда не формализованы. И разработчик не являясь техно-писателем не может их написать настолько грамотно чтобы они представляли интерес для заказчика. Поэтому для заказчика пишутся отдельно сопроводительные документы по софту. А комментарии в коде разрабы пишут для самих себя типа "todo: оптимизировать".

    Более того если насильно заставлять разрабов писать комментарии то получается как в той поговорке где заставили дурака богу молится. Будет тонна безсмыслленного текста которая тоже заказчику будет неинтересна. Кроме того у комментариев в коде есть другая беда. Обычно код эволюционирует быстрее и независимее от комментариев. Поэтому часто бывает ситуация когда коммент не соотвествует коду или просто устарел.

    Существуют системы авто-генерации документации типа Javadoc, Doxia, но они не получили распространения как в области техно-писательства именно по причинам которые я описал выше.
    Ответ написан
    Комментировать
  • Как исправить программу для пирамидальной сортировки?

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

    И процедуру хипифай проверь отдельным тестом. Для всех i должен работать инвариант:
    heap[i] >= heap[i*2 + 1]
    heap[i] >= heap[i*2 + 2]
    Ответ написан
    Комментировать
  • Математические операции в значении столбца бд MySQL по умолчанию?

    mayton2019
    @mayton2019
    Bigdata Engineer
    А зачем во всю таблицу прописывать магическую дату которая к тому-же равна какому-то NOW?
    Уж лучше оставить null. Так хотя-бы места в индексах не будет занимать. Да и вообще.. null в базах несет особый смысл.

    Вобщем создатели диалекта MySQL были по своему мудры и не дали возможности ленивому разработчику просто так мусорить в таблицах.
    Ответ написан
  • Docker vs Bare Metal — сравнение производительности?

    mayton2019
    @mayton2019
    Bigdata Engineer
    При разработке docker не ставились задачи - догнать bare-metal. Главная задача - виртуализация и оркестрация.
    Если у вас нет таких задач то возможно и docker вам просто не нужен. Ставьте софт на железо и
    не будет таких вопросов.
    Ответ написан
    5 комментариев
  • Как скачать файл скрипта с сайта?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если разрешать качать back-скрипты - то это был-бы взлом всех веб-ресурсов.
    Ответ написан
    Комментировать
  • Как проверить в регулярном выражение ip адрес на java?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Мне кажется что если не решать эту задачу только регулярками а сделать такое.
    - проверить что строка состоит из 4х чисел разделенным точками
    - проверить что каждое число в диапазоне [2..255] (проверять уже как Integer)
    то тогда функция проверки будет простая и наглядная. Это для кейса 10.80.212.195.

    Для масок подсети и IPBlocks единая функция проверки все равно безсмысленна - ведь на следующем уровне API
    нам надо различать классы { IP, IP+Mask, IPBLock } и нам выгодно сделать 3 функции-предиката. Тем более что классы результата различны.
    Ответ написан
  • Жизненный цикл Go?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Обычно на Go пишут микросервисы. А они не должны умирать. Как раз совсем наоборот должны работать очень долго.
    Ответ написан
  • Как подключить hibernate к моему jar приложению?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    1. Без кода - непонятно. Без стектрейса непонятна ошибка. С чем вообще воюем.
    2. Загляни внутрь jar-ника. Там должны быть в полном составе все зависимости (в том числе и транзитивные).
    3. Начинай читать книгу Hibernate In Action.
    Ответ написан
  • Можете покритиковать мой код?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Мда. Любители крестов - мозохисты. Я-бы так написал.

    using namespace std;
    
    cout << "-Меню-\n";

    Лаконично?

    И зачем вам такой перевод строки?
    Что, хотите под DOS и Mac сразу писать? Готов спорить что не грозит.

    А это что?
    LogPassword == Password
    Пароли так никто не проверяет. Есть функция которая сверяет хеши паролей. Потому что их не хранят никогда.
    В базе тоже их не хранят.

    А это что?
    std::ofstream Data("Data.txt");
    Всё пишем в один файл? Всех пользователей? И файл переписывается?
    Ответ написан
    6 комментариев
  • Как удалить содержимое C:\Users со всех компьютеров в домене?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Зачем все фолдеры удалять? Там-же вроде как есть каталог Администратор. Будете логонится десктопом - он вам пригодися. Что там еще... Default User. Это формочка для печенья. Чтоб новых создавать.
    Ответ написан
    Комментировать
  • Есть ли открытое API c мифологией?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Есть публичный API для английской википедии. В виде семантической сети (RDF/SparkQL).
    Можно начать с него искать. И там уже сделать свой API.
    Ответ написан
    Комментировать
  • Как в Golang проверить вхождение строки в строку, но слово целиком?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Тут - совокупность проверок
    1) strings.Contains - даст положительный результат
    2) по бокам от найденного Contains должны стоять не-алфавитные символы.

    P.S. Это можно делать регулярками но я-бы предложил мой метод. Он кажется легче в понимании.
    Ответ написан
    Комментировать
  • Схема деплоя "локальный Git" -> GitHub -> "Git на VPS" - годная ли? Как именно в нее включить Stage-окружение?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Разделение на локальный Git и Github здесь вообще не в тему т.к. оно не добавляет никакой информации.
    Такая-же схема будет у любого разработчика который работает в команде.

    По поводу разделения на DEV/QA/Stage/PROD.... e.t.c.

    Эта схема уже создана. Она называется GitLab или GitFlow я уже не помню. Вобщем каждый env имеет свою ось разработки (бранч) и в процессе CI/CD теги или бранчи просто двигаются слева направо по этим осям. Всё остальное делается триггерами на CI/CD.
    Ответ написан
    1 комментарий
  • Где найти бесплатные курсы по data analytics?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Насчет data anlytics не скажу. Но вот на https://databricks.com/ я находил бесплатные курсы по инжерении bigdata. Если повезет - там еще акции всякие прилетают.
    Ответ написан
    Комментировать