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

Откуда:
Сообщений: 3305
Привет, Java Developers!

Недавно выпустил новую версию библиотеки underscore-java. Реализованы почти все функции оригинальной утилиты на javascript. Есть возможность расширять функционал. Примеры модулей math и string в этом же репозитории.

Буду рад пожеланиям и замечаниям.

Валентин
19 июн 15, 05:28    [17790633]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Blazkowicz
Member

Откуда:
Сообщений: 24443
Valentin Kolesnikov,

Чем-то лучше гуавы?
19 июн 15, 07:42    [17790716]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
Blazkowicz,

Можно использовать похожий код в javascript и java. Есть возможность расширять библиотеку своими функциями.
19 июн 15, 07:57    [17790734]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Blazkowicz
Member

Откуда:
Сообщений: 24443
Valentin Kolesnikov
Можно использовать похожий код в javascript и java. Есть возможность расширять библиотеку своими функциями.

Это сложно назвать плюсом.
Как на счет Java 8?
19 июн 15, 08:37    [17790791]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
Blazkowicz,

Для лучшей совместимости с java 8 основной класс был переименован с '_' в '$'.
Есть проддержка для guava при создании списков и карт внутри библиотеки.
19 июн 15, 09:32    [17790919]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
Blazkowicz,

+ размер библиотеки вего 68 Кб против 2.2 Мб у гуавы :)
22 июн 15, 16:04    [17802616]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
Недавно вышло обновление для библиотеки: версия 1.4

Исправлена ошибка при вызове метода slice(0, N)
Стали доступны генераторы для списков и карт внутри плагинов.
Появился новый модуль - underscore-lodash (реализованы почти все функции оригинальной библиотеки).

Буду рад новым пользователям!

С уважением, Валентин
2 июл 15, 18:25    [17845174]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
Недавно была выпущена новая версия библиотеки: 1.5

Обновился сайт с документацией.
Добавлены методы toMap(), value(), chain(), eachRight(), и forEachRight().
Появилась поддержка методов size() и isEmpty() для chain().
Исправлен тип для метода sort().
Добавлены методы groupBy(), indexBy(), countBy(), every() и some() для chain().
Добавлен параметр массив для методов diferrence(arrays) и union(arrays).
Улучшено вычисление для equals и hashCode для класса Optional.

С уважением, Валентин
1 авг 15, 05:33    [17963369]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
Недавно была выпущена новая версия библиотеки: 1.6

Добавлен метод chunk(array, size).
Появилась поддержка методов invoke(), pluck(), where(), findWhere(), max() и min() для chain().
Добавлена поддержка вычитывания данных из классов по имени объекта в методах where(), findWhere() и pluck().
Появилась поддержка методов toJson() и fromJson() в модулях lodash и string.

С уважением, Валентин
1 сен 15, 04:51    [18093640]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
vimba
Member

Откуда: Санкт-Петербург
Сообщений: 2210
Valentin Kolesnikov,

[Оффтоп] просто интереса ради, зачем к репе на гитхабе подвешены несколько дублирующих друг друга сборщиков: travis, codeship, vexor, wercke, cloudbees? Какие из этого можно получить бонусы.
1 сен 15, 11:55    [18094509]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
vimba,

У каждого CI свои операционные системы и разные версии java. Можно проверить работоспособность юнит тестов для множества JVM.
1 сен 15, 12:08    [18094554]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
mayton
Member

Откуда: loopback
Сообщений: 47628
А можно предоставить такой example или use-case чтобы было - Wow!
1 сен 15, 14:51    [18095648]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
mayton,


http://stackoverflow.com/questions/109383/how-to-sort-a-mapkey-value-on-the-values-in-java?rq=1
Пример сортировки карты по значению ключей.
$.chain((new LinkedHashMap<String, Double>() { {
            put("A", 99.5);
            put("B", 67.4);
            put("C", 67.4);
            put("D", 67.3);
        } }).entrySet()).sortBy(new Function1<Map.Entry<String, Double>, Double>() {
            public Double apply(Map.Entry<String, Double> item) {
                return item.getValue();
            }
        }).toMap().item().toString());

// =>  "{D=67.3, B=67.4, C=67.4, A=99.5}"
1 сен 15, 16:05    [18096086]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
mayton
Member

Откуда: loopback
Сообщений: 47628
Valentin Kolesnikov, хочется в этом коде стрелочку "->" заюзать.
1 сен 15, 17:54    [18096672]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
mayton,

Можно добавить аннотацию @FunctionalInterface для интерфейсов функций и подготовить jar для java 8.
2 сен 15, 10:33    [18098636]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
Недавно была выпущена новая версия библиотеки: 1.7

Добавлена поддержка методов range() для chain().
Появилась поддержка метода sum(array, function) в модулях lodash и math.
Добавлена поддержка chain методов в модулях lodash, math и string.
Появилась поддержка форматирования для метода toJson() в модулях lodash и string.
Добавлена поддержка кириллических символов для метода words() в модулях lodash и string.

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

Откуда:
Сообщений: 3305
Недавно была выпущена новая версия библиотеки: 1.8

