
Pavel
02.04.2017
11:11:09
Все так
Под винду я даже не пробовал собирать и неизвестно буду ли
Ну не в ближайшее время точно
Изучение D оказалось настолько увлекательным что я вчера весь день просидел зарывшись в мануалы и гугл и рефакторил код ;) и еще куча идей осталась

Google

Pavel
02.04.2017
11:13:54
Ну не в ближайшее время точно
Да на самом деле буду конечно, я хочу нормально реализовать все пунткы из протокола, udp, bind соединения и все остальное
Спасибо за фидбек, буду дорабатывать
Насчет тестов, я тоже думал, и впринципе не вижу ничего плохого чтобы их гонять на реальных curl запросах. С БД же так поступают.
Насчет потоков - тут я еще не понял насколько они тяжеловесны. Вчера я гонял в браузере, и судя по логам у меня там проксировались десятки соединений в секунду, вроде не тормозило

Shorty(Ale Chapa) Manskiy
02.04.2017
11:17:24
> не вижу ничего плохого
А я вижу - эта какая-то хуета, а не тесты модулей.

Pavel
02.04.2017
11:18:16
Это не хуета, а нормальная практика. Так делают в больших и маленьких проектах.
Ну или вырази в метриках эффективности свой "эпитет" ;)
https://github.com/QAston/DMocks-revived/blob/master/examples/basic/source/app.d хех есть вот такая штука, похоже сгодится. Замокать сокет.

Shorty(Ale Chapa) Manskiy
02.04.2017
11:29:13
> Ну и главное - я даже не представляю как ты будешь писать тесты, ведь прийдется использовать настоящие соединения...
Но может я и ошибаюсь, и там все нормально будет с тестами, и сеть не прийдется шевелить.
Ведь Сокет, вроде как класс, и его можно подменить.

Pavel
02.04.2017
11:31:02
Впринципе да, ведь я только использую send и receive, они легко мокаются

Maxim
02.04.2017
11:32:49
создавать по потоку на соединение — очень плохая мысль)
я бы посмотрел в сторону какой-нибудь библиотеки с event loop, есть написанная полностью на D: https://code.dlang.org/packages/libasync

Shorty(Ale Chapa) Manskiy
02.04.2017
11:34:02
Ты не думай, что я пошел ревьювить твой код, больше я ничего не смотрел, и не охото как-то, потому-что не умею TCP\IP, даже http ниразу не видел.

Google

Pavel
02.04.2017
11:38:13
Вы все так говорите, как будто 40 секунд поревьюить чужой код это прям зашквар какой-то ;)

Shorty(Ale Chapa) Manskiy
02.04.2017
11:38:43
иди нахуй...

Pavel
02.04.2017
11:38:45
иди нахуй...
Ты какой то неадекват походу. То говоришь дельные советы а то у тебя приступ хейтерства. Что с тобой?

Maxim
02.04.2017
11:39:50
fibers — это не потоки, а легковесные нити, реализация кооперативной многозадачности в D
собственно, их и нужно юзать, наверное)

Shorty(Ale Chapa) Manskiy
02.04.2017
11:40:50

Pavel
02.04.2017
11:42:42
Ну вообще это не к вебу относится, это уровень ниже - сетевое программирование.

Shorty(Ale Chapa) Manskiy
02.04.2017
11:43:15
иди нахуй...

Pavel
02.04.2017
11:44:38
Прости но я думаю что тебя надо забанить за агрессивное поведение и оскорбление участников, ведь я с тобой конструктивно общаюсь а ты грубишь.

Shorty(Ale Chapa) Manskiy
02.04.2017
11:44:54
ежа ебал?

Maxim
02.04.2017
11:46:21

Shorty(Ale Chapa) Manskiy
02.04.2017
11:47:11
> самоутвердиться
ага, это то чего мне не хватает.

Ned Ogl
02.04.2017
16:22:48
Кто тут админ?
Пусть мне в личку напишет

Pavel
02.04.2017
16:54:01
Кто-нибудь знает причины не использовать toml в качестве формата для конфиг файлов?

zk
02.04.2017
16:54:40
причина конечно же есть - sdlang

Pavel
02.04.2017
16:59:26
Можно попробовать, хотя мне он кажется более бардачным чем toml

Max
02.04.2017
17:01:10
Если это просто конфиги — то toml, как наследник ini, лучший вариант

Google

Dmitry
02.04.2017
17:05:49
посмотрел toml — очень приятный

zk
02.04.2017
17:08:09
sdlang не делали под впечатлением от ini, там много чего смотрели и решали как лучше

Pavel
02.04.2017
17:08:47
Но впринципе ничто не мешает сделать поддержку двух форматов сразу.

