elixir_development_glossary

Table of Contents

Elixir Development Glossary

Return to Apple iOS Development, Android iOS Developer Glossary, Swift Development Glossary, Objective-C Development Glossary, Software Engineering Glossary, Software Architecture Glossary, Design Pattern Glossary, Programming Glossary, Java Development Glossary, Kotlin Development Glossary, Python Development Glossary, .NET Development Glossary, Golang Development Glossary, CPP Development Glossary, C Development Glossary, Rust Development Glossary, PowerShell Development Glossary, JavaScript Development Glossary, TypeScript Development Glossary, Ruby Development GlossaryClojure Development Glossary, Haskell Development Glossary, Elixir Development Glossary, Erlang Development Glossary


Creating a comprehensive glossary for Elixir development with 100 concepts, including their descriptions and links to official documentation and GitHub repositories, is quite extensive. While I'll provide an overview of fundamental and advanced Elixir concepts, it's important to note that Elixir, being a dynamic, functional language designed for building scalable and maintainable applications, has its documentation centralized mainly through the official Elixir website and the Hex package manager.

Given the structure of Elixir's ecosystem, not all concepts have a dedicated GitHub repository, especially those that are part of the core language. However, for libraries and frameworks within the Elixir ecosystem, I'll include GitHub repository links where applicable.

