@kotlin_lang

Страница 121 из 982
Dzmitry
03.05.2017
15:17:29
поэтому иногда их больше чем нужно получается

Proguard поможет выпилить такую шнягу

правда не всегда

Quantum Harmonizer
03.05.2017
15:19:26
Google
Pavel Shackih
03.05.2017
15:24:16
Proguard поможет выпилить такую шнягу
попробовал, всё осталось как есть

Dzmitry
03.05.2017
15:25:00
но он там не все может вычистить, но спасает все таки

Quantum Harmonizer
03.05.2017
15:25:10
Прям всё? Там же по идее много очевидных оптимизаций.

Pavel Shackih
03.05.2017
15:27:06
было Bundle var3 = new Bundle(); Bundle $receiver$iv = (Bundle)var3; Bundle $receiver = (Bundle)$receiver$iv; $receiver.putSerializable("error", (Serializable)error); Bundle var10 = (Bundle)var3; стало Bundle localBundle1 = new Bundle(); Bundle localBundle2 = localBundle1; Bundle localBundle3 = localBundle2; localBundle3.putSerializable("error", (Serializable)paramThrowable); Bundle localBundle4 = localBundle1;

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

Quantum Harmonizer
03.05.2017
15:31:05
джава нерепрезентативна, байт-код нада

по идее ProGuard умеет оптимизировать граф управления

Pavel Shackih
03.05.2017
15:48:56
ох, в байткоде всё вроде ок public final org.aim.wallpaper.ui.a.f a(java.lang.Throwable); Code: 0: aload_1 1: ldc #2 // String error 3: invokestatic #18 // Method d/d/b/g.b:(Ljava/lang/Object;Ljava/lang/String;)V 6: new #10 // class org/aim/wallpaper/ui/a/f 9: dup 10: invokespecial #20 // Method org/aim/wallpaper/ui/a/f."<init>":()V 13: astore_2 14: aload_2 15: astore 9 17: new #6 // class android/os/Bundle 20: dup 21: invokespecial #16 // Method android/os/Bundle."<init>":()V 24: astore_3 25: aload_3 26: astore 4 28: aload 4 30: astore 5 32: aload 5 34: ldc #2 // String error 36: aload_1 37: checkcast #8 // class java/io/Serializable 40: invokevirtual #17 // Method android/os/Bundle.putSerializable:(Ljava/lang/String;Ljava/io/Serializable;)V 43: aload_3 44: astore 10 46: aload 9 48: aload 10 50: invokevirtual #21 // Method org/aim/wallpaper/ui/a/f.setArguments:(Landroid/os/Bundle;)V 53: aload_2 54: areturn хотя предыдущий кусок был из jad gui, он же эти присваивания не сам придумал после обфускации

Roman
03.05.2017
16:51:38
хочу сделать enum внутри класса и как параметр передать туда экземпляр inner класса. получаю ошибку "constructor of inner class can be called only with receiver of containing type"

как можно вызвать конструктор с "receiver of containing type"? есть какой-то синтаксис для этого?

Михаил
03.05.2017
16:54:09
разве конструктор енама можно вызвать вне енама?

Roman
03.05.2017
16:58:16
разве конструктор енама можно вызвать вне енама?
вроде как нельзя. в этом и проблема. а класс enum статический как бы, не inner. что в этом случае можно сделать? вижу два варианта: sealed классы вместо enum и установка свойства не через конструктор, а через сетер. есть варианты лучше?

причем sealed класс же тоже нельзя inner сделать

Google
Roman
03.05.2017
17:08:49
и сделать не абстрактный проперти в енуме тоже нельзя

Roman
03.05.2017
17:38:29
Просто inner class, который эмулирует подведение энама. Или enum + inner EnumMap.
да, я пока так и сделал - сделал inner обертку которая держит экземпляр инума и нужного мне свойства

но громоздко

Митко Соловец?
03.05.2017
19:57:17
пацаны, креатив зацените



?FLERRY?
03.05.2017
19:58:07
Шок-контент

Quantum Harmonizer
04.05.2017
09:26:26
Есть способы найти использование destructuring? Как, например, Ctrl + клик на конструкторе покажет, где создаются экземпляры, и т. д.

Pavel ?
04.05.2017
10:11:45
парни

куда делся kotlin-maven-plugin?

кто в курсе?

Pavel Shackih
04.05.2017
10:17:40
куда делся kotlin-maven-plugin?
http://www.mvnrepository.com/artifact/org.jetbrains.kotlin/kotlin-maven-plugin/1.1.2-2 никуда вроде

Pavel ?
04.05.2017
10:20:10
https://search.maven.org/#search%7Cga%7C1%7Ckotlin

Pavel Shackih
04.05.2017
10:22:07
вот же он http://central.maven.org/maven2/org/jetbrains/kotlin/kotlin-maven-plugin/1.1.2-2/

