LINUX.ORG.RU

[#]  
encyrtid

Ну все, капец лиспосрачам.

** ()
[#] Ответ на: комментарий от encyrtid 07.02.2012 22:02:26  
OldFatMan

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

# ()
[#] Ответ на: комментарий от post-factum 07.02.2012 22:00:08  
maxcom

ну утром я только рефакторинг от Slavaz выложил и пару изменений в frontend (css/js)...

***** ()
[#] Ответ на: комментарий от DoctorSinus 07.02.2012 21:07:26  
ymuv
>>-----Цитата---->>

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

<<-----Цитата----<<

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

* ()
[#]  
MrHouse
>>-----Цитата---->>

сломалось

<<-----Цитата----<<

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

* ()
[#] Ответ на: комментарий от MrHouse 07.02.2012 22:13:10  
maxcom
>>-----Цитата---->>

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

<<-----Цитата----<<

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

***** ()
[#] Ответ на: комментарий от MrHouse 07.02.2012 22:13:10  
pyometra

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

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

** ()
[#] Ответ на: комментарий от maxcom 07.02.2012 22:04:51  

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

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

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

**** ()
[#] Ответ на: комментарий от Slavaz 07.02.2012 23:16:32  
belous_k_a
>>-----Цитата---->>

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

<<-----Цитата----<<

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

()
[#] Ответ на: комментарий от Slavaz 07.02.2012 23:16:32  
belous_k_a

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

()
[#] Ответ на: комментарий от belous_k_a 07.02.2012 23:27:16  
>>-----Цитата---->>

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

<<-----Цитата----<<

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

>>-----Цитата---->>

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

<<-----Цитата----<<

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

**** ()
[#] Ответ на: комментарий от vostrik 07.02.2012 22:57:05  
megabaks

логику почини
ответ станет очевиден

** ()
[#] Ответ на: комментарий от Slavaz 07.02.2012 23:39:18  
belous_k_a

Понятно.

>>-----Цитата---->>

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

<<-----Цитата----<<

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

>>-----Цитата---->>

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

<<-----Цитата----<<

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

()
[#] Ответ на: комментарий от belous_k_a 07.02.2012 23:43:16  
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);
    }
  });
}

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

()
[#] Ответ на: комментарий от megabaks 07.02.2012 23:41:56  
Ginki
>>-----Цитата---->>

логику почини

<<-----Цитата----<<

Кто не согласен с тобой - дурак? Наверное, не я один так думаю.

* ()
[#]  

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

*** ()
[#] Ответ на: комментарий от Yareg 07.02.2012 23:56:22  

И другим бывшим регистрантам.

*** ()
[#] Ответ на: комментарий от fedor 07.02.2012 23:54:27  
Ginki

— Нет, милая, я уже поел.

* ()
[#] Ответ на: комментарий от belous_k_a 07.02.2012 23:48:03  

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

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

**** ()
[#] Ответ на: комментарий от Yareg 07.02.2012 23:56:22  
>>-----Цитата---->>

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

<<-----Цитата----<<

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

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

**** ()
[#] Ответ на: комментарий от Slavaz 08.02.2012 0:16:34  
belous_k_a
>>-----Цитата---->>

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

<<-----Цитата----<<

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

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

()
[#] Ответ на: комментарий от Slavaz 08.02.2012 0:17:51  

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

*** ()
[#] Ответ на: комментарий от Yareg 08.02.2012 0:24:31  

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

**** ()
[#]  
OperaSoftvvare

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

* ()
[#]  
ttnl

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

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

**** ()
[#]  
mopsene

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

* ()
[#] Ответ на: комментарий от visual 07.02.2012 21:27:30  
drull
>>-----Цитата---->>

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

<<-----Цитата----<<

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

** ()
[#] Ответ на: комментарий от Hoodoo 07.02.2012 21:30:34  
drull
>>-----Цитата---->>

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

<<-----Цитата----<<

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

** ()
[#] Ответ на: комментарий от Hoodoo 07.02.2012 21:30:34  
drull

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

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

** ()
[#] Ответ на: GNU-Ubuntu1204LTS от lucky-m 08.02.2012 0:56:22  
GNU-Ubuntu1204LTS

И тебе привет. P.S диски с убунтой то пришли?

()
[#] Ответ на: комментарий от Slavaz 07.02.2012 23:16:32  
maxcom

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

***** ()
[#] Ответ на: комментарий от visual 07.02.2012 20:51:27  
ggrn
>>-----Цитата---->>

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

<<-----Цитата----<<

язабан.

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

*** ()
[#]  
dada

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

()
[#] Ответ на: комментарий от Yareg 07.02.2012 23:56:22  
Dimez
>>-----Цитата---->>

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

<<-----Цитата----<<

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

***** ()
[#] Ответ на: комментарий от GNU-Ubuntu1204LTS 08.02.2012 5:05:52  
lucky-m
>>-----Цитата---->>

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

<<-----Цитата----<<

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

*** ()
[#] Ответ на: комментарий от maxcom 08.02.2012 9:00:05  

> Чем тебе бины помогут правильно доставать 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 08.02.2012 12:00:05  

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

**** ()
[#]  
luke

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

** ()
[#] Ответ на: комментарий от megabaks 07.02.2012 23:41:56  
Xenesz
>>-----Цитата---->>

логику почини

<<-----Цитата----<<

Выкладывай свою логику, будем пытаться чинить.

*** ()
[#] Ответ на: комментарий от Xenesz 08.02.2012 16:13:51  
HerrWeigel

Тащемта он уже ее выложил. Внимательней тред прочитай. И я с ним согласен

* ()
[#] Ответ на: комментарий от HerrWeigel 08.02.2012 21:38:45  
Xenesz

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

*** ()
[#] Ответ на: комментарий от Xenesz 08.02.2012 22:05:55  
HerrWeigel

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

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

* ()