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

Откуда:
Сообщений: 3200
Привет, 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

20199068

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

21643425

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

👍🎉🍭🎄🍺🚂🌲💯😎

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

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


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

👍🎉🍭🎄🍺🚂🌲💯😎

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

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

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

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


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

👍🎉🍭🎄🍺🚂🌲💯😎

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Откуда:
Сообщений: 3200
Недавно были выпущены новые версии библиотек: 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]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2 3 4      [все]
Все форумы / Java Ответить