@jvmchat

Страница 2351 из 2890
Ivan
28.03.2018
09:32:20
несколько месяцев назад (или уже около года) его в maven-central выложили и пользоваться стало совсем просто
Оооо, круто, как-раз хотел спросить зарелизили они наконец или всё ещё нужно из исходников поднимать

Ещё про тестирование алгоритмов очень советую этот доклад http://2017.jokerconf.com/2017/talks/66dxp2xfdu6kc6o86aucwy/ (не знаю, правда выложили его в общий доступ или нет)

Ну соответственно вот этот тул https://github.com/Devexperts/lin-check

Про который там идёт речь

Google
Quantum Harmonizer
28.03.2018
09:36:55
Ivan
28.03.2018
09:37:18
Да, этот хорош

Ruslan
28.03.2018
09:38:36
Он еще закрыт

но для чатика я его достал: https://www.youtube.com/watch?v=_0_HOnTSS0E

А через неделю Никита будет на JPoint 2018 выступать

Тоже хардкорчик: https://jpoint.ru/talks/7ulbihlaqmk4iquimasikq/

Aleksander
28.03.2018
09:42:13
Меня учили, что ArrayList нужен тогда, когда заранее известен размер списка и он не будет меняться, а LinkedList — когда наоборот. Ошибаюсь?
Вот тут(https://www.ibm.com/developerworks/ru/library/j-codetoheap/) расписано сколько памяти жрут коллекции и если посмотреть на LL и AL, то видно, что LL имеет дофига накладных расходов по памяти, по сравнению с AL. Ну да, нужно копировать массив, но это, как уже сказали - SAC операция быстрая.

Ivan
28.03.2018
10:22:04
но для чатика я его достал: https://www.youtube.com/watch?v=_0_HOnTSS0E
О, я знал что админы jpoint крутые ребята, спасибо)

Тоже хардкорчик: https://jpoint.ru/talks/7ulbihlaqmk4iquimasikq/
А доклад с jbreak что-то там про хешмапу от него же тоже ещё закрыт?

Вот тут(https://www.ibm.com/developerworks/ru/library/j-codetoheap/) расписано сколько памяти жрут коллекции и если посмотреть на LL и AL, то видно, что LL имеет дофига накладных расходов по памяти, по сравнению с AL. Ну да, нужно копировать массив, но это, как уже сказали - SAC операция быстрая.
А ещё помимо накладных расходов, если происходит последовательное чтение, то в случае с LL каждый следующий элемент - это загрузка новой страницы памяти и промах любого кэша,а у AL когда считывается одно значение в кэш-линию попадает ещё несколько других и ещё больше в одной и той же странице памяти. Но и вообще, как завещал Мартин Томпсон, ссылочные структуры - это ночной кошмар современного процессора

Ruslan
28.03.2018
10:33:18
А доклад с jbreak что-то там про хешмапу от него же тоже ещё закрыт?
JBreak совсем недавно был, поэтому пока закрыт

Паша
28.03.2018
10:49:04
О, можно поподробнее про томпсона и где он это писал?
Да вроде всем разрабам это стало очевидно примерно несколько лет как?

Google
Паша
28.03.2018
10:49:35
Почитайте про устройство процессора и кэш-линии, и какие-нибудь бенчмарки на эту тему

Ivan
28.03.2018
11:24:23
О, можно поподробнее про томпсона и где он это писал?
ну где именно писал не помню уже но вот его блог https://mechanical-sympathy.blogspot.ru/

а ещё был доклад на joker в позопрошлом году

он там общие советы по перфомансу давал

Mikhail
28.03.2018
11:45:48
У меня новый блог пост, про тестирование Java классов на thread-safety, с примерами из Cactoos, может кому будет полезно: http://www.yegor256.com/2018/03/27/how-to-test-thread-safety.html
я чего-то не понимаю, что тут тестируется? if (running.get()) { overlaps.incrementAndGet(); } running.set(true); int id = books.add(title); running.set(false); ... assertThat(overlaps.get(), greaterThan(0));

Mikhail
28.03.2018
11:47:43
ну теоретически оно может выдать 0

Yegor
28.03.2018
11:48:15
почти всегда так и выдаёт

там же в статье сказано

что это и есть баг

Mikhail
28.03.2018
11:48:53
ну вот я плохо понимаю, что мы тут тестируем

где баг?

Yegor
28.03.2018
11:49:28
проверяем, работают ли потоки параллельно или один за другим

Mikhail
28.03.2018
11:49:43
overlaps может выдавать 0, может не ноль, и потокобезапасность books.add на это никак не влияет

Yegor
28.03.2018
11:49:57
и выясняем что один за другим, почти всегда

Quantum Harmonizer
28.03.2018
11:50:26
ну вот я плохо понимаю, что мы тут тестируем
что юнит-тест не проверяет многопоточное выполнение)

Alexey
28.03.2018
11:50:36
тут тест юнит-теста идет

Quantum Harmonizer
28.03.2018
11:50:54
«А вы пишете тесты на тесты?» ⓒ

Google
Mikhail
28.03.2018
11:51:10
если что я про предпоследний пример с latch.await();

этот тест юнит-теста может случайно падать

Alexey
28.03.2018
11:52:03
Да, там в статье это описано

