@kotlin_lang

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

Igor
30.03.2017
19:18:01
Boris
30.03.2017
19:19:02
Я про Scala
тогда значит не понял ?

Igor
30.03.2017
19:20:07
тогда значит не понял ?
Ты видел код Scala теста? Там тоже можно начать переписывать в C стиле и будет быстрее.

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

Boris
30.03.2017
19:20:48
Ты видел код Scala теста? Там тоже можно начать переписывать в C стиле и будет быстрее.
так в том и дело, что в скале не выйдет оставить код красивым, но чтобы работало быстро

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
у скалы с фором вообще беда

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

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
скале не хватает на мой вкус простоты и изящности
Одерски с тобой не согласен https://youtu.be/iobC5yGRWoo?t=3m43s

Boris
30.03.2017
20:28:13
Одерски с тобой не согласен https://youtu.be/iobC5yGRWoo?t=3m43s
Ещё бы он сказал: даа, язык-то получился так себе, не буду больше на нем деньги зарабатывать!

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
Если сделать так, то компилится но не работает @CompoundIndexes( CompoundIndex(name = "email_age", def = "{'email.id' : 1, 'age': 1}") )
Проблема может быть в annotation target, в Котлине они другие и иногда их нужно указывать явно.

Ещё тут в 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

Наиль
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
если у тебя не экспрешшен? сайд-эффектами балуешься?
Да я понял (есть немножко). А можно как-то профорсировать (return Unit как-то стремно)?

Всем привет. Кто нибудь использует аналоги checkstyle, findbugs, pmd для котлина?
Они же не работают с Kotlin (или я отстал от жизни?). Кто-то советовал Kotlin Lint, вроде это оно https://github.com/shyiko/ktlint , хотя не уверен (первая ссылка в google).

Igor
31.03.2017
09:19:48
Да я понял (есть немножко). А можно как-то профорсировать (return Unit как-то стремно)?
Хотя ладно, буду как в Scala писать функции без скобок. Так работает и сразу error кидает.

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
Может тут есть люди из Яндекса
Есть тут люди из Google? ? (ну а друг)

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

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

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

Kirill
31.03.2017
10:17:20
яндекс юзает котлин?
да, я использовал его когда на стажировке там был ?

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

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)

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

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

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
просто, как я понимаю, когда его просили про себя рассказать, он сказал, что мол он против котлина. Ему ответили - ок, погнали дальше
И что тут обсуждать ?? У человека есть свое мнение, он же не директор yandex что другим его навязывать.

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
UPDATE: Kotlin is pretty much ok now, here are some thoughts about using Kotlin 1.0.2 in production.
Нашел случайно, когда гуглил "why kotlin bad", были и др статьи на эту же тему (и на хабре тоже) - ничего нового в них нет

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

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

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 классы даже в джаве ты не сможешь мокать или делать прокси на них

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