Size: a a a

2020 April 30

М

Майкл не Джордан... in Rubyata
завтра выходной
источник

KO

Kalys Osmonov in Rubyata
Майкл не Джордан
всем привет, сегодня можно вакансию постить?
источник
2020 May 05

С

СчАсТлИвАя НО НЕ ТВО... in Rubyata
Roman Usherenko
знач так. у массивов в js есть много полезных функций, которые вызываются на самих массивах типа someArray.forEach, someArray.map итд. у строк например тоже так же myStrimg.includes и все такое
у объектов же нотация через точку идентична получению ключа, то есть myObject.something === myObject['something']
поэтому когда возникла необходимость добавить полезных функций в объект, пришлось делать их статическим, например Object.keys(myObject)

это ведёт к тому, что родными методами js очень неудобно чейнить преобразования данных, если в деле участвуют объекты
Object.fromEntries(
 Object.entries(myObject)
   .map(([key, value]) => [key, value.toLowerCase()])
 )
)

это вот аналог obj.transform_values(&:downcase) в руби

но самое ужасное, что если написать в js свой transformValues, вызывать его придется как Object.transformValues(myObj)

можно конечно упороться по FP и использовать функциональные  библиотеки, полностью отказавшись от стандартной библиотеки даже для массивов

compose(
 filter((v) => v > 0),
 map((v) => v + 2),
 [-5, -4, -3, -2, -1,  0]
) // на выходе получаем [1, 2]

и это будет работать одинаково круто для массивов, объектов и всего остального, но это не для всех

а вот если бы изначально не закладывались на то что можно ключи через точку брать - было бы все гораздо проще
Спасибо!!
источник
2020 May 06

KO

Kalys Osmonov in Rubyata
источник

KO

Kalys Osmonov in Rubyata
Баг в ActiveResource
источник

RS

Rustam Sharshenov in Rubyata
кстати, dhh на диванном railsconf признал, что active resource был ошибкой
источник

RS

Rustam Sharshenov in Rubyata
Народ, а поделитесь что вы предпочитаете для реализации общения по http, когда и клиент и сервер надо самим делать?

1. https://jsonapi.org/
2. graphql
3. ActiveResource
4. самописные велосипеды
5. что-то еще?
источник

MS

Mikhail Sytchev in Rubyata
1 и 4
источник

MS

Mikhail Sytchev in Rubyata
2 не зашел
источник

MS

Mikhail Sytchev in Rubyata
тут еще смотря какое общение
источник

MS

Mikhail Sytchev in Rubyata
я вообще сторонник того, что между сервисами чаще всего http как прослойка вообще не нужен
источник

RS

Rustam Sharshenov in Rubyata
Ну иногда без этого сложно
Также с http часто работают неправильно. Отсюда и шум "http плохой"
источник

MS

Mikhail Sytchev in Rubyata
да в том то и дело, что для многих задач http не нужен
источник

MS

Mikhail Sytchev in Rubyata
например между своими сервисами отправить сообщения можно по 0MQ обернув закладку в AVRO
источник

MS

Mikhail Sytchev in Rubyata
да или json тот же
источник

RS

Rustam Sharshenov in Rubyata
ну jsный фронт и бек проще все таки по http 😊
источник

MS

Mikhail Sytchev in Rubyata
если фронт и бек, то это стандарт, да
источник

RS

Rustam Sharshenov in Rubyata
о вот еще пример - elasticsearch
вполне себе норм по http
источник

RS

Rustam Sharshenov in Rubyata
микросервисы - да - их оптимальнее по мышкушке дружить
источник

С

СчАсТлИвАя НО НЕ ТВО... in Rubyata
Rustam Sharshenov
о вот еще пример - elasticsearch
вполне себе норм по http
ES — это _синхронные_ запросы, а http как раз таки протокол для синхронных запросов.

Фишка в том, что если оба сервиса делаешь и контролируешь ты, то синхронность нужна очень редко (гораздо реже, чем достаточно для того, чтобы http рассматривать для протокола по дефолту). Ну а если между сервисами очень много синхронных запросов, то тут уже возникают вопросы а не микросервизм ли это головного мозга
источник