Size: a a a

2020 January 26

AM

Azat Murtazin in pro.elixir
Жиз
источник

S

Stepan in pro.elixir
Źmićer Rubinštejn
Предки нужны чтобы кормить тебя пока ты не выучишь свой первый язык программирования
Первый в универе в основном Паскаль) тогда уж второй)
источник

V

V in pro.elixir
Źmićer Rubinštejn
Предки нужны чтобы кормить тебя пока ты не выучишь свой первый язык программирования
источник

T

Tesla in pro.elixir
V
В ООП которое "инкапсуляция, наследование, полиморфизм" самое забавное - что наследование нарушает (противоречит) инкапсуляцию. Чем глубже наследование - тем выше шанс нарушения инкапсуляции логики в потомках при модификации предков. При этом запрет на модификацию предков означает стагнацию кода. То есть, о том, что модель гнилая, говорится прям в слогане, но замечают это немногие.
Чисто ради интереса:
Имеется стороннее апи кошелька с криптой, в каждом вызове должен указывается логин:пасс ну и адрес к которому отправлять запрос, кошельков с одинаковой структурой апи может быть несколько, но с разными адресами для обращения. Мне кажется хороший подход - создать класс для обращения к апи с указанием в конструкторе адреса для обращения и логина с паролем, так можно будет один раз в коде прописать адрес к которому обращаться и логин с паролем а потом тыкать этот объект. Как это можно реализовать лучше в ФП или без него?
источник

LL

Lama Lover in pro.elixir
Ты социально опасный элемент
источник

PG

Pïg Grëënëst in pro.elixir
Всегда пожалуйста
источник

LL

Lama Lover in pro.elixir
Pïg Grëënëst
Всегда пожалуйста
Спасибо
источник

LL

Lama Lover in pro.elixir
Tesla
Чисто ради интереса:
Имеется стороннее апи кошелька с криптой, в каждом вызове должен указывается логин:пасс ну и адрес к которому отправлять запрос, кошельков с одинаковой структурой апи может быть несколько, но с разными адресами для обращения. Мне кажется хороший подход - создать класс для обращения к апи с указанием в конструкторе адреса для обращения и логина с паролем, так можно будет один раз в коде прописать адрес к которому обращаться и логин с паролем а потом тыкать этот объект. Как это можно реализовать лучше в ФП или без него?
Предложу тебе три решения
Короткое (по скорости написания кода) - Замыкание
В Elixir - gen_server
Быстрое (по скорости работы) - кодогенерация тонкого клиента в рантайме
источник

T

Tesla in pro.elixir
Сложна - можно подробнее про кодогенерацию тонкого клиента и замыкание?
источник

LL

Lama Lover in pro.elixir
Tesla
Сложна - можно подробнее про кодогенерацию тонкого клиента и замыкание?
Ты знаком с синтаксисом elixir ? Если нет, то с каким знаком? Я просто напишу код
источник

T

Tesla in pro.elixir
Из ФП совсем немного знаком с Haskell, а так - C/C++/Lua/PHP/Bash
источник

T

Tesla in pro.elixir
Пару мануалов по Elexir'у читал и сейчас книжечку читаю, так что думаю его синтаксис смогу понять или погуглю
источник

LL

Lama Lover in pro.elixir
Вот замыкание на Lua
function new_adder(number)
   return function(input)
       return input + number
   end
end
источник

LL

Lama Lover in pro.elixir
В твоей задаче
function new_client(address)
   return function(login, password)
       return func(address, login, password)
   end
end
источник

LL

Lama Lover in pro.elixir
Tesla
Пару мануалов по Elexir'у читал и сейчас книжечку читаю, так что думаю его синтаксис смогу понять или погуглю
Так вот кодогенерация клиента
def gen_client(address) do
 quote do
   defmodule Client do
     def call(login, password) do
       do_call(unquote(address), login, password)
     end
   end
 end
 |> Code.compile_quoted()
end
источник

D

Dk in pro.elixir
Я тут как раз дочитал книжку по эликсиру. Насколько плохая идея делать не замыкание, а генерить функции макросами под эту задачу?
источник

D

Dk in pro.elixir
упс
источник

T

Tesla in pro.elixir
Ух-ты, спасибки за материал для размышления
источник

LL

Lama Lover in pro.elixir
Dk
Я тут как раз дочитал книжку по эликсиру. Насколько плохая идея делать не замыкание, а генерить функции макросами под эту задачу?
Макросы исполняются в компайле
Замыкания создаются когда хочешь

Поэтому зависит от ситуации
источник

РП

Рома Пак in pro.elixir
Макросы и в рантайме вызываются
источник