https://kotlinlang.org logo
Docs
Join the conversationJoin Slack
Channels
100daysofcode
100daysofkotlin
100daysofkotlin-2021
advent-of-code
aem
ai
alexa
algeria
algolialibraries
amsterdam
android
android-architecture
android-databinding
android-studio
androidgithubprojects
androidthings
androidx
androidx-xprocessing
anime
anko
announcements
apollo-kotlin
appintro
arabic
argentina
arkenv
arksemdevteam
armenia
arrow
arrow-contributors
arrow-meta
ass
atlanta
atm17
atrium
austin
australia
austria
awesome-kotlin
ballast
bangladesh
barcelona
bayarea
bazel
beepiz-libraries
belgium
berlin
big-data
books
boston
brazil
brikk
budapest
build
build-tools
bulgaria
bydgoszcz
cambodia
canada
carrat
carrat-dev
carrat-feed
chicago
chile
china
chucker
cincinnati-user-group
cli
clikt
cloudfoundry
cn
cobalt
code-coverage
codeforces
codemash-precompiler
codereview
codingame
codingconventions
coimbatore
collaborations
colombia
colorado
communities
competitive-programming
competitivecoding
compiler
compose
compose-android
compose-desktop
compose-hiring
compose-ios
compose-mp
compose-ui-showcase
compose-wear
compose-web
connect-audit-events
corda
cork
coroutines
couchbase
coursera
croatia
cryptography
cscenter-course-2016
cucumber-bdd
cyprus
czech
dagger
data2viz
databinding
datascience
dckotlin
debugging
decompose
decouple
denmark
deprecated
detekt
detekt-hint
dev-core
dfw
docs-revamped
dokka
domain-driven-design
doodle
dsl
dublin
dutch
eap
eclipse
ecuador
edinburgh
education
effective-kotlin
effectivekotlin
emacs
embedded-kotlin
estatik
event21-community-content
events
exposed
failgood
fb-internal-demo
feed
firebase
flow
fluid-libraries
forkhandles
forum
fosdem
fp-in-kotlin
framework-elide
freenode
french
fritz2
fuchsia
functional
funktionale
gamedev
ge-kotlin
general-advice
georgia
geospatial
german-lang
getting-started
github-workflows-kt
glance
godot-kotlin
google-io
gradle
graphic
graphkool
graphql
graphql-kotlin
graviton-browser
greece
grpc
gsoc
gui
hackathons
hacktoberfest
hamburg
hamkrest
helios
helsinki
hexagon
hibernate
hikari-cp
hire-me
hiring
hongkong
hoplite
http4k
hungary
hyderabad
image-processing
india
indonesia
inkremental
intellij
intellij-plugins
intellij-tricks
internships
introduce-yourself
io
ios
iran
israel
istanbulcoders
italian
jackson-kotlin
jadx
japanese
jasync-sql
java-to-kotlin-refactoring
javadevelopers
javafx
javalin
javascript
jdbi
jhipster-kotlin
jobsworldwide
jpa
jshdq
juul-libraries
jvm-ir-backend-feedback
jxadapter
k2-early-adopters
kaal
kafka
kakao
kalasim
kapt
karachi
karg
karlsruhe
kash_shell
kaskade
kbuild
kdbc
kgen-doc-tools
kgraphql
kinta
klaxon
klock
kloudformation
kmdc
kmm-español
kmongo
knbt
knote
koalaql
koans
kobalt
kobweb
kodein
kodex
kohesive
koin
koin-dev
komapper
kondor-json
kong
kontent
kontributors
korau
korean
korge
korim
korio
korlibs
korte
kotest
kotest-contributors
kotless
kotlick
kotlin-asia
kotlin-beam
kotlin-by-example
kotlin-csv
kotlin-data-storage
kotlin-foundation
kotlin-fuel
kotlin-in-action
kotlin-inject
kotlin-latam
kotlin-logging
kotlin-multiplatform-contest
kotlin-mumbai
kotlin-native
kotlin-pakistan
kotlin-plugin
kotlin-pune
kotlin-roadmap
kotlin-samples
kotlin-sap
kotlin-serbia
kotlin-spark
kotlin-szeged
kotlin-website
kotlinacademy
kotlinbot
kotlinconf
kotlindl
kotlinforbeginners
kotlingforbeginners
kotlinlondon
kotlinmad
kotlinprogrammers
kotlinsu
kotlintest
kotlintest-devs
kotlintlv
kotlinultimatechallenge
kotlinx-datetime
kotlinx-files
kotlinx-html
kotrix
kotson
kovenant
kprompt
kraph
krawler
kroto-plus
ksp
ktcc
ktfmt
ktlint
ktor
ktp
kubed
kug-leads
kug-torino
kvision
kweb
lambdaworld_cadiz
lanark
language-evolution
language-proposals
latvia
leakcanary
leedskotlinusergroup
lets-have-fun
libgdx
libkgd
library-development
linkeddata
lithuania
london
losangeles
lottie
love
lychee
macedonia
machinelearningbawas
madrid
malaysia
mathematics
meetkotlin
memes
meta
metro-detroit
mexico
miami
micronaut
minnesota
minutest
mirror
mockk
moko
moldova
monsterpuzzle
montreal
moonbean
morocco
motionlayout
mpapt
mu
multiplatform
mumbai
munich
mvikotlin
mvrx
myndocs-oauth2-server
naming
navigation-architecture-component
nepal
new-mexico
new-zealand
newname
nigeria
nodejs
norway
npm-publish
nyc
oceania
ohio-kotlin-users
oldenburg
oolong
opensource
orbit-mvi
osgi
otpisani
package-search
pakistan
panamá
pattern-matching
pbandk
pdx
peru
philippines
phoenix
pinoy
pocketgitclient
polish
popkorn
portugal
practical-functional-programming
proguard
prozis-android-backup
pyhsikal
python
python-contributors
quasar
random
re
react
reaktive
realm
realworldkotlin
reductor
reduks
redux
redux-kotlin
refactoring-to-kotlin
reflect
refreshversions
reports
result
rethink
revolver
rhein-main
rocksdb
romania
room
rpi-pico
rsocket
russian
russian_feed
russian-kotlinasfirst
rx
rxjava
san-diego
science
scotland
scrcast
scrimage
script
scripting
seattle
serialization
server
sg-user-group
singapore
skia-wasm-interop-temp
skrape-it
slovak
snake
sofl-user-group
southafrica
spacemacs
spain
spanish
speaking
spek
spin
splitties
spotify-mobius
spring
spring-security
squarelibraries
stackoverflow
stacks
stayhungrystayfoolish
stdlib
stlouis
strife-discord-lib
strikt
students
stuttgart
sudan
swagger-gradle-codegen
swarm
sweden
swing
swiss-user-group
switzerland
talking-kotlin
tallinn
tampa
teamcity
tegal
tempe
tensorflow
terminal
test
testing
testtestest
texas
tgbotapi
thailand
tornadofx
touchlab-tools
training
tricity-kotlin-user-group
trójmiasto
truth
tunisia
turkey
turkiye
twitter-feed
uae
udacityindia
uk
ukrainian
uniflow
unkonf
uruguay
utah
uuid
vancouver
vankotlin
vertx
videos
vienna
vietnam
vim
vkug
vuejs
web-mpp
webassembly
webrtc
wimix_sentry
wwdc
zircon
Powered by Linen
russian
  • a

    aleksey.tomin

    06/20/2017, 8:59 AM
    Кстати, а что гуру рекомендуют использовать вместо checked exceptions? В ceylon'е есть объединение типа: ResultSet|SQLException result = st.executeQuery(); В java последнее время Either каждый себе пишет (не нашёл в стандартных либах): Either<SQLException, ResultSet> result = ... А как видят подобное авторы kotlin?
    y
    g
    • 3
    • 3
  • g

    gildor

    06/20/2017, 9:34 AM
    почему Either? Это же специализированная реализация
    sealed class SqlResult<T> {
        class ResultSet<T>(val data: T) : SqlResult<T>()
        class SqlException(val e: Exception) : SqlResult<Nothing>()
    }
    a
    • 2
    • 3
  • m

    miha-x64

    06/20/2017, 9:38 AM
    Может так сложиться, что каждая вторая библиотека будет втаскивать свой Either.
    👍 1
    a
    • 2
    • 3
  • p

    pserzh

    06/20/2017, 12:51 PM
    Привет! Некоторые библиотеки требуют дефолтный конструктор для сериализации. Как быть в таком случае с дата классами?
    s
    • 2
    • 2
  • m

    miha-x64

    06/27/2017, 5:06 PM
    Вообще, иногда (в retained-фрагментах, например) хочется поведения, как в Java — nullable без проверок.
    a
    • 2
    • 1
  • u

    123

    06/28/2017, 12:03 PM
    @a_wer1986 именно по той причине, что указал Андрей. У нас серверный код на джаве с aspectj, часть кода написана на котлине и вызывать aspectj проблемно.
    a
    • 2
    • 1
  • e

    exidnus

    07/09/2017, 9:21 PM
    Всем привет. Хочу на Котлине (скомпиллированном в js) ради интереса сделать простую вебстраничку, которая отображает список (табличку) и позволяет его редактировать. Взаимодействие с бэком по ресту, первоначальный вариант (самый простой) - каждые 10 секунд отправляется GET запрос, если данные обновились - перерисовывается табличка. Как это лучше сделать? Интересует самый простой и быстрый вариант.
    b
    • 2
    • 2
  • m

    miha-x64

    07/28/2017, 11:46 AM
    @farid.sabitov если бы это было хоть как-то связанно с Kotlin, можно было бы разместить это в #hiring
    f
    • 2
    • 2
  • o

    orangy

    08/13/2017, 12:21 PM
    Если вдруг кто любит соревнования: https://highloadcup.ru/
    e
    • 2
    • 2
  • a

    aleksey.tomin

    08/14/2017, 4:50 AM
    Пользовался раньше icq, jabber, skype, теперь slack (платный акаунт). По-моему jabber лучший. Но да, slack какой-то apple-style - популярен 😞
    i
    o
    • 3
    • 6
  • v

    voddan

    08/14/2017, 11:52 AM
    мои личные сообщения на Slack стираются через месяц. Такого еще ни одна платформа себе не позволяла
    i
    • 2
    • 1
  • o

    orangy

    08/15/2017, 9:08 AM
    Платные курсы и сертификат:)
    😆 1
    v
    i
    • 3
    • 2
  • c

    caffeine

    08/15/2017, 9:19 AM
    Всем привет увидел https://blog.jetbrains.com/kotlin/2017/08/kotlin-1-1-4-is-out/ на странице есть
    See the tutorial for more
    в разделе
    JavaScript debugging
    ссылка ведет на
    <https://kotlinlang.org/docs/tutorials/javascript/debugging-javascript/debugging-javascript.md>
    но по ссылке это:
    404 Not Found
    
    Code: NoSuchKey
    Message: The specified key does not exist.
    Key: docs/tutorials/javascript/debugging-javascript/debugging-javascript.md
    RequestId: D8FF69E3BCAF10C5
    HostId: kDWHCrkXKQd9Glo2fiuClquENVrxnWt54X/ntjHoVAAoJNLis5oqxFpCUqnXO/d9ExVYw2+ugLc=
    y
    • 2
    • 1
  • c

    caffeine

    08/18/2017, 10:48 AM
    Нашел ошибку в kotlin-js std:
    @kotlin.internal.InlineOnly
    public inline fun String.match(regex: String): Array<String> = asDynamic().match(regex)
    Указано, что функция
    null
    вернуть не может. однако: https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/String/match там написано:
    Если регулярное выражение содержит флаг g, метод вернёт массив, содержащий все сопоставления. Если сопоставлений не было, метод вернёт значение null.
    b
    • 2
    • 1
  • y

    yole

    09/12/2017, 2:47 PM
    чтобы что? чем не годится компиляция в .java код?
    k
    l
    +2
    • 5
    • 4
  • l

    lex

    09/13/2017, 2:48 AM
    есть ли в в планах добавить для property генерацию has[PROPERTY_NAME] метода? ну и соответсвенно добавить в property delegate
    var data: SomeType? = null
            get() = ...
            set(value) {...}
            has() = ...
    y
    v
    m
    • 4
    • 11
  • g

    gildor

    09/13/2017, 6:18 AM
    агрегат?
    l
    • 2
    • 3
  • l

    lewik

    09/13/2017, 1:47 PM
    А с kotlin native что то работающее уже есть? Вообще есть смысл заморачиваться и компилить в native вместо jvm?
    i
    b
    +2
    • 5
    • 5
  • s

    scdisorder

    09/14/2017, 9:58 PM
    кто уже связывался с kotlin-android? буду благодарен за рекоммендации по инфе 🙂
    g
    • 2
    • 1
  • c

    caffeine

    09/19/2017, 6:59 AM
    Добрый день. Сделал я простую библиотеку на котлине, положил в локальный репозиторий. Далее подключил в другом проекте созданную библиотеку. Другой проект тоже на котлине. Далее в идее открыл этот другой проект. в идее пытаюсь сделать импорт классов, ну или если пишу полностью имя классов из библиотеки - идея подчеркивает красным, говорит нет такого. Если пренебречь подсказкой идее и таки написать использование классов из той вот библиотеки, то компилятор все соберет. Собираю с помощью gradle. И вот мне стало не понятно - компилятор все собирает, а идея говорит что нет таких классов. Посмотрел зависимости проекта в самой идее. И тут выяснилось, что почему-то идея считает, что вот та моя библиотека - это kotlin-js библиотека. Почему так происходит не ясно. К кому можно обратиться по данной проблеме?
    o
    k
    y
    • 4
    • 16
  • a

    aleksey.tomin

    09/25/2017, 7:56 AM
    Просто kotlin для android (где нужно писать для JDK6, причём это будет так ещё лет 5 минимум) даёт намного больше плюсов, чем бэкенд с JDK8/JDK9. Я готов писать, но пока только на тесты дают добро. Будет новый проект- продавлю 🙂
    👍 2
    l
    • 2
    • 2
  • c

    caffeine

    09/25/2017, 2:04 PM
    где найти документацию как писать плагины для компилятора котлина?
    b
    • 2
    • 1
  • c

    caffeine

    09/25/2017, 2:29 PM
    на счет обоих типов: и kotlin-jvm и kotlin-js Компилятор сам по себе пережует все нормально. Проблем со стороны компилятора нет. проблема в идее: ее логика проста: если в подключаемой JAR библиотеке есть kjsm (если правильно помню) файлы, это перед нами kotlin-js библиотека. Соответственно, подключая такую библиотеку в JVM вы можете заметить, что все ваши классы из той библиотеки будто бы не найдены - идея все рисует красным.
    k
    l
    • 3
    • 12
  • b

    beholder

    09/28/2017, 6:28 PM
    Я не пойму что-то, Котлин сейчас поддерживает внешние nullable/notnull аннотации?
    g
    • 2
    • 2
  • n

    Noplooper

    09/28/2017, 9:14 PM
    Вопрос про разработку back-end. Есть ли Котлин библиотека с поддержкой coroutines/async-await для работы с TCP или все только через обертки используя существующие Java классы ?
    g
    p
    • 3
    • 3
  • b

    beholder

    09/29/2017, 3:22 PM
    ivy вроде минут 15 тупил
    i
    • 2
    • 2
  • o

    orangy

    10/02/2017, 12:31 PM
    Расширяемость сериализации там заложена, так что никаких плагинов писать не нужно будет.
    👍🏻 2
    s
    • 2
    • 1
  • b

    beholder

    10/02/2017, 1:49 PM
    Для максимальной мощности нужны макросы...
    s
    • 2
    • 1
  • b

    beholder

    10/02/2017, 4:26 PM
    Когда про макросы, лучше вспоминать про Rust. И поддержка IDE у них вроде есть
    g
    r
    • 3
    • 2
  • b

    beholder

    10/02/2017, 7:31 PM
    @snrostov, через лямбду можно, но запись слишком длинная получается
    s
    a
    • 3
    • 11
