@frp_ru

Страница 156 из 420
andretshurotshka?❄️кде
13.09.2017
13:12:38
ждем

? animufag ?
13.09.2017
13:12:46
на самом деле там сильно не хватает констрейнтов на параметры темплейта

и концепты вроде про это

ну если как трейты то тоже норм

Google
andretshurotshka?❄️кде
13.09.2017
13:13:23
illiatshurotshka❄️
13.09.2017
13:13:30
не частая ситуация но бывает же

andretshurotshka?❄️кде
13.09.2017
13:13:32
ну значит мне показалось что это трейты

illiatshurotshka❄️
13.09.2017
13:13:37
нету никакого интереса писать на расте, ты просто постоянно решаешь проблемы с памятью

? animufag ?
13.09.2017
13:13:54
о еее подловил))

illiatshurotshka❄️
13.09.2017
13:14:32
из этих поинтеров все кроме box очень редко встречается

а с box все оч просто

? animufag ?
13.09.2017
13:14:50
хотел заюзать риторику) докопаться до частного случая и орать про него так как будто он является ботлнеком при разработке

illiatshurotshka❄️
13.09.2017
13:16:01
все ради не использования раста?

? animufag ?
13.09.2017
13:20:58
Не, так в чатиках я получаю самооценку

Неподходящее слово но смысл ты понял

illiatshurotshka❄️
13.09.2017
13:21:30
статус?

andretshurotshka?❄️кде
13.09.2017
13:21:45
лолд

Google
? animufag ?
13.09.2017
13:22:58
Не ну всё таки скорее для себя

Удовлетворение, но звучит как-то пошло

Дмитрий
13.09.2017
13:46:29
?

Kelin
13.09.2017
19:04:34
Гайс, а как на жсе в фп стиле лучше кидать эксепшны?

Дмитрий
13.09.2017
19:05:51
Either.Left

Kelin
13.09.2017
19:08:01
а есть в лодаше что-то на эту тему? не хочется лишнего тянуть

Дмитрий
13.09.2017
19:08:09
Лоол

Kelin
13.09.2017
19:08:14
знаю, что там есть attempt + isError

но это вложенность будет

Дмитрий
13.09.2017
19:08:21
Советую удалить лодаш изначально

Kelin
13.09.2017
19:08:29
ну блет, поздно уже

Дмитрий
13.09.2017
19:08:33
Потому что больше он тебе не пригодится, инфа сотка

Ну если такие выборы делать поздно, то монады втаскивать и подавно, не?

Kelin
13.09.2017
19:08:56
в смысле больше?

Дмитрий
13.09.2017
19:12:06
Ну как минимум он будет довольно неудобен

А either left / right работает так const checkNumber = x => typeof x === 'number' ? Right( x ) : Left( new Error('Must be number') ) const checkNegative = x => x < 0 ? Right( x ) : Left( new Error(x + ' must be negative') ) Right(0) // Right [ 0 ] .map( x => x + 1 ) //Right [ 1 ] .chain( checkNumber ) //Right [ 1 ] .chain( checkNegative ) //Left [ Error('1 must be negative') ] .map( x => x - 1 ) //Left [ Error('1 must be negative') ]

То есть, как видно, после того, как Right значение превращается в Left, .map на него больше не действует, что удобно — мы всегда знаем что ничего не сломаем вызовом map с невалидными данными

С рамдой кстати можно эти chained вызовы превратить в point free const pipeline = pipe( map( x => x + 1 ), chain( checkNumber ), chain( checkNegative ), map( x => x - 1 ), )

pipeline( Right(0) ) // => Left( Error('1 must be negative') )

В моей имплементации Either для такого стиля "Error — в Left" есть метод .promise() который закастует Right в resolve, а left в reject, удобно

Google
Дмитрий
13.09.2017
19:19:55
https://github.com/zerobias/apropos

Здесь стандартные типы данных Either и Maybe, на днях бэкпортирую из telegram-mtproto ещё Identity и These, будет полноценная либа для entry-level fp

illiatshurotshka❄️
13.09.2017
19:22:19
а как either в maybe превратить

Дмитрий
13.09.2017
19:22:43
А, и трансформеры ещё докину, да

