
Evgeny
07.03.2018
04:36:53
sqlite3 ?
типа того, но sqlite не умеет нужные мне индексы с кастомными выражениями.

Pavel
07.03.2018
04:37:29

Evgeny
07.03.2018
04:38:02

Dmitry
07.03.2018
04:38:39
?
Год назад сталкивался. Не помню ПГ или mysql. Там зависело поддерживает ли регистрозависомость файловая система или нет.

Google

Pavel
07.03.2018
04:38:47
sqlite ещё и тормозной
ибо всё в тексте

Evgeny
07.03.2018
04:39:28
я в итоге пользуюсь обычной таблицей с отключенным WAL
отсутствие unsigned long
короче у ПГ свои тараканы

Pavel
07.03.2018
04:42:50
Народ, что в Ди array operations ограничиваются одномерными массивами, это баг, или фича?

Evgeny
07.03.2018
04:44:47

Pavel
07.03.2018
04:45:02
сейчас гляну

Denis
07.03.2018
04:45:28

Pavel
07.03.2018
04:48:30

Denis
07.03.2018
04:48:52

Google

Pavel
07.03.2018
04:49:07
Я про них и спрашиваю
c[][] = b[][] + a[][] не робыть

Denis
07.03.2018
04:50:40
я не понял выражения, а компилятор тем более

Pavel
07.03.2018
04:51:05
c[] = b[] + a[] он понимает
хочется того же, но с перламутровыми пуговицами

Denis
07.03.2018
04:53:45
c[][] = b + a?

Pavel
07.03.2018
04:57:52
int[3][3] ta,tb,tc;
tc[][] = tb + ta;
Error: invalid array operation tb + ta (possible missing [])
нет же
Окей. Меня ввели в заблуждение. Но часть правды там есть.

Denis
07.03.2018
05:47:40
там проверки типов нет, может в этом смысле он не очень

Dmitry
07.03.2018
07:46:25
Полез я Go снова смотреть. Не смотря на то что синтаксис по прежнему кажется отсталым, но понравилась идея с парсингом конфигов. Пологичнее чем в Ди сделано:
var (
rootCommand = &cobra.Command{
Use: "etcd-dump-db",
Short: "etcd-dump-db inspects etcd db files.",
}
listBucketCommand = &cobra.Command{
Use: "list-bucket [data dir or db file path]",
Short: "bucket lists all buckets.",
Run: listBucketCommandFunc,
}
)

Denis
07.03.2018
08:10:07
вроде у нас так тоже можно?

Dmitry
07.03.2018
08:16:23
ну оно чуточку менее читаемо выглядит

Stanislav
07.03.2018
08:16:51
а в ди есть парсинг конфигов в фобосе чтоль?

Dmitry
07.03.2018
08:17:08
да getopt
auto rslt = getopt(args, "foo|f", "Some information about foo.", &foo, "bar|b",
"Some help message about bar.", &bar);

Stanislav
07.03.2018
08:22:25
неплохо.
кстати,а кто-нибудь cli писал на ди?
типа своя строка приглашения и чтобы команды писать)

Oleg
07.03.2018
08:26:48
Или я заблуждаюсь?

Stanislav
07.03.2018
08:30:24
спасибо) полезные либы.
вот dli прям близко то что хотел. посмотрю чего умеет.

Google

Stanislav
07.03.2018
08:35:29
а code.dlang.org у всех поломался?

Maxim
07.03.2018
08:38:53
и мою до кучи посмотреть можешь https://github.com/maxfreck/consoleur , если нужно организовать ввод в юниксовых терминалах с нормальным распознаванием CSI/SS3 последовательностей

Dmitry
07.03.2018
08:39:38
Снова к теме про БД и ORM. Есть два подхода. Описать схему БД в коде и получить съему из самой БД.
В чем минусы последнего подхода?

Pavel
07.03.2018
08:40:54
Вопрос - как организованы миграции. Всё остальное вторично.

Dmitry
07.03.2018
08:43:32
Поясни плиз. Я миграции тока начал учиться писать

Pavel
07.03.2018
08:45:38
Где-то должно быть описание текущей версии схемы, по которому строятся скрипты обновления БД. Оно может быть в стиле ORM, а может и не быть. Имхо, брать схему из БД есть смысл, или когда это не наша БД, или когда мы не хотим светить схему.

Stanislav
07.03.2018
08:46:40

Denis
07.03.2018
08:47:03
2 недели назад очередное подобное говно перепиливал, когда оно уже стало настолько неподдерживаемым что хозяева таки согласились что орм не взлетел

Pavel
07.03.2018
08:49:39
Орм можно применять для вьюх верхнего уровня, мне кажется.

Denis
07.03.2018
08:56:01
особо нет смысла

Pavel
07.03.2018
08:56:18
В мелких двузвенках.
Привязываться к гридам проще.
Да и формы автоматом можно генерировать.

Denis
07.03.2018
08:58:37
хз хз, думал куда орм приткнуть чтобы говнокод не плодился - не придумал

Pavel
07.03.2018
09:01:03
В одном случае у меня вообще по текстовому описанию создаются модели орм и валидаторы импорта/экспорта в них.

Dark
07.03.2018
10:01:17

Pavel
07.03.2018
10:04:40
https://kaamos.me/talks/alt16/#/slide-orgheadline1 вот докладец который втаптывает pg :)

