@kotlin_lang

Страница 111 из 982
? animufag ?
26.04.2017
10:44:04
Просто неправильно слепо использовать инструмент, не всегда понимая его специфики и специфики платформы. Никого оскорбить не хотел, обидеть тоже, если задел — искренне прошу прощения.
ну там же в основном просто сахар. приятно когда есть нулейблы и поддержка стандартной либы. приятно когда ты можешь организовать нормальные енумы и перебор по when не нужно далеко углубляться в джаву, чтобы получать от неё дизкомфорт

Сергей
26.04.2017
10:44:29
Google
Alexander
26.04.2017
10:49:35
Просто, имхо, прежде чем изучать и юзать котлин, стоит вначале джаву узнать.
прежде чем изучать джавку, нужно вначале божественный си узнать ;)

? animufag ?
26.04.2017
10:49:42
Просто, имхо, прежде чем изучать и юзать котлин, стоит вначале джаву узнать.
Не думаю. я, например, довольно быстро останавливаюсь в изучении. Ну то есть дошёл до того момента когда ок разрабатывать свои повседневные приложения, полистал статейки/посмотрел конференции на случай если пропустил что-то важное и готово. Думаю модели памяти довольно важный момент в разработке jvm, или по-твоему мнению ABI важный момент, но меня это как-то всё не касается.

Quantum Harmonizer
26.04.2017
10:50:46
прежде чем изучать джавку, нужно вначале божественный си узнать ;)
Не. JVM-байт-код — это почти непосредственное отражение исходника на Java, поэтому её всё же стоит знать.

Igor
26.04.2017
10:51:02
а, перегнул, ну забань. будет пример тем кто решит офтопить
Мы надеемся, что вы с @bvitaliyg сами осознаете ошибку вступления в этот чат и покините нас добровольно ?

Alexander
26.04.2017
10:51:22
Vitaliy
26.04.2017
10:51:34
прежде чем изучать джавку, нужно вначале божественный си узнать ;)
Не си, а скорее то, как компьютер работает, да.

Alexander
26.04.2017
10:53:10
JVM оптимизации, интрисиксы, да таже разная работа мютексов на различных архитектурах процессора ;)

Google
Vitaliy
26.04.2017
11:05:21
интрисик - последний раз на плюсах слышал
А между прочим, в Котлине он тоже есть, и нем надо знать.

Konstantine
26.04.2017
11:05:35
С пеной у рта доказывают плюсы Котлина, но не знают про аби :)
Котлин использую первый раз в жизни и совершенно не припомню, чтобы с пеной у рта что-то там доказывал насчет него)

Vitaliy
26.04.2017
11:05:53
Нет-нет, не ты конкретно :)

Это собирательно скорее :)

Alexander
26.04.2017
11:08:22
если по честноку я таких не видел ;)

а Виталю знаю давно ?

?FLERRY?
26.04.2017
11:41:42
если по честноку я таких не видел ;)
Слушай, там выше было что-то про "Я помогал писать это "тут"". Как я понял, Telegram. Подробнее можно?

Alexander
26.04.2017
11:42:05
@bvitaliyg тебя спрашивают

?FLERRY?
26.04.2017
11:42:55
Ой, точно. Попутал :)

Vitaliy
26.04.2017
11:42:56
Но помогал не очень сильно и очень давнр

Когда он ещё не был популярным

?FLERRY?
26.04.2017
11:43:43
Кому конкретно? Это был коммит на гитхабе или лично прям :) А то залил огоньку и секретничает.

Хоть в общих чертах

Quantum Harmonizer
26.04.2017
11:46:51
Вот тоже интересно. И ВКонтакте "мы выпилили ООП", и Телеграм помогал писать. ?

? animufag ?
26.04.2017
11:48:09
https://github.com/DrKLO/Telegram/graphs/contributors не думаю что на гитхабе

Konstantine
26.04.2017
11:54:44
Изучил вопрос с APK Splits, все круто. Но что-то залип на сайте реалма и не пойму, везде там написано о некой Realm Mobile Database. Так это все-таки обертка вокруг SQLite или какая-то отдельная база данных прям? + сказано, что для APK Splits нужно сказать некую папку eclipse, которая находится в Download->Java, но никакого Download->Java на сайте нет %)

Quantum Harmonizer
26.04.2017
11:55:27
Не сказал бы, что всё круто, потому что очень неудобно размазывать приложение по нескольким пакетам, особенно если есть несколько флейворов.

Google
Konstantine
26.04.2017
11:57:49
Отдельная СУБД, как раз она и находится в этих .so.
Тогда что-то совсем не ясно. Почему его - реалм - используют, например тут, в сравнении ормок: https://habrahabr.ru/post/281226/

Quantum Harmonizer
26.04.2017
11:58:53
Тогда что-то совсем не ясно. Почему его - реалм - используют, например тут, в сравнении ормок: https://habrahabr.ru/post/281226/
Потому что объектную СУБД (Realm, ObjectBox) вполне можно сравнить с ORM, т. к. они решают одну и ту же задачу и имеют схожий интерфейс.

Quantum Harmonizer
26.04.2017
12:00:14
Очень странно по мне, ну да ладно.
Ну вот стоишь себе перед выбором: GreenDAO, Realm, ObjectBox или OrmLite. Идёшь в этот пост и видишь их сравнение производительности.

Konstantine
26.04.2017
12:01:04
Ну вот стоишь себе перед выбором: GreenDAO, Realm, ObjectBox или OrmLite. Идёшь в этот пост и видишь их сравнение производительности.
Но меж тем Realm и не относится к ним, т.к. это своя бд, а не обертка вокруг SQLite А так, тот же гриндао не работает с котлином

