
Mi
07.09.2018
06:43:02

Alexey
07.09.2018
06:59:04
Лучше голого jdbc еще ничего не придумали ?

Mi
07.09.2018
06:59:23
?

Alexey
07.09.2018
07:00:54
Ну вот серьёзно, если нужно что то за приделами CRUD все либы просто посысывают

Google

Igor
07.09.2018
07:03:06

Loljeene
07.09.2018
07:06:21

Alexey
07.09.2018
07:06:48

Igor
07.09.2018
07:11:17

Loljeene
07.09.2018
07:11:45

Igor
07.09.2018
07:11:48
Что кроме PostgreSQL вам нужно-то?)

Loljeene
07.09.2018
07:12:31
Зеркалочка, чё уж

Паша
07.09.2018
07:33:52

Alexey
07.09.2018
07:36:50

Google

Alexey
07.09.2018
07:38:25
Если бы в коклине была возможность делать кастомную строковую интерполяцию, то можно было бы написать удобный jdbc враппер
И писать что то в духе
sql"select foo from bar where baz = $bazValue"

Alexander
07.09.2018
07:39:36
А зачем такая гадость? DSL же на порядок лучше и красивее.

Alexey
07.09.2018
07:39:56
sql - это уже итак dsl
это всё равно что придумывать какие кастомные dsl для html

Alexander
07.09.2018
07:40:17
Я имею в виду type safe dsl

Alexey
07.09.2018
07:40:44
кек, в каком месте там вообще typesafe?

Alexander
07.09.2018
07:40:59
Ага, учитывая что котлиновские кастомные dsl для html с блеском используются и пользуются большим спросом

Alexey
07.09.2018
07:41:27
Прям большим? Все фронты уже пишут на kotlin dsl?

Alexander
07.09.2018
07:41:47
Не все, но в кторе многие пишут
Если не нужна динамическая подстановка шаблонов, то он существенно удобнее чем шаблонизаторы вроде freemarker

Kirill
07.09.2018
07:43:47

Паша
07.09.2018
07:44:23
кек, в каком месте там вообще typesafe?
Ну камон! Ты пишешь колонки таблицы и получаешь сгенеренный класс модели. фигачишь запросы с его полями. Если поменял структуру таблицы, поменяется класс и компиляция упадет
Отличная фича как раз, которой нет в sql

Alexey
07.09.2018
07:44:42

Паша
07.09.2018
07:46:20
Причем здесь релиз? речь про написание кода
У тебя от одной таблицы зависит много приложений?))) у тебя уже проблемы...

Alexey
07.09.2018
07:47:48

Google

Alexey
07.09.2018
07:51:05
Я вобщем не против использования всяких высокоуровневых штук для CRUD сервисов

Loljeene
07.09.2018
07:51:30

Alexey
07.09.2018
07:51:36
Но если нужно что то сложнее, то всё становится оч жёстко с ними

Паша
07.09.2018
07:59:19

Alexey
07.09.2018
08:04:59

Aleksandr
07.09.2018
08:44:25
+1 любой софт есть решение задач бизнеса; критерий его качества и ценности только факт решения поставленных задач

Quantum Harmonizer
07.09.2018
08:46:36


Паша
07.09.2018
08:49:39
Вы же ведь понимаете что не все компании заказывают разработки с нуля? Например всякие gis, нефтянки, проектные институты, есть готовые решения, которые покупаются потому что надо здесь и сейчас, а не через 2 года разработки. И эти коробки как раз спокойно могут работать поверх oracle и db2
А потом уже появляются хотелки поверх того, что уже есть и вокруг этой базы пишутся новые приложения
разумеется, я поэтому и написал про более айти-организации — как правило там больше вкладываются во внутренние, скажем так, ресурсы и делают такие миграции, если нужно.
Я попрошу не забыть, что возможна и миграция с оракла на постгрес (и есть не один пример такой), которая реально оправданна с точки зрения бизнеса итд. Так что мир не стоит на месте ) Если кому-то хватает денег на оракл итд, то это прекрасно, но на мой взгляд идёт шифт с "толстая БД для всего" на "средняя БД для ОЛТП" + "хадуп/любая другая БД для ОЛАП" + "другие БД для специфичных задач", на базе опенсорса


Bogdan
07.09.2018
09:12:17
https://tproger.ru/news/kotlin-native-v09-release

Nanodesu
07.09.2018
11:12:13
Всем привет. По TornadoFx может кто подсказать? Почему при использовании setOnScroll на ScrollPane евент листенер срабатывает только когда скроллбар упирается в верхнюю или нижнюю границу? Пример кода:
https://pastebin.com/H6zMiApk

Nanodesu
07.09.2018
11:14:09
Изначальная проблема в том, чтобы просто увеличить скорость прокрутки при помощи колеса

