Созвучно. Снижает мотивацию и перегревает запал особенно, мне кажется, стремление в спешке тушить пожары, на которые выделяется меньше времени, чем на внедрение фич, хотя разобраться с техдолгом может потребовать больше ресурса и размененного темпа.
А что, если команды внедрения фич и выплат долга периодически менять местами?)
Без навыков поиска исходников, их чтения и понимания, в разработку на Битрикс можно в принципе не соваться, он будет казаться средневековым романом ужасов, при всём разнообразии и избыточности его возможностей )
Когда я прочёл заголовок, то подумал, что статья про параллакс-эффект, и что можно в основном потоке вычислять только процент, и передавать его в CSS в виде переменной а-ля...
// берём код из примера
document.addEventListener("scroll", () => {
var winScroll = document.body.scrollTop || document.documentElement.scrollTop;
var height = document.documentElement.scrollHeight - document.documentElement.clientHeight;
var scrolled = (winScroll / height) * 100;
document.body.style.setProperty('--scroll',scrolled);
})
#progress {
background: red;
width: calc(var(--scroll) * 1%); // если переменная пуста, он нам насчитает 0px
height: 100px;
position: fixed;
transition: .3s; // если нужно прям анимировать
}
И тогда можно вообще дальше не трогать математику на стороне JS, и уже из анимируемых блоков смотреть в эту переменную
Далеко не универсальный способ. Потому что не все БИОСы (или что вы там вместо них сейчас используете) понимают CDFS или UDF на USB накопителе. Ещё слышал, что её имя сасшифровывают как Disk Destroyer xD
Давно уже закрузочные флешки выпекаю при помощи Multisystem - она и визуальная, и прогресс есть, и несколько разных образов сразу можно закинуть, и плюс-минус корректно распознаётся разными платами.
Какая приятность) Часы от Qlocktwo то и дело всплывают в ленте хабра. Не так давно делал реализацию этого концепта. Началось всё с короткого оживления их демо, собранного за один вечер, которое вылилось в крутой элемент интерьера.
Как раз на следующей неделе планирую собирать модель в масштабе метр на метр для нашего офиса.
Думаю… я бы вынес время/температуру/влажность как mode и показывал режим через switch/case — потому что у меня постоянный такт состояний 500, он перечитывает значения, передёргивает полусекунду, и отправляет значения на экран.
Запуски тикеров можно положить в отдельные методы.
// show Ticking time and wait for 15 seconds, than stop ticking and show temp
void setTimeIntervals(){
tick_ClockColon.attach_ms_scheduled(500, matrix_printColon); //task to print clock colon ":"
tick_Clock.attach_ms_scheduled(500, matrix_printTime); //task to get time from ESP8266 RTC & print hh mm
tick_Mode.once_ms_scheduled(15000, [](){
stopTimeIntervals();
setTempIntervals()
});
}
void stopTimeIntervals(){
tick_ClockColon.detach();
tick_Clock.detach();
}
// show Temp and wait for 5 seconds
void setTempIntervals(){
matrix_printTemp();
tick_Mode.once_ms_scheduled(5000, setHumidityIntervals );
}
// show Humidity and wait for 5 seconds
void setHumidityIntervals(){
matrix_printHumidity();
tick_Mode.once_ms_scheduled(5000, setTimeIntervals );
}
Даже там где анонимные функции — всё равно вполне читаемо и работает
Когда я использовал методы attach() и attach_ms(), у меня периодически падал контроллер, вываливая exception, поэтому почти все циклические вызовы в моём коде висят на attach_ms_scheduled(ms, callback);
И отвязка (остановка) — detach() — читайте Ticker.h
Вечером буду дома — покажу другие примеры из кода, и наверно выложу на гитхаб.
И да, один экземпляр тикера может вести только одну функцию, т.е. если я делаю аттач с другим коллбэком на тот же инстанс, то он перекрывается.
На видео можно проследить наглядно: у каждой лампы свой планировщик (с рандомным таймером) на цветовой переход от жёлтого к красному, один общий на перебор всех слоёв при переключении.
В момент перехода на следующую минуту, я запускаю перебор с 6 по первую лампу через once_ms_scheduled() со временем кратным обратному номеру лампы (0,250,500,750,1000,1250);
На 5й (на второй справа) лампе он подвисает, потому что в этот момент ещё перезагружает настройку базового оттенка (синего) из файла, и ему похоже не хватает ресурсов.
Этот баг сейчас решен так: Перед перебором ставлю цветовой перелив на паузу и, затем снова запускаю когда он отработал, плюс на время перебора ставлю запрет на изменение оттенка, который тоже происходит только после окончания перебора.
Созвучно. Снижает мотивацию и перегревает запал особенно, мне кажется, стремление в спешке тушить пожары, на которые выделяется меньше времени, чем на внедрение фич, хотя разобраться с техдолгом может потребовать больше ресурса и размененного темпа.
А что, если команды внедрения фич и выплат долга периодически менять местами?)
Без навыков поиска исходников, их чтения и понимания, в разработку на Битрикс можно в принципе не соваться, он будет казаться средневековым романом ужасов, при всём разнообразии и избыточности его возможностей )
А где дизассемблинг устройства на платы и винтики ?(
Попадался проект с выводом в HDMI: https://t.me/Alex_Ekat/25
Ждём продолжения, спасибо
А как же ссылка на исходники...
Красота! У меня был проект таких циферблатов, правда на esp8266
Я люблю JavaScript
Когда я прочёл заголовок, то подумал, что статья про параллакс-эффект, и что можно в основном потоке вычислять только процент, и передавать его в CSS в виде переменной а-ля...
И тогда можно вообще дальше не трогать математику на стороне JS, и уже из анимируемых блоков смотреть в эту переменную
Далеко не универсальный способ. Потому что не все БИОСы (или что вы там вместо них сейчас используете) понимают CDFS или UDF на USB накопителе.
Ещё слышал, что её имя сасшифровывают как Disk Destroyer xD
Давно уже закрузочные флешки выпекаю при помощи Multisystem - она и визуальная, и прогресс есть, и несколько разных образов сразу можно закинуть, и плюс-минус корректно распознаётся разными платами.
Какая приятность) Часы от Qlocktwo то и дело всплывают в ленте хабра.
Не так давно делал реализацию этого концепта. Началось всё с короткого оживления их демо, собранного за один вечер, которое вылилось в крутой элемент интерьера.
Как раз на следующей неделе планирую собирать модель в масштабе метр на метр для нашего офиса.
Запуски тикеров можно положить в отдельные методы.
Даже там где анонимные функции — всё равно вполне читаемо и работает
И отвязка (остановка) — detach() — читайте Ticker.h
Вечером буду дома — покажу другие примеры из кода, и наверно выложу на гитхаб.
И да, один экземпляр тикера может вести только одну функцию, т.е. если я делаю аттач с другим коллбэком на тот же инстанс, то он перекрывается.
На видео можно проследить наглядно: у каждой лампы свой планировщик (с рандомным таймером) на цветовой переход от жёлтого к красному, один общий на перебор всех слоёв при переключении.
В момент перехода на следующую минуту, я запускаю перебор с 6 по первую лампу через
once_ms_scheduled() со временем кратным обратному номеру лампы (0,250,500,750,1000,1250);
На 5й (на второй справа) лампе он подвисает, потому что в этот момент ещё перезагружает настройку базового оттенка (синего) из файла, и ему похоже не хватает ресурсов.
Этот баг сейчас решен так: Перед перебором ставлю цветовой перелив на паузу и, затем снова запускаю когда он отработал, плюс на время перебора ставлю запрет на изменение оттенка, который тоже происходит только после окончания перебора.