@scala_ru

Страница 1119 из 1499
Alexandr
05.12.2017
08:20:45
так. Буратина тупой, ему надо еще раз перечитать чат. Минуту.

Oleg
05.12.2017
08:21:06
Короче это типа лэйзи синглтон

Alexandr
05.12.2017
08:21:11
а lazy val в этом случае не сработает лучше?

Google
Gennady
05.12.2017
08:21:19
в скале это вообще странная конструкция - зачем тебе инстанс, если есть трейт и компаньон?)

Alexandr
05.12.2017
08:22:23
я к тому, что этот вот @volatile var не гарантирует окончания создания. Т.е. типа надежда, что volatile не позволит реордернуться есть, но блин. Первый дятел добавивший еще пару инструкций после instance = this сломает дерево, нет?

Oleg
05.12.2017
08:22:25
Короче суть видимо в том

Gennady
05.12.2017
08:22:38
надо смотреть, есть ли сюрпризы от кода который это использует по-идее нет, тут правда не видно ничего кроме многопоточного лейзи

Oleg
05.12.2017
08:22:55
Что будет какая-то там инициализация Но параметры заранее неизвестны, поэтому в lazy val засунуть типа не получилось

И где-то там if( A.instance eq null ) new A{....}

Gennady
05.12.2017
08:23:20
> Первый дятел добавивший еще пару инструкций после instance = this сломает дерево, нет? не должен volitile гарантирует HB

> if( A.instance eq null ) new A{....} ну это уже получается костыль на костыле. Значит инстанс должен быть не статичным. DI есть в проекте?

Alexandr
05.12.2017
08:24:52
> Первый дятел добавивший еще пару инструкций после instance = this сломает дерево, нет? не должен volitile гарантирует HB
он гарантирует, что инструкции _до_ обращения не будут reordered за обращение к volatile. Но если там дальше есть еще пара инструкций, то быстрый Гонзо дернувший за инстанс не увидит их результатов

Gennady
05.12.2017
08:24:55
напрашивается

Alexandr
05.12.2017
08:25:52
Gennady
05.12.2017
08:26:27
> быстрый Гонзо дернувший за инстанс не увидит их результатов ну если прям сразу после создания или если оно шибко тяжелое - мб. Это не круто в принципе, надо тащить инстанс в рантайме, например через DI)

стиль из 90-х, да

Google
Gennady
05.12.2017
08:27:00
до спринга и JEE

Kirill
05.12.2017
08:28:46
Таки да, Шипилёв же рассказывал, что чтение может местами поменяться с записью

Alexandr
05.12.2017
08:29:42
Чтение и запись volatile моежт поменяться местами?

Oleksandr
05.12.2017
08:29:45
вообще-то double-checked locking не просто так был придуман

но конкретно этот кусок кода лучше понять и переписать нормально

Alexandr
05.12.2017
08:30:37
Нет. Про ордеринг по каждую сторону барьера как раз гарантий нет.
Хм. What's more, it also means that when a thread reads a volatile variable, it sees not just the latest change to the volatile, but also the side effects of the code that led up the change.

Oleksandr
05.12.2017
08:30:48
что он делает, в object хранит первый инстанс класса?

Daniel
05.12.2017
08:30:51
Чтение и запись volatile моежт поменяться местами?
Твой пост не делил на чтение и запись.

Nick
05.12.2017
08:32:12
Чтение и запись volatile моежт поменяться местами?
Конечно, ты можешь в одном потоке сделать рид, а в другом через пару лет врайт)

Alexandr
05.12.2017
08:32:19
Твой пост не делил на чтение и запись.
не готов аругументированно спорить. Помню только, что читал большое объяснение что-то на тему fixing java memory model и там было ясно сказано, что два набора инструкции до и после обращения к volatile не могут смешиваться. набор внутри - да

Oleksandr
05.12.2017
08:33:06
угу.
и что дальше делает с ним?

Alexandr
05.12.2017
08:33:07
вообще-то double-checked locking не просто так был придуман
так не рабоает double-check же? Вроде, даже под новой моделью не работает?

и что дальше делает с ним?
использует в многопоточке

там пачка полностью асинхронных пользователей

Nick
05.12.2017
08:33:40
@ScalaDev какая цель в итоге?

Alexandr
05.12.2017
08:33:48
Google
Oleksandr
05.12.2017
08:34:50
использует в многопоточке
сделай фьючу + промис

Alexandr
05.12.2017
08:35:05
@ScalaDev какая цель в итоге?
Это логгер. Просто создание его меня в ступор ввергло и у меня не получилось понять, зачем оно вот так и почему ne null если можно != null

Oleg
05.12.2017
08:36:23
@не читай @отвечай

Nick
05.12.2017
08:36:35
Слишком много текста

Daniel
05.12.2017
08:36:58
@не читай @отвечай
(с) собака павлова

