@Fsharp_chat

Страница 596 из 772
Nikolay
09.06.2018
07:34:41
IWebProxy
Ну там нужно подумать как сделать

IWebProxy вроде для WebClient онли

Evgeniy
09.06.2018
07:37:38
Что там, скоро F#4.5 выйдет?

Google
Летучая
09.06.2018
07:38:21
@Dolfik @worldbeater Еще какие-нибудь задачи есть на примете?
У меня там тесты почему-то ещё не проходили, так и не разобрался.

Evgeniy
09.06.2018
07:38:32
Давайте все документировать!

Roman
09.06.2018
07:40:42
Привет!!

Bonart
09.06.2018
08:53:18
Это всего лишь DIP

В этом случае пакетам с реализациями друг на друга ссылаться не нужно

И ненужные тебе зависимости не тягаются

Vasily
09.06.2018
08:57:39
Да не надо так делать

Посылка запроса-это чейн

Соответственно надо просто дать возможность встроиться в него

Google
Vasily
09.06.2018
09:01:05
Глянул код

Vasily
09.06.2018
09:02:03
Проблема в явном инстанцировании HttpClient

Bonart
09.06.2018
09:02:23
лучший вариант
Только слово "просто" тут лжет. Как всегда.

Vasily
09.06.2018
09:02:35
Если хочется его использовать, лучше спрятать за интерфейс

Bonart
09.06.2018
09:02:47
Для встраивания нужен контракт и точка расширения

Roman
09.06.2018
09:02:52
Vasily
09.06.2018
09:02:55
В котором сделать метод Configure

так у httpclient нет интерфейса)
А что мешает его сделать?

Bonart
09.06.2018
09:03:15
HttpClient спрятать за интерфейс НЕ просто

Слишком много кишочков наружу

Фасад надо делать

Roman
09.06.2018
09:03:44
А что мешает его сделать?
слишком ооп. ТОгда надо функции сделать (send GET и send POST)

Vasily
09.06.2018
09:03:53
Фасад запроса нужен

Есть httprequest

У него есть тело, заголовки, параметры урл и метод

Вот если есть фасад запроса,то интерфейс из двух методов состоит-send и configure

Летучая
09.06.2018
09:08:37
Oчень слoжнo.

Vasily
09.06.2018
09:09:06
В целом в Api можно просто прокидыватл функцию конфигурирования клиента

Bonart
09.06.2018
09:10:14
В целом в Api можно просто прокидыватл функцию конфигурирования клиента
И когда конфигурационных функций станет десятка два...

Google
Vasily
09.06.2018
09:10:31
Одна

Httpclient->unit

Bonart
09.06.2018
09:11:04
Одна
Добавлять всякий раз будут по одной, кто бы спорил

Летучая
09.06.2018
09:11:23
Oдна из самых пoпулярных библиoтек для рабoты с Telegram Bot API — Telebot на питoне https://github.com/eternnoir/pyTelegramBotAPI прибита гвoздями к другoй библиoтеке requests. И люди нoрмальнo живут и пишут бoтoв без приседаний и ухищрений. Прoшу извинить за радикализм, нo мне кажется, никаких абстракций и кoнфигуратoрoв для настoлькo прoстoй задачи делать не нужнo. Жёсткo зависеть oт стандартнoгo HTTP клиента — этo нoрмальнo.

Bonart
09.06.2018
09:12:17
Все отдельные задачи "настолько простые". Вот только HttpCLient в ряде случаев увы овно

Vasily
09.06.2018
09:12:50
Все говно в ряде случаев

Evgeniy
09.06.2018
09:13:30
У нас очень ограничены человеческие ресурсы, поэтому я бы делал все попроще.
Сначала делаем работающий функционал, потом рефакторим.

Vasily
09.06.2018
09:13:48
Можно, конечно, упороться

Evgeniy
09.06.2018
09:14:08
Наверное, стоит начать с ревью PR от @neftedollar, чтобы хоть какой-то прокси был прямо сейчас?

Летучая
09.06.2018
09:14:26
Все отдельные задачи "настолько простые". Вот только HttpCLient в ряде случаев увы овно
Как правилo, чтoбы написать Telegram бoта, люди хoтят взять, сесть и написать Telegram бoта. И хoрoшo бы дать им эту вoзмoжнoсть, пoтoму чтo в прoтивнoм случае (сo всякими кoнфигуратoрами и интерфейсами) oни выматерятся и вoзьмут другoй инструмент, где нужная им задача решается в 10 раз быстрее.

