@dlangru

Страница 310 из 719
Oleg
04.11.2017
21:56:08
-m64
Нет

Для линковки нужен vs

SR_team
04.11.2017
21:56:26
либы вроде тоже без особых проблем цеплял

зачем тебе vs?

Google
Oleg
04.11.2017
21:56:56
Для линковки x64

dmd под win не умеет

SR_team
04.11.2017
21:57:28
я либу на C из gcc цеплял к проекту на D из dmd

Oleg
04.11.2017
21:58:32
Есть задача под win собрать из под linux

Под x64 во первых не слинковать без vs, даже под самой виндой

Во вторых есть некоторая разница в проведении сложных либ

Я говорю только о том во что воткнулся сам

SR_team
04.11.2017
22:00:31
Есть задача под win собрать из под linux
похожую задачу имею, только на D надо написать динамическую x32 библиотеку ))

Oleg
04.11.2017
22:01:55
X32 собирается свободно под wine

Есть разговоры про то что ldc должен уметь

Но линковщик в экспериментальном режиме включён

SR_team
04.11.2017
22:03:14
но сборка не интегрирована в ide, вот думаю ide под wine запустить или пропатчить, чтобы она dub через wine дергала

Google
Pavel
04.11.2017
22:07:54
Вычитка данных для его расчетов может быть атомарной, а вот расчет не должен быть таковым
https://run.dlang.io/is/H1uUEh вот я на 1 оператор усложнил пример (добавил строки 22-28). Требуется сначала увеличить последнее значение из базы на 1, а потом дописать туда текущее число. Как ты эти предрассчеты вынесешь из критической секции?

Just
05.11.2017
04:22:36
https://run.dlang.io/is/nvjk5b сделал шаблонизированный класс (или как это правильно называется? шаблоны ж это tamplate в D, другое, насколько я понял) для класса безопасной очереди (thread safe queue) и добавил пару методов (метод длины закомментирован, ибо недостаточно эффективен по меркам D, но решил оставить). простая штука вышла, но может кому-то полезно будет

zk
05.11.2017
07:02:51
По поводу книги на dlang.ru - Go == микросервисы, Rust суть есть сложность, Ди легок как питон... прежде чем хуйню писать надо уточнить термины: Сложность, Микросервис... Выходит докер и гошкинские тулзы включая его компилятор это микросервисы, или типы что их делали забивали гвозди микроскопом. раньше я думал что Луа легче чем питон, который легче чем многое другое, но не луа. Раст сложнее чем плюсы или хаскел?

тип что рулит хаскел.ру в своей книге признался что хуйню писал, хуйню вводящую в заблуждение - dlang.ru - история повторяется...

@DmitryBubnenkov, ты писал что некоторые вещи сможешь проще объяснить чем Али, но ты неможешь даже объяснить что есть функция: Наше первое приложение будет выглядеть следующим образом: import std.stdio; void main() { writeln("Hello world!"); } Как и все Си-подобные языки, D работает по тем же правилам. В начале вы указываете тип переменной или функции. Потом задаете ей имя. Если функция должна что-то принимать, то в круглых скобках указывается тип принимаемого значения и имя, которое будет использовано для него внутри самой функции. Ключевое слово void показывает, что функция ничего не возвращает.

