No video

Зачем нужны типы, рассмотрим на примере

  Рет қаралды 9,910

S0ER

S0ER

2 жыл бұрын

#soer #itubeteam
Основной канал для общения и публикации новых видео - Телегарм - t.me/softwareengineervlog
Спонсорство - donate.s0er.ru
Сайт платным контентом - soer.pro
Зеркало для видео Дзен Видео - zen.yandex.ru/id/5f578bdf22e2...
GitHub - github.com/soerdev
Чат для программистов - / discord
Группа ВК - codeartblog

Пікірлер: 26
@user-db8ny4nk8l
@user-db8ny4nk8l 2 жыл бұрын
очень интересно про монойды
@user-lt2vd2ue2e
@user-lt2vd2ue2e 2 жыл бұрын
Видео про моноиды был бы очень рад! И в целом о связи математики и программирования.
@AnarchySane
@AnarchySane 2 жыл бұрын
Видео про моноиды было бы круто.
@romservik29
@romservik29 2 жыл бұрын
export type DeepObject = Record можно ещё так объявить объект(ключь, значение).
@AnarchySane
@AnarchySane 2 жыл бұрын
Да и видео про "все эти частности" то же было бы круто)
@sovrinfo
@sovrinfo 2 жыл бұрын
Спасибо за видео.Коммент в поддержку!
@petrplotnikov4307
@petrplotnikov4307 2 жыл бұрын
по тестам было бы очень интересно..
@AnarchySane
@AnarchySane 2 жыл бұрын
Типы это хорошо, а подход Clojure через spec вообще имеет хоть какие-то преимущества? Было бы интересно послушать мнение насчет данные против типов. Дядюшка Боб как-то в своем блоге высказал, что spec дает возможности намного больше, но это же Дядюшка Боб)
@sergeyvp
@sergeyvp 2 жыл бұрын
Получается масло-масленное. Используем ТС для определения типов и пишем функцию которая проверяет правильные ли мы типы передали. Зачем тогда нужен ТС? Достаточно написать функции проверки типа и всё.
@wwiiktor
@wwiiktor 2 жыл бұрын
Покажите что такое монойды
@tomatguitar
@tomatguitar 2 жыл бұрын
А тайпскрипт умеет проверять типы в рантайме?
@user-ey5xw2nx9s
@user-ey5xw2nx9s 2 жыл бұрын
Нет, поскольку код на Ts транслируется на JS. Но run-time типы можно сэмулировать с помощью декораторов
@Vanesment
@Vanesment 2 жыл бұрын
Хотим видео про моноиды!
@d4vlL
@d4vlL 2 жыл бұрын
А с какой целью объединять все тесты в один? Тогда же не понятно будет, где приложение падает + тесты станут чуть более, чем полностью не поддерживаемыми.
@13hubassembly59
@13hubassembly59 2 жыл бұрын
Каждый интеджер это не просто циферки, это символ с ASCII айди (и эта айди есть и тот самый интеджер) если не было бы типов то компилятор или процессор думали бы что это символ
@Alexey0795
@Alexey0795 2 жыл бұрын
8:47 не могу понять, функция isObject по сути должна возращать true | false, но в примере не пишется `fun isObject(args):boolean` что-то типо того, а наоборот пишет что-то про тип объекта.. при этом имя еще такое же как у параметра.. а что если параметров было бы больше.. что-то интуитивно не могу допонять
@mtb-love-belarus
@mtb-love-belarus 2 жыл бұрын
Если вернуть просто boolean (isObject(): boolean) то компилятор будет знать только то, что из этой функции возвращается boolean. Если описать возвращаемое значение как `arg is DeepObject`, то компилятор будет знать, что из функции возвращается булево значение, которое указывает, является ли аргумент указанным типом. Это помогает в строках 11-12 - isObject(a) && isObject(b) показывает компилятору, что `a` и `b` - DeepObject и могут быть переданы в метод `deepMerge`.
@AlexeyAndKartashov
@AlexeyAndKartashov 2 жыл бұрын
Конкретно конструкция "o is DeepObject" в возвращаемом типе у функции называется "type predicate". А сам приём в общем - "сужение типов с помощью type guard'ов". В handbook'е тайпскрипта этот раздел называется "Narrowing", прям так и гугли - "typescript narrowing" (прямую ссылку дать не могу - ютуп не пропускает комменты со ссылками)
@Alexey0795
@Alexey0795 2 жыл бұрын
@@AlexeyAndKartashov я вчера всю пятницу вчитывался в хендбук делая задания на typescript-exercises. Именно тогда и возникло это непонимание. И каково было мое удивление, когда ютюб подкинул мне новый видос и я обнаружил, что два свежих видео на канале затрагивают именно тему ts. Короче мне это все равно крайне не очевидно и чтение доков не сработало. Может со временем все само станет на места, но сейчас чистое недоумение. Думаю, когда другие темы освою, станет легче понять этот момент.
@alekseytrump1586
@alekseytrump1586 2 жыл бұрын
ГОУ моноиды
@chip253
@chip253 2 жыл бұрын
Оно то понятно, но суть сводится "попытка запихать в USkeletalMesh вместо меша - анимацию, что конечно же бессмысленно". А на деле ts при компиляции добавит столько мусора, что только нагрузит лишнюю обработку...
@Eraston
@Eraston 2 жыл бұрын
А кто будет мутки мутить как не типы? Для этого и нужны
@user-kf1xn1dq9t
@user-kf1xn1dq9t 2 жыл бұрын
>зачем нужны типы? >флешбеки кодинга на питоне и жабаскрипте make it stop MAKE IT STOP MAKE IT STOP!!!!!!!!!!!!!!!!!!!!! И да, по опыту, типы это больше (в основном даже) помощь для програмиста чем для компилятора/транслятора/интерпритатора. Они и так разберутся что, куда и как, а вот прокладка между креслом и монитором нет. Ситуации когда у тебя на вход приходит объект в котором полторы тыщи полей, в котором пятнадцать полей это точно такой же объект в котором полторы тыщи полей прямо таки классика динамической типизации. И ты сидишь нихера не понимаешь как и почему это работает и бесмысленно протираешь штаны и часы жизни пытаясь разобраться почему int =/= int.
@ostrov11
@ostrov11 2 жыл бұрын
... зачем, зачем ... что бы повысить продажи таблеток от "болит голова"
@user-ey5xw2nx9s
@user-ey5xw2nx9s 2 жыл бұрын
Чтобы не принимать мусор на входе
@ajiekcahdppeperoni7011
@ajiekcahdppeperoni7011 2 ай бұрын
Зачем ты вим то открыл …пользоваться не умеешь все равно. Код бы свой вообще лучше бы не показывал, блевань
Разбираюсь в API крутых команд
28:01
A little girl was shy at her first ballet lesson #shorts
00:35
Fabiosa Animated
Рет қаралды 18 МЛН
Inside Out 2: Who is the strongest? Joy vs Envy vs Anger #shorts #animation
00:22
Son ❤️ #shorts by Leisi Show
00:41
Leisi Show
Рет қаралды 9 МЛН
6 важных структур данных
17:25
S0ER
Рет қаралды 90 М.
A little girl was shy at her first ballet lesson #shorts
00:35
Fabiosa Animated
Рет қаралды 18 МЛН