
Sergey
14.03.2017
18:21:01
на бекенде он тоже ниче такой)

Sasha
14.03.2017
18:22:04

Диёр
14.03.2017
18:22:28

Sasha
14.03.2017
18:22:53

Google

Диёр
14.03.2017
18:23:13
Не, я под винду никогда ничего не быдлокодил

Sasha
14.03.2017
18:23:38
сорри, ошибочка вышла)
а билд скрипт в AS2.3 с 1.1 у всех работает?

Aleksei
14.03.2017
18:54:39
С 1.1.0 работал вчера вроде :)

Igor
14.03.2017
18:54:45
а чо плохо?
Плохо или нет, но мне кажется ими почти никто не будет пользоваться.
В том же .NET System.Collections.Immutable есть уже 4-ый год, но про них до сих пор почти никто не знает.

Sergey
14.03.2017
18:56:10
ну и возмущаются что readonly в котлине не торт

Наиль
14.03.2017
18:58:12
Ребят, хочу чат свой написать. Знаю что этих чат мессенджеров уже немерено развелось. Но все же.
На данный момент выбираю стек технологий.
Основа это kotlin, spring boot. Для чата планирую websocket.
Ранее был небольшой опыт использования xmpp протокола, но остались очень не приятные ощущения после реализации на android и особенно на iOS клиентах. Поэтому пока своя реализация на вебсокете выглядит хорошей идеей.
Особенно интересует какую бд лучше выбрать. Планируется горизонтальное масштабирование. Требуется быстрая работа.
Вообщем на какие аспекты нужно обратить особое внимание при подборе стека для этой задачи. поделитесь мыслями.

Igor
14.03.2017
18:58:33
коллекции из гуавы ж юзает народ
Ты же понимаешь эти коллекции "persistence" те там по умолчанию есть оверхед на "shared structure".
Это же реально надо быть упоротым функциональщиком что бы юзать коллекции с O(log32 N) сложностью доступа к элементу, вместо O(1).

Sergey
14.03.2017
18:59:13


Kirill
14.03.2017
19:01:46


Igor
14.03.2017
19:01:57
в котлине вроде немного другая концепция будет?
Текущий прототип сделан поверх pcollections.org - думаешь алгоритм координально изменится?
Добавление в коллекцию сейчас возвращает новую коллецию
https://github.com/Kotlin/kotlinx.collections.immutable/blob/master/kotlinx-collections-immutable/src/main/kotlin/kotlinx/collections/immutable/ImmutableList.kt#L4
Как это можно сделать более оптимально чем в Clojure?

Google

Sergey
14.03.2017
19:02:26

Kirill
14.03.2017
19:02:37
и хадуп для аватарок тогда, да

Sergey
14.03.2017
19:03:02

Наиль
14.03.2017
19:03:17

Sergey
14.03.2017
19:03:24

Kirill
14.03.2017
19:04:34
ru.mlp.wikia.com/wiki/Дискорд
вторая ссылка в гугле. не то, что я ожидал

Sergey
14.03.2017
19:05:31
https://discordapp.com/
https://blog.discordapp.com/how-discord-stores-billions-of-messages-7fa6ec7ee4c7#.19y41qj2c

Kirill
14.03.2017
19:06:05

Sergey
14.03.2017
19:06:35

Руслан
14.03.2017
19:07:34
Окей, дочитал чат, тут C* тоже советуют)
У нас сейчас на митапе парень из Fitbit рассказывал как они на C* мигрировали


Sergey
14.03.2017
19:10:15
C* ?
а, кассандра)
и спринг сам сокетами не занимается, там все на откуп дается всяким джетти и андертоу

Руслан
14.03.2017
19:11:38
Для сокетов Атмосфера хороша

Google

Руслан
14.03.2017
19:11:49
Прям советую

Sergey
14.03.2017
19:11:49
http://async-io.org/ который?

