elixir-raknet
credo
Our great sponsors
elixir-raknet | credo | |
---|---|---|
2 | 8 | |
211 | 4,842 | |
0.5% | - | |
0.0 | 9.3 | |
7 months ago | 5 days ago | |
Elixir | Elixir | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
elixir-raknet
-
Bootstrapping a multiplayer server with Elixir at X-Plane
The core of the X-Plane server is our RakNet UDP protocol, which is open sourced under the MIT license here:
https://github.com/X-Plane/elixir-raknet
It's not a full game server, but the "Usage" section of the README provides a sketch of what the rest of the server (the part that implements the business logic) looks like.
-
10 Years(-Ish) of Elixir
Happy Elixir user here. At work we have a use case that isn't covered by José's high-level overview of the domains Elixir's used in: we run a massive multiplayer game server on it.
This is actually a really good fit. (It kind of rhymes with the original use of Erlang, being telecoms infrastructure.) We get outstanding concurrency support, high reliability, and really efficient development times. I can't imagine shipping this feature with a server written in C++ (the language I'm most comfortable in), and I can't imagine scaling it the way we need to if we'd gone for a traditional web language like Node, PHP, etc.
If you're interested, you can see the RakNet (game networking protocol) implementation we use on the server here:
https://github.com/X-Plane/elixir-raknet
The README gives a good overview of the full MMO server's architecture, too: each client connection is a stateful Elixir process (not to be confused with a heavy-weight OS process!), acting asynchronously on a client state struct; clients then asynchronously schedule themselves to send updates back to the user.
credo
- Mais de 10 coisas para fazer antes de solicitar revisão do seu Pull Request
- Aprendizado Elixir - módulo 2
-
Catalog of Elixir-specific code smells
[Credo](https://hex.pm/packages/credo) comes with a nice set of default checks and it is straightforward to add your own.
-
A Guide to Secure Elixir Package Updates
A static code analysis tool with a focus on code consistency and teaching. Config: {:credo, "~> 1.6"} Locked version: 1.6.3 Releases: 1.6.3, 1.6.2, 1.6.1, 1.6.0, 1.6.0-rc.1, 1.6.0-rc.0, 1.5.6, 1.5.5, ... Licenses: MIT Links: Changelog: https://github.com/rrrene/credo/blob/master/CHANGELOG.md <--- Here GitHub: https://github.com/rrrene/credo
- Credo: Static code analysis tool for Elixir focusing on consistency and teaching
-
Modern PHP Cheat Sheet
[1] https://github.com/rrrene/credo/blob/master/lib/credo/check/...
-
excellent_migrations: Elixir lib for detecting unsafe db migrations
I've already been thinking about more focus on teaching and explanations. Ruby gem strong_migrations and credo are good examples of communicating such knowledge to devs.
-
10 Years(-Ish) of Elixir
Yes there is a formatter built into Mix, the Elixir build tool. There is also https://github.com/rrrene/credo which is not as extensive but does the same thing as ESLint.
What are some alternatives?
scrivener_ecto - Paginate your Ecto queries with Scrivener
dialyxir - Mix tasks to simplify use of Dialyzer in Elixir projects.
ex_venture - Text based MMORPG engine written in Elixir
dogma - :closed_lock_with_key: A code style linter for Elixir
canada - Easy permission definitions in Elixir apps!
coverex - Coverage Reports for Elixir
phx_gen_auth - An authentication system generator for Phoenix 1.5 applications.
excoveralls - Coverage report tool for Elixir with coveralls.io integration.
stm_agent - Software transactional memory for Elixir.
belvedere - An example of CircleCI integration with Elixir
exprof - A simple code profiler for Elixir using eprof.
dotenv-linter - ⚡️Lightning-fast linter for .env files. Written in Rust 🦀