Задать вопрос
  • Почему std::swap вызывает конструктор перемещения?

    mayton2019
    @mayton2019
    В таком узком варианте - наверное нет. Просто функция всегда лучше когда она имеет аргументы и результат. Ее можно тестировать по другому. В данном случае тест вроде property based.

    swap(swap(a,b)) = pair(a,b)

    Ее можно использовать в рекурсии (обработка деревьев).
  • Почему std::swap вызывает конструктор перемещения?

    mayton2019
    @mayton2019
    В моём варианте функция может быть лямбдой.
  • Почему std::swap вызывает конструктор перемещения?

    mayton2019
    @mayton2019
    Можно попробовать сделать функцию которая возвращает пару. Где левый и правый элемент поменялись местами.

    pair<T,T> swap(T left, T right)
  • Есть ли что то вроде api, который позволял бы компилировать программу из под исполняемого файла?

    mayton2019
    @mayton2019
    Василий Васильков, ну обычно любой бинарник (артифакт) имеет рукотворную природу. Человек его создал. Упаковал в пакет для дистрибуции в Windows/Linux репозитариях. Подписал своими подписями. И положил в правильное место где все могут загрузить и проверить сертификаты на достоверность. После этого бинарь попадает в антивирусные базы. Проверяется и получает хеши где написано что бинарь чистый. И ему можно доверять.

    Вот. А если вы создали технологию которая позволяет 100500 раз в сутки фабриковать бинарники. То надо подумать как эту технологию защитить от хакерских атак. Ведь не очень сложно подать ей на вход скрипт который будет собран и выполнен на доверенном сервере. С браузерами вот - такая же история. Их пристально изучают с каждой новой версией и злоумышленники и безопасники. И смысл этого изучения - просто предотвратить запуск бинарника любой ценой. Вот. Как только кто-то получит возможность исполнять произвольные бинарники в браузере - все! Капец вашим деньгам! Скопируют все из Моих Документов а остаток диска зашифруют. Вобщем веселые праздники после нового года будут обеспечены.

    Но это я так. Ворчу. Вобщем если скажите что предусмотрели защиту - то хорошо.
  • Подходит ли ноутбук для машинного обучения?

    mayton2019
    @mayton2019
    У меня - дежа-вю или мне кажется что этот вопрос уже возникал где-то в хабре.

    И вообще хороший художник - должен быть голодным.

    Хороший разработчик софта под нагрузкой - должен ее разрабатывать для слабых конфигураций.

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

    Руби и меня, Чапая.
  • Используется ли пагинация в SQL запросах?

    mayton2019
    @mayton2019
    Dr. Bacon, это очень странный trafe-off. Вы где-то сэкономили на user-sessions но проиграли в execution plan.

    Вобщем я согласен с вами что веб-разработка имеет свою специфику но я считаю что этот вопрос глубого не исследован. Мне как базовику и как человеку который очнень любит и ценит SQL/DBMS очень не хотелось бы использовать подход основанный на многократном execution сортированного курсора особенно тогда, когда этого можно было бы избежать.
  • Обучение C++ на Linux, VS code?

    mayton2019
    @mayton2019
    Я категорически против советов читать Кнута. Это чтиво - специфическое. И чтобы его читать надо тоже иметь некую подготовку. Или может быть если автор - математик то тогда Кнут ему покажется более понятным. С моей точки зрения Кнут перегружает читателя ненужными вещами которые конечно развивают фантазию но могут не понадобиться аж никогда. Чего стоит только его виртуальный процессор MMIX в котором в качестве дисковых устройств есть (!) накопители на магнитной ленте. Офигеть актуально. Но это так. Шутки ради я сказал. А если без шуток то все исходники в книге господин Кнут пишет ни на Modula ни на Object Pascal и даже не на Блок-схемах а именно на кодах для виртуального процессора MMIX. Вот такие дела. Да. В реальной жизни никакого MMIX не существует понятное дело.

    Вообще для быстрого и эффективного вхождения в Алгоритмы и Структуры Данных (АСД) я-бы предложил Вирта и Седжвика.

    Кнута - можете читать. Ближе к пенсии. Или на пенсии. Возле камина. Теплыми вечерами.
  • TypeScript без Javascript?

    mayton2019
    @mayton2019
    Bart Simpson, да. Давайте почитаем что пишет Microsoft (производитель) о своем языке прямым текстом.

    https://www.typescriptlang.org/
    TypeScript is a strongly typed programming language that builds on JavaScript, giving you better tooling at any scale.


    И вот еще об отношении к JS:

    https://www.typescriptlang.org/docs/handbook/types...
  • Что значит O(1)?

    mayton2019
    @mayton2019
    Jacen11, да. Вся литература по хеш-таблицам оперирует именно таким определением O(1) для хеш-таблиц. Ситуация промаха мимо ключа которую вы описываете - достаточно редкая. И я не просто так говорил о Java-реализации HashMap. В дефолтном конструкторе (99% которого используется) таблица создается с коэффициентом заполнения 0.75. А при такой пропорции ключей и бакетов вероятность коллизии очень мала. Поэтому вашу формулу O(1) или O(n) здесь нужно применять с сильной поправкой на теор-вер. А теор-вер там уже во много раз сложнее и проще его не вычислять а доказывать практически. Тоесть просто симуляцией работы хеш-таблицы.

    Разумеется мои рассуждения адресованы Вам а не автору. Ему это можно пропустить т.к. обычно на собеседовании когда говорят о O(n) не копают каждую структуру данных. Нет времени на это.

    Ну а вы - изучайте для себя структуры данных Java. Это полезно.
  • Используется ли пагинация в SQL запросах?

    mayton2019
    @mayton2019
    Кажется курсор в Postgres поддерживает опцию SCROLL. Тоесть можно делать перемотку вперед и назад.
    В этом случае вам не нужно на каждый page down делать еще один запрос. Просто продолжаете
    перемотку следующих 10 записей.
  • В чем можно хранить около триллиона значений key=>value?

    mayton2019
    @mayton2019
    v_k, кассандра скорее всего не подходит. Она в основном расчитана на In-Memory Cluster. Дорого и безсмысленно. Будете платить за uptime.

    Хотя ее младший брат AWS-Dynamo может стоит рассмотреть. Будет дешевле с точки зрения хранения информации. Кажется там платить надо за фактически вычитанные строки. А за само хранение и за uptime
    я не помню. Может и что-то начисляется но мало.
  • Какой командой узнать количество открытых tcp соединений?

    mayton2019
    @mayton2019
    markinaras, ты пишешь на Go? Вот и напиши себе (или найди готовый) пул сокетов в котором количество
    заранее ограничено.

    Подозреваю что речь идет о парсинге сайтов. Так в этой предметной области - огромное количество уже
    готовых решений. Тогда сразу не сокетов а HttpConnections. Вот. И запускай хоть мильон своих Go-потоков
    а они пускай уже дерутся за эти 1000 коннектов по очереди.
  • Какой командой узнать количество открытых tcp соединений?

    mayton2019
    @mayton2019
    markinaras, а какой интервал между открытиями следующего сокета? Просто со стороны это может выглядить как syn-flood.
  • Не работает бот созданный на python. Он не отправляет сообщения. Как можно решить данную проблему?

    mayton2019
    @mayton2019
    linuxstation, я думаю что смена среды разработки не должна крашить сборку проекта. Сегодня этот трюк прокатил но в следующий раз тебе надо глубже разобраться в причинах того что не работало.
  • Какой командой узнать количество открытых tcp соединений?

    mayton2019
    @mayton2019
    А можешь объяснить что именно и кто блокирует. Потому что для интернет-провайдера количество открытых
    сокетов - безразлично. А вот для того сервера (хоста) куда ты пошел - может быть лимиты есть. Но может быть парсинг netstat это не то что тебе надо.
  • Почему Java выводит список данных в таком формате?

    mayton2019
    @mayton2019 Куратор тега Java
    Voland_90, попробуй еще class Organization заменить на:
    record Organization ....
  • В чем можно хранить около триллиона значений key=>value?

    mayton2019
    @mayton2019
    v_k, мне кажется что мы "не с той стороны" начали.
    Вот смотри. Ты делаешь акцент на загрузке триллиона records за 10 дней.
    А зачем тебе их все вообще грузить? В каком виде они лежат сейчас?
    Если это - CSV файлы - то их можно так и положить на какую-нибудь
    hdfs-like файловую систему и работать как с большими данными.
    AWS athena может работать с ними сразу через SQL никуда даже не
    преобразовывая. Spark умеет CSV в датафреймы преобразовывать.
    А для скорости надо просто сделать партишенинг хешу от ключа.

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

    Вобщем есть миллиард способов как решать эту задачу.
  • TypeScript без Javascript?

    mayton2019
    @mayton2019
    WbICHA, что ужасного - это хороший вопрос. Давайте пофаназируем. Это должно быть нечто, что никак не декларировано в языке TypeScript.
  • Действительно ли LDAC по качеству передачи звука не уступает проводу?

    mayton2019
    @mayton2019
    Надо почитать с какой целью Sony ввела этот новый стандарт. Скорее всего тут цель - устранение неких дефектов Bluetooth. Но если говорить о качестве - то скорее всего вопрос будет и да и нет. Потому что в описании речь идет о целой матрице режимов звука и кодеков. Тоесть какой кодек и битрейт будет выбран - то и будет качество. Но скорее всего цель - либерализация софта. Тоже самое что и происходило вокруг mp3 и почему появился ogg (vorbis). Та-же мотивация.

    https://en.wikipedia.org/wiki/LDAC_(codec)

    UPD: Добавил линку