Задать вопрос
  • Нужно ли создавать индекс для каждой колонки?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Нужно создавать для каждой колонки свой индекс

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

    Если ты решил потратить всю "прокрастинацию" на индексы - то это bad way. Индексы занимают полезное место
    на диске и в памяти и как верно заметили выше - еще и замедляют DML операции.
    Ответ написан
    Комментировать
  • Как в java выводить кириллицу?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    А так?

    printStream.printf("\u0423\u0440\u0430\u0432\u0435\u043d\u0438\u0435: %d * x + %d * x + %d = 0", a, b, c);
    Ответ написан
  • Как грамотней настроить на обычном хостинге создание копии сайта и залив изменений?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Насколько я понимаю - нужно вначале на основе сделать гит и из него разворачивать, а как быть с созданием копии бд?

    Посмотрите на liquibase и flyway. Они спецом создавались чтобы обновления на базу катились через git.
    Ответ написан
    Комментировать
  • Как удалить дубликаты IP-адресов с разными портами?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Можно наверное загрузить в sqlite и там применить оконную функцию. Взять в группе первый попавшийся адрес.

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

    Так... эта задача балансирует на грани - sed/sort - писать лениво. SQLite - оверхед получается для одного раза.
    Ответ написан
    Комментировать
  • Чат-бот без программирования?

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Упоминалось об изменении иерархии классов во время выполнения.

    Постарайтесь найти пример. Что имелось в виду. Создание новой пары класс+объект? Или изменение
    интерфейса объекта? Информатика и вычислительная техника за 20й век насоздавала столько экзотических
    языков и парадигм что на любой каприз можно что-нибудь да найти. Создавались даже такие языки
    цель которых - максимально усложнить (Malbolge) разработку. Поэтому если "просто так менять иерархию" - то
    можно уподобляться комсомольцам которые сначала создают проблемы а потом их героически решают.
    Ответ написан
  • Прошу совета, как мне можно улучшить/модернизировать резервное копирование (бесплатными средствами)?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я думаю что в организации никто не одобрит твои улучшения. А если ты хочешь сказать что система бэкапа плохая - то объяви о том что проводишь учебную тревогу с имитацией полного процесса восстановления. Проведи. Запиши протокол. Что. Как. Какие баги.
    Ответ написан
  • Как понять каррирование в Haskell?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Лямбда применяется к массиву типа A и возвращает массив типа B.

    Вот и все.
    Ответ написан
  • Какой самый быстрый дистрибутив Linux для программирования?

    mayton2019
    @mayton2019
    Bigdata Engineer
    У нас в садике говорили так - Размах - лошадиный, удар - муравьиный.
    Посоветуйте дистрибутив Linux для программирования недавно поставил Ubuntu но лагает жуть как.

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

    Я считаю что это будет полезный опыт. В Linux есть интерфейс ожиданий. Надо его найти активировать и посмотрть
    где там чего ждем. Если проблема в KDE/Gnome/XFCe то как раз - настал звездный час чтобы что-то новое
    попробовать. И отписать сюда по результатам.

    Все советы по железу и драйверам - тоже сюда до кучи. Плюсую.
    Ответ написан
    Комментировать
  • Есть ли вероятность прилёта ответственности?

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    2я таблица - должна быть view по отношению к первой.
    Ответ написан
    Комментировать
  • Какой стек технологий лучше выбрать для разработки чата?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Суть в том, что я не совсем понимаю работу вебсокетов, может быть кто-то писал что-то такое и может подсказать какую литературу или какие источники использовал.

    Я думаю автору имеет смысл пройти какой-то учебный курс (желательно платный) по JS+WebSockets.
    Это очень важная основа. Поэтому всякие yii2+vue+mongo не имеют никакого значение если ты не сможешь
    разбираться в простейших сетевых ошибках и состояниях протокола.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Таких программ много. Это средства версионного контроля например git. Сделай git init в каталоге и делай каждый раз новый commit при резервном копировании. Для перемотки назад можно использовать стандартный git checkout с указанием хеша коммита или комменатрия или любого другого поискового признака которы ты знаешь как владелец бэкапа.

    Беря во внимание что git все таки больше предназначен для текста чем для бинарей возможно в его использовании есть какие-то нюансы. Но я с ними не сталкивался пока. Можно еще почитать про git LFS https://git-lfs.github.com/

    Версионирование бекапов также встроено в файловую систему XFS. Там есть утилиты для dump/restore. Но мне их подход не очень понравился. Хлопотно.

    UPD: Да еще. Забыл. Версионирование ФС (настоящее) точно встроено в докер overlay-fs. Но как им воспользоваться в случае автора я пока не знаю. Может знающие - подскажут.
    Ответ написан
    Комментировать
  • Как перенести переменные с одного файла в другой?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Сомнительно чтобы текстовый редактор такое сделал.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Могу рассказать насчет фасада. Это - самый простой шаблон. Если у тебя есть некая сложная задача и ее надо сводить к вызову 1 метода - то это фасад. Например для С++ языка - main функция является "фасадом". А консольные параметры - это как-бы аргументы к функциям фасада. PHP скрипт тоже является фасадом а параметризируется через параметры URL.
    Ответ написан
    Комментировать
  • Как получить размер загружаемых торрент файлов по magnet ссылке?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вот тут пишут https://en.wikipedia.org/wiki/Magnet_URI_scheme что magnet link может содержать список параметров (наподобие http url) и если есть параметр &xl= то он указывает точный физический размер.

    Если ссылка сокращенная (содержит только хеш) - то надо начать ее поиск в трекерах или по протоколам dht и после успеха - получить этот размер.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Как-то так надо.
    for (int i = 0; i <= 3; i++) {
            std::cout << i << "..." << std::flush;
            sleep(1);
        };

    (отредактировано)
    Ответ написан
  • Почему crawler, работает 7 часов? Не зациклен ли код?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Некоторые сайты могут сдетектировать бота и подкинуть свинью. Например - отдавать бесконечный поток шумящего html-кода который просто нагружает работой BeautifulSoup. Но чтобы говорить о зависании - надо сначала придумать формальный критерий. Например - парсинг одного url запускается в отдельном потоке и lifetime потока не должен превышать к примеру 30 секунд. Если превышает - мы считаем что он глотает шум или не получает контента. И прибиваем поток. ЛОггируем событие и идем дальше по ссылкам.
    Ответ написан
    Комментировать
  • Что быстрее: json или sqlite?

    mayton2019
    @mayton2019
    Bigdata Engineer
    извлечь и записать в словарь набор данных json, или извлечь тот же набор данных из БД sqlite

    Я не знаю кто вам подает такие формулировки. Возможно вы сидите на митингах и слушаете трёп разработчиков и здесь спрашиваете. Но данный вопрос с точки зрения инфо-технологий звучит как : "что лучше желтое или квадратное".

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

    Я вас прошу.
    Ответ написан
    Комментировать
  • Как сделать подобное исключение в java?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Можно в блоке catch проверить что содержит message. Это обычно текст в котором есть информация об ошибке
    и дальше разбирать этот текст и принимать решение.

    } catch(IndexOutOfBoundsException ex) {
        String message = ex.getMessage();
        ....
    }
    Ответ написан
    Комментировать