Quantum Harmonizer
26.04.2017
12:02:47
Но меж тем Realm и не относится к ним, т.к. это своя бд, а не обертка вокруг SQLite А так, тот же гриндао не работает с котлином
Это же не сравнение обёрток для SQLite, а сравнение ORM, которыми в определённом смысле являются объектные СУБД. А так, у меня весь код проекта на Котлине, а entity для GreenDAO — на Java, никаких страданий не испытываю.

Konstantine
26.04.2017
12:03:39
Konstantine
26.04.2017
12:04:21
Тогда да, проблем нет) А тут маленькое приложение, делить так нет желания пока)

Quantum Harmonizer
26.04.2017
12:04:49
Хех, у меня тоже маленькое приложение)

Igor
26.04.2017
12:05:31
У меня 13 модулей, привычное дело.
и какой у тебя граф зависимостей между модулями получился?

Quantum Harmonizer
26.04.2017
12:05:43
Igor
26.04.2017
12:06:07
Чем визуализировать?
можешь словами описать)

Konstantine
26.04.2017
12:08:06
К слову, где таки достать разделенный реалм то? Тот что в некой папке eclipse должен быть %)

Quantum Harmonizer
26.04.2017
12:09:51
можешь словами описать)
Я попробовал описать и охренел. Рисовать надо.

Konstantine
26.04.2017
12:19:37
Пропиши в градле сплит
А подробнее? Зачем?)

Sergey
26.04.2017
12:20:36
https://developer.android.com/studio/build/gradle-tips.html

А подробнее? Зачем?)
Ну ты же хочешь разделить апк по аби?

Google
Konstantine
26.04.2017
12:21:30
Ну ты же хочешь разделить апк по аби?
не то чтобы хочу, но я так понял, при использовании реалма это сильно снизит вес)

Sergey
26.04.2017
12:21:31
Или уже нет?

Konstantine
26.04.2017
12:22:40
но дело в том, что у самого реалма в доке сказано, что для этого нужно скачать не просто jar'ку их, а определенную папку и с ней работать)

Konstantine
26.04.2017
12:31:39
https://realm.io/docs/java/latest/#how-big-is-the-realm-base-library
Хм, видимо у них что-то поменялось. У меня просто старая их статья. Тобишь можно сразу просто разбивать? Шикарно, спасибо

Igor
26.04.2017
15:43:02
Живое видео с митапа про Kotlin https://youtu.be/kGUBasuFf5k (и не только) Рассписание: https://corp.mail.ru/ru/press/events/338/

Михаил
26.04.2017
16:10:13
@smred - мы следим за тобой

Admin
ERROR: S client not available

Alexander
26.04.2017
16:10:36
?

Dmitry
26.04.2017
16:38:02
ооо

тоже смотрю

Диёр
26.04.2017
17:19:43
У кого-нибудь есть опыт парного программирования?

Руслан
26.04.2017
17:23:30
Есть небольшой

Sasha
26.04.2017
18:29:30
С пеной у рта доказывают плюсы Котлина, но не знают про аби :)
а как знание аби коррелирует со знаниями котлина? )

Roman
26.04.2017
18:35:07
можно как-то после a?.let {} ?: написать не один вызов, а блок вызовов? если ставлю фигурные скобки, то получаю ошибку, что ожидается Unit, а не ()->Unit

Igor
26.04.2017
18:35:27
Чую сегодня еще народу набежит (если на митапе кто-нибудь расшарит чатик конечно)

Roman
26.04.2017
18:36:51
run {}
а к чему применится run в этом случае?

Quantum Harmonizer
26.04.2017
18:37:07
а к чему применится run в этом случае?
есть самостоятельная run, не extension

Google
Roman
26.04.2017
18:37:58
почему-то студия показывает мне на вот эту: /** * Calls the specified function [block] with `this` value as its receiver and returns its result. */ @kotlin.internal.InlineOnly public inline fun <T, R> T.run(block: T.() -> R): R = block()

Quantum Harmonizer
26.04.2017
18:43:50
/** * Calls the specified function [block] and returns its result. */ @kotlin.internal.InlineOnly public inline fun <R> run(block: () -> R): R = block() /** * Calls the specified function [block] with `this` value as its receiver and returns its result. */ @kotlin.internal.InlineOnly public inline fun <T, R> T.run(block: T.() -> R): R = block()

Roman
26.04.2017
18:45:03
да, это я вижу. но если я смотрю в IDE куда ведет вызов, то резолвится именно второй метод

мб баг

Quantum Harmonizer
26.04.2017
18:45:33
А, потому что область видимости.

Roman
26.04.2017
18:45:54
а, применяется к текущему классу? =)

Quantum Harmonizer
26.04.2017
18:45:59
this в run будет тот же, что и снаружи. я думаю.

Roman
26.04.2017
18:46:05
да, точно

логично

как вы решаете вопрос, если два nullable свойства нужно проверить в одном if:if (a != null && b!= null)? я подобное спрашивал, но так для себя пока ответ не нашел

вложенный let как-то не оч

по понятным причинам

Quantum Harmonizer
26.04.2017
18:49:25
ну, например, if (a != null && b != null) {

Roman
26.04.2017
18:51:44
смарт касты не работают для var

и чтобы такое написать нужно выше завести по локальной переменной на каждое свойство

val a = this.a

типа такого

Dmitry
26.04.2017
18:52:55
смарт касты не работают для var
и правильно делают, ибо это не переменная а геттер

Roman
26.04.2017
18:53:21
правильно делают, потому что не тред сейф я бы сказал

почему понятно

не понятно как не писать много "лишнего" кода

Страница 111 из 982