Добавлена поддержка методов fromNullable(), or() and orNull() для класса Optional.
Появилась поддержка метода toXml() в модулях lodash и string.
Исправлен парсер юникода в модулях lodash и string.
Добавлена поддержка методов upperFirst() и lowerFirst() в модулях lodash и string.
Исправлены предупреждения компилятора.

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

Откуда:
Сообщений: 3305
Недавно была выпущена новая версия библиотеки: 1.9

Добавлена поддержка метода uniquePassword() для генерации паролей.
Улучшен метод toJson() в модулях lodash и string.
Добавлена поддержка типов для методов chain().
Улучшены методы escape/unescape.
Добавлены примеров юнит тестов для java 8.

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

Откуда:
Сообщений: 3305
mayton,

Пример со стрелочкой "->"

$.chain((new LinkedHashMap<String, Double>() { {
            put("A", 99.5);
            put("B", 67.4);
            put("C", 67.4);
            put("D", 67.3);
        } }).entrySet()).sortBy((item) -> item.getValue()).toMap().item().toString();

// =>  "{D=67.3, B=67.4, C=67.4, A=99.5}"
1 дек 15, 13:27    [18497036]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
fixxer
Member

Откуда:
Сообщений: 791
Valentin Kolesnikov
mayton,

Пример со стрелочкой "->"

$.chain((new LinkedHashMap<String, Double>() { {
            put("A", 99.5);
            put("B", 67.4);
            put("C", 67.4);
            put("D", 67.3);
        } }).entrySet()).sortBy((item) -> item.getValue()).toMap().item().toString();

// =>  "{D=67.3, B=67.4, C=67.4, A=99.5}"


ээээ.... занафига?

new TreeMap(otherMap);
1 дек 15, 14:13    [18497395]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
fixxer
Member

Откуда:
Сообщений: 791
Сорри, попутал, но смысл тот же. Уже есть java 8 streams
1 дек 15, 14:15    [18497411]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
fixxer
Member

Откуда:
Сообщений: 791
вот пример
1 дек 15, 14:19    [18497438]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
fixxer,

Это был ответ на предыдущий комментарий: https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1162191&msg=18096672
1 дек 15, 14:53    [18497679]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
Недавно была выпущена новая версия библиотеки: 1.10

Добавлена поддержка метода toJsonJavaString () в модуле string.
Добавлена поддержка для метода fromXml () в модулях lodash и string.
Исправлена максимальная длина пароля в методе uniquePassword ().
Добавлены примеры для методов intersection, xor, snakeCase, chaining, fromXml и fromJson.

С уважением, Валентин
1 янв 16, 09:26    [18633715]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
no56892
Member

Откуда:
Сообщений: 590
Пока в мавен репозитории не появится - без шансов
1 янв 16, 15:41    [18634096]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
no56892,

Появилась в мавен репозитории:

http://search.maven.org/#search|ga|1|g:"com.github.javadev" AND a:"underscore"

С уважением, Валентин
1 янв 16, 16:26    [18634153]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
DoSOfRedRiver
Member

Откуда:
Сообщений: 247
Валентин, а сериализация в JSON у вас есть? Планируется ли?
2 янв 16, 12:03    [18635851]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
DoSOfRedRiver,

Да, есть серилизация в json, модули lodash и string, метод toJson().
2 янв 16, 12:12    [18635869]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
irbis_al
Member

Откуда: Симферополь
Сообщений: 1730
Valentin Kolesnikov,

Ребят с наступившим...Вот читаю топик...и объясните "тем кто на бронепоезде" :-)
-Сфера применения это штуки?
Кто-то вверху написал про аналогию гуавы(но я тоже не знаю что это такое) поиск сильно не прояснил ситуацию.
(А то вдруг вещь полезная или в будущем применимая...а я не "воткнул тему")
2 янв 16, 14:35    [18636175]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
irbis_al,

Можно писать похожий код на java и javascript. Есть возможность расширять функционал библиотеки при помощи модулей.

С уважением, Валентин
2 янв 16, 14:49    [18636225]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
Недавно была выпущена новая версия библиотеки: 1.11

Добавлена поддержка метода toMap() для списка.
Появилась поддержка метода compact() для chain().

С уважением, Валентин
4 фев 16, 21:34    [18774868]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
Недавно появилось приложение, которое использует библиотеку underscore-lodash.

В нём есть вызовы методов toJson, fromJson, toXml, join, filter, chain, clone, isString, isNumber.

Код приложения доступен по этой ссылке.

С уважением, Валентин
8 фев 16, 08:26    [18785603]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
Недавно была выпущена новая версия библиотеки: 1.12

- Переименованы методы trimLeft, trimRight, padLeft, padRight в trimStart, trimEnd, padStart, padLeft для модулей string и lodash.
- Улучшены методы once(), after() and before(). Теперь они возвращают последнее сохранённое значение.

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

Откуда:
Сообщений: 3305
Недавно была выпущена новая версия библиотеки: 1.13

- Добавлена поддержка для методов setTimeout(), clearTimeout(), setInterval() и clearInterval().

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

Откуда:
Сообщений: 3305
Недавно была выпущена новая версия библиотеки: 1.14

Добавлена поддержка методов first(list, predicate), firstOrNull(list), firstOrNull(list, predicate), last(list, predicate), lastOrNull(list) и lastOrNull(list, predicate).

