Size: a a a

Programming Offtop

2020 May 19

AM

Andrew Mikhaylov in Programming Offtop
Igor
ты хочешь новые проекты создавать или только модули?
Ну вот прям совсем идеально было бы и то, и то.
источник

I

Igor in Programming Offtop
в общем у нас в проекте ~120 модулей и новые создаются скриптом на kscript 😎
там небольшой диаложик в начала для параметров.
источник

AN

Alexander Nozik in Programming Offtop
Andrew Mikhaylov
Возможность иметь свои шаблоны проекта с подстановкой туда значений, да без зависимости от non-JVM экосистем.
Вероятно, надо какой-то шаблонизатор брать и педалить под него обвязку-диалог в CLI. Интересовался, есть ли что-то готовое.
Есть кастомные шаблоны для gradle init. Вообще было куча таких тулов, но они как-то повымирали
источник

AM

Andrew Mikhaylov in Programming Offtop
Igor
в общем у нас в проекте ~120 модулей и новые создаются скриптом на kscript 😎
там небольшой диаложик в начала для параметров.
Понял-принял.
источник

AN

Alexander Nozik in Programming Offtop
Andrew Mikhaylov
Ну вот прям совсем идеально было бы и то, и то.
Вспомнил, что было модно: https://github.com/pledbrook/lazybones
источник

AM

Andrew Mikhaylov in Programming Offtop
Alexander Nozik
Есть кастомные шаблоны для gradle init. Вообще было куча таких тулов, но они как-то повымирали
Где? Ни разу не видел, там вроде всё зашитое без кастомизации. Но добавляют, да. Но без кастомизации шаблонов.
источник

AN

Alexander Nozik in Programming Offtop
Andrew Mikhaylov
Где? Ни разу не видел, там вроде всё зашитое без кастомизации. Но добавляют, да. Но без кастомизации шаблонов.
Нашлось пара шаблонов, но там многовато хард-кода. issue висит: https://github.com/gradle/gradle/issues/1686
источник

AM

Andrew Mikhaylov in Programming Offtop
Вот это выглядит интересно, да. Но заброшенное.
источник

AM

Andrew Mikhaylov in Programming Offtop
Спасибо за ссылку, я не нашёл ишью сам чёт
источник

AN

Alexander Nozik in Programming Offtop
Andrew Mikhaylov
Вот это выглядит интересно, да. Но заброшенное.
Он такой не один был. Это было модно, но вымерло. Практически все заменяется своим плагином.
источник

AM

Andrew Mikhaylov in Programming Offtop
Alexander Nozik
Он такой не один был. Это было модно, но вымерло. Практически все заменяется своим плагином.
Проекты разные, под одну гребёнку всё не затянешь, увы.
источник

BP

Bogdan Panchenko in Programming Offtop
@noraltavir может вы в курсе как лучше. Есть коллекция, по ней нужно пройтися и добавить/удалить (старый вариант работал через forEach, но теперь кидается java.util.ConcurrentModificationException).
Что лучше:
- toArray, и идти по масиву
- пройтись по колекции через индекс

Количество данных не известно, но скорей всего их будет мало
источник

AN

Alexander Nozik in Programming Offtop
Bogdan Panchenko
@noraltavir может вы в курсе как лучше. Есть коллекция, по ней нужно пройтися и добавить/удалить (старый вариант работал через forEach, но теперь кидается java.util.ConcurrentModificationException).
Что лучше:
- toArray, и идти по масиву
- пройтись по колекции через индекс

Количество данных не известно, но скорей всего их будет мало
Стандартное решение сделать лист элементов и сделать removeAll или что там вместо этого. Но вообще в джавке было что-то готовое. removeIf по-моему
источник

BP

Bogdan Panchenko in Programming Offtop
Alexander Nozik
Стандартное решение сделать лист элементов и сделать removeAll или что там вместо этого. Но вообще в джавке было что-то готовое. removeIf по-моему
не мне нужно или удалить или добавить, в зависимости от условия, а может вообще ничего не добавлять\удалять
источник

AN

Alexander Nozik in Programming Offtop
Bogdan Panchenko
не мне нужно или удалить или добавить, в зависимости от условия, а может вообще ничего не добавлять\удалять
Ну если не надо убиваться за перформанс, можно сделать в два прохода. Если надо убиваться, то там есть всякие штуки вроде MutableIterator.
источник

AN

Alexander Nozik in Programming Offtop
А порядок вставки важен?
источник

BP

Bogdan Panchenko in Programming Offtop
да нет
источник

AN

Alexander Nozik in Programming Offtop
Вообще, вариант линейный по сложности, но стоящий немного памяти - это создать новую коллекцию, копируя туда только нужные элементы. Оно будет сильно дешевле, чем вставка элементов в ArrayList
источник

BP

Bogdan Panchenko in Programming Offtop
Alexander Nozik
Ну если не надо убиваться за перформанс, можно сделать в два прохода. Если надо убиваться, то там есть всякие штуки вроде MutableIterator.
ну так как раз важен, я сначала сделал через копирования масива, ибо они быстро копируются, но потом подумал что алгоритм O(n)
источник

AN

Alexander Nozik in Programming Offtop
Как бонус, будет lock free
источник