LINUX.ORG.RU
Ответ на: комментарий от encyrtid

Не капец. Починят скоро. Макском сказал, что это баг.

OldFatMan
()
Ответ на: комментарий от DoctorSinus

кажется, последний коммент анонимуса

Это войдет в историю 7 класс ^W^W ЛОРа.

ymuv ★★★★
()

сломалось

А ещё у меня опять уведомления через раз сбрасываются.
Прекратите насиловать труп ломать ЛОР!

MrHouse
()
Ответ на: комментарий от MrHouse

А ещё у меня опять уведомления через раз сбрасываются.

Уведомления кривые by design, но пока их нет сил переделать

maxcom ★★★★★
()
Ответ на: комментарий от MrHouse

А ещё у меня опять уведомления через раз сбрасываются

у меня они что-то изначально так себя вели

pyometra ★★★★★
()
Ответ на: комментарий от maxcom

Да, это я виноват.

https://github.com/maxcom/lorsource/pull/193

P.S. Всё-таки нужно избавляться от иммутабельных объектов в пользу классических бинов. Уникальность объектов (их одинаковость в мультитредовой среде) должна обеспечиваться не иммутабельностью, а синглетонами.

Slavaz ★★★★★
()
Ответ на: комментарий от Slavaz

Уникальность объектов (их одинаковость в мультитредовой среде) должна обеспечиваться не иммутабельностью, а синглетонами.

Позволю себе заметить, что сия фраза вне контекста, звучит, как «да здравствуют глобальные блокировки».

belous_k_a
()
Ответ на: комментарий от belous_k_a

Позволю себе заметить, что сия фраза вне контекста, звучит, как «да здравствуют глобальные блокировки».

Подразумевалось «да здравствуют указатели на одну область памяти». Объекты в большинстве своём в последствии неизменяемы, но хранятся во множестве одинаковых экземпляров. А ещё в нашем случае финализированные приватные переменные накладывают определённые ограничения на порядок инициализации.

И, позвольте поинтересоваться, в чем соль использовать «getString» вместо «getObject»?

Ни в чём. Привычнее. getObject будет дешевле? Если да - исправлю, без проблем.

Slavaz ★★★★★
()
Ответ на: комментарий от Slavaz

Понятно.

А ещё в нашем случае финализированные приватные переменные накладывают определённые ограничения на порядок инициализации.

А паттерн ServiceLocator + ленивая инициализация? Это позволяет распределить инициализацию по времени.

getObject будет дешевле?

Не скажу, ибо тестов не проводил, но теоретически там не будет лишней конвертации в строку, которая, в общем случае, в зависимости от СУБД и не для всех типов допустима.

belous_k_a
()
Ответ на: комментарий от belous_k_a

А паттерн ServiceLocator + ленивая инициализация? Это позволяет распределить инициализацию по времени.

Поясню примером:

class SomeObject {
  private final LazyInitialized<AnotherObject> resourceRef = new LazyInitialized<AnotherObject>(new Callable<AnotherObject>() {
    public AnotherObject call() {
      return ServiceLocator.locate(AnotherObject.class);
    }
  });
}

Это конечно не всегда примелимо, но различные глобальные объекты, которые надо один раз инициализировать. От синглтонов отличается, тем что нет зависимости от реализации, и вовсе не обязано быть глобальным синглтоном.

belous_k_a
()
Ответ на: комментарий от belous_k_a

В данном конкретном случае оно не совсем применимо. Сейчас иммутаблы (конкретно class Topic) заполняются из ResultSet'ов; соответственно, конструктор содержал параметр ResultSet-типа, что для юнит-тестирования было совсем нехорошо (да и для DTO-объекта тоже нехорошо: не должен DTO знать способы своего наполнения, он по идее предоставляет только геттеры и сеттеры). Пришлось добавить второй конструктор, в котором параметрами практически перечислены все финальные переменные класса. То есть, Topic - это DTO, который может быть различным между потоками и я, если честно, не вижу смысла делать его иммцутабельным. Есть другие DTO - Section,например. Или Group. Они более-менее статичны и меняются только прямым SQL-запросом и последующим рестартом приложения :) Вот для них ServiceLocator, пожалуй, и можно было бы применить... или синглетоны, как я ранее говорил.

Сейчас в приложении всё, что напоминает DTO сделано почему-то иммутабельными объектами (с конструктором и ResultSet-параметром к нему). Может, это какой-то паттерн а я сейчас махая шашками его разрушаю?

Slavaz ★★★★★
()
Ответ на: комментарий от Yareg

Спорю на 100$, что всё из-за личной ненависти модераторов к выферу.

