Задать вопрос
  • Error: unmappable character for encoding Cp1251 как исправить?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    У тебя где-то идет преобразование из Unicode символов в символы кодировки cp1251 (только латиница и кириллица) и если попадается символ который ни то и не другое - то кодировщик не может его преобразовать. Решение - найти в конфигурации где у тебя идет использование cp1251 и заменить его на utf-8 или utf-16.
    Ответ написан
    Комментировать
  • Как сделать вывод цветного текста в txt файл?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Линукс-консоли поддерживают цветовые коды при выводе текста на экран.
    Этим иногда пользуются для дизайна command-line утилит.
    Вот как-то так.
    LRED='\033[1;31m'
    echo "$LRED 2023-01-01 [Error] Server is down"
    Но то что будет получено в результате - уже не текстовый файл.

    Насчет windows - не знаю. Там может как-то под другому с консолью надо работать.
    Ответ написан
    Комментировать
  • Как увеличить FPS в системе?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Для копирования из временного буффера в видимый, я использовал инструкцию rep movsd, хоть и знаю, что до i286 включительно такой инструкции нет. Вопрос: как повысить число кадров в секунду?

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

    Найди себе сверх-точные часы которые меряют наносекунды (ты-же ассемблерщик?) Померяй сколько занимает rep movsd. Меряй не один раз а хотя-б много итераций и бери среднее. Может быть не в этом твоя проблема с fps, а где-то в другом коде.
    Ответ написан
  • Есть ли сайты с задачами по с++, по типу лит код, только на русском?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Есть ли сайты с задачами по с++, по типу лит код, только на русском?

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

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Не знаю что такое Р8 или прокторинг. Наверное какие-то геймерские термины.

    Но задача пока выглядит невыполнимой. Или я-бы сказал недостаточно обсуждённой. Как идет демонстрация экрана? Zoom? Skype? Teams? Remote Desktop? Софта много. Часть этого софт транслируют имеено картинку. То что видит пользователь. Часть - может транслировать команды GDI. Это другой уровень зрения.

    Python здесь тоже пока непричем. Тоесть он пока выглядит 5-м колесом в телеге. Уж если кодить на Win32API
    то в первую очередь на С++. Там - структуры данных специфичные. А для Питона нужно делать какую-то адаптацию. Короче втопку питон.
    Ответ написан
    4 комментария
  • Почему мощность колонок указывают в Ваттах если единица громкости - Децибелл? Можете осветить это в контексте чувствительности колонки?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Да. Обычно на корпусе указывают именно электрическую мощность. Как у чайника. Но там нужно смотреть внимательно какая имеется в виду. По ГОСТ обычно указывают среднюю действующую. По иностранным стандартам могут указывать пиковую. Тоесть дейсвтующую несколько милисекунд на максимуме. Этим часто злоупотребляют. Например мои старые колонки Радиотехника С 90 при сопротивлении 8 ОМ были что-то вроде 20Вт. А некоторые китайские бум-боксы пишут и по 900Вт на корпусе. Но тут и ежу понятно что я могу свести с ума соседей одним звуком напольных деревянных колонок а китайский бубмокс-вряд-ли.

    Сопоставить громкость слышимого звука и электрическую - сложнее. Например наушники вставленные в уши могут звучать субъективно сильнее чем колонки на рок-концерте. Честно я этим вопросом даже не сильно интересовался. Да и еще наблюдение - стерео-колонки не складывают своё звуковое давление в сумму. Тоесть закон арифметики может не работать.
    Ответ написан
    3 комментария
  • Может кто нибудь подсказать в чем ошибка(nasm)?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вот такие варианты бывают под win:
    win32     Microsoft Win32 (i386) object files
    win64     Microsoft Win64 (x86-64) object files
    Ответ написан
    2 комментария
  • Можно ли использовать 1 vps сервер для нескольких задач (vpn + хостинг)?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если зобанят по причине VPS то и все сайты попадут под бан. И наоборот. А так... да раскатывайте хоть сотни задач на одном хосте.
    Ответ написан
    Комментировать
  • Как сделать трансляцию экрана через сокеты в C#?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вот. Не благодари

    private void SendScreenshot(Socker handler) {
     ....
    }

    и handler не закрывай.
    Ответ написан
    Комментировать
  • Как реализовать параллельные вычисления в Pandas с разными DF без последующего сведения?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Поскольку на вопрос никто не писал ответа - я напишу вариант.

    Это не совсем ответ. Это скорее список сомнений.

    Дело в том что BigData в принципе не работает онлайн. Тоесть нельзя запускать анализ в ответ на мышко-клик пользователя и ожидать что это будет меньше 2.5 секунд. Таких задач никто не ставит. Если хотят чтоб пользователь что-то быстро получал - то готовят DataMart, OLAP-cube, или некий Gold (золотой) уровень материализовнных таблиц в парадигме lakehouse. Тоесть грубо говоря готовят данные к выдаче. Что только взять по ключу и показать. И на этом уровне обычно не ставят parquet а берут CosmosDb+Redis (key-value) чтоб браузер не ждал долго. Никаких агрегаций здесь быть не должно.

    Как подготавливать эти уровни серебрянного или золотого представления данных - это отдельная задача. Есть микро-батчи или стриминг но в общем и целом нельзя делать в ответ на действие пользователя. Это делает pipeliene.

    Второе. Как уже верно было подмечено "Сервер 4 ядра, 16 гб оперативки" - это не конфигурация для Spark. Это просто какой-то сервак. Spark - это кластерная система и он имеет преимущества при работе в "импульсном
    режиме в кластере" но ей нужен пул рабочих машин (хотя-бы штук 4-8) и файловая система наподобие hdfs или ее более современные вариации (s3/msBlobStorage). Это очень важно. Иначе не будет скейлится I/O.

    Третье. Паркет (parquet) вообще имеет сильные преимущества когда вы выбираете 45 столбцов из 4500. В этом случае дисковая оптимизация сработает лучше чем у реляционных систем и выберет ровно столько IOPS сколько надо для публикации именно 45 столбцов. В остальных случаях паркет только фейлит и лучше вам брать AVRO например или реляционные БД.

    Четвертое. Партишенинг. Очень часто бизнес запрашивает данные которые физически можно консолидировать по партишенам. Тоесть если ваш parquet-файл разрезать на периоды и допустим продукты то мы получим следующую физическую структуру файлов:
    sales/year=2022/product=001/part-00000-a11a0ce2-ea20-4897-a713-130a6538cd9a-c000.snappy.parquet
    sales/year=2022/product=002/part-00000-a11a0ce2-ea20-4897-a713-130a6538cd9a-c000.snappy.parquet
    ...
    sales/year=2023/product=500/part-00000-a11a0ce2-ea20-4897-a713-130a6538cd9a-c000.snappy.parquet

    Эту структуру я придумал с головы. Но у вас есть много вариантов как комбинировать продукты-менеджеры-заказчики-отчетные-периоды.

    И есть предположение что в таком случае операции агрегации пройдут быстрее за счет естесвтенного физического партишеннга. (Это я говорю для Spark. Для его оптимизатора. Как будет в Panadas я не знаю.)
    С точки зрения Spark - структура файлов в таком формате рассматривается как партицированная табличка в оракле. При этом надо конечно помнить основные правила HDFS и биг-дата. Никаких мелких файлов! Вы должны расчитывать в 128Мб как в самую мелкую единицу I/O.

    Пятое. Я это не использовал. Но посмотрите в направление библиотеки Apache Arrow. Она имеет сильные оптимизации для векторной алгебры и знает в лицо parquet. Если вы все-таки хотите оставаться в той парадигме выдачи запросов Python/Django/Pandas - то исследуйте как arrow может ускорить ваши операции агрегаций. Только вам возможно придется отказаться от Pandas-DataFrame API а использовать что-то низкоуровневое типа С++ для векторизовнного API.

    Как видите - векторов развитя много. Думайте.

    UPD:
    Ответ написан
    Комментировать
  • Где найти материалы по обнаружению патологии в мед.изображении на языке C#?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Задача распознавания образов (а именно так звучит на самом деле постановка) имеет очень мало отношения к C#.
    Я-бы советовал автору вообще забыть про C# а искать сверточные (convolution) нейронные сети которые ищут в картинках нечто знакомое на любых (на всех языках разработки). Когда стоит такая амбициозная задача - то нужно вообще забыть про язык и мыслить категориями математики и известрых алгоритмов НС.

    Задача сразу скажу - сложная. И на 99% - кастомизируемая. Тоесть вы не найдете готовых шаблонов или походов к решению. Вы будете почти все делать самостоятельно. Особенно в части обучающей выборки и методики обучения. И в части выбора качества модели.

    С высокой вероятностью вы найдете примеры похожих решений на Python/OpenCV.- Ваша задача будет заключаться в поиске полезного что можно почерпнуть из готового метода. И уже потом адаптировать под C# что можно из этого стека. Но опять-же ... C# здесь совершенно вторичен.
    Ответ написан
    1 комментарий
  • Можно ли заставить нейросеть заставить избегать определенных состояний?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Нейросеть - это функция с множеством входов и множеством выходов.

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

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

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Все разработчики раз в жизни сталкиваются с календарными расчетами. И прежде чем решать что делать с 31 января - задайте себе вопрос - а что за дата будет опубликована? Дата сервера? Дата клиента? Это могут быть разные даты. Вспомним что люди живут в разных часовых поясах.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Технически, выгодно установить redis или memcached и класть данные туда и запрашивать оттуда с указанием времени жизни для каждой записи (expiration = 10800 seconds)
    $ redis-cli ......
    set key ${city_id} ...... ex 10800
    Ответ написан
    1 комментарий
  • Как реализовать нейросеть с неограниченным количеством входных данных?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я-бы не хотел быть медведем который оказывает медвежьи услуги. Но индексирование например
    текстовых документов в некоторых системах текстового поиска - предполагает хеширование токенов.
    Там 18-20 битный хеш. И ограниченное число токенов в индексе документа изначально. Но это не мешает
    системам текстового поиска нормально работать. Погрешность есть - но небольшая. Особенно
    когда вы указываете 2-3 токена для поиска и результат поиска можно еще фильтрануть.

    Вот. Это была лирика.

    Но что-то мне подсказывает что техническое задание недостаточно проработано. Я объясню свою
    мысль. До обучения выборка должна быть разделена на две части. Обучающую. И контрольную.
    И на этом этапе можно сделать подсчет фичей.

    Это - требование. Иначе как ты сделаешь контрольную проверку что твоя модель - добротная
    и заходит в критерии приёмки?

    Вообще нейросеть это пока не система реального времени. Поэтому не надо требовать от нее мгновенных
    ответов пока она еще находится в процессе обучения. И не надо ставить задания типа сделайте
    мне "хоть какую угодно НС" которая на выходе выдает "ЧТО угодно".
    Ответ написан
  • Переквалификация из админа в программисты?

    mayton2019
    @mayton2019
    Bigdata Engineer
    1. Какой шанс попасть на Джуна в 35? (это с расчётом что мне год-два учиться) Если шансы небольшие, то как обстоят дела с фрилансом, есть смысл?
    2. За сколько примерно времени можно обучиться до уровня Junior, если я буду тратить по 20 часов в неделю? Или этого совсем мало?
    3. Что выбрать - Frontend или Backend? Какие специалисты более востребованы и кому легче найти работу? Насколько важно знание математики в backend'е?

    По поводу шансов. Если ты был на производстве и уже писал вспомогательные скрипты на Python и они работали - то у тебя даже больше шансов чем у выпускника школ или курсов. По крайней мере надо подумать как улучшить твоё резюме чтобы оно смотрелось как резюме дев-опса. У тебя есть опыт. А это - самый сильный аргумент при собеседовании. По крайней мере тебе надо рассказать чем ты занимался и описать пару кейсов-проблем где ты участвовал и как фиксил.

    Сколько времени обучаться - я не знаю. Тут может от 1 месяца до нескольких лет. Я-бы не стал делать какие-то ставки на время обучения. Тут важет факт захода в новую должность. Подучишся параллельно. Мы все учимся задним числом. Тоесть заходим на проект почти нулями и догоняем в процессе. Это нормально. Когда забегает менеджер и спрашивает - "так кто знает Scala/Hadoop" - я поднимаю руку хотя я ее нихрена не знаю в полом объеме но у меня есть в себе ожидания того что я могу быстро догнать те пункты которых еще не хватает.

    Кстати друг рассказывал. Аналогичная ситуация в гейм-деве. Никто не спрашивает 100% объема знаний фичей С++. Это реально сложно знать все. Зато интересуются например знаешь ли Unreal Engine. И второе в данном кейме перевешивает первое. Тоеть знания языка были вторичны.

    Что выбрать - Frontend или Backend. Честно скажу что мне бекенд интереснее. Там - много ресурсов. Как говорил мой шеф - процессорА-винчестерА-стриммерА. Там - можно широко применять знания алгоритмов и структур данных и эти знания сцуко РАБОТАЮТ. Во фронтенде - нужно в первую очередь знать как работают современные стандарты верстки и знать JS. Лично меня разработка на современном фронте вгоняет в депрессию. Эта чехарда фреймворков .. эти React/Angular/Vue и все постоянно меняется. Ты пытаешся зацепиться за какую-то концепцию или занния ... но сами фронтовики эти знания разваливают и переключаются на что-то новое каждые 2-3 года. Вобщем упаси бог от таких революций. Мне фронт был понятен лет 20 назад когда это был html+css+js и в том виде как его делают сейчас сложно все знания собрать и систематизировать.

    По поводу математики. В большинстве проектов (8 из 10) ябы сказал что тебе хватит школьной математики. Никто звезд с неба не хватает и большая часть приложений электронной коммерции использует 4 математические операции и расчет процентов. Я лично знаю десяток синьоров-помидоров которые даже и не помнят что такое синус или среднее квадратическое отклонение ряда, но нормально себя чувсвтуют и зарабатывают. Вобщем финансовая арифметика базируется на очень простой математике. Если что-то и будет сложнее - то оно как правило завернуто в коробочку фреймворка или либы. Вот сейчас даже ML с нейросетями продают как библиотеки к python и я готов спорить на виски что мамкины-питонщики даже понятия не имеют как оно работает под капотом. Когда я учился мы изучали что такое многслойная НС и как она учится а когда курсы готовят МЛ-ликов - они дают им просто коробочные названия технологий и дают сами коробочки.

    Есть ли смысл начать с фронта, и далее по ходу дела учить бекенд? Однозначно да.
    Ответ написан
    1 комментарий
  • Как обойти ошибку печати линукс минт?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Нужно дейстовать как делают сисадмины. Собрать сначала все сведенья. Что за линукс? Минт - это просто маркетинговое название. Для фикса проблемы - ничего пока нет. Нужна модель-версия ядра с точностью до билдов (uname -a). Потом обновить всё. Вообще всё. (apt update && apt upgrade). Потом посмотреть версию модель принтера и версию дров принтера (lp, lpadmin, lpstat). Вот иди по ключевым словам в гугл и копай.

    С подшивкой всей этой информации сюда приходи.

    P.S. На командный пункт меня доставьте...
    Ответ написан
    Комментировать
  • Как поменять 2 функции в один класс?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Есть две функции и класс сервис. Для упращения функцию сервиса буду называть ФС. Так вот обе функции одинаковые до момента использования ФС в функциях. Как быть в таком случае? Делать абстрактный класс и абстрактную функцию, где будет вынесен общий алгоритм. А в абстрактной функции сделать вызов функции. Это нормальная идея или нет?

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

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

    Иначе получается битва телепатов. Мы тут мним твой исходник каждый в своём языке.
    Ответ написан
    Комментировать
  • Как превратить подстроку вида "min ( a, b )" в "a min b"?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Поскольку случай - очень простой, то он решается шаблоном. Но если вместо а или б может быть
    тоже выражение - тогда нужно определять свою грамматику. Например:
    min ( min(a,b) , min (c,d) )
    Тогда умные дядьки-теоретики берут язык описания грамматик. EBNF типа. И пытаются
    свой новояз описать в терминах например EBNF https://en.wikipedia.org/wiki/Extended_Backus%E2%8...
    Описывают что такое число. Какое оно. Отрицательное? Вещественное? Экспоентциальное?
    Короче надо описать вообще все что может быть. Описывают функцию минимума.
    Потом по этой грамматике создают парсер. Программно. И парсер на выходе выдает
    дерево. Где корень - это вся грамматика а на листиках будут висеть числа. Или терминалки не помню
    как они это называют. И вот когда ты уже получил это чортово дерево - можно ПРИСТУПАТЬ ко второй
    части задачи - а именно к транформации в инфиксную форму. Но ты сначала реализуй хотя-бы первую
    часть.

    Это все теория и она требует погружения. Я думаю что эта задача и ей подобные в частных случаях
    решаются проще. Если например твой язык поддерживает регулярки - то перечисли макс. число
    вариантов что будут на входе и выбери через матчинг подходящий. Это - быстрее.
    Ответ написан
    Комментировать
  • Почему падает no such column?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Эта команда - опциональная.
    CREATE TABLE IF NOT EXISTS users
    тоесть она могла и не выполнятся. А если она не выполнялась - то очевидно что существует другая таблица users.

    Давайте смотреть что в этой другой таблице. Автор неужели ты не мог логгирование добавить? Этож просто. Хоть бы знали работал ddl или нет.
    Ответ написан
    Комментировать