
Sergey
30.03.2017
19:17:41
это ж стандартная либа, там не до красивостей же

Igor
30.03.2017
19:18:01

Boris
30.03.2017
19:19:02

Igor
30.03.2017
19:20:07

Google

Sergey
30.03.2017
19:20:47
а там разве не C стиль?

Boris
30.03.2017
19:20:48

Sergey
30.03.2017
19:20:59
def CalculateFF(signals: Array[Signal], population: Array[Individual], valueFactor: Int): Int = {
var result = 0
for(i <- population.indices) {
val individual = population(i)
val lower = individual.lowerGenes
val upper = individual.upperGenes
for (j <- signals.indices) {
var passed = true
var t = 0
val signal = signals(j)
val variables = signal.variables
while (passed && t < varCount) {
val value = variables(t)
if(value <= lower(t))
passed = false
else
if(value >= upper(t))
passed = false
t += 1
}
if(passed && valueFactor == 1)
result += signal.value
}
}
result
}

Igor
30.03.2017
19:23:54
ну вот for (j <- signals.indices) можно же убрать,
в доке написано что indices создает Range объект и по нему потом идут итерации

Boris
30.03.2017
19:26:59
у скалы с фором вообще беда
это типа линку в сишарпе, туда все навернули кроме возможности просто заитерироваться. любой фор компилируется в цепочку вызовов методов

Igor
30.03.2017
19:29:11

Boris
30.03.2017
19:29:18
получается, что даже если ты хочешь избавиться от создания лямбды, ты не можешь этого сделать через фор. в лучшем случае придется переписать по месту всё на вайлы
я когда это увидел сразу понял, что это не моё

Igor
30.03.2017
19:31:20

Boris
30.03.2017
19:31:21
котлин же наоборот очень гибкий, пусть даже в стдлибе все через итератор, у тебя есть почти любые возможности для того, чтобы сделать свой код более приличным
скале не хватает на мой вкус простоты и изящности

Google

Igor
30.03.2017
19:40:28

Boris
30.03.2017
20:28:13

Konstantine
30.03.2017
22:08:14
Люди добрые, как то относительно давно читал, что если использовать Kotlin в Android с Data Binding то это боль. Сейчас все так же или найн?

? animufag ?
30.03.2017
22:28:56
я так для себя и не понял стоит ли их использовать вообще.
вроде как экстеншонс удобнее,
Ну и если кто будет отвечать вот ещё вопросы:
удобно диагностировать ошибки? поменял название xml или в коде и в каждом из вариантов (биндинги extensions butterknife) вы получите адекватное пояснение на этапе компиляции, что мол не могу найти сущность с таким именем из такого файла?
для адаптеров все эти решения применимы?

Наиль
31.03.2017
07:18:50
Код из java samples. Как сконвертить в котлин?
@CompoundIndexes({
@CompoundIndex(name = "age_idx", def = "{'lastName': 1, 'age': -1}")
})
http://docs.spring.io/spring-data/data-document/docs/current/reference/html/#mapping-usage-indexes

Sergey
31.03.2017
07:19:23
вставь в IDE оно тебе само сконвертит)

Наиль
31.03.2017
07:19:42
было бы все так просто. Не конвертит
Если сделать так, то компилится но не работает
@CompoundIndexes(
CompoundIndex(name = "email_age", def = "{'email.id' : 1, 'age': 1}")
)

Quantum Harmonizer
31.03.2017
07:21:28
Ещё тут в Java- и Котлин- аннотациях указаны разные значения.


Наиль
31.03.2017
07:30:50
Если сделать так, то компилится но не работает
@CompoundIndexes(
CompoundIndex(name = "email_age", def = "{'email.id' : 1, 'age': 1}")
)
был не прав, работает. Индекс создается по двум полям. Что-то заглючило тогда значит.
Вот конечный результат
@CompoundIndexes(
CompoundIndex(name = "bot_user_idx", unique = true, def = "{'bot' : 1, 'user': 1}")
)
data class CompoundModel @PersistenceConstructor constructor(
@Id
val id: ObjectId?,
val bot: Long,
val user: Long,
val text: String
)
Слушайте, а это нормально что в модельке поле обьявлено вот так:
@Id
val id: ObjectId?,
В монге оно выглядит так:
"_id" : ObjectId("58de0582cbb834448257bf29")
А через restcontroller возвражается так
"id": {
"timestamp": 1490945410,
"machineIdentifier": 13350964,
"processIdentifier": 17538,
"counter": 5750569,
"timeSecond": 1490945410,
"date": 1490945410000,
"time": 1490945410000
}
ObjectId из пакета import org.bson.types.ObjectId

Sergey
31.03.2017
07:39:14
да

Наиль
31.03.2017
07:39:59
data class
Для обычного класса и без этого работает
Kotlin’s data classes don’t have a default constructor (non-arg). However, many mapping/serialization libraries rely on the existence of this default constructor. Jackson and Spring Data MongoDB are such libraries. Spring Data MongoDB also requires a default constructor if you use default parameter values.
But you can fix this easily by adding the @PersistenceConstructor annotation. :)

Sergey
31.03.2017
07:53:30
добавь плагин no-args и все будет работать)

Google

Наиль
31.03.2017
08:00:15
?

Сергей
31.03.2017
09:05:32
Всем привет. Кто нибудь использует аналоги checkstyle, findbugs, pmd для котлина?

Igor
31.03.2017
09:06:26
А по каким причинам у when может не подсвечиваться ворнинг если если обработаны не все варинты sealed class?