Егор
28.03.2018
11:53:19
«А вы пишете тесты на тесты?» ⓒ
Это не шутка ) Я пишу юниты на реализацию шагов в автотестах

Mikhail
28.03.2018
11:53:32
я наверно мало кофе сегодня выпил, не понимаю смысла всего этого действа

Ivan
28.03.2018
11:58:47
статью же в блоге написать ;-)

Mikhail
28.03.2018
11:59:45
если нужно проверить, что точно больше одного потока выполняет books.add, можно overlaps.incrementAndGet() перенести до latch.await()

и никаких гонок, всегда сейфово

Nikolai
28.03.2018
12:54:01
Друзья, вопрос по Camel. Как получить ID добавленной в SQL базу записи

Alexander
28.03.2018
13:36:09
а какой компонент используете ?

Nikolai
28.03.2018
13:39:47
SQL

Alexander
28.03.2018
13:39:54
Друзья, вопрос по Camel. Как получить ID добавленной в SQL базу записи
и что значит "id записи" ? у вас какой-то PK есть в таблице ? тогда никак, имхо. я в свое время, когда мне это надо было, делал в рамках одной транзакции так. бегал отдельно в сиквенс, который генерит PK для таблицы и делал insert с записью с ID полученным из сиквенса. ну или писать хранимку, которая делает инсерт и возвращает ID

но раньше кемел не умел хранимки дергать стандартными компонентами SQL/JDBC, хз как сейчас. я процессор писал для этого

Vyacheslav
28.03.2018
13:42:36
привет. есть ли рабочий пример, как в SpringBoot-2 проекте получить в коде project.version значение при Maven сборке?

Друзья, вопрос по Camel. Как получить ID добавленной в SQL базу записи
посмотрите в документацию к вашему SQL, какой синтаксис у команды INSERT. обычно у них есть опция RETURNING

Nikolai
28.03.2018
13:46:47
да, разобрался, спасибо

Осталось понять, как возвращенный ID в headers возвращать, а не затирать body

так, эту проблему тоже решил, всем спасибо за помощь

Alexey
28.03.2018
14:03:19
привет. есть ли рабочий пример, как в SpringBoot-2 проекте получить в коде project.version значение при Maven сборке?
application.yml: build.version: @project.version@ в бине: @Value("${build.version}") private String buildVersion; Или это не то?

Vyacheslav
28.03.2018
14:04:34
application.yml: build.version: @project.version@ в бине: @Value("${build.version}") private String buildVersion; Или это не то?
это похоже на то, но: 1) в yml это не заработало у меня, только в properties. 2) в отладке из IDEA значение внутри @@ не подставляется

Google
Alexey
28.03.2018
14:04:50
у меня только что заработало)

Vyacheslav
28.03.2018
14:05:25
3) project.version не работает, помогло выставить свою property в pom.xml и назначить ей project.version

Alexey
28.03.2018
14:06:13
ща проверю отладку. я просто запустил из идеи проект и вывел в консоль. без дебага

сорри за скрин

Vyacheslav
28.03.2018
14:08:44
да, работает. а я goal spring-boot:run отладить пытался... :)

folex
28.03.2018
15:17:42
Всем привет :) Подскажите плз, как правильно заливать .md5 и .sha1 чексуммы в бинтрей? Пробовал в maven и generic репозитарии — ни в какую не пускает, говорит что включен auto signing, хотя все GPG-галки сняты.

Пробовал и курлом, и jfrog cli, и через веб

Диоген
28.03.2018
15:34:01
с*ре

folex
28.03.2018
15:53:59
никак, мы его сами считаем. https://github.com/bintray/gradle-bintray-plugin/issues/6
Да, я посчитал, записал это в файлик, и тепреь хочу этот файлик закинуть в бинтрей. Но он говорит > No files were uploaded. Signature files cannot be uploaded when repository auto-signing is enabled.

Baruch
28.03.2018
15:54:27
если ты хочешь просто проверить, то передавай через header

там всё написано

folex
28.03.2018
15:54:57
Я хочу чтобы его можно было скачать

https://bintray.com/kamon-io/releases/kamon-core#files/io%2Fkamon%2Fkamon-core_2.12%2F1.1.0 вот как тут



Дело в том, что я проверяю чексуммы при сборке, и когда их нет — валю билд

Ну как я, sbt проверяет, если это имеет значение.

Google
Baruch
28.03.2018
15:58:49
просто добавь .sha1 к любому файлу же

kamon-core.jar.sha1

folex
28.03.2018
15:59:31
Всмысле в URL при скачивании?

Baruch
28.03.2018
15:59:44
конечно

Alex
28.03.2018
16:00:57
конечно
Пользуясь случаем, хочу сказать спасибо за бинтрей. Очень пригодился ?

?

Baruch
28.03.2018
16:01:46
приходите на jpoint за наклейками

folex
28.03.2018
16:01:50
конечно
хм. Спасибо! Буду дальше разбираться

Alex
28.03.2018
16:02:29
приходите на jpoint за наклейками
Я киевлянин, лучше на JEE приезжай)

Baruch
28.03.2018
16:03:03
Я киевлянин, лучше на JEE приезжай)
ненене, я к Алименкову не ходок больше

Alex
28.03.2018
16:03:30
Барух, ты чо ?

Страница 2351 из 2890