Друзья, как и сказал, в следующие пару недель планирую выпускать видео по TS. Буду покрывать темы из показанные на одном из слайдов, однако если есть что-то конкретное, что вы хотели бы увидеть - пишите, обязательно прочитаю и постараюсь объяснить в грядущих роликах. UPD: Заметил, что в видео была сделана ошибка. Я использую "Computed Types", вместо "Mapped Types", на одном из слайдов. Поэтому не надо пугаться, это не какой-то новый синтаксис/функционал.
спасибо за видео. радуют изменения в подаче контента. раньше: 1) было много подкашливаний, шмыганий носом, зевков)) 2) скачки звука (чаще всего было очень тихо) 3) равное повествования 4) отсутствие вебки извиняюсь если слишком прямо написал. сейчас намного повысилось качество видео хотелось бы увидеть какой-то приближенный к реальному - большой проект, где можно было собрать побольше кейсов из прошлых видео и показать, как оно работает на практике с большим кол-м компонентов, постоянными запросами, усложненной логикой и т.д. Давно ищу подобный проект, на просторах ютуба такого попросту нет
Спасибо за то, что уделил внимание и написал комментарий. Да, над качеством до сих пор активно работаю. Касательно проекта - уже давно хотел что-то сделать, но вот все думаю, как это лучше упаковать. Так как формат "включил камеру и пишешь код" - не очень хорошо заходит. Может стоит стримы делать раз в неделю... В общем, обязательно подумаю на эту тему. Спасиб за предложение!
Сейчас сам начал изучать advanced тайпскрипт, т.к. на работе часто бывает необходимость, приходится делать "как-нибудь" и не очень удобно. До этого были попытки изучить, смотрел какой-то видеокурс, но там было столько воды и basics что я просто засыпал и до сложной части не дошел. Сейчас нашел курс "Professional TypeScript Training by Matt Pocock" (он дорогой, но есть на торрентах), могу смело рекомендовать, там 3 части, я пока 1 прошел. Проходить не скучно и на каждые несколько видео какую-то новую инфу узнаешь о синтаксисе и возможностях. Строится на базе type challenge как из этого видео, но с подробными видео-объяснениями что и почему (на англ). Это как раз для уровня среднего разработчика который уже дружит с тайпскриптом на проектах, но не врубается в хитросплетения выводов типов в библиотеках. Думаю что пройду этот курс и дальше как раз пойду решать type challenge-и и просто доки официальные читать
@@aleksprimetv Не, подзабил. Но курс толковый. Но надо его практикой подкреплять долгое время, т.к. почти все из головы выветрилось, т.к. по факту на проекте сложный тайпскрипт не юзаю
Аюб, спасибо за дельные советы, полезные линки и направление. Начал проходить курс на Udemy за 11$, так как самому не все темы понятные по документации. Попрошу от лица джунов - можешь подробнее разжевывать сложные темы, допустим utility types (Pick, Omit, Extract), в плане - как именно это работает и главное когда это можно заюзать в каком случае. Спасибо за понимание.
Ну потому что Вам нужно внимательно читать документацию. Pick берёт все типы, которые Вы указываете. Omit берёт всё, КРОМЕ тех типов, которые Вы указали.
Когда в catch ловишь ошибку - тип у нее unknown (если стоит strict мод). Дальше уже надо работать через type guards - эта тема будет разобрана в видео, которые выходит сегодня.
Кайф, хочется посмотреть про продвинутые возможности JS, TS, React мозможно паттерны проектирования, лучшие практики, возможно какие-то сложные или фундаментальные вещи.
основная проблема с тайпскриптом это работа с DOM. Понятно что можно все заделать через as, но я не думаю что это практично. Хотелось бы про это услышать от вас
на нативном ts может быть и будут проблемы,но большиноство сейчас пишет на фреймворках что используют Vdom и напрямую к DOM API не обращаются, поэтому не думаю что это прям большая проблема. да и писать утверждение это как писать type только со своими особенностями компилятора
Понятно, что наименование переменных - одна из двух сложнейших вещей в программировании, но все-таки к неймингу поответственнее надо относится, а в обучающих примерах особенно. Например, Value лучше было бы обозвать Obj или Target (или еще как-то), т.к. при присутствии Keys и Key ассоциация с Value идет со значением свойства объекта, нежели с объектом. Надеюсь, что в дальнейшем будет разбор этого примера, т.к. сам я сходу не осилил понять.
Если нужно тестировать код - то также, через jest. Никаких особенностей не должно быть. Если нужно тестировать типизацию - то тут есть некоторые особенности, про них надо будет снять как-нибудь видео.
Аюб, большое спасибо за видео, очень помогает ваш канал расти дальше. Скажите, пожалуйста, у вас техническое образование или иное? И какое у вас в целом отношение к этому - должен ли разработчик обязательно его иметь по вашему мнению? я в прошлом врач, но в целом не нашел пока ограничений, которые мешают сейчас в работе. Интересная ваша позицию по этому вопросу.
Рад, что мои видео приносят пользу! Касательно высшего - у меня его нет. Я считаю, что нету смысла его получать, если нет четкой причины, для чего оно понадобиться. В плане работы и возможностей - проблем вообще не было.
Сталкивались ли с такой проблемой при импорте зависимостей в TS? TS не хочет по дефолту в импорте подхватывать index файл и перестаёт ругаться на импорт, что не находит то что импортируется или входящий модуль, только при явном прописывании его в конце пути. Конфиг перерыл, не нашёл где бы это решилось. Возможно это от версии ТС зависит и где-то уже такой проблемы нет
@@ayub_begimkulov Да, проблема такая. “moduleResolution: node” есть. У нас импорты на алиасах, и я смотрю, что без них такой проблемы нет. TS не ругается. Что-то именно из-за алиасов. Что-то гуглится на эту тему - помучаю потом. Спасибо ))
У меня есть вопрос как бы правильно или как вы разбиваете хранение типов для модуля или большой компоненты. В одном файле уже тесно, а на какие сущности это оптимально разбить ещё не решил
Все зависит от ситуации. Но я бы не боялся того, что много типов в одном файле. Если прям совсем не удобно, можно рядом сделать файл types.ts, тоже нормальный вариант.
@@ayub_begimkulov , а мне кажется, что я как разработчик не должен бороздить просторы интернета в поисках ответов как это работает. Handbook хорош, но на старте. Type compatibility очень невнятно написана, там тьма ньюансов.Многие грешат на Microsoft, что им пофиг на разрабов.
я страдаю от своего желания покрывать все типизацией и максимально обобщать код. писал расширение для хрома а по итогу внутри образовались 2 библиотеки)
По поводу ошибок: ошибки в большинстве случаев кал и нужно читать только самый конец, но это тоже не всегда помогает бывают случаи когда и сёрч не помогает тогда я обычно пишу ts-ignore и о чудо перед коммитом убираю игнор и тс не ругается, но боюсь так будет работать не у всех если не в падлу хорошо помогает вопрос "а что именно я там натипизировал и что конкретно я хочу передать или получить?"
В целом, обычно все ошибки у меня получалось нагуглить. Главное часть специфичную под проект вырезать. А так, еще можно добавлять ts-expect-error. Он будет давать ошибку, если строчка под ним уже пофикшена. Как раз можно вовремя понять, какие изменения в код поправили ошибку.
Привет. Это первое видео в плейлисте, уроки будут выходить в ближайшие пару недель. Тут решил больше поделиться историей + советами + местом, где можно попрактиковаться.
Братан, видео топ, но я не могу удержаться от замечаний. МЕНЬШЕ, СИЛЬНО МЕНЬШЕ пространных рассуждений и повторов. Посмотри на Ульби для примера. Чел говорит ОЧЕНЬ КОРОТКУЮ теорию и потом херачит практику. Так и тут, нам не надо вступление на 8 минут. Пары минут за глаза и сразу к "пользе для зрителя". Факт того, что "надо учить Тайпскрипт" итак понятен всем, кто смотрит это видео, не надо объяснять это ещё раз ~5 минут времени. Речь. Чувак, это не стримы, это Ютуб. Я понимаю что монтировать может быть лень, но насколько было бы короче твоё видео, если бы ты просто написал текст на листочке, а потом вычеркнул бы оттуда "воду"? Все вводные, подробности итп хороши для видео разговорного жанра, типа "как я стал программистом", "как я стал сеньором" итп. Но ты задаёшь конкретную тему и зритель ждёт конкретную, сжатую информацию. В остальном, очень достойно, спасибо. P.S всё вышесказанное является моим личным мнением и на истину в последней инстанции не претендует.
Спасибо за подробный комментарий. Касательно длинны видео - да, есть такая проблема. Над речью тоже надо еще поработать. В след раз постараюсь больше уделить внимания первоначальному плану и сценарию. Еще было интересно, что ты думаешь касательно предыстории, которую я рассказал в начале, тоже вода? Или просто нужно было сократить?
Работаю пол года с тсом, пока мое мнение таково, что это говно беспонтовое. Не помогает ни мне, ни другим разрабам которые будут работать с моим кодом.
Утомительно бывает выводить типизацию, когда вроде всё работает. Но разбираться в чужом коде при наличии ТС гораздо проще. Если один работаешь то до определённого объема кода будет комфортно без ТС, но потом накроет )) В команде без ТС уже проблемно
Я думаю тут ребята правильно сказали. Пока нету хорошего понимания TS и инфраструктуры вокруг него - то будет сложно с ним работать. Однако я не могу представить работу на большом проекте без строгой типизации. Я бы посоветовал не принимать решение так быстро и попробовать чуть потянуть навыки работы с типизированным кодом.
+ за такие видео. Хочется максимально прокачаться в Typescript
Спасибо за фидбэк! Планирую делать плейлист в ближайшие пару недель.
Друзья, как и сказал, в следующие пару недель планирую выпускать видео по TS.
Буду покрывать темы из показанные на одном из слайдов, однако если есть что-то конкретное, что вы хотели бы увидеть - пишите, обязательно прочитаю и постараюсь объяснить в грядущих роликах.
UPD: Заметил, что в видео была сделана ошибка. Я использую "Computed Types", вместо "Mapped Types", на одном из слайдов. Поэтому не надо пугаться, это не какой-то новый синтаксис/функционал.
Спасибо за контент Айюб!
Рад помочь!
Аюб, спасибо за видео.
Как введение хорошо, но ждём от тебя больше практики и желательно от простого к сложному
Привет. Спасибо за фидбэк! Да, в планах заснять дальше более практические видео.
Спасибо, Айюб.
Не за что)
Спасибо за дельные советы👍
Не за что)
Буду безумно рад, если реализуешь задумку, с нетерпением жду
Если ты про плейлист, то уже начал. Должно скоро выйти первое видео по TS.
@@ayub_begimkulov да, про него, огонь 🔥
спасибо за видео. радуют изменения в подаче контента. раньше:
1) было много подкашливаний, шмыганий носом, зевков))
2) скачки звука (чаще всего было очень тихо)
3) равное повествования
4) отсутствие вебки
извиняюсь если слишком прямо написал. сейчас намного повысилось качество видео
хотелось бы увидеть какой-то приближенный к реальному - большой проект, где можно было собрать побольше кейсов из прошлых видео и показать, как оно работает на практике с большим кол-м компонентов, постоянными запросами, усложненной логикой и т.д. Давно ищу подобный проект, на просторах ютуба такого попросту нет
Спасибо за то, что уделил внимание и написал комментарий. Да, над качеством до сих пор активно работаю.
Касательно проекта - уже давно хотел что-то сделать, но вот все думаю, как это лучше упаковать. Так как формат "включил камеру и пишешь код" - не очень хорошо заходит. Может стоит стримы делать раз в неделю...
В общем, обязательно подумаю на эту тему. Спасиб за предложение!
Интересно, спасибо за видео!
Рад помочь!
Удачи!
Спасибо!
Молодец! Продолжай в том же духе!!!
Спасибо, Юсуф!
Спасибо за мотивацию и советы!
Рад помочь!
комментарий в поддержку канала
Спасибо!
Сейчас сам начал изучать advanced тайпскрипт, т.к. на работе часто бывает необходимость, приходится делать "как-нибудь" и не очень удобно. До этого были попытки изучить, смотрел какой-то видеокурс, но там было столько воды и basics что я просто засыпал и до сложной части не дошел. Сейчас нашел курс "Professional TypeScript Training by Matt Pocock" (он дорогой, но есть на торрентах), могу смело рекомендовать, там 3 части, я пока 1 прошел. Проходить не скучно и на каждые несколько видео какую-то новую инфу узнаешь о синтаксисе и возможностях. Строится на базе type challenge как из этого видео, но с подробными видео-объяснениями что и почему (на англ). Это как раз для уровня среднего разработчика который уже дружит с тайпскриптом на проектах, но не врубается в хитросплетения выводов типов в библиотеках. Думаю что пройду этот курс и дальше как раз пойду решать type challenge-и и просто доки официальные читать
бро ну как прошел? есть профит?
можешь торрентфайлом поделится?
@@aleksprimetv вроде с rutracker качал
@@aleksprimetv Не, подзабил. Но курс толковый. Но надо его практикой подкреплять долгое время, т.к. почти все из головы выветрилось, т.к. по факту на проекте сложный тайпскрипт не юзаю
@@aleksprimetv Поищи на рутрекере, вроде там брал
Отличное видео👍🏻 спасибо 🙏🏻
Рад помочь!
Орфография в превью улыбнула)
Лол, спасибо, что написал. Сейчас поправлю.
Edit: исправил.
Аюб, спасибо за дельные советы, полезные линки и направление. Начал проходить курс на Udemy за 11$, так как самому не все темы понятные по документации. Попрошу от лица джунов - можешь подробнее разжевывать сложные темы, допустим utility types (Pick, Omit, Extract), в плане - как именно это работает и главное когда это можно заюзать в каком случае. Спасибо за понимание.
Ну потому что Вам нужно внимательно читать документацию. Pick берёт все типы, которые Вы указываете. Omit берёт всё, КРОМЕ тех типов, которые Вы указали.
Ок, постараюсь уделять больше внимания деталям.
Рад слышать, что инвестируешь в свое обучение и развитие - это точно откупится!
может кому то сэкономлю время и нервы: иногда стоит просто написать ctrl + p и >TS restart server, а видео топ))
Да, бывает очень полезно!
👏👍
Лайк👍
Спасибо!
круто, как раз начал учить ts
Как раз во время!
Спасибо за видео, Аюб! Расскажи, пожалуйста, как лучше всего типизировать ошибки в try/catch блоках?
Когда в catch ловишь ошибку - тип у нее unknown (если стоит strict мод). Дальше уже надо работать через type guards - эта тема будет разобрана в видео, которые выходит сегодня.
Отличное видео, качество на высоте!) Есть в планах сделать видео о том как попал сеньором, как проходил собес и тд..?)
Да, думаю сделаю как-нибудь.
Какой то джедайский уровень типизации =)
Все разберем обязательно, не волнуйся.
Кайф, хочется посмотреть про продвинутые возможности JS, TS, React мозможно паттерны проектирования, лучшие практики, возможно какие-то сложные или фундаментальные вещи.
Данные видео обязательно будут выходить. Если есть что-то конкретное, что интересует сейчас - тоже пиши. А так, спасибо за фидбэк!
@@ayub_begimkulov ну например работа с WebSocket, WebWorkers
Короче всем новичкам советуешь библиотеку свою писать для понимания тайпскрипта?
Не совсем. Я же в конце дал линк на type-challenges, там можно попрактиковаться.
рубрика с решением задач зайдёт
Да, практика тоже будет!
основная проблема с тайпскриптом это работа с DOM. Понятно что можно все заделать через as, но я не думаю что это практично. Хотелось бы про это услышать от вас
А какие именно у тебя проблемы при работе с DOM?
Я согласен, что там не все идеально, но интересно, с чем именно у тебя возникают сложности?
на нативном ts может быть и будут проблемы,но большиноство сейчас пишет на фреймворках что используют Vdom и напрямую к DOM API не обращаются, поэтому не думаю что это прям большая проблема. да и писать утверждение это как писать type только со своими особенностями компилятора
Больше видео про TS с задачками и объяснением
Да, обязательно!
будет ли видео про эслинта
А что конкретно хочется увидеть? Таких видео же много а интернете.
А что конкретно хочется увидеть? Таких видео же много а интернете.
А что конкретно хочется увидеть? Таких видео же много а интернете.
Мне интересно, как вы его используете
Может замутить плейлист с решением задач из этого репо?
Я думаю в конце плейлиста чуть попрактикуемся, ну и по ходу разбора тем тоже обязательно.
Хотелось бы разбор темы union, enam когда что использовать, в чем разница
Записал себе, постораюсь разобрать!
Понятно, что наименование переменных - одна из двух сложнейших вещей в программировании, но все-таки к неймингу поответственнее надо относится, а в обучающих примерах особенно. Например, Value лучше было бы обозвать Obj или Target (или еще как-то), т.к. при присутствии Keys и Key ассоциация с Value идет со значением свойства объекта, нежели с объектом. Надеюсь, что в дальнейшем будет разбор этого примера, т.к. сам я сходу не осилил понять.
Спасибо за конструктивную критику! Постараюсь обращать больше внимания на нейминг.
Касательно тем - обязательно все разберем, переживать не надо.
Интересно так же как тестировать проэкт на ts
Если нужно тестировать код - то также, через jest. Никаких особенностей не должно быть.
Если нужно тестировать типизацию - то тут есть некоторые особенности, про них надо будет снять как-нибудь видео.
Аюб, большое спасибо за видео, очень помогает ваш канал расти дальше. Скажите, пожалуйста, у вас техническое образование или иное? И какое у вас в целом отношение к этому - должен ли разработчик обязательно его иметь по вашему мнению? я в прошлом врач, но в целом не нашел пока ограничений, которые мешают сейчас в работе. Интересная ваша позицию по этому вопросу.
Рад, что мои видео приносят пользу! Касательно высшего - у меня его нет.
Я считаю, что нету смысла его получать, если нет четкой причины, для чего оно понадобиться. В плане работы и возможностей - проблем вообще не было.
@@ayub_begimkulov Спасибо за ответ:)
вот это я понимаю синьер
можно nikname англоязычного ютубера по тсу, про которого говорилось в видео?) заранее спасибо!
mattpocockuk
😍
Сталкивались ли с такой проблемой при импорте зависимостей в TS?
TS не хочет по дефолту в импорте подхватывать index файл и перестаёт ругаться на импорт, что не находит то что импортируется или входящий модуль, только при явном прописывании его в конце пути. Конфиг перерыл, не нашёл где бы это решилось. Возможно это от версии ТС зависит и где-то уже такой проблемы нет
Привет. Я так понял у тебя index файл автоматом не тянется при импорте?
Попробуй “moduleResolution: node” поставить, должно помочь.
@@ayub_begimkulov Да, проблема такая. “moduleResolution: node” есть.
У нас импорты на алиасах, и я смотрю, что без них такой проблемы нет. TS не ругается. Что-то именно из-за алиасов.
Что-то гуглится на эту тему - помучаю потом. Спасибо ))
У меня есть вопрос как бы правильно или как вы разбиваете хранение типов для модуля или большой компоненты. В одном файле уже тесно, а на какие сущности это оптимально разбить ещё не решил
Все зависит от ситуации. Но я бы не боялся того, что много типов в одном файле. Если прям совсем не удобно, можно рядом сделать файл types.ts, тоже нормальный вариант.
Я больше люблю бекенд когда вижу когда фронтенд разработчики оценивают фичи из бекенд которые были реализованы в TypeScript.
Можешь раскрыть мысль, не совсем понял. Тебе нравится, когда фронты проводят ревью бекенд кода на TypeScript? Если да, то интересно почему?)
Айюб, 👀👍👍.Кстати, как по мне документация ts сухая как mdn, могли б и поподробнее написать.
У них там бардак какой-то, есть новая и старая дока. Но handbook вроде норм, темы объясняются там не плохо.
MDN же больше как api reference.
@@ayub_begimkulov , а мне кажется, что я как разработчик не должен бороздить просторы интернета в поисках ответов как это работает. Handbook хорош, но на старте. Type compatibility очень невнятно написана, там тьма ньюансов.Многие грешат на
Microsoft, что им пофиг на разрабов.
Аюб привет. Спасибо за качественный контент. А у тебя есть высшее образование? И что ты думаешь по поводу него?
Привет. Высшего нету. Мое мнение такое - если нету четкой причины, почему нужен диплом, то стоит потратить время на что-то более продуктивное.
+++ top
Спасибо!
я страдаю от своего желания покрывать все типизацией и максимально обобщать код. писал расширение для хрома а по итогу внутри образовались 2 библиотеки)
По поводу ошибок: ошибки в большинстве случаев кал и нужно читать только самый конец, но это тоже не всегда помогает бывают случаи когда и сёрч не помогает тогда я обычно пишу ts-ignore и о чудо перед коммитом убираю игнор и тс не ругается, но боюсь так будет работать не у всех если не в падлу хорошо помогает вопрос "а что именно я там натипизировал и что конкретно я хочу передать или получить?"
В целом, обычно все ошибки у меня получалось нагуглить. Главное часть специфичную под проект вырезать. А так, еще можно добавлять ts-expect-error. Он будет давать ошибку, если строчка под ним уже пофикшена. Как раз можно вовремя понять, какие изменения в код поправили ошибку.
круто, сделай видео, где разрабатываешь проект за определенный промежуток времени
Да, часто пишут, надо подумать в эту сторону.
Круто, но лучше бы запилил пару уроков по TS
Привет. Это первое видео в плейлисте, уроки будут выходить в ближайшие пару недель.
Тут решил больше поделиться историей + советами + местом, где можно попрактиковаться.
@@ayub_begimkulov шикарно , спасибо
Братан, видео топ, но я не могу удержаться от замечаний.
МЕНЬШЕ, СИЛЬНО МЕНЬШЕ пространных рассуждений и повторов.
Посмотри на Ульби для примера. Чел говорит ОЧЕНЬ КОРОТКУЮ теорию и потом херачит практику.
Так и тут, нам не надо вступление на 8 минут. Пары минут за глаза и сразу к "пользе для зрителя".
Факт того, что "надо учить Тайпскрипт" итак понятен всем, кто смотрит это видео, не надо объяснять это ещё раз ~5 минут времени.
Речь. Чувак, это не стримы, это Ютуб. Я понимаю что монтировать может быть лень, но насколько было бы короче твоё видео, если бы ты просто написал текст на листочке, а потом вычеркнул бы оттуда "воду"? Все вводные, подробности итп хороши для видео разговорного жанра, типа "как я стал программистом", "как я стал сеньором" итп. Но ты задаёшь конкретную тему и зритель ждёт конкретную, сжатую информацию.
В остальном, очень достойно, спасибо.
P.S всё вышесказанное является моим личным мнением и на истину в последней инстанции не претендует.
Спасибо за подробный комментарий. Касательно длинны видео - да, есть такая проблема. Над речью тоже надо еще поработать.
В след раз постараюсь больше уделить внимания первоначальному плану и сценарию.
Еще было интересно, что ты думаешь касательно предыстории, которую я рассказал в начале, тоже вода? Или просто нужно было сократить?
Работаю пол года с тсом, пока мое мнение таково, что это говно беспонтовое. Не помогает ни мне, ни другим разрабам которые будут работать с моим кодом.
Это значит что вы не разобрались с ним, возможно в команде нет опытного человека который настроил бы все и объяснял что и как работает
Утомительно бывает выводить типизацию, когда вроде всё работает.
Но разбираться в чужом коде при наличии ТС гораздо проще.
Если один работаешь то до определённого объема кода будет комфортно без ТС, но потом накроет )) В команде без ТС уже проблемно
@@promoabys Мне в чужом коде помогают разобраться инкапсуляция, хороший нейминг и jsdoc. А ТС заставляет разбираться еще и в чужом тсе)
Я думаю тут ребята правильно сказали. Пока нету хорошего понимания TS и инфраструктуры вокруг него - то будет сложно с ним работать. Однако я не могу представить работу на большом проекте без строгой типизации.
Я бы посоветовал не принимать решение так быстро и попробовать чуть потянуть навыки работы с типизированным кодом.
Может ты перестанешь называть тИпы типАми? Звучит ущербно
Даже не задумывался об этом. Дельное замечание - постараюсь в следующих видео исправить.
вода вода и вода