Alexandr
05.12.2017
08:37:03
Эм, ты проверяешь есть ли инстанс логгера? А дай ссылку на код
не я. обвалились тесты. я чиню. вяснилось, что сломалось из-за такого вот кода. Я давно такого не видел и пришел спросить, он ок или у меня верное чуство, что стоит переписать

Oleksandr
05.12.2017
08:37:30
не ок, переписывай)

Alexandr
05.12.2017
08:38:19
оО почему?
https://shipilev.net/blog/2014/safe-public-construction/ там есть про дабл-чек

Nick
05.12.2017
08:38:45
нимагу
Напиши свои пример )

Alexandr
05.12.2017
08:38:56
так написал же выше. оно и есть. Это все.

Ну, как все. Ниже два pure метода

Nick
05.12.2017
08:40:08
Что за шакал это написал

Мои глаза

Аааа

Alexandr
05.12.2017
08:40:46
Шипилев-то?

Ну...

Nick
05.12.2017
08:40:57
Нет, тот код)

Google
Alexandr
05.12.2017
08:41:43
А. Ну, почему шакал. Мы все косячим. Кто не - пусть встанет и покраснеет.

Собственно, поэтому я и влюблен нежно в этот чятик, тут добрые, объянсяют, делятся опытом и нетоксичные.

Oleg
05.12.2017
08:43:35
Вообще иногда ощущение, что чатик лучше бы жил в виде реддита

Чтобы не нужно было искать ОП

Alexandr
05.12.2017
08:44:00
ОП?

Nick
05.12.2017
08:44:22
Alexandr
05.12.2017
08:44:30
Дошло.

Admin
ERROR: S client not available

Oleg
05.12.2017
08:44:31
Эта аббревиатура означает и оригинального постера и оригинальный пост

Nick
05.12.2017
08:44:40
Но да, дерево было бы кстати)

Grigory
05.12.2017
08:44:58
я первый раз вижу 'оп' я думал 'тс'

Alexandr
05.12.2017
08:44:58
напейсать бота

Oleg
05.12.2017
08:46:08
я первый раз вижу 'оп' я думал 'тс'
Это значит, что ты с одной стороны достаточно юн, с другой - недостаточно школота

Daniel
05.12.2017
08:46:29
напейсать бота
Бот который удаляет комменты собаки

Alexandr
05.12.2017
08:46:46
А собака у нас кто?

Grigory
05.12.2017
08:47:09
ай ладно потру

Nick
05.12.2017
08:47:12
Бот который удаляет комменты собаки
Чем тебе мои комменты не угодили?)

Александр
05.12.2017
08:47:44
заменяет все оскорбительные мессаджи на рожу

Nick
05.12.2017
08:48:04
Ну вообще я сам эт делаю

Daniel
05.12.2017
08:48:13
Чем тебе мои комменты не угодили?)
Они однотипные и почти всегда мимо из за твоей лени

Google
Nick
05.12.2017
08:48:56
Aleksei
05.12.2017
08:49:12
sherzod
05.12.2017
08:50:38
Как Чуркин с американцами

Песик норм, оживляет чятик, попривыкнуть надо малость

Tatiana
05.12.2017
09:00:12
Всем привет! Если кому интересно сделала витрину на printdirect с пером, добавила туда несколько футболок и стикеры http://scalarussiafeather.printdirect.ru/ . Но там нельзя добавить виниловые резные стикеры, поэтому выложу чуть позже на гитхабе (https://github.com/angel608/pero_scala_art) макет для резных стикеров, можно будет самим на printdirect напечатать. Если витрина интересна или нужны еще какие товары, я добавлю, ну или с гитхаба берите картинку и сами печатайте напрямую, как удобно (http://printdirect.ru) :) Там еще с вышивкой классно получается, но в витрине опять такой возожности нет, но обещали добавить

Юрий
05.12.2017
09:01:20
огонь

sherzod
05.12.2017
09:01:39
оу!! кульно

Dmitry
05.12.2017
09:17:53
Добавьте в описание канала ссылки

Чтоб не потерять

Oleg
05.12.2017
09:18:26
Добавьте в описание канала ссылки
Для этого ништяки ченнел есть

Dmitry
05.12.2017
09:19:00
А ну туда

Tatiana
05.12.2017
09:22:26
нужно будет из Мск все забрать ?
Не, у них есть доставка по России и вроде даже по миру. Надо просто в пункте вверху вбить свой город доставка и оплата (если кликнуть на футболку он появится)

Alexey
05.12.2017
10:15:49
Это логгер. Просто создание его меня в ступор ввергло и у меня не получилось понять, зачем оно вот так и почему ne null если можно != null
lazy val реализован через двойную проверку и synchronized Просто убери всё это говно и поставь lazy

Alexandr
05.12.2017
10:19:52

Страница 1119 из 1499