Ayub Begimkulov - уроки по JS
3.11K subscribers
29 photos
212 links
По вопросам и деловым предложениям писать на @ayub_begimkulov
Download Telegram
🔥9😁3🍓1
Зашёл посмотреть комментарии, и что-то прям ору 😂.
🍓1
Ayub Begimkulov - уроки по JS
Photo
Смотрю, что коммент был удалён.

Я выкладывал это не с плохим намерением, так что если не понравилось - дай знать в личке.
👍8🍓1
Уже начал появляться первый спам на канале.

Тоже показатель прогресса.
🔥5😁5🍓1
Друзья, всем привет!

На подходе 2 видео по дейтпикеру - 2-я часть и отдельный выпуск с тестированием.

Думаю сегодня-завтра уже выйдет 2-я часть, но пока хотел бы спросить, какие идеи для видео у вас есть?

Как вариант, какие-то реалистичные кейсы, которые не знаете как правильно решать. Либо же что-то, с чем у вас есть проблемы.
🔥122🍓1
Всем привет!

Вышло новое видео с разбором кейса, как скрывать не вмещаемые кнопки в дропдаун.

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

https://youtu.be/VyirrqOT40M
🔥7👍32🍓1
Всем привет!

Друзья, хотел объявить о том, что я ищу видеоредактора.

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

Основная задача будет склеивать и монтировать видео, сделать может какое-то intro/outro.

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

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

Можете писать в личку в телеге - @ayub_begimkulov.
🔥81🍓1
Друзья, все привет!

Выложил выпуск по тестированию компонента <DatePicker />.

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

Оставляйте фидбэк тут и на канале!

https://youtu.be/mR4CjzAgSG8
👍112🍓1
Какие видео вам хотелось бы видеть больше всего на моем канале? ⬇️
👍4🍓1
Я если честно, заинтересован во всем, но хочется узнать, что именно дает вам больше всего пользы на данный момент.
🔥11🍓1
Так, подвожу итоги опроса, выглядит так, что вы, так же как и я, заинтересованы во всех рубриках.

Думаю тогда на основе этого и буду продолжать снимать дальнейшие видео, единственное, надо составить план, выпуска видео, чтобы каждый знал, когда и зачем можно приходить.
🔥115🍓1
И так, продолжая нашу рубрику Dev Tips (обещанный контент на канале), хочу поделиться одной фишкой в TS, которую многие, почему-то не знают.

Это использование as const:

const a = [true, 'asdf']; // (string | boolean)[]
const b = [true as const, 'asdf' as const] // (true | 'asdf')[]
const c = [true, 'asdf'] as const; // readonly [true, 'asdf']


Данная конструкция делает 2 вещи:

- Создает readonly тип данных (для массивов и объектов)
- Сужает тип данных для примитивов (number -> конкретное число, string -> конкретная строка, boolean -> true/false)

Мне кажется уже многие из вас поняли, для чего это может быть полезно.

Но давайте вместе попробуем взглянуть на данный пример:

// utils.ts
const statusToThemeMap = {
done: 'success',
inProgress: 'info',
closed: 'normal',
late: 'dange',
};

const getLabelTheme = (status: keyof statusToThemeMap) => statusToThemeMap[status];

// Component.ts

const theme = getLabelTheme(status); // string

<Label theme={theme} {...otherLabelProps} />
// ^^^^^^^^^^^
// error type 'string' is not assignable to type 'LabelTheme'


Тут проблема как раз в типе statusToThemeMap:

{
done: string;
inProgress: string;
closed: string;
late: string;
}


Как видите, значение ключей выставлены, как string. Это хорошо, потому что в таком случае мы можем менять значения ключей.

Но в данном случае нам нужен readonly объект.

И как раз решением в данном случае будет as const (либо же типизация руками, что заставляет делать дополнительную работу).

// utils.ts
const statusToThemeMap = {
done: 'success',
inProgress: 'info',
closed: 'normal',
late: 'dange',
} as const;

const getLabelTheme = (status: keyof statusToThemeMap) => statusToThemeMap[status];

// Component.ts

const theme = getLabelTheme(status); // 'success'

<Label theme={theme} {...otherLabelProps} />
👍19🔥41🍓1
Да уж, с форматированием в телеге у меня часто бывают проблемы, никак не могу привыкнуть, что это не чистый Markdown.

P.S. раза 4 отредактировал сообщение, чтобы получить желаемый результат.
👍151🍓1
Всем привет!

Вышел новый видос, про одну из оптимизаций в DOM.

Будет полезно для понимания стадий рендеринга браузера (В дальнейшем есть план создать более подробный выпуск с профилированием, примерами, и тд).

https://youtu.be/mcsoL1xnX8I
👍13👏1🍓1
Всем привет!

Под прошлым видео меня спросили, зачем я выношу длину массива в отдельную переменную.

На эту тему (да и в целом тему оптимизаций) есть очень интересная и полезная статья.

https://mrale.ph/blog/2014/12/24/array-length-caching.html

Но если говорить про меня, то мне просто нравиться так писать, разницы никакой в перформансе не почувствуется.
🔥41🍓1
Ребят, хочу попробовать новую рубрику - ревью проектов.

У кого есть, что показать - скиньте ссылку на гитхаб.

Сегодня вечером хочу снять первый выпуск.
👍6🔥3🍓1
Ребят, всем привет!

Для тех, кто не знал, у меня был блог, домен которого я в своё время не смог оплатить (по известным причинам).

Потом начал заниматься ютубом, и как-то ленился заняться этим вопросом, но после нескольких комментариев и сообщений в LinkedIn от читателей, решил наладить этот вопрос.

И вот наконец это у меня получилось, на этот раз поступил более мудро и взял домен сразу на 10 лет!

https://ayubbegimkulov.com
👍13🔥2🍓1