@dlangru

Страница 187 из 719
Denis
06.06.2017
15:57:41
без всего кода сказать нельзя

я подозреваю ты запилил DBExtractor именно так как я объясняю тебе. Вопрос: в каких классах у тебя встречается SQL-код?

Нужно сделать так чтобы такой класс был один. (Один для каждого типа поддерживаемой БД.)

Dmitry
06.06.2017
15:58:49
DBExtractor MyCalculator и еще пара

Google
Denis
06.06.2017
15:59:14
http://vpaste.net/Dq2LK: import ddb.postgres; import mysql; OMG)

DBExtractor MyCalculator и еще пара
Надо сделать чтобы был один класс для каждой БД. Если ты сейчас только мускл поддерживаешь то делай для неё такой класс. Больше нигде не импортируй import mysql;

Скоро OSM станет законом, по данным которого будут карать за превышения скорости))

(Давно пора)

Можешь считать что программисты D SQL НЕ знают. А кодеры SQL не знают языка Ди. Так что такое смешение языков по всей программе приводит к нечитаемому коду.

Shorty(Ale Chapa) Manskiy
07.06.2017
08:47:46
@DmitryBubnenkov Там где ты работаешь, на D только ты пишешь, а остальные на других языках?

Dmitry
07.06.2017
08:48:31
я и еще один человек на Ди, еще 3 человека на C# и один на PHP

Denis
07.06.2017
08:48:53
Повезло, чо сказать

Shorty(Ale Chapa) Manskiy
07.06.2017
08:49:10
Тимлид на D?

Dmitry
07.06.2017
08:49:13
да

Denis
07.06.2017
08:49:29
Наверняка он тут трётся)

Shorty(Ale Chapa) Manskiy
07.06.2017
09:03:20
Вот тебе еще книга - Эффективная работа с унаследованным кодом https://rutracker.net/forum/tracker.php?nm=Working%20effectively%20with%20legacy%20code

это как раз про тот код что ты пишешь.

Google
Dmitry
07.06.2017
13:15:02
Config config = new Config(); DataWriterFactory dataWriterFactory = new DataWriterFactory(database, config); В фабрике полный конфиг не нужен т.е. мне туда только два параметра (логин, пароль) надо передать (наверно лучше) виде хэша string[string] Я что-то не пойму как это можно сделать? В голову что-то типа new DataWriterFactory(database, config.login[config.pass]) лезет.

Denis
07.06.2017
15:37:09
ФАБРИКА АБСТРАКТНЫХ СИНГЛТОНОВ

Shorty(Ale Chapa) Manskiy
07.06.2017
15:37:21
+

Denis
07.06.2017
15:37:24
(шутка юмора)

ну так и передай string[string]

Denis
07.06.2017
15:46:08
Просто дрочево на паттерны уже утомило. Паттерны ради паттернов.

Oleg
07.06.2017
16:35:54
ребят, как получить tuple параметров метода/функции?

именно значений, а не типов и не имён

внутри функции, естественно

qwerty
07.06.2017
16:36:46
эмм?

шаблон

Oleg
07.06.2017
16:36:57
кроме как пройтись миксином по именам не понял как сделать

qwerty
07.06.2017
16:36:59
внутри шаблона?

Oleg
07.06.2017
16:37:05
нет

просто метод

qwerty
07.06.2017
16:37:25
обычный метод, в котором надо пройтись по именам?

можно декларацию метода

Google
qwerty
07.06.2017
16:37:36
?

Oleg
07.06.2017
16:38:16
int foo(string, int) { // mega mixin }

хочу отвязаться от имён параметров

а чёт как-то не выходит

вызываю например так foo("hello", 123) внутри mixin'а хочу получить tuple("hello", 123)

qwerty
07.06.2017
16:46:25
А почему просто не ждать tuple?

Oleg
07.06.2017
16:46:51
потому)))

qwerty
07.06.2017
16:46:55
если честно, то я не знаю как собрать tuple из входящих аргументов

