@dlangru

Страница 687 из 719
Igor
14.09.2018
11:57:55
то есть receive пусть будет под твоим контролем

Toha
14.09.2018
12:02:57
Если я правильно понял, то схема такая: принять жсон -> заслать в тред -> тред слушатель принимает жсон -> передает прослойке десериализатору -> передает структуру в плагин?

Igor
14.09.2018
12:04:52
да

Pavel
14.09.2018
12:05:09
чот мне не нравится такое

Google
Pavel
14.09.2018
12:05:39
принять json -> десериализация -> передавать структуру в плагины вот так нравится =)

Ну то есть щас это уже будет объект а не структура

Toha
14.09.2018
12:06:28
Да норм

А я не умею объекты по тредам гонять

Igor
14.09.2018
12:06:46
подозреваю что c классом либо ты завязнешь в shared либо откажешься от send/receive

Pavel
14.09.2018
12:06:49
И можно будет творить с ним runtime извращения, проверять интерфейс, передавать ссылку без лишнего синтаксического мусора в виде звездочек ))

Toha
14.09.2018
12:06:53
Структуры только получалось

Я бы на структурах делал бы

Но я дилетант)

Igor
14.09.2018
12:07:26
структура это норм

Pavel
14.09.2018
12:07:30
подозреваю что c классом либо ты завязнешь в shared либо откажешься от send/receive
Посмотрим, надеюсь что решаемо и мне получится еще продвинуться на миллиметр вперед

Igor
14.09.2018
12:07:47
надеюсь!

Toha
14.09.2018
12:07:48
с классом горя хапнешь)

Google
Toha
14.09.2018
12:07:56
Я уже хапнул однажды)

Pavel
14.09.2018
12:09:03
Я хапнул горя когда решил писать на D, меня уже не испугать ))

Toha
14.09.2018
12:09:21
Я где то читал что структуры более легковесны, и они предпочтительнее

Pavel
14.09.2018
12:09:53
Да в итоге от них больше проблем чем пользы

Toha
14.09.2018
12:09:56
Про предпочтительнее - это мое воображение дорисовало)

Pavel
14.09.2018
12:11:06
Они хороши когда надо какое-нибудь комплексное число сделать struct Im { float real; float imagine; } а для чего то более сложного с бизнес логикой уже проигрывают

Toha
14.09.2018
12:11:43
Ну мне кажется, данные между тредами гонять - само то

Pavel
14.09.2018
12:11:51
Даже в vibe-core людвиг сделал TCPConnection в виде структуры, а потом туда насовал костылей по подсчету ссылок на эту структуру при копировании чтобы правильно закрывать соединение

Toha
14.09.2018
12:12:06
А с классами там какие то касты нужны. Не помню. Там грабли какие то были

Pavel
14.09.2018
12:12:52
Ну касты нужны да, это как-раз из-за наследования. Но это фича а не баг.

Toha
14.09.2018
12:14:56
Я ее не понял крч) для меня это вообще магия :)

Igor
14.09.2018
12:15:09
структуры не хорошие и не плохие. просто у них семантика значения. а между тредами оптимальнее передавать значения что-бы измежать танцев с мутксами и прочим

Pavel
14.09.2018
12:16:00
Но если shared immutable class то чо такого )

Igor
14.09.2018
12:16:11
ага, ну удачи )

если у тебя класс shared immutable то всё что внутри него тоже должно быть таким

Ievgenii
14.09.2018
18:16:17
таненбаум "современные операционные системы"
Купил, завтра приедет. Почитаем :)

Я подозреваю что оттуда просто импортируются символы и функции
А я хочу, чтобы каждая либа (*.so) была автономная единица. Одна - веб сервер, другая шаблонизатор, третья почтовик..

Может кому-то будет интересно. https://putchar.org/@happycoder/how-llvm-optimizes-a-function

Google
Ievgenii
17.09.2018
04:35:06
Oberon os
Ну я же не ОС хочу сделать)

Просто решение, которое легко можно расширять, без переписывания имеющегося

Denis
17.09.2018
04:58:24
Ievgenii
17.09.2018
05:12:01
Stepanos
17.09.2018
06:43:39
круто вам, куча времени на такие експерементьі :)

Ned Ogl
17.09.2018
06:45:31
Или то же от AMD

У AMD получше про режимы работы, а у интела - про виртуальную память и все ее уровни

qwerty
17.09.2018
07:43:21
Я короче почитал небольшую статью для понимая и пошел дальше. Буду иметь ввиду, спасибо!

