@haskellru

Страница 88 из 1551
Anatolii
01.08.2016
18:10:43
ну так в этом же и прелесть

пишешь из чего и что ты хочешь получить

а потом имплементируешь:)

Evgenij
01.08.2016
18:15:29
Вот в либах поочти постоянно вижу пример: module Web.Telegram.API.Bot ( module TAPI ) where import Web.Telegram.API.Bot.API as TAPI import Web.Telegram.API.Bot.Data as TAPI import Web.Telegram.API.Bot.Responses as TAPI import Web.Telegram.API.Bot.Requests as TAPI интересно для чего так делают?

Google
Alexander
01.08.2016
18:15:49
чтобы не писать в exports все что и в imports

и чтобы пользователь импортировал только Web.Telegram.API.Bot

хотя я не фанат такого подхода, например

Alex
01.08.2016
18:16:46
а как лучше?

Alexander
01.08.2016
18:17:24
не знаю

: ]

а ticky профиль только по завершению программы пишется, или буффер как и с eventlog?

Evgenij
02.08.2016
14:16:48
Блин незнаю как BasicAuth побороть(

Ok, modules loaded: ObTelecom, Main. *Main ObTelecom> main Get 1 req Get 2 req *** Exception: StatusCodeException (Status {statusCode = 401, statusMessage = "Unauthorized"}) ..........

Vladimir
02.08.2016
14:21:39
я вот с авторизацией еще не пробовал. Может, на сервере что-то не так?

Evgenij
02.08.2016
14:22:35
Ну я на голанге и джава делал вроде работало

Alex
02.08.2016
14:24:31
Блин незнаю как BasicAuth побороть(
так надо заголовок авторизации послать Authorization: Basic aHR0cHdhdGNoOmY=

последнее это login:pass в base64

Google
Evgenij
02.08.2016
14:26:25
так надо заголовок авторизации послать Authorization: Basic aHR0cHdhdGNoOmY=
Я как понял из доков wreq там логин и пасс простой строкой а внутри шифрует и добавляет в заголовок - http-client смотрел там так и есть

Alex
02.08.2016
14:27:26
а ну тогда воссоздать также надо

Evgenij
02.08.2016
14:28:16
Я сессию взал тк он куки должен на несколько запросы отрабатывать

Сниффером смотрел но https из консоли не увидел - если кто знает сниффер хттпс подкиньте посмотреть

Кстати хотелось бы отметить на например в голанге 2 раза надо запрос делать - 1й тоже херня а 2й уже то что нужно - хз почему(

Vladimir
02.08.2016
14:32:05
А если попробовать посмотреть, что getAuth возвращает?

Evgenij
02.08.2016
14:33:16
А если попробовать посмотреть, что getAuth возвращает?
getAuth возвращает структуу где логин и пасс не шифр - там внутри клента это дело шифруется

В http-client гдетто внутри найду скину ссылку

Вот сниффер https помогбы - но консольный тк на сервере дело

Vladimir
02.08.2016
14:41:40
basicAuth = simpleAuth $ \req -> case (rqParam "user" req, rqParam "pass" req) of (Just [user], Just [passwd]) | not (':' `B.elem` user) -> Just ("Basic " <> B64.encode (user <> ":" <> passwd), [("user", toJSON (B.unpack user))]) _ -> Nothing

можт там Nothing?

Evgenij
02.08.2016
14:43:01
Это ты где нашёл?

Vladimir
02.08.2016
14:43:08
https://github.com/bos/wreq/blob/9222964a66e7ecbf00c22b32fc4611a10b330b87/Network/Wreq.hs

ой пардон

https://github.com/bos/wreq/blob/9222964a66e7ecbf00c22b32fc4611a10b330b87/httpbin/HttpBin/Server.hs

не тот файл

в Server.hs

Evgenij
02.08.2016
14:48:23
Хз надо присмотреться я по этому пытался делать http://www.serpentine.com/wreq/tutorial.html

Vladimir
02.08.2016
14:48:48
Да, я по нему тоже делал, но у меня все без авторизации было

Evgenij
02.08.2016
14:49:10
Authentication & Handling multiple HTTP requests

Google
Evgenij
02.08.2016
14:51:39
Логика понятна 1й запрс - куку получаем потом 2й (это JS внутри) там куку используем и должны ответ получить как кука на аутиф - но ауз еррор хз

Заголовки только что рефер из 1го запроса

Vladimir
02.08.2016
14:52:43
Оффтоп: А это вим же, да? Это такой плагинчик, который лямбды на настоящие лямбды заменяет?)

Anatolii
02.08.2016
14:53:08
Это шрифт вроде

Vladimir
02.08.2016
14:54:08
ага, видел

Evgenij
02.08.2016
14:54:57
Если честно замена спецсимволами немного напрягает тк отступы иногда непонятны)

Если кто не знает https://github.com/begriffs/haskell-vim-now

Vladimir
02.08.2016
14:58:56
Не, мне свою конфигурацию жалко было, я руками ставил что нравится)

