
Ivan
28.03.2018
09:32:20
Ещё про тестирование алгоритмов очень советую этот доклад 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


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


Ruslan
28.03.2018
10:33:18

Igorek
28.03.2018
10:46:40

Паша
28.03.2018
10:49:04

Google

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

Ivan
28.03.2018
11:24:23
а ещё был доклад на joker в позопрошлом году
он там общие советы по перфомансу давал

Mikhail
28.03.2018
11:45:48

Quantum Harmonizer
28.03.2018
11:46:46

Yegor
28.03.2018
11:47:17

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 сборке?

Nikolai
28.03.2018
13:46:47
да, разобрался, спасибо
Осталось понять, как возвращенный ID в headers возвращать, а не затирать body
так, эту проблему тоже решил, всем спасибо за помощь

Alexey
28.03.2018
14:03:19

Vyacheslav
28.03.2018
14:04:34

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
с*ре

Anton
28.03.2018
15:49:21

Baruch
28.03.2018
15:53:15

folex
28.03.2018
15:53:59

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

Baruch
28.03.2018
16:03:03

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