Stepanos
17.09.2018
08:52:29
> У нас курс поднялся и по текущему курсу за 12 баксов мы синьора можем нанять в штат. Что там у вас в рашке творится? :)

у нас iOS синиор минимум 25 баксов стоит

Ievgenii
17.09.2018
15:38:49
В час?

Не нужно лукавить

Не "минимум"

А нормально

Есть где и 2500 платят...

Фигел со знакомого

Но прям минимум....

Скажем так, у меня в договоре тоже написанна такая сумма за час, что огогого

Google
Ievgenii
17.09.2018
15:44:16
Но это сделано только для того, чтобы безболезненно можно было пересмотреть оклад, без подписания нового договора.

Stepanos
17.09.2018
15:50:09
ну я по 25 работаю

Pavel
17.09.2018
15:51:21
Давайте лучше указывать месячный/годовой доход на руки ) а то ставка в час слишком много подводных камней содержит

Stepanos
17.09.2018
15:51:36
каких?

Pavel
17.09.2018
15:52:09
Сколько часов отрабатываешь, сколько налогов платишь, сколько из этих денег лично тебе

Потому что так не бывает что в одном месте 12 а в другом 25 - иначе очень скоро рынок сбалансируется и все будут получать ровненькие 16-17 баксов.

Stepanos
17.09.2018
15:52:53
ну у меня ставка, почасовку то я уже носчитал деля на 160

налоги 5% и их не я платю

Admin
ERROR: S client not available

Pavel
17.09.2018
15:54:32
Значит за 12 это не синьоры. Или они не умеют работать заграницу )

Stepanos
17.09.2018
15:54:42
вот и я так думаю

но клиент все равно отпал) теперь искать нового вот

Pavel
17.09.2018
15:56:23
Так это и есть балансировка рынка получается. Вы так за 25 не найдете заказчиков теперь

Stepanos
17.09.2018
16:11:27
я на США работаю, на 12 мьі джуников тренировали :(

Pavel
17.09.2018
16:15:35
Теперь я тоже работаю ) А до 2014 года было невыгодно

Stepanos
17.09.2018
16:22:35
ну мировая економика растет, думаю будет все ок

qwerty
17.09.2018
16:44:01
работал за 12 сеньором на США(

где-то я не там свернул

Pavel
17.09.2018
16:44:51
Работал? А сейчас продолжаешь работать?

qwerty
17.09.2018
16:45:39
да за те же только в рф

Google
Pavel
17.09.2018
16:56:33
Тут кто-нть не работает на США?)

qwerty
17.09.2018
16:57:16
ну вот, я

Pavel
17.09.2018
18:51:55
Кажется сегодня я узнал что-то важное

Чего не мог понять много времени.

https://run.dlang.io/is/yejbw7 оказывается, если приписать к названию класса слово immutable, то это не означает что все создаваемые его инстансы автоматически будут immutable. Ну и дела.

Igor
17.09.2018
19:03:47
я вот не очень понимаю что это значит immutable class

и не вижу в спецификации языка ничего на эту тему

Pavel
17.09.2018
19:05:17
https://stackoverflow.com/questions/27337615/immutable-only-class-in-d вот тут хорошо объяснено

То есть даже если ты сделал immutable class то все равно при создании инстанса надо указывать immutable, иначе это будет не окончательная иммутабельность

immutable class My { this(){} } auto m = new immutable My(); А вот это уже пример абсолютно намертво прибитого иммутабельного объекта, который можно безопасно засылать во все треды, по идее.

Dark
17.09.2018
19:08:43
А если this пометить immutable?

Pavel
17.09.2018
19:09:14
он уже сразу берет на себя immutable от декларации класса

то есть immutable перед названием класса распространяется на все его внутренние свойства и методы. Но это не значит что переменная объекта класса будет иммутабельна.

Igor
17.09.2018
19:11:26
понятно

и это работает с send/receive ?

Pavel
17.09.2018
19:13:21
Не знаю, щас вернусь с этими новыми знаниями к доработке бота

https://run.dlang.io/is/8eWesH гыгы, нифига не работает :) Хоть ты тресни, ничего иммутабельного послать через send не получится

https://run.dlang.io/is/4ohCVb вот в итоге самый приемлемый вариант. Взять и сделать алиас c shared к классу, тогда нигде не надо указывать дополнительных модификаторов у переменных. Кто-то тут такой способ уже предлагал. Но какой-же он кривой блин.

Igor
17.09.2018
19:25:13
так он-то рабочий, только с shared много засад

пока у тебя внутри строка всё ок

Страница 687 из 719