
Dmitry
01.04.2017
16:20:38
>если вопрос про "можно ли через std.algorithm сделать hadoop?", то нет
Мне пока до этого далеко. Мне бы идею Map и Reduce понять в общих чертах...

Pavel
01.04.2017
16:21:49
https://en.wikipedia.org/wiki/Map_(mathematics) это вообще из математики

zk
01.04.2017
16:23:41
мап предпологае приминение функции к коллекции с возвратом новой

Google

Dmitry
01.04.2017
16:24:17
как на русский map пеервести более правильно просто "карта" ИМХО немного не то... "разложить на" или как-то так?

Pavel
01.04.2017
16:24:57
отобразить
(множество в A в множество B)

Oleg
01.04.2017
16:26:34

Pavel
01.04.2017
16:26:45
Например у тебя есть массив чисел, ты хочешь получить массив этих чисел, умноженных на 2. Тогда ты берешь и применяешь map с функцией x => x * 2. И тебе возвращается новый массив.

Oleg
01.04.2017
16:27:53
я раньше так и думал, но тогда как должен работать этот код?
while (true) {
acceptClient();
Thread.yield();
}
}
void acceptClient()
{
или auto clientSocket = socket.accept(); блокирующая?
если нет, то будет создавать уйма потоков, что должно вешать комп, либо вылетать по приказу ОС
потому как new Client(clientSocket) тоже создаёт новый поток

Pavel
01.04.2017
16:29:38
Да, блокирующая.
Пока клиент реально не подключится, new Client не создастся

Oleg
01.04.2017
16:30:23

Google

Oleg
01.04.2017
16:31:58

Pavel
01.04.2017
16:32:15
После каждого подключения тред дает поработать другим :)

Oleg
01.04.2017
16:32:39
эм...
ну хз, ос вроде за этим следит

Pavel
01.04.2017
16:33:14
Так вот, а зачем тогда вообще вызывать эту функцию? =) Я честно тоже не понял до конца.

Oleg
01.04.2017
16:33:37
ну в случае, если у тебя однопроцессорный комп, то возможно это будет иметь смысл

Pavel
01.04.2017
16:33:57
Это же понятие из корутин, где корутина всегда захватывает все ресурсы пока явно не отдаст. А в тредах это должно рулиться на уровне операционной системы.
Возможно это все стоит вообще переписать на файберы

Oleg
01.04.2017
16:34:32
Thread.yield это "принудительное" переключение, если ОС подумает, что пора, она сама это сделает
а вот с файберами не так
файберы надо переключать самому
потому как ОС о них ничего не знает

Pavel
01.04.2017
16:34:57
Ну ок, значит впринципе этот йилд не повредит лишний раз вызвать

Oleg
01.04.2017
16:35:06
ну по сути да
но я уже начал сомневаться в своих знаниях
полезно иногда...

Pavel
01.04.2017
16:35:45
Я тестил это на speedtest, локально прокся выдает полную пропускную способность легко.
Без прокси у меня показывало 35-40 мегабит, с проксей где-то 30-35

Oleg
01.04.2017
16:37:05
так что, наверное это хорошо, что не сильно проседает скорость)

Google

Pavel
01.04.2017
16:38:12
Я раньше не особо представлял о чем он, а оказалось что это полезная штука, по сути любые tcp/udp соединения можно лить через него, и реализация очень простая, как видишь там 300 строк всего.
Я доделаю нормальный конфиг, порт и логин с паролем, и буду через нее ходить на линкедин ;)

Oleg
01.04.2017
16:39:23
типа у тебя сервер за рубежом и ты его как проксю будешь юзать? а прокси-программой будет вот этот код выступать, я верно понял?

Pavel
01.04.2017
16:41:18
да

Oleg
01.04.2017
16:48:16
У меня тут вопрос возник (для знатоков windows): есть dll, хочу её как статическую либу прилинковать. Это можно сделать если сделать "статический интерфейс" к ней. Делается он линкером из m$vs, но он требует def файл к dll. Собственно вопрос: можно ли получить каким-нибудь инструментом это def из существующей dll или из .h файла?
Пока писал вопрос понял что гуглить
И еще: пересобрать я её не могу (не хочу)

Dmitry
01.04.2017
16:51:08
Олег, о результатах отпишись. Про dll интересно очень...
в Linux там все иначе?

