Руслан Куянец | Reactify – Telegram
Руслан Куянец | Reactify
5.85K subscribers
705 photos
52 videos
39 files
289 links
Я IT-специалист, ментор и основатель проекта YeaHub и сообщества Reactify. Здесь рассказываю про Frontend и IT.

Менторство:
https://reactify.ru

YouTube канал:
https://youtube.com/@reactify-it

YeaHub:
https://yeahub.ru/

Связь:
@ruslan_kuyanets
Download Telegram
YouTube😎
🔥122
Forwarded from О Бизнесе
👨‍💻 Греф оценил дефицит IT-специалистов в России более чем в 1 млн человек
1
Когда массив приходит в функцию, лучше его не трогать. Вместо этого, создайте новый массив и вносите в него нужные изменения.

Это избавит вас от головной боли, если исходный массив используется ещё где-то в программе.

И вот это именно то, что называют иммутабельностью. Это не просто модное словечко, это хорошая практика. Функции, которые не меняют входные данные, называют чистыми. Они проще в отладке и тестировании.

Есть мутирующие методы sort(), reverse(), splice(), недавно были добавленны новые методы toSorted(), toReversed(), toSpliced(). Они как раз не мутируют массив, а создают новый.

Раньше нам приходилось с помощью ... (spread operator) создавать новый массив.
Каждый раз, когда этот код выполняется, создаётся новый массив, что потребляет дополнительную память. К тому же, метод .sort() сам по себе тоже требует ресурсов для выполнения сортировки.

const numbers = [3, 1, 4];
const sortedNumbers = [...numbers].sort();


Теперь мы можем использовать toSorted():

const numbers = [3, 1, 4];
const sortedNumbers = numbers.toSorted();


#обучающийПост #JavaScript #Array #methods
🔥4👍2
Сегодня загруженный день был, не смог выложить видео. Я думаю, что завтра в обед оно будет в YouTube. 🚀

Так же завтра приступаю к съемке серий по TS. Надеюсь легко пойдёт)
🫡6
Так же завершил разработку приложения для компаний.

Мой сервис делится на несколько приложений:

1. Приложение для компаний (админка)
2. Приложение для клиентов🕐
3. Сервер, бэкенд
4. Сайт🕐
5. UI библиотека🕐

Планирую до нового года завершить эти задачи и приступить к другим💪🏻
🫡4
Новички часто делают так в React, забывают про иммутабельность. Может вызвать непредвиденные ошибки или поведение приложения.

Раньше делали так (spread оператор):
[...people].sort()

Теперь же можно делать так:
people.toSorted()

#code #JavaScript #Array #methods
👍7
Всем привет! Я придумал как у нас пройдёт добавление TypeScript в проект.

Первая серия будет до 10 минут. В этой серии мы установим зависимости, добавим конфиги.

Вторая серия будет до 15 минут. Мы поменяем расширения всех файлов.

И наконец, я подумал сделать курс по TypeScript. Третье видео будет длинным, 1 - 1,5 часа. Я разобью его на логические подтемы и также как и в курсе React, мы поэтапно будет знакомиться с ТС и добавлять его в наш реальный проект.

В основном во всех видео по ТС используют простые маленькие приложения, я считаю, что это не совсем удачный выбор. У нас же, должно быть все логично. У нас есть приложение, есть задача, а не кошечки-собачки, или todo листы.

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

TypeScript в каждый дом!✊🏼
🔥11👍3
Осталось немного! Скоро на канале!
👍5🔥2
Почему NaN не равно самому себе?

Это достаточно логично🤔

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

То есть, например, вам 25 лет, вашему другу тоже 25. Вы одного возраста.
Если вам 25, а другу 21, то вы старше друга.

Но если при подсчете возраста была допущенна ошибка, и у вас NaN и у вашего друга NaN, то как мы можем утверждат, что вы одного возраста, если мы не знаем по сколько вам лет?

Следовательно NaN не может быть равным самому себе

#JavaScript #обучающийПост #NaN
👍14
Как вам карточка? Новый дизайн, весь вечер придумывал😄

1 - Стало
2 - Было

Вообще идей нет, тяжко придумывать.

Интересный дизайн? Залипательно?
В JavaScript есть значения, которые, если их проверить как условие, окажутся "правдивыми" или "ложными". Так, когда вы делаете что-то вроде if (значение) {...}, это значение автоматически проверяется на "правдивость" или "ложность".