Pavel ?
04.05.2017
10:24:59
а все...это у нас проблемы

спасибо

Руслан
04.05.2017
10:28:16
May the force be with you! ?

Михаил
04.05.2017
11:18:17
ништяк

опять обновление котлин плагина мне андроид студию сломало

Google
Quantum Harmonizer
04.05.2017
11:19:22
каким образом?

Михаил
04.05.2017
11:20:19
студия не запускалась

Igor
04.05.2017
13:43:47
Есть тут бойцы которые с KotlinJS + ReactJS / ReactNative игрались? Поделитесь опытом (ни как не могу решить TypeScript или KotlinJS).

Badya
04.05.2017
13:50:10
Если время позволяет залезай в котлован)

pplcf
04.05.2017
14:15:00
у меня недавно такой же выбор стоял

выбрал все таки TS

если есть время и пишете все своё , то KotlinJS думаю вполне себе выбор

"все своё" - в рамках реакта, конечно

мне вот antd нужен был

Igor
04.05.2017
14:18:45
Если время позволяет залезай в котлован)
Что-то не убедительно (опыта я так понял нет). У Kotlin единственные плюсы это язык (кейс классы и when почти как в scala, в TS с этим хуже) У TS НЕТ лока на IDE, можно писать хоть VSCode, быстрая компиляция (транспайлинг), JSX шаблоны.

если есть время и пишете все своё , то KotlinJS думаю вполне себе выбор
Я не настолько люблю Kotlin, что бы это было аргументом)) Так бы я F#/OCaml выбрал бы, но там все плохо.

pplcf
04.05.2017
14:25:51
F# - fable?

Igor
04.05.2017
14:27:01
F# - fable?
Я и сказал что “все плохо”, а не “нет вариантов” ?

Quantum Harmonizer
04.05.2017
14:27:24
pplcf
04.05.2017
14:27:33
там же знак вопроса

Igor
04.05.2017
14:28:42
btw, пробовл elm?
Вот кстати все советую (и в F# чате тоже), реально стоит покопать. Я просто боюсь что там “Бизнес Логику” будет сложно описывать, ведь он вроде для UI.

Quantum Harmonizer
04.05.2017
14:29:40
Вот кстати все советую (и в F# чате тоже), реально стоит покопать. Я просто боюсь что там “Бизнес Логику” будет сложно описывать, ведь он вроде для UI.
Я не советую, больше интересуюсь. Мне хаскелоподобный синтаксис не зашёл, больше Котлин всё-таки нравится (но stdlib ktjs — мегабайт, что печально.)

Sergey
04.05.2017
14:42:07
в сжатом виде?

Quantum Harmonizer
04.05.2017
14:47:09
Dzmitry
04.05.2017
15:19:55
>но stdlib ktjs — мегабайт, что печально Я в джава скрипте конечно не шарю, от слова совсем, но помню мне рассказывали, что всякие веббаки там все перепаковывают и вырезают лишнее на отлично (типо прогуарда в жаве). Не помогает?

Google
Quantum Harmonizer
04.05.2017
15:21:37
Я тоже не силён. Использую Uglify, но не знаю, как он работает.)

Igor
04.05.2017
15:24:40
Я не советую, больше интересуюсь. Мне хаскелоподобный синтаксис не зашёл, больше Котлин всё-таки нравится (но stdlib ktjs — мегабайт, что печально.)
Глянул Eml - реально хаскель, так не пойдет) (я и на десктопе спрыгнул с haskell -> ocamll) Надо все таки попробовать Kotlin ?, нашел на гитхабе враппер https://github.com/andrewoma/reakt Видимо без него не обойтись тк ts2kt падает при конвертирование React/ReactNative

Максим
04.05.2017
15:26:12
Я тоже не силён. Использую Uglify, но не знаю, как он работает.)
Он минифицирует файлы. Webpack в свою очередь может как минифициаровать файлы так и реализовывать "ленивую" загрузку

Admin
ERROR: S client not available

Igor
04.05.2017
15:48:59
JB вроде пишут.)
Единственное их мобильное приложение это Youtrack Mobile 97% JavaScript https://github.com/JetBrains/youtrack-mobile это даже не TypeScript - :absolutely disgusting:)

? animufag ?
04.05.2017
15:49:41
Вот кстати все советую (и в F# чате тоже), реально стоит покопать. Я просто боюсь что там “Бизнес Логику” будет сложно описывать, ведь он вроде для UI.
не думаю, что можно говорить, что elm для ui. js для ui? ещё насчёт треда. есть js-based языки (тип джс с сахаром или джс с типами), есть языки которые сами по себе и компилятся в js. так вот у вторых в итоге много проблем: отладка и диагностика, совместимость с либами и тд. все знают. Так вот ты так свободно решаешь на каком языке завтра будешь программировать, но то что реакта под елм нету тебя устраивает)? (не уверен но ставлю на то что там все либы мертвы из тех что есть) это не ирония, а интерес – тебя устраивает то, что тебе придётся программировать в той манере которую навязывает язык?

