
andretshurotshka?❄️кде
28.04.2017
16:52:48
если бы)

? ethorz
28.04.2017
16:54:01
todo лист ?
уже сделан)

Google

Monday Begins on Saturday
28.04.2017
16:54:03
Для golang'а сейчас пишу либу(на самом деле форк другой либы) по 65-й версии протокола. Большую часть инфы подчерпнул именно из чужих клиентов и других библиотек.
Паше видимо просто в лом документацией заниматься.
Ну хотябы основная суть API - комуникация с сервером не изменилась.

Ilnur
28.04.2017
16:56:29

Monday Begins on Saturday
28.04.2017
16:57:42
С - стабильность
Зато какой потрясающий квест. Я за месяц успел полазить в PHP, C#, C++, nodejs клиентах и даже в ObjectiveC.
Пока разберешься что как работает кучу всего перекопаешь.

Ilnur
28.04.2017
16:59:08
ну можно смело писать в резюме "Fluent php, c#, c++ и вот это все"

Monday Begins on Saturday
28.04.2017
16:59:19
?

Abu
28.04.2017
16:59:24
в голос

Ilnur
28.04.2017
16:59:31
а зачем своя либа понадобилась?)

andretshurotshka?❄️кде
28.04.2017
16:59:51
других нет(

Дмитрий
28.04.2017
16:59:56
Есть
Но я не могу об этом говорить

Google

Дмитрий
28.04.2017
17:00:14
До сих пор глаз дёргается((

andretshurotshka?❄️кде
28.04.2017
17:00:38

Monday Begins on Saturday
28.04.2017
17:01:40
а зачем своя либа понадобилась?)
Ну на Go была только одна нормальная, но она не поддерживала каналы и мегагруппы.
А я только Go месяц назад начал учить и ради fun'а решил её форкнуть и запилить всё по-нормальному.
Не уверен, что получилось.
Короче это была моя попытка в Golang разобраться.
Итог: https://github.com/shelomentsevd/mtproto

Дмитрий
28.04.2017
17:03:43
Пока разберешься что как работает кучу всего перекопаешь.
Я изучил оптимизацию в V8, нестандартную криптографию, бинарные протоколы, воркеры, TypedArrays, asm.js и жутко упоротый функциональный язык от братана дурова, матемматика, который посчитал, что описывать api на самоделе с dependent types — это хорошая идея

Monday Begins on Saturday
28.04.2017
17:04:00
На самом деле просто в телеграмме не хватает спам-ботов которые будут читать переписку в каналах и стучаться тебе в личку с абсурдными объявлениями по увилечению всего и вся?

andretshurotshka?❄️кде
28.04.2017
17:04:42
только они в чаты ходят

Дмитрий
28.04.2017
17:05:03

Monday Begins on Saturday
28.04.2017
17:05:24
Хотя протокол вроде уже разобран

andretshurotshka?❄️кде
28.04.2017
17:06:23

Monday Begins on Saturday
28.04.2017
17:07:21

andretshurotshka?❄️кде
28.04.2017
17:13:55

Monday Begins on Saturday
28.04.2017
17:15:15

Дмитрий
28.04.2017
17:15:21
Сериализацию с dependent types на языке без дженериков)

andretshurotshka?❄️кде
28.04.2017
17:17:37

Mike
28.04.2017
17:18:03

Дмитрий
28.04.2017
17:18:34
Кастанёшь зависимые типы через interface{}?)

Google

Mike
28.04.2017
17:20:11
type Serializer interface {
Serialize() string
}
и просто для своих типов переопределяешь Serialize() и потом пишешь в своей либе сериализации что она на вход Serializer принимает. конец

Дмитрий
28.04.2017
17:20:30
Погоди, это типы
Они объединяются в тайп классы
Всё это создаётся каррированными конструкторами типов
Перегруженными, разумеется

Mike
28.04.2017
17:21:29
ну так, ты потом делаешь типа
type MyType struct {...}
func (m *MyType) Serialize() string {...}
и все, его уже спокойно сериализовать можно чем хочешь
или я тебя не понимаю
ну то есть
я бы понял, если бы ты сказал, что dependent types без генериков охуеешь делать

Дмитрий
28.04.2017
17:22:56
А над всем этим уже находятся зависимые типы, которые декларируют, что отношение между этими сущностями — тоже отдельный тип

Mike
28.04.2017
17:22:58
но если ты их уже сделал, то сериализовать их не проблема

Дмитрий
28.04.2017
17:23:04

Дмитрий
28.04.2017
17:23:21
Ты офигеешь делать их и с ними

