Задать вопрос
  • При парсинге манги с сайта на определённой фотографии запрос зависает, что делать?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вот тут пишут как поставить таймаут. По дефолту может быть 30 секунд стоит а ты сделай 3 или 5 секунд

    https://stackoverflow.com/questions/21965484/timeo...
    Ответ написан
    Комментировать
  • Forth-процессоры программируются на Форт?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Прошу прощения за внезапный UP.

    Но мне задали вопрос про Forth. Я увлекся и тут меня (Остапа) понесло.
    Вобщем я начал читать и листать всякую инфу по форту. Первое впечатление - полный бардак
    в стандартах. Нет никакого общего понимания что такое вообще язык Форт. По крайней
    мере я для себя понял что форт - это просто набор слов (words) каждое из которых либо число
    либо слово которое вызывает вычисления. Больше реально ничего не регламентировано.
    И я так понимаю что Форт-еров это вообще не парит. Они такие себе либеральные оптимисты.
    Судя по конференциям средний возраст Форт-иста - далеко за 70 лет. Дедушки с бородами...

    По поводу компиллятора и транслятора. Ничего пока непонятно. Целевая платформа
    - не всегда x86 а всякое редкое железо. И тренироваться могу пока на GForth который
    кое-как работает но не хватает слов. И YForth который крашится в segfault сразу
    на моем Linux x64. Остальные я пока не пробовал.

    Сам внешний вид кода у меня вызвает немой восторг как когда-то вызывал Common-Lisp.
    Это пожалуй редкое чувство я не испытывал давно. И при всем при этом я не нашел
    совершенно никакого практического применнеия. Так. Просто забавная мозговая идея
    которую приятно думать на сон грядущий.

    На главный вопрос автора - и я ответить не могу. Не знаю является или нет. И я не знаю является
    ли он вообще ЯЗЫКОМ. МОжет он как Lisp - просто идея. Он просто настолько широк что
    определение языка его сужает.

    Надеюсь я никого не отвлек своим спичем от важных дел.
    Ответ написан
    2 комментария
  • Если нарушитель может записать команду в поле таблицы SQL, означает ли это что он всегда сможет ее выполнить?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Ты правильно тегировал тему с SQL-Injection. Но ее наличие надо доказать.
    Например - взять и вставить какой-то код в ячейку и попробовать воспроизвести.
    Одних страхов - недостаточно.
    Ответ написан
  • Возможно ли логивать изменения файлов через sftp?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я видел пакет iwatch. Кажется пытался где-то его применить. Он слушает слишком много событий. Там буквально каждый чих в файловую систему будь то просмотр директорий или атрибутов вызывает шквал событий и их надо грамотно буферизировать и фильтровать.

    В идеале вы должны поставить свой ФТП-root под версионный контроль. Например под git. И делать чисто технический коммит на каждое событие изменения файла.

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

    И кому нужна такая бестолковая история изменений где файлы постоянно битые. Вобщем такие вот мысли.
    Может я ошибаюсь.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Ну если вы занимаетесь застройками по всей стране - то тогда и делайте карту страны. Зачем вам Африка или Антарктида. Товарищ выше верно пишет - что гео-фотки это самые ресусоемкие. И никто их не хранит одной картинкой. Да и GoogleMap тоже использует структуры наподобие QuadTree чтобы просто их отрисовать. И это нормально.
    Ответ написан
  • Возможно ли массово перенести из локальной группы в домен?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Можно разослать всем письмо о плановых затаскиваниях в домен. Дескыть всем явится с десктопом в час Х в админскую комнату. По плану. По 5 человек в день. А кто не явился - закрыть им доступ к сети по мак-адресу. Прибегут потом.
    Ответ написан
    Комментировать
  • Как сделать проверку базы данных, на наличие новых записей?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Обычно такие системы строят не на основе БД а на основе системы сообщений (messageMQ). Это - более современный и рациональный подход. Не бот долбит БД а MQ уведомляет бота о каком-то событии.
    Ответ написан
    7 комментариев
  • Как сохранить объект на весь срок жизни приложения?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Безотносительно фреймворков. В любом приложении есть точка входа. Enty point. Или еще ее называет main - функция. Вот добавь туда конструирование объекта объекта и все.
    Ответ написан
    Комментировать
  • Что лучше, по одной или несколько записей при INSERT?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Имеется система логов, которая довольно часто вызывается, при пиковых значениях достигает до 30-40 записей в секунду. Использую engine ARCHIVE, сервер MariaDB, подключение по unix сокету.

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

    Смотри. Писание логов в Марию - это как по мне лишнее. Оверинжинеринг. В наше время логи собирают logstash-ем и пишут в Кибану. Там для каждого формата есть свой парсер. Для Ninx, Apache e.t.c.

    Если тебе прям сильно-сильно надо писать логи в реляционную систему (очевидно что-то джойнить с логами) - то пиши максимально большой пачкой. Хоть 1000 штук. Сколько позволяет размер фрейма в этом unix socket. (Кстати какой он там?) А чорт его знает. Но.... если ты записал 999 записей а последняя еще не пришла, а тебе срочно нужно глядеть в базу - тогда делай периодически сброс по времени. Например через 3 секунды от начала пачки ты будешь делать insert независимо от того сколько строк накопил.

    Вот так.
    Ответ написан
    Комментировать
  • Есть способ с помощью Mysqli одним махом засунуть JSON в базу?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Варианты. Можно преобразовать JSON в JSON-Lines (где каждая строчка - это независимый JSON документ представляющий строку таблицы).

    Потом загрузить это в spark dataframe
    Using Scala version 2.12.15 (OpenJDK 64-Bit Server VM, Java 11.0.17)
    Type in expressions to have them evaluated.
    Type :help for more information.
    
    scala> val df1 = spark.read.json("/tmp/emp.json")
    df1: org.apache.spark.sql.DataFrame = [_corrupt_record: string]

    И имея фрейм либо сохранить в CSV либо подключить драйвер JDBC записать прямо в базу.

    Еще во фреймворке Pandas есть опции загрузки из JSON. Но я сам не спец в пандасе поэтому
    точно как сделать не скажу.

    Вот. Еще я помню где-то писал утилиту чтоб произвольные JSON конвертить в JSON-lines.

    Короче способов - масса. Беда как обычно в вопрошающем. Что он готов для этого установить
    и что выучить.
    Ответ написан
    Комментировать
  • Чем проверить hdd на бэды?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Те которые на 100Гб можно подарить детям на игрушки. А для больших (несколько терабайт) - моешь посмотреть SMART информацию (как советуют выше).

    Еще скачай себе любой линукс на флешку. С нее загрузившись можно найти много разных утилит для теста поферхности.
    Ответ написан
    2 комментария
  • Есть ли fill factor для sqlite3?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Но, как я понял, она про другое, про упаковку после удаления. А мне нужно, что бы просто листовые страницы B-дерева заполнялись полностью, как у ms sql с fill factor = 100. То есть, максимально плотное заполнение базы данных, когда идет просто построчная вставка.

    Ты напомнил анекдот когда женщина приша к урологу и жалуется что у мужа дескыть "одно яичко ниже другого. Непорядочек.."

    Вобщем перфекционизм хорош в меру. Если ты читал об организации индексов на основе B+Tree (практически везде) во всех DBMS, то ты должен был читать о том что среднее заполнение листовых блоков обычно равно 75% от размера блока. Это связано с возможностью оперативно делать insert новых ключей и значений. Если ты, используя какие-то утилиты специально выровнял заполнение блоков - то индес становится медленным для будущих вставок. Каждая вставка продуцирует операцию split (тяжелая операция) и пока не посплитятся все листы - перформанс будет плохой.
    Ответ написан
  • Как сделать своё облако для хранения копий файлов?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если исходники хранит - то наверное git подходит.

    Если фильмы и музыку - то наверное надо другой подход обсудить. Вобщем ты мало информации сказал.
    Ответ написан
  • Что добавить в код, чтобы текстовая строка прорисовывалась в окне с дополнительным эффектами(Указано ниже с какими, Win 32 C++)?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Тяжелую задачку ты зацепил. Я не знаю есть ли в классическом Win32GDI такие функции чтоб вдоль curve печатать текст.

    Но вот есть пример с печатью под произвольным углом. Попробуй ее приспособить.

    https://learn.microsoft.com/en-us/windows/win32/gd...
    Ответ написан
  • Как сжать файл?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Для exe-шников еще в 90-е создавались не архиваторы а всякие "упаковщики". Из таковых я помню UPX https://upx.github.io/
    Ответ написан
    Комментировать
  • В чем Базовая суть async функций?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Чтобы понять async нужно в принципе понимать мультизадачность.

    Есть два вида мультизадачки. Первая базируется на preemptive multitasking. Это классика на потоках (Threads). Подходит для приложений где есть нагрузка на CPU и мало I/O. Пример таких приложений - рендеринг 3Д графики. Майнинг.

    И есть второй вид когда есть много I/O а нагрузка на процессор - малая и ее можно считать неизменяющейся. Как обработчик событий. Ее делают на async/await. Или еще на мультиплексированном I/O. Она подходит для веб-серверов. Яркий пример - nginx. Или системы обрабоки MQ. Сокет-серверы. Файловые серверы и прочее.

    Поэтому изучать async в отрыве от всех методов организации мультизадачности - безсмысленно. Вы ничего не поймете пока не узнаете все use-cases использования железа и ОС. Чтоб понять async - поймите классику.

    UPD: Fixed
    Ответ написан
    2 комментария
  • Обязательно ли выкладывать изображения в 2к и более?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Весят чет многовато даже после компрессии.

    Все очень просто. Зависимость размера от ширины - квадратичная.
    Это означает что размер картинки растет не линейно а в квадрате от
    одного из измерений. И JPEG/WebP здесть не помогает т.к его алгоритмы
    не меняютс своих свойств от размера. Обычно ты задаешь коэфф сжатия
    или он берется по дефолту. Ставить более сильное сжатие нет смысла
    т.к. портится качество мелких деталей. А если портить - то нахрена
    увеличивать размер?

    Пример такого расчета в сыром размере RBG байтов:

    Разрешение FullHD 1920 x 1080 = 2073600 pix = 2073600 * 3 = 6 220 800 bytes
    Тоже самое в два раза больше в поперечнике 3840х2160 = 8294400 pix = 24 883 200 bytes
    Итого размер стал в 3 раза больше. Для 8К разрешения ситуация станет хуже во много раз.

    Поэтому увеличивать разрешение нужно очень осторожно.
    Ответ написан
    1 комментарий
  • Болят глаза через 5-10 минут, что можно сделать?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Сходи к врачу. Боль в глазах может быть связана с внутричерепным давлением. У меня после Covid было такое что я видел вспышки в левом глазу. Все это - последствия чего-то там.

    Вобщем глаза - твоё здоровье и не слушай советы дилетантов по поводу монториов или шрифтов. У тебя - медицинская проблема и ее надо решать с медициной.
    Ответ написан
  • Как предотвратить повторные нажатия клавиш на программном уровне?

    mayton2019
    @mayton2019
    Bigdata Engineer
    В связи с повышенной влажностью моя клавиатура стала делать повторные нажатия клавиш. К примеру нажав какую либо букву она нажимается дважды, изредка трижды. Денег на покупку такой же клавиатуры нет, а к другой я буду долго привыкать.

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

    Решать эту задачу программно - я не советую. Ты рискуешь потерять - больше информации например для приложений которые фиксируют не клик а DOWN и UP по отдельности.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Нужно откатить на предыдущий билд и дать возможность сайту работать.
    А после этого - в спокойной обставновке смотреть что менялось и что привело к инцеденту.
    Ответ написан
    Комментировать