|
Новости C++ разработки и Пошэчатика.
|
|||
---|---|---|---|
#18+
Топик технофашизма и колянинга. ... |
|||
:
Изменено: 10.04.2023, 20:27 - Федуло Макеев
Нравится:
Не нравится:
|
|||
10.04.2023, 20:26 |
|
Новости C++ разработки и Пошэчатика.
#351178
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
Ссылка на профиль пользователя:
Ссылка на вложение:
|
||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
#18+
Как мы знаем, в пошэчатике и вообще в пошэпроектах есть всякие протоколы вебсокетные и прочие. Ясно, что только ударившийся в детстве башкой об клатбищенскую плиту челик будет гонять по сети JSON там, где хватит байтов и битов. Ну и, соответственно, умные люди придумывают всякие там gRPC, Protocol Buffers и прочую пердь. Естественно всё это - жопа, потому что всегда можно лучше. Соответственно, в пошэпроектах существует специальный язык описания структур, придуманный пошэ и называется тупо "Schema". Вот например на данной картинке мы видим, как описывается структура данных, которую клиент посылает по сети серверу, когда надо отправить сообщеньку. ... |
||||||||||||||||
:
Нравится:
Не нравится:
|
||||||||||||||||
10.04.2023, 20:30 |
|
Новости C++ разработки и Пошэчатика.
|
|||
---|---|---|---|
#18+
Это может показаться избыточным или жопным или требующим ударения автора молотком по глазнице, однако же заметим, что здесь всё предельно тупо и просто. На картинке мы видим 2 структуры - msg_add и msg_edit. В каждой структуре - тупо набор полей с типами. У поля могут быть свойства (например у поля msg_add->message есть (max = 4096). Ещё можно заметить прикол с вопросом - это значит, что данное поле передаётся только тогда, когда в поле flags был установлен бит HAS_REPLY. Биты - это прям натуральные биты, которые определяются на целочисленных типах путём b(). Язык Schema просто нумерует биты от нулевого предложенными словами. Например если где-то поюзать flags.F2, то ясен хрен, система будет смотреть на битик (1 << 2). Ну а по типу поля flags понятно, что битов влезет максимум 16. Зачем всё это нужно? Всё просто - чтобы не заебацца при написании кода. По языку Schema генерируется масса разных исходников - сериализатор в JS, десериализатор в C++ и наоборот, когда надо чё-то послать от сервера в клиент. Всякие свойства полей позволяют вешать на поля ограничения. Например для поля msg_add.message будет автоматически везде проверяться длина. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2023, 20:35 |
|
Новости C++ разработки и Пошэчатика.
|
|||
---|---|---|---|
#18+
Заметим, что Schema не передаёт саму схему. По сети не пойдёт указание на типы данных. Нахера, если все знают, что структура msg_add содержит по-сути три инта и текстовую строку? Первый байт первого поля - он и пойдёт по сети первым без всяких вступительных заголовков. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2023, 20:37 |
|
Новости C++ разработки и Пошэчатика.
|
|||
---|---|---|---|
#18+
Что сцуко характерно - достаточно поменять Schema-описание структур и будут перегенерированы все исходники, отвечающие за передачу-приём-парсинг-сериализацию и не надо 10 раз вставать с дивана, добавляя куда-то новое поле. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2023, 20:39 |
|
Новости C++ разработки и Пошэчатика.
#351191
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
Ссылка на профиль пользователя:
Ссылка на вложение:
|
||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
#18+
Приведём для наглядности пример автосгенерированного JS-исходника отправки структуры msg_add в сеть. ... |
||||||||||||||||
:
Нравится:
Не нравится:
|
||||||||||||||||
10.04.2023, 20:41 |
|
Новости C++ разработки и Пошэчатика.
|
|||
---|---|---|---|
#18+
Ясен хуй, писать такое руками - можно поздаебаться на пятой структуре. А если у меня их 20, то можно и в дурку уехать. А ещё нужно писать код для приёма этих пакетов, для передачи из С++, для приёма в JS и возможно для записи на диск в какой-то филе. Мы не знаем конечно, но выглядит так, что пошэчатик - это круто и серьёзно! ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2023, 20:42 |
|
Новости C++ разработки и Пошэчатика.
|
|||
---|---|---|---|
#18+
Вот некоторые говорят - хуле ты как горбатый базоёб лично руками пишешь чё-то. Код там какой-то. Ты хуй что-ли или чо? Пидор чтоли? Нормальные альфачи продажами занимаются, менеджментом, а код быдло пусть пишет, всякие пузатики-базоёбы недоразвитые, которым в жизни не подфартило, бомжи всякие ебаные. А я вам так скажу - чтобы быть манагером-продажником, надо чтобы было чо продавать. Быдлокодеры тебе стартап не сделают, они умеют только сделаный другими поддерживать. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2023, 22:49 |
|
Новости C++ разработки и Пошэчатика.
|
|||
---|---|---|---|
#18+
А я вам так скажу - чтобы быть манагером-продажником, надо чтобы было чо продавать. Быдлокодеры тебе стартап не сделают, они умеют только сделаный другими поддерживать. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2023, 23:07 |
|
Новости C++ разработки и Пошэчатика.
|
|||
---|---|---|---|
#18+
Тема была перенесена из форума 'Пашэфорум'. ... |
|||
limatran:
Тема была перенесена из форума 'Пашэфорум'.
Нравится:
Не нравится:
|
|||
14.04.2023, 10:42 |
|
|
Start [/forum/topic.php?fid=11&tid=8727&gotonew=1]: |
0ms |
get settings: |
0ms |
get forum list: |
4ms |
check forum access: |
0ms |
check topic access: |
0ms |
track hit: |
37ms |
get topic data: |
4ms |
get first new msg: |
1ms |
get forum data: |
0ms |
get page messages: |
23ms |
update_topic_read_status (8727): 16.04.2023 02:27:02: |
0ms |
get tp. blocked users: |
0ms |
get online users: |
46ms |
check new: |
1ms |
others: | 47ms |
total: | 163ms |
0 / 0 |