🔴 Будут ложными (false):

Пустая строка ""
Числа 0, -0 и NaN
null и undefined
Само логическое значение false

🟢 Будут правдивыми (true):

Любая непустая строка, типа "hello"
Любое не нулевое число, например 42
Массивы, даже пустые: [] или [1, "2", 3]
Объекты, даже пустые: {} или { a: 42 }
Функции: function foo() { .. }
Логическое true

Так что если вы хотите проверить, есть ли в переменной какое-то "настоящее" значение, можно просто сделать
if (переменная) {...} и JavaScript сам решит, "правда" это или "ложь".

#обучающийПост #JavaScript #boolean
👍7
Примеры сравнений различных типов

#JavaScript #code
👍7
Новое видео на канале! Настраиваем наш проект, добавляем конфигурации для TS и устанавливаем зависимости

Хочу провести эксперимент, не кидаю ссылку на видео. Мне кажется ютуб по своему считает статистику если переход по сторонней ссылке был

Посмотреть можно на канале😃
👍5
Сегодня спрашивал у ChatGPT, как добавить определенный функционал из библиотеки.

Он разные решения предлагал, но ни одно не подошло. В итоге сделал все сам и скинул ему решенную задачу😄

Его ответ на скрине
😁8
Сравнение объектов в JavaScript

Объекты в JavaScript — это как коробки. Даже если у вас две одинаковые коробки с одинаковым содержимым, это все равно разные коробки.

Представьте, что у вас есть две одинаковые игрушечные машинки. Для вас они кажутся одинаковыми, но каждая из них — уникальная.

const car1 = { model: 'Toyota' };
const car2 = { model: 'Toyota' };

console.log(car1 == car2); //false
console.log(car1 === car2); //false


Теперь представим, что у нас есть еще одна переменная, car3. Вместо того чтобы купить новую машинку, мы просто говорим, что car3 это та же самая машинка, что и car1.

const car3 = car1;
console.log(car1 === car3); //true


Теперь, когда мы сравниваем car1 и car3, они абсолютно одинаковые. Не просто похожие, а одна и та же машинка. В то время как car1 и car2, хоть и выглядят одинаково, на самом деле являются разными машинками.

#JavaScript #обучающийПост #Objects
👍9👌2
В JavaScript, объекты работают по принципу ссылочной природы. Это значит, что когда вы присваиваете одну переменную объекта другой, вы фактически передаете ссылку на этот объект, а не создаете его полную копию.

const car1 = { brand: "Toyota", model: "Camry" };
const car2 = car1;


Здесь car2 не является новым объектом, а просто указывает на тот же объект, что и car1. Если мы изменим свойство объекта через car2, это изменение отразится и на car1, потому что они ссылаются на один и тот же объект.

car2.model = "Corolla";
console.log(car1.model); // Выведет "Corolla", а не "Camry"


При работе с объектами необходимо помнить о том, что изменения в одной копии объекта автоматически повлияют на все остальные копии.

#JavaScript #обучающийПост #Objects
👍5
Таймкоды с моего видео про поиск работы. Достаточно много вопросов разобрал. Дал много советов. О многом со встречи узнал впервые

0:00 - Вступление. О мероприятии.
0:45 - Работа HR
1:26 - Сколько времени на 1 резюме
1:33 - Первый отбор
3:03 - Что писать в резюме
4:05 - Отклик на вакансию. Сопроводительное письмо
5:26 - Социальные сети
6:14 - Шаблон резюме. Важно!
7:04 - Опыт работы. Его отсутствие
8:25 - Где взять опыт
10:28 - Где практиковаться
11:15 - Проверяют ли ваш опыт
12:22 - Соотношение вакансий
13:00 - Нехватка специалистов
13:25 - О знаниях джунов. Собеседования
15:46 - Про активность, стажировки, мотивацию
17:28 - Мероприятия. IT сообщества
18:04 - Реферальная система, как превилегия
20:06 - Возраст
21:14 - Зарплата. Ожидания
24:35 - Найм это дорого
24:52 - Ценность сотрудника. Желание работать. Идея
25:34 - Частая смена работы
27:00 - Идеальный джун
28:06 - Пузырь на рынке
30:14 - Опыт вне айти. Смежный опыт
31:48 - Профильное образование
33:00 - Как учиться джуну. Советы
35:14 - Мотивация. Курсы. Цели. Хобби
37:24 - Заключение
🤝3