Проспорил :). Всего-лишь моя невнимательность.

2Allъ: Приношу извинения анонимному братству за временные неудобства.

Slavaz ★★★★★
()
Ответ на: комментарий от Slavaz

Сейчас в приложении всё, что напоминает DTO сделано почему-то иммутабельными объектами (с конструктором и ResultSet-параметром к нему). Может, это какой-то паттерн а я сейчас махая шашками его разрушаю?

Это лучше к авторам кода, такие вопросы, по опыту ковыряния в legacy коде, можно предположить что это «стиль» вызванный с одной стороны тем что иммутабельность - суть хорошо, с другой стороны тем что писать на каждый DTO фабрику, и строитель, или ваять гигантские конструкторы кто-то не хотел.

С другой стороны типов объектов не так много, иммутабельность позволяет беречь ноги (от пули), а множество копий объектов можно разрулить пулом, если я верно помню то в JPA, что-то подобное. Однако, потрохов ЛОРа я не знаю, потому это уже гадание на кофие.

belous_k_a
()
Ответ на: комментарий от Slavaz

Но в девелопменте до сих пор «Ограничение на отправку комментариев: только для зарегистрированных пользователей, score>=0». Или оно в процессе фикса?

Yareg ★★★
()
Ответ на: комментарий от Yareg

в процессе. Наверное, Макском завтра вольёт в основную ветку и передеплоит.

Slavaz ★★★★★
()

Вы там уже определитесь, запрещать анонимуса везде или открыть доступ в новости, тех.разделы, толксы (выбрать два варианта из трех). А то не понятно, начинать драму или еще подождать ;)

OperaSoftvvare ★★
()

За запрет в новостях, галерее и толксах — большой плюс.

За техразделы — скорее минус.

ttnl ★★★★★
()

Эй верните анонимуса, когда его убрали?

mopsene ★★★
()
Ответ на: комментарий от visual

Они просто стараются не называть моё имя

Ты-Тот-Кого-Нельзя-Называть?

drull ★☆☆☆
()
Ответ на: комментарий от Hoodoo

Я считаю, борцов с анонимностью нужно пороть.

Выпори меня, накажи меня, праативный!

drull ★☆☆☆
()
Ответ на: комментарий от Hoodoo

Мое имя есть в профиле. В whois'e моего домена есть мой мобильник.

// Против анонимусов.

drull ★☆☆☆
()
Ответ на: комментарий от Slavaz

thanx. Чем тебе бины помогут правильно доставать null из базы? Кстати может в spring'е в jdbc какая-нибудь утилита для этого есть

maxcom ★★★★★
()
Ответ на: комментарий от visual

я например пощу от анонима на работе, не хочу чтобы люди видели что я тут зареган.

язабан.

А что даже и в технических 0_о

ggrn ★★★★★
()

И лишили начинки лора. ЛОР уже не торт.

dada ★★★★★
()
Ответ на: комментарий от Yareg

Спорю на 100$, что всё из-за личной ненависти модераторов к выферу.

Где можно получить выигранное?

Deleted
()
Ответ на: комментарий от GNU-Ubuntu1204LTS

диски с убунтой то пришли?

Пока нет. Жду, каждый день проверяю ящик. Почта, действительно, реактивная :)

vilisvir ★★★★★
()
Ответ на: комментарий от maxcom

Чем тебе бины помогут правильно доставать null из базы?

Примерно так:

class Topic {
  private Integer postscore;
  private String title;
  ...
  // getters and setters here
}

String sqlStr = "SELECT postscore, title, ... FROM topics ...";
List <Topic> topics = jdbcTemplate().queryForList(
			sqlStr new BeanPropertyRowMapper(Topic.class));

Slavaz ★★★★★
()
Ответ на: комментарий от Slavaz

в результате в Topic.postscore будет либо null, либо значение

Slavaz ★★★★★
()

Я бы вот даже разрешил бы пользователю с userid 2 создавать треды в техразделах. Ибо регистрация в некоторых случаяах бывает просто не нужна.

luke ★★★★★
()
Ответ на: комментарий от HerrWeigel

Логика вывернутая. Никто не ходит с табличкой на лбу «Звать меня так-то, я живу там-то, тусуюсь там-то с теми-то тогда-то». И наш суперадекватный Мегабакс тоже, заметь. Это символизирует.

Xenesz ★★★★
()
Ответ на: комментарий от Xenesz

Никто не ходит с табличкой на лбу «Звать меня так-то, я живу там-то, тусуюсь там-то с теми-то тогда-то»

А разве этого кто-то требует?

HerrWeigel ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.