@proRuby

Страница 722 из 1594
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
чего блять? какие полки нахуй?
https://rack.github.io/rack-logo.png

чего блять? какие полки нахуй?
вы так не располяйтесь.

давайте не будем нервничать и ругаться.

явно же что это абстракция для 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
ты называетшь мидлваре = пайплайн?
https://stackoverflow.com/a/2257031/8574922

Так далее: 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
> 1) Как работает передача информации из одного звена в другое в данном pipilne? Никак. Это middleware
да ну ты брось. Алекс. Передается там инфа, на этом все и построено.

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

или как там его, env

Dima
12.09.2017
14:06:48
или как там его, env
def call(env) req = build_request env app.call req.env end

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

Alex
12.09.2017
14:08:24
странно что ты этого не знал

я в rack никогда не залезал и то понимал устройство middleware

Nikolay
12.09.2017
14:09:00
а ведь rack middleware - это моноид о_о

только сейчас об этом подумал

Google
Anton
12.09.2017
14:09:24
еще можешь посмотреть как в сайдкике паттерн этот сделан

там мб по проще будет

вообще, тебе надо не rack загуглить а middleware паттерн

Alex
12.09.2017
14:10:33
а ведь rack middleware - это моноид о_о
даже наверное монада

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
either?
это один из типов

видов

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
def call(env) req = build_request env app.call req.env end
вот я смотрю на этот фрагмент кода, и вот что думаю. Поулчается что каждое из звеньев цепочки под номерь i, напрямую зависит от формата env звена i-1. Т.е. Следующее звено должно знать что сделало предыдущее.

Ни какой унфикации нет.

унификация только в ответе

Nikita
12.09.2017
14:15:37
а если более общее?
моноид в категории эндофункторов

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

Nikolay
12.09.2017
14:16:21
монада это че?
проще начать с термина моноид

Dima
12.09.2017
14:16:35
просто мы условились что формат этой штуки такой
дак там формат тольо у ответа оговорен. А env оно разве оговорено?

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
А я такой типа неуч самоуч.
но на самом деле зачастую ты их юзаешь, просто не зная что это оно. например Integer, String - это моноиды

Alex
12.09.2017
14:18:18
но на самом деле зачастую ты их юзаешь, просто не зная что это оно. например Integer, String - это моноиды
я знаю что я юзаю тонну всяких штук которые основаны на математике

и понимаю по своему

но с точки зрения математики я их не понимаю.

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

Anton
12.09.2017
14:22:16
проще начать с термина моноид
с функтора тогда уж, не?

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

Alexander
12.09.2017
14:24:00
а потом тебя спрашивают что такое фунгойд инсектойд
а ты тоже непонятные слова в ответ говори. можешь нести всякую чушь, потому что в нормально месте у тебя не будут функоры спрашивать

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

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

Aleksandr
12.09.2017
14:27:05
но на самом деле зачастую ты их юзаешь, просто не зная что это оно. например Integer, String - это моноиды
ну наверное тогда надо добавить, что моноид - это не просто Integer, а например [Integer, сложение и 0] ?

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

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
он же прост как тряпка.
может быть они прост как тряпка, но внятно сформулировать вы не смогли.

Страница 722 из 1594