Size: a a a

2021 March 09

DF

Denis Fakhrtdinov in pro.elixir
Депенденсы с макросами?
источник

DF

Denis Fakhrtdinov in pro.elixir
Любой примерно.
источник

AD

Anastasiya Dyachenko in pro.elixir
не, ну было еще про голову функции без дефолтов
источник

ع

عاصم بن حارث... in pro.elixir
Anastasiya Dyachenko
не, ну было еще про голову функции без дефолтов
😂👍
источник

DF

Denis Fakhrtdinov in pro.elixir
Да, нашелся такой кусочек, я просто не понял тайного замысла. Можно просто удалить.
источник

AD

Anastasiya Dyachenko in pro.elixir
Denis Fakhrtdinov
Депенденсы с макросами?
в оправдание, библиотеки со злостным использованием макросов обычно не одобряются, есть даже закрывшиеся)
источник

А

Александр in pro.elixir
подскажите, если где-то уже толковые бенчмарки jit?
источник

ع

عاصم بن حارث... in pro.elixir
Александр
подскажите, если где-то уже толковые бенчмарки jit?
вряд ли.
источник

I

Ilya in pro.elixir
еще же уже банили, или нет? @Virviil
источник

LL

Lama Lover in pro.elixir
Опять из скалачатика набегают
источник

AD

Aaron Delarge in pro.elixir
Борщевик Ёбаный
а ещё работать в рабочее время
источник
2021 March 10

IK

Ihor Katkov in pro.elixir
Ihor Katkov
#вакансия #job #elixir
### Looking for Senior Backend Developer

During the last year digital currency trading has finally come of age. Market-cap and daily trading volumes have grown exponentially as more and more retail traders come onstream. Extensive media attention has only fuelled the trend.  
 
For existing European financial institutions, offering customers digital currency trading simultaneously creates a new revenue stream and satisfies a growing consumer demand, especially with hard-to-reach millennials. The only issue is connecting with digital currency exchanges, which is expensive and a hassle. Using a specialised liquidity provider solves these issues.  
 
As a Senior Backend Developer, you’ll work closely with the development team to consolidate and expand the usefulness of our digital currency trading API, creating new features for banks and trading platforms to use, while also implementing trading algorithms on digital currency exchanges.  
Right now we’re at the start of the journey, with a working and successful product built in Elixir / Phoenix, but more and more clients coming onstream and a desire for greater functionality.

### Roles & Responsibilities

-   Backend development of new API features.
-   Backend implementation of trading algorithms.

### What you bring

-   English fluent; international mindset.
-   Positive energy and collaborative, hands-on approach.
-   Elixir experience.

### What you can expect in return

-   Competitive salary ($4.5k - $6k)
-   Tight team of experienced professionals with a low-friction working style.
-   Flexible / remote working.
-   Exciting category.
-   All the opportunity to grow and succeed with the company.

### About B4C-Markets

B4C Markets provides digital currency brokerage / liquidity for European financial institutions, typically retail banks and trading platforms. The founders have been operating in the digital currency space for over 7 years, prior to which they worked for large consultancies in various international roles. They bring deep experience of the interface between traditional financial institutions, digital currency exchanges and regulators. The company is currently privately-owned and regulated by DNB as a registered cryptocurrency service provider.

———————-

Я работаю в этой компании в качестве разработчика, ищем толкового инженера и просто хорошего человека в команду. Могу ответить на вопросы здесь
Вакансия все еще актуальная ☝️
источник

DR

Dmitry Russ (Aleksan... in pro.elixir
О вчерашней дискуссии про ошибки внутри with: https://ulisses.dev/elixir/2020/02/19/elixir-style-for-maintanability.html

=> Wrap the errors with context
источник

DR

Dmitry Russ (Aleksan... in pro.elixir
# not preferable
def create_oder(user_id, item_id) do
 with {:ok, user} <- User.find(user_id),
      {:ok, item} <- Item.find(item_id) do
        # ...
 else
   {:error, :not_found} ->
     # What's not found, user or item ?
 end
end

# preferable
def create_oder(user_id, item_id) do
 with {:ok, user} <- User.find(user_id),
      {:ok, item} <- Item.find(item_id) do
        # ...
 else
   {:error, {:users, :not_found}} ->
     # ...
   {:error, {:items, :not_found}} ->
     # ...
 end
end

# preferable (specially if you have bang version `create_user!` that raises exception)
def create_oder(user_id, item_id) do
 with {:ok, user} <- User.find(user_id),
      {:ok, item} <- Item.find(item_id) do
        # ...
 else
   {:error, %UserNotFoundError{}} ->
     # ...
   {:error, %ItemNotFoundError{}}} ->
     # ...
 end
end
источник

DR

Dmitry Russ (Aleksan... in pro.elixir
Только с последним пунктом я не согласен - лучше иметь %UserError{kind: :not_found}
источник

DR

Dmitry Russ (Aleksan... in pro.elixir
Ошибок может быть 50 и создавать структуру на все 50 ошибок - это будет не удобно (личное мнение) 😂
источник

D

Dmitry in pro.elixir
Dmitry Russ (Aleksandrov)
Ошибок может быть 50 и создавать структуру на все 50 ошибок - это будет не удобно (личное мнение) 😂
либо оставить необходимый минимум, а остальное через {:error, error}
источник

P

Pavel in pro.elixir
Ну тут же всегда грань, что у тебя есть happy-path, дальше ошибки, на которые ты хочешь “отдельную” реакцию, и ошибки которые (что-то пошло не так)
источник

DR

Dmitry Russ (Aleksan... in pro.elixir
Dmitry
либо оставить необходимый минимум, а остальное через {:error, error}
К примеру Postgrex - он все ошибки обворачивает в Postgrex.Error - на мой взгляд, всегда полезно оборачивать ошибки в контекст по возможности и оставлять свободу внутри ошибки для конкретики. Ну это имхо.
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Я делаю вот так:


with {:user, {:ok, user}} <- {:user, User.find(user_id)}


Некоторые ошибки не возможно завернуть, кроме того так можно запихнуть nil, библиотечные функции и тыды
источник