а как either в maybe превратить
yourEither.fold( Nothing, Just )

Фолд — это метод, принимающий пару функций, которые применяются соответственно к левому и правому значению

Right( 0 ).fold( Nothing, Just ) // => Just( 0 ) Left( 0 ).fold( Nothing, Just ) // => Nothing( )

Kelin
13.09.2017
19:37:11
о, я че-то похожее видел, только наоборот fold(...).right(...).left(...)

Дмитрий
13.09.2017
19:37:32
Это немного другое

Можно делать map по R значению и map по L (по ошибке) — тоже, что оч круто

Вот у тебя наверное пример такого синтаксиса

Kelin
13.09.2017
20:04:59
то есть я правильно понял

Kelin
13.09.2017
20:05:03
что как только будет L

дальше будет прокидываться ошибка

а не вызываться функции

бля, если так, то годно

illiatshurotshka❄️
13.09.2017
20:06:10
а что значит ``prime cofactors''

@ZeroBias

Дмитрий
13.09.2017
20:06:46
Kelin
13.09.2017
20:06:54
сас

Google
Дмитрий
13.09.2017
20:06:57
а что значит ``prime cofactors''
Хз, это откуда?))

illiatshurotshka❄️
13.09.2017
20:07:05
из доки мтпрото

по ауфентикации

гы

Дмитрий
13.09.2017
20:07:15
А где там

illiatshurotshka❄️
13.09.2017
20:07:28
3. Pq = 17ED48941A08F981 decomposed into 2 prime cofactors: p = 494C553B q = 53911073

Kelin
13.09.2017
20:07:32
ну на самом деле, с лодашем много нюансов есть, которые заставляют писать какую-то хуйню и "проще императивно сделать"

в этом я согласен

Admin
ERROR: S client not available

Kelin
13.09.2017
20:07:52
но пока что мне надо добить такой вариант, а потом перепилить

Дмитрий
13.09.2017
20:09:09
3. Pq = 17ED48941A08F981 decomposed into 2 prime cofactors: p = 494C553B q = 53911073
Очередной магический пасс в авторизации Разложение ключа на простые множители

illiatshurotshka❄️
13.09.2017
20:09:38
то есть нужно просто pq в два любых фактора разложить?

Дмитрий
13.09.2017
20:09:51
Ага

Это самая тяжёлая операция для клиента

illiatshurotshka❄️
13.09.2017
20:10:00
а че если выбрать 1 и само число

Дмитрий
13.09.2017
20:10:14
Ну у тебя вместо криптографии будет фига

illiatshurotshka❄️
13.09.2017
20:10:24
и сервер это разрешит?

Дмитрий
13.09.2017
20:10:28
На этом типа защита строится

Нет конечно)

illiatshurotshka❄️
13.09.2017
20:10:33
оо

Google
illiatshurotshka❄️
13.09.2017
20:10:53
то есть там захардкожено не давать клиенту отправлять 1?

Дмитрий
13.09.2017
20:12:00
Могу отметить, что довольно сложно делать сервер мтпрото не сделав ни разу клиент. Я точно представляю в каком месте кода у меня происходит работа с p q pq и что ему предшествует и если не хватает теоретической подготовки, то могу понять всё по практике

Нужная мне часть доки в виде упорядоченного дерева, когда задолбался ползать по офф доке

illiatshurotshka❄️
13.09.2017
20:17:14
лол это что



Дмитрий
13.09.2017
20:18:09
Ниже листай

Abstract — это я там оставил образцы оформления

И это не для телефона, к сожалению, но



Второй раз предлагать не буду))

illiatshurotshka❄️
13.09.2017
20:26:12
бля а почему это там не написано

Дмитрий
13.09.2017
20:26:30
illiatshurotshka❄️
13.09.2017
20:26:57
ну в доке написано пошагово как делать ауфентикацию

но почемуто этого там не написано

Дмитрий
13.09.2017
20:27:57
Я всё брал из офф доки

Просто она даже хуже чем можно себе представить

Kelin
13.09.2017
20:28:40
бля походу придется ооочень долго во все вникать

Страница 156 из 420