Alexander
07.09.2018
11:14:22
Это по-моему не к торнаде, а к JavaFx
Прокрутка там по-моему просто каким-то из пропертей регулируется
Точняк, это родной метод JavaFX: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/input/ScrollEvent.html
https://stackoverflow.com/questions/32739269/how-do-i-change-the-amount-by-which-scrollpane-scrolls

Nanodesu
07.09.2018
11:21:51
Ага! Если навесить листенер не на сам ScrollPane, а на его содержимое (VBox в моём случае), то всё работает как надо. Непонятно только почему таки если навешивать на сам ScrollPane - поведение такое странное

Alexander
07.09.2018
11:24:18
А это надо почитать документацию. Я подозреваю, что если навесить на саму панель, он срабатывает только когда прокручиватсья начинает сама панель, то есть когда внутренняя крутилка в край упирается

Nanodesu
07.09.2018
11:25:09
Аа, это на тот случай если у нас одна панель находится внутри другой? Звучит разумно

Google

Alexander
07.09.2018
11:25:46
В JavaFx такие штуки не всегда очевидны. Правда они нигде не очевидны.

Nick Senchurin
07.09.2018
11:28:57
подскажите, как вызывать екстеншн для коллекции orEmpty из джавы?
метод лежит в ArraysKt , но в джаве не автокомплитит

Alexander
07.09.2018
11:30:06
Из джавы <имя метода>(<ресивер>)
как обычный статический метод

Nick Senchurin
07.09.2018
11:30:38
да, это понятно, а какой класс именно этот метод вызывает?
лист?

Alexander
07.09.2018
11:30:41
Если экстеншн с параметрами, то ресивер - первым

Admin
ERROR: S client not available

Alexander
07.09.2018
11:31:03
Не знаю, контрол клик в идее или посмотреть в документацию

Nick Senchurin
07.09.2018
11:32:19
ну да, меня перекидывает в ArraysKt, но в джаве этого метода нет
ладно, гуглы в помощь, чето такая примитивная штука , а я на ней застропорился )

Alexander
07.09.2018
11:33:17
Так может котлиновский стдлиб не подключен?

Nick Senchurin
07.09.2018
11:34:34
import kotlin.collections.ArraysKt;
вроде есть

Alexander
07.09.2018
11:35:52
Так он реифицированный: https://github.com/JetBrains/kotlin/blob/44ecfb2fb8630560aac78422e9f053c1cdfbc158/libraries/stdlib/jvm/src/kotlin/collections/ArraysJVM.kt#L18
Из джавы он вообще работать не будет
у принсипе
для инлайнов байткод на лету генерится

Nick Senchurin
07.09.2018
11:36:47
аа, вот в чем дело

Google

Nick Senchurin
07.09.2018
11:36:59
ну до таких тонкостей еще не дорос, спасибо, почитаю на досуге

Alexander
07.09.2018
11:37:42
Просто если он инлайн, то он генерится компиллятором в том месте, где вызван. В библиотеке его просто нет

Alexey
07.09.2018
11:37:53

Alexander
07.09.2018
11:38:52
В рантайме он есть, если он где-то котлиной вызван. Но для Джавы -то он его сгенерировать не может, он же тип не знает. А джавовый компилятор ничего не знает про инлайны

dimiii
07.09.2018
11:45:58
А почему в Котлине дженерики не овеществленны тотально и по дефолту? В том числе и для конструкторов.

Alexander
07.09.2018
11:46:46
But how?
Хотя что называть дженериками?
Так-то они есть и для конструкторов
Вы про реификацию?

dimiii
07.09.2018
11:49:03
But how?
Не знаю, но вчерашняя беседа про Hibernate напомнила мне про автора Ceylon полез посмотреть как там у них дела теперь (уныло) и среди фич увидел подобное

Alexander
07.09.2018
11:49:18
А что именно?

dimiii
07.09.2018
11:49:25
А что именно?
https://ceylon-lang.org/blog/2013/02/21/reification-finally/

Alexander
07.09.2018
11:49:26
реификация для классов?
Об этом говорили на форуме. Может быть сделают. Но вообще, сейчас никто не мешает сделать инлайн метод, который будет маскироваться под конструктор (начинаться с большой буквы). Мне кажется, что это лучше

dimiii
07.09.2018
11:52:35

Alexander
07.09.2018
11:53:30
Я не уверен, что это такая уж ошибка. Если инлайнится только конструктор - это одно, а если весь класс - это совсем другое.

dimiii
07.09.2018
11:57:02

Alexander
07.09.2018
11:58:49
Я не пробовал в Dart, но у дарта нет груза совместимости с джавой. Я вообще сторонник минимизации языковых фич в пользу универсализации существующих. В котлине за счет связки конструктор + factory method в компаньене можно сделать практически что угодно.

Quantum Harmonizer
07.09.2018
13:42:22
Есть ли библиотека для описания структур, типа как сделано с таблицами тут? https://github.com/andrewoma/kwery/tree/master/mapper#mapping-the-structure
Интересует простое, гибкое и универсальное. Ну, как всегда)