С уважением, Валентин
3 май 16, 13:27    [19130428]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
Недавно появился проект, который использует библиотеку underscore-java.

В коде приложения есть вызов методов map, forEach, concat, isNull и isEmpty.

С уважением, Валентин
7 май 16, 10:56    [19145193]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
Недавно была выпущена новая версия библиотеки: 1.15

Исправлен max параметр для random метода.
Добавлена поддержка метода $.random(int max).

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

Откуда:
Сообщений: 3305
Недавно была выпущена новая версия библиотеки: 1.16

- Добавлена поддержка метода $.memoize(function).
- Появился метод $.get(object, path) в модуле lodash.

С уважением, Валентин
1 июл 16, 04:51    [19357703]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
Недавно была выпущена новая версия библиотеки: 1.17

- Добавлена поддержка методов $.push(values), $.pop(), $.shift() и $.unshift(values) в модуле lodash.
- Появились методы $.copyOf(), $.copyOfRange(start, end), $.elementAt(index), $.elementAtOrElse(index, defaultValue) и $.elementAtOrNull(index).
- Изменился аргумент для вызова template.apply(map).

Пример создания и вызова template:
Template<Map<String, Object>> template = $.template("hello: <%= name %>");
String result = template.apply(new LinkedHashMap<String, Object>() { {
    put("name", "moe"); } });
// => "hello: moe"


С уважением, Валентин
1 авг 16, 05:27    [19480055]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
Недавно была выпущена новая версия библиотеки: 1.18

- Заменён вызов создания объектов guava collection на объекты java collection.
- Добавлена поддержка метода createPermutationWithRepetition в модуле math.
- Появился возвращаемый тип ScheduledFuture для методов $.defer(function) и $.delay(function, delayMilliseconds).
- Добавлены поддержка методов $.fetch(url), $.fetch(url, method, body) и $.fetch(url, method, body, headerFields) в модуле lodash.

С уважением, Валентин
1 сен 16, 04:22    [19615483]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
Underscore-java получил 100 звёзд на github! Ура.

С уважением, Валентин
25 сен 16, 12:24    [19705599]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
Недавно была выпущена новая версия библиотеки: 1.19

- Улучшена производительность для методов $.intersection(list1, list2) и $.difference(list1, list2).
- Добавлены методы forEach(inerator) и forEachRight(inerator) для chain.
- Улучшен метод $.join(iterable, separator).

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

Откуда:
Сообщений: 3305
Недавно была выпущена новая версия библиотеки: 1.20

- Добавлено больше проверок для метода limit(size) в chain.
- Появилась поддержка для параметров connectTimeout и readTimeout в методе $.fetch(), модуль lodash.
- Добавлен метод xml() для FetchResponse.

Пример загрузки xml файла и получение поля code:
$.FetchResponse result = $.fetch("http://www.dragonsofmugloar.com/weather/api/report/7614759");
(String) $.get((Map<String, Object>) result.xml(), "code"); // -> NMR

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

Откуда:
Сообщений: 3305
Недавно была выпущена новая версия библиотеки: 1.21

- Добавлены методы firstOrNull(list), firstOrNull(list, pred), lastOrNull(list) и lastOrNull(list, pred) для chain.
- Появились методы $.checkNotNull(), Optional.map(function1) и Optional.orThrow(function).
- Изменился newHashSet на newLinkedHashSet для методов uniq/distinct.
- Добавлены методы lastIndex(array), distinct(array) и distinctBy(array, func).
- Появилась поддержка для методов $.chain(int[]) и $.map(int[], function).

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

Откуда:
Сообщений: 3305
Недавно была выпущена новая версия библиотеки: 1.22

- Добавлен метод $.sortWith(list, comparator).

С уважением, Валентин
2 янв 17, 10:37    [20068923]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
Недавно была выпущена новая версия библиотеки: 1.23

- Перемещены методы push(), pop(), shift() и unshift() в библиотеку underscore.
- Убрана поддержка для each и print в методе template().

С уважением, Валентин
2 фев 17, 09:50    [20172247]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
Ищу работу для java/javascript разработчика.

20199068

С уважением, Валентин
6 мар 17, 07:17    [20265627]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
Популярное android приложение habitica использует undercoder-java.

С уважением, Валентин
30 мар 17, 13:36    [20350706]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
Недавно была выпущена новая версия библиотеки: 1.24

- Улучшена проверка входных данных для метода fromXml() в модулях lodash и string.

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

Откуда:
Сообщений: 3305
Недавно была выпущена новая версия библиотеки: 1.25

- Добавлен метод $.iterate(seed, unaryOperator).
- Добавлен метод $.chain(iterable, size).
- Исправлен метод Chain.uniq(Function1<T, F>).

С уважением, Валентин
1 май 17, 08:01    [20447747]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
Недавно была выпущена новая версия библиотеки: 1.26

- Добавлена поддержка метода format(template, values)

Пример вызова:
        String result = $.format("hello: {}, {}", "moe", 123);
        // "hello: moe, 123

С уважением, Валентин
1 июн 17, 14:06    [20531307]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
Недавно была выпущена новая версия библиотеки: 1.27

