• Как развернуть связный список на golang?

    zagayevskiy
    @zagayevskiy
    Android developer at Yandex
    Примерно так же как на любом языке. Го не знаю, так что сорри.
    func (l *LinkedList) Reverse() {
    
      var cursor *ItemLL := l.head
      var prev *ItemLL := nil
    
      for cursor != nil {
        var next := cursor.next
        cursor.next := prev
        prev := cursor
        cursor := next
      }
       l.head := prev
    }
    Ответ написан
    6 комментариев
  • На чём разрабатываются плагины для OBS?

    chupasaurus
    @chupasaurus
    Сею рефлекторное, злое, временное
    Donationalerts - отдельное приложение, передающее свой виджет через плагин Browser input. Собственно этот плагин ввода - самый ходовой для интерактивных виджетов, соответственно без Javascript не обойтись, а бэкенд может быть любой.
    Плагины непосредственно для OBS пишутся на C/C++ и Objective-C под macOS, бывают всего 4 видов:
    • Input — рендер медиа-контента для добавления в сцену
    • Output — вывод куда-либо, собственно они отвечают за запись локально и стриминг
    • Encoder — используются output-ами для кодирования аудио/видео
    • Service — настройки вещания для разных стриминговых площадок
    Ответ написан
    2 комментария
  • Как анализировать источники лидов, когда реклама идет через маркет-платформу?

    iiiBird
    @iiiBird
    Пока ты спишь - твой конкурент совершенствуется
    ставь utm метки на ссылки и в каждой группе используй уникальную ссылку.
    сокращать через https://vk.com/cc
    Ответ написан
    3 комментария
  • Как сделать общий background на два блока?

    DimaDSblog
    @DimaDSblog
    Пытаюсь разобраться во всем этом
    Может быть для этих двух блоков сделать один общий родительский, для родителя сделать целевой фон, а у обоих дочерних блоков фон сделать прозрачным.
    Получится, что-то вроде
    <section class="parent">
    <div class="child-1"></div>
    <div class="child-2"></div>
    </section>
    Ответ написан
    1 комментарий
  • Как запретить Хрому загружать вкладки при запуске до загрузки всех расширений?

    @Vdv29
    Слава Исусу Христу.
    Если ос = окна то реализовать софтом аналогичным.
    но анонимность и окна или андроид это как негры жители северного полюса!

    если софт линукс+тор то анонимность хоть какая то реальней.
    можно еще перейти на хромиум или мозилу . ну и запретить в настройках авто запуск вкладок..
    есть еще фаерволы которые блочат и принудителько анонимизируют траффик все кроме соединений через тор например. (минимум пару образов дебиан для виртуальной машины качать, а лучше шлюз - системник настроить)

    вообще из виртуальной линукс машины хорошо выходить в даркнет если анонимнус интересует
    Ответ написан
    2 комментария
  • Можно ли доверять сервису Proton Vpn?

    fzfx
    @fzfx
    18,5 дм
    а подвох всё тот же, что и всегда. вы были у них на сайте? читали правила предоставления сервиса? что там написано о том, какие вам будут компенсации, если в процессе ошибки со стороны сервиса вы понесёте... скажем так, убытки? произойдут с их стороны ошибки?
    Ответ написан
    Комментировать
  • Кто хорошо знаком и желательно специализируется на алгоритмах?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Чтобы написать Алгоритм нужно знать предметную область.
    Учителя по Алгоритмам не существует, это общее понимание о математическом складе ума и понимании предметной области. Например, чтобы составить математический алгоритм, надо знать математику.

    Чтобы составить алгоритм как накачать мышцы, надо примерно разбираться в биологии, питании и спорте.

    И так далее.
    А Алгоритм отдельно от предметной области - абстракция.
    Ответ написан
    Комментировать
  • Как сделать графику 2D в игре (программы, методика)?

    Algoritm18
    @Algoritm18
    Программист - самоучка
    Привет, слушай для начала тебе бы уйти с драгон бонс и перейти в Spriter. Если ты начинающий то он тебе больше подойдёт, там всё более просто и не требует спец навыков. Разобраться легко, я если что могу даже объяснить в Discord. И кстати, посмотри канал "Флатинго" (не реклама) там ты узнаешь о векторе, мне кажется что он симпотнее и проще чем флеш.
    Ответ написан
    1 комментарий
  • Почему я не могу создать анимацию в Unity 2D?

    GavriKos
    @GavriKos Куратор тега Unity
    Потому что надо читать что написано. У вас не выбран объект, который вы хотите анимировать.
    Ответ написан
    1 комментарий
  • Зачем существует registry в lua?

    @zedxxx
    Об этом подробно написано в документации: https://www.lua.org/manual/5.3/manual.html#4.5

    Lua предоставляет реестр, предопределенную таблицу, которая доступна C коду для хранения любых Lua значений. Таблица рееста всегда расположена по псевдоидексу LUA_REGISTRYINDEX. Любая C библиотека может хранить данные в этой таблице, но она должна заботиться о выборе уникальных ключей, чтобы избежать коллизий с другими библиотеками. Обычно, вы должны использовать в качестве ключа строку содержащую имя библиотеки, или легкие пользовательские данные (light userdata) с адресом C объекта в вашем коде, или любой Lua объект созданный вашим кодом. Как и имена переменных, ключи, начинающиеся с подчеркивания со следующими за ним прописными буквами, зарезервированы для Lua.

    Целочисленные ключи в реестре используются механизмом ссылок (см. luaL_ref) и некоторыми предопределенными значениями. Следовательно, целочисленные ключи не должны использоваться для других целей.

    Когда вы создаете новый Lua контекст, его реестр содержит некоторые предопределенные значения. Эти предопределенные значения индексируются целочисленными ключами, определенными как константы в lua.h. Определены следующие константы:

    • LUA_RIDX_MAINTHREAD: По этому индексу в реестре расположен главный поток контекста. (Главный поток создается при создании контекста.)
    • LUA_RIDX_GLOBALS: По этому индексу в реестре расположено глобальное окружение.


    Так же, есть небольшой пример использования в Programming in Lua: https://www.lua.org/pil/27.3.1.html
    Ответ написан
    4 комментария
  • Какие языки программирования лучше всего оплачиваются в России, США и Европе?

    @mamontm
    Оплачиваются не языки программирование.

    Оплачивается умение ими пользоваться.

    Есть буквально одно исключение - Cobol.
    Это один из старейших языков программирования, на котором начали писать еще тогда когда ваши родители еще не родились.
    Приходится иметь дело с очень древними программами, причем выполняющими весьма ответственные вещи, где высока цена ошибки (первыми, кто мог позволить себе компьютеры был очень крупный бизнес)

    о наблюдениям сервиса «Мой круг» в России последние пару лет по зарплатам лидируют...

    Вы неверно интерпретируйте данные.

    Просто ряд языков чаще используется в недорогих простых проектах. Что не отменяет их же использование в дорогих проектах. Но искажает понятие "средняя зарплата".

    Плюс недорогих проектов всегда намного больше. Что еще более искажает понятие "средняя зарплата".

    Ну то есть математически-формально всё так как описано в обзоре зарплат.

    Но вас же интересует, поди, сколько лично вы будете зарабатывать, если смените язык?
    А ваш заработок связан вовсе не с языком - а с тем, что вы в этом случае будете и с другим работодателем работать и опыта постепенно набераетесь.

    Причём если Scala и Elixir два года назад по зарплатам опережали прочие языки с сильным отрывом и за последние годы выросли по зарплате несильно, то Go и Objective-C за эти же два года совершили сильный отрыв от остальных языков и догнали Scala и Elixir

    Все упомянутые нельзя назвать распространенными на простых (то бишь на дешевых) проектах.

    P.S.:
    Узнаю типичный страх начинающего новичка (и типичное заблуждения уже начавшего новичка, который уже успел разочароваться в том, что ему не предлагают сходу 100 500 миллионов баков в месяц, как об этом все трубят) -

    "Я выучу не тот язык и карьера будет погублена"
    "Я выучу тот язык и карьера пойдет вверх".

    Язык не важен - достаточно выбрать любой язык из мейнстрима, чтобы просто на нем было можно найти работу (или, если вы в маленьком населенном пункте и будете работать не удаленно - тогда выбор языков вообще мал).

    Важно ваше умение программировать. А это понимание/знание - алгоритмов, парадигм, концепций, паттернов.

    Эти вещи из языка в язык повторяются.
    Трудно выучить только первый.

    Сменить язык программисту с опытом - не сложно.
    Ответ написан
    8 комментариев
  • Как правильно минимизировать булеву функцию?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Исходная функция у вас не в одной из нормальных форм. Минимальная форма же определена именно для ДНФ и КНФ.
    ДНФ - значит, что выражение записано в виде множественной дизъюнкции, каждый член которой - конъюнкция переменных или их инверсий.
    МДНФ - это такая запись ДНФ, в которой количество членов в дизъюнкции минимально.
    Для КНФ всё аналогично.
    Об минимальном количестве общего числа операций тут речи не идёт.
    А для программы надо составлять выражение таким образом, чтобы при вычислении получать результат как можно раньше. Например, если у вас A = false, то (B∨C∨D) вообще не будет вычисляться.
    Ответ написан
    1 комментарий
  • В чем отличие между статической/динамической типизацией и явной/неявной?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Явная типизация - это вариант статической типизации, при котором требуется явно объявлять типы переменных. При неявной статической типизации решение о типе принимается компилятором на основе размещаемых в переменной данных без явного указания типа (auto в C++).
    Ответ написан
    Комментировать
  • Можно ли расположить табы листов в экселе в 2 ряда?

    longclaps
    @longclaps
    Нет, но можно почитать полезные советы от таких же страдальцев.
    Ответ написан
    Комментировать
  • Оцените сборку игрового пк?

    longclaps
    @longclaps
    ССД только под виндовс
    Такой не годится, бери универсальный.
    Корпус GameMax Elysium White
    Такой не годится, бери черный.
    Процессор AMD Ryzen 5 2600 3.4GHz/16MB (YD2600BBAFBOX) sAM4 BOX
    Такой не годится, бери OEM
    Sapphire PCI-Ex Radeon RX 570 Pulse OC 8GB GDDR5 (256bit) (1284/7000) (2 x HDMI, 2 x DisplayPort) (11266-66-20G)
    Такая не годится, бери Nvidia.
    Материнская плата MSI B450M PRO-VDH MAX (sAM4, AMD B450, PCI-Ex16)
    Такая не годится, бери Asus.
    Chieftec Eco GPE-600S 600W
    Такое не годится, бери Seasonic platinum 750W.
    Оперативная память HyperX DDR4-3200 8192MB PC4-25600 Fury Black (HX432C16FB3/8)
    Ничтожно мало.
    Жесткий диск Western Digital Blue 1TB 7200rpm 64MB WD10EZEX 3.5 SATA III
    Рухлядь.
    Ответ написан
    4 комментария
  • Как получить самый последний самый вложенный элемент?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Рекурсия. Обходим дочерние элементы, смотрим уровень вложенности:

    const walk = (el, level = 0) =>
      [...el.children].reduce((p, c) => {
        c = walk(c, level + 1);
        return p.level > c.level ? p : c;
      }, { el, level });
    
    const getLastDeepestElement = root => walk(root).el;

    Если же под последним самым вложенным подразумевается элемент, получаемый постоянным выбором последнего вложенного элемента, то тогда так:

    const getDeepestLastElement = el =>
      el.lastElementChild
        ? getDeepestLastElement(el.lastElementChild)
        : el;
    
    // или, без рекурсии
    const getDeepestLastElement = el => Array
      .from(el.querySelectorAll('*'))
      .pop() || el;
    Ответ написан
    Комментировать
  • 25 600 движущихся спрайтов?

    Griboks
    @Griboks
    Да, помогут. Ещё не забывайте использовать профайлер. Также используйте трансформ, а столкновения проверяйте сами. Кроме того, используйте лайфхаки, типа проверять x2-x1 вместо пересечения границ, использовать квадрат расстояния и т. д.
    Кроме самой физики, советую оптимизировать графику, в частности спрайты.
    Ответ написан
    Комментировать
  • Является ли вторжением в личную жизнь использование приложения, которое отслеживает, в какое время человек спит?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    историю звонков, смс, писем, соц. сети и мессенджеры

    Никогда не поставлю такое приложение.
    приложение просто смотрит, когда человек проявляет активность

    Подразумевается, что я не выпускаю телефон из рук? Я пришел домой, закинул телефон на диван, сел за комп и погрузился в игруху, из которой "вынырнул" часов через шесть. Я в это время спал или нет? :)
    Ответ написан
    6 комментариев