Frontend Den – Telegram
Frontend Den
1.35K subscribers
73 photos
11 videos
24 files
279 links
Все дял починаючих веб-розробників і не тільки. Зв'язок з адміном або запропонувати новину 👉 @denyspopov_web
@junnot_chat
#frontend #wordpress #html #css
Download Telegram
Изучаем SCSS

Сегодня, я уже даже представить не могу свою работу без SCSS. Данный препроцессор упрощает сильно работу с стилями и значительно ускоряет процесс разработки в общем.

Так как браузеры не воспринимают SCSS, его надо конвертировать в CSS с помощью специальных программ или сборщиков проектов таких как gulp или webpack

Рассмотрим все преимущества работы с SCSS

1. Переменные

Чтобы создать переменную, просто добавьте $ к имени переменной и установите их как обычное свойство CSS.

Кстати, в примере сразу виден пример вложенности.

2. Вложенность

Вложенность в SCSS - очень полезная штука. При помощи нее вы можете выстраивать код так, что SCSS будет визуально напоминать иерархию в вашем HTML.

3. Наследование

@extends помогает вам наследовать свойства другого классаю.


4. Миксины

Миксины в SCSS позволяют нам создавать группы правил CSS и переиспользовать их в своем коде. В миксины, можно даже передавать значение, чтобы сделать их более гибкими


5. Математические операторы

В SCSS можно использовать математические операторы +, -, *, /, %
Например, их можно использовать в тех же миксинах.


6. Циклы

В SCSS можно использовать циклы. Таким образом, вы можете избежать копипаста.


7. Условия

Условия SCSS можно использовать тоже для создания различных условий внутри ваших миксинов.

Вот так, буквально за три минуты вы окунулись в мир SCSS. Я надеюсь что те, кто его использовали узнали для себя что-то новое, а те, кто не использовали - начнут.
____

#вебразработка #вебразработчик #изучаемфронтенд #фронтенд #версткасайта #изучаемфронтенд #цсс #css #scss
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
https://codepen.io/frankyjo/pen/JjMqyNK - Делаем каркасную загрузку контента ( skeleton ) 🙂
PyScript убийца JavaScript ?

Не так давно на PyCon 2022, который проходил 27.04 - 03.05, был сделан анонс и объявили о новой технологии PyScript 🙂

Я немного прочитал про нее и вот, что узнал 🤔

Разработчики рассказали, что теперь можно будет писать код на Python, встраивать его, используя специальные HTML-теги, подключать JavaScript библиотеки и все это благодаря PyScript 🙂

Звучит вроде неплохо. К тому же, с PyScript не надо думать о развертывании специального программного обеспечения. Также, создатели рассказали, что теперь можно будет поделиться дашбордами и моделями в html-файле, который будет запускать код всякий раз, когда другие открывают этот файл в веб-браузере.

Что же такого интересного в PyScript?🤔
А то, что он построен Pyodide ( Pyodide предоставляет способ запуска Python в браузере ) . А в будущем, PyScript может начать поддерживать написание и выполнение кода и на других языках🙃

Альфе-версию вы можете посмотреть на сайте pynoscript.net

В общем, Python теперь в браузере благодаря PyScript
👍52
https://codepen.io/frankyjo/pen/dydKRgZ - красивая карточка на чистом CSS
👍14🌭1
https://codepen.io/frankyjo/pen/vYRerEB - пульсирующая кнопка
👏11💩1
This media is not supported in your browser
VIEW IN TELEGRAM
https://codepen.io/frankyjo/pen/eYrzbvM - Цікавий ховер ефект при наведенні на карточку
🔥10👍4👎3
Сьогоді стартує перше всеукраїнське змагання по джаваскрипту - JS Dark Ninja 🥷

Такого ще ніхто не робив! 🔥

КОЛИ: 8 квітня 2023 з 14 до 18 год.

ДЕ: Онлайн.

ЯК: Купуй квиток на сайті https://targer.dev

Спеціально для читачів каналу 50% знижки по промокоду POPOV 😏 - усього 6 дол, а скільки користі!

Виріши всі таски швидше і краще ніж інші учасники і отримай:
→ Почесний титул JS Dark Ninja 🥷
→ Винагороду переможця - 4096 грн 🤑
Усі топ три учасники отримають круті футболки
→ 50% доходів йде на донат ЗСУ.

Поспішай зареєструватись 👍