Руслан
31.03.2017
09:07:26
если у тебя не экспрешшен? сайд-эффектами балуешься?

Igor
31.03.2017
09:08:23

Сергей
31.03.2017
09:15:58
за kotlin lint спасибо, посмотрю

Igor
31.03.2017
09:19:48

Dzmitry
31.03.2017
10:08:04
Привет всем
Может тут есть люди из Яндекса
?

Sergey
31.03.2017
10:12:36
яндекс юзает котлин?

Tony
31.03.2017
10:14:14

Dzmitry
31.03.2017
10:14:28
Ну а вдруг.
Может юзают, это раз

Руслан
31.03.2017
10:15:00
@iamironz
Он вроде в яндекс ушел

Igor
31.03.2017
10:15:55

Dzmitry
31.03.2017
10:16:16
+ тут только что мой начальник рассказал, что собеседовал чувака, который из яндекса. Так тот категорически против Котлина. И даже на каком-то локальном митапчике делал доклад, почему Котлин зло - и мол убедил в этом всех присутсвующих

Google

Dzmitry
31.03.2017
10:16:26
Меня это заинтриговало

Tony
31.03.2017
10:16:54

FlaIDzeres
31.03.2017
10:17:02
Аргументы в студию)

Kirill
31.03.2017
10:17:20

Руслан
31.03.2017
10:17:24

Dzmitry
31.03.2017
10:17:32
так не было аргументов. Время на интервью ограничено, спрашивать не стали + меня ж там не было

Tony
31.03.2017
10:17:46

Dzmitry
31.03.2017
10:17:55
поэтому мне интересно найти может запись или тех кто присутсвовал

Tony
31.03.2017
10:18:25
— котлин говно!
— почему?
— бля, нет времени
— так ты же сам пришел
— бля, все, не могу!

Dzmitry
31.03.2017
10:19:00
збс)
не, ты не понял. У него спрашивать не стали почему, а не он не стал рассказывать. Я жалею что меня там не было

Admin
ERROR: S client not available

Руслан
31.03.2017
10:19:20
Кстати вроде twitter.com/artem_zin еще в яндексе работал (сейчас в juno)

FlaIDzeres
31.03.2017
10:19:28

Tony
31.03.2017
10:19:35
ну так он же должен был как-то выразить свои мысли на эту тему

Dzmitry
31.03.2017
10:19:49
просто, как я понимаю, когда его просили про себя рассказать, он сказал, что мол он против котлина. Ему ответили - ок, погнали дальше

Tony
31.03.2017
10:20:10

FlaIDzeres
31.03.2017
10:20:36

Dzmitry
31.03.2017
10:20:38

Руслан
31.03.2017
10:20:56
@artem_zin

Dzmitry
31.03.2017
10:21:15
Артем из Джуно ж

Google

Konstantin
31.03.2017
10:21:18
- Всем привет, сегодня я выступаю с докладом "..."
- Привет, расскажи, чем ты занимаешься?
- Котлин — УГ! Ну а теперь к теме доклада.

Igor
31.03.2017
10:21:18

Tony
31.03.2017
10:21:23
> убедил всех в том, что котлин говно
> просто сказал, что он против котлина
где логика?

Руслан
31.03.2017
10:21:55

Dzmitry
31.03.2017
10:23:01
Суть в том:
- чел против котлина,
- запилил про это докладик
- он утверждал что годный докладик
Т.к у нас тут всем на Котлин особо положить, то про подробности его распрашивать не стали
Вот может можно как-то надыбать докладик

Igor
31.03.2017
10:25:02
https://artemzin.com/blog/why-i-dont-want-to-use-kotlin-for-android-development-yet/ вот кстати кажись от этого же @artem_zin

Dzmitry
31.03.2017
10:25:26
UPDATE:
Kotlin is pretty much ok now, here are some thoughts about using Kotlin 1.0.2 in production.

Руслан
31.03.2017
10:25:28
Да, от него)

Konstantin
31.03.2017
10:26:03
Да ладно, написано-то было год назад. Да и Артем вроде уже давно не в яндексе.

Dzmitry
31.03.2017
10:26:37
и писалось про нестабильную ветку

Igor
31.03.2017
10:27:07

Sergey
31.03.2017
10:27:12
пусть статью обновит

Sergey
31.03.2017
10:28:05
та да, моки пофиксили уже, время компиляции тоже, да и плагин норм работает

Igor
31.03.2017
10:28:29

Sergey
31.03.2017
10:28:49
а что смутило?

Igor
31.03.2017
10:34:58
а что смутило?
- "моки пофиксили" - это можно сказать с большой натяжкой (через доп плагины)
Тут народ переходит на mockito 2.0 (которые поддерживает моки на final), что бы тестить Котлин классы.
- Холодная компиляция, явно не становится быстрее
- Anotation processor все так же отваливается и глючит с разными библиотеками
- Плагин, последнее время стал подвешивать идею и вроде ощутимо больше жрать ресурсов
те я бы резюмировал что за год НЕ стало как-то супер лучше, вроде все также.
Но за 1.1 и его фичи конечно спасибо ?

Руслан
31.03.2017
10:36:02
а что с моками? интерфейсы не в моде?

Igor
31.03.2017
10:36:40

Sergey
31.03.2017
10:36:42
final классы даже в джаве ты не сможешь мокать или делать прокси на них

Руслан
31.03.2017
10:36:56