- Добавлены методы $.filterIndexed(), $.rejectIndexed(), chain filterIndexed и chain rejectIndexed.
- Появились объектные методы map(func), filter и reject.

С уважением, Валентин
1 июл 17, 08:06    [20604722]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
Недавно была выпущена новая версия библиотеки: 1.28

- Добавлен метод $.filterFalse(list, pred).
- Появилась поддержка для LRUCache в модуле math.

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

Откуда:
Сообщений: 3305
Недавно была выпущена новая версия библиотеки: 1.29

- Добавлены классы File, Directory и Entry для модуля math.
- Появился метод $.findByName(entry, name) в модуле math.
- Добавлена поддержка для root в методе $.fromXml() для модулей string и lodash.
- Появились методы $.get(list, index), $.get(index), $.set(list, index, value) и $.set(index, value).

Пример конвертирования xml в json:
import com.github.underscore.lodash.$;
import org.junit.Test;
import static org.junit.Assert.assertEquals;

public class StringTest {

    @Test
    public void toJsonFromXml() {
        final String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<root>\n"
            + "  <FirstItem>1</FirstItem>\n  <SecondItem>2</SecondItem>\n</root>";
        assertEquals("{\n"
            + "  \"root\": {\n"
            + "    \"FirstItem\": \"1\",\n"
            + "    \"SecondItem\": \"2\"\n"
            + "  }\n"
            + "}",
            $.toJson((Map<String, Object>) $.fromXml(xml)));
    }
}


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

Откуда:
Сообщений: 3305
Недавно была выпущена новая версия библиотеки: 1.30

- Добавлен метод check() для Template.

Пример проверки шаблона:
import java.util.*;
import com.github.underscore.$;
import com.github.underscore.Template;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;

public class CheckTest {

    @Test
    public void check() {
        Template<Map<String, Object>> compiled = $.template("hello: <%= name %>");
        assertTrue(compiled.check(new LinkedHashMap<String, Object>() { {
            put("name", "moe"); } }).isEmpty());
        assertEquals("name2", compiled.check(new LinkedHashMap<String, Object>() { {
            put("name2", "moe"); } }).get(0));
    }
}


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

Откуда:
Сообщений: 3305
Недавно была выпущена новая версия библиотеки для java 8: 1.0

- Функциональные классы были заменены их аналогами для java 8.
- Модуль lodash интегрирован в основную библиотеку.

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

Откуда:
Сообщений: 3305
Недавно была выпущена новая версия библиотеки для java: 1.31

- Переименованы классы Block -> Consumer и Function -> Supplier.
- Переименован класс Function1 -> Function, удалены классы Function2 и Function4.
- Перемещён плагин lodash в основную библиотеку.
- Переименован класс FunctionAccum -> BiFunction.

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

Откуда:
Сообщений: 3305
Недавно была выпущена новая версия библиотеки для java: 1.32

- Добавлена поддержка для методов $mapIndexed() и $.forEachIndexed().
- Появился метод $.createLRUCache(capacity) в модуле lodash.
- Добавлен метод $.fromXmlMakeArrays(xml) в модуль lodash.

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

Откуда:
Сообщений: 3305
Blazkowicz
Valentin Kolesnikov
Можно использовать похожий код в javascript и java. Есть возможность расширять библиотеку своими функциями.

Это сложно назвать плюсом.
Как на счет Java 8?


Специальная версия для java 8.

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

Откуда:
Сообщений: 3305
Недавно была выпущена новая версия библиотеки для java: 1.33

- Добавлена поддержка для методов $reduce(iterable, function) и $.reduceRigth(iterable, function).
- Появился метод $.groupBy(iterable, function, binaryOperator).

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

Откуда:
Сообщений: 3305
Valentin Kolesnikov
Привет, Java Developers!

Недавно выпустил новую версию библиотеки underscore-java. Реализованы почти все функции оригинальной утилиты на javascript. Есть возможность расширять функционал. Примеры модулей math и string в этом же репозитории.

Буду рад пожеланиям и замечаниям.

Валентин


Ровно 3 года назад был первый анонс библиотеки версии 1.3.

За это время вышло 30 версий. Появилась специальная версия библиотеки для java 8.

С уважением, Валентин
19 июн 18, 15:27    [21503673]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
Недавно была выпущена новая версия библиотеки: 1.34

- Переименован основной класс $ в U.
- Добавлена поддержка jdk 9 и jdk 10 для travis-ci.

Пример вызова:

        
  String result = U.format("hello: {}, {}", "moe", 123);
  // "hello: moe, 123

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

Сообщение было отредактировано: 2 июл 18, 08:37
1 июл 18, 06:56    [21533898]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
Недавно была выпущена новая версия библиотеки: 1.35

- Модуль math был перемещён в основную библиотеку.

Пример вызова:
        List<List<String>> result = com.github.underscore.math.U.createPermutationWithRepetition(asList("apple", "orange"), 3);
        assertEquals("[[apple, apple, apple],"
                   + " [orange, apple, apple],"
                   + " [apple, orange, apple],"
                   + " [orange, orange, apple],"
                   + " [apple, apple, orange],"
                   + " [orange, apple, orange],"
                   + " [apple, orange, orange],"
                   + " [orange, orange, orange]]", result.toString());


С уважением, Валентин
3 авг 18, 07:19    [21626774]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
9990 просмотров топика. Скоро будет 10000!

Сейчас тестируется новая версия конвертора xml в json.

21643425

С уважением, Валентин
19 авг 18, 08:56    [21647030]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
Недавно была выпущена новая версия библиотеки: 1.36

- Перемещены модули math и string в пакет lodash.
- Добавлена поддержка атрибутов для U.fromXml(string) и U.toXml(map) в пакете lodash.
- Улучшен метод escape в U.toXml(object).
- Добавлены методы U.xmlToJson(string) и U.jsonToXml(string) для пакета lodash.

Пример вызова:

    @Test
    public void xmlToJson() {
        assertEquals("{\n  \"a\": {\n    \"b\": [\n      {\n      },\n      {\n      }\n    ]\n  }\n}",
            U.xmlToJson("<a>\n  <b>\n  </b>\n  <b>\n  </b>\n</a>"));
    }

    @Test
    public void jsonToXml() {
        assertEquals("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<a>\n</a>", U.jsonToXml("{\n  \"a\": {\n  }\n}"));
    }


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

Откуда:
Сообщений: 3305
Недавно была выпущена новая версия библиотеки: 1.37

- Добавлена поддержка отступов для методов U.xmlToJson(string) и U.jsonToXml(string).
- Улучшена поддержка блоков текста и комментариев для метода U.fromXml(string).
- Добавлены методы U.formatXml(string) и U.formatJson(string).
- Улучшен метод U.range(start, stop), обновлена underscore.js до версии 1.91.
- Добавлена поддержка sonarcloud.

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

Откуда:
Сообщений: 3305
Непрерывная сборка в travis-ci.

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

К сообщению приложен файл. Размер - 24Kb
1 окт 18, 02:57    [21690671]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
Недавно была выпущена новая версия библиотеки: 1.38

- Добавлена поддержка самозакрывающихся xml элементов.
- Улучшена поддержка вложенных массивов.
- Добавлен метод Optional.isEmpty().
- Улучшена поддержка xml с dtd.
- Улучшен метод U.every(list, pred).

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

Откуда:
Сообщений: 3305
Недавно была выпущена новая версия библиотеки: 1.39

- Улучшено форматирование xml без заголовка.
- Улучшена генерация Euro в U.toXml(map).
- Улучшена генерация standalone для xml заголовка.
- Добавлен метод Xml.fromXmlWithoutNamespaces(string).
- Добавлены методы U.fromXmlWithoutAttributes(string) и U.fromXmlWithoutNamespacesAndAttributes(string).
- Добавлена поддержка processing instruction для xml элементов.

Проект получил 200 звёзд на github.

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

Откуда:
Сообщений: 3305
Недавно была выпущена новая версия библиотеки: 1.40

- Улучшена поддержка processing instruction node.
- Улучшена поддержка external dtd processing в U.fromXml(string).

С уважением, Валентин
1 янв 19, 11:13    [21777306]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
no56892
Member

Откуда:
Сообщений: 590
автор
Переименован основной класс $ в U.

Просто божественно ощутить это в библиотеках))
2 янв 19, 23:46    [21777733]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
mayton
Member

Откуда: loopback
Сообщений: 47628
Valentin Kolesnikov, а сколько времени в день вы тратите на поддержку этой библиотеки?
2 янв 19, 23:52    [21777735]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
mayton
Valentin Kolesnikov, а сколько времени в день вы тратите на поддержку этой библиотеки?


Для выпуска новой версии нужен час примерно. Для новых функций 4-8 часовых. Обычно создаю pull request в github.

👍🎉🍭🎄🍺🚂🌲💯😎

С уважением, Валентин
3 янв 19, 20:20    [21777991]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
mayton
Member

Откуда: loopback
Сообщений: 47628
Valentin Kolesnikov
mayton
Valentin Kolesnikov, а сколько времени в день вы тратите на поддержку этой библиотеки?


Для выпуска новой версии нужен час примерно. Для новых функций 4-8 часовых. Обычно создаю pull request в github.

👍🎉🍭🎄🍺🚂🌲💯😎

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

Я посмотрел на количество бейджиков которые вы заработали (и видимо потратили на это усилия)
и решил что вы тратите слишком уж много времени на внешний вид этой библиотеки. В противоположность
для меня ценность любого продукта заключается не в этом а в количестве внедрений или в количестве
проектов где это было использовано.

В скольки проектах эта библиотека включена? Разумеется я не имею в виду ваши личные проекты.
5 янв 19, 14:12    [21778731]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
mayton
Valentin Kolesnikov
пропущено...


Для выпуска новой версии нужен час примерно. Для новых функций 4-8 часовых. Обычно создаю pull request в github.

👍🎉🍭🎄🍺🚂🌲💯😎

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

Я посмотрел на количество бейджиков которые вы заработали (и видимо потратили на это усилия)
и решил что вы тратите слишком уж много времени на внешний вид этой библиотеки. В противоположность
для меня ценность любого продукта заключается не в этом а в количестве внедрений или в количестве
проектов где это было использовано.

В скольки проектах эта библиотека включена? Разумеется я не имею в виду ваши личные проекты.


Примерно до 100 проектов используют библиотеку сейчас.

Хотелось бы больше, но пока так.

Хорошего Вам дня!
5 янв 19, 16:23    [21778772]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
mayton
Member

Откуда: loopback
Сообщений: 47628
Ну дах бох.
5 янв 19, 17:33    [21778810]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
Недавно была выпущена новая версия библиотеки: 1.41

- Добавоен метод U.count(iterable, predicate).
- Исправлен U.fromXmlWithoutNamespaces(string).
- Добавлена проверка для #item в U.get(map).

С уважением, Валентин
1 фев 19, 05:52    [21799251]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

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

- Добавоен метод U.shortestPathAllKeys(string[]).
- Исправлены предупреждения PMD.

Пример вызова для нового метода:

        List<U.Status> statuses = U.shortestPathAllKeys(new String[] {"@.a.#", "###.#", "b.A.B"});
        assertEquals(8, statuses.size());
        assertEquals(0, statuses.get(0).getX());
        assertEquals(1, statuses.get(0).getY());
        assertEquals(2, statuses.get(7).getX());
        assertEquals(0, statuses.get(7).getY());


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

Откуда:
Сообщений: 3305
Недавно были выпущены новые версии библиотек: 1.43, 1.13, 1.0

- Добавлен метод U.fromXml(xml) для форматирования.
- Появился метод U.defaultTo(value, defaultValue).
- Добавлен метод U.isNotEmpty(interable).

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

Сообщение было отредактировано: 2 апр 19, 17:03
2 апр 19, 16:12    [21850314]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
Появились новые разработчики для библиотеки. В новой версии будет много функций.

Хорошего Вам дня!
18 апр 19, 21:03    [21866607]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
Недавно были выпущены новые версии библиотек: 1.44, 1.14, 1.1

- Added sum method for array.
- Added U.filter() for iterable.
- Added support for U.nonNull(object).
- Added new chunk() and chunkFilter().
- Added methods U.singleOrNull(iterable) and U.singleOrNull(iterable, predicate).
- Added method U.cycle(iterable, times).
- Added method U.toCardinalityMap(iterable).
- Added U.interpose(iterable, element) and U.interposeByList(iterable, elements) methods.
- Added new methods containsAtLeast(iterable, value, count) and containsAtMost(iterable, value, count).
- Added U.splitAt(iterable, position) method.
- Added U.repeat(element, times) method.
- Added U.binarySearch(iterable, value) method.
- Added U.first(iterable, pred, n) method and fix other U.first() methods.
- Improved U.fill(list, item), add U.fill(array, item) methods.
- Added U.average(iterable) and U.average(iterable, function) methods.
- Added U.explode(string) and U.implode(strings) methods.
- Added U.replace(iterable, predicate, value) and U.replaceIndexed() methods.
- Improved U.concat(iterables) method.
- Added U.takeSkipping(iterable, stepSize) method.
- Added U.subtract(values) method.
- Changed return value for metods U.range(stop), U.range(start, stop) and U.range(start, stop, step).
- Improved U.functions(object) method.
- Removed U.shortestPathAllKeys(grid).

С уважением, Валентин
1 май 19, 06:26    [21876119]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
alex55555
Member

Откуда:
Сообщений: 2128
Valentin Kolesnikov
Для лучшей совместимости с java 8 основной класс был переименован с '_' в '$'.

Зачем до такой степени лениться? В смысл имена классов должны быть говорящие, и если уж так хочется сокращать, то можно придумать что-то короткое, типа Main или Root или ещё как-то по смыслу. Написать 4 буквы вместо этой долбаной закорючки, конечно, чуть подольше, но на фоне общих затрат на написание, включая понимание ранее написанного, эти лишние буквы вообще ничего не стоят, а понимание добавляют.
1 май 19, 13:33    [21876301]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
alex55555,

Сейчас класс называется U.

Хорошего Вам дня!

🚂🎁🍦💯🍭☕👍🍺🎉🍦🎂😎
1 май 19, 15:44    [21876377]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
Недавно были выпущены новые версии библиотек: 1.45, 1.15, 1.2

- Fixed long number parser for json and xml.
- Improved createDocument(string).

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

Откуда:
Сообщений: 3305
Недавно были выпущены новые версии библиотек: 1.46, 1.16, 1.3

- Added support for empty processing instruction.
- Added !DOCTYPE support for U.formXml(xml).

С уважением, Валентин
1 июл 19, 11:14    [21917981]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
Недавно были выпущены новые версии библиотек: 1.47, 1.17, 1.4

- Fixed unexpected return null in Xml.getRootName(localMap).

С уважением, Валентин
1 авг 19, 06:36    [21939408]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
Недавно были выпущены новые версии библиотек: 1.48, 1.18, 1.5

- Added support for Optional.filter(predicate).

С уважением, Валентин
5 окт 19, 05:56    [21987241]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
Недавно были выпущены новые версии библиотек: 1.49, 1.19, 1.6

- Added method U.removeMinusesAndConvertNumbers(map).
- Added mode support for the U.xmlToJson(xml).

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

Откуда:
Сообщений: 3305
Недавно были выпущены новые версии библиотек: 1.50, 1.20, 1.7

- Added method U.set(map, path, value).
- Added method U.replaceSelfClosingWithNull(map).
- Improved method U.removeMinusesAndConvertNumbers(map).

С уважением, Валентин
2 дек 19, 12:25    [22030225]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
Недавно были выпущены новые версии библиотек: 1.51, 1.21, 1.8

- Added method U.fromXmlMap(string).
- Added method U.fromJsonMap(string).
- Added method U.isJsonNumber(string).
- Fixed U.capitalize() and U.uncapitalize() methods.
- Added support for type in U.fromJson(string) and U.fromXml(string) methods.
- Added method U.remove(map, key).

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

Откуда:
Сообщений: 3305
Недавно были выпущены новые версии библиотек: 1.52, 1.22, 1.9

- Changed parameter for U.times(count, supplier).
- Fixed U.camelCase(string).
- Added method U.countBy(iterator).
- Fixed runtime error for U.format() on android jvm.
- Added U.objectBuilder().

Пример конструирования карты при помощи билдера:

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


С уважением, Валентин
1 фев 20, 07:03    [22070728]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
mayton
Member

Откуда: loopback
Сообщений: 47628
Valentin Kolesnikov, мне кажется билдер имеет смысл там где у вас есть какой-то type-checking.
Или сам объект строительства - сложный и имеющий различные внутренние ограничения структуры.

А эта колбаса из кода не имеет явных преимуществ перед обычой JSON формой представления объекта.
Тоесть если у меня был-бы выбор как собрать объект - я-бы взял такой.

Map<String, Object> value = fromJson("""
        {firstName=John, lastName=Smith, age=25, address={streetAddress=21 2nd Street,
         city=New York, state=NY, postalCode=10021}, phoneNumber={0={type=home, number=212 555-1234},
         1={type=fax, number=646 555-4567}}}""");


И любой другой программист в 80% случаев выбирал бы просто путь сокращения количества кода.
В этом есть что-то от лени и от эволюции одновременно.
1 фев 20, 11:58    [22070765]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
mayton,

У билдера есть статическое методы fromXml(xml) и fromJson(json).

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

Откуда:
Сообщений: 5134
mayton
Тоесть если у меня был-бы выбор как собрать объект - я-бы взял такой.

кто что любит.
Я бы не
https://docs.oracle.com/javaee/7/api/javax/json/JsonObjectBuilder.html
2 фев 20, 15:34    [22071129]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
mayton
Member

Откуда: loopback
Сообщений: 47628
Да вы - мозохисты, ребята.
2 фев 20, 19:59    [22071231]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
mayton
Да вы - мозохисты, ребята.


Я написал что метод fromJson уже добавлен и им можно пользоваться.

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

Откуда:
Сообщений: 5134
mayton,
Это стандарт). Про стандарта не попрешь))
3 фев 20, 09:03    [22071440]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
mayton
Member

Откуда: loopback
Сообщений: 47628
Стандарт - писать длинную колбасу?

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

Или fromJson.

Или ваш фабричный метод.
3 фев 20, 09:48    [22071455]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
PetroNotC Sharp
Member

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

mayton
И все для того чтобы завести карточку Джона Смита?
типобезопасно карл!
Остальное типоопасно.
3 фев 20, 11:05    [22071531]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
У билдера есть методы toXml() и toJson().

Хорошего вам дня!
3 фев 20, 17:42    [22071968]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
mayton
Member

Откуда: loopback
Сообщений: 47628
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

Откуда:
Сообщений: 5134
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
Сообщений: 47628
Билдер визитных карточек.

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

Откуда:
Сообщений: 3305
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
Сообщений: 3586
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

Откуда:
Сообщений: 5365
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

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

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


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

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

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

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

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

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


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

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

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

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

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

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

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

    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

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

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


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

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


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

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

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

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

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


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

Откуда:
Сообщений: 5365
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

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

Откуда:
Сообщений: 3305
Недавно были выпущены новые версии библиотек: 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

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

- Added U.containsWith(iterable, element).

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

Откуда:
Сообщений: 3305
Недавно были выпущены новые версии библиотек: 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]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
Valentin Kolesnikov
Привет, Java Developers!

Недавно выпустил новую версию библиотеки underscore-java. Реализованы почти все функции оригинальной утилиты на javascript. Есть возможность расширять функционал. Примеры модулей math и string в этом же репозитории.

Буду рад пожеланиям и замечаниям.

Валентин


Скоро будет 5 лет с момента анонса библиотеки!
3 июн 20, 11:41    [22144768]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
mayton
Member

Откуда: loopback
Сообщений: 47628
Есть еще такая идея. Не знаю даже к чему. К snakeYaml или к конвертерам в Yaml.
Или просто к кастомной библиотеке.

Есть инфа которая публична. Типа

thread-pool :
  idle : 10
  max : 100


И есть sensitive настройки которые могут иметь какие-то бизнес-идентификаторы, ip-шники облачных
ендпоинтов, порты, протоколы, и пароли и ключи.

jdbc:
  dc1-main-billing :
    jdbc-driver : "org.postgresql.Driver"
    jdbc-url : "jdbc:postgresql://ec2-public-ipv4-address.compute-1.amazonaws.com:5432/main-billing-node-01"
    jdbc-login : "main-bill"
    jdbc-pwd : "p123456789"