Quantum Harmonizer
04.05.2017
15:52:16
Единственное их мобильное приложение это Youtrack Mobile 97% JavaScript https://github.com/JetBrains/youtrack-mobile это даже не TypeScript - :absolutely disgusting:)
Хм. Просто, кажется, Илья Рыженков в Slack писал о том, что они пишут на Kotlin под React-Native. Тогда не знаю.

Igor
04.05.2017
15:55:15
Хм. Просто, кажется, Илья Рыженков в Slack писал о том, что они пишут на Kotlin под React-Native. Тогда не знаю.
Я не видел такого, но помню когда его объявили на блоге, в комментах (и slack) тоже обсуждали “почему не котлин?”. Мобильное приложение у них тк для галочки и сделано небось фронтендерами.

? animufag ?
04.05.2017
15:59:15
Очень пространный вопрос, не знаю что и ответить (чувствую наброс). Да и неважно это уже и тк выбора оказывается нет.
Ну да, перегнул чуток. Упрощу: реакт это требование или просто удобный инструмент.

Ну и первый вопрос тоже можно назвать вбросом. Но всё равно интересно как ты себе представляешь ui язык

Igor
04.05.2017
16:27:49
Ну да, перегнул чуток. Упрощу: реакт это требование или просто удобный инструмент.
1. reactnative это инструмент исключительно для легкого создания кроссплатформенного UI 2. про Elm это написано на вики, но я понимаю что на нем можно писать логику, но тк я не хочу писать на Haskell (OCaml норм) 3. опустим это диалог, тк мои “представления о чем либо” никому не интересны в этом чате

? animufag ?
04.05.2017
16:38:12
1. reactnative это инструмент исключительно для легкого создания кроссплатформенного UI 2. про Elm это написано на вики, но я понимаю что на нем можно писать логику, но тк я не хочу писать на Haskell (OCaml норм) 3. опустим это диалог, тк мои “представления о чем либо” никому не интересны в этом чате
1. Да немного забылся что натив. Ну в общем думаю на елм ты его не получишь. 2. В нём нет тайп классов. Так что ты не получишь монад, функторов. Чтобы сделать map пишешь ConcreteConatiner.map с другой стороны никакого другого полиморфизма там тоже нет.

Может reasonml?

Igor
04.05.2017
16:52:11
Sergey
04.05.2017
16:53:39
ссылку плиз
https://blog.jetbrains.com/kotlin/2017/04/use-kotlin-with-npm-webpack-and-react/

мой домашний проект на реализации от androwoma, даже пару коммитов сделал. Но сейчас в плана перейти на реализацию от jb.

Google
Igor
04.05.2017
16:55:24
https://blog.jetbrains.com/kotlin/2017/04/use-kotlin-with-npm-webpack-and-react/
А это видел, но мне нужне ReactNative (а не просто реакт)

Sergey
05.05.2017
11:09:22
Как избавиться от cast? val handlers = HashMap<Class<*>, (Any) -> Unit>() fun <T> setHandler(clazz: Class<T>, handler: (T) -> Unit) { handlers.put(clazz, handler as (Any) -> Unit) }

? animufag ?
05.05.2017
11:13:27
fun <T: Any>

Quantum Harmonizer
05.05.2017
11:13:34
fun <T: Any>
T — не Any, а какой-то подтип

Badya
05.05.2017
11:13:56
class Some<T> { val handlers = HashMap<Class<T>, (T) -> Unit>() fun setHandler(clazz: Class<T>, handler: (T) -> Unit) { handlers.put(clazz, handler) } }

Quantum Harmonizer
05.05.2017
11:14:22
? animufag ?
05.05.2017
11:14:46
будет круто если мой совет решит не разрешимую задачу

Sergey
05.05.2017
11:14:54
class Some<T> { val handlers = HashMap<Class<T>, (T) -> Unit>() fun setHandler(clazz: Class<T>, handler: (T) -> Unit) { handlers.put(clazz, handler) } }
Some<T> нельзя. В классе хранится множество пар класс, энкземпляр

Badya
05.05.2017
11:15:52
дай им общий интерфейс Handable и пиши class<T : Handable> ?

? animufag ?
05.05.2017
11:17:06
хотя нет, не помогло.

Quantum Harmonizer
05.05.2017
11:17:53
Sergey
05.05.2017
11:18:43
как насчёт val handlers = HashMap<Class<*>, Function1<*, Unit>>()
А это контлин вей? :) выглядит ужасно

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