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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Насколько я понимаю TensorFlow - это коробочное решение от Гугла которое также поддерживает специальное железо TPU (Tensor Processing Unig) которое работает лучше чем вычисления на видеокартах.

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

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Дружище Корень

    Я вместо ответа дам тебе несколько советов.

    Первое. Тема Ферма является толстым троллингом для всех кто знает математику. И эксперты qna мне кажется ощущают от тебя усталость. Ты достаточно много продуцируешь потока сознания и это не идет на пользу. Лучше напиши 1 вопрос в неделю но обдумай. Второе Есть разница между операцией деления "/" в Python и в языках C++/Scala. Результат разный. Можно получить 5/2 = 2.5 или можно получить целое 2. Это очень важно для тех кто читает код. И это кардинально меняет взгляд на твою формулу которую ты пишешь в самом начале. Поэтому всегда обозначай язык разработки. Это поможет читающим понять формулу. Иначе будут обиды и непонимания. И если ты тегируешь топик Математикой то не стоит писать всякие исходники с inserts. Это раздражает. Раздели свои проблемы на части. Так будет лучше. Третье. Если ты выступаешь медиатором между Microsoft Bing и прочими чатами то - обозначь это. Пускай это будет джентльменское соглашение. Я всегда пишу если мой ответ был получен с GPT. Тоесть я разделяю за что я лично отвечаю и за что всякие AI.
    Ответ написан
    5 комментариев
  • Как правильно реализовать алгоритм Дейкстры в Python с применением ООП?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Графы и графовые алгоритмы являются хорошим краш-тестом для memory. Очень сложно придумать оптимальную структуру для графа чтоб было и экономно и быстро искать исходящие и входящие ребра в вершину.

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

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Нет. Ничего больше не нужно делать. Вообще не нужно делать никаких действий которые нельзя доказать или как-то протестировать. Иначе программирование превращается в черную магию и колдунство.
    Ответ написан
    Комментировать
  • Mysql постоянно отваливаеться, to many connection, connection refused, как оптимизировать?

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    На сайте sqlite https://www.sqlite.org/datatype3.html перечислено действительно 5 storage classes. Насколько я понимаю создатели решили что эти storage classes являются как-бы супер-типами для всех прочих типов данных.
    Прочие типы данных как-бы конкретизируют эти storage classes.

    Почему студия показывает только эти - чорт его знает. Но разве это вас ограничивает в написании своего ddl ?

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    В более крупном масштабе это не работает. В географических справочниках и классификаторах есть одна
    проблема. Адресная строка - неформализуема.

    В разных странах и государствах после уровня страны например не всегда идут города или области. Там могут
    быть более сложные объекты (федеральные земли, периферии). И хуже того они могут стоять на разных уровнях. Улицы одного города могут внезапно иметь двойников (после слияния поселков к примеру). Могут быть улица Ленина, проспект и бульвар и переулок того-же имени.

    Вобщем если вы хотите иерархию - то можно делать иерархию. Но нельзя гарантировать жесткую типизацию для какого-то уровня. И с уникальностью - косяки.
    Ответ написан
    2 комментария
  • Загрузить 1000 маленьких картинок за 1 request?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Можно попробовать создать texture atlas. Разместить 1000 картинок на одной большой и скачивать за 1 реквест.
    Ну а потом средствами канваса резать их как колбасу для публикации.
    Ответ написан
  • Как подготовиться к Олимпиаде по криптографии?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если честно я впервые слышу именно про такую олимпиаду. Обычно идут Математика или Информатика. Совершенно не представляю какие задачи могут там (в криптографии) быть.

    Вообще. Есть только один способ готовиться к олимпиаде. Брать задачники и
    прорешивать задачи каждый день. По несколько часов. По программированию
    у меня был один такой задачник образца 2000х годов. Там почти все решения
    задач на Pascal.
    Ответ написан
    Комментировать
  • Почему запрос медленно выполняется MariaDB?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Звездочка * означает что все найденные документы будут физически переданы по сети на клиента.
    Поэтому твои два эксперимента надо расширить. Проверить чем отличались условия с точки зрения
    сети. Куда (как далеко) пердавались эти 1000 документов.
    Ответ написан
    Комментировать
  • Как из Flux собрать массив JSON?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    При чем здесь Flux и Mono к JSON? Это разные уровни смыслов. А если-бы ты c XML работал? Ты явно указываешь getObjectsAsFlux зачит и будел флюкс. А если тебя смущает массив внутри респонса то оберни его объектом и будет тебе всегда объект.
    Ответ написан
  • Как объединить значение двух файлов и внести в переменную?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я просто оставлю это здесь. Пусть полежит.
    $ paste --help
    Usage: paste [OPTION]... [FILE]...
    Write lines consisting of the sequentially corresponding lines from
    each FILE, separated by TABs, to standard output.
    
    With no FILE, or when FILE is -, read standard input.
    
    Mandatory arguments to long options are mandatory for short options too.
      -d, --delimiters=LIST   reuse characters from LIST instead of TABs
      -s, --serial            paste one file at a time instead of in parallel
      -z, --zero-terminated    line delimiter is NUL, not newline
          --help     display this help and exit
          --version  output version information and exit
    Ответ написан
    2 комментария
  • 2 программы в одной?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Поскольку автор никак не обозначает синхронизацию между ними - то задача выглядит как запуск двух независимых джобов. Это можно сделать в linux/bash например вот так

    $ ./app1 &
    $ ./app2 &


    И потом через команду jobs наблюдать их статус. Работают или нет.
    Ответ написан
    Комментировать
  • Отслеживание действий процессов в отношении других процессов в Windows?

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

    Вообще для всех современных ОС память процесса недоступна для модификации из другого процесса пользовательского уровня доступа. Что могут делать процессы? Воздействовать на объекты ОС (файлы, сокеты, named-pipes, mailslots e.t.c.). И таким образом косвенно влиять на другой процесс. Такое влияние вы ищете?

    Утилит наблюдающих за записью в файловую систему или реестр - много. Но чтоб с ними работать нужно иметь какой-то опыт. Иначе вы просто потонете в океане информации которую они продуцируют. Нужно уметь фильтровать нужное. Тоже самое к анализу сетевого трафика.

    P.S. Не обижайтесь на ответы экспертов qna. Они сердятся потому-что ваш вопрос звучит, как вопрос гуманитария который чем-то встревожен но никакой конкретной информации не дает. Словом - паранойя. Эксперты ожидают технического задания а не "я вот чего-то боюсь сам не знаю чего".
    Ответ написан
    1 комментарий
  • Как исправить код?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Эта программа считает определители 3 порядка. Теряется красота С++ и обобщение.

    Математически можно считать определители 4 порядка через миноры матрицы понижая размерности до тех
    пор пока мы не дойдем до 3 порядка рекурсивно. И тогда сработает формула с хардкодом

    a[1][1] * a[2][2] * a[3][3] + a[1][2] * a[2][3] * a[3][1] + a[2][1] * a[3][2] * a[1][3] - a[1][1] * a[2][3] * a[3][2] - a[1][3] * a[2][2] * a[3][1] - a[3][3] * a[1][2] * a[2][1];


    Так можно посчитать 5 и 6 порядок и выше.

    Очень жаль что автор не фокусируется на сути, называя "код" просто "кодом". А ведь это метод расчета чего-то конкретного.

    Представтье что музыкант любое произведение называл бы просто "нотами". Странно правда?
    Ответ написан
    Комментировать
  • Как можно сделать перебор по массиву быстрее?

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

    Что по поводу этого куска кода думает бизнес? Его это беспокоит? Действительно ли этот кусов влияет на какую-то внешнюю оценку. Может он работает в составе джоба и занимает 1% времени?

    Откуда вообще возникает list? Если из базы данных - то возникает вопрос. Можно ли сделать UPDATE прямо в базе данных без пере-сохранения в объекты.

    Если надо только в объектах и если накладные расходы идут на объекты - то можно попробовать развернуть объекты на 90 градусов и сделать из них массивы примитивов. По ним поиск пойдет быстрее. Но такой подход
    специфичен для bigdata, где есть WORM (Write Once Read Many). И нужно еще доказать что разворачивание объектов даст в итоге полезный эффект ведь накладные на сам процесс разворачивания никто не отменял.
    Ответ написан
    Комментировать
  • Для каких задач важнее однопоток?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Все современные задачи делятся условно на 2 категории. CPU-bound. IO-bound.

    Первые. Это рендеринг графики. Игры. Численные методы. Майнинг. И все такое. Под это делают разбиение задачи на Processes (Windows/Linux), Threads (Posix). Короче бьються на независимые части и запускаются на отдельных процессорах или ядрах или потоках железа. В таком случае загрузка железа максимальна и отдача максимальна. Биг-дата джобы сюда-же можно положить.

    И второй тип задачи - это современные бизнес приложения которые большую часть времени (ну допустим 80%)
    стоят на паузе и слушают сетевой порт. И как только что-то прилетает они начинают активничать. Практика показала что большую часть таких задач можно запускать в 1 потоке и все будет нормально. Главное чтоб обработчик долго не тупил. Отработал свой реактивный евент. Или там MQ событие или событие актора и перекинулся на следующее.
    Вот. Если грамотно делать второй тип то на 10 потоках ОС можно запустить тысячи акторов или веб-хендлеров бизнес приложения и все будет норм. Тоесть мы фокусируемся на том что I/O важнее.

    Попытка смешивать эти юзкейсы или менять местами приводила к проблемам. Например если запускать много потоков ОС в рамках одной бизнес задачи то они очень быстро зацепятся за какой-то глобальный объект (mutex, critical section) и большее число времени процессора будет тратиться не на бизнес задачу а обслуживание этой конкуренции. Вобщем конкарренси - это страшная беда. И парадоксально но увеличение числа ядер или процессоров даже не решают проблему конкарренси а усугубляют. Есть доклад по Erlang на эту тему. И вообще самое лучшее конкарренси - это когда его нет.

    Есть еще статья Стоунбрейкера (создатель Postgresql) где он рассуждает на тему куда сгорают мегафлопы в современных dbms под нагрузкой и приходит к очень печальным выводам. Почитайте. Это тоже в тему CPU-bound.
    Ответ написан
    Комментировать
  • Как используются "магические константы" в реальных реализациях?

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

    Почитай Генри Уоррена - Алгоритмические трюки для программистов. Там есть всякое. Деление через умножение на магию. Умножение через сдвиги. Дискретные логарифмы и корни и прочее.
    Ответ написан
    Комментировать
  • Как установить linux на general satellite C592?

    mayton2019
    @mayton2019
    Bigdata Engineer
    В вопросе нет целеполагания.

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

    Установка линукса может пройти успешно но после этого успеха будет кирпич с линуксом. И что автор
    собирается дальше делать с этим кирпичом - непонятно. Тоесть хотелось-бы услышать следующий шаг.
    Ответ написан