At Salam.io we are developing a modern social platform containing a humongous amount of features.
Currently Elixir is not one of the most popular programming languages but for sure it is one of the most promising and underrated ones. Elixir and it’s community has been growing and evolving this year steadily so right now I can recommend it to everyone - no matter if you are a business owner or you are an experienced developer or a total newbie - it’s time to learn or adopt the new technology.
Testing in Elixir is pretty neat. You can easily test anything written, you have instruments like ExUnit or ESpec, you can practice TDD and more and more. Functional programming paradigm helps you a lot to make your testing even simpler by forcing you to use pure, small functions that will be pleasant to test. Concurrency of Elixir allows you to run all your tests asynchronously and blazingly fast.
Elixir programming language has gained popularity and now it is supported at many platforms, including plenty of CI services. In this article we will see how we can achieve seamless and (almost) dead simple continious integration by using CircleCI in our Elixir projects.
Elixir programming language has its great, huge community and ecosystem. As for now, we can easily do static code analysis and code quality checks by using plenty of standard or external tools. This allows us to write robust solid Elixir code in a uniform way according to the style guide .
PostgreSQL is one of the most popular, stable and common relational database. It’s widely used in Elixir infrastructure and has a great integration with Ecto library.
Ecto is the most popular, robust and solid solution to work with databases in Elixir ecosystem. Ecto is not ORM, ODM nor it is a Repository patern library. Ecto is just a wrapper for common constructions to work with databases, nothing less and nothing more than that.
This post is a continuation of series of posts started in previous article. Previously we’ve talked about one of the most awesome, innovative and pleasant projects that we had the honor to develop here in FlatStack. In this article I will tell you about the problems we’ve faced and how the right choice of technologies stack helped us to solve them.
Database queries are common when you develop web applications. Ruby on Rails and it’s ActiveRecord liberates you from writing tons of boilerplate SQL code and results in creation of elegant, eloquent queries in plain Ruby.
Pattern matching is a key feature of functional programming. It allows you to check a given sequence of tokens for the presence of the constituents of some pattern. Using pattern matching you can easily operate with complex data structures in most expressive and eloquent way. Elixir provides pattern matching like any other functional programming language.
If you want to use all features of functional programming with Ruby-like syntax to write modern fast, fault-tolerant applications, you may take a look at Elixir programming language.
Currying and partial function application are common concepts of the functional programming. They look similar, but have differences in realization and using. Ruby allows you to easily operate with both of them.
Ruby has much in common with functional programming languages. For example, Ruby supports high-order functions, lambdas, currying and recursion, but not the immutability - Ruby’s types and data structures are mutable and can be changed at any time.
Node.js has a simple and powerful stream API. Streams in Node.js are unix pipes that let you perform asynchronous I/O operations by reading source data and pipe it to destination. If your application operates not with streams only, but promises, callbacks or synchronous code, you may want to use more deeper abstraction that fits your needs. In this case you may take a look at Highland.
Ruby is a great example of multi-paradigm programming language: it allows you to write code in object-oriented, imperative or functional styles. Ruby have much in common with functional programming languages: high-order functions, closures, anonymous functions, continuations, statements all values. If you want to use more functional programming patterns and tools, you might want to take a look on Functional Ruby gem.
Ruby is dynamically and strong typed programming language. In the most of the cases it gives you required level of type safety with minimal code. But if you want build more secure applications or you’re like static typing, then you need to check every variable or method for it’s type or class:
If you’re using Jekyll to generate your static website, you may want to deploy it as simple and fast, as Jekyll works. For this case, Ruby ecosystem has remote server automation and deployment tool that called Capistrano .
Jekyll is the great static website generator, that can be easily used for blogs, portfolio pages, galleries and others simple projects. It`s very simple, flexible tool that can be upgraded with hundreds powerful plugins.
Welcome! This is my blog about web development, functional programming and others geeky themes.