
Oleg
28.08.2016
19:31:08
нет в целом золотого молотка
чтобы выжать максимум особенно
максимум скорости, максимум экономии памяти
для разных задач разные подходы

Google

Мерлин
28.08.2016
19:31:42

Max
28.08.2016
19:31:50
Теми же акторами можно прекрасно распаралелить какой нибудь сервис хоть на кучу машин, но например обработку видео ты на них не напишешь, и так по кругу
Никакой унификации там быть не может

Dmitry
28.08.2016
19:32:05
а. понял

Oleg
28.08.2016
19:32:44
если встал вопрос выбора технологии, тогда имеет смысл искать подходящую

Evil
28.08.2016
19:33:05

Oleg
28.08.2016
19:33:49
просто *.o это результат работы компилятора, было бы странно, если бы там не было скомпилированного кода

Dmitry
28.08.2016
19:43:22
void fiberFunction()
{
10.iota.each!(i => yield(i));
}
...
auto numbers = new Generator!int(&fiberFunction);
writefln("Produced in main : %(%s %)", numbers.take(2));
блин, а как на последней строке оно работает. Ведь функция fiberFunction ничего не принимает и не возвращает

Max
28.08.2016
20:18:40
Почитай что такое корутины и что такое yield.

Макс
29.08.2016
04:08:31
Ух ты, в D есть yield? o_O
Аааа, только внутри чего-то вызванного как файбер... видимо

Google

Oleg
29.08.2016
08:52:24

Макс
29.08.2016
08:54:34
Ну в Питоне это роднее вшито :)

Dmitry
29.08.2016
09:10:28
А в питоне как?

Max
29.08.2016
09:17:07
Как часть языка, а не стандартной библиотеки

Макс
29.08.2016
09:22:33
Ага. Любая функция, возвращающая Iterable, может быть написана на yield'ах. А вызываться как обычная функция. Очень удобно

Dmitry
29.08.2016
10:35:31
А кто с Линукс работал, как им удаленно управлять удобней? SSH? Или как щас принято?
Вообще можно ли подключаться к графике? VNC длz этого нужен?
Сори что немного не по тематике канала, просто vibed хочу с Винды не него перенести

Eto
29.08.2016
10:38:46
SSH, видимо.

Мерлин
29.08.2016
10:38:55

Dmitry
29.08.2016
10:39:22
Есть смысл FreeBSD ставить? В сорцах vibed вроде что-то было про поддержку

Мерлин
29.08.2016
10:39:56

Dmitry
29.08.2016
10:44:47
А данные как на сервер лучше передавать? Как понимаю ssh только для текста создан
Как под Linux кто разработку организует? папку /code создаете и там все пишете или как там принято?

Oleg
29.08.2016
11:15:09
я делаю папку workspace, в ней имя огранизации/предприятия/команды (нужное подчеркнуть) и уже в ней папку с проектом
более менее сбалансированно — нет много файлов в одной папке ни в одной точке

Eto
29.08.2016
11:17:02
Не под линуксом, но тем не менее:
/<user>/dev/<project>

Dmitry
29.08.2016
11:20:11
В корне эту папку стоит делать? Или лучше в юзере?
Кстати, под root все работают? Или только я такой красивый?)

0x9d8e
29.08.2016
11:49:59
Не надо под рутом, чревато.

Google

0x9d8e
29.08.2016
11:50:15
Конечно лучше всё в юзере делать

Dmitry
29.08.2016
11:53:26
А разница какая? В том плане что при разработке 90% команд будут рута требовать или я ошибаюсь?

0x9d8e
29.08.2016
12:15:09
Если всё делать под рутом, то и права на файлы везде будут рутовые. П потом везде нужен будет рут) В итоге или менять везде вручную права или запускать приложения под рутом. А запускать, скажем, веб-сервер, под рутом это как-то совсем уж из ряда вон.
ну и велик шанс фатально накосячить
а так, если вдруг понадобился рут - это всегда напоминание, что происходит тчо-то с чем надо быть внимательнее

Макс
29.08.2016
12:17:56

