
Alex
12.09.2017
13:54:46
а блэкбокс не интересен

Dima
12.09.2017
13:55:04
вобщем интересно как Rack производит стелажироание, и как на нем решается этот самый pipline

Alexander
12.09.2017
13:55:15
чего блять? какие полки нахуй?

Alex
12.09.2017
13:55:42

Google

Dima
12.09.2017
13:55:51
давайте не будем нервничать и ругаться.
явно же что это абстракция для pipline

Alex
12.09.2017
13:56:33
я не буду раскладывать по полочкам как он работает полочками.
а я думал абстракция для хттп

Alexander
12.09.2017
13:57:25
сслыки же выше были. поверх rack написаны рельсы, чтобы с нуля работу с хттп не писать

Anton
12.09.2017
13:57:44
вот статья, где чувак просто с нуля пишет свой рэк
https://ksylvest.com/posts/2016-10-04/building-a-rack-web-server-in-ruby
ну и пример кода, для поковырять
https://github.com/tak1n/reifier
я к тому, что уже давно все разжевали, просто надо найти и понять ?

Dima
12.09.2017
14:00:24

Anton
12.09.2017
14:00:39
ну, тогда надо по другому ставить вопрос же, не? ?

Dima
12.09.2017
14:00:52

Google

Fedor
12.09.2017
14:01:14
Меня зовут Федор, и я использую rack, давайте поговорим об этом

Alexander
12.09.2017
14:01:48

Dima
12.09.2017
14:01:52
Сейчас частности. Есть сущность интерфейс rack. Он реализует pipline т.е. цепь неких вычислений где результат одного переходит в другой. На нем построен rails и синатра.
Это ясно.

Alexander
12.09.2017
14:02:14
ты называетшь мидлваре = пайплайн?

Dima
12.09.2017
14:02:49
Так далее:
1) Как работает передача информации из одного звена в другое в данном pipilne?
2) что модифицируется в звеньях pipline, если выхлоп это всего массив из 2х строк и одного хеша? неужели каждый раз распарсиватается ответ в html
3) какая информация изначально идет на pipline?
вот 3 вопроса котоыре меня смущают.

Alex
12.09.2017
14:05:29
> 1) Как работает передача информации из одного звена в другое в данном pipilne?
Никак. Это middleware

Dima
12.09.2017
14:06:06

Alex
12.09.2017
14:06:27
> 3) какая информация изначально идет на pipline?
Такая же какая и на каждый конкретный элемент. Полагаю что request
или как там его, env

Dima
12.09.2017
14:06:48
Т.е. получается env кочует от одного звена к другому, а общей ответ данной цепи, это ответ крайнего звена. Самого глубокого в цепочке вызовов. И все модификации просходят с объектом env.

Alex
12.09.2017
14:08:24
странно что ты этого не знал
я в rack никогда не залезал и то понимал устройство middleware

Dima
12.09.2017
14:08:53

Anton
12.09.2017
14:08:57

Nikolay
12.09.2017
14:09:00
а ведь rack middleware - это моноид о_о
только сейчас об этом подумал

Google

Anton
12.09.2017
14:09:24
еще можешь посмотреть как в сайдкике паттерн этот сделан
там мб по проще будет
вообще, тебе надо не rack загуглить а middleware паттерн

Dima
12.09.2017
14:10:25

Alex
12.09.2017
14:10:33

Alex
12.09.2017
14:10:44

Nikolay
12.09.2017
14:11:26

Alex
12.09.2017
14:12:00
монада это че?
either?

Anton
12.09.2017
14:12:21
видов

Alex
12.09.2017
14:12:35

Anton
12.09.2017
14:14:16
а если более общее?
ох, я не отвечу прямо сам потому что сложно и я прямо глобально понимаю это все не на том уровне, что бы объяснять
но вики вроде норм в этом плане
https://en.wikipedia.org/wiki/Monad_(functional_programming)

Dima
12.09.2017
14:14:47
Ни какой унфикации нет.
унификация только в ответе

Nikita
12.09.2017
14:15:37

Alex
12.09.2017
14:15:45

Google

Alex
12.09.2017
14:15:53
просто мы условились что формат этой штуки такой

Nikolay
12.09.2017
14:16:21

Dima
12.09.2017
14:16:35

Alex
12.09.2017
14:16:44
а вообще печаль, чем дольше сижу в погромировании, тем чаще сталкиваюсь с объяснениями которые требуют знаний математики
А я такой типа неуч самоуч.

Nikolay
12.09.2017
14:17:10
это же здоворо, наоборот)

Admin
ERROR: S client not available

Dima
12.09.2017
14:17:10
To use Rack, provide an "app": an object that responds to the call method, taking the environment hash as a parameter, and returning an Array with three elements:
The HTTP response code
A Hash of headers
The response body, which must respond to each

Alexander
12.09.2017
14:17:14

Nikolay
12.09.2017
14:17:58

Alex
12.09.2017
14:18:18
и понимаю по своему
но с точки зрения математики я их не понимаю.

Nikolay
12.09.2017
14:20:58
плохого в этом точно ничего нет...
ибо это как со стандартным собеседованием - тебя гоняют по ddd, solid етк, потом приходишь на проект, а там ебаный рейлс way с классами в 1000 строк

Dima
12.09.2017
14:21:12

Anton
12.09.2017
14:22:16

Alex
12.09.2017
14:22:25
а ты его юзаешь каждый день но названия не знаешь

Google

Nikolay
12.09.2017
14:23:05
имхо, тут имеется ввиду, что ты можешь завершить цепочку в любой момент, и она будет самодостаточна с нормальным response

Alexander
12.09.2017
14:24:00

Alex
12.09.2017
14:24:18
так я вообще как то привык в небольшие компании/стартапы устраиваться

Dima
12.09.2017
14:24:20

Alex
12.09.2017
14:24:22
там атмосфера интересная

Nikolay
12.09.2017
14:24:43

Alex
12.09.2017
14:26:49

Aleksandr
12.09.2017
14:27:05

Dima
12.09.2017
14:28:39
Интересное видео, только денег просит за полную версию: https://thoughtbot.com/upcase/videos/rack

Shizoid
12.09.2017
14:28:39

Dima
12.09.2017
14:28:52

Nikolay
12.09.2017
14:30:29

Alex
12.09.2017
14:31:59
?

Dima
12.09.2017
14:36:53

Alex
12.09.2017
14:39:21
> мало где описанный
Возможно потому что лезть в rack надо чуть меньше чем никогда
он же прост как тряпка.

Dima
12.09.2017
14:39:28
@davydovanton спасибо, https://thoughtbot.com/upcase/videos/rack - отличная статья.

Shizoid
12.09.2017
14:39:28

Dima
12.09.2017
14:39:57