CodeBase | Frontend
رفتن به کانال در Telegram
Все самое интересное и полезное у нас 😎 Контакт: @Filgood777 (реклама, сотрудничество)
نمایش بیشتر2 013
مشترکین
اطلاعاتی وجود ندارد24 ساعت
+17 روز
-1030 روز
آرشیو پست ها
2 013
Как frontend-разработчику получить оффер в Big Tech?
Платят как джуну, а спрашивают как с лида 🙄 Зарплата не растёт, задачи скучные.
Пробуешь откликаться, но на резюме клюют только ноунейм компании, а на собесах валят на алгоритмах? При этом вокруг кто-то постоянно получает офферы в Яндекс или VK...
Стабильность с маленькой зп, или дестрой рынка и выход на максимальную? Синяя или красная таблетка, Нео?! 👾
Меня зовут Тихон, привет! Я — действующий Frontend-разработчик и ментор. Помогаю устроиться на хорошие позиции в Big Tech и сопровождаю на испытательном сроке.В своем канале: 👉Разбираю самые популярные и каверзные вопросы на собесах 👉Рассказываю как пройти фильтр HR 👉Борюсь с убеждениями, которые мешают развиваться 👉Делюсь лайфхаками, например как аккуратно “пинговать” рекрутеров Регулярно публикую полезные материалы: ▪️60 вопросов, которые точно помогут тебе на собеседовании ▪️Подборка из 100+ каналов с вакансиями для разработчиков ▪️10 задротских вопросов про JavaScript, после которых ты усомнишься, что вообще знаешь JS. Часть 1 ▪️Чек лист проверки своего резюме Подписывайся, нас уже 4500 🤓: ссылка Реклама, erid: 2W5zFK47HsF ИП Галактионов Тихон Витальевич, ИНН 771618975809
2 013
Как работает SVG ViewBox
Данная статья с интерактивными примерами поясняет, как применять атрибут viewBox в SVG.
Raster vs. Vector
Render Image
Inline SVG
Coordinates
View Box
Pan & Zoom
Zoom to Square
Animate
React Spring
Scaling Stroke
Use Case
https://svg.bradwoods.io/lessons/viewbox
CodeBase | Frontend | #animate
2 013
Как превратить нейросеть в источник дохода без навыков кодинга? 🧠
Многие сейчас в панике: “ИИ отнимает мою работу!”, но умные знают, что “ИИ - это наш друг, и те кто не умеют им пользоваться теряют деньги и время!”
Именно поэтому, чтобы собрать все самые топовые фишки нейросети, мы создали бот «Стань ИИ-гуру» с бесплатными уроками, чтобы не пришлось гуглить месяцами и сливать деньги на бесполезные курсы.
«Стань ИИ-гуру» - это твой персональный гид в мире денег на ИИ. Внутри ты найдешь:
🤖Короткие и простые уроки,которые ты не найдешь нигде, о том какие навыки тебе нужны для заработка на ИИ, и какой формат подходит именно тебе, и все это абсолютно бесплатно
🪜Пройдешь по интересным интерактивным платформам и узнаешь, как внедрить ИИ в разные сферы свой жизни, значительно упростив ее
🧮Получишь расчет на умном калькуляторе, который основан на реальных данных по аналитике базы фриланса, который покажет сколько ты сможешь заработать в месяц, исходя из твоих возможностей
💼Как можно совмещать работу в найме, с заработком на ИИ, и как можно внедрить нейросеть в жизнь, для выполнения рутинных задач
Переходи в «Стань ИИ-гуру»пройди интерактив и получи бесплатные уроки, которые доступны только пока висит этот пост. Не упусти возможность освоить навык, который в 2026 году приносит хороший доход 💰
2 013
Conform - это потрясающе
- Валидация клиента + сервера из одной схемы Zod
- Прогрессивное улучшение
- Восхитительно простой API
- Работает с Next.js ( server actions + useFormState)
CodeBase | Frontend | #animate
2 013
Привет. Вот тебе самые топовые каналы по IT!
⚙️ Dev Boost — Самая огромная коллекция платных курсов, которые можно скачать бесплатно;
👩💻 IT Books — Самая огромная библиотека книг;
💻 Hacking & InfoSec Base — Крутой блог белого хакера;
🛡 CyberGuard — Всё про ИБ;
🤔 ИБ Вакансии — Всё, чтобы найти работу в ИБ;
👩💻 linux administration — Всё про Линукс;
👩💻 Программистика — Python, python и ещё раз python;
👩💻 GameDev Base — Всё про GameDev;
😆 //code — Самые топовые мемы по IT:
Подпишись, чтобы не потерять!
2 013
⚡️ Прощай, FID. Привет, INP: Главная метрика Core Web Vitals
First Input Delay (FID) официально ушел на пенсию в марте 2024 года. На его место пришел INP (Interaction to Next Paint). Если вы всё еще оптимизируете старую метрику, самое время пересмотреть свои подходы.
В чем был обман FID?
FID измерял только задержку (Input Delay) от клика до того момента, как браузер начал выполнять ваш обработчик событий.
Если ваша функция
onClick после старта зависала на 2 секунды, перебирая огромный массив, FID всё равно мог быть идеальным (например, 3 мс), хотя пользователь видел намертво зависший интерфейс.
Что измеряет INP?
INP фиксирует всё время до появления визуального отклика на экране:
1. Ожидание освобождения Main Thread (Input delay)
2. Выполнение вашего JS-кода (Processing time)
3. Пересчет стилей, Layout и саму отрисовку (Presentation delay)
Хороший INP - это меньше 200 мс. Причем берется не среднее значение, а один из худших результатов за сессию (98-й перцентиль).
🛠 Как спасать INP (Senior level):
1. Разбивайте Long Tasks (Yield to Main Thread)
Не заставляйте браузер делать всю тяжелую работу за один присест. Дайте ему возможность «вздохнуть» и отрисовать кадр. В современных браузерах для этого внедряется scheduler.yield().
async function handleHeavyClick() {
// 1. Показываем лоадер (синхронно, легко)
showSpinner();
// 2. Отдаем управление браузеру, чтобы он успел отрисовать лоадер!
// Если scheduler.yield недоступен, используем await new Promise(r => setTimeout(r, 0))
if ('scheduler' in window && 'yield' in scheduler) {
await scheduler.yield();
} else {
await new Promise(resolve => setTimeout(resolve, 0));
}
// 3. Теперь делаем тяжелую работу
processHugeData();
}
2. Используйте startTransition в React 18+
Если клик вызывает обновление состояния, которое требует тяжелого рендера (например, фильтрация большого списка), React может заблокировать отрисовку того же чекбокса, на который вы нажали.
Оберните тяжелое обновление стейта в startTransition - React пометит его как низкоприоритетное и не будет блокировать UI.
3. Избегайте Layout Thrashing
Если в обработчике клика вы сначала читаете размеры элемента (el.offsetHeight), а потом меняете классы, вы заставляете браузер синхронно пересчитывать стили (Forced Synchronous Layout). Это убивает фазу Presentation Delay. Сначала читайте, потом пишите!
CodeBase | Frontend | #js2 013
🧬 Иммутабельность из коробки: toSorted(), toSpliced() и with()
Сколько раз вы ловили трудноуловимые баги в React или Redux из-за того, что методы sort(), reverse() или splice() незаметно мутируют оригинальный массив?
Раньше, чтобы обновить состояние, нам приходилось плодить поверхностные копии через спред-оператор.
// ❌ Старая школа (много шума)
const sortedUsers = [...users].sort((a, b) => a.age - b.age);
// А замена элемента по индексу вообще выглядела как пытка:
const updatedUsers = [...users];
updatedUsers[index] = newUser;
В стандарте ES2023 (Baseline 2023) JavaScript наконец-то получил нативные иммутабельные методы массивов. Они делают то же самое, но возвращают новый массив, оставляя оригинал нетронутым.
🚀 Как пишем теперь:
1. Сортировка и разворот
// ✅ Оригинал цел, получаем новый массив
const sorted = users.toSorted((a, b) => a.age - b.age);
const reversed = users.toReversed();
2. Удаление/вставка (вместо splice)
const months = ["Jan", "Mar", "Apr", "May"];
// Вставляем "Feb" на индекс 1 (ничего не удаляя)
const fixedMonths = months.toSpliced(1, 0, "Feb");
// ["Jan", "Feb", "Mar", "Apr", "May"]
3. 🔥 Метод with() - киллер-фича для React
Заменяет элемент по индексу без мутаций. Идеально для обновления конкретного элемента в массиве состояния.
const state = ['apple', 'banana', 'cherry'];
// Меняем 'banana' на 'mango'
const newState = state.with(1, 'mango');
// ['apple', 'mango', 'cherry']
💡Методы работают не только с массивами, но и с TypedArrays (например, Uint8Array). А метод with() отлично справляется с отрицательными индексами - arr.with(-1, newItem) заменит последний элемент массива без вычисления его длины!
CodeBase | Frontend | #js
2 013
⚙️ Что такое свойство
text-shadow в CSS и зачем оно используется?
text-shadow — это CSS-свойство, которое добавляет тень к тексту, улучшая его визуальное восприятие. Оно позволяет задавать цвет, смещение, размытие и создавать эффекты, такие как свечение или объёмный текст.
➡️ Пример:
<div class="text">Тень у текста</div>
<style>
.text {
font-size: 24px;
font-weight: bold;
color: darkblue;
text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5); /* Тень с размитием */
}
</style>
🗣 В этом примере text-shadow делает текст более выразительным. Это свойство часто используется для стилизации заголовков, кнопок и декоративных элементов.
CodeBase | Frontend | #CSS2 013
👩💻 Что такое тег <section>
Тег
<section> создаёт независимый блок — например, блок новостей, блок с контактами или просто абзац с заголовком.
<section>
<h1>Заголовок первого блока</h1>
<p>Съешь ещё этих мягких французских булок, да выпей чаю.</p>
</section>
<section>
<h1>Заголовок второго блока</h1>
<p>Съешь ещё этих мягких французских булок, да выпей же чаю.</p>
</section>
• Тег <section> всегда закрывается при помощи парного тега </section>.
• Внутри <section> обязательно должен быть заголовок <h1>...<h6>.
• Контейнеры <section> можно вкладывать друг в друга, как матрёшку.
💡 Если вы хотите просто объединить и стилизовать второстепенные элементы, которые не так важны для поисковика, лучше использовать <div>.
Некоторые начинающие разработчики неверно понимают семантику этого тега и заменяют им большую часть дивов на странице. Так делать не стоит.
Тегом <section> стоит оборачивать большие логические блоки на странице.
🛠 По спецификации допустимо размещать в каждом <section> заголовок первого уровня (<h1>). Несмотря на это, не стоит размещать на странице больше одного заголовка первого уровня. Это важно для правильной индексации сайта поисковыми роботами.CodeBase | Frontend | #html
2 013
🚀 Обновление Telegram
Теперь прямо в Telegram можно зарегистрировать доменное имя анонимно — за пару кликов, с оплатой в криптовалюте
Выберите имя и зону, оплатите с помощью криптовалюты — и управляйте доменом через мини-приложение
Telegram Domains
2 013
👩💻 Объект
Кроме примитивных типов в JavaScript существуют и сложные — например, объект.
🗣️ Объект (object) — это набор свойств. Каждое свойство состоит из названия и значения. Название может быть строкой или символом, а значение может быть любым.
➡️ Объекты в JavaScript используются повсюду, особенно для хранения данных. Для уверенной работы с объектами необходимо знать, как создавать объект, как его изменять и как читать значения свойств.
Пустой объект без свойств можно создать парой фигурных скобок:
const cat = {}
✔️ Когда нужно создать объект со свойствами, то их описывают внутри фигурных скобок. Свойства указываются в формате имяСвойства : значение, между свойствами ставится запятая:
const book = {
title: 'Война и мир',
author: 'Лев Толстой',
pages: 1274,
isFinished: true
}
CodeBase | Frontend | #js2 013
🔥 БЕСПЛАТНЫЙ КУРС ПО КОМПЬЮТЕРНОМУ ЗРЕНИЮ 🔥
Компьютерное зрение уже используют в банках, ритейле, медицине, промышленности и безопасности
И спрос на специалистов растёт каждый год
🌎🌟 В Университете искусственного интеллекта запустили бесплатный курс по Computer Vision
Что разберёте на обучении:
🔹 Основы Computer Vision и виды задач
🔹 Популярные библиотеки и фреймворки для CV
🔹 Сбор и разметка данных для CV
🔹 Предобученные нейронные сети и их значение
🔹 Интеграция CV в реальный продукт
🚀 Подойдёт разработчикам, аналитикам, специалистам по данным и всем, кто хочет войти в AI
🤖 Присоединяйтесь к нашему бесплатному курсу и разберитесь в этой увлекательной теме с нами!
2 013
Repost from Ленивый вайб-программист
Мы в MAX: 📲 https://max.ru/lazy__programmer
🦥Ленивый программист
2 013
🖥 Какие новые HTML и CSS фичи полностью поддерживаются браузерами в 2026 году
Автор собрал HTML и CSS-фичи, которые к 2026 стали реально поддерживаться браузерами. Без теории и споров, просто список того, что уже можно смело тащить в прод.
🔗 Ссылка
CodeBase | Frontend | #article
2 013
Repost from Linux Club
🚀 Пакетная фильтрация в Linux
Бесконтекстная пакетная фильтрация (iptables): stateless
Контекстная пакетная фильтрация (iptables): stateful
#linux
🐧 Linux Club ©
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
