1. Неочевидные заметки #2

    На днях один из моих коллег задал вопрос в своей заметке: почему в Java 8 можно принять лямбду как компаратор, а в Kotlin - нет. В качестве примера был приведен вот такой код: Java: IntStream.range(0, 10).boxed().max((o1, o2) -> 0) Kotlin: (0..10).maxWith { o1,…

    on kotlin

  2. NoSuchMethodError в Kotlin Script

    В предыдущей статье мы рассмотрели некоторые WTF-ы, с которыми может столкнуться каждый, решившийся пойти и начать писать DSL на языке Kotlin. С ними можно успешно бороться и побеждать, что мы и будем делать снова. Итак, вы написали движок и обмазались котлин-классами для того, чтобы эффективно писать котлин-скрипты. Подключили всё по…

    on kotlin dsl

  3. Неочевидные заметки #1

    Знатокам Котлина вопрос, а остальным просто наподумать. Что будет выведено в результате работы этого небольшого куска кода: greeterWrap("hello", "hi", "bonjour")() fun greeterWrap(first: String, vararg vars: String, second: String = "ha ha") = { Greeter(first, *vars, second).greet() } class Greeter (val first: String, vararg val vars: String, val second: String = "") { fun…

    on kotlin

  4. Kotlin, DSL и все все все

    В одном из факультативных проектов мне понадобилось заавтоматизировать некоторые не слишком сложные, но рутинные действия. Пробой пера для решения проблемы выступил кем-то любимый, а кем-то не очень, Ansible по всё тем же понятным причинам: просто, быстро, и даже работает. И не сказать, чтобы он не решил проблемы, наоборот, очень даже,…

    on kotlin dsl devops

  5. Hack your workspace (ENG)

    Every developer, tester or other IT people have their workspace. Employer, specialization. It doesn't matter. You have an infinite number of files on your computer. Favorite console commands. Shortcuts. Rituals that you do every day. But do you really often think about your actions? About what do you do? How…

    on devops