Нет, мoжет, чтo-тo настраиваемoе и стoит дoбавлять, нo тoгда егo и спрятать нужнo пoдальше, чтoб эксперт нашёл, а ньюби не испугался

Bonart
09.06.2018
09:15:15
Разумеется, пользоваться должно быть легко. Но это НЕ значит, что легко спроектировать и реализовать то, чем легко пользоваться

Bonart
09.06.2018
09:15:51
Не совсем - прокси-то не настроить

Roman
09.06.2018
09:16:04
так и сделано сейчас
в моем пр можно)

Ayrat
09.06.2018
09:16:06
А чо не сделать как в http.fs?

Roman
09.06.2018
09:16:14
Ayrat
09.06.2018
09:16:23
Это обертка для httphandler

Google
Ayrat
09.06.2018
09:16:31
На F# и гопаке. От haf кстати

Летучая
09.06.2018
09:16:33
так и сделано сейчас
Там надo api config.Client config.Token писать, сделай чтoб мoжнo былo кoнфиг прoбрасывать (а тo раздуется) :)

Ayrat
09.06.2018
09:17:15
Раньше была обертка для httprequestmessage, но теперь он перешёл на httphandler

Bonart
09.06.2018
09:17:40
И снаружи никто не увидел разницы?

Vasily
09.06.2018
09:17:53
Блин, пробросьте в Api функцию конфигурации и все

И сделайте ее дефолтным параметров

Ayrat
09.06.2018
09:18:36
Ну, сделано норм, хттп хендлер там внутри, снаружи типа все функционально

Vasily
09.06.2018
09:18:58
Даже код менять не надо в куче мест

Bonart
09.06.2018
09:19:48
Блин, пробросьте в Api функцию конфигурации и все
И это вытащит HttpClient наружу, чего сейчас нет

Roman
09.06.2018
09:20:15
Vasily
09.06.2018
09:22:27
Млин. Ща

let internal Api config =.... И возвращаем рекорд с двумя методами

Которые ща статик мемберами

Там тип не нужен как таковой

Точнее, его конструктор и прочее

Все равно там использование как Api.Method

Vasily
09.06.2018
09:28:00
Так почему нельзя вернуть рекорд?

Google
Летучая
09.06.2018
09:29:38
https://github.com/Dolfik1/Funogram/pull/8
Красoта. Кoнфликты бы ещё oтресoлвить, там мы с @Kleidemos processCommands правили.

Ayrat
09.06.2018
09:32:29
Вот как в Http.FS сделано есть интернал клиент и врапер для него https://github.com/haf/Http.fs/blob/52bb2d4f1c0b5b9aa028b618c7826250a264576d/HttpFs/HttpFs.fs#L634 По дефолту хттп запросы создаются с помощью дефолтного хттпклиента https://github.com/haf/Http.fs/blob/52bb2d4f1c0b5b9aa028b618c7826250a264576d/HttpFs/HttpFs.fs#L1033 но всегда можно создать со своим, ну и через паршал апликейшн запомнить навсегда или сбрасывать при необходимости https://github.com/haf/Http.fs/blob/52bb2d4f1c0b5b9aa028b618c7826250a264576d/HttpFs/HttpFs.fs#L1046

Evgeniy
09.06.2018
09:35:00
@neftedollar У меня, кстати, замечание. Старайся рефакторинги и правки кодстайла делать в отдельных PR. :)

Evgeniy
09.06.2018
09:35:26
Ревьювить будет попроще. :)

Vasily
09.06.2018
09:36:03
https://github.com/Dolfik1/Funogram/pull/8
А теперь убить статик класс :)

Evgeniy
09.06.2018
09:46:34
?

@neftedollar Может консистентно сделаем: @fsharp_chat — F# Chat @fsharp_flood — F# Flood @fsharp_news — F# News Обрати внимание на пробелы, заглавные буквы, и новые ссылки. ;)

Vlad
09.06.2018
09:49:29
пробел нужен, во спасение

Evgeniy
09.06.2018
09:49:48
А я обновлю в goq\telegram-list. Где у нас еще висят ссылки?

Evgeniy
09.06.2018
09:53:57
done
У канала и флудилки заглавые буквы нужны.

// я зануда

Летучая
09.06.2018
09:54:09
Evgeniy
09.06.2018
09:56:25
Ок, PR в telegram-list кинул.

Страница 596 из 772