Пример объявления функции: +--------------------------------+ возвращаемый тип | | +------------------------+ имя функции | | | | +----------------+ тип принимаемых функцией данных | | | | | | +----------+ имя, с которым мы будем использовать принятые данные внутри функции | | | | v v v v string myAnswer(string name) { return "Hello, " ~ name; // Символ ~ означает склейку строк } ^ +-------------+ ^ | ^ | | +-----------------+ данные, которые вернет функция после своей работы. В данном случае текстовая строка | | | +-------------------------------+ ключевое слово, прерывающее выполнение функции и возвращающее данные | +-----------------------------------+ фигурные скобки ограничивают зону видимости. Все, что объявлено внутри них, не видно снаружи

Dmitry
05.11.2017
07:20:09
Отправляй пул-реквесты

zk
05.11.2017
07:20:38
нет, я не готов писать книгу

как и ты

готов == знания

Dmitry
05.11.2017
07:22:14
ну тогда как ты и хотел садись и переводи книгу Али

zk
05.11.2017
07:22:38
круто, давай переводить

ты за?

Dmitry
05.11.2017
07:24:16
я могу фрагментарно поучаствовать

zk
05.11.2017
07:25:28
этот пример про функцию - кто вообще не шарит в программировании, те ничего не поймут, а те кто шарит не нуждаются в таких объяснениях

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

я имею ввиду надо использовать специальные тулзы типа Память перевода. Но при этом не усложнять сам процесс, что бы было больше участников, а не наблюдателей

*пассивных наблюдателей

но конечно я не буду в этом учавствовать, по-крайней мере моей работы может быть и не видно большинству

@adhoc готов переводить, но он некоторое время будет оффлайн

Google
zk
05.11.2017
07:54:10
кто готов переводить книгу Али - http://ddili.org/ders/d.en/index.html предлагаю отписаться здесь и мне в личку, попробую организовать перевод, думаю у кого-то уже даже есть свои наработки по-поводу перевода

у меня есть пару дней на организацию, если не успею - инициативу можно перехватить))

Andrey
05.11.2017
07:56:13
я могу время от времени

zk
05.11.2017
07:57:47
как ты смотриш на использование специального софта для переводчиков, который стоит кучу (большую) денег, но его можно спиратить?

хотя нет, думаю можно обойтись специальным сервисом

Andrey
05.11.2017
07:58:59
положительно)

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

zk
05.11.2017
07:59:25
надо только выбрать подходящий

Andrey
05.11.2017
08:00:12
ну я не знаю какой, можно поисследлвать эту тему конечно

zk
05.11.2017
08:00:38
У Abby Lingvo есть смарткат - вроде норм.

Andrey
05.11.2017
08:01:36
я сейчас с мобилы, позже отпишусь

вопрос еще в формате, желательно что бы на выходе был маркдоун видимо?

zk
05.11.2017
08:03:40
нет, на выходе будет пдф

ну или любой другой формат по-желанию

создал группу для обсуждения и организации переводов - https://t.me/tdlang

Andrey
05.11.2017
09:36:51
разве никто еще не начинал переводить на русский?

zk
05.11.2017
09:37:45
начинали, инфа 100 процентов - надо объединить усилия

Andrey
05.11.2017
09:40:27
https://crowdin.com/ бесплатно для опен сорс проектов

zk
05.11.2017
09:41:16
https://t.me/tdlang

Stepanos
05.11.2017
10:18:25
@hexenhammer http://translatedby.com/ вот же есть норм сервис

Google
Stepanos
05.11.2017
10:18:57
с мержом и тд

zk
05.11.2017
10:19:30
сейчас гляну

Stepanos
05.11.2017
10:20:15
+ там уже есть комьюнити, могут люди оттуда к вам подключится

я б помог, но я только укр норм знаю))

zk
05.11.2017
10:20:49
ага видел, запустили его когда нота ушла в приват

я б помог, но я только укр норм знаю))
перевод предполагает еще и редактирование

... вычитка и вот это вот все

Ackeard
05.11.2017
16:15:11
подскажите плиз. как в dub. json приписать .so файл?

Ievgenii
05.11.2017
18:05:37
В смысле?

Ackeard
05.11.2017
18:06:38
у меня есть .so. я хочу ее прилинковать.

Admin
ERROR: S client not available

Oleg
05.11.2017
19:31:15
http://code.dlang.org/package-format?lang=json#build-settings

Вот по этой ссылке вся инфа вообще по этому файлу

Ackeard
05.11.2017
20:18:32
спасибо. по всей видимости меня интересует systemDependencies

