This is a daily stats digest!
Today the bot processed: 10 messages
Today you received: 7 messages
Our filtering prevented you from: 3 messages
Top 3 source channels:
Senior Frontend Developer | JavaScript, React, HTML & CSS: 3 message(s)
Веб-страница: 2 message(s)
Senior Frontend - javascript, html, css: 2 message(s)
React to posts with 👍, 👎, ❤️, or 🔥. Spot spam? Mark it with 🤬 or 💩. Your input is valuable!
Text t.me/OlegBEZb if you want to see something else in the daily report
Today the bot processed: 10 messages
Today you received: 7 messages
Our filtering prevented you from: 3 messages
Top 3 source channels:
Senior Frontend Developer | JavaScript, React, HTML & CSS: 3 message(s)
Веб-страница: 2 message(s)
Senior Frontend - javascript, html, css: 2 message(s)
React to posts with 👍, 👎, ❤️, or 🔥. Spot spam? Mark it with 🤬 or 💩. Your input is valuable!
Text t.me/OlegBEZb if you want to see something else in the daily report
Telegram
Oleg Litvinov
You can contact @OlegBEZb right away.
Forwarded from Senior Frontend - javascript, html, css
Куда подевались ваши манеры? Коллеги в IT
В данной статье автор делится своим опытом токсичного общения с коллегами, начиная с первой встречи с HR-менеджером и заканчивая работой внутри команды. Такое поведение серьезно подрывает мотивацию и нормальное взаимодействие в команде при решении возникающих проблем.
Первоначальное знакомство очень важно
Была компания в которую мне очень хотелось попасть, но разговоры с HR-менеджером постепенно и по-этапно отталкивали меня от этого решения. Все начинается с достаточно долгих ответов на вопросы с зазором от нескольких часов, до нескольких дней и тут возникает вообще мысль, а нужен ли я им как работник при отсутствии какого-то интереса к себе?
Будь внимателен на код-ревью, ведь нужно разнести код своего коллеги
Однажды я работал над разработкой общей библиотеки для всего цеха разработки и внёс небольшие изменения в логирование для улучшения производительности. Когда я создал мердж-реквест, начался сущий кошмар. От трех человек я получил более 70 замечаний, причем не только по моим изменениям, но и по тем, что они увидели в проекте, а также по своим пожеланиям относительно стиля кода.
Пришлось каждому отвечать, что данное замечание не относиться к задаче, а их некоторые пожелания не совпадают с единым стилем кода принятым в цехе разработки. Они соглашались, что их замечания не по делу и когда я начинал собирать апрувы, они старались искать все новые и новые замечания, так-как их предыдущее не получило одобрение. Самое интересное, что они начинали ругаться и с другими людьми, которые указывали замечания.
Будь почтителен со своими родителями, родственниками и с менеджером Иваном из своей компании
Пришла ко мне очередная бизнес-задача, уже с подготовленной документацией и согласованным архитектурным решением от менеджеров. Казалось бы, просто взял, реализовал, протестировал и выпустил в релиз, но менеджер Иван решил продемонстрировать свою важность, и релиз затянулся на неопределенный срок.
Всё началось с согласования мердж-реквеста в релизную ветку. На просьбы посмотреть и согласовать изначально был игнор, потому что Иван был очень занят согласованием других мердж-реквестов.
Заказчики уже ожидают функционала на продакшене, а я все еще не могу получить согласование от нашего менеджера. Это заставляет меня поднять вопрос на ретроспективе: почему этот менеджер взял на себя обязанности по согласованию всех задач в релизе и не может выполнять свою работу вовремя? Возможно, он вообще лишнее звено в этой бюрократической цепи. Другие разработчики тоже сообщают о таких проблемах, и наш тимлид решает провести разговор с Иваном и ускорить процесс.
Результатом данного разговора стало то, что Иван отказывается согласовывать данные доработки, аргументируя тем, что ему не устраивает архитектурное решение, хотя ранее он уже его согласовывал. Он указывает мне, что я должен посмотреть его расписание в календаре и назначить встречу с моим тимлидом и аналитиком, причем я не упоминаюсь в этой встрече. И разговор проходит в тоне, как-будто я секретарша, а он мой начальник, хотя в юридической структуре мой руководитель, мой тимлид.
Я решаю передать данную информацию своему тимлиду и дальше он уже отправляется разбираться с нашим менеджером. Как итог данного действия отложенный релиз на 2 месяца и множество созвонов и встреч, но функционал отправился в релиз в том виде в котором был разработан изначально.
И тут возникает вопрос: зачем всё это нужно? Почему, когда некоторые становятся столпами бюрократии, они начинают не решать проблемы, а создавать новые? Мне кажется, всё это происходит потому, что нужно демонстрировать руководству, как сильно ты зависишь от этого и как много ты работаешь, даже если эта работа не имеет реального значения.
👉 @seniorFront
В данной статье автор делится своим опытом токсичного общения с коллегами, начиная с первой встречи с HR-менеджером и заканчивая работой внутри команды. Такое поведение серьезно подрывает мотивацию и нормальное взаимодействие в команде при решении возникающих проблем.
Первоначальное знакомство очень важно
Была компания в которую мне очень хотелось попасть, но разговоры с HR-менеджером постепенно и по-этапно отталкивали меня от этого решения. Все начинается с достаточно долгих ответов на вопросы с зазором от нескольких часов, до нескольких дней и тут возникает вообще мысль, а нужен ли я им как работник при отсутствии какого-то интереса к себе?
Будь внимателен на код-ревью, ведь нужно разнести код своего коллеги
Однажды я работал над разработкой общей библиотеки для всего цеха разработки и внёс небольшие изменения в логирование для улучшения производительности. Когда я создал мердж-реквест, начался сущий кошмар. От трех человек я получил более 70 замечаний, причем не только по моим изменениям, но и по тем, что они увидели в проекте, а также по своим пожеланиям относительно стиля кода.
Пришлось каждому отвечать, что данное замечание не относиться к задаче, а их некоторые пожелания не совпадают с единым стилем кода принятым в цехе разработки. Они соглашались, что их замечания не по делу и когда я начинал собирать апрувы, они старались искать все новые и новые замечания, так-как их предыдущее не получило одобрение. Самое интересное, что они начинали ругаться и с другими людьми, которые указывали замечания.
Будь почтителен со своими родителями, родственниками и с менеджером Иваном из своей компании
Пришла ко мне очередная бизнес-задача, уже с подготовленной документацией и согласованным архитектурным решением от менеджеров. Казалось бы, просто взял, реализовал, протестировал и выпустил в релиз, но менеджер Иван решил продемонстрировать свою важность, и релиз затянулся на неопределенный срок.
Всё началось с согласования мердж-реквеста в релизную ветку. На просьбы посмотреть и согласовать изначально был игнор, потому что Иван был очень занят согласованием других мердж-реквестов.
Заказчики уже ожидают функционала на продакшене, а я все еще не могу получить согласование от нашего менеджера. Это заставляет меня поднять вопрос на ретроспективе: почему этот менеджер взял на себя обязанности по согласованию всех задач в релизе и не может выполнять свою работу вовремя? Возможно, он вообще лишнее звено в этой бюрократической цепи. Другие разработчики тоже сообщают о таких проблемах, и наш тимлид решает провести разговор с Иваном и ускорить процесс.
Результатом данного разговора стало то, что Иван отказывается согласовывать данные доработки, аргументируя тем, что ему не устраивает архитектурное решение, хотя ранее он уже его согласовывал. Он указывает мне, что я должен посмотреть его расписание в календаре и назначить встречу с моим тимлидом и аналитиком, причем я не упоминаюсь в этой встрече. И разговор проходит в тоне, как-будто я секретарша, а он мой начальник, хотя в юридической структуре мой руководитель, мой тимлид.
Я решаю передать данную информацию своему тимлиду и дальше он уже отправляется разбираться с нашим менеджером. Как итог данного действия отложенный релиз на 2 месяца и множество созвонов и встреч, но функционал отправился в релиз в том виде в котором был разработан изначально.
И тут возникает вопрос: зачем всё это нужно? Почему, когда некоторые становятся столпами бюрократии, они начинают не решать проблемы, а создавать новые? Мне кажется, всё это происходит потому, что нужно демонстрировать руководству, как сильно ты зависишь от этого и как много ты работаешь, даже если эта работа не имеет реального значения.
👉 @seniorFront
🖥 Подборка интересных статей за неделю
Original post link: t.me/frontendnoteschannel/3552
Forwarded and filtered by @smartfeed_bot
• Руководство по Next.js. 3/3• Ехал handler через handler, или почему всё тормозит• Контекст в Vue/Nuxt: осознать, не терять и беречь• Записываем музыку при помощи CSS Grid• Скрытый потенциал функции inject в AngularOriginal post link: t.me/frontendnoteschannel/3552
Forwarded and filtered by @smartfeed_bot
Forwarded from Веб-страница
Состоялся релиз минималистичного веб-браузера Dillo 3.1.0 спустя 9 лет перерыва в разработке проекта
Код Dillo написан на языке С/C++ с использованием библиотеки FLTK. Браузер отличается небольшим размером (исполняемый файл около мегабайта при статической сборке) и минимальным потреблением памяти, наличием графического интерфейса с поддержкой вкладок и закладок, поддержкой HTTPS и базового набора веб-стандартов (есть поддержка HTML 4.01 и CSS, но нет JavaScript). Функциональность Dillo может расширяться через плагины.
В 2016 году умер один из ключевых разработчиков проекта, а с 2017 года разработка Dillo полностью остановилась. Предыдущая стабильная версия Dillo 3.0.5 вышла в июне 2015 года. Релиз Dillo 3.0 состоялся в 2011 году.
В январе 2024 года была предпринята первая попытка возрождения проекта, результаты которой как раз представлены в составе этого обновления. Исходный код решения опубликован на GitHub под лицензией GPLv3: https://github.com/dillo-browser/dillo
#интернет #история
Код Dillo написан на языке С/C++ с использованием библиотеки FLTK. Браузер отличается небольшим размером (исполняемый файл около мегабайта при статической сборке) и минимальным потреблением памяти, наличием графического интерфейса с поддержкой вкладок и закладок, поддержкой HTTPS и базового набора веб-стандартов (есть поддержка HTML 4.01 и CSS, но нет JavaScript). Функциональность Dillo может расширяться через плагины.
В 2016 году умер один из ключевых разработчиков проекта, а с 2017 года разработка Dillo полностью остановилась. Предыдущая стабильная версия Dillo 3.0.5 вышла в июне 2015 года. Релиз Dillo 3.0 состоялся в 2011 году.
В январе 2024 года была предпринята первая попытка возрождения проекта, результаты которой как раз представлены в составе этого обновления. Исходный код решения опубликован на GitHub под лицензией GPLv3: https://github.com/dillo-browser/dillo
#интернет #история
Forwarded from Frontender's notes [ru]
Регулярные выражения в JavaScript имеют множество улучшений, включая поддержку Юникода с флагом u в ES2015. Флаг v, предложенный для замены флага u, добавляет дополнительные преимущества.
Он позволяет использовать нотацию набора
/set и искать пересечение двух шаблонов. Флаг v также решает проблемы с нечувствительностью к регистру, присущие флагу u. Этот флаг был реализован во всех основных браузерах и ожидается в спецификации ES2024.const isEmoji = /^\p{RGI_Emoji}$/v;
console.log(isEmoji.test("💚")); // true
console.log(isEmoji.test("🐨")); // trueconst isNotHeartEmoji = /^[\p{RGI_Emoji_Tag_Sequence}--\q{💜💚♥️💙🖤💛🧡🤍🤎}]$/v;
console.log(isNotHeartEmoji.test("💚")); // false
console.log(isNotHeartEmoji.test("🐨")); // trueconst GreekLetters = /[\p{Script_Extensions=Greek}&&\p{Letter}]/v;
console.log(GreekLetters.test('π')); // true
console.log(GreekLetters.test('𐆊')); // falsePlease open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Frontender's notes [ru]
Регулярные выражения в JavaScript имеют множество улучшений, включая поддержку Юникода с флагом u в ES2015. Флаг v, предложенный для замены флага u, добавляет дополнительные преимущества.
Он позволяет использовать нотацию набора
/set и искать пересечение двух шаблонов. Флаг v также решает проблемы с нечувствительностью к регистру, присущие флагу u. Этот флаг был реализован во всех основных браузерах и ожидается в спецификации ES2024.const isEmoji = /^\p{RGI_Emoji}$/v;
console.log(isEmoji.test("💚")); // true
console.log(isEmoji.test("🐨")); // trueconst isNotHeartEmoji = /^[\p{RGI_Emoji_Tag_Sequence}--\q{💜💚♥️💙🖤💛🧡🤍🤎}]$/v;
console.log(isNotHeartEmoji.test("💚")); // false
console.log(isNotHeartEmoji.test("🐨")); // trueconst GreekLetters = /[\p{Script_Extensions=Greek}&&\p{Letter}]/v;
console.log(GreekLetters.test('π')); // true
console.log(GreekLetters.test('𐆊')); // falsePlease open Telegram to view this post
VIEW IN TELEGRAM
#вопросы_с_собеседований
Что такое Веб-компоненты и какие технологии в них используются?
Веб-компоненты — технология, которая позволяет создавать многократно используемые компоненты в веб-документах и веб-приложениях. Веб-компоненты поддерживаются веб-браузерами напрямую и не требуют дополнительных библиотек для работы.
Веб-компоненты включают четыре технологии, каждая из которых может использоваться отдельно от других:
Custom Elements — API для создания собственных HTML элементов.
HTML Templates — тег позволяет реализовывать изолированные DOM-элементы.
Shadow DOM — изолирует DOM и стили в разных элементах.
HTML Imports — импорт HTML документов.
Original post link: t.me/senior_front/1994
Forwarded and filtered by @smartfeed_bot
Что такое Веб-компоненты и какие технологии в них используются?
Веб-компоненты — технология, которая позволяет создавать многократно используемые компоненты в веб-документах и веб-приложениях. Веб-компоненты поддерживаются веб-браузерами напрямую и не требуют дополнительных библиотек для работы.
Веб-компоненты включают четыре технологии, каждая из которых может использоваться отдельно от других:
Custom Elements — API для создания собственных HTML элементов.
HTML Templates — тег позволяет реализовывать изолированные DOM-элементы.
Shadow DOM — изолирует DOM и стили в разных элементах.
HTML Imports — импорт HTML документов.
Original post link: t.me/senior_front/1994
Forwarded and filtered by @smartfeed_bot
This is a daily stats digest!
Today the bot processed: 10 messages
Today you received: 6 messages
Our filtering prevented you from: 4 messages
Top 3 source channels:
Веб-страница: 3 message(s)
Frontender's notes [ru]: 3 message(s)
Senior Frontend - javascript, html, css: 2 message(s)
React to posts with 👍, 👎, ❤️, or 🔥. Spot spam? Mark it with 🤬 or 💩. Your input is valuable!
Text t.me/OlegBEZb if you want to see something else in the daily report
Today the bot processed: 10 messages
Today you received: 6 messages
Our filtering prevented you from: 4 messages
Top 3 source channels:
Веб-страница: 3 message(s)
Frontender's notes [ru]: 3 message(s)
Senior Frontend - javascript, html, css: 2 message(s)
React to posts with 👍, 👎, ❤️, or 🔥. Spot spam? Mark it with 🤬 or 💩. Your input is valuable!
Text t.me/OlegBEZb if you want to see something else in the daily report
Telegram
Oleg Litvinov
You can contact @OlegBEZb right away.
This media is not supported in your browser
VIEW IN TELEGRAM
Smooth 3d perspective slider
Свёрстано при помощи препроцессоров Pug и SCSS. Функционал слайдера и логика поворота карточки реализована на чистом JS.
👉 @seniorFront
Original post link: t.me/seniorFront/4055
Forwarded and filtered by @smartfeed_bot
Свёрстано при помощи препроцессоров Pug и SCSS. Функционал слайдера и логика поворота карточки реализована на чистом JS.
👉 @seniorFront
Original post link: t.me/seniorFront/4055
Forwarded and filtered by @smartfeed_bot
Forwarded from Frontender's notes [ru]
Promise - это объект в JavaScript, который представляет результат асинхронной операции. Промис позволяет обрабатывать результат операции, когда он станет доступным, вместо того, чтобы блокировать выполнение кода и ожидать завершения операции.
🔽 Промис может находиться в одном из трех состояний:
Pending: Исходное состояние промиса. Он находится в ожидании выполнения или отклонения операции.
Fulfilled: Промис переходит в это состояние, когда операция успешно завершается. В этом случае промис возвращает результат операции.
Rejected: Промис переходит в это состояние, когда операция завершается с ошибкой. В этом случае промис возвращает причину ошибки.
🔽 Пример использования промиса:
function fetchData() {
return new Promise((resolve, reject) => {
setTimeout(() => {
const data = 'Some data';
// Имитация успешного выполнения операции
resolve(data);
// Имитация ошибки
// reject('Error occurred');
}, 2000);
});
}
fetchData()
.then(result => {
console.log('Результат:', result);
})
.catch(error => {
console.log('Ошибка:', error);
});#Собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Light & Shadow Text Shadow Animation
В этом видео создается тень текста, при помощи CSS text-shadow, затем в JS изменяются параметры этой тени.
👉 @seniorFront
Original post link: t.me/seniorFront/4057
Forwarded and filtered by @smartfeed_bot
В этом видео создается тень текста, при помощи CSS text-shadow, затем в JS изменяются параметры этой тени.
👉 @seniorFront
Original post link: t.me/seniorFront/4057
Forwarded and filtered by @smartfeed_bot
This media is not supported in your browser
VIEW IN TELEGRAM
💾 Lottie Animations in React – анимация, написанная на библиотеке Lottie. Весь код находится в JS-файле, а HTML и CSS не используются.
Сайтодел | #сниппет #css
Original post link: t.me/sitodel/1759
Forwarded and filtered by @smartfeed_bot
Сайтодел | #сниппет #css
Original post link: t.me/sitodel/1759
Forwarded and filtered by @smartfeed_bot
This is a daily stats digest!
Today the bot processed: 8 messages
Today you received: 4 messages
Our filtering prevented you from: 4 messages
Top 3 source channels:
Senior Frontend - javascript, html, css: 3 message(s)
Веб-страница: 2 message(s)
Frontender's notes [ru]: 2 message(s)
React to posts with 👍, 👎, ❤️, or 🔥. Spot spam? Mark it with 🤬 or 💩. Your input is valuable!
Text t.me/OlegBEZb if you want to see something else in the daily report
Today the bot processed: 8 messages
Today you received: 4 messages
Our filtering prevented you from: 4 messages
Top 3 source channels:
Senior Frontend - javascript, html, css: 3 message(s)
Веб-страница: 2 message(s)
Frontender's notes [ru]: 2 message(s)
React to posts with 👍, 👎, ❤️, or 🔥. Spot spam? Mark it with 🤬 or 💩. Your input is valuable!
Text t.me/OlegBEZb if you want to see something else in the daily report
Telegram
Oleg Litvinov
You can contact @OlegBEZb right away.
This media is not supported in your browser
VIEW IN TELEGRAM
👩💻 Animated Login Form
Форма для входа с интересной анимацией вокруг. Сделана на чистом CSS.
#codepen
Original post link: t.me/frontendnoteschannel/3557
Forwarded and filtered by @smartfeed_bot
Форма для входа с интересной анимацией вокруг. Сделана на чистом CSS.
#codepen
Original post link: t.me/frontendnoteschannel/3557
Forwarded and filtered by @smartfeed_bot
This media is not supported in your browser
VIEW IN TELEGRAM
Proximity Glow Cards
Настройки стилей карточек реализованы при помощи библиотеки
👉 @seniorFront
Original post link: t.me/seniorFront/4060
Forwarded and filtered by @smartfeed_bot
Настройки стилей карточек реализованы при помощи библиотеки
dat.gui. Стилизовано и анимировано в CSS.👉 @seniorFront
Original post link: t.me/seniorFront/4060
Forwarded and filtered by @smartfeed_bot
This is a daily stats digest!
Today the bot processed: 7 messages
Today you received: 3 messages
Our filtering prevented you from: 4 messages
Top 3 source channels:
Senior Frontend - javascript, html, css: 3 message(s)
Frontender's notes [ru]: 2 message(s)
Веб-страница: 1 message(s)
React to posts with 👍, 👎, ❤️, or 🔥. Spot spam? Mark it with 🤬 or 💩. Your input is valuable!
Text t.me/OlegBEZb if you want to see something else in the daily report
Today the bot processed: 7 messages
Today you received: 3 messages
Our filtering prevented you from: 4 messages
Top 3 source channels:
Senior Frontend - javascript, html, css: 3 message(s)
Frontender's notes [ru]: 2 message(s)
Веб-страница: 1 message(s)
React to posts with 👍, 👎, ❤️, or 🔥. Spot spam? Mark it with 🤬 or 💩. Your input is valuable!
Text t.me/OlegBEZb if you want to see something else in the daily report
Telegram
Oleg Litvinov
You can contact @OlegBEZb right away.
This media is not supported in your browser
VIEW IN TELEGRAM
Travel carousel
Функционал слайдера реализован библиотекой swiper. Стилизовано в SCSS.
👉 @seniorFront
Original post link: t.me/seniorFront/4062
Forwarded and filtered by @smartfeed_bot
Функционал слайдера реализован библиотекой swiper. Стилизовано в SCSS.
👉 @seniorFront
Original post link: t.me/seniorFront/4062
Forwarded and filtered by @smartfeed_bot
🖥 AI and Machine Learning Landing Page – сайт для приложения, использующего нейросеть. Выполнен в холодных пастельных тонах, которые хорошо сочетаются с темным фоном.
Сайтодел | #макет #figma
Original post link: t.me/sitodel/1760
Forwarded and filtered by @smartfeed_bot
Сайтодел | #макет #figma
Original post link: t.me/sitodel/1760
Forwarded and filtered by @smartfeed_bot
Forwarded from Senior Frontend Developer | JavaScript, React, HTML & CSS
Как работает прототипное наследование в JavaScript? Можете ли вы объяснить разницу между классическим наследованием и прототипным?
Прототипное наследование в JavaScript означает, что объекты наследуют свойства и методы от другого объекта, известного как прототип. В отличие от классического наследования, где классы являются схемами для создания объектов, в JavaScript объект может наследовать непосредственно от другого объекта.
Ключевой особенностью прототипного наследования является то, что оно позволяет объектам делиться свойствами и методами, что упрощает повторное использование кода. Например, если у вас есть объект animal, и вы создаете объект dog, который наследует от animal, dog будет иметь доступ ко всем свойствам и методам animal.
Классическое наследование, часто встречающееся в языках, таких как Java или C++, включает в себя иерархию классов, где классы наследуются от других классов. В JavaScript прототипное наследование позволяет объектам наследовать напрямую друг от друга, что делает его более гибким, но также может быть более запутанным для понимания без тщательного изучения.
Ключевой особенностью прототипного наследования является то, что оно позволяет объектам делиться свойствами и методами, что упрощает повторное использование кода. Например, если у вас есть объект animal, и вы создаете объект dog, который наследует от animal, dog будет иметь доступ ко всем свойствам и методам animal.
Классическое наследование, часто встречающееся в языках, таких как Java или C++, включает в себя иерархию классов, где классы наследуются от других классов. В JavaScript прототипное наследование позволяет объектам наследовать напрямую друг от друга, что делает его более гибким, но также может быть более запутанным для понимания без тщательного изучения.
This is a daily stats digest!
Today the bot processed: 11 messages
Today you received: 3 messages
Our filtering prevented you from: 8 messages
Top 3 source channels:
Frontender's notes [ru]: 4 message(s)
Senior Frontend - javascript, html, css: 3 message(s)
Senior Frontend Developer | JavaScript, React, HTML & CSS: 2 message(s)
React to posts with 👍, 👎, ❤️, or 🔥. Spot spam? Mark it with 🤬 or 💩. Your input is valuable!
Text t.me/OlegBEZb if you want to see something else in the daily report
Today the bot processed: 11 messages
Today you received: 3 messages
Our filtering prevented you from: 8 messages
Top 3 source channels:
Frontender's notes [ru]: 4 message(s)
Senior Frontend - javascript, html, css: 3 message(s)
Senior Frontend Developer | JavaScript, React, HTML & CSS: 2 message(s)
React to posts with 👍, 👎, ❤️, or 🔥. Spot spam? Mark it with 🤬 or 💩. Your input is valuable!
Text t.me/OlegBEZb if you want to see something else in the daily report
Telegram
Oleg Litvinov
You can contact @OlegBEZb right away.