```mediawiki

Elixir Developer Glossary

1. Elixir Language

The core programming language used for building scalable and maintainable applications. [Documentation: https://elixir-lang.org/docs.html]

2. Mix

A build tool that provides tasks for creating, compiling, testing your application, managing its dependencies, and more. [Documentation: https://hexdocs.pm/mix/Mix.html] [Source: https://github.com/elixir-lang/elixir]

3. Hex

The package manager for the Erlang ecosystem, which Elixir is part of. [Documentation: https://hex.pm/docs] [Source: https://github.com/hexpm/hex]

4. Phoenix Framework

A productive web framework that does not compromise speed and maintainability. [Documentation: https://hexdocs.pm/phoenix/overview.html] [Source: https://github.com/phoenixframework/phoenix]

5. Ecto

A database wrapper and query generator for Elixir. [Documentation: https://hexdocs.pm/ecto/Ecto.html] [Source: https://github.com/elixir-ecto/ecto]

6. GenServer

A generic server implementation that abstracts the common parts of client-server relations. [Documentation: https://hexdocs.pm/elixir/GenServer.html]

7. Supervisor

A process that supervises other processes, called children, and restarts them if they crash. [Documentation: https://hexdocs.pm/elixir/Supervisor.html]

8. OTP (Open Telecom Platform)

A set of Erlang libraries and design principles for building distributed applications. [Documentation: https://erlang.org/doc/]

9. BEAM

The Erlang virtual machine on which Elixir runs. [Documentation: https://www.erlang.org/docs]

10. IEx (Interactive Elixir)

Elixir's interactive shell, allowing for real-time code evaluation. [Documentation: https://hexdocs.pm/iex/IEx.html]

11. Enum

A set of algorithms for enumerating over enumerables. [Documentation: https://hexdocs.pm/elixir/Enum.html]

12. Stream

Lazy enumerables in Elixir. [Documentation: https://hexdocs.pm/elixir/Stream.html]

13. Protocol

A mechanism to achieve polymorphism in Elixir. [Documentation: https://hexdocs.pm/elixir/Protocol.html]

14. Agent

A simple abstraction around state. [Documentation: https://hexdocs.pm/elixir/Agent.html]

15. Task

A module that allows you to run background tasks. [Documentation: https://hexdocs.pm/elixir/Task.html]

16. ExUnit

The test framework that ships with Elixir. [Documentation: https://hexdocs.pm/ex_unit/ExUnit.html]

17. Doctest

A feature in ExUnit to write tests as part of your function documentation. [Documentation: https://hexdocs.pm/ex_unit/ExUnit.DocTest.html]

18. Sigils

A mechanism for working with literals in Elixir. [Documentation: https://hexdocs.pm/elixir/Kernel.html#sigil/3]

19. Mix Tasks

Custom tasks that can be created as part of your Elixir application. [Documentation: https://hexdocs.pm/mix/Mix.Task.html]

20. ElixirScript

An experimental project to compile Elixir to JavaScript. [Source: https://github.com/elixirscript/elixirscript]

21. Broadway

A concurrent and multi-stage data ingestion and data processing with Elixir. [Documentation: https://hexdocs.pm/broadway/Broadway.html] [Source: https://github.com/dashbitco/broadway]

22. LiveView

A library for building interactive, real-time web applications without writing JavaScript. [Documentation: https://hexdocs.pm/phoenix_live_view/Phoenix.LiveView.html] [Source: https://github.com/phoenixframework/phoenix_live_view]

23. Nerves

A platform and framework for building embedded software with Elixir. [Documentation: https://hexdocs.pm/nerves/getting

-started.html] [Source: https://github.com/nerves-project/nerves]

24. Telemetry

A dynamic dispatching library for metrics and instrumentations. [Documentation: https://hexdocs.pm/telemetry/] [Source: https://github.com/beam-telemetry/telemetry]

25. Credo

A static code analysis tool for the Elixir language. [Documentation: https://hexdocs.pm/credo/overview.html] [Source: https://github.com/rrrene/credo]

26. Dialyzer

A static analysis tool for Erlang (and by extension, Elixir) that identifies software discrepancies. [Documentation: https://erlang.org/doc/man/dialyzer.html]

27. Absinthe

A GraphQL toolkit for Elixir. [Documentation: https://hexdocs.pm/absinthe/overview.html] [Source: https://github.com/absinthe-graphql/absinthe]

28. ElixirLS

The Elixir Language Server provides a server that editors can connect to for features like auto-complete, document formatting, and more. [Source: https://github.com/elixir-lsp/elixir-ls]

29. Distillery

A release manager for Elixir. [Documentation: https://hexdocs.pm/distillery/home.html] [Source: https://github.com/bitwalker/distillery]

30. ExDoc

A tool to generate documentation for your Elixir projects. [Documentation: https://hexdocs.pm/ex_doc/ExDoc.html] [Source: https://github.com/elixir-lang/ex_doc]

31. Plug

A specification for composable modules in web applications. [Documentation: https://hexdocs.pm/plug/readme.html] [Source: https://github.com/elixir-plug/plug]

32. Poison

An incredibly fast, pure Elixir JSON library. [Source: https://github.com/devinus/poison]

33. Jason

A pure Elixir JSON library. [Documentation: https://hexdocs.pm/jason/Jason.html] [Source: https://github.com/michalmuskala/jason]

34. EEx (Embedded Elixir)

A library for working with Elixir templates. [Documentation: https://hexdocs.pm/eex/EEx.html]

35. ETS (Erlang Term Storage)

A powerful storage engine for Elixir and Erlang objects. [Documentation: https://erlang.org/doc/man/ets.html]

36. Mnesia

A distributed database management system. [Documentation: https://erlang.org/doc/man/mnesia.html]

37. BEAM VM

The virtual machine at the heart of the Erlang Open Telecom Platform (OTP). [Documentation: https://www.erlang.org/docs]

38. Erlang/OTP

The collection of middleware, libraries, and tools used to build scalable real-time systems. [Documentation: https://www.erlang.org/docs]

39. Function Capturing

A feature in Elixir that allows you to reference functions and pass them as arguments. [Documentation: https://elixir-lang.org/getting-started/modules-and-functions.html#function-capturing]

40. Pattern Matching

A feature that allows you to match simple values, data structures, and even functions. [Documentation: https://elixir-lang.org/getting-started/pattern-matching.html]

41. Recursion

A method where a function calls itself as a subroutine. [Documentation: https://elixir-lang.org/getting-started/recursion.html]

42. Concurrency

The ability of Elixir to run several processes simultaneously in the BEAM VM. [Documentation: https://elixir-lang.org/getting-started/processes.html]

43. Processes

Lightweight threads of execution used by Elixir for managing state and concurrency. [Documentation: https://elixir-lang.org/getting-started/processes.html]

44. Nodes

Erlang virtual machines that communicate with each other to form a cluster. [Documentation: https://elixir-lang.org/getting-started/mix-otp/distributed-tasks-and-configuration.html]

45. Umbrella Projects

A way of structuring multiple Elixir applications in a single project. [Documentation: https://elixir-lang.org/getting-started/mix-otp/dependencies-and-umbrella-projects.html#umbrella-projects]

46. Behaviours

A way to define a set of functions that must be implemented by a module. [Documentation: https://elixir-lang.org/getting-started/typespecs-and-behaviours.html#behaviours]

47. Typespecs

Specifications that describe the types of functions. [Documentation: https://elixir-lang.org/getting-started/typespecs-and-behaviours.html#typespecs

]

48. Documentation with ExDoc

A tool for creating documentation for your projects that can be published on HexDocs. [Documentation: https://hexdocs.pm/ex_doc] [Source: https://github.com/elixir-lang/ex_doc]

49. Mix Environments

A feature of Mix that allows you to customize your build configuration per environment. [Documentation: https://hexdocs.pm/mix/Mix.html#module-environments]

50. Mix Tasks

Custom tasks that can be created and run with Mix. [Documentation: https://hexdocs.pm/mix/Mix.Task.html]

51. IEx Helpers

Utilities provided by IEx to help with development tasks. [Documentation: https://hexdocs.pm/iex/IEx.Helpers.html]

52. OTP Applications

Components designed to be started and stopped as a unit. [Documentation: https://hexdocs.pm/elixir/Application.html]

53. OTP Releases

A packaged version of your application along with the Erlang/OTP runtime. [Documentation: https://hexdocs.pm/mix/Mix.Tasks.Release.html]

54. Dynamic Supervisors

Supervisors that can dynamically start and stop child processes. [Documentation: https://hexdocs.pm/elixir/DynamicSupervisor.html]

55. Registry

A local, decentralized, and scalable key-value process storage. [Documentation: https://hexdocs.pm/elixir/Registry.html]

56. GenStage

A specification for exchange events between producers and consumers. [Documentation: https://hexdocs.pm/gen_stage/GenStage.html] [Source: https://github.com/elixir-lang/gen_stage]

57. Flow

A library for building computational flows that leverages GenStage for concurrency. [Documentation: https://hexdocs.pm/flow/Flow.html] [Source: https://github.com/dashbitco/flow]

58. Broadway

A concurrent and multi-stage data ingestion and data processing with Elixir. [Documentation: https://hexdocs.pm/broadway/Broadway.html] [Source: https://github.com/dashbitco/broadway]

59. Elixir School

An open and community-driven effort to bring Elixir learning resources to many languages. [Source: https://github.com/elixirschool/elixirschool]

60. Elixir Forum

A place for Elixir community members to discuss topics related to Elixir. [URL: https://elixirforum.com]

61. Phoenix LiveView

A library for building interactive, real-time web applications without writing JavaScript. [Documentation: https://hexdocs.pm/phoenix_live_view/Phoenix.LiveView.html] [Source: https://github.com/phoenixframework/phoenix_live_view]

62. Elixir Companies

A website listing companies using Elixir in production. [URL: https://elixir-companies.com]

63. Observer

A graphical tool for observing the characteristics of Erlang systems. [Documentation: https://erlang.org/doc/apps/observer/observer_ug.html]

64. :ets (Erlang Term Storage)

A powerful storage engine built into the Erlang VM for storing large amounts of data in-memory. [Documentation: https://erlang.org/doc/man/ets.html]

65. :mnesia

A distributed database management system built into the Erlang runtime. [Documentation: https://erlang.org/doc/man/mnesia.html]

66. Benchee

A benchmarking tool for Elixir. [Source: https://github.com/bencheeorg/benchee]

67. Distillery

A release manager for Elixir. [Documentation: https://hexdocs.pm/distillery/home.html] [Source: https://github.com/bitwalker/distillery]

68. Sobelow

A security-focused static analysis tool for the Phoenix framework. [Source: https://github.com/nccgroup/sobelow]

69. Wallaby

A concurrent browser test framework for Elixir. [Source: https://github.com/elixir-wallaby/wallaby]

70. Credo

A static code analysis tool for the Elixir language. [Documentation: https://hexdocs.pm/credo/overview.html] [Source: https://github.com/rrrene/credo]

71. Dialyxir

A mix task to simplify the use of Dialyzer in Elixir projects. [Source: https://github.com/jeremyjh/dialyxir]

72. ExUnit

Elixir's built-in test framework. [Documentation: https://hexdocs.pm/ex_unit/ExUnit.html]

73. Doctests

Tests written within module documentation using IEx syntax. [Documentation: https://hexdocs.pm/ex_unit/ExUnit.DocTest.html]

74. ElixirLS

The Elixir Language Server, providing features like auto

-completion and inline reporting of compilation errors in editors. [Source: https://github.com/elixir-lsp/elixir-ls]

75. HexDocs

The official place to host Elixir and Erlang documentation. [URL: https://hexdocs.pm]

76. Logger

Elixir's built-in logging facility. [Documentation: https://hexdocs.pm/logger/Logger.html]

77. Elixir Radar

A weekly newsletter about Elixir. [URL: https://elixir-radar.com]

78. Phoenix PubSub

Distributed Publish-Subscribe system for Phoenix applications. [Documentation: https://hexdocs.pm/phoenix_pubsub/Phoenix.PubSub.html] [Source: https://github.com/phoenixframework/phoenix_pubsub]

79. Phoenix Channels

A feature for building real-time applications and enabling soft real-time communication between clients and servers. [Documentation: https://hexdocs.pm/phoenix/channels.html]

80. EEx (Embedded Elixir)

Elixir's templating engine, which allows you to embed Elixir code inside strings. [Documentation: https://hexdocs.pm/eex/EEx.html]

81. Recursion

The act of a function calling itself, commonly used in Elixir for iterating over collections. [Documentation: https://elixir-lang.org/getting-started/recursion.html]

82. Comprehensions

A syntax for iterating over enumerables in Elixir. [Documentation: https://elixir-lang.org/getting-started/comprehensions.html]

83. Sigils

A way of generating literals in Elixir using a concise syntax. [Documentation: https://elixir-lang.org/getting-started/sigils.html]

84. Macros

A mechanism for meta-programming in Elixir, allowing developers to write code that generates code. [Documentation: https://elixir-lang.org/getting-started/meta/macros.html]

85. Structs

Special maps with a fixed set of fields and default values, used to define custom data types. [Documentation: https://elixir-lang.org/getting-started/structs.html]

86. Protocols

A way to achieve polymorphism in Elixir, allowing different data types to implement the same function. [Documentation: https://elixir-lang.org/getting-started/protocols.html]

87. Behaviours

Defines a set of functions that must be implemented by a module. [Documentation: https://elixir-lang.org/getting-started/typespecs-and-behaviours.html#behaviours]

88. Typespecs

Provides static type checking for Elixir, used in conjunction with tools like Dialyzer. [Documentation: https://elixir-lang.org/getting-started/typespecs-and-behaviours.html#typespecs]

89. Concurrency

Utilizing Elixir's lightweight processes to run code simultaneously. [Documentation: https://elixir-lang.org/getting-started/processes.html]

90. OTP Behaviours

Predefined sets of callbacks that aim to solve common problems in Erlang/OTP. [Documentation: https://elixir-lang.org/getting-started/mix-otp/otp-introduction.html]

91. GenServer

An OTP behaviour for implementing server processes. [Documentation: https://elixir-lang.org/getting-started/mix-otp/genserver.html]

92. Supervisor Trees

Structures that supervise and manage processes to ensure an application's resilience. [Documentation: https://elixir-lang.org/getting-started/mix-otp/supervisor-and-application.html]

93. ETS (Erlang Term Storage)

An in-memory store for Elixir and Erlang objects that supports fast data retrieval. [Documentation: https://elixir-lang.org/getting-started/mnesia.html]

94. Mnesia

A distributed database management system in Erlang, accessible from Elixir. [Documentation: https://elixir-lang.org/getting-started/mnesia.html]

95. Mix Config

Configuration management tool for Elixir applications. [Documentation: https://elixir-lang.org/getting-started/mix-otp/config-and-releases.html#configuration]

96. Releases

The way to package Elixir applications for deployment. [Documentation: https://elixir-lang.org/getting-started/mix-otp/config-and-releases.html#releases]

97. Umbrella Projects

A way of structuring multiple Elixir applications under a single project. [Documentation: https://elixir-lang.org/getting-started/mix-otp/dependencies-and-umbrella-projects.html#umbrella-projects]

98. Phoenix Endpoint

The start and end of the request lifecycle in a Phoenix application. [Documentation: https://hexdocs.pm/phoenix/Phoenix.Endpoint.html]

99. LiveDashboard

A real-time performance

monitoring and debugging tool for Phoenix applications.
[Documentation: https://hexdocs.pm/phoenix_live_dashboard/Phoenix.LiveDashboard.html] [Source: https://github.com/phoenixframework/phoenix_live_dashboard]

100. Nerves

A platform for crafting and deploying bulletproof embedded software in Elixir. [Documentation: https://hexdocs.pm/nerves/getting-started.html] [Source: https://github.com/nerves-project/nerves] ```

