CodeBase | Frontend
2.14K subscribers
380 photos
149 videos
5 files
566 links
Все самое интересное и полезное у нас 😎

Контакт: @Filgood777 (реклама, сотрудничество)
Download Telegram
🔥 JavaScript (JS) 🔥

🟢 Считается одним из наиболее распространенных сценарных языков программирования. Его применение в основном связано как с фронтенд-разработкой, так и с бэкенд-разработкой. На фронтенде он используется для создания динамических элементов на веб-страницах.

🟢 Работа JavaScript заключается в увеличении уровня интерактивности веб-сайта. Этот язык позволяет создавать анимированные пользовательские интерфейсы, такие как слайдеры, всплывающие окна, расширенные меню навигации и др. JavaScript значительно расширяет возможности веб-страниц, позволяя им реагировать на действия пользователей и обновляться без перезагрузки страницы.

CodeBase | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
⭐️ ТОП-3 РЕДАКТОРОВ КОДА ⭐️

IDE помогает программистам создавать код, объединяя функции редактирования, создания, тестирования и упаковки ПО, упрощая творческий процесс, подобно тому, как писатели используют текстовые редакторы и бухгалтеры - электронные таблицы.

1️⃣ Visual Studio Code – это простой, но мощный редактор кода, который изначально предназначен для работы с JavaScript, TypeScript и Node.JS. С его помощью и с дополнительными расширениями можно также работать с C++, C#, Python и PHP.

➡️Одно из отличительных свойств Visual Studio Code – это умная функция автодополнения благодаря технологии IntelliSense. Она позволяет автоматически дополнять названия переменных, функций и модулей, а также предоставляет ссылки на соответствующие разделы документации. В редакторе можно выполнять отладку кода непосредственно, запускать приложения для отладки и присоединяться к уже запущенным приложениям.

2️⃣ Sublime Text - это текстовый редактор с лёгким весом, который поддерживает работу на различных платформах.

➡️В программе встроена поддержка TypeScript, JSX и TSX. Пользовательский интерфейс редактора современный, и есть возможность использовать видеокарту для рендеринга, что способствует улучшению производительности.

3️⃣ Notepad++ — свободный текстовый редактор с открытым исходным кодом для Windows с подсветкой синтаксиса, разметки, а также языков описания аппаратуры VHDL и Verilog.

➡️Базируется на компоненте Scintilla, написан на C++ с использованием STL, а также Windows API, и распространяется под лицензией GNU General Public License. Базовая функциональность программы может быть расширена как за счёт плагинов, так и сторонних модулей, таких как компиляторы и препроцессоры. Поддерживает открытие более 100 форматов.

CodeBase | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Плагин CSSREM 🔥

Быстро и легко может перевести px в rem и обратно.

🔗 Ссылка на на плагин

CodeBase | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Spin preloader

Анимация загрузки страницы, реализованная с помощью HTML, SCSS и JavaScript.

🔗 Посмотреть код

CodeBase | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
💬 Parallax Drag-slider

Стильный слайдер с эффектом параллакса, реализованный с помощью HTML, SCSS и JavaScript.

🔗 Посмотреть код

CodeBase | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1
⚡️ МАКЕТ ДЛЯ ВЕРСТКИ: DIVESEA ⚡️

➡️ Сложность: ⭐️ ⭐️ ⭐️ ⭐️ ⭐️

➡️ Страницы: многостраничный

➡️ Адаптив: есть

➡️ Навыки: flex или grid, слайдеры, табы

🔗 Ссылка на макет

#макет #html #css

CodeBase | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥32
🗣JAVASCRIPT-КОНЦЕПЦИИ: ЗНАЧЕНИЯ И ССЫЛКИ

Если не понять, как происходит работа с переменными в JavaScript, то будут возникать ошибки в коде, которые трудно избежать.

➡️ При присвоении примитивных типов данных (boolean, number, string) создается полная копия значения. Переменная содержит конкретное значение, которое не связано с исходным.

➡️ В случае с объектами, включая массивы и функции, они всегда передаются по ссылке. После присвоения переменной такого значения, она будет содержать ссылку на область памяти, где находится исходный объект. Таким образом, копия объекта не создается.

let variable1 = 'My string';
let variable2 = variable1;


➡️ В переменной variable2 теперь лежит примитивное строковое значение 'My string', полностью скопированное с variable1. Эти переменные равны, но независимы друг от друга. Изменение variable2 никак не повлияет на variable1.

variable2 = 'My new string';
console.log(variable1); // My string
console.log(variable2); // My new string


➡️ А что там с объектами?

let variable1 = { name: 'Jim' }
let variable2 = variable1;


➡️ Сейчас в variable2 лежит объект, очень похожий на variable1. На самом деле это один и тот же объект, что очень просто проверить.

variable2.name = 'John';
console.log(variable1); // { name: 'John' }
console.log(variable2); // { name: 'John' }


Представьте, какие проблемы могут возникнуть из-за этого поведения, если вы не учтете его. Чаще всего сложности возникают в функциях, которые работают с объектами как аргументами и изменяют их содержимое.

#JavaScript #JS

CodeBase | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
This media is not supported in your browser
VIEW IN TELEGRAM
🗣Boxy Preloaders — градиентные прелоадеры.

Реализована с помощью CSS и JavaScript

🔗 Посмотреть код

#анимация #css #javascript

CodeBase | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
⚡️ Замыкание - это одно из ключевых понятий в JavaScript, которое позволяет скрыть переменные и функции от внешнего доступа.

➡️ Функция createGreeter возвращает анонимную функцию, которая сохраняет доступ к переменной greeting. Однако никто, кроме этой функции, не может больше обратиться к этой переменной.

function createGreeter(greeting) {
return function(name) {
console.log(greeting + ', ' + name);
}
}

const sayHello = createGreeter('Hello');
sayHello('Joe'); // Hello, Joe


➡️ В реальной разработке замыкания могут пригодиться в API-функциях для защиты ключей.

function apiConnect(apiKey) {

function get(route) {
return fetch(${route}?key=${apiKey});
}

function post(route, params) {
return fetch(route, {
method: 'POST',
body: JSON.stringify(params),
headers: {
'Authorization': Bearer ${apiKey}
}
})
}

return { get, post }

}

const api = apiConnect('my-secret-key');
// больше нет необходимости передавать API-ключ,
// он сохранен в замыкании функции api
api.get('
http://www.example.com/get-endpoint');
api.post('http://www.example.com/post-endpoint', { name: 'Joe' });


Если вам интересно изучить данный вопрос более подробно, добавьте огня и мы подготовим для вас еще больше годной инфы!🔥🔥🔥

CodeBase | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19
🗣 Spread - это оператор в JavaScript, который позволяет развернуть выражения там, где требуется использовать несколько аргументов.

В случае с функцией Math.max(), она не может принять массив arr напрямую, потому что нет функции, которая принимает массив в качестве аргумента. Math.max() ожидает отдельные числа в качестве аргументов. Оператор spread (три точки - ...) позволяет извлечь отдельные элементы из массива и передать их как аргументы.

const arr = [4, 6, -1, 3, 10, 4];
const max = Math.max(...arr);

console.log(max);
// 10


CodeBase | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
⚡️ Деструктуризация в JavaScript - это эффективный метод извлечения данных, сохраненных в объектах.

const obj = {
name: 'Joe',
food: 'cake'
}
const { name, food } = obj;
console.log(name, food); // 'Joe' 'cake'


🔵 Язык JavaScript позволяет даже сохранять свойства в переменных с другими именами.

const obj = {
name: 'Joe',
food: 'cake'
}
const { name: myName, food: myFood } = obj;
console.log(myName, myFood); // 'Joe' 'cake'


🔵 Используя деструктуризацию, можно передавать параметры в функцию без опасений относительно изменений этих параметров. Данный подход распространен в React и может быть вам уже знаком.

const person = {
name: 'Eddie',
age: 24
}
function introduce({ name, age }) {
console.log(I'm ${name} and I'm ${age} years old!);
}
console.log(introduce(person)); // "I'm Eddie and I'm 24 years old!"


CodeBase | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
🗣Rest-параметры позволяют принимать произвольное количество аргументов, объединяя их в массив.

function myFunc(...args) {
console.log(args[0] + args[1]);
}
myFunc(1, 2, 3, 4);
// 3


CodeBase | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Иногда возникает путаница при использовании методов map(), filter() и reduce(), которые предназначены для трансформации массива или вычисления агрегатного значения.

➡️ map() преобразует каждый элемент массива с помощью заданной функции и возвращает новый массив:

const arr = [1, 2, 3, 4, 5, 6];
const mapped = arr.map(el => el + 20);
console.log(mapped); // [21, 22, 23, 24, 25, 26]

➡️ filter() возвращает новый массив, содержащий элементы, для которых переданная функция возвращает true:

const arr = [1, 2, 3, 4, 5, 6];
const filtered = arr.filter(el => el === 2 || el === 4);
console.log(filtered); // [2, 4]

➡️ reduce() позволяет работать с элементами массива и сохранять промежуточные результаты:

const arr = [1, 2, 3, 4, 5, 6];
const reduced = arr.reduce((total, current) => total + current);
console.log(reduced); // 21

Если вам нравится такая подача, добавьте реакций и мы будем выпускать такое чаще!)🔥🔥🔥

CodeBase | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍4
🗣 Модальное окно — это эмуляция диалогового окна браузера, появляющегося поверх страницы в ответ на действия пользователя и блокирующего доступ к основному содержимому страницы.

Используется для : отображения второстепенного содержимого на странице

Подходит для:
настроек, создания новых документов, заполнения компактных форм или шагов пошагового мастера.

Например, модальное окно может использоваться для ввода адреса - при клике на ссылку модальное окно открывается.

Избегайте использования модального окна для больших форм. Большие формы - это формы, которые не умещаются на двух экранах монитора. Если необходимо сохранить контекст страницы при работе с такими формами, возможно стоит рассмотреть использование боковой панели (сайдпейдж).

