
Oleg
21.06.2016
13:25:39
не стоит)

Eto
21.06.2016
13:27:22

Oleg
21.06.2016
13:27:56
любители холиваров негодуют))
@sigod или ты не для этого?

Google

Pavel
21.06.2016
13:28:33
Лучше холивары чем чат в котором неделями молчат

Eto
21.06.2016
13:28:38
Думал глянуть одним глазком, что там происходит.

Pavel
21.06.2016
13:28:59
Я кстати сам не сижу в чате голанга, сейчас узнаем ссылку и придем туда :)

Oleg
21.06.2016
13:29:26
@chebotarevp с другой стороны можно узнать много нового в каком-то сабжекте)

Dmitry
21.06.2016
13:29:57
Не знаю как кому, мне Го кажется каим-то примитивным. На его фоне Питон даже лучше смотрится

Pavel
21.06.2016
13:30:04
Все D фанаты немного обижаются на го за то что он такой простой но при этом гораздо популярнее

Eto
21.06.2016
13:30:28
Из Go чата:
Список проектов, которым нужны контрибьютеры: https://github.com/ninedraft/gocryforhelp
Надо для D такое же сделать.

Мерлин
21.06.2016
13:30:48
Короче, кто просил
Golang RU
https://telegram.me/gogolang

Pavel
21.06.2016
13:32:51
о спасибо

Antonio
21.06.2016
13:49:55
у Го символ наркоманский какой то)
вот у скалы норм символ выглядит

Dmitry
21.06.2016
13:59:10
+1

Google

Dmitry
21.06.2016
14:04:25
Вопрос такой. Тут есть скрипт который должен получать JSON. Как я понимаю он его подтягивает по частям т.к. запрос идет с параметрами:
—----------
loadData: function loadData() {
var wrapper = document.querySelector(this.tableWrapper);
this.showLoadingAnimation(wrapper);
var params = [this.queryParams.sort + '=' + this.getSortParam(), this.queryParams.page + '=' + this.currentPage, this.queryParams.perPage + '=' + this.perPage];
var url = this.apiUrl + '?' + params.join('&');
if (this.appendParams.length > 0) {
url += '&' + this.appendParams.join('&');
}
—---------
Я прав? Просто формат урла куда он долбится получается вот такой:
http://127.0.0.1/tableOfContent?sort=&page=1&per_page=10
Можно через вайб данные как-то так отдавать?


Oleg
21.06.2016
14:19:27
res.writeJsonBody( serializeToJson(myObject) );
и, насколько я знаю, не по частям
от того, что у тебя параметры в строке запроса ничего не меняется
это 1 запрос
следовательно 1 ответ
кстати сравнил я работу 28, 29-beta.2 и 30-alpha.2
нет различий
в плане скорости работы
в конкретном моём случае

Tsundershark
21.06.2016
14:24:38
У Perl 6 самый шикарный логотип
"Как (полушутя) пояснил Уолл на конференции в октябре этого года, это было сделано специально для того, чтобы сделать язык привлекательным для 7-летних девочек."
https://upload.wikimedia.org/wikipedia/commons/thumb/8/85/Camelia.svg/2000px-Camelia.svg.png

Oleg
21.06.2016
14:26:02
так и представляю толпы 7-летних девочек, обсуждающих регулярки
сравнил работу vibe 28, 29-beta.2 и 30-alpha.2 на примере отдачи статической странички, тоже различий нет
@DmitryBubnenkov когда про баг в производительности было? может быть в 27 версии? про 27 где-то читал
причём 28 даже чуточку быстрее, но мне кажется это "в пределах стандартного отклонения"

Dmitry
22.06.2016
05:46:54
Что-то в тесте по всей Википедии Ди даже ниже PHP оказался https://github.com/juditacs/wordcount

Oleg
22.06.2016
05:54:41
возможно собрали его просто как rdmd wordcount.d

Google


Oleg
22.06.2016
05:54:52
я не нашёл как там собирают его
сейчас соберу cpp и d, посмотрим на цифры на моём компе
тест не совсем честный, потому что в С++ ввод/вывод ООЧЕНЬ медленные
╔ [deviator@lenovo wordcount-master] [22.06.16 09:14:58]
╚ % time cat data/huwikisource-latest-pages-meta-current.xml| head -500000 | d/wordcount > d/result
cat data/huwikisource-latest-pages-meta-current.xml 0.00s user 0.03s system 2% cpu 0.925 total
head -500000 0.04s user 0.02s system 6% cpu 0.924 total
d/wordcount > d/result 1.50s user 0.05s system 99% cpu 1.551 total
╔ [deviator@lenovo wordcount-master] [22.06.16 09:15:12]
╚ % time cat data/huwikisource-latest-pages-meta-current.xml| head -500000 | cpp/a.out > cpp/result
cat data/huwikisource-latest-pages-meta-current.xml 0.00s user 0.07s system 2% cpu 3.178 total
head -500000 0.08s user 0.08s system 5% cpu 3.178 total
cpp/a.out > cpp/result 4.20s user 0.53s system 99% cpu 4.738 total
не очень удобно
d/wordcount > d/result 1.50s user 0.05s system 99% cpu 1.551 total
cpp/a.out > cpp/result 4.20s user 0.53s system 99% cpu 4.738 total
сейчас сравним с чистым С


Dmitry
22.06.2016
06:18:10
а почему на плюсах ввод\ввывод медленный?

Oleg
22.06.2016
06:18:43
c/a.out > c/result 1.23s user 0.05s system 99% cpu 1.276 total
не знаю, такой написал =)

