Derrick Reimer
๐ค SpeakerAppearances Over Time
Podcast Appearances
So it's just designed inherently with that in mind of many, many processes that shouldn't crash each other. And this works really well for WebSockets use cases where you have a bunch of people potentially on your site and you want to keep an open channel via WebSockets to be able to stream data back and forth. over a channel.
So it's just designed inherently with that in mind of many, many processes that shouldn't crash each other. And this works really well for WebSockets use cases where you have a bunch of people potentially on your site and you want to keep an open channel via WebSockets to be able to stream data back and forth. over a channel.
So channels are the mechanism that Phoenix has for basically opening WebSocket connections and then sending data up and down that pipe instead of going through old school HTTP requests, which are a little bit slower. And then the presence feature, this is actually a tricky computer science problem to solve.
So channels are the mechanism that Phoenix has for basically opening WebSocket connections and then sending data up and down that pipe instead of going through old school HTTP requests, which are a little bit slower. And then the presence feature, this is actually a tricky computer science problem to solve.
When you're active on a browser window and you want to show that that person is actually present there, keeping that state synchronized with the server is kind of tricky. And you kind of just get that for free from Sockets. So, yeah.
When you're active on a browser window and you want to show that that person is actually present there, keeping that state synchronized with the server is kind of tricky. And you kind of just get that for free from Sockets. So, yeah.
Am I hired?
Am I hired?
This harkens back to that fundamental architecture I was just talking about. Basically, it's a way to manage state in an Elixir application. It's a little bit quirky. This is more in the advanced principles of Elixir that a lot of new Elixir developers don't even necessarily have to learn about in order to get started with it.
This harkens back to that fundamental architecture I was just talking about. Basically, it's a way to manage state in an Elixir application. It's a little bit quirky. This is more in the advanced principles of Elixir that a lot of new Elixir developers don't even necessarily have to learn about in order to get started with it.
If you start peeling back the layers on how Phoenix works and then how to do certain tricky things that involve you have this centralized state and you need to make calls to it or just either fetch data out of that state or just make a mutation call or something. And it's like the shared state that's shared across all the processes that might be running in an Elixir application.
If you start peeling back the layers on how Phoenix works and then how to do certain tricky things that involve you have this centralized state and you need to make calls to it or just either fetch data out of that state or just make a mutation call or something. And it's like the shared state that's shared across all the processes that might be running in an Elixir application.
So we use these as an example, like this cool little subsystem where we have to throttle how many requests we make to the Microsoft API. Like they don't allow more than five simultaneous requests at a time to any given API token. And this is actually a pretty difficult problem to solve in a distributed system.
So we use these as an example, like this cool little subsystem where we have to throttle how many requests we make to the Microsoft API. Like they don't allow more than five simultaneous requests at a time to any given API token. And this is actually a pretty difficult problem to solve in a distributed system.
But using a gen server, we can basically spin up a pool of threads, sort of, and these threads service requests. And if If you get 10 coming in at the same time, they kind of line up in the pool and you can control concurrency. So that's just one example of how you can use gen servers to help out.
But using a gen server, we can basically spin up a pool of threads, sort of, and these threads service requests. And if If you get 10 coming in at the same time, they kind of line up in the pool and you can control concurrency. So that's just one example of how you can use gen servers to help out.
So, Derek, what does Hunter's Mark do? Oh, boy. Okay, I think it's a spell, right? And it allows me to mark an opponent and when I do that, I gain some sort of advantage on attacks. I don't remember what that advantage is.
So, Derek, what does Hunter's Mark do? Oh, boy. Okay, I think it's a spell, right? And it allows me to mark an opponent and when I do that, I gain some sort of advantage on attacks. I don't remember what that advantage is.
Lowercase a advantage.
Lowercase a advantage.