Powered by Linen
Title
b

beholder

10/02/2017, 7:31 PM
@snrostov, через лямбду можно, но запись слишком длинная получается
s

snrostov

10/02/2017, 7:34 PM
ну,
val setter = (KotlinClass::someProperty)::set
это наверное будет не быстро работать (ибо рефлекшен), и, как уже выше написали генерит 2 лишних класса.
b

beholder

10/02/2017, 7:35 PM
Нет, так без рефлекшена, но генерятся сразу 2 скрытых класса
Хотя если подумать, то с рефлекшеном может быть накладные расходы и меньше будут...
s

snrostov

10/02/2017, 7:42 PM
хм, точно, нет рефлекшена. не знал что KProperty::set генерит класс с "нативным" сеттером без рефлекшена. круто
Хотя если подумать, то с рефлекшеном может быть накладные расходы и меньше будут...
ну вот hotspot что то не очень инлайнит рефлекшен, если например, как в примере выше, сериализацию через рефлекшен делать. ну либо я что то не так делал. если развернуть цикл по полям вручную, то получается почти на порядок быстрее. правда не уверен в точности своих замеров
b

beholder

10/02/2017, 7:50 PM
Насколько я слышал, в hotspot всё равно для рефлекшена генерятся анонимные классы "на лету" в память
Инлайнить он будет, но циклов пройти должно много, и желательно в server VM
s

snrostov

10/02/2017, 7:59 PM
да, он генерит, но почему то цикл все равно не разворачивает
видимо не может знать что набор полей - константа
но это только предположение, глубоко не изучал
a

aleksey.tomin

10/03/2017, 5:03 AM
Рефлекшн из-за jdk6?
View count: 1