Будни разработчика
Блог Lead JS-разработчика Автор: @bekharsky По рекламе: https://telepost.pro/ch/id2415 или https://t.me/it_adv Чат: https://t.me/htmlshitchat №5001017849, https://www.gosuslugi.ru/snet/679b74f8dad2d930d2eaa978
显示更多📈 Telegram 频道 Будни разработчика 的分析概览
频道 Будни разработчика (@htmlshit) 俄语 语言赛道中的 是活跃参与者。目前社区聚集了 14 252 名订阅者,在 技术与应用 类别中位列第 9 039,并在 俄罗斯 地区排名第 46 578 位。
📊 受众指标与增长动态
自 невідомо 创建以来,项目保持高速增长,吸引了 14 252 名订阅者。
根据 24 六月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 -106,过去 24 小时变化为 -11,整体触达仍然可观。
- 认证状态: 未认证
- 互动率 (ER): 平均受众互动率为 10.99%。内容发布后 24 小时内通常能获得 5.53% 的反应,占订阅者总量。
- 帖子覆盖: 每篇帖子平均可获得 1 566 次浏览,首日通常累积 788 次浏览。
- 互动与反馈: 受众积极参与,单帖平均反应数为 11。
- 主题关注点: 内容集中在 css, api, scroll, --fade, bottom 等核心主题上。
📝 描述与内容策略
作者将该频道定位为表达主观观点的平台:
“Блог Lead JS-разработчика
Автор: @bekharsky
По рекламе: https://telepost.pro/ch/id2415 или https://t.me/it_adv
Чат: https://t.me/htmlshitchat
№5001017849, https://www.gosuslugi.ru/snet/679b74f8dad2d930d2eaa978”
凭借高频更新(最新数据采集于 25 六月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。
transition, а нормальное управление движением, задержками, easing’ами и последовательностями.
В 4.5.0 появился API адаптеров. Если коротко, теперь anime.js можно научить работать с объектами, которые устроены не как DOM-элементы.
Главный пример в этом релизе — встроенный адаптер для Three.js.
В Three.js анимация часто требует писать во вложенные свойства объекта:
mesh.position.x = 100
mesh.rotation.y = Math.PI / 4
mesh.material.opacity = 0.5
mesh.material.color.set('#ff8844')
С адаптером это можно описывать прямо в animate():
animate(mesh, {
x: 100,
rotateY: 45,
opacity: 0.5,
color: '#ff8844',
})
Адаптер сам сопоставляет параметры с position, rotation, material, цветом и другими свойствами Three.js.
Появился и более привычный для фронтендера синтаксис 3D-трансформаций: rotateX, rotateY, rotateZ, scale, transformOrigin, плюс skewX, skewY, skewZ.
Материалы тоже стало анимировать проще. Цвет можно передавать строкой — hex, rgb, hsl или CSS-переменной — без ручного перекладывания в THREE.Color.
Ещё одна хорошая часть — instanced mesh. Объекты, которые в Three.js обычно используются для большого количества одинаковой геометрии, теперь можно анимировать почти как обычные меши. Для сцен с сетками, частицами, волнами и кучей повторяющихся элементов это сильно сокращает ручной код.
В stagger() добавили поддержку 3D: теперь задержки можно раскладывать не только по x и y, но и по z. Плюс появились jitter и seed, чтобы делать разброс в движении, но при этом получать повторяемый результат.
Остальные изменения — в changelog: фиксы timeline, keyframes, seek, reversed loops, render engine, работа с цветами и разные мелкие правки.
Важная деталь: сайт anime.js теперь тоже портирован на новый API с Three.js-адаптером. То есть это не просто пример в документации, а уже основа для собственного сайта проекта.
Получился релиз, после которого anime.js заметно лучше ложится на 3D-сцены. Да здравствуют описания анимаций без постоянного ручного прохода по position, rotation, material и прочим внутренним полям.
#animejs #animation #threejs
QUERY /search
Content-Type: application/json
{
"q": "foo",
"limit": 10,
"sort": "-published"
}
И самое интересное тут даже не то, что теперь можно отправлять сложный поисковый запрос в теле HTTP-запроса. Самый интересный вопрос: а разве мы не могли делать это через GET?
Могли. Иногда даже делали.
GET /search
Content-Type: application/json
{
"q": "foo",
"limit": 10,
"sort": "-published"
}
На уровне HTTP-сообщения тело у GET возможно. Протокол не развалится только потому, что после заголовков пришёл body.
Проблема в другом: у тела GET нет нормальной общей семантики.
Стандарт не говорит: «тело GET — это параметры запроса». Сервер и клиент могут между собой так договориться, но для остальной инфраструктуры это будет частная магия. Прокси, CDN, кэши, балансировщики, библиотеки и браузерные API не обязаны понимать такой договор.
Поэтому GET с body — это поведение из серии “может работать в нашей связке”. Где-то пройдёт, где-то тело проигнорируют, где-то запрос завернут, а где-то его вообще нельзя будет отправить. Например, браузерный fetch не разрешает body у GET и HEAD.
QUERY как раз стандартизирует этот сценарий.
QUERY /search
Content-Type: application/json
{
"q": "foo",
"limit": 10,
"sort": "-published"
}
Смысл метода: это запрос на чтение, но параметры запроса лежат в теле. То есть больше не нужно притворяться, что сложный фильтр — это короткая строка query-параметров, и не нужно использовать POST там, где состояние на сервере не меняется.
От POST отличие тоже важное. POST для HTTP-инфраструктуры выглядит как метод с возможными побочными эффектами. QUERY, наоборот, описан как safe и idempotent: его можно повторить, не ожидая, что повтор сам по себе что-то создаст или изменит.
Получается, QUERY — это не «GET с body», а нормальный стандартный способ сказать: тело запроса важно, оно описывает выборку, и сам запрос при этом остаётся запросом на чтение.
#http
<div>
<?marker name="placeholder">
</div>
Браузер игнорирует <?marker>, поэтому такой код уже сейчас работает как обычный HTML.
Позже, когда данные будут готовы, достаточно добавить:
<template for="placeholder">
Here is some <em>HTML content</em>!
</template>
После этого содержимое шаблона автоматически займёт место маркера.
На практике это означает, что сервер может начать отдавать страницу ещё до того, как готовы все данные. Не нужно искать элементы по id, не нужно писать код для замены заглушек, не нужно придумывать собственный протокол поверх HTML.
Несколько лет назад стриминг HTML ассоциировался почти только с React. Штош.
Самое приятное, что <?marker> — не какой-то новый синтаксис. Processing instructions существуют ещё со времён XML, а браузеры уже умеют спокойно пропускать их в HTML. Поэтому использовать такую разметку можно хоть сегодня. Для старых браузеров есть полифилл от Google Chrome Labs.
Статья:
https://developer.chrome.com/blog/declarative-partial-updates
Полифилл:
https://github.com/GoogleChromeLabs/template-for-polyfill
#html
document.addEventListener("paste", function (e) {
const text = e.clipboardData.getData("text");
const rows = text.trim().split(/\r?\n/).map(r => r.split("\t"));
const inputs = [...document.querySelectorAll("input")];
let index = 0;
for (const row of rows) {
for (const cell of row) {
if (inputs[index]) {
inputs[index].value = cell;
index++;
}
}
}
e.preventDefault();
});
Так можно взять диапазон в Google Sheets, нажать Ctrl+V в браузере — и данные разложатся по ячейкам формы, словно это штатная функция.
Я пример забыл, а вы и молчите: https://codepen.io/alinaki/pen/KwzvEeX
#js #tablefilter: hue-rotate(), чтобы прокручивать оттенки напрямую.
2. Хранить угол оттенка в CSS-переменной и анимировать именно её, а не цвет в целом.
В итоге получается ровная и предсказуемая смена цвета без серых провалов.
Статья: https://www.joshwcomeau.com/animation/color-shifting/
#css #color #animation
现已上线!2025 年 Telegram 研究 — 年度关键洞察 