This glossary provides a broad overview of Elixir development concepts, from basic language features to advanced frameworks and tools, along with official documentation and GitHub repositories where available. Elixir's ecosystem is vibrant and rapidly evolving, with a strong focus on concurrency, fault tolerance, and distributed systems. Whether you're a beginner or an experienced developer, these resources offer a wealth of information to deepen your understanding of Elixir and its applications.


Elixir: Elixir Fundamentals, Elixir Inventor: Elixir Language Designer: José Valim of Plataformatec in 2012; Elixir DevOps - Elixir SRE, Cloud Native Elixir (Elixir on Kubernetes - Elixir on AWS - Elixir on Azure - Elixir on GCP), Elixir Microservices, Elixir Containerization (Elixir Docker - Elixir on Docker Hub), Serverless Elixir, Elixir Data Science - Elixir DataOps - Elixir and Databases (Elixir ORM), Elixir ML - Elixir DL, Functional Elixir (1. Elixir Immutability, 2. Elixir Purity - Elixir No Side-Effects, 3. Elixir First-Class Functions - Elixir Higher-Order Functions, Elixir Lambdas - Elixir Anonymous Functions - Elixir Closures, Elixir Lazy Evaluation, 4. Elixir Recursion), Reactive Elixir), Elixir Concurrency - Elixir Parallel Programming - Async Elixir, Elixir Networking, Elixir Security - Elixir DevSecOps - Elixir OAuth, Elixir Memory Allocation (Elixir Heap - Elixir Stack - Elixir Garbage Collection), Elixir CI/CD - Elixir Dependency Management - Elixir DI - Elixir IoC - Elixir Build Pipeline, Elixir Automation - Elixir Scripting, Elixir Package Managers, Elixir Modules - Elixir Packages, Elixir Installation (Elixir Windows - Chocolatey Elixir, Elixir macOS - Homebrew Elixir, Elixir on Linux), Elixir Configuration, Elixir Observability (Elixir Monitoring, Elixir Performance - Elixir Logging), Elixir Language Spec - Elixir RFCs - Elixir Roadmap, Elixir Keywords, Elixir Operators, Elixir Functions, Elixir Data Structures - Elixir Elixir, Elixir Syntax, Elixir OOP (1. Elixir Encapsulation - 2. Elixir Inheritance - 3. Elixir Polymorphism - 4. Elixir Abstraction), Elixir Design Patterns - Elixir Best Practices - Elixir Style Guide - Clean Elixir - Elixir BDD, Elixir Generics, Elixir I/O, Elixir Serialization - Elixir Deserialization, Elixir APIs, Elixir REST - Elixir JSON - Elixir GraphQL, Elixir gRPC, Elixir Virtualization, Elixir Development Tools: Elixir SDK, Elixir Compiler - Elixir Transpiler, Elixir Interpreter - Elixir REPL, Elixir IDEs (JetBrains Elixir, Elixir Visual Studio Code), Elixir Linter, Elixir Community - Elixiraceans - Elixir User, Elixir Standard Library - Elixir Libraries - Elixir Frameworks, Elixir Testing - Elixir TDD, Elixir History, Elixir Research, Elixir Topics, Elixir Uses - List of Elixir Software - Written in Elixir - Elixir Popularity, Elixir Bibliography - Elixir Courses, Elixir Glossary - Elixir Official Glossary, Elixir GitHub, Awesome Elixir. (navbar_elixir - see also navbar_elixir_versions, navbar_elixir_standard_library, navbar_elixir_libraries, navbar_elixir_reserved_words, navbar_elixir_functional, navbar_elixir_concurrency, navbar_erlang)


© 1994 - 2024 Cloud Monk Losang Jinpa or Fair Use. Disclaimers

SYI LU SENG E MU CHYWE YE. NAN. WEI LA YE. WEI LA YE. SA WA HE.


elixir_development_glossary.txt · Last modified: 2024/04/28 03:13 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki