Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 [5] 6   вперед  Ctrl      все
 Re: Underscore.js библиотека для java.  [new]
mayton
Member

Откуда: loopback
Сообщений: 47989
PetroNotC Sharp
mayton,
Что то у тебя 4 ошибки в одном посту.
- да стандарт. Ссылка на EE7 выше. И либа javax идет из коробки в аппсервере.

mayton
И все для того чтобы завести карточку Джона Смита?
типобезопасно карл!
Остальное типоопасно.

Я эти разговоры слышал в 2013 году когда в SpringConfig втаскивали JavaDSL.
Были такие основания что дескыть XML не само-валидируется и синтаксического хайлайта
недостаточно. Давайте JavaDSL оно безопаснее.

И похоронили бл..ь целое фундаментальное направление. И если раньше можно было зайти
в приложение в текстовом редакторе и переконфигурировать его. То теперь нет. Конфигурации
это часть кода и нужно запускать полный цикл пересборки проекта просто потому что кто-то
захардкодил размер пула коннектов.

И вы не поверите как сильно мне доказывали что это the right way!

Но извините я отвлёкся.

Мне кажется что вы, Валентин давно довели свою либу до совершенства. На логистической кривой
самообучения вы находитесь наверное в самом верхнем правом углу. Где еще сидение 2000 лет
привет к увеличению результата на +000.1%. Но скорость самого движения упала. Такой
вот метафизический парадокс.

Может вам пора остановиться и открыть новое направление?

Нет ли у ва других библиотек? Просто мне кажется что вы переросли этот проект.
3 фев 20, 17:55    [22071974]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 5388
mayton
И похоронили бл..ь целое фундаментальное направление
))
Понимаю.
Но тут проще. Я сам свободу люблю.
Поэтому, фабрика паттерн тут не подходит, так как на выходе один класс JsonObject. А у фабрики несколько классов на выходе.
Поэтому получается пусть будут оба метода.
Типо:
JsonObject o = Построитель.Парсим(" {\" param\"=\" value\", \" param2\"=\" val2\",...
 //Либо типобезопасно
.add(param, val) 
.add(...
3 фев 20, 19:46    [22072096]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
mayton
Member

Откуда: loopback
Сообщений: 47989
Билдер визитных карточек.

buildPerson("John", "Smith", 20)
       .withAddressLine(....)
       .withPhones(...)
       .toMapOfObjects();
3 фев 20, 20:26    [22072123]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3312
PetroNotC Sharp
mayton
И похоронили бл..ь целое фундаментальное направление
))
Понимаю.
Но тут проще. Я сам свободу люблю.
Поэтому, фабрика паттерн тут не подходит, так как на выходе один класс JsonObject. А у фабрики несколько классов на выходе.
Поэтому получается пусть будут оба метода.
Типо:
JsonObject o = Построитель.Парсим(" {\" param\"=\" value\", \" param2\"=\" val2\",...
 //Либо типобезопасно
.add(param, val) 
.add(...


Оба метода и есть для билдера. Можно создать билдер при помощи статического метода fromJson() или пустой объект. Ещё есть set(path, value) метод для замены части объектов.

Хорошего вам дня!
4 фев 20, 02:06    [22072264]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Андрей Панфилов
Member

Откуда: Москва > Melbourne
Сообщений: 3625
mayton

Я эти разговоры слышал в 2013 году когда в SpringConfig втаскивали JavaDSL.
Были такие основания что дескыть XML не само-валидируется и синтаксического хайлайта
недостаточно. Давайте JavaDSL оно безопаснее.

И похоронили бл..ь целое фундаментальное направление. И если раньше можно было зайти
в приложение в текстовом редакторе и переконфигурировать его. То теперь нет. Конфигурации
это часть кода и нужно запускать полный цикл пересборки проекта просто потому что кто-то
захардкодил размер пула коннектов.

И вы не поверите как сильно мне доказывали что это the right way!


На мой взгляд вы заблуждаетесь: простыня XML - это все что угодно, но только не конфигурация, "bottom line" здесь на мой взгляд такой: если изменения нужно прогонять по SDLC, значит это не конфигурация, а то что у вас где-то в конкретном приложении невозможно было указать эксплуатационные параметры конкретной среды - это никак не проблема спринга, а недосмотр со стороны тимлида и службы сопровождения, в спринге же наоборот от перехода на java-конфигурацию стало только лучше (в буте именно с "конфигурацией" все еще лучше)
4 фев 20, 06:42    [22072303]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5395
mayton
Я эти разговоры слышал в 2013 году когда в SpringConfig втаскивали JavaDSL.
Были такие основания что дескыть XML не само-валидируется и синтаксического хайлайта
недостаточно. Давайте JavaDSL оно безопаснее.

И похоронили бл..ь целое фундаментальное направление. И если раньше можно было зайти
в приложение в текстовом редакторе и переконфигурировать его. То теперь нет. Конфигурации
это часть кода и нужно запускать полный цикл пересборки проекта просто потому что кто-то
захардкодил размер пула коннектов.

И вы не поверите как сильно мне доказывали что это the right way!


Ну никто не мешает использовать XML и сейчас.

ИМХО конфигурация на Java это правильно.
Т.к. контекст приложения находиться в рамках ЯП.

А для конфигурации есть properties, которые достаточно не гибкие (т.е. просты как валенок - key/value).

И да с приходом микросервисов и систем CI/CD, изменение конфигурации в Java Config не страшнее перезапуска приложения на сервере приложений.
4 фев 20, 06:52    [22072305]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 5388
mad_nazgul
И да с приходом микросервисов и систем CI/CD, изменение конфигурации в Java Config не страшнее перезапуска приложения на сервере приложений.
да любые благие намерения можно испортить.
Появились серверы которые выдают конфигурацию в динамике))
4 фев 20, 07:20    [22072307]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5395
PetroNotC Sharp
mad_nazgul
И да с приходом микросервисов и систем CI/CD, изменение конфигурации в Java Config не страшнее перезапуска приложения на сервере приложений.
да любые благие намерения можно испортить.
Появились серверы которые выдают конфигурацию в динамике))


Вы говорите, как будто это плохо! :-)
4 фев 20, 10:28    [22072439]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 5388
mad_nazgul,
В архитектуре есть короткое слово - оверхед.
Не слышали?
4 фев 20, 10:55    [22072454]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 5388
mad_nazgul,
Пример оверхеда от вас
автор
Тут вам не монолит, где можно точно сказать, что нужно делать.

Иными словами, вы сказали что монолит это хорошо.
4 фев 20, 10:59    [22072459]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5395
PetroNotC Sharp
mad_nazgul,
Пример оверхеда от вас
автор
Тут вам не монолит, где можно точно сказать, что нужно делать.

Иными словами, вы сказали что монолит это хорошо.


Не бывает чего-то однозначно хорошего и однозначно плохого.

Монолит это хорошо когда надо что-то быстро сваять, не заботясь, как это будет развиваться и поддерживаться.
Пишем двух/трехзвенку. Пишется быстро и легко.
Только есть небольшая проблема, что при развитии, каждое последующее изменение дороже предыдущего.
Ну и масштабирование вертикальное. Есть проблемы при нагрузке - купи более мощный сервак.

А так - да. Монолит идеален. :-)
4 фев 20, 11:22    [22072482]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 5388
mad_nazgul
Не бывает чего-то однозначно хорошего и однозначно плохого.
ну вот ты и ответил что плохого в сервере конфигураций и в java конфиге.
Оверхед бывает.
4 фев 20, 11:28    [22072486]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
mayton
Member

Откуда: loopback
Сообщений: 47989
PetroNotC Sharp
mad_nazgul,
В архитектуре есть короткое слово - оверхед.
Не слышали?

Я-бы просто добавил такую метрику как "цена внесения" изменений.
4 фев 20, 11:59    [22072527]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3312
Код с классом билдер.

    public static class Builder {
        private final Map<String, Object> data;
        public Builder() {
            data = newLinkedHashMap();
        }

        public Builder add(final String key, final Object value) {
            data.put(key, value);
            return this;
        }

        public Builder add(final Object value) {
            data.put(String.valueOf(data.size()), value);
            return this;
        }

        public Builder set(final String path, final Object value) {
            U.set(data, path, value);
            return this;
        }

        public Builder add(final Builder builder) {
            data.put(String.valueOf(data.size()), builder.build());
            return this;
        }

        @SuppressWarnings("unchecked")
        public Map<String, Object> build() {
            return (Map<String, Object>) ((LinkedHashMap) data).clone();
        }

        public String toXml() {
            return Xml.toXml(data);
        }

        public static Builder fromXml(final String xml) {
            final Builder builder = new Builder();
            builder.data.putAll(fromXmlMap(xml));
            return builder;
        }

        public String toJson() {
            return Xml.toXml(data);
        }

        public static Builder fromJson(final String json) {
            final Builder builder = new Builder();
            builder.data.putAll(fromJsonMap(json));
            return builder;
        }

        @Override
        public String toString() {
            return data.toString();
        }
    }


Хорошего вам дня!
4 фев 20, 13:12    [22072616]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 5388
Valentin Kolesnikov,
Не понял. Он же был.
Ты комментируй изменения.
4 фев 20, 13:25    [22072633]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3312
PetroNotC Sharp
Valentin Kolesnikov,
Не понял. Он же был.
Ты комментируй изменения.


