All streams
Search
Write a publication
Pull to refresh
36
0
Евгений @reforms

Back-End Разработчик

Send message
Хорошо сказано!
У меня 2 вопроса:
1. Стоят ли все эти усилия того, чтобы просто внимательно отработать на get/set методах при создании объекта (при код ревью или самопроверке)?
2. Не является ли такой подход более многословным, нежели JUnit тест мест создания таких объектов?
Спасибо.

Я спрашиваю, просто очень много на хабре пишут про билдере в ключе создания объектов, но вот в моей 8 летней практике я ни разу не встречал проблем при работе с такими объектами (get/set).
Тем не менее сам патерн билдер я использовал немного в другом ключе — создание PrepareStatement для разных версий и типов АБС при интеграции данных.
Для меня лично способом снизить риск вхождения в СХУ являются 2 вещи:
— наличие большой светлой цели (мой мотиватор с бесконечным ресурсом)
— наличие положительных эмоций (и наверное не важно отчего я их получаю, от работы, сна, прогулок или физических упражнений)
Зачем эти звездочки?...

Для меня, самая близкая аналогия — состояние, после публикации статьи на хабре, когда ты понимаешь, что затраченные усилия оказались ненапрасными, бонусом — разноцветный букет эмоций!
У меня добрый случай был на собеседовании лет 7 назад: Очередной вопрос от интервьюера по java: 'Чем отличаются checked exceptions от unchecked?
Я ему честно — 'Узнал про термины checked/unchecked сегодня, но ответ знаю… бла бла бла'. Он мне в ответ: — ' Я тоже этим утром, когда узнал что пойду собеседовать вместо начальника'
Мы вместе посмеялись.
Когда провожу собеседование всегда обращаю на потенциал человека, сделал для себя вывод, что это ключевое при принятии решения.
На втором месте — навыки программирования, которые говорят о возможной должности кандидата в компании.
«Баловаться с переменным током – пустая трата времени. Никто никогда не будет им пользоваться.» — Томас Эдисон

Здесь вообще стоит отдельно сказать о противостоянии Эдисона и Тесла, чтобы контекст был понятен
«В то время, как с теоретической и технической точек зрения, телевидение выглядит реалистично, я не верю в его коммерческий и финансовый успех.»

К сожалению не смог найти первоисточник, но вроде как между Зворыкиным и XXX бизнесменом завязался разговор, в те далекие, суть которого можно передать фразами:
XXX — 'И что, каждая домохозяйка сможет увидеть рекламу моего товора вот так просто, стоя на кухне?'
Зворыкиным — 'Да'. Я это о фразе: коммерческий и финансовый успех
И Вам спасибо, что читаете.
Спасибо за честный ответ.
тестовый PostgreSQL 9.5.5 с таким синтаксисом не согласен и считает недопустимым

Да, а это уже мой серьезный косяк. Я уже как nth лет использую фронт для работы с СУБД в eclipse и пример c ts примелькался. С Вашего позволения внесу корректив в статью
Угу, пост так озаглавлен.

Согласен, сам себе противоречу. Но прежде чем запоститься, опробовал перечисленные кейсы на своей фокус группе. К большому удивлению подзапрос в секции FROM оказался мало известным фактом.

Кое-что пропустил из предыдущего комментария:
EXCEPT и INTERSECT — постгресовые расширения стандарта, что надо учитывать, говоря про sql.

С чего Вы это взяли? Все в той же доке EXCEPT/EXCEPT ALL и INTERSECT/INTERSECT ALL присутствуют. Да, например, в ORACLE есть MINUS vs EXCEPT.
И чтобы больше не халиварить, спрашиваю для себя — 'Вы все указанные примеры знали до прочтения статьи?'
Спасибо
Спасибо, очень здравый комментарий.
Самое банальное, что умеет даже mysql? Подзапрос? Редкий SQL?

Разве я написал обратное? >> Пожалуй самый известный факт

Хотя стандартная, необязательная часть аж SQL-92.

Вы можете подтвердить свои слова?
Вот отрывок из BNF Grammars for SQL-92(ссылка внизу): |table value constructor| ::= VALUES |table value constructor list|

Сравнение блоков данных… Аналогично работает и in: (foo, bar) in ((1,2), (3,4))

Спасибо за новые знания, этого я не знал.

select sum(case when status=1 then 1 else 0)

мне кажется Вы пропустили END.
name 'Это данные' — это синтаксис указания константы указанного типа данных

Так и есть, поэтому я собственно и написал, про одинарные кавычки, что результат будет совершенно иной. И конкретно в моем случае — он такой.

Так же литералы timestamp в мануале и обозначаются как...

Да, Вы опять правы. Но мне пример с timestamp кажется менее интересным, чем с {ts ...}
Согласен с Вами, очень напоминает. Про SQL вообще можно сказать, что один и тот же результат можно получить разными способами.
За замечание к статье спасибо.

Отвечаю на вопросы:
Хорошо бы сказать что входит в стандарт SQL, а что в синтаксис конкретной СУБД

Когда я впервые познакомился с BNF Grammars for SQL-92, я не нашел там возможности указывать двойные кавычки (N1) и ничего про {ts/d/t} (N4), все остальное и из него. Однако: в последней версии (может быть редакции?) использование двойных кавычек там есть. Про ts/d/t встречал часто в литературе, форумах — что это стандарт.

Не понял про двойные кавычки, чем они лучше, чем одинарные?

В первом случае — это алиас, во втором данные.
Пример 1
SELECT name "Алиас колонки" FROM goods WHERE id = 1

Алиас колонки
Тапочки

Пример 2
SELECT name 'Это данные' FROM goods WHERE id = 1

name
Это данные

Спасибо, жизненно!

Вы часто спрашивали — чем заняться?
Можно подкину Вам идею — напишите книгу, мне кажется писать у Вас хорошо получается.
public enum LanguageUtils {
    SYNCH_OBJECT;
    /** java-doc */
    public static void doWork1() {
        // много код здесь, а потом
        synchronized (SYNCH_OBJECT) {
            // doSomeReadWriteOperation1 - внутри изменение/чтение общего объект N1
        }
    }
    /** java-doc */
    public static String doWork2(String name) {
        // много код здесь, а потом
        synchronized (SYNCH_OBJECT) {
            // doSomeReadWriteOperation2 - внутри изменение/чтение общего объект N1
        }
        return "";
    }
}
Хотите живой пример?
Добавить разумеется в класс LanguageUtils, если отсутствует такой конструктор-старожил — плевое дело, если Вы понимаете о чем я :)
И судя по ссылке оттуда выходит, что не нужно бросать исключения в конструкторе энума. Это лишний код.

В этом тоже определенный сарказм, до точки с запятой в LanguageUtils, неожиданно:
    SHAPITO_CIRCUS;

Ясно, что это апофеоз тупости, но все же, конструтор-смотрелка, все сделает как надо :)
Ок. Учту. Слово это конечно с душком..., как известно раз_раб, два_раб… :)

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity