Sreekanth
Sreekanth
  • 22
  • 367 759
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
Переглядів: 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]

КОМЕНТАРІ

  • @lakshmann9825
    @lakshmann9825 3 дні тому

    2:52

  • @KingsofSummer
    @KingsofSummer 4 дні тому

    Holy fuck finally

  • @p0n-pompf
    @p0n-pompf 9 днів тому

    sbrk is not a syscall

  • @onkarkulkarni7824
    @onkarkulkarni7824 17 днів тому

    Hello, Please create mode videos like this please!!!!

  • @OnkarKulkarni-ii8hs
    @OnkarKulkarni-ii8hs 25 днів тому

    HELLO, CAN YOU MAKE MORE VIDEOS ON PYTHON PLEASE?? WE ARE EAGERLY WAITING

  • @Singh54321
    @Singh54321 29 днів тому

    Wow

  • @keizbot
    @keizbot Місяць тому

    So every variable is heap allocated... sounds like a cache locality nightmare

  • @ShuCarolina
    @ShuCarolina Місяць тому

    This is the best video explaining variable scope of Python.

  • @alexkazimir3835
    @alexkazimir3835 Місяць тому

    Very cool🎉

  • @immanuel5513
    @immanuel5513 Місяць тому

    but , what's going on, what's your next video about rust ?

  • @normalhumanbeing6066
    @normalhumanbeing6066 Місяць тому

    how is this gonna fix my divorce

  • @sdbg
    @sdbg 2 місяці тому

    An amazing video....

    • @sdbg
      @sdbg 2 місяці тому

      What a genius this man is...Where did you learn so much thing?

  • @ReubenSilveira
    @ReubenSilveira 2 місяці тому

    I heard the word 'function' too many times and now I've forgotten what it means.

  • @rkvcherry5535
    @rkvcherry5535 2 місяці тому

    Super useful information every python programmer need to see this you are great man and you rocked it🎉🎉

  • @Gabriel_Bento
    @Gabriel_Bento 2 місяці тому

    I'm really impressed, what a great content avaliable for FREE! Please keep up uploading videos.

  • @sobhanashrafi6368
    @sobhanashrafi6368 2 місяці тому

    so great👌

  • @terryliu-1989
    @terryliu-1989 2 місяці тому

    Wonderful work!! Just Wondering how did you make thes code animations? Which Tool did you use?

  • @xgallomx
    @xgallomx 2 місяці тому

    Please do this extended explanation also for containers such as deque hashmap btreemap etc. Thank you for effort put in this video.

    • @pmmeurcatpics
      @pmmeurcatpics 20 днів тому

      I can recommend Jon Gjengset's Crust of Rust about collections for that. It's available here on UA-cam

  • @mrshodz
    @mrshodz 2 місяці тому

    Great explanation.

  • @jubiaj2672
    @jubiaj2672 2 місяці тому

    This was great

  • @devlogschannel
    @devlogschannel 2 місяці тому

    Thank you so much

  • @WilsonMar1
    @WilsonMar1 3 місяці тому

    This is among the most insightful videos on UA-cam. Well illustrated. I'm working on a quiz from the transcript of this video.

  • @SomerWarren-b1z
    @SomerWarren-b1z 3 місяці тому

    Bill Keys

  • @murodalinarzullaev5955
    @murodalinarzullaev5955 3 місяці тому

    thanks for class, can you share used Presentation?

  • @tommyphillips1030
    @tommyphillips1030 3 місяці тому

    @5:25 When the PyVarObject gets its refcnt inremented to 2, should the objects contained in the list also have their refcnt incremented?

    • @tommyphillips1030
      @tommyphillips1030 3 місяці тому

      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

  • @minhphamvan8993
    @minhphamvan8993 3 місяці тому

    much help video, thanks guys

  • @focker0000
    @focker0000 4 місяці тому

    around 11:00 isn't it a move instead of copy?

    • @sdbg
      @sdbg 2 місяці тому

      it’s a copy in memory level. Move is a compile level thing.

  • @user-jm6gp2qc8x
    @user-jm6gp2qc8x 4 місяці тому

    this feels like i now know something that I'm not supposed to know

  • @user-jm6gp2qc8x
    @user-jm6gp2qc8x 4 місяці тому

    what the actual fuck

  • @actuallyStryder
    @actuallyStryder 4 місяці тому

    AI uncanny valley voices are bad and you should feel bad.

  • @MohammadLsk
    @MohammadLsk 4 місяці тому

    Awesome

  • @ElkeDecourley-m4x
    @ElkeDecourley-m4x 4 місяці тому

    Bechtelar Radial

  • @PrinceKumar-u4k4y
    @PrinceKumar-u4k4y 4 місяці тому

    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 👏👏

  • @johndavies729
    @johndavies729 4 місяці тому

    Hey! Great video! I’d love to do a voiceover for this to make it easier to listen to.

  • @DhavalAhir10
    @DhavalAhir10 4 місяці тому

    How to contact you bro? I have 2 question in Python. If you can able to answer.

  • @sandrokavlashvili8617
    @sandrokavlashvili8617 4 місяці тому

    Is this presentation available anywhere?

  • @matthias2447
    @matthias2447 4 місяці тому

    Fantastic. Especially showing the implementations through programming languages.

  • @HereIsZane
    @HereIsZane 4 місяці тому

    Amazing content, please do more rust themed deep dives

  • @VikramBhaskaran
    @VikramBhaskaran 5 місяців тому

    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

    • @sreekanthpr
      @sreekanthpr 4 місяці тому

      I use github.com/be5invis/Iosevka

  • @暴打麻薯
    @暴打麻薯 5 місяців тому

    这个视频实在讲的太好了,解答了我好多关于Rust的疑惑以及Java中的一些疑惑!!追过来点赞

  • @OzWannabe
    @OzWannabe 5 місяців тому

    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.

  • @jkjoker777
    @jkjoker777 5 місяців тому

    i love this video so much do you have sources for this material?

  • @MuscleTeamOfficial
    @MuscleTeamOfficial 5 місяців тому

    this video was such a pleasure, <3 Sreekanth

  • @MuscleTeamOfficial
    @MuscleTeamOfficial 5 місяців тому

    subbed 4 this 1

  • @Maximus98245
    @Maximus98245 5 місяців тому

    I hate the computer generated voice. Please use a human voice it doesn’t matter if you have heavy accent

  • @denjiuzumaki4309
    @denjiuzumaki4309 5 місяців тому

    this video is just amazing!!!

  • @iamworstgamer
    @iamworstgamer 6 місяців тому

    terminator is teaching us rust.

  • @longstoryveryshort
    @longstoryveryshort 6 місяців тому

    what about CPP memory layout playlist

  • @DrIT-qv1ek
    @DrIT-qv1ek 6 місяців тому

    Thanks for dealing with a neglected topic. Great job!

  • @DrIT-qv1ek
    @DrIT-qv1ek 6 місяців тому

    Simply Great!