
Dmitry
14.11.2016
19:37:24
Ну геоинформатикой занимаюсь по работе

Oleg
14.11.2016
19:37:33
Ааа
Массивы данных какието сложные обрабатываете?
Это тот случай когда говорят что Д используется в науке?

Google

Dmitry
14.11.2016
19:39:20
Да для сложных данных обычно есть уже готовые инстурменты. Тут нужно задачи решать какие-то весьма тривиальные. Типа из БД данные взять и что-то с ними сделать несложное. Но из-за того, что хочется универсальных решений, чтобы можно было сделать простой переносимый бинарик в итоге остановился на Ди т.к. ве остальное со своими проблемами какими-то

0x9d8e
14.11.2016
19:39:26
Как раз сейчас упёрся в производительность вычислений над довольно малым количеством данных. На сервере норм, а в браузере переписанный на js код подтормаживает (но конечно быстрее чем на сервер каждый раз бегать). То ли js такой медленный то ли я им так владею.

Oleg
14.11.2016
19:40:14

Dmitry
14.11.2016
19:40:40
Вот геопортал один сделал простенький (серверная часть на Ди), но в итоге в JS все обновилось, и апгрейд очень геморный, а серверную часть чертыхаясь сделал, но она с багами и где-то падает, а я даже логгер не могу нормальный прикрутить

Oleg
14.11.2016
19:40:51

Dmitry
14.11.2016
19:41:27
Да там с даннмии работать очень неудобно. Я посмотрел и какие-то тривиальные вещи вообще через зад делаются

Oleg
14.11.2016
19:41:36

Dmitry
14.11.2016
19:42:40
В итоге Ди для меня слишком низкоуровневый, а ничего другого, что бы лучше подходило на рынке нет

0x9d8e
14.11.2016
19:44:40
А бекенд на чем? Почему не переписать этот блок в нативный модуль?
На питоне бекенд. На сервере то проблем нет, а вот в браузере тормоза начались. В принципе знаю как переписать js чтобы не тормозил, но во-первых это уже не будет почти тупым портированием (т.е. любое изменение вносить дольше, да и апи разный), а во-вторых код будет более трудным в отладке и понимании.

Oleg
14.11.2016
19:45:32


0x9d8e
14.11.2016
19:48:31
Профайлером смотрел?
Пока нет, вот закончу уже до стадии "всё работает" и займусь. Тут есть места, где надо наитупейший кеш на уровне вызова метода всунуть, если не хватит, придётся поискать ещё затыки и в крайнем случае в более процедурный стиль переписать.

Google

Dmitry
14.11.2016
19:49:04
Да только ноду под кучу задачь из серии бинарик написать не прицепишь

Oleg
14.11.2016
19:49:36

Dmitry
14.11.2016
19:50:06
Я почему-то его проскочил
А сейчас уже не понимаю — есть ли смысл переучиываться
т.к. на Ди время было вгрохано уйма
Сейчас разве что Swift рассматриваю как вариант
т..к. за него хорошо платят

Pavel
14.11.2016
19:51:55
Впринципе языки похожи процентов на 60-70
если ты разрабатываешь хорошо на одном, то и на другом будешь
там примерно те же классы, объекты, наследование, модульность
исключения, типизация
те же паттерны

Dmitry
14.11.2016
19:52:41
Ну вот да, только никак учить его не сяду
после смены работы время вообще нет на что-то новое
старое бы не забыть

Oleg
14.11.2016
19:53:25

Dmitry
14.11.2016
19:54:03
А на новой работе тоже ситуация интересная. Как таковой нужен только Питон — а с остальными языками неразбериха

Oleg
14.11.2016
19:54:32

Dmitry
14.11.2016
19:54:36
т.е. контора не разработческая. Там просто задачи по разработке есть

Google

Dmitry
14.11.2016
19:54:56
ну вот пока да юзаю...

Oleg
14.11.2016
19:57:28
Питон же рулит
Так все говорят)

0x9d8e
14.11.2016
19:58:44
Странно кстати, что никто не делает (наверняка делают) средств чтобы упаковать интерпретируемые скрипты (или лучше байт-код) вместе с интерпретатором в бинарник.

Oleg
14.11.2016
19:59:03
Но у работодателя свои понятия "как правильно"

Dmitry
14.11.2016
19:59:36
только там столько зависимостей, которые я думаю тупо не заведутся

0x9d8e
14.11.2016
20:00:19
Хотя как-то с lua'шным игровым движком игрался (love2d), там игра как раз в один "бинарник" (на самом деле как раз бинарник с zip-архивом склеивается и всё как я понял) упаковывается.

Dmitry
14.11.2016
20:01:04
вот да, луа кажется годным и понятным языком

0x9d8e
14.11.2016
20:01:08
То есть роботодателю ещё и не всё равно как именно получен этот бинарник?

Oleg
14.11.2016
20:01:31
Для луа есть клон ноды.. Хотя блин голая нода это несколько файлов
Node.exe