Evgenij
02.08.2016
15:00:01
Не, мне свою конфигурацию жалко было, я руками ставил что нравится)
Ну конечно - но я стараюсь не привязываться к чемуто - тк это иногда из + будет давать -(имхо)

Хотя вим на языках типа джава не надо юзать)т А на хаске я думаю эти с многими ненужными опциями иде и ненужны - я вот как седня помню - компилятор прямо сказал что надо чтобы ошибки небыло)))

Vladimir
02.08.2016
15:02:44
-Wall в каждом файле :D

Да я по работе вообще в вижуал студии, а что по хобби - то в виме

Evgenij
02.08.2016
15:03:58
Я вим тк у меня серваки личные голые - надо както без громозкости

Если честно меня утомила эта борьба с ауз)Но блин будем копать - для тех кто хочет по простому делать запросы недавно либа появилась - https://github.com/owainlewis/http-dispatch

Я вот думаю ему послать тему про BasicAuth и про сессии?

Чтоб из кАробки)

Anatolii
02.08.2016
15:27:54
ну так делай PR с фичей новой:)

Evgenij
02.08.2016
15:29:39
ну так делай PR с фичей новой:)
Да думаю но думаю придётся самому мержить )

Google
Evgenij
02.08.2016
15:30:57
Там надо просто пасс и логин шифр и в заголовок пихануть - а вот с сессиями надо куки рефер итп)

Но это сделано в hhtp-client он в зависимостях - тогда ещё просто

Paul
02.08.2016
17:25:20
type String = [Char] Занятно. В c# для представления в виде массива символов надо было проделывать конвертацию. А здесь, как понял, строка и массив символов суть одно и то же.

Anatolii
02.08.2016
17:26:01
И это большая боль в хаскель мире?

Semyon
02.08.2016
17:26:13
Для нормальных строк есть ByteString, какая боль?

Anatolii
02.08.2016
17:26:13
Куча споров в интернетах

А Data.Text еще есть

Admin
ERROR: S client not available

Quet
02.08.2016
17:34:11
ну строки в хаскеле это боль, да

но не фатально

Anatolii
02.08.2016
17:34:23
да

я тоже так считаю

мозги просто включить надо

я думаю для простых веб сервисов

String хватит с головой

Paul
02.08.2016
17:34:54
да? Ну ладно. А Я думал, что такая простота позволяет жить проще))

Semyon
02.08.2016
17:35:19
да? Ну ладно. А Я думал, что такая простота позволяет жить проще))
Ну вот в Си все строки такие, кому легче стало? :)

Anatolii
02.08.2016
17:35:23
а если там прямо хай перфоманс - то уже ByteString

melancholiac
03.08.2016
05:41:28
как хаскель оптимизирует функцию на числа фибоначи ( фиб 1=0,фиб 2=1,фиб н =фиб н-1 + фибн-2)?

аст же дико будет разрастаться на больших числах

Google
Semyon
03.08.2016
05:42:45
эту, скорее всего, никак не оптимизирует

был бы тут tail call, соптимизировал бы

melancholiac
03.08.2016
05:43:09
есть линейный вариант а=0,б=1; а,б =б,а+б

и так свапать с уменьшение счетчика, а на нуле вернуть

просто это не оч функциональное решение вроде

Vladimir
03.08.2016
08:54:04
Вроде оно просто раскрывается в длинное выражение, без дополнительных фреймов в стеке

http://stackoverflow.com/questions/13042353/does-haskell-have-tail-recursive-optimization вот тут я читал про это

правда, не знаю вообще, насколько людям верить и откуда они вообще берут эту инфу )

Мерлин
03.08.2016
09:08:37
Да, Хаскель совершенно точно имеет оптимизацию хвостовой рекурсии, однако как раз пример с факториалом не является хвостовой рекурсией

Anatolii
03.08.2016
09:09:49
В хаскеле очень много всего рекурсивно делается. Но надо делать именно хвостовую рекурсию

Согласен с предыдущим оратором

Aldar
03.08.2016
09:11:01
В хаскеле очень много всего рекурсивно делается. Но надо делать именно хвостовую рекурсию
Я бы сказал что почти все рекурсивно делается, потому что циклов нет вообще

Мерлин
03.08.2016
09:11:53
Вообще если про рекурсию и около этого хочется почитать, идите в SICP

Там уютный лишпик

Denis
03.08.2016
12:32:08
Paul
03.08.2016
13:04:38
А не существует функции Фибоначи, такая что эти целые числа были бы просто частным случаем?

Vladimir
03.08.2016
13:09:41
в библиотеках вряд ли

но для (Num a) она так же выглядеть будет

Страница 88 из 1551