Репост другу якого інвайтиш на змагання 🤙
🔥41👍1💩1
Команда Fwdays запрошує на онлайн-конференцію JavaScript fwdays’23!

Next.js, Vue.js, blockchain, Firebase, CRDT, System Design interview, memory management та багато іншого 🙌

🗓 Основні дні конференції – 16 та 20 травня (вівторок та субота).
🗣 Доповіді англійською та українською мовами.
💻 Додаткові будні дні з воркшопами.

А також вони готують дещо цікаве в офлайн форматі 🤫

🎙 Серед спікерів:
Kent C. Dodds – виступить із доповіддю “Caching for Cash”.
Олексій Левжинський (Grammarly) – презентує доповідь “Grokking System Design interview for Front-end Engineer”.
Катерина Поршнєва – поділиться “Visualised guide to memory management in JavaScript”.
Ілля Климов (JavaScript.Ninja) 🤩

Є два варіанти участі:
✔️FREE ONLINE
✔️FULL ONLINE (доступ до записів всіх ефірів після івенту, участь у воркшопах)

Реєструйтесь безкоштовно або використайте промокод Денис10% та отримайте знижку 10%, деталі за посиланням 🔗https://bit.ly/3ZwY57M
💩1
Субдомени для локалхоста! 🤩

Це вже працює в твоєму хром браузері, не потрібно нічого конфігурити.

Як це?

1️⃣ - запусти свою фронтенд апку як зазвичай, наприклад localhost:3000
2️⃣ - пропиши будь-який субдомен і та сама апка буде працювати, наприклад admin.localhost:3000 💫

Для чого це?

Цей підхід дуже зручно використовувати для багато-ролевих апок.

Тому що кожен субдомен - це як окремий домен для браузера.
А значить:
ізольований контекст (LocalStorage, Cookies, Notifications etc)
→ окремі збережені паролі, підсказки автокомпліта

Щоб в одному браузері відкрити різні таби апки з різними субдоменами - і авторизуватись різними ролями / юзерами і тестувати як працює взаємодія між ними.

Кілька слів про браузери:
→ працює в сучасних версіях Chrome, Firefox
→ не працює в Safari
→ має працювати в інших chromium-based браузерах

Стосовно запуску різних проєктів ✍️

Можна різні проєкти запускати на різних субдоменах щоб зберігати різні автокомпліти, авторизацію.

❗️ Але я рекомендую запускати різні апки на різних портах, тобто localhost:3040, localhost:4050 тощо.

Кожна апка для локального девелопменту повинна мати свій унікальний порт. ✍️

Тому що:
→ не має конфлікту контекстів різних апок (не перетирається localStorage, не міксуються кукі та інші persistent data тощо)
→ різні апки можна запустити одночасно
→ кожен порт прописується в коді (енвах) = хороша конвенція

Отримав користь?
Репости друзям, вподобай цей допис щоб ще більше девелоперів дізналось 😉

#coding #dx
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥3😱1💩1
84bE-o2MK.jpeg
94.6 KB
Для тих мене постійно про неї питає
7💩2
Сем Альтман за рішенням ради директорів залишив посаду CEO OpenAI
Що думаєте про це?
Lazy Loading у React: Ефективне Завантаження Медіафайлів 🚀

🔍 Що таке Lazy Loading?
Lazy Loading - це техніка в веб-розробці, яка дозволяє затримати завантаження об'єктів на сторінці (наприклад, зображень) до того моменту, коли вони стають необхідними. Це може значно покращити продуктивність та час завантаження сторінок.

🌟 Як використовувати Lazy Loading у React?

1. React.lazy та Suspense:

React.lazy дозволяє динамічно імпортувати компоненти, які завантажуються тільки за потреби.
Використовуйте <Suspense> для відображення запасного контенту, поки компонент завантажується.


2. Бібліотеки для лінивої загрузки зображень:

Використовуйте готові рішення, такі як react-lazy-load-image-component.
Ці бібліотеки дозволяють легко завантажувати зображення, коли вони потрапляють у поле зору.

3. Власна реалізація з Intersection Observer API:

Створіть компонент, який використовує Intersection Observer API для відстеження видимості елементів.
Завантажуйте медіа тільки коли елемент стає видимим.
👍151🔥1
5️⃣ способів створення об'єкта в JavaScript