Dark
07.03.2018
10:05:31
А там в статье автор и так и сяк, не нарушая политкорректность, пытается намекнуть что он был еще молод и неопытен, и горел очень идеей, и тогда еще не вышел go, и вот он делал делал. Но потом когда увидел какое говно он сотворил то ему стало стыдно :) А толпы хомячков повалили за модной технологией
Не надо перевирать автора. Он говорит, достословно: "Тогда я был молод и предпочел не самый, как мне кажется сейчас удобный, вариант. В Go концепция "зеленых потоков" гораздо удобнее, чем постоянная асинхронность". По сути, он не говорит, "node.js гавно, подход который я там применил дно придонное".
А про хомячков - отмазка не взлетевших, хомячки за собой ничего, кроме хелловорлдов не делают


Dmitry
07.03.2018
10:05:51
Поясню мысль. Сейчас есть монолит. В монолите есть схема БД. Схема может немного меняться. К примеру новый столбец может быть добавлен.
Есть потребность в микросервисе который бы с этой же БД работал.
Проблема в том, что я не могу понять как быть. Толи копировать схему в свой микросервис и непонятно как синхронизировать ее с основной кодовой базой или просто мапить структуру базы данных ничего не описывая.
Непонятно к чему последний вариант приведет.

Google

Dark
07.03.2018
10:06:15
Для меня это темный лес

Pavel
07.03.2018
10:07:01
Не надо перевирать автора. Он говорит, достословно: "Тогда я был молод и предпочел не самый, как мне кажется сейчас удобный, вариант. В Go концепция "зеленых потоков" гораздо удобнее, чем постоянная асинхронность". По сути, он не говорит, "node.js гавно, подход который я там применил дно придонное".
А про хомячков - отмазка не взлетевших, хомячки за собой ничего, кроме хелловорлдов не делают
Да он именно ровно это и говорит, просто вежливыми словами ;) И он ведь не против асинхронности, а против того как она сделана в ноде конкретно

Dmitry
07.03.2018
10:07:14
А node.js по-прежнему однопоточная поделка?

Dmitry
07.03.2018
10:07:39

Dark
07.03.2018
10:07:54

Dmitry
07.03.2018
10:09:14
Он с ней вообще никогда дружить не будет. Там нет модели памяти даже.
Вообще JS на сервер-сайде это огромная ошибка. То что он в Вебе закрепился тоже кратковременное завихрение эволюции

Dark
07.03.2018
10:09:57
ИМХО не читабельно.
Что конкретно нечитабельно? Чейнинги как раз очень читабельная вещь, а объектами выходит почти как на Go

Pavel
07.03.2018
10:10:53

Maxim
07.03.2018
10:11:20

Dmitry
07.03.2018
10:11:30
Не читабельно из-за обилия скобок.

Dark
07.03.2018
10:12:19

Pavel
07.03.2018
10:14:27
Ну так а вебсокеты тянут за собой необходимость полноценного сервера с логикой, они же не в вакууме работают. По вебсокетам данные идут и в базу и в кеши и во все остальные системы.

Dmitry
07.03.2018
10:15:17
JS чейнинги на мотив кол-беков не читабельны. Не синтаксис, а один сплошной набор скобок

Pavel
07.03.2018
10:16:13
А node.js по-прежнему однопоточная поделка?
Я на нодежс не писал, но вроде есть pm - велосипед который позволяет запустить сразу несколько нодежсов и прибить гвоздями к каждому ядру. А потом еще следит за утекающими процессами, отстреливает их и снова запускает.

Dark
07.03.2018
10:16:49

Maxim
07.03.2018
10:16:54
кстати, по поводу вездесущего js

Google

Pavel
07.03.2018
10:17:50

Maxim
07.03.2018
10:17:58
решил я сделать приложение под LG WebOS для телевизора, и оказалось, что помимо очевидного js+html+css, с помощью которого сами приложения делаются, там еще и под капотом nodejs, на котором пишутся системные сервисы)

Dark
07.03.2018
10:18:05

Maxim
07.03.2018
10:18:06
и всё это на 600 метрах оперативки

Dark
07.03.2018
10:19:22

Dmitry
07.03.2018
10:19:48
@maxfreck щас ноду пихуют вообще черт знает куда и хрен пойми зачем. От Антивирусов до скайпа

Maxim
07.03.2018
10:20:12
а в чем прелесть js для сокетов-то?

Dark
07.03.2018
10:20:18

Pavel
07.03.2018
10:21:30
То есть прелесть сокетов в js в том что сокеты в php говно? Вот это логика ?

Dark
07.03.2018
10:21:34

Dmitry
07.03.2018
10:22:54
В итоге софт работает хрен пойми как. Я после знакомства с поделиями на базе Электрон вообще от JS шарахаюсь как от огня.

Maxim
07.03.2018
10:23:12
скажем так, чем js лучше того же vibe-core с файберами? (ну если не брать в расчёт, что vibe-core виснет ¯\_(ツ)_/¯)
ну или, для чистоты сравнения, js vs go

Dark
07.03.2018
10:25:36

Dmitry
07.03.2018
10:26:44
Память жрет, тормозит дико, глюков уйму видел много. Нафиг такой софт

Pavel
07.03.2018
10:27:06
А что такого нелогичного
То есть как только в php сделают нормальную асинхронщину и сокеты то использовать nodejs не будет смысла.

Dark
07.03.2018
10:28:04