➡️ Код прикреплю в комментарии

CodeBase | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
This media is not supported in your browser
VIEW IN TELEGRAM
🟢Анимация эффектов кнопок при наведении с использованием CSS

➡️ Посмотреть код

CodeBase | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1
👩‍💻 ТОП-3 JavaScript ТРЮКА С МАССИВАМИ 👩‍💻

➡️ Фильтрация уникальных значений

🟢 С появлением нового типа объектов Set в стандарте ES6 и его комбинацией со спред-оператором (...), можно быстро создать новый массив из старого, содержащий только уникальные значения.

const array = [1, 1, 2, 3, 5, 5, 1]
const uniqueArray = [...new Set(array)];

console.log(uniqueArray); // [1, 2, 3, 5]


➡️ Кэширование длины в цикле

🟢 При изучении 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 массива:

let array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
array.length = 4;

console.log(array); // [0, 1, 2, 3]


🟢 Этот подход работает только с массивами, так как с Set, например, данный трюк не сработает.

Если понравился пост, добавь 🔥 🔥 🔥
И, мы обязательно разберем данный вопрос подробнее!

CodeBase | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍1
🖥 Генераторы в JavaScript

С момента появления в JavaScript функций-генераторов прошло немало времени, но многие разработчики все еще относятся к этой звездочке (астериск) с некоторой опаской.

Функция-генератор представляет собой обычную функцию, которую можно приостановить в любой момент для получения промежуточного значения с помощью метода next().

Существует возможность, что генератор будет иметь конечное число промежуточных точек, и когда они закончатся, выполнение функции остановится, а вызов next вернет undefined.

function* greeter() {
yield 'Hi';
yield 'How are you?';
yield 'Bye';
}

const greet = greeter();

console.log(greet.next().value);
// 'Hi'

console.log(greet.next().value);
// 'How are you?'

console.log(greet.next().value);
// 'Bye'

console.log(greet.next().value);
// undefined


🗣Но никто не мешает зациклить функцию для бесконечной генерации значений:

function* idCreator() {
let i = 0;
while (true)
yield i++;
}

const ids = idCreator();

console.log(ids.next().value);
// 0

console.log(ids.next().value);
// 1

console.log(ids.next().value);
// 2
// etc...

👀 Обратите внимание, что при первом вызове функции происходит лишь создание объекта-генератора с методом next(), но сама функция не возвращает никакого значения.


CodeBase | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
👍91
This media is not supported in your browser
VIEW IN TELEGRAM
💩Coderbyte - это платформа, где доступно более 200 задач, которые вы можете решать прямо в онлайн-режиме на одном из 10 языков программирования.

CodeBase | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
🖼️ React.js - это фреймворк JavaScript с открытым исходным кодом, для создания пользовательских интерфейсов.

✔️ Установка

➡️ React.js требует Node.js, поэтому начните с установки Node.js с официального сайта.

Node.js также поставляется с пакетным менеджером npm, который вам также понадобится.

➡️ Откройте терминал или командную строку и перейдите в директорию, где вы хотите создать новый проект с React.js.

➡️ Для удобства рекомендуется использовать инструмент Create-React-App, который позволяет легко создать новый проект React.

➡️ Установите Create-React-App, выполнив следующую команду в терминале:

npx create-react-app my-react-app

где my-react-app - название вашего проекта.
Дождитесь завершения установки.

➡️ Запуск приложения: После установки выполните следующие команды в терминале:

cd my-react-app
npm start

где my-react-app - название вашего проекта.
После запуска, ваше React-приложение будет доступно по адресу http://localhost:3000/.

🙂 Поздравляю, вы справились с установкой React.js!
Теперь можно приступать к созданию вашего проекта!

CodeBase | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥5
👩‍💻 Vue.js - прогрессивный JavaScript фреймворк для создания пользовательских интерфейсов и одностраничных приложений.

➡️ Основан на компонентном подходе, подходит для разработки как небольших, так и крупных приложений.

➡️ Обладает простым синтаксисом, хорошей производительностью и поддержкой реактивности данных — лучшее решение для современных приложений.

✔️ Установка

💩 Vue.js требует Node.js для работы. Сначала убедитесь, что у вас установлена Node.js на вашем компьютере.
Скачать — Node.js

💩 Рекомендуется установить Vue CLI (интерфейс командной строки) для создания и управления проектами Vue.js.

💩 Вы можете установить Vue CLI глобально с помощью npm (Node Package Manager), выполнив следующую команду в терминале или командной строке:

   npm install -g @vue/cli

💩 После установки Vue CLI вы можете создать новый проект Vue.js с помощью команды:

   vue create ИМЯ_ПРОЕКТА

💩 Следуйте инструкциям по созданию проекта, выбирая опции по вашему усмотрению.

💩 После создания проекта перейдите в его директорию и запустите его с помощью команды:

   cd ИМЯ_ПРОЕКТА
npm run serve

💩 Проект будет доступен по адресу, указанному в выводе команды.

Поздравляю! Вы успешно установили и запустили свой проект на Vue.js.

CodeBase | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥41