Задать вопрос
  • Имеется текстовый файл, содержащий 54 тысячи строк. Как удалить из него каждую четную строку?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Ну есть лучше подход. Допустим у тебя 54 тыщи строк и ты хочешь получить 5.4 тыщ. Тоесть тебе
    надо грубо говоря удалить 9 строк и десятую оставить.

    Для меня это задача - на программирование. И я честно говоря не знаю как ее решать в текстовом
    редакторе. Не если ты будешь брать хеш-функцию от каждой строки и брать от нее по модулю 10
    то как раз на выходе выйдет что всте остатки от 0 до 8 можно вышвырнуть а остаток 9 - взять.
    И таким образом будет фильтрация с понятным коэффициентом.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Не отрезолвился потому что ближайший DNS выдал чепуху.
    Попробуй вручную понаблюдать что отдает DNS по данному хосту
    через утилиты nslookup, dig e.t.c.
    Ответ написан
    Комментировать
  • Возможно ли сделать нейросеть, предсказывающую рост и падение криптовалюты?

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

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вот эту штуку еще можно посмотреть https://www.acdsee.com в качестве конвертера.

    Мда. bmp - это "толстяк" в мире графических форматов. Попробуй пересохрани в формате png. Станет чуть лучше.
    Ответ написан
  • Как фильтровать нецензурную лексику в telegram боте?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Опыт модерирования форумов рунета подсказывает что это все бесполезно.
    В русском языке очень много способом ругаться завуалированно. Посылать стихотворные формы.
    Метафоры. Можно печатать через пробел. Заменять кириллицу на похожие по начертанию
    Unicode символы. Печатать псевдографикой.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Непонятна проблема. Ты пишешь
    а есть такие по которым точно нельзя


    Ну если нельзя точно - тогда делай нечетко. Ввведи метрику близости. Пускай это будет дистанция
    по Левенштейну или по bi-gram, tri-gram. И раскладывай книжки по дистанции.

    Вообще я-бы ввел рубрику "Прочее" и спокойно бы туда положил весь остаток.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Можно в базе завести табличку типа properties и хранить там эту переменную.
    Судя по внешнему виду это счетчик событий. Вот пускай там и считает.

    Делать это переменной application неудобно потому что приложение может рестартовать.
    Из-за балансера, подниматься в двух экземплярах или перегружаться. Вот. А база
    в этом мире это некая... ну констатна чтоли.
    Ответ написан
    Комментировать
  • Почему проект ruby on rails создаётся только в конкретной папке?

    mayton2019
    @mayton2019
    Bigdata Engineer
    В ruby все нормально работает. Я только что попробовал

    $ rails new blog

    Все нормально! Полет проходит нормально. Гарантия.
    Ответ написан
    Комментировать
  • Server 2019 на стационарный пк. возможно ли это?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Обычный декстоп не расчитан на круглосуточную эксплуатацию. Если серверам вы делали
    профилактику раз в квартал - то здесь надо будет пылесосить каждый месяц (вместо 8 часов - 24 часа
    эксплуатации). Пыль, выбрации и температура это все факторы которые ушатывают любое железо.
    Поэтому этот псевдо-сервер может стать вашей головной болью. И именно потому что сервер - это
    не операционка а это роль этого ПК в сети. К серверам - всегда пристальное внимание и требования.

    Вы в пятницу вечером запустили важный джоб. И ушли на выходные. А потом зашла уборщица
    и так яростно шуровала тряпкой что выдернула все шнуры. Был сервер - и вышел весь. И стоять
    он должен не у вас под столом. А в особом помещении.

    В наше время есть глобальный тренд на вынос серверов в облаки. Я его обычно не поддерживаю.
    Считаю что предприятие вполне может держать серверную. Но если вы пошли таким путем - то
    вам реально лучше оплатить нечто в облаке.
    Ответ написан
  • Как начать учить программированию детей начальной школы?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Поищите книги Scratch Programming. Там был язык какой-то и среда для детей.
    Ответ написан
    1 комментарий
  • Почему в С++ не работают 2 цикла for?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Ты наверное новичек?

    Переменную не рекомендуется дважды использовать в разных ролях в одном блоке кода.
    Ты-же не в ассемблере пишешь? Верно? Зачем тебе эта экономия. Создание новой переменной -
    безопаснее и надежнее. Хороший компиллятор уже сам разебертся где оптимизировать а ты
    - просто напиши чортов правильный код.

    И не забывай инициализировать. И не забывай про scopes.

    for(int i = 0; i < n; i++) {...}

    Иногда профессионалы могут использовать переменную дважды для достижения какой-то другой
    цели. Тут надо смотреть use-case.

    Но Quod licet Iovi, non licet bovi. Тебе пока не позволено. Научись сначала просто
    писать код без ошибок а потом уже делай трюки.
    Ответ написан
    2 комментария
  • Кормен или Кнут?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Кнут описывает много устаревшего материала. Большую часть из этого никогда не спросят на собеседованиях.
    Поэтому цена вопроса - к чему готовиться. Если с собеседованию то тут Кнут вообще не помошник.
    Он удивительно многословен и нуден. Кроме того если хотите читать код - то Кнут пишет его для своей
    виртуалки с очень "странной" системой регистров и с накопителями (!) ленточного типа.
    Трехтомник очень академичен и красиво смотрится на полке. Для меня Кнут будет чтивом для "долгих
    зимних вечеров". Когда некуда торопиться.

    Насчет Кормена - ничего не могу сказать. Купил но еще не читал. Судя по содержанию
    - очень солидная вешь. В качестве описателей алгоритмов там кажется используется алгоритмический
    язык на английском. Не всем такое заходит. Не всем понятно.

    Есть двухтомник Седжвика. Мне он кажется более практичным. У него есть издания для C/C++/Java
    с примерами. Там 1-й том - базовые алгоритмы на коллекциях и 2-й том - алгоритмы на графах.

    Есть Вирт - Алгоритмы. Достаточно сжато описан базис. Примеры - на Pascal.

    Есть Бхаргава - Грокаем Алгоримы. Все хвалят за практичность и примеры. Но я еще не читал.
    Ответ написан
    9 комментариев
  • Смысл в JWT, если любой его может распарсить?

    mayton2019
    @mayton2019
    Bigdata Engineer
    JWT токен содержит внутри своего тела digital signature или HMAC (я не помню точно что из них)
    и это позволяет серверу очень быстро проверить валидность токена. Подпись закрепляет
    все параметры токена в том числе дату валидности.

    То-есть сценарий фальсификации, который ты придумал скорее всего не сработает. Атакующий
    должен иметь ключи для шифровки "шмяком" или ключи для подписи.
    Ответ написан
    Комментировать
  • Как отобразить байт в двоичном виде?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Программист С++ должен уметь работать с битами. Сдвигать влево-вправо. Делать булевы операции.
    Тем более что ты там сериал-порты собрался крутить.

    Вот сам алгорим
    https://stackoverflow.com/questions/111928/is-ther...

    От него уже можно и форматировать массив и перегружать "птичку влево".

    Qt - хорошее корбочное решение. Но твой вопрос должен был пойти не от Qt.
    Ответ написан
    Комментировать
  • Как быстро записать на диск в одном потоке?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я могу распараллелить процесс на несколько файлов

    Разпараллеливание записи на несколько файлов не имеет смысла для обычных десктопных дисков.
    Это только в серверных системах хранения где RAID - такая оптимизация имела-бы смысл.

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

    Можно еще посмотреть какие возможности в Rust есть в части асинхронного I/O но я здесь не специалист
    в расте насколько глубоко чтоб знать где это и как называется.
    Ответ написан
  • Как установить Python 3.9.6 на Ubuntu 20.04 LTS?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Для установки специфичных версий Python можно использовать conda https://docs.conda.io/en/latest/
    Это удобно особенно, для понижения версий софта. И вообще можно иметь бесконечное
    число конфигураций Питона под разный софт.
    Ответ написан
    Комментировать
  • Как нарисовать кривую Серпинского (см. ниже), не используя графические библиотеки, а '*' или слешы?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Самый простой путь - рисовать эту картинку внутри матрицы (растр).
    А потом перевести элементы этой матрицы в псевдографику https://en.wikipedia.org/wiki/Box-drawing_character

    Но я тебе это не советую, потому что выглядит как сильно грубое разрешение.

    Рисование слешами или зведочками возможно. Но это ASCII art. Иногда выглядит красиво
    а иногда вообще нечитабельно.
    Ответ написан
    4 комментария
  • Как влияют инфракрасные обогреватели на ПК и оргтехнику?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Эти обогреватели греют в прямом направлении освещения. Тоесть если у вас техника стоит допустим
    под столом (системники) то ничего они не почувствуют.

    Вообще UFO обогреватели это очень временное решение и их ставят чтоб согреть людям спины.
    Ставить их стационарно в офис нет смысла. Маслянные оборгеватели будут эффективнее.
    Ответ написан
    2 комментария
  • Решил сделать свой пет-проект - игру, с использованием вебсоккетов, как лучше организовать неткод?

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

    Можно на сервер передавать твои клавиатурные нажатия. С высоким приоритетом. Сервер будет интерполировать
    и создавать свою модель мира попутно проверяя тебя чтоб ты там не сильно телепортировался далеко.

    И все игроки тоже должны получать координаты всех. Как-бы рассылкой.

    Кстати подумай над UDP. Понятное дело что в рамках websocket у тебя диапазон возможностей будет
    ограничен тем что дано. Но мне кажется что производительный игровой сервак должен делать TCP
    как-бы обязательной частью протокола. И далее если клиент поддерживает (провайдер пускает)
    то можно договориться (negotiation) на уровне софта о дополнительной рассылке по UDP каких
    то не шибко важных событий игрового мира.
    Ответ написан
    2 комментария
  • Почему после ассемблера учить Си легче?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Есть две трудности с которыми сталкиваются студенты изучая С. Это адресная арифметика и работа со строками.
    Эти две темы зайдут легко если вы до этого уже знали Ассемблер.

    Но мне в общем кажется странным такая хронология изучения. Какой ВУЗ такое дает? Если вы до этого
    случайно знали Ассемблер - то это удивительный и исключительный факт. Насколько я знаю даже
    безопасники и системотехники не очень изучают asm. Я-бы сказал факультативно.
    Ответ написан
    Комментировать