Oleg
14.11.2016
20:01:53
Щас даже проверю
Да, node.exe

0x9d8e
14.11.2016
20:03:28
Мне в луа не понравилось то, что большинство либ мёртвые велосипеды и в итоге на каждую ерунду приходится писать ещё один мёртвый велосипед . Да ещё и с ООП такие дела, что вариантов оного 100500 и естественно не шибко совместимых.

Dmitry
14.11.2016
20:03:59
Кому интересно вот мой портал 188.227.17.149:8080 работает только вход под пользователем

Oleg
14.11.2016
20:03:59
https://luvit.io

Dmitry
14.11.2016
20:04:20
кучу всего остального включая поиск космоснимков тоже не работает

Oleg
14.11.2016
20:05:15

Google

Oleg
14.11.2016
20:05:48

Dmitry
14.11.2016
20:06:39
к теме про логгер. заработал такой вариант:
fLogger.put(e.msg);
хер его знает как оно там будет в реале... и вообще почему падает

Oleg
14.11.2016
20:09:11
Щас сделаю тебе портабл ноду
Заодно и мне пригодится
В TypeScript какраз же сделали защиту от нуллабилити, которую в D доколе завезут? чтобы меньше падало
Без PATH не прокатывает. Обломчик. А что там с вычислениями на Го?
Да там с даннмии работать очень неудобно. Я посмотрел и какие-то тривиальные вещи вообще через зад делаются

Tsundershark
14.11.2016
20:27:48
Так ведь от такая штука есть: https://github.com/igorklopov/enclose

Oleg
14.11.2016
20:37:10

Admin
ERROR: S client not available

qwe
15.11.2016
03:57:03
@DmitryBubnenkov если приходится считать много, то использовать Python нормально. Там есть Numpy, Scipy. Эти либы работают быстро. Если делаешь уже что-то за их рамками и без этого не обойтись, то тогда приходится уже брать компилируемый ЯП.

Dmitry
15.11.2016
04:47:50
Про питон то это понятно, но у меня все что в нем нужно вшито в ПО с которым я работаю. Там по факту куча расширений над Питоном для работы с геоданными
Кстати а в шарпе и яве где бы логгер нужно было объявить чтобы он везде был виден?

Oleg
15.11.2016
10:48:58

Grigirii
15.11.2016
11:07:01
я немного пропустил момент, но почему это нельзя? отдельный класс синглтон, инициализирующийся в самом начале. импорт этого класса отовсюду, где нужен логгер и поехали. так в андроиде логер стандартный работает, так у всех консольный вывод работает. в чём проблема то?

Oleg
15.11.2016
11:07:05

Oleg
15.11.2016
11:08:10

Google

Oleg
15.11.2016
11:09:12
вообще никого не понял...
я прочитал, Дмитрий создаёт в app.d логгер и хочет его использовать везде
но зачем он объявляет его в app.d для меня пока загадка
объявить то его можно в специальном модуле mymegalogger.d, его в свою очередь импортировать, а уже в app.d перед всем кодом, который использует этот логер просто его создать

Oleg
15.11.2016
11:11:14
Так ты кодом показывай как это сделать, и чтобы работало с vibed

Oleg
15.11.2016
11:12:04
vibe-d другая истори, там своё (рыжее) видение всего происходящего
но сейчас найду
мне кажется абсолютно так же
ну почти
сейчас код напишу и скину

Grigirii
15.11.2016
11:14:37
без импорта по месту использования обойтись не получится. в лучшем случае сделать public import в модуле, который отовсюду импортится. это сделает импорт логера неявный, что помоему хуже.
конкретно в vibe.d есть своя система логирования и можно просто написать свой, дальше позвать http://vibed.org/api/vibe.core.log/registerLogger и пользоваться стандартными функциями логирования

Oleg
15.11.2016
11:18:41
безумно медленно тянет из инэта 30ый vibe =(

Oleg
15.11.2016
11:19:42

Oleg
15.11.2016
11:21:25
app.d
import vibe.core.log;
import other;
void main()
{
func(1);
setLogFile("output.log", LogLevel.trace);
func(2);
}
other.d
import vibe.core.log;
void func(int i)
{
logInfo("call func %s", i);
}
после setLogFile("output.log", ...) всё выводится не только на консоль, но и в файл 'output.log'

Oleg
15.11.2016
11:23:56
сс @DmitryBubnenkov

Oleg
15.11.2016
11:26:50
а вообще же можно stdout переопределить в файл
а можно и вообще ничего не менять, а пользовать journalctl, который сохраняет вывод программ, запущенных через systemctl (systemd)
а можно и не использовать journalctl, а просто myfile > output.log

Oleg
15.11.2016
11:30:34
А вдруг у него винда, а stdout когда это стал потокобезопасный?
Дмитрию еще нужно чтобы вайбед в лог креши выводил
Это както делается?

Oleg
15.11.2016
11:41:22
смотря какие крэши