Just
05.11.2017
23:59:11
https://run.dlang.io/is/H1uUEh вот я на 1 оператор усложнил пример (добавил строки 22-28). Требуется сначала увеличить последнее значение из базы на 1, а потом дописать туда текущее число. Как ты эти предрассчеты вынесешь из критической секции?
тоже не понял, как без дополнительного мьютекса решить это. может просто по отдельному потоку для каждого shared объекта делать, но если БД наботает в несколько потоков тоже, то это учитывать надо будет как-то... наверное, лучше всего понять, как это в vibe.d сделано

Pavel
06.11.2017
00:01:13
ну так Ievgenii написал что это все "глупости" и надо "предвычислять". Но так и не ответил как конкретно переписать код, чтобы "предвычислять", и чтобы yield не использовать при ожидании мьютекса

И что то мне подсказывает что никак ;)

В vibe-core даже есть всякие свои надстройки и велосипеды, типа fibre-local-storage и прочих, чтобы те же концепции параллелизма распространить на случай кооперативного выполнения.

Just
06.11.2017
00:03:46
да, предвычислять это, конечно, хорошо, но концептуально это не решает вопрос

Google
Just
06.11.2017
02:46:52
И использовать ее для передачи данных между потоками, а сокеты использовать исключительно для отправки сигнала на вычитку данных для него
а можно пример, как сделать IPS на socketPair? потому, что я не совсем понимаю, как это должно работать во-первых для случая больше двух потоков, а во вторых, как передать сигнал в дочерний поток - нужно в нем запустить бесконечный цикл и проверять содержание сокета что ли?

и еще общий вопрос на понимание файберов в vibe. например, 10 файберов в одном потоке раздают статические файлы. т.е. первый файбер отправил 100 байт, yield, второй 100 байт и тд, в итоге все файлы грузяться с одинаковой скоростью, паралельно, вместо того, что бы грузиться намного быстрее, но поочереди. или операции чтение с диска и отправки трафика ассинхронные, поэтому по сути скорость (пока не упремся в лимити чтения с диска и скорости интернета) каждого процесса отправки при паралельном режиме не ниже, чем если бы обрабатывался одновременно только один процесс?

Ievgenii
06.11.2017
08:36:19
ну так Ievgenii написал что это все "глупости" и надо "предвычислять". Но так и не ответил как конкретно переписать код, чтобы "предвычислять", и чтобы yield не использовать при ожидании мьютекса
В последнем примере мьютекс тоже лишний. Как только ты обращаешься к любому свойству синхронизирующему объекту, будет захвачен внутренний мьютекс. Поэтому твой "внешний" мьютекс просто лишний. На счёт как же переписать метод - если подобный расчет (тот, что в методе write) и есть внутренняя реализация этого метода - то никак. Но "внешний" точно не нужен. Если сильно хочется реализовать мьютекс самому, то можно убрать параметр синхронизации

А на счёт последовательной отдачи - не верное рассуждение, что правильней (проще) отдать сперва один файл, а потом второй

Смотри ситуация:

Пришло 5 запросов. Если отдавать без файберов, ты все запросы будешь обрабатывать последовательно.

И если первый клиент был на быстром канале, отдадим его быстро

Ievgenii
06.11.2017
08:59:32
А если второй попал медленный - то мы ему будем очень долго отдавать.

И проблема не в нем, а в том, что мы заблокировали остальных

Pavel
06.11.2017
09:01:21
Еще раз - ты разницу в консоли в двух версиях видел?

Ievgenii
06.11.2017
09:01:29
Нет

Pavel
06.11.2017
09:02:02
Нафига тогда теоретизировать? Запусти и все поймешь.

Ievgenii
06.11.2017
09:06:28
Запустил

Но не понял, что ты хотел сделать

Отработали у тебя "быстрые" файберы

И начали писать в БД

По очереди

Все, что я тебе написал - твой мьютекс лишний, так как синхронизация - это и есть мьютекс, только под капотом

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