Monday Begins on Saturday
28.04.2017
17:23:22
Кастанёшь зависимые типы через interface{}?)
https://github.com/shelomentsevd/mtproto/blob/master/types.go#L5 - интерфейс
https://github.com/shelomentsevd/mtproto/blob/master/api.go#L274 - пример сериализации
https://github.com/shelomentsevd/mtproto/blob/master/api.go#L20831 - пример десериализации
файл api.go генерируется скриптом на python: https://github.com/shelomentsevd/tl2go

Mike
28.04.2017
17:23:31
)))
ну короч тут я согласен

Monday Begins on Saturday
28.04.2017
17:23:44
всё работает, но есть заебы кое-какие

Mike
28.04.2017
17:23:45
я про сериализацию несогласен был

Monday Begins on Saturday
28.04.2017
17:25:33
всё работает, но есть заебы кое-какие
С выходом новой версии API все заново генерировать. Я сейчас думаю, что лучше отказаться от идеи описания всего API, оставить структуры и минимальную документацию как этим пользоваться и всё.

andretshurotshka?❄️кде
28.04.2017
17:28:58

Google

Дмитрий
28.04.2017
17:30:39

Monday Begins on Saturday
28.04.2017
17:32:02
описание всего API всмысле документация?
Не.
https://github.com/shelomentsevd/mtproto/blob/master/mtproto.go#L356 - вот типичный вызов метода для API телеграмма который я уже сделал.
По сути они все одинаковые, ты просто передаешь в канал m.packetToSend определенную структуру с параметрами и на выходе получаешь другую структуру.
Вот думаю просто показать в README как это делать а методы типа выше удалить оттуда.
Иначе просто замучаешься всё это делать. Там например от версии к версии ещё порядок полей может измениться или их кол-во и придется всё переписывать заново, т.к. (де)сериализация зависит от порядка и их кол-ва.

Mike
28.04.2017
17:35:09
короч пора в чатик про го идти реакт обсуждать

andretshurotshka?❄️кде
28.04.2017
17:35:22

Monday Begins on Saturday
28.04.2017
17:36:09

Дмитрий
28.04.2017
17:36:33

Monday Begins on Saturday
28.04.2017
17:37:17

Admin
ERROR: S client not available

Дмитрий
28.04.2017
17:37:33
Затем чтобы юзер не парился, в каком порядке там поля в схеме)
Модуль сам расставит как надо, да ещё и пропущенные аргументы заполнит

Vlad
28.04.2017
17:38:37
Это я в час Go lang попал? ))

Monday Begins on Saturday
28.04.2017
17:38:45
Сорян за Golang. Я просто увидел что тут тему telegram api обсуждают

Mike
28.04.2017
17:39:32

andretshurotshka?❄️кде
28.04.2017
17:40:16
Будем Idris с TL обсуждать тогда ? @ZeroBias

Mike
28.04.2017
17:40:43
можно еще шлюх тамбовских, но кажется, это уже совсем оффтопик
с другой стороны что угодно лучше, чем очереное jss vs styled components

Artur
28.04.2017
17:42:41

Mike
28.04.2017
17:42:57
а, да, было тут что-то такое

Google

Mike
28.04.2017
17:42:58
точно

Дмитрий
28.04.2017
17:43:14
jss-components vs styled-styled

andretshurotshka?❄️кде
28.04.2017
17:43:46
prejss-components vs styled-prejss

Mike
28.04.2017
17:43:58
jss vs components

Котяй Негодяй
28.04.2017
17:49:59
Чё я снова пропустил?

Mike
28.04.2017
17:50:45
кто-то написал либку, чтобы jss как styled components писать
и кинул сюда репку

Котяй Негодяй
28.04.2017
17:51:05
Но зачем?

Mike
28.04.2017
17:51:19
вопросы к сове и ко
мб они еще объяснят зачем jss вообще нужен
но пока у них ниоч выходит

Котяй Негодяй
28.04.2017
17:51:51
Они настолько по-разному работают, чтобы это имело смысл?

Mike
28.04.2017
17:52:04
смысл насколько я понял в инкапсуляции
но мб нет

Котяй Негодяй
28.04.2017
17:52:13

Mike
28.04.2017
17:52:35
всем привет)
зарелизили styled-jss - интерфейс styled-components, скорость и фичи jss))
буду рад фидбэку))
https://github.com/cssinjs/styled-jss
на втыкай

Котяй Негодяй
28.04.2017
17:52:43
Вот был бы автокомплит для JSS.

Mike
28.04.2017
17:53:53
никто тебе не мешает плагин свой для VSCode и идеи написать с автокомплитом =))

Котяй Негодяй
28.04.2017
17:54:12
Мешает.