Задать вопрос
  • Сайты для государственных учреждений нужно делать только на Битриксе?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Нет.
    Ответ написан
    Комментировать
  • После включение Secure Boot тупит компьютер, что делать?

    yakovlev_13
    @yakovlev_13
    Шаманство, экзорцизм и некромантия.
    выключи Secure boot в биосе
    Ответ написан
    Комментировать
  • IT с медицинским образованием - реально?

    Разработка мндицинского по
    Ответ написан
    1 комментарий
  • Как упростить и убыстрить процесс переноса правок с docker на прод?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    То, что вам нужно называется "автоматизация доставки и развёртывания". CI/CD и прочее. На вашем сервере один раз настраиваете деплой с гит-репозитория и далее просто вносите ваши изменения в репозиторий, а дальше по скрипту всё само задеплоится. Только не забудьте настроить и отладить процесс отката изменений на любую другую версию.
    Ответ написан
    4 комментария
  • В каких случая стоит использовать usize?

    bingo347
    @bingo347
    Crazy on performance...
    Для операций сводящихся к арифметике указателей.
    Помимо непосредственно арифметики указателей сюда относятся индексация и длина слайсов/массивов/векторов/строк, capacity вектора/строки, размеры и выравнивание типов, смещение полей относительно начала структуры.
    Но в целом, где удобно, там и используйте, никто не запрещает использовать usize/isize как и другие int типы
    Ответ написан
    2 комментария
  • Как установить новый Android на Samsung Galaxy A3 (SM-A310F)?

    @Drno
    никак. сменить телефон
    а пишет что "файл не найден" потому что надо быть зарегистрированным
    Ответ написан
    Комментировать
  • Можно ли тянуть от оператора два кабеля интернета?

    @elderl
    Можно. Половина будет на одном, другая — на втором.
    Ответ написан
    3 комментария
  • Как настроить перенос текста через максимальную ширину, как в html?

    Ankhena
    @Ankhena
    Нежно люблю верстку
    Фикс размеры
    67f645d756e5b902308030.jpeg
    Левее - фикс ширина
    Ответ написан
    1 комментарий
  • Как проверить перемещается ли в памяти объект при "перемещении"?

    bingo347
    @bingo347
    Crazy on performance...
    При перемещении адрес на стеке изменится, а адрес памяти выделенной на куче - нет.
    Тут очень тонкий момент, который нужно понимать, данные которые мы помещаем в Box или Vec будут размещены на куче, но сами Box и Vec - это такие же структуры, как и любые другие, просто на них есть некоторая логика для управления памятью на куче, в случае 64 битной архитектуры и T: Sized, Box<T> будет занимать 8 байт на стеке и размер T на куче, а Vec<T> - 24 байта на стеке (указатель на начало, длина и фактически выделенная память) и размер T умноженный на capacity на куче.

    fn main() {
        let a = Box::new(42);
        println!("Stack address of a: {:p}", &a);
        println!("Heap address of a: {:p}", &*a);
        
        let b = a;
        println!("Stack address of b: {:p}", &b);
        println!("Heap address of b: {:p}", &*b);
    }
    Stack address of a: 0x7fff59586010
    Heap address of a: 0x58cf76717b10
    Stack address of b: 0x7fff59586018
    Heap address of b: 0x58cf76717b10
    Ответ написан
    Комментировать
  • Почему i? Почему переменную, используемую в циклах, обычно называют именно i?

    @alexalexes
    index. А вообще, индексы элементов массива пришли из математики - i, j, k для первых трех измерений.
    Просто, первыми компухтеры оседлали математики, отсюда и традиция в циклах использовать эти буквы.
    Ответ написан
    2 комментария
  • Rust как подключить внешний файл в модуле?

    bingo347
    @bingo347
    Crazy on performance...
    Структура модулей в крейте с точностью повторяет структуру файлов на диске, даже если модуль объявлен внутри модуля не вынесеного в отдельный файл.
    То есть одно и то же объявление mod db;будет искать файл в разных местах, в зависимости от того, где оно написано:
    • если написать в корне src/lib.rs то будет искать src/db.rs или src/db/mod.rs
    • если написать в модуле cmd внутри src/lib.rs то будет искать src/cmd/db.rs или src/cmd/db/mod.rs

    Но у меня большое подозрение, что Вы вообще не понимаете, как работает ключевое слово mod, ибо напихали его где только можно, включая сам db.rs (там будет искать src/db/db.rs кстати). Ключевое слово mod подключает модуль как дочерний того модуля, где оно написано. А для импорта имён нужно использовать use.

    И как верно подметил fenrir, если бы Вы внимательно прочитали растбук, то Вы бы это поняли.
    Ответ написан
    3 комментария
  • Rust как подключить внешний файл в модуле?

    fenrir1121
    @fenrir1121
    Начни с документации
    Я уже 3ч маучаюсь с этой ошибкой...
    А мог за 15 минут прочитать 7 главу растбука, где все разобрано.
    Ответ написан
    5 комментариев
  • Как перевести vanilla js класс в react среду?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    «Некоторую информацию» нужно хранить в стейте или менеджерах, «работать с DOM» нужно средствами Реакта, а для истории использовать соответствующие библиотеки. И вот от класса ничего не осталось, можно его удалить.
    Ответ написан
    Комментировать
  • Совместима ли материнка и этот блок питания?

    @apppostol
    Совместимы.

    ps.
    Вообще конечно про совместимость надо думать ДО покупки)
    И там в компе есть еще другие штуки, которые тоже требуют внимания касаемо совместимости.
    Ответ написан
    9 комментариев
  • Почему именно такой порядок вывода в консоль?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Исследования в первоначальной версии ответа (ниже) натолкнули на поведение, которое смог объяснить Jonas Wilms в ответе на SO.

    Возврат промиса из C1 then() создаёт ТРИ последовательных микротаска:
    1. NewPromiseResolveThenableJob, который вызывает then() на том уже отресолвленном промисе, что вернули в C1. И т.к. этот промис уже отресолвлен, сразу же в очередь вставляется следующий микротаск:
    2. NewPromiseReactionJob этого уже разрешенного промиса, и этот, в свою очередь, добавляет третью микрозадачу:
    3. ещё одну NewPromiseReactionJob, которая уже выводит в лог "2".


    Если возвращать не промис (и не thenable объект), а "простое" значение или undefined, то добавляется всего один микротаск.

    Раньше подобная задержка в три шага была и для await, но потом её оптимизировали в движке V8. А вот про then() забыли.

    Подробнее стоит посмотреть ответ на SO, ссылка в начале.

    [первая версия ответа]

    Интересный вопрос! Больше экспериментов.
    Вспомогательная функция для читаемости:
    const log = (value, returnPromise) => () => {
      console.log(value);
      if (returnPromise) return Promise.resolve();
    };
    Возвращает функцию, которая обычный console.log() с переданным значением. И если второй аргумент трушный, то вернёт отрезолвленный промис.

    Эксперимент 1. «Застёжка-молния»
    Promise.resolve()
      .then(log('a1'))
      .then(log('a2'))
      .then(log('a3'))
      .then(log('a4'))
      .then(log('a5'))
      .then(log('a6'))
    ;
    
    Promise.resolve()
      .then(log('b1'))
      .then(log('b2'))
      .then(log('b3'))
      .then(log('b4'))
      .then(log('b5'))
      .then(log('b6'))
    ;
    Выводит поочередные a1 b1 a2 b2 a3 b3 ...
    Эксперимент 2. «Отстаём на 2»

    Единственное отличие: в первом А возвращаем отресолвленный промис.
    Promise.resolve()
      .then(log('a1', true))
      .then(log('a2'))
      .then(log('a3'))
      .then(log('a4'))
      .then(log('a5'))
      .then(log('a6'))
    ;
    
    Promise.resolve()
      .then(log('b1'))
      .then(log('b2'))
      .then(log('b3'))
      .then(log('b4'))
      .then(log('b5'))
      .then(log('b6'))
    ;

    Выводит
    a1 b1 b2 b3 a2 b4 a3 b5 a4 b6 a5 a6
    А-шки после 1-й отстают на 2, пропустив вперёд b2 и b3.

    Очередь микрозадач работает как FIFO буфер: первый пришёл, первый ушёл.

    Цепочка из then() выполняется асинхронно. После выполнения очередного, создаётся следующий microtask. Несколько цепочек, как видно из 1-го эксперимента, выполняются параллельно-пошагово, «молнией».

    Возврат созданного выполненного промиса, и ожидание его разрешения вызывает задержку в очереди микрозадач на 1 микротаск + «перемещение» цепочки "А" в конец (меняется порядок a-b => b-a):
    "молния"
    a1 b1 ; a2 b2 ; a3 b3 ; a4 b4 ; a5 b5 ; a6 b6
    
    с промисом в А1
    a1 b1 ; b2 ; b3 a2 ; b4 a3 ; b5 a4 ; b6 a5 ; a6


    Подробнее с тремя цепочками

    На этот раз три цепочки промисов "a", "b", "c". Цепочка "А" вернёт промис на 1-м шаге, "С" — на 4-м. Код эксперимента:
    const output = [];
    
    const makeChain = (key, n = 5, trueStep = false) => {
      let p = Promise.resolve();
      const arrow = isArrow => isArrow ? '->' : '';
      for (let i = 1; i <= n; i++) {
        const returnPromise = trueStep === i;
        const afterPromise = trueStep === i - 1;
        p = p.then(() => {
          output.push(`${arrow(afterPromise)}${key}${i}${arrow(returnPromise)}`);
          if (returnPromise) return Promise.resolve();      
        });
      }
      return p.catch(console.error);
    };
    
    const n = 7;
    makeChain('a', n, 1),
    makeChain('b', n),
    makeChain('c', n, 4),
    
    // мАкрозадача выполнится после всех мИкрозадач:
    setTimeout(() => console.log(output.join(' ')));

    Результат c вручную добавленными разбивками:
    a1-> b1 c1 ; b2 c2 ; b3 c3 ->a2 ; b4 c4-> a3 ; b5 a4 ; b6 a5 ; b7 ->c5 a6 c6 ; a7 c7
    Тут всё ещё не вполне мне понятен порядок после возврата промиса из C4.
    Ответ написан
  • Как загрузится с установочной флешки Arm Debian на M1?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Никак. Mac arm официально поддерживает только MacOS и не поддерживает другие ОС. Есть один полусырой проект линукса - что-то там даже работает, в целом же вообще не юзабельная система. Название не помню, но легко гуглится. Поэтому если хотите запустить арм линукс на маковской арм платформе - используйте докер, VirtualBox, UtmApp или qemu.
    Ответ написан
    Комментировать
  • Как выбрать телевизор чтобы использовать его как монитор?

    VoidVolker
    @VoidVolker Куратор тега Железо
    Dark side eye. А у нас печеньки! А у вас?
    Как выбрать телевизор чтобы использовать его как монитор?

    Купить монитор, а не телевизор.

    очень важно чтобы глазам было комфортно
    чтобы не уставали

    • Брать монитор на матрице IPS (есть хорошие варианты на OLED - но я его не юзал, так что ничего конкретного про него не скажу)
    • Желательно изогнутый - ибо уже на сорока трёх дюймах искажения в углах заметны, если конечно монитор на столе, а не на стене в трёх метрах
    • Разместить монитор в правильном положении на правильном расстоянии от глаз
    • Организовать правильное освещение рабочего места
    • Использовать приложения типа f.lux
    • Делать регулярно перерывы между работой
    • Делать регулярно физические упражнения для глаз, шеи, спины и прочих частей тела и не раз в неделю, а каждый день или даже несколько раз в день (главное соблюдать нагрузку и регулярность - тут не тяжёлая атлетика нужна)
    Ответ написан
    8 комментариев
  • Как реализовать стартап и сохранить авторское право?

    @rPman
    Идеи стоят мало, если идея ценная - патентуй, как минимум в ее защите тебе поможет государство, но только на территории своей страны,и глобально защиту искать получится очень дорого, только очень ценные идеи этого стоят, что очень редко. Чаще патентуют идеи не для того что бы идею не украли, а что бы защититься от мошенников, которые возьмут вашу идею, запатентую быстрее вас и призовут государство что бы вас 'наказать' (и это очень 'хорошо' работает, к сожалению).

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

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

    p.s. не ищите 'специалиста по ИИ', лучший способ вас обмануть, ведь если что то не получится, это 'не человек виноват а ИИ несовершенен'. Ищите специалиста для решения конкретной задачи.

    p.p.s. вам придется сделать ставку, либо своими деньгами, либо своим временем и 'уникальной идеей', вам придется пойти на риск.
    ----

    Есть замечательная техника, проверенная временем - 'разделяй и властвуй'. Не говорите никому всю информацию целиком, разделяйте ее, каждому сообщайте ровно столько, сколько нужно для решения задачи.
    Ответ написан
    21 комментарий
  • Как в Windows 11 на рабочем столе переименовать файлы без перемещения?

    MaximFoxWevo
    @MaximFoxWevo
    Нажми "ПКМ" по Рабочему Столу, выбери "Персонализация", дальше "Пуск" и отключи "Показывать рекомендуемые файлы в меню "Пуск", недавние файлы в проводнике и элементы в списках переходов". Мне лично помогло [Windows 11 24H2]
    67ada15684af6576262663.png
    Ответ написан
    1 комментарий