• Как называются такие анимации, и как их делать?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    Это изолинии.
    https://ru.wikipedia.org/wiki/%D0%98%D0%B7%D0%BE%D...
    Срез 3D-поверхнисти по оси Z с определённым шагом.
    Итеративно смещаешь Z и получаешь плавную анимацию
    Ответ написан
    3 комментария
  • Для каких задач Node.js является более приоритетным выбором среди других платформ?

    @MikUrrey
    Реактивные веб-сайты.
    Есть такой термин: Server Side Rendering, упоминается чаще всего в связи с технологиями Vue и React.
    Реактивные фреймворки "собирают" контент на клиенте, а node js позволяет тот же код использовать на сервере, чтобы он мог отдавать странички, готовые для СЕО.

    Кроссплатформенные мобильные приложения.
    Создаются по технологии React Native и подобным.

    Кроссплатформенные приложения для РС.
    Это, обычно, фреймворк Electron. Например, популярный нынче VS Code создан по такой технологии.
    Ответ написан
    Комментировать
  • Как асинхронная программа(event loop) понимает, что пришел ответ от сервера?

    bingo347
    @bingo347
    Crazy on performance...
    Что-бы понять асинхронность полностью придется постепенно опустится на самый низкий уровень, вплоть до железа. Но начать стоит с самого верха - с уровня нашего приложения.

    Итак, мы пишем на нашем высокоуровневом любимом языке, неважно JS/Rust/C#/Scala/Python или любой другой. В современном мире у нас скорее всего есть какая либо абстракция для работы с асинхронными апи, предоставляемая или стандартной библиотекой языка или сторонними библиотеками. Она может быть примитивной и основанной на колбэках или более продвинутой, вроде Future/Promise/Task или чем-то подобным. Иногда наш язык предоставляет синтаксис наподобие async/await для более простой работы с этими абстракциями, а иногда асинхронная работа может вообще быть скрыта от нас в рантайме языка, например как с горутинами в Go. Но в любом случае где-то под капотом у нас будет event-loop, а иногда и не один, так как никто не запрещает нам писать многопоточку в то же время используя асинхронные вызовы.

    Сам event-loop - это не более чем обычный while(true) или любой другой бесконечный цикл. И внутри этого цикла наша программа имеет доступ на извлечение к некоторой очереди (если не знаете, что это за структура данных, то погуглите), которая содержит в себе результаты уже обработанных задач. Программа берет очередной результат, находит ожидающий ее колбэк/Promise/Future/Task и запускает выполнение ожидающего кода. Очередей опять же может быть несколько и обрабатываться они могут по разному, но это не важно. Важно то, что наш основной поток (или потоки) ничего не знают, о том как выполняются асинхронные задачи. Он лишь смотрит, есть ли в очереди результат, и если есть - обрабатывает его, а если нет, то принимает решение или выйти из цикла (и завершить поток, а иногда и весь процесс) или уснуть пока новых результатов не появится.

    Но откуда же в очереди берутся результаты? Надо понимать, что асинхронная программа почти всегда многопоточная и результат операций попадает в очередь из фоновых потоков, которые просто блокируются в ожидании нужного ресурса (или сразу многих ресурсов, если используют системные апи вроде epoll или kqueue). Как правило такие фоновые потоки большую часть времени находятся в состоянии ожидания, а значит не потребляют ресурсы CPU и не попадают в планировщик ОС. Такая простая модель действительно позволяет сильно экономить ресурсы по сравнению с моделью, где множество потоков выполняют по 1 задаче и самостоятельно ожидают свои запросы.

    Важно отметить, что в современном мире даже на среднеуровневых языках, вроде C или C++, не говоря уже о высокоуровневых, не реализуют асинхронность сами. Во-первых, на разных ОС для этого используются разные апи. Во-вторых, эти апи на разных ОС умеют обрабатывать разные типы ресурсов (с сетью вроде как умеют работать все основные ОС, но помимо сети асинхронно можно работать с пользовательским вводом, диском и периферийными устройствами, вроде сканеров, вебкамер и прочего цепляемого в usb). Наибольшую популярность (ИМХО) имеет кроссплатформенная библиотека libuv, хотя в Rust принято использовать mio (или даже абстракции над ней, вроде tokio), в C# подобные механизмы есть в .NET Core, а в Go оно уже зашито
    в те самые 1.5МБ рантайма, что Go засовывает в каждый бинарь
    (там правда еще и GC, но один фик это много и достойно вынесения в динамическую либу)


    Ок. С прикладным кодом вроде разобрались. А что же происходит в ядре ОС? Ведь, как писалось выше, у нас даже есть апи, чтоб ждать запросы пачкой. Все просто. Ядра ОС стали асинхронными еще до того, как это стало мейнстримом, если мы конечно имеем дело не с ОС реального времени (но у нас же винда/линь/мак/фряха, а не ОС для бортового компа боинга, где это критично). Смотрите, когда что-то происходит на внешней периферии (ну например диск запрошенные данные прочитал или по сети данные пришли, или юзер мышкой дернул), то формируется прерывание. CPU реально прерывает свою текущую работу и бежит смотреть что случилось, точнее вызывает обработчик предоставленный ОС. Но у ОС то есть основная работа, поэтому она скорее старается освободить обработчик и просто скидывает все данные в оперативку, а разбираться будет потом, когда очередь дойдет. Ничего не напоминает? Очень похоже, на то что происходило в event-loop, только вместо фоновых потоков "результаты" попадают в очередь из прерываний. А уже когда-то потом ОС отдаст данные в драйвер устройства, ну и т.д., пока они не дойдут до нашего прикладного приложения. Вот и все, никакой магии.
    Ответ написан
    3 комментария
  • Как подключать библиотеки, используя MinGW?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега MinGW
    Седой и строгий
    gcc -L<путь до каталога с библиотеками> -l<имя библиотеки>
    Ответ написан
    9 комментариев
  • В файловой системе FAT16 что из себя представляет папка?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Комментировать
  • Как исправить эту ошибку nodejs, typescript?

    bingo347
    @bingo347 Куратор тега Node.js
    Crazy on performance...
    Нода не умеет typescript

    Вариант 1: скомпилировать
    устанавливаем:npm i typescriptи запускаем$(npm bin)/tsc examplesестественно нужен tsconfig.json
    Вариант 2: ts-node
    устанавливаем:npm i typescript ts-nodeи запускаем
    $(npm bin)/ts-node examples/upload-story.example.ts
    Ответ написан
    Комментировать
  • Как отправить post запрос typescript?

    mmmaaak
    @mmmaaak
    Ответ написан
    Комментировать
  • Как я могу вызвать функцию c++ из python?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Ответ написан
    Комментировать
  • Как вызвать public static async Task в Main?

    Chronicler
    @Chronicler
    Программист
    Сделать Main возвращающим async Task и уже в нем эвэйтить что угодно.
    В настройках проекта поставьте версию языка 7 или 8
    Ответ написан
    Комментировать
  • Чем нейронные сети отличаются от ИИ?

    kshnkvn
    @kshnkvn
    yay ✌️ t.me/kshnkvn
    5e7096d14cca5837411277.jpeg
    Искусственный интеллект — название всей области, как биология или химия.

    Машинное обучение — это раздел искусственного интеллекта. Важный, но не единственный.

    Нейросети — один из видов машинного обучения. Популярный, но есть и другие, не хуже.

    Глубокое обучение — архитектура нейросетей, один из подходов к их построению и обучению. На практике сегодня мало кто отличает, где глубокие нейросети, а где не очень. Говорят название конкретной сети и всё.

    источник
    Ответ написан
    Комментировать
  • Чем нейронные сети отличаются от ИИ?

    profesor08
    @profesor08
    ИИ это концепция, к которой все стремятся, но на текущем уровне развития человечества, это нечто бесконечно недостижимое, и на данные момент времени НЕ СУЩЕСТВУЕТ НИ В КАКОЙ ВИДЕ.

    Все, где используется эта аббревиатура - фикция для привлечения внимания и повышения популярности среди тех, кто не в теме и не разбирается.

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

    @andreysuha
    Что то знаю
    function test(a, b=null, c=null) {
        console.log(a);
         if(b) console.log(b);
         if(c) console.log(c);
    }
    
    test(1) // консоль: 1
    test(1, 2) // консоль: 1, 2
    Ответ написан
    Комментировать
  • Как называется расширение файла для запуска html на компьютере без браузера?

    @Dolosweb Автор вопроса
    Решено: Это был формат .hta можно писать безбраузерные приложения + поддержка javascript

    HTML Application — приложение Microsoft Windows, являющееся документом HTML, отображаемым в отдельном окне без элементов интерфейса обозревателя таких как строка меню, строка адреса, панель инструментов с помощью движка Microsoft Internet Explorer.
    Ответ написан
    8 комментариев
  • Какие есть перспективы создания проекта на кикстартере?

    Zoominger
    @Zoominger
    System Integrator
    Допустим я хочу сделать игру, но у меня нет средств для привлечения программистов, но допустим есть хорошая идея которая по моему мнению заинтересует людей...

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

    gbg
    @gbg Куратор тега C++
    Любые ответы на любые вопросы
    Способов очень много. Некоторые от них зависят от применяемой ОС, некоторые - нет. Все зависит от решаемой задачи - нет смысла переписывать сюда учебник.
    Ответ написан
    Комментировать
  • Пропадает память. Как тренировать?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Необходимо найти баланс. Это трудно.
    1. Охранять сон. Послать всех куда-подальше и начать высыпаться.
    2. Ограничить рабочее время. Привет режим с 8 до 5. Я серьезно.
    3. Физическая активность. Заставьте себя ходить хотя бы час в день. Полчаса на работу, полчаса с работы. Выходите на несколько остановок раньше и идите. Если добираетесь на своем транспорте - паркуйтесь дальше от офиса.
    4. Отдых со сменой обстановки - поехать в другой город, на дачу, навестить родителей. Например можно поехать в соседний город. В Москве - в район, где не были или в подмосковье. Обязательно, чтобы была смена обстановки и внешнего вида. В этом плане здорово влияет рыбалка с удочкой в одиночку. Помогает расслабиться, неспешно подумать обо всем. Успокаивает нервы.
    5. Отказаться от вредных привычек. Не переедайте, не курите, не бухайте чересчур. Полностью и резко отказываться не надо, а уменьшить можно.
    6. Жене один раз сказать, что если не перестанет на вас орать, то к 45 вместо вас у нее останется холмик сырой земли. И если у нее есть с этим проблемы, пусть идет к психологу.
    7. Выгружать мелочи из головы в семейный календарик, приучать жену к нему (у меня так много знакомых делает, у кого несколько детей, там секции, праздники, всякие расписания).
    Ответ написан
    1 комментарий
  • Как отправить сообщение с шифрование SSL/TLS в Winsock2?

    @res2001
    Developer, ex-admin
    Используйте openssl или аналогичные библиотеки.
    Ответ написан
    4 комментария
  • Как подключить стороннюю библиотеку к проекту Qt через CMake?

    @res2001
    Developer, ex-admin
    Конечно же в target_link_libraries, просто добавьте имя библиотеки в конце через пробел
    Но обычно используют find_package/find_library/pkg_check_modules для того, что бы предварительно определить установлена ли библиотека в системе. А в target_link_libraries добавляют переменные, которые инициализируются этими функциями.
    Смотрите: https://cmake.org/cmake/help/latest/genindex.html
    Ответ написан
    7 комментариев