В данном видеокурсе мы с вами рассмотрим технологию Flexbox. Flexible Box Layout Module (Flexbox) - представляет собой способ компоновки элементов, в основе лежит идея оси. Другими словами все элементы можно располагать вдоль основной и поперечной осей, или вертикально и горизонтально. Технология позволяет буквально в пару свойств создать гибкий лэйаут, или гибкие UI элементы.
🖥Flexbox Froggy - это игра, которая позволит на практике разобраться, как использовать свойства CSS flexbox для выравнивания элементов. Вы можете играть в игру онлайн и смотреть примеры кода для каждого уровня.
Годная вещь для новичков, которые хотят разобраться с флексами 🔥
➡️AI.JSX — разработанный Fixie, является динамичным фреймворком для создания разговорных приложений с использованием JavaScript и JSX, оптимизированным для проектов на React.
🔵 Он выделяется среди других инструментов для ИИ благодаря надежной поддержке инжиниринга подсказок и простой интеграции с внешними API.
➡️TensorFlow.js — адаптация библиотеки TensorFlow от Google для JavaScript, специально созданная для использования в вебе и Node.js, чтобы внедрить возможности машинного обучения в браузеры и серверные приложения.
🔵 Одним из ключевых преимуществ TensorFlow.js является способность запуска моделей МО прямо в браузере.
➡️Brain.js предлагает простой способ создания нейронных сетей на JavaScript, подходит для браузера и Node.js.
🔵 Основное применение Brain.js — автоматизация процессов, таких как анализ текста, объединение PDF, обработка изображений и другие задачи, связанные с обработкой данных.
➡️Tabnine — помощник по автозаполнению кода на основе ИИ, улучшающий опыт программирования.
🔵 Он ускоряет разработку и поддерживает целостность кода, предлагая фрагменты кода, завершения функций и блоки кода на основе естественных языковых комментариев.
JavaScript — невероятно гибкий язык, особенно с появлением JavaScript ES5 и последующих стандартов, которые значительно расширили его функциональность.
🔵 Конечно, иногда приходится обходить устаревшие решения, но преимущества языка перевешивают — на чистом JavaScript можно создать практически любую программу.
🔵 В этом гайде мы покажем, как написать 2D игру «Змейка». Однако, учтите, что этот гайд не предназначен для изучения JavaScript с нуля, поэтому вам понадобятся базовые знания.
🔵 Также потребуется знание HTML (включая HTML5 canvas) и CSS, хотя основное внимание будет уделено именно JavaScript.
⚡️ React-animations⚡️ React-animations — это библиотека, основанная на анимациях из animate.css. Она легко осваивается и предлагает большое количество анимаций.
React-animations совместима с любыми inline-style библиотеками, которые поддерживают определение ключевых кадров анимации через объекты, такими как Radium, Aphrodite или styled-components.
Теперь давайте разберём, как это работает на примере анимации подпрыгивания.
➡️Для начала необходимо импортировать нужную анимацию из react-animations.
⚡️ BLUEFISH IDE ⚡️ Bluefish — это многофункциональный редактор кода.
Обладает рядом полезных функций:
🔵 проверка орфографии с учётом специфики языков программирования
🔵 автодополнение кода
🔵 поддержка сниппетов
🔵 управление проектами
🔵 автоматическое сохранение.
💡 Этот редактор идеально подходит для веб-разработчиков, но не удовлетворит потребности дизайнеров, которым необходим веб-ориентированный или WYSIWYG-редактор.
Начинающие фронтендеры всегда ищут дизайны для отработки своих навыков работы. Мы нашли несколько удивительных бесплатных дизайнов пользовательского интерфейса от талантливых и потрясающих дизайнеров из сообщества Figma.
Выбор элементов на основе их содержимого с использованием псевдокласса :has() открывает возможности изменения стилей элементов в зависимости от наличия определенных дочерних элементов или других условий в их содержимом. 👀Параметры, которые принимает данный псевдокласс:
🔵 :has(selector) — применяет стили к элементу, если он содержит дочерние элементы, соответствующие селектору.
🔵 :has(:not(selector)) — применяет стили к элементу, если у него нет дочерних элементов, соответствующих селектору.
⚡️ Event Loop (Цикл событий) - это важный аспект асинхронного программирования, который позволяет выполнение JavaScript кода в однопоточном режиме, не блокируя другие операции. Event Loop проверяет наличие задач для выполнения и обрабатывает их поочередно.
🟢 JavaScript работает в одном потоке, что означает выполнение одной операции за раз. Однако благодаря Event Loop, JavaScript способен обрабатывать асинхронные задачи, такие как запросы к серверу или обработка событий интерфейса, не блокируя основной поток выполнения.
➡️ Механизм работы Event Loop:
😊 Стек вызовов (Call Stack): Хранит текущее выполнение функций. Функция добавляется в стек при вызове и удаляется после завершения выполнения.
😊 Очередь обратных вызовов (Callback Queue): Когда асинхронная операция завершена, ее обратный вызов помещается в очередь.
😊 Цикл событий (Event Loop): Проверяет стек вызовов на наличие функций для выполнения. Если стек пуст, Event Loop выбирает обратный вызов из очереди и добавляет его в стек для выполнения.
🟢 Это позволяет JavaScript выполнять долгосрочные операции, такие как загрузка данных, не блокируя основной поток выполнения и обеспечивая отзывчивость приложения.
➡️В этом примере, несмотря на нулевую задержку в setTimeout, сообщения будут выведены в порядке:
Первое сообщение Второе сообщение Сообщение из setTimeout
🟢 Это происходит потому, что обратный вызов setTimeout помещается в очередь и будет выполнен после завершения текущего кода в стеке вызовов. Event Loop позволяет выполнять асинхронные операции, сохраняя отзывчивость и эффективность веб-приложений.
🟢 С появлением нового типа объектов Set в стандарте ES6 и его комбинацией со спред-оператором (...), можно быстро создать новый массив из старого, содержащий только уникальные значения.
🟢 При изучении JavaScript, мы всегда встречаем стандартный цикл for в учебных материалах:
for (let i = 0; i < array.length; i++){ console.log(i); }
🟢 Этот шаблон следует использовать, верно? Однако, он не является оптимальным. На каждой итерации будет пересчитываться длина массива array. И хотя иногда это может быть полезно, чаще всего более эффективным будет кэшировать ее после первого расчета. Для этого мы создаем переменную length вместе с определением счетчика цикла в первой части условия:
for (let i = 0, length = array.length; i < length; i++){ console.log(i); }
🟢 Такой код остается лаконичным, но при работе с большими массивами будет немного более эффективным.
➡️Укорачивание
🟢 Один из широко известных JavaScript-трюков - сокращение массива, который всегда полезно вспомнить.
🟢 Для удаления нескольких значений с конца массива не обязательно использовать методы slice(), splice() или pop(). Просто присвойте новое значение свойству length массива:
⚡️WebStorm — Среда разработки веб-приложений на JavaScript, CSS и HTML. Обеспечивает быстрое программирование благодаря функциям анализа кода и автодополнения.
🔵 Широкий функционал. WebStorm предлагает широкий спектр инструментов и возможностей, включая поддержку необходимых фронтенд-разработчику языков и фреймворков. 🔵 Встроенная проверка орфографии. Сокращает время на поиск и исправление мелких ошибок. 🔵 Удобное меню настроек с горячими клавишами. Облегчает и ускоряет процесс программирования. 🔵 Умное автозаполнение кода. Ускоряет процесс разработки и снижает вероятность ошибок. 🔵Сайт