
Alexander
18.01.2017
16:16:38
где-то были видео докладов

Dmitry
18.01.2017
16:51:15
https://issues.apache.org/jira/browse/THRIFT-6
вот как баги надо закрывтаь

James Tiberius Kirk ?
18.01.2017
17:15:38
а баг про нпе после нулов в мапе там есть?

Google

Dmitry
18.01.2017
17:15:48
всегдаа
без него трифт уже будет не тот
по багу десериализации мапы с нулами можно ньюфагов отличать

James Tiberius Kirk ?
18.01.2017
17:16:45
Resolution: Won't Fix
нашел
часто используете кастомные аннотации? норм практика или так себе?

Baruch
18.01.2017
18:51:26
отличная практика

Aliaksei
18.01.2017
18:51:44
Павда есть один нюанс...
http://www.yegor256.com/2016/04/12/java-annotations-are-evil.html

Baruch
18.01.2017
18:52:25
ну этот есть, да

James Tiberius Kirk ?
18.01.2017
18:57:27
лучше бы по делу шо сказал

Alexander
18.01.2017
19:08:38

James Tiberius Kirk ?
18.01.2017
19:09:06
меня пугает использование рефлекшона за ними

Google

Nick
18.01.2017
19:09:17
в логику аннотации?)
ничоси)
эт прост ж мета инфа)

Alexander
18.01.2017
19:09:39
ты же понял про что я
кто-то же их обрабатывает
и что-то делает
и все такое

Nick
18.01.2017
19:10:05

Alexander
18.01.2017
19:10:28
да и джава тормозит

Dmitry
18.01.2017
19:16:09
ты хоть бы конкретизировал
мол "для задачи Х хочу использовать аннотацию способом У"

Anton
18.01.2017
19:20:22
Вообще необязательно, что аннотации будут обрабатываться рефлекшеном
А если и будут, то скорее всего один раз

Aliaksei
18.01.2017
19:51:58
Бля, какие противные стикеры

Adam
18.01.2017
19:55:12
как то хотели сделать аннотацию @CopyPaste но чтото не прижилось

Руслан
18.01.2017
19:57:31
@PotomOtrefactoryu
@ToDoTest

Dmitry
18.01.2017
20:02:58
@Deprecated

Google

Dmitry
18.01.2017
20:03:05
oh, wait..

Alexander
18.01.2017
21:37:25
https://code.google.com/archive/p/gag/

Everest
18.01.2017
22:13:52
Кто подскажет где сейчас народ exelab.ru, где кракеры сейчас?

Alex
18.01.2017
22:27:03
/stat@combot

Combot
18.01.2017
22:27:03
combot.org/chat/-1001043090457

Арсений
18.01.2017
22:56:08
Народ поясните за синглетон в котлине, если это object че там конструктора нет? Че делать, если мне нужно использовать синглетон, в котором полюбому должен быть context, а я не хочу инжектить его по сути после инициализации, инициализировать левым методом?? в чем смысл?

Vitaliy
18.01.2017
22:59:47
Android?

Арсений
18.01.2017
22:59:56
ага

Руслан
18.01.2017
23:01:49
btw. есть чатик профильный https://t.me/kotlin_lang

Vitaliy
18.01.2017
23:02:36
ага
Обычно делают контекст статичным в Application

Alexander
18.01.2017
23:02:37
Руслан, ты на круглосуточном саппорте котлина? :)

Vitaliy
18.01.2017
23:02:53
А в singleton прокидывают обычной инициализацией поля
На самом деле, делай просто все зависимости интерфейсными синглтонами
И будет тебе DI прямо в синглтоне

Арсений
18.01.2017
23:03:20
@bvitaliyg по сути инжекция, вариант напрашивается да

Vitaliy
18.01.2017
23:03:38
Ну других вариантов нет
А вообще лучше не используй Котлин

Admin
ERROR: S client not available

Vitaliy
18.01.2017
23:03:50
От него проблем больше, чем профита

Google

Арсений
18.01.2017
23:04:12
просто зачем тогда делать этот object без конструктора там в таком случае, хочу идеология вкурить

Руслан
18.01.2017
23:04:28
interface Application {
fun getContext()
}
val singleton = object : Application {
override fun getContext() {
TODO("not implemented").
}
}

Vitaliy
18.01.2017
23:04:32
Ну, у тебя есть init {}

Руслан
18.01.2017
23:04:47
Вот так на класс левеле пакэдж сделать

Vitaliy
18.01.2017
23:04:51
Можешь там делать что угодно
А вообще, если подумать, singleton и DI это разные вещи
В DI ты каждый раз модуль вручную конфигурируешь, нет глобальной точки доступа из всего приложения

Арсений
18.01.2017
23:07:30

Руслан
18.01.2017
23:10:21

Арсений
18.01.2017
23:14:10

Vitaliy
18.01.2017
23:14:37

Руслан
18.01.2017
23:14:53
Только засетать ему. Ты предлагаешь конструктор, но мне тяжело представить как оно может выглядеть.

Vitaliy
18.01.2017
23:15:20
А вообще, прокидывай не контекст, а интерфейс, в котором есть то, что тебе нужно от контекста
Контекст это типичный god-object

Арсений
18.01.2017
23:16:49

Руслан
18.01.2017
23:17:47
можно кусочек кода, я ж говорю, я не андроид дев

Арсений
18.01.2017
23:19:04

Google

Арсений
18.01.2017
23:20:49

Vitaliy
18.01.2017
23:24:08
Можно и на месте инициализировать, на самом деле
Но если надо что-то вычислить перед этим, инит удобнее

Арсений
18.01.2017
23:28:08
сейчас попробую
object SingletonExample {
val context: Context
init {
this.context = MyApp.context
}
}
class MyApp : Application() {
override fun onCreate() {
super.onCreate()
context = this
}
companion object {
lateinit val context: Context
private set
}
}
Что-то в этом роде

Руслан
18.01.2017
23:35:08
Ну да, норм

Арсений
18.01.2017
23:35:12
Я поясню, если интересно @HeapyHop , класс Application будет создан в первую очередь в приложении, т.е. он будет гарантировано проинициализирован в инициализации синглетона и мы сможем из него забрать context

Руслан
18.01.2017
23:35:34
val singleton by lazy {
// делаем что угодно
MyApp.context
}
можно еще так сделать

Арсений
18.01.2017
23:37:35
ок, всем спасибо