Хотелось бы их заменить на
jdbc:
  dc1-main-billing :
    jdbc-driver : "org.postgresql.Driver"
    jdbc-url : "${ENV_JDBC_URL}"
    ...


По сут мне нужен некий фасад или надстройка над Yaml моделью чтоб этот реплейсмент сделать по заказу.
Тоесть когда мне нужно.

По сути аналог спрингового
systemProperties['env']


Только без спринга.
14 июн 20, 12:57    [22150382]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
mayton,

Обычная задача программистам. Решается за неделю или быстрее.

Добавлю метод U.setValue(map, key, value).

Хорошего вам вечера!

Сообщение было отредактировано: 14 июн 20, 19:14
14 июн 20, 19:12    [22150531]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
mayton
Member

Откуда: loopback
Сообщений: 47628
Еще наблюдение.

Мне иногда выгодно создавать properties с приоритетом. Например.

1-й приоритет - опции System.props
2й приоритет - опции OS env.

Это удобно когда ты работаешь с 2 environment ты держишь 2 bash-консоли и запусаешь одно
и то-же приложение просто в разных контекстах.

В моём кустарном проектике это выглядит примерно так.

    private String lookupSensitiveProperty(String propertyName) {
        Map<String, Object> hikariConfigMap = (Map<String, Object>) config.getRoot().get("hikariConfig");
        if (hikariConfigMap.containsKey(propertyName)) {
            return (String) hikariConfigMap.get(propertyName);
        } else if (System.getProperties().containsKey(propertyName)) {
            return System.getProperty(propertyName);
        } else if (System.getenv().containsKey(propertyName)) {
            return System.getenv().get(propertyName);
        } else {
            throw new HtmlParserException("Unable to found property " + propertyName);
        }
    }


Тоесть если логин-пароль для Hikari JDBC пула не был найден в Yaml конфиге - то мы делаем lookup
в Sys.props, и потом уже в ОС env.
14 июн 20, 19:27    [22150537]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
mayton
Member

Откуда: loopback
Сообщений: 47628
Valentin Kolesnikov
mayton,

Обычная задача программистам. Решается за неделю или быстрее.

Добавлю метод U.setValue(map, key, value).

Хорошего вам вечера!

Спасибо.
14 июн 20, 19:29    [22150538]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
Valentin Kolesnikov
mayton,

Обычная задача программистам. Решается за неделю или быстрее.

Добавлю метод U.setValue(map, key, value).

Хорошего вам вечера!


Добавил.

Хорошего вам вечера!
14 июн 20, 20:33    [22150561]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Zzz79
Member

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

а что не так он сказал- все так и ест - стенды препрод,девелоп,тест и тд
у всех свои конфиги ,которые тянутся из консула

есть общие конфиги,есть стендозависимые- а как по другому? все это конечно же как отдельный репозиторий сдеалано и редактируется с помощью гита
15 июн 20, 09:35    [22150773]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Дмитрий Мух
Member

Откуда: Зеленоград
Сообщений: 3657
Zzz79
все это конечно же как отдельный репозиторий сдеалано и редактируется с помощью гита

Редактируется с помощью гита? Это как?
15 июн 20, 20:55    [22151247]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
Дмитрий Мух
Zzz79
все это конечно же как отдельный репозиторий сдеалано и редактируется с помощью гита

Редактируется с помощью гита? Это как?


Редактируется в редакторе, а хранится в git.
16 июн 20, 13:39    [22151579]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
mayton
Member

Откуда: loopback
Сообщений: 47628
Дмитрий Мух
Zzz79
все это конечно же как отдельный репозиторий сдеалано и редактируется с помощью гита

Редактируется с помощью гита? Это как?

Он имеет в виду что шаблон конфигурации лежит в сорцах. А его кастомизации, sensitive info, и производные
конфигурации - девопсы сами дописывают вручную. Но если надо централизовано что-то поменять то git
это снова лучший golden source.
16 июн 20, 13:42    [22151582]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Дмитрий Мух
Member

Откуда: Зеленоград
Сообщений: 3657
Стас?
16 июн 20, 14:09    [22151623]     Ответить | Цитировать Сообщить модератору
 Re: Underscore.js библиотека для java.  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3305
Valentin Kolesnikov
Привет, Java Developers!

Недавно выпустил новую версию библиотеки underscore-java. Реализованы почти все функции оригинальной утилиты на javascript. Есть возможность расширять функционал. Примеры модулей math и string в этом же репозитории.

Буду рад пожеланиям и замечаниям.

Валентин


Сегодня 5 лет с момента анонса библиотеки.

За это время выпущено более 50 версий, добавлено чтение и генерация xml и json файлов.

Число звёзд на github - 283
Pull реквестов - 201
Issues - 44

Спасибо за поддержку проекта!

Хорошего вам дня!

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

Откуда:
Сообщений: 3305
Недавно были выпущены новые версии библиотек: 1.56, 1.26, 1.13

- Added U.changeXmlEncoding(xml, encoding).
- Introduced U.setValue(map, key, newValue).
- Added U.update(map1, map2).
- Introduced methods U.gcd(value1, value2) and U.findGcd(value1, ... valuen).
- Improved U.throttle().

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