Dmitry
22.06.2016
06:19:22
не, я имею ввиду в чем ограничение и почему у других он быстрее должен быть

Oleg
22.06.2016
06:19:52
сборка d: ldc2 -O5 -m64
сборка c++: clang++ -O3
сборка с: clang -O3

Oleg
22.06.2016
06:20:22
обычный printf работает проще, понятней и быстрее)
сейчас go проверим
go/wordcount > go/result 2.35s user 0.09s system 111% cpu 2.188 total
сборка: go build
d/wordcount > d/result 1.66s user 0.06s system 99% cpu 1.723 total
сборка: dmd -release -inline -O

Google

Oleg
22.06.2016
06:27:28
ldc2 --version -> LDC - the LLVM D compiler (1.0.0)
clang++ --version -> clang version 3.5.0 (tags/RELEASE_350/final)
go version -> go version go1.6.2 linux/amd64
хотя в билде там такая тема:
cd ../d
dmd -O -release -inline -boundscheck=off wordcount.d

Dmitry
22.06.2016
06:44:13
вопрос на засыпку.
http://vibed.org/api/vibe.http.server/
Сейчас я пишу так:
void test(HTTPServerRequest req, HTTPServerResponse res)
если мне ошибку нужно будет обработать мне так надо будет:
void test(HTTPServerRequest req, HTTPServerResponse res, HTTPServerErrorInfo err)
Судя по всему да, только вот куда в документации смотреть чтобы понять какие параметры в метод можно передавать. И как правильно читается:
HTTPServerRequest req
"создается экземпляр req типа HTTPServerRequest"
если так то почему без new создание идет?

Oleg
22.06.2016
07:24:08
ничего не понял)
функция обработки ошибок это отдельная функция
settings.errorPageHandler = toDelegate(&errorPage);
вот так она регистрируется

Admin
ERROR: S client not available

Dmitry
22.06.2016
07:25:41
ну смотри. Приходит запрос. Запрос я отправляю в метод. В методе создается две переменных res и req так?

Oleg
22.06.2016
07:25:51
нет
это параметры метода
или функции, смотря как делаешь
параметры передаются в функцию извне
и создаются соответственно тоже вне вызваемой функции

Dmitry
22.06.2016
07:27:07
тоесть они создаются уже вот на этом этапе:
router.any("/test", &test);
?

Oleg
22.06.2016
07:27:14
нет
с чего такие мысли то?)
внутри под капотом vibe много кода имеет

Dmitry
22.06.2016
07:27:48
мне просто неочевиден их момент создания

Google

Dmitry
22.06.2016
07:28:12
т.е. вроде бы просто передает ссылку:
router.any("/test", &test);
и потом бац там уже рахные res и req

Oleg
22.06.2016
07:28:27
эх...
сейчас попробую сформулировать...
vibe это не то что ты вызываешь в своём коде
ты его конфигурируешь
а он уже внутри сам всё создаёт
ты просто ему говоришь "вот такой запрос обработать такой функцией"

Dmitry
22.06.2016
07:30:49
Просто мне важно документацию хотя бы научиться понимать, а то мне не очевидно что вот именно такие параметры есть. Как их понять то согласно докам?

Oleg
22.06.2016
07:31:05
как понять что?
в функцию передаются 2 параметра
они имеют такие типы
что именно не понятно?
тебе не понятно внутренее устройство vibe?

Dmitry
22.06.2016
07:32:11
так а куда смотреть кроме примеров чтобы понять какие параметры передаются

Oleg
22.06.2016
07:32:28
эм... в доке вроде всё написано

Dmitry
22.06.2016
07:33:10
да доку то я вижу, только блин... мне к примеру RequestHTTP и HTTPRequest кажутся одним и тем же
т.е. я не без примеров не могу понять как их юзать

Oleg
22.06.2016
07:34:15
скажу тебе по секрету, только ни кому
у меня та же хуйня
?
хорошая документация всегда содержит примеры это во первых