
Artem
15.03.2018
10:10:45
@majioa шизофрению никто не отменял

ⰿⰰⰾⱏ
15.03.2018
10:13:07

Alex
15.03.2018
13:39:20
вброшу еще сюда, пожалуй
Названы go, jvm-языки, C/C++. Но забыли упомянуть elixir :)

Google


Alex
15.03.2018
13:39:20
эликсир это не конкурент, а синтаксический сахарок
главная проблема эликсира в том, что авторы считают его отдельным языком
и не только авторы
мне не нравится даже сама идея считать его отдельным языком
потому что это формирует неправильный подход
результаты которого мы видим зачастую в эликсировом комьюнити
мне кажется, нужно думать и вести себя так, будто эликсир это эрланг в первую очередь
и нести вот такое мышление в массы безголовых хипстеров, набегающих на запах эликсира в комьюнити
еще бы в головы elixir core team это вдолбить
А мне кажется они всё правильно делают. Если Elixir комьюнити будет считать себя тем же Erlang'ом с сахаром, то развитие языка сильно замедлится.
Erlang хорош в очень узком спектре задач, которые от него никуда не денутся.
Elixir сейчас явно получает вектор развития в зависимости от "набегающих хипстеров". И пусть.
угу, и все останется как есть. у жрланга библиотек и комьюнити нет, в эликсире и то, и то - ruby-like говно
даже не так, "библиотек, комьюнити и кадров"


Aliaksandr
15.03.2018
13:43:17
выглядит так, будто ортодоксальные эрланг старпёры хотят раздать набежавшим хипстерам партбилеты и заставить писать либы для эрланга

Google

Alex
15.03.2018
13:43:57
ну вот старпером меня еще не называли

Dmitry
15.03.2018
13:56:52
Эрланг мертв в хипстерском смысле
А то что мертво в хипстерском смысле сегодня - вообще мертво
Потому что никто не носит программы на дискетах и не учит прогать по книжкам
Потому что все языки в большинстве проектов - клей между базами данных, сторонними сервисами и хипстерскими приложениями на мобилках или в браузере

Evgeny
15.03.2018
14:05:50
А если я не умею одновременно писать на эликсире, попивать смузи, потягивать вейп и катиться на моноколесе, то я эрланг-старпёр?

Dmitry
15.03.2018
14:07:47
Для того чтобы быть хипстером достаточно просто хайпить

Daniel
15.03.2018
14:07:55
какая разница, VM одна

foracall
15.03.2018
14:08:38
Чё там, scala сахар для Явы?

Dmitry
15.03.2018
14:09:06
А на моноколесе я одного только человека в жизни видел - милого бородача в колготках в старом городе Иерусалиме

Evgeny
15.03.2018
14:09:20

Dmitry
15.03.2018
14:09:24
Вот такого примерно

Evgeny
15.03.2018
14:09:58

Dmitry
15.03.2018
14:10:01
Он сказал что то типа סיסו את ירושלים
И уехал в закат

Vitaliy
15.03.2018
14:10:20
на яве

Aliaksandr
15.03.2018
14:10:27

Dmitry
15.03.2018
14:11:01

Aliaksandr
15.03.2018
14:11:38
на элме Just יסו את ירושלים
должен признать, выделить это - это достижение

Google

Dmitry
15.03.2018
14:12:22
Да, сложновато
Букву пропустил)

Evgeny
15.03.2018
14:12:29
?

Aliaksandr
15.03.2018
14:15:24

Daniel
15.03.2018
14:17:27
сахар для байткода jvm)

Максим
15.03.2018
14:27:25
есть проект на фенксе, раньше файлы перекомпилировались сами, в какой-то момент это пропало, теперь приходится перезагружать ноду. Что там могло произойти?

Roman
15.03.2018
14:42:02

Le
15.03.2018
14:49:44
все сахар для бинарного кода
занудству людей нет предела)

Artem
15.03.2018
15:40:11


