
Шустрый
10.06.2018
23:04:59
Привет ребят, я с вопросиками, есть кто делал регистрацию и авторизацию на ktor?
поделитесь хорошими практиками
хочется сделать регистрацию через номер телефона и код, и собственно авторизацию так же

Igor
10.06.2018
23:10:20

Шустрый
10.06.2018
23:10:44

Google

Igor
10.06.2018
23:11:46
Меньше, что-то около 0,5 по-моему. Не помню точно

Quantum Harmonizer
11.06.2018
00:06:31

Dumitru
11.06.2018
05:21:44
Как и где деплоить ktor netty приложение ? (я никогда не деплоил web приложения)

Шустрый
11.06.2018
05:25:38

Quantum Harmonizer
11.06.2018
05:40:58

Dumitru
11.06.2018
05:43:02

Aleksandr
11.06.2018
05:43:48

Шустрый
11.06.2018
05:44:24

Quantum Harmonizer
11.06.2018
05:46:22

picty
11.06.2018
10:16:08
Ребята, подскажите пожалуйста, как можно проще-вернее:
есть лист List<BaseCustomClass> и нужно его передать в numberPicker.displayedValues - который принимает String[].
BaseCustomClass имеет перекрытый toString()
Каие есть варианты реализации?
Мой вариант:
val itemsString = items.map { it.toString() }
numberPicker.displayedValues = itemsString.toTypedArray()
Но хорошо ли это и единственный ли это вариант?
Спасибо!

Pavlo
11.06.2018
10:19:09
val values = items.map(BaseCustomClass::toString).toTypedArray()

picty
11.06.2018
10:49:16

Google

Vik
11.06.2018
17:01:53
всем дратути!
я вам тут годноты принес — Свежий Разбор, с идиоматичным Димой Жемеровым с конференции JPoint 2018 http://razbor-poletov.com/2018/06/episode-162.html. Enjoy!

Руслан
11.06.2018
17:10:59

Igor
11.06.2018
17:21:09
А напомните, как можно бесплатно писать на Kotlin-Native? CLion EAP надо качать?

Friedrich
11.06.2018
17:21:30
vim!
А если серьёзно, то там (в CLion) уже ок поддержка Kotlin Native? Можно юзать?

Руслан
11.06.2018
17:26:41

Bogdan
11.06.2018
17:27:31

Руслан
11.06.2018
17:30:19

Igor
11.06.2018
17:30:25

Руслан
11.06.2018
17:30:40

Igor
11.06.2018
17:33:59
ublock)
??? Не понял.
Кстати, после того как вводишь данные, она исчезает.

Andrew
11.06.2018
17:34:47
Последний раз, когда стояла EAP CLion, кушать не просила. Сейчас запущена IDEA Ultimate EAP — тоже не просит.
(Зачем покупал подписку — непонятно (нет))

Igor
11.06.2018
17:34:58
О, прилетел ключик на почту. Видимо там все на автомате работает.

Руслан
11.06.2018
17:37:27

dimiii
11.06.2018
17:45:31

Igor
11.06.2018
17:49:40
Я что-то туплю, поставил и активировал CLion, а котлина там нет (только c++).
В Plugins котлина тоже нет.
Как поставить?

Kirill
11.06.2018
17:49:41
Для использования EAP не нужна лицензия

Igor
11.06.2018
17:50:49
Какая версия clion?
(последняя)
Вроде нашел, он почему-то не в "Install JetBrains Plugins", а просто в "Browse repositories"

Google

Kirill
11.06.2018
17:51:35

Alexander
11.06.2018
19:42:13
Думаю что концу года все полноценно зафурыкает.

Kirill
11.06.2018
21:00:15

Антон
11.06.2018
23:04:03
Раз тут есть хорошо знающие по JetBrains - можно ли будет автоматически поливать студенческую подписку?
И можно ли из неё пилить опен-сорс проекты?

Andrey
11.06.2018
23:22:08

Антон
11.06.2018
23:22:44
Нет)
Но студенты... Они же учатся 6 лет...

Andrey
11.06.2018
23:22:52
И иногда отчисляются.
+ студенты -это учащиеся, а не потребители услуг ВУЗов