Михаил
14.03.2017
19:12:40

Sergey
14.03.2017
19:12:51
пишут что да

Руслан
14.03.2017
19:12:51
https://github.com/Atmosphere/atmosphere
Конечно, он его вроде и написал)

Igor
14.03.2017
19:14:32
А как в кложуре?
Так же как в хаскел / F# (и вроде бы в скале).
Могу по посже скинут видосик с Рич Хикки - он там рассказывает как они устроены.

Михаил
14.03.2017
19:24:43

Наиль
14.03.2017
19:33:22

Sergey
14.03.2017
19:34:41
а держать в памяти на каждой ноде все сообщения... это блокчейн уже какой-то

Андрей
14.03.2017
19:35:02

Наиль
14.03.2017
19:35:50
Нет, имеется в виду in memory db для кэша

Egor
14.03.2017
19:38:08
какие есть методы что бы вырезать пару последних знаков со стороки?

Михаил
14.03.2017
19:38:45
.take(..)
ой
.dropLast есть
прям как надо)
или оставить только их?

Google

Egor
14.03.2017
19:40:38
оставить только их
типа
codeView.setText(message.subSequence(message.length - 7, message.length))

Митко Соловец?
14.03.2017
19:40:47
Первая Котлин конфа. https://www.kotlinconf.com

Михаил
14.03.2017
19:41:05
.takeLast(7) как не странно

Sergey
14.03.2017
19:41:30

Igor
14.03.2017
19:44:52

Михаил
14.03.2017
19:47:32
val a = null as String

Admin
ERROR: S client not available

Михаил
14.03.2017
19:47:40
почему это компилируется?

Sergey
14.03.2017
19:48:31
ты что-то путаешь

Михаил
14.03.2017
19:48:44
?
сам сеня охренел

Sergey
14.03.2017
19:49:02
>>> val a = null as String
kotlin.TypeCastException: null cannot be cast to non-null type kotlin.String

Михаил
14.03.2017
19:49:30
при компиляции?
или в рантайме?

Sergey
14.03.2017
19:50:34
а, это kotlinc был

Михаил
14.03.2017
19:50:35
я про компиляцию писал

Sergey
14.03.2017
19:50:37
ща

Михаил
14.03.2017
19:53:44
почему это компилируется)))

Google

Sergey
14.03.2017
19:56:00
https://kotlinlang.org/docs/reference/typecasts.html#unsafe-cast-operator
>Note that null cannot be cast to String as this type is not nullable, i.e. if y is null, the code above throws an exception
но анализатор в идее говорит что "чувак ты попутал шота"

Михаил
14.03.2017
19:57:46
видать в 1.1 поломали))

Sergey
14.03.2017
19:58:15
а в 1.0 не компилируется?

Михаил
14.03.2017
19:59:22
не знаю
просто сеня язык показывал
чел говорит, дай нулл-сейфти котлиновское пощупаю
:D
написал это и оно скомпилилось

Artem
14.03.2017
20:28:29
Ребят, простите за не очень нормальный вопрос, а если я божара у меня нет денег купить книгу на котлине? Ни у кого не найдётся электронной копии Kotlin in action?)

Sergey
14.03.2017
20:28:57
читай документацию)

Artem
14.03.2017
20:30:28
походу ей и придётся ограничиться )

Sergey
14.03.2017
20:30:54
есть еще исходники, не менее интересные)

Михаил
14.03.2017
20:31:22
ну вообще книжку годная
после ее прочтения большинство вопросов по котлину отпадает

Sergey
14.03.2017
20:32:46
это да

Igor
14.03.2017
20:33:10

Artem
14.03.2017
20:36:14

Igor
14.03.2017
21:22:40
А как в кложуре?
Рич Хикки - https://youtu.be/nDAfZK8m5_8?t=41m03s
Дэвид Нолан (автор clojurescript) - https://youtu.be/-I5ldi2aJTI?t=17m28s