- 22
- 367 759
Sreekanth
Приєднався 26 гру 2013
Explanations of intermediate/advanced level programming concepts using animations
Internals of Interfaces in Golang | Intermediate level
This video covers the internal of the interface types in Go language.
0:00 Basics of Interfaces
0:54 Changes in interfaces due to Generics
1:52 Interface elements
3:50 Identical interfaces
4:36 Type description structures
6:04 Memory layout of interfaces
11:17 Empty interface - runtime type representation
11:43 Type assertion
12:12 Type switch
12:41 why nil error is not nil
13:31 Benchmarking overhead of interface method call
17:23 Devirtualization
References:
research.swtch.com/interfaces
go101.org/article/interface.html
0:00 Basics of Interfaces
0:54 Changes in interfaces due to Generics
1:52 Interface elements
3:50 Identical interfaces
4:36 Type description structures
6:04 Memory layout of interfaces
11:17 Empty interface - runtime type representation
11:43 Type assertion
12:12 Type switch
12:41 why nil error is not nil
13:31 Benchmarking overhead of interface method call
17:23 Devirtualization
References:
research.swtch.com/interfaces
go101.org/article/interface.html
Переглядів: 2 459
Відео
Visualizing memory layout of Rust's data types
Переглядів 28 тис.Рік тому
Covers how a binary is executed, what segments are mapped to memory, the purpose/working of stack and heap memory, and how values of Rust's data types are laid out in memory. The data types that we cover here are integers, char, Vector, slice, String, string slice, structs, enums, smart pointers like Box, Rc, Arc, Trait object and Fn traits like FnOnce, FnMut and Fn. We also cover the differenc...
How variables works in Python | Explained with Animations
Переглядів 8 тис.Рік тому
This video tries to explain how variables or name bindings work in Python and their internal representations like PyObject and PyVarObjects, using animations. Intermediate level concepts like reference counting, garbage collection, how lists work internally, why python is a dynamically typed language, interning, None objects, equality operators like ' ' and 'is', how 'del' works, how variables ...
Methods in Golang | Intermediate level
Переглядів 2,2 тис.Рік тому
Explains how methods work in Go, things like method normalization, method value evaluation, gotchas and best practices. It also explains the reasons for choosing between pointer and value receiver. 0:00 Basics of Methods 1:21 Value vs Pointer receivers 2:55 Methods on nil values 3:44 Pass by copy 5:54 Pass by copy with slices 7:58 Method normalization 9:25 Method value evaluation 11:01 Gotcha -...
Inspecting the map header in Golang
Переглядів 1 тис.Рік тому
When you create a map variable, the variable stores a pointer to a map header struct. The fields of this struct can not be accessed in normal Go programs. This video will cover the procedure to inspect fields of this map header struct. Details regarding internals of map data type in Golang was covered in: ua-cam.com/video/ACQs6mdylxo/v-deo.html
Internals of Maps in Golang
Переглядів 6 тис.Рік тому
Internal implementation details of the map data type in Go programming language.
Maps in Golang | Intermediate level
Переглядів 1,7 тис.Рік тому
In this Golang programming tutorial, we will be learning some intermediate level concepts around the usage of the map data type. 0:00 Key types must be comparable 1:25 Composite literal types as keys/values 2:06 Empty vs nil map 3:36 Maps are pointers 4:21 Elements are unaddressable 5:34 Iteration 6:57 Deletion 8:02 Set data type
Strings, Bytes and Runes | Golang | intermediate level
Переглядів 7 тис.2 роки тому
Covers memory layout of string data type, its relationship with rune slices and byte slices in Golang. We also discuss the conversion between these types, the compiler optimizations on these conversions and the strings.Builder object. Ascii, unicode and UTF-8 : ua-cam.com/video/wIVmDPc16wA/v-deo.html 0:00 Raw vs Interpreted string literals 1:40 String header & Memory Layout 2:37 Rune data type ...
ASCII, Unicode, UTF-32, UTF-8 explained | Examples in Rust, Go, Python
Переглядів 10 тис.2 роки тому
This video explains ASCII, Unicode, UTF-32 and UTF-8 string encodings. 0:00 Introduction 0:30 ASCII 2:31 Unicode standard 4:37 UTF-32 Encoding 6:16 UTF-8 Encoding 7:15 Strings in Golang 8:11 Strings in Python 9:29 Rust example 9:41 Graphemes with multiple unicode points
Memory layout and mechanics of arrays and slices | Golang | intermediate level
Переглядів 6 тис.2 роки тому
We discuss the memory layout of arrays and slices in Golang. This provides a good mental model for writing efficient and bug free Go code that includes slices. 0:00 Intro 0:27 Arrays 1:35 Slices 4:19 Initializing a slice 4:48 Passing slice as function arguments 7:05 working of append operation 10:35 Gotcha with slicing large slices 11:36 Nil vs Empty slices 12:22 range loop variable semantics R...
Special/magic methods | Python OOP | Part 7
Переглядів 2,9 тис.2 роки тому
Covers Python's special or magic methods, their purpose and the overall pattern. This is the 7th video of tutorial series on Object oriented programming in Python: ua-cam.com/play/PLSozy2hb5kKO7mWMQX5vLBuK3uxE3ggMV.html 0:00 Introduction 1:04 Documentation 1:15 repr 2:25 str 3:18 repr vs str 4:39 len 5:09 bool 6:50 Arithmetic Operators 8:38 Reflected arithmetic operators 10:06 Augmented arithme...
property decorator - deep dive | Python OOP | Part 6
Переглядів 7 тис.2 роки тому
We will be discussing about Python's properties class, it's purpose and usage as decorator. This is the 6th video of tutorial series on Object oriented programming in Python: ua-cam.com/play/PLSozy2hb5kKO7mWMQX5vLBuK3uxE3ggMV.html 0:00 Introduction 0:56 Advantages of having getters and setters 2:18 Using property object 4:18 Attribute lookup order with property objects 4:56 property class signa...
classmethod and staticmethod | Python OOP | Part 5
Переглядів 3,5 тис.3 роки тому
We will be learning about classmethods and staticmethods. This is the 5th video of tutorial series on Object oriented programming in Python: ua-cam.com/play/PLSozy2hb5kKO7mWMQX5vLBuK3uxE3ggMV.html 0:00 Bound methods 1:08 Purpose of "self" in bound methods 3:03 class methods 6:52 Wrong use of class attributes 7:36 Static methods Credits: The contents of this video are mostly from my notes on Dr....
Visualizing memory layout of Rust's data types [See description/first comment]
Переглядів 101 тис.3 роки тому
*UPDATE: This video is re-uploaded with a better audio here ua-cam.com/video/7_o-YRxf_cc/v-deo.html* Covers how a binary is executed, what segments are mapped to memory, the purpose/working of stack and heap memory, and how values of Rust's data types are laid out in memory. The data types that we cover here are integers, char, Vector, slice, String, string slice, structs, enums, smart pointers...
Instance Initializer "__init__" method | Python OOP tutorial - Part 4
Переглядів 3,1 тис.3 роки тому
Explains the purpose of Python's init method in the context of Object-Oriented programming. 0:00 working of bound methods 1:42 Purpose of init 3:10 Initializer Vs constructor Playlist: ua-cam.com/play/PLSozy2hb5kKO7mWMQX5vLBuK3uxE3ggMV.html Credits: The contents of this video are mostly from my notes on Dr. Fred Baptiste's course www.udemy.com/course/python-3-deep-dive-part-4/
Instance Methods & self | Python OOP - Part 3
Переглядів 3,4 тис.3 роки тому
Instance Methods & self | Python OOP - Part 3
class & instance dictionaries in Python | __dict__ | OOP - Part 2
Переглядів 8 тис.3 роки тому
class & instance dictionaries in Python | dict | OOP - Part 2
Object-oriented Programming in Python - part 1 [Introduction]
Переглядів 8 тис.3 роки тому
Object-oriented Programming in Python - part 1 [Introduction]
Python's Import System - Module object|Regular/Namespace Packages|Finders & Loaders|Relative imports
Переглядів 55 тис.3 роки тому
Python's Import System - Module object|Regular/Namespace Packages|Finders & Loaders|Relative imports
Closures in Python | Explained with animations
Переглядів 26 тис.3 роки тому
Closures in Python | Explained with animations
Python tutorial: Variable Scopes & Namespaces - global/local/nonlocal | Explained with animations
Переглядів 24 тис.3 роки тому
Python tutorial: Variable Scopes & Namespaces - global/local/nonlocal | Explained with animations
How variables work in Python | Explained with Animations [See description/first comment]
Переглядів 54 тис.3 роки тому
How variables work in Python | Explained with Animations [See description/first comment]
2:52
Holy fuck finally
sbrk is not a syscall
Hello, Please create mode videos like this please!!!!
HELLO, CAN YOU MAKE MORE VIDEOS ON PYTHON PLEASE?? WE ARE EAGERLY WAITING
Wow
So every variable is heap allocated... sounds like a cache locality nightmare
This is the best video explaining variable scope of Python.
Very cool🎉
but , what's going on, what's your next video about rust ?
how is this gonna fix my divorce
An amazing video....
What a genius this man is...Where did you learn so much thing?
I heard the word 'function' too many times and now I've forgotten what it means.
Super useful information every python programmer need to see this you are great man and you rocked it🎉🎉
I'm really impressed, what a great content avaliable for FREE! Please keep up uploading videos.
so great👌
Wonderful work!! Just Wondering how did you make thes code animations? Which Tool did you use?
Please do this extended explanation also for containers such as deque hashmap btreemap etc. Thank you for effort put in this video.
I can recommend Jon Gjengset's Crust of Rust about collections for that. It's available here on UA-cam
Great explanation.
This was great
Thank you so much
This is among the most insightful videos on UA-cam. Well illustrated. I'm working on a quiz from the transcript of this video.
Bill Keys
thanks for class, can you share used Presentation?
@5:25 When the PyVarObject gets its refcnt inremented to 2, should the objects contained in the list also have their refcnt incremented?
I guess it's sufficient to not increment their refcnts. In that case, all CPython needs to do is ensure that when the PyVarObject refcnt becomes 0, it decrements the refcnt of the contained objects
much help video, thanks guys
around 11:00 isn't it a move instead of copy?
it’s a copy in memory level. Move is a compile level thing.
this feels like i now know something that I'm not supposed to know
what the actual fuck
AI uncanny valley voices are bad and you should feel bad.
Awesome
Bechtelar Radial
This video should be part of "The Rust Book". This really explains why rust has so many data types. We need more rust videos. Thank You Sreekanth 👏👏
Hey! Great video! I’d love to do a voiceover for this to make it easier to listen to.
How to contact you bro? I have 2 question in Python. If you can able to answer.
Is this presentation available anywhere?
Fantastic. Especially showing the implementations through programming languages.
Amazing content, please do more rust themed deep dives
Personally I find this video extremely valuable @Sreekanth not just for Rust for compiled languages internals. Question I have what is the font used ? It looks like Jetbrains Mono but with some font ligatures turned on. Not sure what are the values
I use github.com/be5invis/Iosevka
这个视频实在讲的太好了,解答了我好多关于Rust的疑惑以及Java中的一些疑惑!!追过来点赞
Excellent video. I just wish animation of the stack to show chunks of memory allocated like a stack (one on top of the other) and freed the same way. I find it more intuitive.
i love this video so much do you have sources for this material?
this video was such a pleasure, <3 Sreekanth
subbed 4 this 1
I hate the computer generated voice. Please use a human voice it doesn’t matter if you have heavy accent
this video is just amazing!!!
terminator is teaching us rust.
what about CPP memory layout playlist
Thanks for dealing with a neglected topic. Great job!
Simply Great!