Oleg
01.04.2017
16:55:31
в Linux там все иначе?
Ну в целом похоже, но я не встречал аналога с def и "статическим интерфейсом". Просто под linux мне не в падлу пересобрать)) а под m$ тянуть сорцы gtk со всеми зависимостями вообще никакого желания нет, легче динамически её будет загрузить

Dmitry
01.04.2017
16:55:57
Олег, у тебя вообще получалось статически слинковаться в dmd? Тfм флаг появился в 2.073 специальный, только у меня он нефига не заработал (пробовал на Windows)
Вообще на сколько dmd привязан к тому же msvcp ?

Oleg
01.04.2017
16:58:27
Вообще у меня очень мало ситуаций было когда моё ПО должно работать везде и из коробки)
Всегда была возможность что-то настроить

Dmitry
01.04.2017
17:00:43
да Си рантайм

Oleg
01.04.2017
17:00:57
Ну куда без него то?)

Dmitry
01.04.2017
17:01:08
ну ве равно куда приятнее когда из коробки работает с гарантией)
в нем вообще какие примитивы находятся? т.е. почему без него нельзя?

Google

Oleg
01.04.2017
17:01:32
Просто нужно уметь делать коробку)))
Тот же malloc
Или read
По сути во всех ос они по своему сделаны, а С рантайм позволяет через один интерфейс обращаться
Ну или как-то так

Dmitry
01.04.2017
17:04:58
с си рантаймом можно статически линковаться?

Oleg
01.04.2017
17:05:44
почему-то меня никогда этот вопрос не волновал, потому как это должно имхо всегда происходить динамически

Dmitry
01.04.2017
17:06:44
к примеру в ОС может оказаться рантайм другой версии...

Oleg
01.04.2017
17:06:44
статическая линковка такой общеиспользуемой библиотеки как рантайм С привела бы к раздуванию всех исполняемых файлов + оперативы отъедалось бы намного больше

Admin
ERROR: S client not available

Dmitry
01.04.2017
17:07:23
В итоге приходится искать и качать нужный VCRedistributed

Oleg
01.04.2017
17:07:41
ну вот с этим на linux точно проблем нет)
ну, в том смысле, что если бы были все исходники, то вообще вопросов нет, m$ вроде предоставляет статическую версию рантайма

Мерлин
01.04.2017
17:12:35

Dmitry
01.04.2017
17:12:35
т.е. из dll нужно руками сделать lib и слинковаться с ней?

Мерлин
01.04.2017
17:12:38

Oleg
01.04.2017
17:13:24

Google

Dmitry
01.04.2017
17:14:21
А почему в компилятор нельзя ключи добавить чтобы можно было любую либу подкчлючить как нравится?
Чтобы вот без этого всего...

Oleg
01.04.2017
17:15:13
технических ограничений я точно не вижу
при условии того, что есть и динамический и статический вариант в распоряжении
ну или вопрос распиздяйства

Dmitry
01.04.2017
17:16:04
как я понимаю одно же в другое конвертится?

Oleg
01.04.2017
17:16:19
ну вот не так всё просто
dll это полностью самостоятельный исполняемый файл, только без точки входа

Dmitry
01.04.2017
17:16:49
В Go все вроде бы вообще только статически линкуется?

Oleg
01.04.2017
17:17:08
про go ничего не знаю
статическую в dll можно скомпилировать легко (насколько я понимаю процесс), а вот обратно уже проблемней

Мерлин
01.04.2017
18:02:03

Pavel
01.04.2017
18:27:46
Все, прокси заработало на удаленном сервере. Была моя тупая ошибка. В настройках браузера просто были вписаны нерабочие http и https прокси еще, и до socks5 дело не доходило.

Oleg
01.04.2017
18:37:09

Pavel
01.04.2017
20:48:16
почему std.experimental.logger так называется? Это не окончательная экспериментальная библиотека?

Oleg
02.04.2017
07:20:29
я не думаю, что logger собираются убрать, скорее правки вносят

Dmitry
02.04.2017
09:03:27
dragonfly bsd никто не юзал? Если юзали, то как впечатления?
И еще вопрос. На сколько сложно/возможно D стыковать и Rust?
Там для стыковки нужно чтобы один язык понимал правила вызова функции другого языка?

Max
02.04.2017
10:50:33
Во-первых, в обе стороны получится состыковать только сишные интерфейсы. Во-вторых, со стороны D будет мешать gc, а со стороны раста все будет в ансейфе и типах из libc, а не самого языка — в обоих случаях нужно писать жирные врапперы