Dmitry
29.08.2016
12:39:03
Кстати, а в GIT кто как конфиги с паролями хранит? Ведь ясен хрен, что их не в репозитарий же пушить

0x9d8e
29.08.2016
12:39:30
Ну в закрытый почему бы и не пушить

Dmitry
29.08.2016
12:39:52
А если в открытый то как быть?

0x9d8e
29.08.2016
12:39:56
А в открытом их в .gitignore добавить и всё.
А обновлять не сами конфиги, а их примеры. Что-то вроде default.conf

Dmitry
29.08.2016
12:40:40
а...

Макс
29.08.2016
13:58:54
А в открытом их в .gitignore добавить и всё.
Это для универсальной для всех части списка. Например, папку .dub можно там упомянуть. А папку .idea или файлы *.sublime-project лучше упомянуть в .git/info/exclude – это список такого же назначения, но его не будет в репозитории.

Dmitry
30.08.2016
11:07:00
я правильно понимаю, что в Linux нужно в etc/enviriment прописать путь к Ди после установки? Чтобы всегда работало?
просто я поставил dmd и тот пишет:
Run source ~/dlang/dmd-2016-08-30/activate in your shell to use dmd-2016-08-30
это же только в рамках одной сессии будет работать
На VPS при компиляции vibed проекта вылетает:
dmd failed with exit code 137
походу 512 памяти ему мало

Ruslan
30.08.2016
11:24:42
создай своп файл

Google

Ruslan
30.08.2016
11:25:03
https://wiki.archlinux.org/index.php/swap#Swap_file

Dmitry
30.08.2016
11:26:54
Из описания я не совсем понял как происходит компиляция в режиме singleFile
dub build —build-mode=singleFile
он файлы по отдельности чтли компилит?
"For small applications or scripts, DUB supports a special mode where the whole package is contained in a single .d file"
Руслан, а про переменные окружения не подскажешь?

Ruslan
30.08.2016
11:37:10
ну можно разными способами их менять
в зависимости, что у тебя есть и что тебе надо

Dmitry
30.08.2016
11:41:26
Чтобы dmd для всех вызывался пользователей

Ruslan
30.08.2016
11:48:47
его надо в path положить
либо указать доп. path путь
https://wiki.archlinux.org/index.php/environment_variables

Admin
ERROR: S client not available

Dmitry
30.08.2016
11:52:00
/etc/environment сюда его в каком формате записывать?
Сам компилятор предлагает после установки выполнить команду:
source ~/dlang/dmd-2.071.2-b2/activate
можно ли ее в таким виде вписать в указанный файл?

Ruslan
30.08.2016
11:53:50
не
~ = /home/currentuser
потому не сработает
лучше dlang если для всех положить в какой-нибудь /opt
да и вообще
я чото не понимаю
для всех дистрибутивов почти есть пакеты с dmd

Google

Ruslan
30.08.2016
11:55:18
https://dlang.org/download.html
deb/rpm based и так далее
и + в пакетном менеджере есть dmd

Dmitry
30.08.2016
11:57:38
я ставил через скрипт install.sh который

Ruslan
30.08.2016
11:57:57
ставь через пакет
и не мучайся
а то придумываешь сам себе проблемы) И пытаешься поправить спрашивая у других)

Dmitry
30.08.2016
11:58:30
ок
там что-то тоже не весело. Вылетает ошибка: Unable to locate package dmd-bin
хотя все по инструкции сделал

Evil
30.08.2016
12:36:26
Лучше так

Dmitry
30.08.2016
12:36:44
а туда нужно именну ту команду с source вписать?

Evil
30.08.2016
12:37:22
export PATH=$PATH:/opt/dmd/bin
Как-то так

Dmitry
30.08.2016
12:40:15
а пути до либ он сам найдет?

qwe
30.08.2016
12:48:28
А нельзя скомпилировать на своей машине, а потом запустить на VPS?
я так и делаю, если ставлю ПО, которое компилируется
только я их в Linux контейнерах заливаю
Docker

Dmitry
30.08.2016
12:49:49
У меня на основном компе Windows

qwe
30.08.2016
12:50:00
а virtualbox нет?

Dmitry
30.08.2016
12:50:05
неа