🐙 Emojihub – это API, который позволяет получить полный список эмодзи из определенной категории или группы. Всего в базе 1791 объект, а данные хранятся в объектах JSON с HTML-кодами для вставки в веб-приложения.
Сайтодел | #репозиторий #github
Сайтодел | #репозиторий #github
🎮 Чувак бросил университет ради World of Warcraft — и к 27 годам стал миллионером.
Всё началось ещё в подростковом возрасте. В 17 лет начал зарабатывать в World of Warcraft на прокачке персонажей и продаже внутриигровых услуг. Всего за пару ночей получая столько же, сколько зарабатывал за месяц на обычной подработке.
После этого идея строить карьеру в традиционном формате стала казаться ему всё менее привлекательной.
🙏 Чел даже ушёл из университета, чем серьёзно разозлил отца. Семья считала, что он губит своё будущее, однако парень был уверен, что рынок игровых услуг будет только расти.
Ставка сыграла.
Вместе с партнёрами они запустил площадку, где игроки могут заказывать прокачку, обучение и другие игровые сервисы. Со временем проект превратился из небольшой идеи для геймеров в международный бизнес.
📈 К 27 годам пацаны стали миллионерами, история настолько привлекла внимание, что о ней написал Business Insider.
Мам, ещё один рейд — это инвестиция в будущее 😎
Всё началось ещё в подростковом возрасте. В 17 лет начал зарабатывать в World of Warcraft на прокачке персонажей и продаже внутриигровых услуг. Всего за пару ночей получая столько же, сколько зарабатывал за месяц на обычной подработке.
После этого идея строить карьеру в традиционном формате стала казаться ему всё менее привлекательной.
🙏 Чел даже ушёл из университета, чем серьёзно разозлил отца. Семья считала, что он губит своё будущее, однако парень был уверен, что рынок игровых услуг будет только расти.
Ставка сыграла.
Вместе с партнёрами они запустил площадку, где игроки могут заказывать прокачку, обучение и другие игровые сервисы. Со временем проект превратился из небольшой идеи для геймеров в международный бизнес.
📈 К 27 годам пацаны стали миллионерами, история настолько привлекла внимание, что о ней написал Business Insider.
Мам, ещё один рейд — это инвестиция в будущее 😎
👩💻 Всем программистам посвящается!
Вот 14 авторских обучающих IT каналов по самым востребованным областям программирования:
Выбирай своё направление:
👩💻 Python — t.me/python_ready
🤔 InfoSec & Хакинг — t.me/hacking_ready
🖥 SQL & Базы Данных — t.me/sql_ready
👩💻 IT Новости — t.me/it_ready
🤖 AI & ML — t.me/neuro_ready
👩💻 Frontend — t.me/frontend_ready
👩💻 C/C++ — https://t.me/cpp_ready
👩💻 C# & Unity — t.me/csharp_ready
👩💻 Linux — t.me/linux_ready
👩💻 Java — t.me/java_ready
📖 IT Книги — t.me/books_ready
📱 JavaScript — t.me/javascript_ready
🖼️ DevOps — t.me/devops_ready
🖥 Design — t.me/design_ready
📌 Гайды, шпаргалки, задачи, ресурсы и фишки для каждого языка программирования!
Вот 14 авторских обучающих IT каналов по самым востребованным областям программирования:
Выбирай своё направление:
👩💻 Python — t.me/python_ready
🤔 InfoSec & Хакинг — t.me/hacking_ready
🖥 SQL & Базы Данных — t.me/sql_ready
👩💻 IT Новости — t.me/it_ready
🤖 AI & ML — t.me/neuro_ready
👩💻 Frontend — t.me/frontend_ready
👩💻 C/C++ — https://t.me/cpp_ready
👩💻 C# & Unity — t.me/csharp_ready
👩💻 Linux — t.me/linux_ready
👩💻 Java — t.me/java_ready
📖 IT Книги — t.me/books_ready
📱 JavaScript — t.me/javascript_ready
🖼️ DevOps — t.me/devops_ready
🖥 Design — t.me/design_ready
📌 Гайды, шпаргалки, задачи, ресурсы и фишки для каждого языка программирования!
👩💻 Всем программистам посвящается!
Вот 14 авторских обучающих IT каналов по самым востребованным областям программирования:
Выбирай своё направление:
👩💻 Python — t.me/python_ready
🤔 InfoSec & Хакинг — t.me/hacking_ready
🖥 SQL & Базы Данных — t.me/sql_ready
👩💻 IT Новости — t.me/it_ready
🤖 AI & ML — t.me/neuro_ready
👩💻 Frontend — t.me/frontend_ready
👩💻 C/C++ — https://t.me/cpp_ready
👩💻 C# & Unity — t.me/csharp_ready
👩💻 Linux — t.me/linux_ready
👩💻 Java — t.me/java_ready
📖 IT Книги — t.me/books_ready
📱 JavaScript — t.me/javascript_ready
🖼️ DevOps — t.me/devops_ready
🖥 Design — t.me/design_ready
📌 Гайды, шпаргалки, задачи, ресурсы и фишки для каждого языка программирования!
Вот 14 авторских обучающих IT каналов по самым востребованным областям программирования:
Выбирай своё направление:
👩💻 Python — t.me/python_ready
🤔 InfoSec & Хакинг — t.me/hacking_ready
🖥 SQL & Базы Данных — t.me/sql_ready
👩💻 IT Новости — t.me/it_ready
🤖 AI & ML — t.me/neuro_ready
👩💻 Frontend — t.me/frontend_ready
👩💻 C/C++ — https://t.me/cpp_ready
👩💻 C# & Unity — t.me/csharp_ready
👩💻 Linux — t.me/linux_ready
👩💻 Java — t.me/java_ready
📖 IT Книги — t.me/books_ready
📱 JavaScript — t.me/javascript_ready
🖼️ DevOps — t.me/devops_ready
🖥 Design — t.me/design_ready
📌 Гайды, шпаргалки, задачи, ресурсы и фишки для каждого языка программирования!
This media is not supported in your browser
VIEW IN TELEGRAM
Сайтодел | GitHub, Верстка, Сайты, FullStack (Telegram)
💾 Boxy Preloaders – лоадеры, в основе которых лежат квадраты и прямоугольники. Каждый элемент при движении меняет свой цвет.
Сайтодел | #сниппет #css
💾 Boxy Preloaders – лоадеры, в основе которых лежат квадраты и прямоугольники. Каждый элемент при движении меняет свой цвет.
Сайтодел | #сниппет #css
Сайтодел | GitHub, Верстка, Сайты, FullStack (Telegram)
🎨 Цветовая палитра макета "Foodee Mobile App Interface":
Сайтодел | #палитра
🎨 Цветовая палитра макета "Foodee Mobile App Interface":
HEX | RGB #FECC87 | rgb(254,204,135)#F28582 | rgb(242,133,130)#689984 | rgb(104,153,132)
⚠️ Цвет копируется одним кликом!Сайтодел | #палитра
This media is not supported in your browser
VIEW IN TELEGRAM
Сайтодел | GitHub, Верстка, Сайты, FullStack (Telegram)
💾 Rings Navigation Concept – меню навигации, выполненное в виде кругов, вложенных друг в друга. Хорошая альтернатива привычным меню в виде строк или столбцов.
Сайтодел | #сниппет #css
💾 Rings Navigation Concept – меню навигации, выполненное в виде кругов, вложенных друг в друга. Хорошая альтернатива привычным меню в виде строк или столбцов.
Сайтодел | #сниппет #css
This media is not supported in your browser
VIEW IN TELEGRAM
Code Ready | Frontend (Telegram)
👩💻 Связываем подпись с полем формы с помощью атрибута for!
Атрибут
А ещё не каждый элемент подойдёт для связи, годятся только из категории «связываемых»:
Кроме удобства, правильная связка
📣 Code Ready | #атрибут
👩💻 Связываем подпись с полем формы с помощью атрибута for!
Атрибут
for используется у тега <label> и указывает, к какому элементу формы относится подпись.А ещё не каждый элемент подойдёт для связи, годятся только из категории «связываемых»:
• <button>;
• <input>;
• <meter>;
• <progress>;
• <select>;
• <textarea>;
• И даже сам <output>.
Кроме удобства, правильная связка
<label for="..."> улучшает доступность формы, поскольку вспомогательные технологии могут определить, какая подпись относится к конкретному полю.📣 Code Ready | #атрибут
Сайтодел | GitHub, Верстка, Сайты, FullStack (Telegram)
✍️ Neue Montreal – нейтральный шрифт без засечек с четкими формами. Подходит для мелких текстов веб-страниц. Пример шрифта есть в макете Abstract 3D Coral Shapes
Сайтодел | #шрифт
✍️ Neue Montreal – нейтральный шрифт без засечек с четкими формами. Подходит для мелких текстов веб-страниц. Пример шрифта есть в макете Abstract 3D Coral Shapes
Сайтодел | #шрифт
Сайтодел | GitHub, Верстка, Сайты, FullStack (Telegram)
🎨 Цветовая палитра макета "Foodee Mobile App Interface":
Сайтодел | #палитра
🎨 Цветовая палитра макета "Foodee Mobile App Interface":
HEX | RGB #FECC87 | rgb(254,204,135)#F28582 | rgb(242,133,130)#689984 | rgb(104,153,132)
⚠️ Цвет копируется одним кликом!Сайтодел | #палитра
✈️ Code Ready | Frontend
innerText vs textContent — как обычное чтение DOM может заставить браузер пересчитать layout!
DOM хранит структуру документа отдельно от того, как эта структура отображается пользователю.
const text = element.textContent;
const text = element.innerText;
Именно поэтому простое чтение свойства иногда может быть дорогой операцией:
element.style.width = '400px';
const text = element.innerText;
После изменения стиля браузер помечает компоновку как устаревшую. Если следующая операция требует данных о визуальном состоянии страницы, браузеру может потребоваться немедленно выполнить перерасчёт. Это называется принудительным синхронным перерасчётом layout.
Похожий механизм работает с другими свойствами, зависящими от текущей геометрии страницы:
element.style.width = '400px';
const width = element.offsetWidth;
К этой же категории относятся
Проблема обычно появляется не из-за одного вызова, а из-за постоянного смешивания операций записи и чтения:
elements.forEach(element => {
element.style.width = '400px';
console.log(element.innerText);
});
В таком случае браузер может постоянно выполнять цикл: запись — устаревшая компоновка — чтение — расчёт компоновки.
Это приводит к частым лишним перерасчётам компоновки (layout thrashing). Гораздо эффективнее разделять изменение состояния и чтение данных:
elements.forEach(element => {
element.style.width = '400px';
});
const values = elements.map(
element => element.innerText
);
Важно понимать:
Если нужно получить данные из DOM, обычно достаточно
🔥 Разница между ними не только в возвращаемой строке.
📣 Code Ready | #практика
innerText vs textContent — как обычное чтение DOM может заставить браузер пересчитать layout!
DOM хранит структуру документа отдельно от того, как эта структура отображается пользователю.
textContent работает на уровне DOM-дерева. Он проходит по текстовым узлам и собирает содержимое без анализа CSS, размеров элементов или текущего состояния отображения.const text = element.textContent;
innerText работает иначе. Чтобы вернуть текст в том виде, в котором его видит пользователь, браузеру необходимо учитывать CSS, видимость элементов, переносы строк и актуальное состояние компоновки.const text = element.innerText;
Именно поэтому простое чтение свойства иногда может быть дорогой операцией:
element.style.width = '400px';
const text = element.innerText;
После изменения стиля браузер помечает компоновку как устаревшую. Если следующая операция требует данных о визуальном состоянии страницы, браузеру может потребоваться немедленно выполнить перерасчёт. Это называется принудительным синхронным перерасчётом layout.
Похожий механизм работает с другими свойствами, зависящими от текущей геометрии страницы:
element.style.width = '400px';
const width = element.offsetWidth;
К этой же категории относятся
offsetHeight, getBoundingClientRect() и чтение некоторых свойств прокрутки (scrollTop, scrollHeight и другие).Проблема обычно появляется не из-за одного вызова, а из-за постоянного смешивания операций записи и чтения:
elements.forEach(element => {
element.style.width = '400px';
console.log(element.innerText);
});
В таком случае браузер может постоянно выполнять цикл: запись — устаревшая компоновка — чтение — расчёт компоновки.
Это приводит к частым лишним перерасчётам компоновки (layout thrashing). Гораздо эффективнее разделять изменение состояния и чтение данных:
elements.forEach(element => {
element.style.width = '400px';
});
const values = elements.map(
element => element.innerText
);
Важно понимать:
innerText не является медленным сам по себе. Если состояние компоновки уже актуально, чтение может быть дешёвым. Проблема возникает тогда, когда браузеру приходится синхронизировать DOM с текущим визуальным состоянием страницы.Если нужно получить данные из DOM, обычно достаточно
textContent. Если нужен текст именно в том виде, в котором его воспринимает пользователь, используется innerText.🔥 Разница между ними не только в возвращаемой строке.
textContent работает с моделью документа, а innerText — с моделью отображения. В производительных интерфейсах это различие может определить, будет ли чтение обычным получением текстового содержимого или причиной перерасчёта компоновки.📣 Code Ready | #практика
✈️ Code Ready | Frontend
40 собесов и оффер за 1 месяц
Алексей разработчик.
Искал работу с декабря - написание сопроводов и отклики занимали очень много времени.
Выхлоп - почти нулевой.
В какой-то момент понял:
так можно искать бесконечно.
И по совету друга попробовал ии-ассистента для автооткликов - Софи.
▫️За ~1 месяц прошел около 40 собеседований
▫️Получил оффер с вакансии, на которую, по его словам, не откликнулся бы сам
Весь процесс - от первого собеседования до оффера - занял 4 дня.
Зарегистрироваться и попробовать Софи можно здесь.
3 дня - бесплатно.
40 собесов и оффер за 1 месяц
Алексей разработчик.
Искал работу с декабря - написание сопроводов и отклики занимали очень много времени.
Выхлоп - почти нулевой.
В какой-то момент понял:
так можно искать бесконечно.
И по совету друга попробовал ии-ассистента для автооткликов - Софи.
▫️За ~1 месяц прошел около 40 собеседований
▫️Получил оффер с вакансии, на которую, по его словам, не откликнулся бы сам
В описании она выглядела скучно, а по факту - одна из самых интересных компаний, с которыми я общался.
Весь процесс - от первого собеседования до оффера - занял 4 дня.
Зарегистрироваться и попробовать Софи можно здесь.
3 дня - бесплатно.
✈️ Сайтодел | GitHub, Верстка, Сайты, FullStack
🐙 Promises Unwrapping – спецификация для промисов в стандарте ES6. Содержит большое количество информации и примеры использования кода.
Сайтодел | #репозиторий #github
🐙 Promises Unwrapping – спецификация для промисов в стандарте ES6. Содержит большое количество информации и примеры использования кода.
Сайтодел | #репозиторий #github