В JavaScript об'єкти є універсальними інструментами, які можна створювати різними способами, кожен з яких підходить для різних сценаріїв. Розуміння того, коли використовувати кожен метод, є ключем до написання ефективного та легкого для підтримки коду на JavaScript. Давайте розглянемо п'ять поширених методів створення об'єктів в JavaScript, описуючи найкраще використання кожного з них.

1. Літерали об'єктів

Літерали об'єктів - це найпростіший і найшвидший спосіб створення об'єктів у JavaScript за допомогою фігурних дужок {}. Цей метод ідеально підходить для створення окремих, самостійних об'єктів, яким не потрібен шаблон або повторне створення.

const car = {
make: 'Toyota',
model: 'Corolla',
year: 2021
};

console.log(car);

2. Синтаксис new Object()

Створення об'єкта за допомогою синтаксису new Object() - це більш явний спосіб створення об'єктів у програмуванні на JavaScript. Це схоже на літерали об'єктів, але може бути більш зрозумілим для тих, хто прийшов з інших мов програмування.

const person = new Object();
person.name = 'John';
person.age = 30;
person.isEmployed = true;

console.log(person);

Цей метод корисний, коли ви хочете явно продемонструвати створення об'єкта або коли переходите з мови програмування, яка активно використовує класове або конструкторне створення об'єктів. Також він корисний, коли динамічно додаються властивості залежно від умов.

3. Конструкторні Функції

Конструкторні функції використовуються для створення декількох екземплярів подібних об'єктів. Вони діють як шаблон для створення об'єктів одного типу в JavaScript.

function Smartphone(brand, model, year) {
this.brand = brand;
this.model = model;
this.year = year;
}

const myPhone = new Smartphone('Apple', 'iPhone 13', 2021);
console.log(myPhone);

Конструкторні функції ідеальні, коли вам потрібно створити кілька об'єктів з подібними властивостями та методами. Вони чудові для створення об'єктів, таких як користувачі, продукти або інші сутності, які мають спільну структуру, але різні значення.

4. Метод Object.create()

Object.create() в JavaScript створює новий об'єкт із зазначеним прототипом та властивостями. Цей метод надає більше контролю над успадкуванням об'єктів, ніж інші методи.

const animal = {
type: 'Animal',
displayType: function() {
console.log(this.type);
}
};

const dog = Object.create(animal);
dog.type = 'Dog';
dog.displayType(); // Вивід: Dog

Цей метод корисний, коли вам потрібно створити об'єкт, який безпосередньо успадковує від іншого, не викликаючи конструктор батьківського об'єкта. Він є потужним інструментом для складних структур успадкування та може бути використаний для делегування поведінки, серед інших розширених шаблонів.

5.Синтаксис класів ES6
Класи ES6 пропонують більш традиційний, класовий спосіб створення об'єктів у JavaScript. Це синтаксичний цукор над прототипним успадкуванням JavaScript, але надає більш чіткий та знайомий синтаксис для тих, хто прийшов з класових мов.

class Book {
constructor(noscript, author, year) {
this.noscript = noscript;
this.author = author;
this.year = year;
}

getSummary() {
return ${this.noscript} написана ${this.author} у ${this.year} році;
}
}

const myBook = new Book('1984', 'Джордж Орвелл', 1949);
console.log(myBook.getSummary());

Використовуйте класи ES6 для більш складних застосунків, де важливі організація, читабельність та структура успадкування вашого коду. Вони корисні для масштабних застосунків та при роботі в команді, де потрібні чіткі та стандартизовані практики кодування.
🔥9👎1
Який метод найкращий та найшвидший?

Не існує універсальної відповіді на питання про найкращий та найшвидший спосіб створення об'єктів, оскільки це значною мірою залежить від конкретних вимог та контексту вашого застосунку. Однак, з точки зору простоти та швидкості, літерали об'єктів є найшвидшим і найпростішим способом створення об'єктів, особливо для простих, одноразових об'єктів. Для більш складних та структурованих застосунків класи ES6 забезпечують баланс читабельності, традиційного синтаксису та продуктивності, хоча вони можуть мати невелике навантаження порівняно з конструкторними функціями.

Вибір правильного методу створення об'єктів у JavaScript залежить від контексту вашого застосунку та конкретних вимог. Чи це простий об'єкт на один раз, чи складна структура, що вимагає успадкування, розуміння цих п'яти методів дозволяє вам писати більш ефективний та легкий для підтримки код на JavaScript.
👍9