Задать вопрос
  • Внешний диск нужно периодически подключать для сохранности информации?

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

    Но слава богу для HDD ничего такого делать не надо. Ну я вообще не знаю таких требований. Для лент стриммера - ХЗ вроде тоже ничего не надо. Там только есть пожелание хранить в сейфе в темноте в прохладном влажном воздухе. Производитель гарантирует там до 15 лет. Вообще стриммерная кассета - рекорды бъет по гарантируемым параметрам. Ни компакт диск ни флешка пока тами не могут похвастаться.

    Насчет SDD. Я думаю смысл тут какой-то есть. Тут надо конечно копать в технологию. Там их целый список.
    Но все на полевых транзисторах как на ячейках памяти. Транзистор - штука аналоговая. Никаких единичек
    и нулей не умеет. Умет регулировать затвор. Как кран крутить на трубе. Сильнее-слабее.
    Если состояние полевого транзистора со временем уплывает куда-то в сторону - то ему нужна регенерация.
    Надо его считать и снова записать то аналоговое значение которое соотвествует цифровому. Например для
    000 - три битика будет соответсоввать одно а для 111 - другое. Короче 8 уровней получается.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Как всегда автор не указывает тип DBMS. В некоторых есть такой либеральный синтаксис что
    можно просто писать

    Oracle:
    SELECT * FROM tab1, tab2
    и это будет фактически работать как cross join. А в некоторых надо явно писать.

    SQL-92
    SELECT * FROM tab1 CROSS JOIN tab2
    Ответ написан
    1 комментарий
  • Контрольные хеш суммы и zip архив из одинаковой папки?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Там похоже дата создания файла сохраняется.

    $ unzip -l -v opengl.zip  | head
    Archive:  opengl.zip
     Length   Method    Size  Cmpr    Date    Time   CRC-32   Name
    --------  ------  ------- ---- ---------- ----- --------  ----
    13049256  Stored 13049256   0% 2005-05-18 17:19 a814c96e  OpenGL/AdbeRdr602_rus.exe
          42  Stored       42   0% 2004-05-04 03:00 9dd0d91b  OpenGL/Autorun.inf
           0  Stored        0   0% 2006-02-03 18:02 00000000  OpenGL/Catalog/
           0  Stored        0   0% 2006-02-03 18:04 00000000  OpenGL/Catalog/1070801/
        4242  Stored     4242   0% 2005-12-07 16:05 c1c0e4a3  OpenGL/Catalog/1070801/index.htm
      162399  Stored   162399   0% 2005-12-07 16:09 fcb2cedb  OpenGL/Catalog/search.html

    Проверь какие у тебя даты.
    Ответ написан
    Комментировать
  • Как создать массив из типов данных в си?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Для того чтобы это работало в духе ООП, все типы должны иметь базовый тип.

    Для функциональщины - нужно иметь абстрактный тип Any и коллекции типов которые - суть
    подтипы Any. И функцию с pattern matching которая просто кастомизирует size() и прочие
    функции. Короче почти ручная работа.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Как-то так
    $ python3 app.py 2>err.log >out.log
    Ответ написан
    Комментировать
  • Насколько безопасен способ входа на сайт по коду из email?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Email коды не считаются безопасными в наше время. Факторы аутентификации должны быть разные. Желательно - разные физические устройства. Телефон. Планшент. RSA-token генератор.

    Автор на самом деле задает хитрый и лукавый вопрос.
    Хочу максимально упростить вход пользователей на сайт

    и этот вопрос противоречит целям и задачам которые идут ниже.

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

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Тут вместо цепочки if можно switch-case использовать.

    @Override
        public void notification(Event event) {
            if (event.type() == EventType.REDRAW_REQUEST) {
                printField(event.field());
                return;
            }
    
            if (event.type() == EventType.BOMB_OPENED) {
                System.out.println("You opened bomb. Game failed");
                printField(event.field());
            }

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Троичное кодирование активно использовалось в системах связи. Это код ЧПИ (чередование полярности импульсов). Но в современных сетях типа Ethernet используется манчестерское кодирование (двоичный код) которое предотрващает дрейф постоянного напряжения и поэтому такая хитрая программная реализация позволила не использовать ЧПИ. Еще есть целая куча программных и аппаратных схем оптимизации каналов связи но я уже это все и забыл.

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

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Как сделать поиск максимально производительным? Что использовать? Асинхронность? Многопоточность?

    Оптимизация запроса к БД начинается с того что вы выделяете сет активных запросов которые важны для вас.
    Для каждого из них строите план исполнения запросов
    EXPLAIN [ ANALYZE ] [ VERBOSE ] ......
    Потом с этим планом приходите к специалисту (или сюда) и спрашиваете что надо улучшить в
    тексте запроса или в таблице или в индексе чтоб было быстрее.

    Добавление большего числа исполнительных потоков (сессий БД) обычно не улучшает ситуацию
    а только ухудшает. Практика это показывает. Мы быстро выходим на пологую кривую пропускной
    способности диска - и дальше хоть добавляй потоки - все будет только хуже.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    На малинке можно поднять домашнюю страницу Васи Пупкина. Сложно назвать это хостингом в современном
    понимании этого слова. Хостинг - это и вычисления. И базы данных.
    Ответ написан
  • Как лучше\проще реализовать работу с серийными номерами\лицензиями чтобы не особо пиратили?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Можно изготовить такой USB-брелок который содержит важный функционал. Без которого приложение - бесполезно.
    Типа аппаратное решение задачи в железе. Тогда получается что вы продаете софт + аппаратуру установка которой очень легкая. Но при этом пиратить и копировать такое решение невозможно.
    Ответ написан
    Комментировать
  • Можно ли сегодня использовать Rust вместо C++, в разработке серьёзных низкоуровневых программ?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Какое состояние у языка Rust на текущий момент?


    Я несколько лет наблюдаю за долей Rust исходников в браузере Mozilla.
    По состоянию на 2022 год там была такая пропорция С/C++/Rust 0.19 : 0.39 : 0.42
    (При этом я игнорировал прочие типы файлов). И эта доля Rust кода практически
    не меняется несколько лет. Тоесть видимо те цели которые ставили Mozilla/Microsoft
    были достигнуты. Они переписали что хотели и успокоились.

    Любитель пингвинов и нелюбитель NVidia тоже обещал затащить Rust в исходники
    linux-ядра, но я не собирал сведенья по линуксу и не знаю что там сейчас. Кто
    знает? Поделитесь.

    Можно ли уже полностью отказаться от C++ в пользу Rust, в низкоуровневых вещах

    Скорее всего нет. Потому что есть потребность в безшовной интеграции с вызовами kernell и библиотек.
    В Rust скорее всего потребуется сильная адаптация кода чтобы он был пригодным для ABI например.

    Понятно, что нет полноценной IDE

    Забавное наблюдение. Я слушаю блоги хаскелистов. Душкина. Брагилевского. Вершилова.
    И практически все они хором поют одну и ту-же вещь.. дескыть им IDE не нужна а им
    достаточно vim или блокнот. Я с ними не до конца согласен. Но что-то есть в этом. Получается
    что математически совершенному языку незачем иметь обязательноую IDE. И вообще
    с каких пор мы язык должны рассматривать в комплекте с IDE? Неужели язык без
    этого инструмента неполноценен? Можем ли мы рассматривать "зрелость" языка просто
    как языка?
    Ответ написан
    83 комментария
  • Как удалить предложение в столбце с типом TEXT?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Могу дать просто несколько советов как упростить работу с текстом.
    1) У тебя слишком много всего наворочено в одной строке. Разбей запрос на части.
    Например сначала сделай просто SELECT того что ты хочешь удалять. Почему это важно?
    Если ты ошибешся и сделаешь слишком либеральный квантор - то удалишь те строки которые
    удалять было не надо. И назад дороги нет.

    SELECT * 
    FROM 
     `sonnik` 
    WHERE 
     SUBSTRING_INDEX(SUBSTRING_INDEX(`text`, '\n', find_in_set('женщине или мужчине', `text`)), '\n', -1) 
              LIKE 'Сонник %' 
     AND text LIKE '%Сонник %';

    И просматривай глазами кандидатов на удаление.

    2) Вот это выражение 'женщине или мужчине' слишком строгое. В реальном тексте может
    быть многообразие склонений падежей и вообще слова могут быть с переносом через
    дефис на новую строку. Поэтому надо искать лемму или основу слова типа "жен".... "муж"

    И лучше использовать предикат ILIKE для регистро-независимого сравнения.

    3) И как всегда я выражаю своё ворчание по поводу этого тега SQL. Что такое SQL? MySQL? Postgres? Там возможности текстового поиска разные. Есть всякие текстовые индексы и прочие функции FTS.
    Ответ написан
  • Что за хеш такой?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Что указать в параметре -m - на это отвечает хелп.

    $ hashcat --help
    hashcat - advanced password recovery
    
    Usage: hashcat [options]... hash|hashfile|hccapxfile [dictionary|mask|directory]...
    
    - [ Options ] -
    
     Options Short / Long           | Type | Description                                          | Example
    ================================+======+======================================================+=======================
     -m, --hash-type                | Num  | Hash-type, see references below                      | -m 1000
    Ответ написан
    Комментировать
  • Можно ли в c++ реализовать new() с c#?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Насколько я помню new - это зарезервированное ключевое слово языка. Поэтому использовать
    его в роли функции вряд-ли получится.

    Да и зачем это автору? Создание новых конструкций синтаксиса - это путь в Lisp, Nemerle, Forth.
    Языку С++ это не надо. А если автору так сильно хочется - то наверное настало время сменить язык.
    Ответ написан
  • В каком виде, хранятся записи в БД, подобные постам в соц.сетях?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Современная соц-сеть - это уникальная софтварная архитектура которая строилась индивидуально.
    Вряд-ли вы сможете ее просто повторить имея mysql/php/nginx.

    VK/Facebook имеют свои технологии кеширования контента в основном построенные на материализации
    страниц. Базы данных обычно - не-реляционные. Модель проектируется так чтобы не было joins между
    таблицами. И активно используются очереди сообщений. Вот в соц-сети Linked-In это было настолько
    важно что даже был создан отдельный программный продукт который сейчас называют Apache Kafka.

    Активно используются горизонтальное масштабирование. Сеть наращивает мощности просто путем подключения
    новых адресов в dns с балансом по географии, и запуска новых web-nodes и новых дисковых реплик хранилищ для картинок и текстов постов.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Обычно идет верификация номера телефона. Тоесть если чел обладает двумя смартфонами с 2 сим-картами то теоретически он может создать до 4 аккаунтов.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Хотелось бы к этому всему включить в модель возможные корреляции товаров ,чтобы на основе изменений в продажах первого товара предсказывать второй .

    Ты уверен что твоя гипотеза о корреляциях верная?

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

    А какой метод машинного обучения - это уже будет второй вопрос.
    Ответ написан
  • Можно ли произвести установку пароля на запись DVD дисков?

    mayton2019
    @mayton2019
    Bigdata Engineer
    В наше время что самое дорогое?

    Участие специалиста. Сисадмина. Девопса. Разработчика. Если смотреть с практической стороны
    то дешевле просто демонтировать DVD привод и вопрос будет закрыт. Все остальные решения
    это какой-то техно-дрочь или фетишизм.
    Ответ написан
    Комментировать
  • Как разобрать mp3 файл?

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

    Здесь явно две задачи. Первое - это перевод mp3 в нотные блоки (кстати что это?).
    И второе - это собственно интеграция этих блоков с приложением майнкрафт.

    И лучше этот вопрос закрыть и поднять новые два в qna.
    Ответ написан