
Quantum Harmonizer
21.02.2017
19:01:10
Не нужен.

Dmitry
21.02.2017
19:03:40
может ты и прав
а я тут пишу приложеньку на 4 экрана
но запихнул в нее mvp+clean, databinding, retrofit2, rx - и все это на котлине

Google

Dmitry
21.02.2017
19:04:26
^___^' так что я бы с тобой не согласился
прикольно же - оттачивать мастерство

Igor
21.02.2017
19:08:12

Dmitry
21.02.2017
19:08:56
ну, для меня пока мастерство - это внедрять эти вещи в проект, чтобы нормально все работало и было понятно
а так да, соглашусь - пути совершенствования бесконечны

Anton
21.02.2017
19:11:29
кто юзал sparkjava со спрингом

Андрей
21.02.2017
19:12:49

Anton
21.02.2017
19:13:11
не ну спарк же вообще мелкий и возмодностей кот наплакал
я прост не пойму как спринг конфиги врубить в нем

Андрей
21.02.2017
19:14:38
зато спринг большой, и мешать его с кем-то я смысла не вижу.

Anton
21.02.2017
19:15:58
это просто замена громоздким контроллерам

Gleb
21.02.2017
19:27:59
как будто джек не отключил или ява еще 8-я
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
incremental true
}
jackOptions { enabled false }

Google

Quantum Harmonizer
21.02.2017
19:47:40
эх, я пропустил)

Александр
21.02.2017
19:48:03
зовите, если что)

Dmitrii
21.02.2017
19:55:12
А реально как то попапку, который появляется от setError() сказать "как" именно встать?
Типа сверху там а не снизу


Denis
21.02.2017
21:42:01
Кто может посоветовать, как лучше хранить данные (какую ORM использовать)?
Критерии такие:
- довольно сложная схема данных (более 20 таблиц, есть справочники)
- удобство маппинга Json-ов из API на схему данных
- много вложенных сущностей и большой уровень вложенности, удобство работы с такими сущностями
- мало инсертов, много селектов
- объём данных небольшой (скорее всего)
- возможность удобно сериализовать массивы, хешмапы, итд
Сейчас использую OrmLite, в целом всё работает, но приходится писать очень много бойлерплейта, на каждую сущность - кучу кода для каскадного создания/удаления.
Неудобно хранить вещи типа ArrayList<Integer>, HashMap<String, Data> - нужно либо сериализовать в блоб, либо создавать по таблице на каждую коллекцию. Блобы потом неудобно смотреть в редакторе бд, они не human-readable. Также есть сложности с сериализацией final классов, у которых не имплементирован Serializable
Кроме того, есть проблемы производительности, видимо из-за большого числа вложенных коллекций, похоже тянутся все связанные сущности по foreign-аннотациям.
Присматриваюсь к Realm, есть смысл?


Roman
21.02.2017
21:47:34
realm не orm, а отдельная БД
nosql
Со своими заморочками, с которыми придется разбираться
По орм из применяемых понравилась GreenDao - основана на кодогенерации много бойлерплэйта писань не нужно

Denis
21.02.2017
21:50:12
Коллега iOSник говорит что у него попроще с этим, там львиную долю всех рутинных операций разруливает CoreData и маппилка, у нас есть что-то подобное?

Roman
21.02.2017
21:50:26
нет

Denis
21.02.2017
21:51:18

Roman
21.02.2017
21:52:10
Просто ответил на твой пункт о бойлерплэйт

Denis
21.02.2017
21:54:39
спасибо
а как у неё дела с сохранением массива интов например? это будет блоб или что-то более удобное?

Quarx2k ?
21.02.2017
21:57:14
Если SQL то GreenDAO лучше имхо
правда с удалением каскадным тоже все плохо
но и у гриндао есть большой минус, котороо нет у того же ормлайта
Например пришел json List<Object> и в Object еще один <List> то он н добави все сразу автмоатически и связи не сделает. Нжно сначала доабвить одно, потом другое и так для всего
Ну и удаление в таком же виде. DeeleteBuilder'a нету и подобного. Нужного сначала одно удалить, потом удалить колелкции все поочереди

Google

Denis
21.02.2017
22:03:25
Может стоит nosql попробовать?

Dim
21.02.2017
22:03:33
Народ, кто работал с Yandex Speech Kit? Почему-то очень тихо говорит голос. Есть какие-нибудь text-to-speech либы кроме гугла?

Quarx2k ?
21.02.2017
22:03:47

Denis
21.02.2017
22:06:33
может вообще как-то можно сделать при старте приложения один отдельный поток для сети и бд и делать в нём всё синхронно без коллбэков и всяких проблем многопоточности типа рейс-кондишнов/дедлоков?

Quarx2k ?
21.02.2017
22:09:37
Например что с бд можно работать прям из UI треда и оно не будет содавать лаги при скроллинге и прочим. Реалм через прокси обьекты работает

Admin
ERROR: S client not available

Quarx2k ?
21.02.2017
22:11:05
и листенеры что в бд поменялось есть

Denis
21.02.2017
22:11:11
а если будет запись одновременно из ui треда и из асинктаска ?

Quarx2k ?
21.02.2017
22:11:12
из любого потока
там сильно быстро запись происходит, ты не заметишь даже )
я огроменные джсоны в него сувоал за пару секунд

Sergey
21.02.2017
22:13:26
там есть одно но
с ui треда не стоит запись делать

Quarx2k ?
21.02.2017
22:14:11
Я про простые записи с UI треда
которые там меньше 1мс занимают

Sergey
21.02.2017
22:14:31
если в фоне буде паралельно другая транзакция, то она заблочит все другие транзакции
транзакции атомарные

Quarx2k ?
21.02.2017
22:15:09
Ну там надо умудриться сделать так чтобы залочилось

Google

Denis
21.02.2017
22:15:23
нельзя один бэкграунд тред создать и в нём все делать? или так никто не делает?
при старте аппы например

Quarx2k ?
21.02.2017
22:15:50
Это так не работает :)
У реалма обьекты между потоками не шарятся
Ты можешь в бекграунде добавить и уи тред автоматически тебе уведомление пришлет, что в бд что-то поменялось

Sergey
21.02.2017
22:16:58
да, реалм не thread safe

Denis
21.02.2017
22:17:44
то есть можно какую-то неконсистентность получить? если с разных потоков писать?