zk
02.04.2017
17:09:52
а тебе зачем?

Pavel
02.04.2017
17:13:22
Конфижить разные случаи для проксирования. Например секция1, такая то маска адресов, логин с паролем, пропускная способность не более 1мбит/с
секция2 - другие настройки

zk
02.04.2017
17:14:45
зачем поддерживать пачку конфигов, бери один

Pavel
02.04.2017
17:16:29
Ну так все ради пользователя
Хотя может это и неудобно будет, когда конфиги разных форматов

zk
02.04.2017
17:17:21
API давай лучше хорошее, а не всякие томлы

Pavel
02.04.2017
17:19:07
?да над этим тоже стоит подумать
Освоил UFCS, крутейшая штука.

zk
03.04.2017
13:12:29
норм жизни не видали

Александр
03.04.2017
13:43:43
Еще бы с ним хорошо автокомплит кода работал

qwe
03.04.2017
13:46:37

zk
03.04.2017
13:47:18
API же
doc

Oleg
03.04.2017
13:58:22

zk
03.04.2017
13:58:49

Google

qwe
03.04.2017
14:00:06
а оно точно нужно?
вот мне надо посмотреть что делает метод. Первое, что я делаю — иду в класс и там смотрю метод, но теперь еще придется искать отдельный метод

Pavel
03.04.2017
14:01:09
ide должны решать такие проблемы и сразу перенаправлять человека к нужному методу

zk
03.04.2017
14:01:39

qwe
03.04.2017
14:01:47
UFCS может и прикольная вещь при выполнении хотя бы одного из условий. 1) Go To Definition. 2) Импорты, в которых написано, что импортировано import std.stdio : writeln;

Oleg
03.04.2017
14:02:39

qwe
03.04.2017
14:04:42
обычно я делаю ag "class classname" или ag "struct classname" из корня проекта и иду в файл, где нашлось. Делаю тогда, когда GoToDefinition не работает.
Поэтому я и спросил как понять сразу откуда метод, без какой-либо иронии

Oleg
03.04.2017
14:08:00

Admin
ERROR: S client not available

qwe
03.04.2017
14:08:37
да нет, только поиск

zk
03.04.2017
14:08:58

Oleg
03.04.2017
14:09:25

qwe
03.04.2017
14:09:55

Pavel
03.04.2017
14:10:37
да ide нужна это ваще без вариантов

qwe
03.04.2017
14:10:39

zk
03.04.2017
14:10:42

Oleg
03.04.2017
14:10:52
когда будет IDE?)
я вот IDE не перевариваю) надеюсь это будет решено на уровне каких-нибудь DScanner'ов или dcd, чтобы к vim можно было прикрутить)

Pavel
03.04.2017
14:11:10
хорошая ide является продолжением кода и активно анализирует его максимального глубоко

zk
03.04.2017
14:11:39

Google

zk
03.04.2017
14:11:56
ide

Oleg
03.04.2017
14:12:02

zk
03.04.2017
14:12:17
это блокнот
не IDE

qwe
03.04.2017
14:12:25

Oleg
03.04.2017
14:12:38

qwe
03.04.2017
14:12:55
=))

zk
03.04.2017
14:13:56
InteliJ и MSVS - это IDE

Oleg
03.04.2017
14:14:00

Pavel
03.04.2017
14:14:34

Oleg
03.04.2017
14:14:34

Grigirii
03.04.2017
14:14:55
помоему вопроса там давно нет. могли бы выделить интерфейс анализа из компилятора - давно бы сделали. Но там до сих пор есть проблемы с архитектурой и наследием С++
в совсем идеальном мире компилятор должен предоставлять сервис, на котором основан весь автокомплит и переходы. он же может держать всё это в памяти или быстрой базе и ускорять сборку
хороший пример - TypeScript

Oleg
03.04.2017
14:16:35

Pavel
03.04.2017
14:17:25
Тогда не понимаю о чем спор) Консоль и ide впринципе перпендикулярные вещи, если это будет собираться как пачка плагинов к виму чтобы превратить его в ide то пожалуйста

Oleg
03.04.2017
14:18:09

Grigirii
03.04.2017
14:18:09
есть в архитектуре парсера
так я и говорю, что проблема не в том, что лучше. проблема в том, что хорошее решение слишком сложно реализовать на существующей архитектуре

Pavel
03.04.2017
14:18:31
Но без помощников анализаторов в большом проекте никуда, действительно будет нереально разобраться, является ли вызываемый метод частью класса или это ufcs синтаксис. Его еще можно другим цветом подсвечивать.

Oleg
03.04.2017
14:19:17
а если просто искать имя метода (функции)?

Pavel
03.04.2017
14:19:33
Просто грепать?