47 lines
1.3 KiB
Markdown
47 lines
1.3 KiB
Markdown
# ranch-talk
|
|
|
|
[🖥️ Upstream][upstream] • [🐙 GitHub Mirror][github]
|
|
|
|
I was asked to give a 5-15 minute talk on [Ranch][ranch], a TCP socket acceptor
|
|
pool writter in Erlang, to show how OTP constructs are used in the real world
|
|
and expose some of [Elixir's Phoenix's][phoenix] underpinnings. This
|
|
[Livebook][livebook] contains my code and notes for that talk.
|
|
|
|
Thanks to [Divvy][divvy] for inviting me to give this talk.
|
|
|
|
# Usage
|
|
|
|
```bash
|
|
asdf install
|
|
mix escript.install github livebook-dev/livebook
|
|
git clone https://git.lyte.dev/lytedev/ranch-talk.git
|
|
cd ranch-talk
|
|
mix do deps.get, compile
|
|
```
|
|
|
|
Install and run a local Livebook in `attached` mode and automatically grab my
|
|
code:
|
|
|
|
```fish
|
|
env LIVEBOOK_PORT=5560 LIVEBOOK_IFRAME_PORT=5561 \
|
|
LIVEBOOK_HOME=(pwd) LIVEBOOK_IP=0.0.0.0 \
|
|
livebook server --default-runtime mix --no-token
|
|
```
|
|
|
|
Or if you're gonna share this with everybody, it's probably safer to run it
|
|
inside of Docker:
|
|
|
|
```bash
|
|
docker build . --tag ranch-talk
|
|
docker run -it --rm -p 5588:5588 -p 5589:5589 ranch-talk
|
|
```
|
|
|
|
Enjoy!
|
|
|
|
[ranch]: https://github.com/ninenines/ranch
|
|
[phoenix]: https://www.phoenixframework.org/
|
|
[livebook]: https://github.com/livebook-dev/livebook
|
|
[divvy]: https://getdivvy.com/
|
|
[upstream]: https://git.lyte.dev/lytedev/ranch-talk
|
|
[github]: https://github.com/lytedev/ranch-talk
|