Oleg
07.06.2017
16:47:11
Remote Function Call пытаюсь красивый сделать

ну +/- красивый

Denis
07.06.2017
16:47:37
ребят, как получить tuple параметров метода/функции?
сделать её variadic с проверкой числа аргументов?

Oleg
07.06.2017
16:47:42
можно объявить интерфейс и автоматически собрать "отправителя" и "распаковщика"

Denis
07.06.2017
16:48:20
хочу отвязаться от имён параметров
а оно действительно надо?)

Oleg
07.06.2017
16:48:33
Remote Function Call пытаюсь красивый сделать

ну +/- красивый

можно объявить интерфейс и автоматически собрать "отправителя" и "распаковщика"

уже сделал, но требуется чтобы в интерфейсе были имена параметров

чтобы при сериализации можно было по ним пройтись

именно в сериализации дело, десериализация может проходить без имён

Google
Denis
07.06.2017
16:53:30
подсмотреть как в других сериализаторах сделано?

хотя, там структуры, не функции

Oleg
07.06.2017
16:56:05
в любом случае получается, что нужно как-то да называть параметры, чтобы получить к ним доступ

Denis
07.06.2017
16:56:45
Function traits? https://dlang.org/library/std/traits.html

https://dlang.org/library/std/traits/parameter_identifier_tuple.html

int foo(int num, string name, int); static assert([ParameterIdentifierTuple!foo] == ["num", "name", ""]);

Oleg
07.06.2017
16:58:31
хочу отвязаться от имён параметров

а чёт как-то не выходит

Denis
07.06.2017
16:58:51
Непонимаю что значит "отвязаться"

Admin
ERROR: S client not available

Denis
07.06.2017
16:58:59
пронумеруй

храни массив названий и ходи в него по номеру элемента

Oleg
07.06.2017
16:59:39
вот только если так... уже почти написал такой вариант, но он меня чем-то смущает

хотя нет, теперь он меня ничего не смущает)

Denis
07.06.2017
17:02:57
тем что в рантайме имена будут резолвиться?

Oleg
07.06.2017
17:03:11
они резолвятся в ct

ну всмысле они не резолвятся вовсе

как раз ParameterIdentifierTuple возвращает тупль и по нему foreach'ем и mixin'ом заполняются поля json

Denis
07.06.2017
17:04:41
Ну и отлично)

Oleg
07.06.2017
17:04:44
а в обратном порядке можно получить просто Parameters!foo.init и просто пройтись по массиву из json

Google
Denis
07.06.2017
17:04:56
Json из vibe?

Oleg
07.06.2017
17:05:06
вот думаю как абстрагироваться

нужен тип-переносчик, чтобы можно было куда угодно (хоть файл) данные записать

это json (bson) и иже с ними

сейчас в любом случае будет vibe, но не хочется от него зависеть на 100%

Denis
07.06.2017
17:06:30
а мне его bson и json по нраву. ЛУчше чем из стд который

Oleg
07.06.2017
17:06:51
они хороши, только это vibe

хотя с другой стороны там вроде ничего особо то и нету (vibe-d:data)

и вроде не страшно должно быть

что тянутся какие-то горы странностей

Denis
07.06.2017
17:07:55
я в них заглядывал прост

Oleg
07.06.2017
17:08:52
Людвиг мог бы уже давно такой json с сериализаций и десериализацией протолкнуть в std, хз чё он тупит

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

Denis
07.06.2017
17:15:04
А зачем?

Нужен ли стандартный json? А если потом ещё один третий напишут?

(и ведь напишут - тренд идёт к отказу от gc)

http://code.dlang.org/ обзавёлся пагинацией

Oleg
07.06.2017
17:16:03
И страницы другие

Видно кол-во скачиваний

Denis
07.06.2017
17:16:26
подкрутил limit ручками в УРЛ)

а то маловато

Dmitry
07.06.2017
17:19:01
Кстати, а кто на Go писал, там есть все эти Синглтоны, фабрики методов и тп?

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