Dmitry
15.03.2018
15:45:05
Уважаемые знатоки. Есть вполне стандартная функция для апдейта сущности в базе:
def update(%Entity{} = entity, attrs) do
entity
|> Entity.changeset(attrs)
|> Repo.update!
end
В сгенерированных фениксом тестах пары ключ-значение attrs и updated_entity сравниваются по очереди, в несколько ассертов, но я хочу сравнить их всех охапкой и простое сравнивание attrs и updated_entity тут не работает. Есть ли функция которая позволяет проверить наличие ключей-значений одной map в другой? Т.е. что бы можно было так:
test "", %{entity: entity} do
update(entity, @update_attrs)
updated_entity = get_entity!(entity.id)
assert has_key_values?(updated_entity, @update_attrs)
end
вместо того что бы сравнивать по очереди значения ключей updated_entity и attrs (как это сделано в генерированных тестах феникса)
т.е. понятное дело что можно ее реализовать самому, но вдруг она уже есть в стандартной библиотеке или в ex_unit? :)

Alexey
15.03.2018
16:03:36

ⰿⰰⰾⱏ
15.03.2018
20:24:36

Artem
15.03.2018
21:23:33

Azat
16.03.2018
04:38:17
Ассерт паттерн матчинг ест, не только сравнение
Т.е. в правой части твоя проверяемая мапа, а в левой паттерн со всеми необходимыми ключами
@Echoes93 такое подойдёт?

Артем
16.03.2018
05:07:31
(RuntimeError) cannot use Logger, the :logger application is not running
о_О

Google

Никита
16.03.2018
05:21:25
require Logger

Артем
16.03.2018
05:51:04
Ващет это произошло в приложении в котором логи непрерывно пару недель

Dmitry
16.03.2018
06:01:31
в mix.ex extra applications логер указан?
Такое происходит, когда сам логгет падает

Никита
16.03.2018
06:07:54
ну я вот везде, где нужен логгер ставлю require. и все норм

Артем
16.03.2018
06:20:52
а без реквайр он и не заработает вовсе
а так очевидно да, логгер приуныл, прикольно

Dmitry
16.03.2018
06:35:30
а эт, кастомные логи в приложухе или как?

Артем
16.03.2018
06:40:14
ну то, что через логгер пишется в своём коде, да
https://github.com/elixir-lang/elixir/blob/756a7ab84499e3245cb9746073496aeff3f9b36d/lib/logger/lib/logger/app.ex
припал немношк, с кем не бывает

Dmitry
16.03.2018
07:05:31
это да, просто я кастомизировал себе логгер, и когда ошибка происходила при форматировании - он падал

Артем
16.03.2018
07:06:55
а, ну я юзаю такую штучку logger_file_backend - но это первая проблема, которую видел, и не уверен, что есть связь

Никита
16.03.2018
07:37:59
ну require вроде ничо страшного не делает, а лишь указание компилятору, что на момент загрузки модуля то что в реквир должно быть загружено. так что какая тут проблема то

Zwei
16.03.2018
07:55:02
Тоже бывало такое что логер падал, logger_file_backend не использовался

Evgeny
16.03.2018
07:55:11
очевидно, что данная проблема никак не связана с require Logger.

Артем
16.03.2018
09:28:05
https://github.com/devonestes/fast-elixir#retrieving-state-from-ets-tables-vs-gen-servers-code
как-то обсуждали стейт генсервера и ets

Google

Артем
16.03.2018
09:29:41
как-то не верится про 30 раз

Alex
16.03.2018
09:44:26
как-то не верится про 30 раз
на самом деле, все логично. при повышении параллельности разрыв еще прирастет до определенного момента, дальше начнутся локи в ets и будет сложнее.
а вот, например, оттуда Map Lookup vs. Pattern Matching Lookup стоило бы проверить на масштабируемость
на, скажем, миллионе элементов

Dmitry
16.03.2018
09:51:00
@nwalker - У тебя pattern match с миллионом элементов - скорее всего не скомпилируется просто.

Alex
16.03.2018
09:51:26
я ж и говорю - проверить надо

Артем
16.03.2018
10:06:54