Да, это текущий билдер класс. Нашёл ошибку в toJson() методе, исправил.
4 фев 20, 13:28    [22072636]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5395
PetroNotC Sharp
mad_nazgul
Не бывает чего-то однозначно хорошего и однозначно плохого.
ну вот ты и ответил что плохого в сервере конфигураций и в java конфиге.
Оверхед бывает.


Так понятно, что для "прикладушки на коленке" поднимать отдельно сервер конфигурации, как-то лень.
Но если у вас есть несколько микрсервисов, которые должны работать в разных окружениях (prod, stage, test).
То вот как-то становиться с точностью до наоборот.
Иметь централизованное хранилище конфигурации становиться наоборот удобно.

И что характерно, в spring boot переход от локальных конфигурация к серверу конфигураций делается парой аннотаций и одной зависимостью.
Т.е. это можно сделать в удобное время. Когда возникнет потребность.
4 фев 20, 13:40    [22072646]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 5388
mad_nazgul
Но если у вас есть несколько микрсервисов, которые должны работать в разных окружениях (prod, stage, test).
кончай витать в облаках.
4 фев 20, 14:02    [22072678]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 5388
mad_nazgul,
Один пост тут был мембера за два года. Который даже не знал что у него должен этот сервер конфигов быть.
Он ini файл вбивал кувалдой, а оно не лезло.
4 фев 20, 14:07    [22072685]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5395
PetroNotC Sharp
mad_nazgul
Но если у вас есть несколько микрсервисов, которые должны работать в разных окружениях (prod, stage, test).
кончай витать в облаках.


Дык это - работает. :-)
4 фев 20, 15:25    [22072789]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5395
PetroNotC Sharp
mad_nazgul,
Один пост тут был мембера за два года. Который даже не знал что у него должен этот сервер конфигов быть.
Он ini файл вбивал кувалдой, а оно не лезло.


Зачем?!

В spring boot либо properties, либо yaml
И да, чтобы ini туда вкорячить, надо поизвращаться.
Это можно сделать, но не так удобно.

А так для прикладника откуда берется конфигурация.

Чтобы бралась с сервера конфигурации нужно прописать одну аннотацию, добавит зависимость, и в конфигурации указать адрес сервиса конфигурации.
И еще в скрипте запуска нужно указать "профиль" - prod, stage, test.

Сами конфигурации хранятся на серваке git в соответствующих ветках.

Т.е. работа с конфигурацией ничем не отличается от работы с кодом.

По хорошему желательно прописать в переменных окружения какой профиль на данном серваке используется.
Но мне было лень, я писал в скрипте запуска.
4 фев 20, 15:32    [22072796]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 5388
mad_nazgul
Зачем?!
затем что мы счас с тобой обсуждаем 0,01 процент проектов.
4 фев 20, 15:36    [22072803]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3312
Недавно были выпущены новые версии библиотек: 1.53, 1.23, 1.10

- Fixed U.Builder.toJson() method.
- Fixed null array json converter.
- Improve format json and xml with numbers ending with 0.
- Added U.arrayBuilder().

Пример создания объекта с U.arrayBuilder():

        Map<String, Object> value = U.objectBuilder()
            .add("firstName", "John")
            .add("lastName", "Smith")
            .add("age", 25)
            .add("address", U.arrayBuilder()
                .add(U.objectBuilder()
                    .add("streetAddress", "21 2nd Street")
                    .add("city", "New York")
                    .add("state", "NY")
                    .add("postalCode", "10021")))
            .add("phoneNumber", U.arrayBuilder()
                .add(U.objectBuilder()
                    .add("type", "home")
                    .add("number", "212 555-1234"))
                .add(U.objectBuilder()
                    .add("type", "fax")
                    .add("number", "646 555-4567")))
            .build();
        // {firstName=John, lastName=Smith, age=25, address=[{streetAddress=21 2nd Street,
        // city=New York, state=NY, postalCode=10021}], phoneNumber=[{type=home, number=212 555-1234},
        // {type=fax, number=646 555-4567}]}


С уважением, Валентин

Сообщение было отредактировано: 1 мар 20, 08:07
1 мар 20, 08:05    [22089941]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3312
Недавно были выпущены новые версии библиотек: 1.54, 1.24, 1.11

- Added U.containsWith(iterable, element).

С уважением, Валентин
1 апр 20, 18:47    [22109556]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3312
Недавно были выпущены новые версии библиотек: 1.55, 1.25, 1.12

- Added Trie class.
- Fixed single cdata section generation in toXml().
- Added U.rename(map, oldKey, newKey).

С уважением, Валентин
3 июн 20, 07:01    [22144658]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 [5] 6   вперед  Ctrl      все
Все форумы / Java Ответить