@dlangru

Страница 659 из 719
Stepanos
17.08.2018
11:10:19
если можно будет на D писать сервер со скоросться Java/Spring - я проектьі смогу подганять

https://github.com/GodotNativeTools/godot-d у меня еще на етот проект очень большие надеждьі... ибо есть заказьі и игр...

Google
Toha
17.08.2018
11:32:24
Какая нахуй рефлексия?

Почему такие простейшие вещи делаются через жопу?

Maxim
17.08.2018
11:33:26
чтобы было ближе к источнику роста рук)

Toha
17.08.2018
11:33:32
Какая нахуй кодогенерация?

Ко-ко-ко

Денис
17.08.2018
11:36:05
А почему я в каждом проекте должен копипастить одни и те же хелпер функции?
Зачем копипастить? Есть sort.Slice и sort.Search в стандартной либе

Toha
17.08.2018
11:36:35
А чо сеарч возвращает?

значение и бул?

Денис
17.08.2018
11:36:58
А чо сеарч возвращает?
индекс в слайсе

Toha
17.08.2018
11:38:28
Ок

Денис
17.08.2018
11:41:24
По итогам есть способ найти строку в списке за линейное время, за константное и за линеарифмическое - вот она гибкость го под задачу.

qwerty
17.08.2018
11:47:10
В фукнции инициализации модуля ядра linux ставят доп. атрибут __init. Он поставляется из Linux API. Как я понимаю это макров. Но где я могу прочитать про такое использование макросов? Он как-то модифицирует результат функции или параметры? Как это работает? Можете рассказать или дать ссылку? Сам не могу найти

типа static int __init my_kernel_module() {};

Google
Andrey
17.08.2018
11:50:46
https://stackoverflow.com/questions/8832114/what-does-init-mean-in-the-linux-kernel-code

qwerty
17.08.2018
11:53:04
https://stackoverflow.com/questions/8832114/what-does-init-mean-in-the-linux-kernel-code
да, эта ссылка у меня открыта. Вопрос в том, как это работает? Там ниже есть ответ про то, что разворачивается в `attribute ((section (".init.text"))`. И что компилятор компилирует функцию определенным образом. Мне видно почитать про этот `__attribute__`

Andrey
17.08.2018
11:55:20
хз) не особо сталкивался с таким низким уровнем)

qwerty
17.08.2018
11:55:37
ok

спасибо!

Andrey
17.08.2018
11:55:56
https://gcc.gnu.org/onlinedocs/gcc/Attribute-Syntax.html

Valeriy
17.08.2018
12:08:40
Pavel
17.08.2018
12:15:46
Проблема с D в том, что в одном городе наберётся с пяток программистов
Нет, проблема D в том что среда разработки говно ;)

Профайлера нормального нет, автокомплитера нет, IDE там всякие, асинхронности из коробки нет, GC медленный

Maxim
17.08.2018
12:18:00
а где кроме Го асинхронность из коробки?

Dmitry
17.08.2018
12:18:39
Только в Pony и еще паре редких языков

Денис
17.08.2018
12:19:45
а где кроме Го асинхронность из коробки?
В го нет асинхронности, там конкурентность

Andrey
17.08.2018
12:19:47
ну хз. мне IDE не нужен, раз. асинхронность из коробки - а должна ли она быть на уровне языка? эвентлуп в языке? какой брать - из существующих или свой пилить? да еще кроссплатформенный штоб. такое короче.

про асинхронность - я имел ввиду на уровне стандартной библиотеки.

Maxim
17.08.2018
12:23:56
а конкурентность на уровне операционной системы, потоки, нити вот это вот всё

Денис
17.08.2018
12:43:46
Кстати, имеется ли возможность в D отловить момент смены указателя на стек? Всм я хочу, чтобы при вызове любой не инлайн-функции - предварительно вызывался мой обработчик, а потом уже функция. Никто не знает, как можно что-то подобное сделать?

qwerty
17.08.2018
12:59:30
Прям чтоб RSP мониторить не подскажу, но я бы подобное делал через UDA

Google
qwerty
17.08.2018
13:01:32
могу ссылку на книгу Ali скинуть про UDA

пойдет?

Денис
17.08.2018
13:07:40
Да, давай

qwerty
17.08.2018
13:13:22
Да, давай
http://ddili.org/ders/d.en/uda.html

Денис
17.08.2018
13:14:16
типа декоратора питоновского?
Какбы да, но чтобы не требовало клиента писать аттрибут для каждой функции, а работало вообще на любые вызываемые функции/методы независимо откуда они взялись

Oleg
17.08.2018
13:15:51
можно сделать call!someFunction(with, args), где call будет принимать someFunction как функцию, получать её имя, выполнять действия необходимые, вызывать её и тд

к теме об опыте использования библиотек: kiss, а следовательно и lighttp не работает под arm (как минимум мы пока не завели)

Igor
17.08.2018
13:25:32
или просто неправильно что-то работает?

Oleg
17.08.2018
13:25:55
во первых без патча kiss не компилится, это мы быстро обошли, но потом при запуске из epoll_wait возвращается список событий с пустыми data

Igor
17.08.2018
13:27:06
мда… ((

Oleg
17.08.2018
13:27:08
а data там должна содержать некоторый класс

вот пока не понятно

Igor
17.08.2018
13:28:04
это странно конечно

Oleg
17.08.2018
13:29:50
Google
Pavel
17.08.2018
13:30:19
Ну тогда надо дампить и дебажить

Oleg
17.08.2018
13:30:26
ну вот забили пока

Igor
17.08.2018
13:31:57
у меня всё больше желания сделать полный биндинг для libuv

он вроде и есть, но всё-равно все пилят что-то своё в D

Dmitry
17.08.2018
13:33:37
чем асинхронность от конкуренции отличается? Если на пальцах

Oleg
17.08.2018
13:34:32
бля)

работает

лол

version (ARM) { struct epoll_event { uint events; epoll_data_t data; } } else { align(1) struct epoll_event { align(1): uint events; epoll_data_t data; } }

Admin
ERROR: S client not available

Ned Ogl
17.08.2018
13:35:26
што?

че ты сделал ща?

Dmitry
17.08.2018
13:36:02
qwerty
17.08.2018
13:40:46
libuv типа самый быстрый eventloop на диком западе

не типа, вроде так и есть

Igor
17.08.2018
13:43:27
я как-то пробовал его использовать. есь список вещей которые не понравились. одна из них была связана с тем что таймаут для исходящего tcp соединения я должен был создавать сам, хотя это базовая функциональность. Ок, я сделал таймер, который обрывал соединение если оно не установилось через заданное время. Оно всё стало течь. Автор починил после заведенного ишью, но впечатление осталось

libuv даёт автоматом кучу платформ

конечно завязка на сишную либу это тоже не супергуд

Ievgenii
17.08.2018
13:48:01
libuv типа самый быстрый eventloop на диком западе
Ну не знаю, LibEv тоже не медленный

NullSanya
17.08.2018
13:48:03
Google
Igor
17.08.2018
13:48:45
да, есть и такой вариант

Ievgenii
17.08.2018
13:48:54
Да и LibEvent2 предоставляет с коробки столько функционала, что мама не горюй...

Toha
17.08.2018
13:49:46
А чо

Igor
17.08.2018
13:50:01
самый лучший вариант это написанная на чистом D хорошая либа, но гже найти людей кторые это напишут и будут поддерживать

Toha
17.08.2018
13:50:05
Для визуал студии есть плагин для разработки на ди

Там и автокосплит есть, и дебаггер

Кажется

qwerty
17.08.2018
13:50:23
1.5 года не было обновления в LibEv. Настолько хорош?

http://dist.schmorp.de/libev/

Toha
17.08.2018
13:50:35
А вообще, я в вскоде пешу на го и на ди

Igor
17.08.2018
13:52:27
какая?

qwerty
17.08.2018
13:52:29
ок, если есть всё. Багов-то нет?

Ievgenii
17.08.2018
13:52:35
Вайб, если я верно помню, использует луп, написанный на Ди

Ievgenii
17.08.2018
13:53:58
ок, если есть всё. Багов-то нет?
У меня иногда подвисали соединения, колбеки не дергались. Но это проявлялось одинаково и на ЛибЕвенте2. Даже на готовом Сишном приложении (мною скомпилинном)

Так что не думаю, что это бага либы

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