Очень качественное видео, спасибо! Особенно порадовало наличие компутер саенс наряду с практическими примерами. Дикция, тихая музыка, разумная скорость подачи - огонь :)
Когда ты все это знаешь - можно смотреть и наслаждаться, как произносимое в видео гармонирует с тем, что ты ожидаешь услышать. Но когда ты изучаешь тему с нуля - все плохо. Это просто бормотание, не объясняющее, зачем нужны интерфейсы и когда их следует применять. Сделать сложное простым - это искусство, которое не многим покоряется.
Я когда 2 недели пытался понять зачем нужны интерфейсы, смотря это видео, перематывал каждый важный для себя момент, потому что реально не понятно. Но разбираясь в других темах, я прям горжусь автором, как он заключил самое важное в каждом слове. Жаль, что до сих пор не понятно до конца (мне)
@@enj0yer76 интерфейсы часто нужны когда ты не один код пишешь. И, допустим, кто-то пишет как сохранять логи в бд, а кто-то на диск. Структура которая это будет делать - не париться как именно. Но нужно что бы всегда были одинаковые названия методов. Вместо того, что бы лично договариваться, какие методы использовать, кто-то один раз интерфейс пропишет, а потом оба программиста будут его реализовывать, каждый под свое хранилище. Если он не реализует какой-то метод - то будет ошибка. И мало того, если появится какой-то третий способ сохранения данных (допустим в облаке), новый программист, глянет какой интерфейс и опять создаст свою реализацию.
хотелось бы еще побольше ньюансов о том как передаются параметры с типом заданным как итерфейс. например есть интерфейс context.Context и переменную ctx безопасно передавать из ф-и в ф-ю "по значению". потому что под капотом ctx это уже указатель а не сама структура. а почему оно указатель - непонятно. и как это увидеть не копая исходники пакета context.go - неясно.
спасибо за очередной контент. если возможно, хотелось бы попросить - не мог бы ты более практически делать, потому что подобной теории хватает уже, есть ряд каналов и статей, не хватает практических примеров из жизни. Например "я покажу на примере как мы будем тут реализовавать абстракцию и это позволит нам это и это", в реальном проекте.
Непонятно. Рассказываются догмы, которые нужно самому искать где-то и доказывать, что оно действительно так и применяется вот таким образом. Короче, конспект из лекции, в котором студент сам же не разберётся к концу семестра
Профи по видео монтажу. Советуют для своих видео добавить скорость 1.2 +- перечитай. Чтобы людям смотрелось норм. Мы типа медленно говорим на "камеру" вооот,а смотрим контент быстро. )
Я в го только захожу может не понимаю чего-то специфического для го, а нифига сравнивать 2 объекта? Тут либо надо сравнивать их истансы либо конкретно сравнивать поля инстансов. Ерунда какая-то в конце видео про сравнение… ежу понятно что неинициализированный объект(нулл) и инициализированный объект но со значением нулл не будут равными.
Когда функция возвращает интерфейсный тип, мы не знаем, там внутри просто nil или nil pointer. Особенно это важный момент при проверке ошибок, потому что error - это интерфейс. Вам никто не мешает реализовать error с помощью структуры, а затем в начале функции сделать var err *myError. Так делать я бы не рекомендовал, конечно, но чего только не найдешь в third party коде.
Согласен, видео не для совсем-совсем новичков - я постарался копнуть глубже в тему. Возможно, поможет понять изучение статей/видео на тему абстрактных типов данных, ну или хотя бы почитать, что такое интерфейсы в других (например, уже знакомых) языках и провести параллели.
Автор, посмотри определение туториала и переименуй видео как положено. Это никакой не туториал и не обьяснение. Это просто набор слов, хоть и дикция, и концепция интересна. Лучше, конечно, превратить в туториал и реально сделать туториал с написанием примеров.
Очень качественное видео, спасибо!
Особенно порадовало наличие компутер саенс наряду с практическими примерами.
Дикция, тихая музыка, разумная скорость подачи - огонь :)
Когда ты все это знаешь - можно смотреть и наслаждаться, как произносимое в видео гармонирует с тем, что ты ожидаешь услышать. Но когда ты изучаешь тему с нуля - все плохо. Это просто бормотание, не объясняющее, зачем нужны интерфейсы и когда их следует применять. Сделать сложное простым - это искусство, которое не многим покоряется.
именно
Я когда 2 недели пытался понять зачем нужны интерфейсы, смотря это видео, перематывал каждый важный для себя момент, потому что реально не понятно. Но разбираясь в других темах, я прям горжусь автором, как он заключил самое важное в каждом слове. Жаль, что до сих пор не понятно до конца (мне)
@@enj0yer76 интерфейсы часто нужны когда ты не один код пишешь. И, допустим, кто-то пишет как сохранять логи в бд, а кто-то на диск.
Структура которая это будет делать - не париться как именно. Но нужно что бы всегда были одинаковые названия методов.
Вместо того, что бы лично договариваться, какие методы использовать, кто-то один раз интерфейс пропишет, а потом оба программиста будут его реализовывать, каждый под свое хранилище. Если он не реализует какой-то метод - то будет ошибка. И мало того, если появится какой-то третий способ сохранения данных (допустим в облаке), новый программист, глянет какой интерфейс и опять создаст свою реализацию.
@@TakemuraGoro спасибо за ответ! Общая картина теперь более ясна )) осталось на практике прочувствовать
@@enj0yer76 пожалуйста. Вообще, всегда надо держать в голове, что будет команда. Многие вещи в программировании становятся более понятны из-за этого.
Спасибо за видео! Супер качество!
Хотелось бы ещё услышать про конкурентное программирование и реализации базовых типов «под капотом»
Записал ✍️
@@deferpanic не пропадай :-(
Смотрел на х1.5 - мега комфортно, очень понятно, отличная дикция и подача.
Очень крутые видео, жаль, что мало!
пиздеж, даже на 1х очень быстро
Спасибо, очень круто разобрали!
отличное видео, жду продолжение
Жаль что не нашёл этот канал раньше, много бы времени сэкономил с такой четкой и понятной подачей информации
Спасибо большое за видео.
Огонь 🔥🔥👍
Очень полезный материал для тех кто планирует работать в рефлексии
Видео оч крутые, спасибо за качественную работу, ждем новых
Спасибо за контент. Как минимум вдохновляет отвлечься от работы и достичь правильной цели.
Супер!!! 👍
спасибо за видео!)
Название канала огонь!
Я тут один кто не понял что такое интерфейсы?
Не один
манера подачи и разбор+оформление топ)
хотелось бы еще побольше ньюансов о том как передаются параметры с типом заданным как итерфейс. например есть интерфейс context.Context и переменную ctx безопасно передавать из ф-и в ф-ю "по значению". потому что под капотом ctx это уже указатель а не сама структура. а почему оно указатель - непонятно. и как это увидеть не копая исходники пакета context.go - неясно.
спасибо за очередной контент. если возможно, хотелось бы попросить - не мог бы ты более практически делать, потому что подобной теории хватает уже, есть ряд каналов и статей, не хватает практических примеров из жизни. Например "я покажу на примере как мы будем тут реализовавать абстракцию и это позволит нам это и это", в реальном проекте.
Спасибо за фидбек! Учту )
Иногда линтер жалуется на интерфейсы.
Например нельзя делать возврат интерфейсов
Ещё видео будут?
Да, конечно, просто накладочка вышла у меня со времени ) либо на этой, либо на следующей неделе
Ты это сеньорам расскаживаешь ? 😊
очень нужно разобраться в теме интерфейсов, посоветуйте еще видосов, тут ничего не понял. Может есть что-то прпроще
Непонятно. Рассказываются догмы, которые нужно самому искать где-то и доказывать, что оно действительно так и применяется вот таким образом. Короче, конспект из лекции, в котором студент сам же не разберётся к концу семестра
Профи по видео монтажу. Советуют для своих видео добавить скорость 1.2 +- перечитай. Чтобы людям смотрелось норм. Мы типа медленно говорим на "камеру" вооот,а смотрим контент быстро. )
nil-не всегда тот, за кого себя выдает(с) Где то заплакал питонист.))
Почему я до сих пор не вижу твоего лица в кадре?! Ёлы-палы!
Я в го только захожу может не понимаю чего-то специфического для го, а нифига сравнивать 2 объекта? Тут либо надо сравнивать их истансы либо конкретно сравнивать поля инстансов. Ерунда какая-то в конце видео про сравнение… ежу понятно что неинициализированный объект(нулл) и инициализированный объект но со значением нулл не будут равными.
Когда функция возвращает интерфейсный тип, мы не знаем, там внутри просто nil или nil pointer. Особенно это важный момент при проверке ошибок, потому что error - это интерфейс. Вам никто не мешает реализовать error с помощью структуры, а затем в начале функции сделать var err *myError. Так делать я бы не рекомендовал, конечно, но чего только не найдешь в third party коде.
очень быстро и сложно объясняет
полезно будет только тем, кто хочет вспомнить
если узнать что это, то скип
Нихуя не понял но очень итересно, пойду поиющу на гит хабе примери, потом прийду опять
Крутое и качественное видео!
Но я чувствую себя инвалидом, смотря через телефон (
Далеко не самое лучшее объяснение. Те, кто не знают про интерфейсы ничего не поймут
would love to see it in english
Hey mate! I've added english subs. And I'll add subs for other my videos a bit later. Thank you!
А для какого уровня такая подача материала? Я, как новичок, вообще нихрена не понял с этими абстракциями.
С чем предварительно можно ознакомиться?
Согласен, видео не для совсем-совсем новичков - я постарался копнуть глубже в тему. Возможно, поможет понять изучение статей/видео на тему абстрактных типов данных, ну или хотя бы почитать, что такое интерфейсы в других (например, уже знакомых) языках и провести параллели.
Голос как у xpuct
a.(string)
Самое худшее объяснение интерфейсов, которое я видел в интернете в принципе
Автор, посмотри определение туториала и переименуй видео как положено. Это никакой не туториал и не обьяснение. Это просто набор слов, хоть и дикция, и концепция интересна.
Лучше, конечно, превратить в туториал и реально сделать туториал с написанием примеров.
посмотрел 5 минут и ни чего не понял
Нихрена не понятно