Задать вопрос
  • Как работать с parrot os?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Странно что ты не нашел. Вот их документация https://www.parrotsec.org/docs/introduction/what-i...
    Пишут что это - Debian-based. Тоесть какое-то подмножество команд шелла будет совпадать.

    Вообще, судя по описанию это - проект для энтузиастов. Тоесть для тех ребят которые не боятся чего-то недокументированного и умеют рыть исходники.
    Ответ написан
  • Как посмотреть все репозитории в поиске?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Такие ограничения есть во многих поисковых системах. Это сделано специально для экономии ресурсов. Идея такая что пользователь - просто должен будет детализировать фильтры для поиска нужного результатат. В противном случае, введя символ "asterisk" или любой другой мета-символ можно ddos-ить поисковые системы очень легко.
    Ответ написан
    Комментировать
  • Где взять датасет (для обучения модели) с анкетами из службы знакомств, но без персональных данных?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вот тут датасеты разные есть https://datasetsearch.research.google.com/
    Ответ написан
    Комментировать
  • Где хранить данные, в БД или файлах?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Погуглил, и нашёл что все единодушно говорят, что лучше БД. ОК. Понятно. Доводы убедительны. Но возникает такой вопрос.

    Предположим, что у меня 5000 пользователей, у каждого по 100 постов, в каждом посте по 10000 символов. Размер всех постов получается 5 ГБ. Но это же огромная сумма! Хранить такое количество данных в БД как-то не очень. БД будет тормозить, всё это скажется на производительности и в конечном счёте это отразится на клиентах.

    Какой же тип хранения мне всё-таки выбрать? БД или простые файлы?

    Тут - мало входных данных. Во первых нужно собрать все кейсы работы с информацией.
    Например: Пользователь создал пост. Пользователь отредактировал пост. Другие пользователи - проголосовали.
    Пользователь удалил пост.

    Далее - исходя из этого нужно создать модель постов. Определить какие режимы изоляции или блокировок нужны.

    Откровенно говоря в наше время дизайн системы на 80% идет от хостинга и от того какие цены выставляет
    хост провайдер на RDBMS и на Storage. Само хранилище может быть десятков видов. S3, Microsoft BLOB, GoogleCloud storage. И вот исходя из цен и из того какая формула биллинга - обычно и берут архитектуру.

    Безкомпромиссные решения могут дорого стоить. Вот. Поэтому вопрос - где хранить данные распадается
    на хозяйственный вопрос - а где покупаете хостинг и далее уже можно там как-то варьировать.

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

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

    Вот это выражение вычисляется дважды. Там просто x меняется с положительного на отрицательный.
    (a * x * x * x) + (b * x * x) + (c * x) + d;
    А частично расчитанные слагаемые мы теряем. И потом считаем их снова. Это дефект избыточных расчетов.
    Можно над этим подумать.

    По поводу упрощения кода. Тут надо решить что тебе надо. Краткий код. Или быстрый. Это два противоречия.
    Вспоминаем "кривую Шипилёва".
    Ответ написан
    Комментировать
  • Как обозначить временный комит в Git?

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Этого нельзя делать. Во первый повторная отправка пакетов - это не прикладная задача. Это протокольная часть и tcp сам обеспечивает tcp-retransmission. Тоесть твоё участие в этом - лишнее. Медвежья услуга.

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

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Тут - задача на смекалку. Ничего перемещать не надо. Просто фильтуем ненулевые и накапливаем их. Ведем подсчет нулевых (k штук). И формируем новый массив как конкатенацию k нулей и накопленных.

    Очень похоже на сортировку подсчетом.
    Ответ написан
  • Какая разница между фронт-энд разработчиком и разработчиком JS?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вопрос звучит типа - какая разница между машиной и ее двигателем. Ну... как-то оочень безграмотно поставлен.
    Очевидно что фронтовик должен знать JS. Иначе он не фронтовик а какой-то заяц плюшевый.
    Ответ написан
    Комментировать
  • Хочу заняться программирование БПЛА/ ИИ на БПЛА, с чего начать?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Не знаком с авиацией. Но предположу что современный БПЛА такой же сложный как и хорошая операционная система. В нем будет несколько уровней управления. Или несколько одновременно работающих и независимых систем. Одна из них будет - автопилотом. Это то что будет контролировать азимут и тангаж и высоту и прочее. Компенсировать ветры и воздушные ямки. Будет другая система связанная с полу-ручным управлением. Будет третья система связнная с тактической задачей. И еще много чего. То что автор называет ИИ - это может быть либо одна из этих систем, либо все вместе взятые. Все вместе - автор не потянет. Тут нужны специальные знания из авиации. Взять какую-то одну из систем (то что он называет ИИ) и просто начать ее программировать - это профанация с моей точки зрения. Или очень поверхностный подход. Я просто не верю в эффективность подобного метода когда речь идет о технике которая дорого стоит. Но потренироваться на симуляторах - вполне себе можно.
    Ответ написан
    Комментировать
  • Как в Си вывести в консоль без записи в буфер?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Есть ли какая другая команда вывода, которая будет текст выводить только в терминал, без записи в файл?

    Да есть. Ты можешь выводить в STDERR и тогда это будет печататься на экране но в лог файл не попадет по причине такого скрипта
    ./a.out > file.log'
    Чтобы оба потока писались в лог - нужно делать так
    ./a.out 2>&1 > file.log'
    Но кажется что ты борешся не с той проблемой и не так. Для логгирования в файлы - есть специальные библиотеки.
    А работа с STDOUT/STDERR - это просто базовые абстракции любого Unix-процесса.
    Ответ написан
    4 комментария
  • Ошибка [Errno 2] No such file or directory при, что делать?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я вот щас попробовал os.listdir. Там надо бекслеши экранировать или буквочку r добавлять. Проверь.

    import os
    
    os.listdir('c:\\tmp')
    
    os.listdir(r'c:\tmp')
    Ответ написан
  • Можно ли так зашифровать компьютер?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Непонятно какая тут решается проблема. Если нужно просто что-то не держать локально то для этого есть удалённые десктопы.

    Я не считаю что хранение ключей доступа где-то более безопасно чем локально, пока мы не обсудили протокол их получения. Также полезно обсудить модель потенциальной угрозы. С чем мы боремся?
    Ответ написан
    Комментировать
  • Как лучше всего организовать работу с большими списками в Python?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Изначально софт работал отлично, но в последнее время, с увеличением объема списков - стали постоянно вылезать какие-то глюки в логике работы софта, хотя код остался неизменным. В связи с чем было принято решение переписать код на другой ЯП, конкретно выбор пал на python.

    Мне не нравится ваше решение. Чисто технически C#/Net - генерирует более совершенный исполнимый код. И он и должен работать быстрее.

    Дайте шанс c# приложению. Запустите под профайлером и найдите тот алгоритм или кусок кода который работает медленно.

    Иначе вместо одной проблемы вы получите две новых. Python не славится рациональным хранением коллекций в памяти. Может быть еще хуже.
    Ответ написан
    Комментировать
  • Как декодировать JSON содержащий кириллицу?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Можно попробовать через

    $ iconv --from-code=win1251 --to-code=utf-8 ............
    Ответ написан
    Комментировать
  • Почему именно при таком обращении к матрице мы получаем все ее элементы?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Ты работаешь скорее всего не с матрицей а с зубчатым массивом (jagged array). Или его еще называют
    массив массивов. Кстати строки этого массива вовсе не обязаны быть равными. Тоесть не квадрат.
    Их можно делать разного размера. И если смотреть на них сбоку - то получается картинка "зубов".

    *(*(matrix + i) + j)
    в данном выражении идет 2 разыменования. Первый - прыжок на зуб. И второе - прыжок к нужной ячейке
    массива зуба.

    В альтернативном варианте - можно создать просто массив из 100 элементов и доступ получать по формуле

    matrix = new int[100];
    cout << matrix[j + i * 10]


    И этот подход более рациональный с точки зрения менеджера памяти. Мы выделяем 1 кусок а не 10.
    Что вобщем экономит память т.к. аллокатор может резервировать больше памяти чем мы запрашиваем.
    И с точки зрения когерентности по памяти это лучше т.к. мы точно знаем что соседние строки матрицы
    лежат физически рядом а не разбросаны черт знает где.
    Ответ написан
    3 комментария
  • Возможно ли использовать смартфон в качестве устройства графического вывода компьютера?

    mayton2019
    @mayton2019
    Bigdata Engineer
    В этом нет особого смысла. Ведь смартфоны всегда меньше чем стандартные мониторы.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    На всякий случай. Домик - это не возведение в степень а булева операция xor.
    Ответ написан
    2 комментария
  • Изменить текст в clob по все таблице?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если CLOB длиной меньше чем 32 килобайта то его можно конвертить в varchar и решать задачу как с обычной строкой.

    Вот описание пакета DBMS_LOB и функции SUBSTR https://docs.oracle.com/cd/B19306_01/appdev.102/b1...
    Ответ написан
    Комментировать
  • Какую выбрать СУБД, если в день может быть более 11млн записей?

    mayton2019
    @mayton2019
    Bigdata Engineer
    11 миллионов inserts в день - это 127 в секунду. При такой нагрузке справится любая современная БД. Ну я не знаю таких чтоб не справлялись. Делайте только короткую буферизацию и batch-insert пачками по 100 - 1000 чтобы оптимизировать сетевой roundtrip.

    Есть специализированные NoSQL системы такие как RocksDb, Tarantool в которых именно много оптимизаций сделано было для быстрой вставки. Они выдерживают и во много раз быстрее.

    И в данной задаче нужно также спросить бизнес - как быстро данные нужны к чтению пользователя. Нужно сию секунду чтоб они отобразились на UI или можно подождать пару минут или часов.
    Ответ написан
    1 комментарий