Антон
11.06.2018
23:23:16
Но и тогда же отбирают почту .edu

Andrey
11.06.2018
23:23:21
Т.е школьники и все остальные.

Антон
11.06.2018
23:24:17

Andrey
11.06.2018
23:25:02
Я студак сканировал. Думаю, что какая-нибудь справка из школы зайдёт)

Антон
11.06.2018
23:25:38
Ухты, вот это хорошо

Kirill
11.06.2018
23:43:49

Google

Vladimir
12.06.2018
02:40:47

Brian
12.06.2018
04:59:58
А у школьников как? У них же нет почт .edu
У большинства школ есть .edu домен и почту в нём можно у инфориатика попросить.
Плюс можно получить лицензию не только полтвердив почту,но и по карточке isic,которую так же школьникам выдают или предоставив документы от рукоаодства учебного заведения

Славка
12.06.2018
05:20:56

Alexander
12.06.2018
08:03:58
У меня преподавательская подписка, спокойно продлевается каждый год при подтверждении рабочего электронного адреса в учебном заведении. .edu не обязательно, достаточно чтобы он был в соответствующем списке. Если его там нет, пишется письмо с печатью учебного заведения и отсылается им.
Open source - без проблем. Закрытый софт для образования и науки тоже. Комерческий софт - это уже немножко abuse. Но если вам платят деньги, то можно и купить.

I
12.06.2018
08:08:44
ребята как в котлин наследоваться от java класса? пишу open class TestApplicationKt: Application {
} но ему это не нравится

Egor
12.06.2018
08:09:54
Application()

I
12.06.2018
08:11:19
Application()
спасибо, то есть везде надо указывать именно конструктор? просто нигде не нашел описание этого момента

Egor
12.06.2018
08:20:17
Это аналог переопределения крнструктора из джавы. А-ля,
Java:
class Base {
public Base(int smth) {
...
}
}
class Derived extends Base {
public Derived(int smth) {
super(smth);
}
}
Kotlin:
class Base(smth: Int) {
init {
...
}
}
class Derived(smth: Int): Base(smth) {
}
Ну, а то, что конструкторы без аргументов тоже приходится указывать - это издержки

Anton
12.06.2018
08:20:50
почитай внимательно котлингланг орг

OlegKrikun
12.06.2018
08:25:03

I
12.06.2018
08:26:14

OlegKrikun
12.06.2018
08:30:12
Class : Interface<T> собственно как и в джаве

I
12.06.2018
08:30:26


dimiii
12.06.2018
10:50:03
Что думаете по поводу https://medium.com/@sellmair/phantom-read-rights-in-kotlin-modelling-a-pipeline-eef3523db857 ?
Вроде как слишком много бойлерплейта, по сравнению с другими языками.
Думаю можно использовать альтернативу на sealed classes и f-bounded polymorphism и ничего не потерять:
sealed class Request<T : Request<T>>
class CaseA(val param1: Any = Any()) : Request<CaseA>()
class CaseB(val param2: Any = Any()) : Request<CaseB>()
interface Processable<T : Request<T>> {
fun process(request: T)
}
class CaseAProcessing : Processable<CaseA> {
override fun process(request: CaseA) {
request.param1
}
}
class CaseBProcessing : Processable<CaseB> {
override fun process(request: CaseB) {
request.param2
}
}
val test = CaseAProcessing().process(CaseA())
Полиморфная обработка пишется просто
interface PolymorphicProcessable {
fun process()
}
class PrintCase(val request: Request<*>) : PolymorphicProcessable {
override fun process() = when (request) {
is CaseA -> println("A")
is CaseB -> println("B")
}
}
..
val requests = listOf(CaseA(), CaseB())
val processing = listOf(
::PrintCase andThen PrintCase::process,
::PrintParam andThen PrintParam::process
)
val test2 = requests.forEach {
req -> processing.forEach { it(req) }
}


Quantum Harmonizer
12.06.2018
11:03:39
У нас есть проблема с полиморфными данными, но если мы перейдём на котлин, она решится на корню :)