Size: a a a

2021 February 16

DC

Denis Chikanov in learn.java
Какие документы тебя так смущают?
источник

DC

Denis Chikanov in learn.java
СБ копается только в банках и каких-то госконторах около безопасности
источник

DC

Denis Chikanov in learn.java
Denis Chikanov
СБ копается только в банках и каких-то госконторах около безопасности
Т.е. динс, епам и прочие вообще не думают о таком, да
источник

DC

Denis Chikanov in learn.java
Ну если не только в разрешенных, то как ты проверишь, в чём они копаются, а в чём нет?
источник

s

superautist in learn.java
Благодарю!
источник

s

superautist in learn.java
В тиньке стажеров набирали по крайней мере на прошлой неделе) попробуй) найди где-нибудь на сайте мыло hr, закинь резюме и позвони им)
источник

s

superautist in learn.java
Переслано от Oleg Grabar
Грид, епам через лабу (можно сразу в лабу попасть), девэкспертс вроде искали недавно, в динс, если согласен автоматизацию попробовать (самый простой вариант для входа)...
источник

s

superautist in learn.java
Можешь ещё найти вакансию на хх и придумать пару вопросов про компанию, если там написано например обучение, то как оно проходит спросить
источник

s

superautist in learn.java
Ой
источник

НТ

Никита Толмачев... in learn.java
Слушай, ну не мерчом же платят джунам)
источник

s

superautist in learn.java
Некоторые вакансии «без опыта» реально выглядят как врата на конвейер
источник

КВ

Кирилл Веревкин... in learn.java
Всем привет.
Вопрос по работе с БД и многопоточностью, а также блокировкам.
Приложение использует spring boot, описаны все необходимые сущности в базе данных.

Есть ли где-нибудь ссылка/ресурс каким образом наложить блокировку в БД на данные?

Суть задачи:
Приходит внешний идентификатор из сторонней системы, приложение должно проверить наличие этого идентификатора в базе данных и при его отсутствии завести его.
Если все происходит в один поток, то в целом все вроде бы ок. Но если подключаем несколько потоков, то в момент выполнения запроса на поиск и получения его результата другой поток также может не найти в БД и будет создан дубль. Да, мы можем повесить индекс в БД и исключить возможность записи дублей, но хочется корректно обрабатывать это на уровне приложения, а не валится в exception при вставке данных в БД.

Я думаю вопрос сам по себе простой, просто я как-то неправильно его гуглю. Может кто подсказать, что почитать по этому поводу?
источник

КВ

Кирилл Веревкин... in learn.java
редиса нет. По идее же у нас все упирается в уровни изоляции транзакций и установку блокировок на данные.
Т. е. я хочу установить блокировку БД по определенной колонке с таким то значением и тем самым гарантировать, что в данный момент никто не будет писать в БД инфу по этому значению, а если все таки захочет встанет в очередь на предоставление блокировки.

Или это не так работает и я тут придумываю?
БД Postgresql
источник

НТ

Никита Толмачев... in learn.java
Неужели установка уникального индекса на колонку настолько плохое решение, что стоит так сильно усложнять логику?
источник

D

Dima in learn.java
Кирилл Веревкин
редиса нет. По идее же у нас все упирается в уровни изоляции транзакций и установку блокировок на данные.
Т. е. я хочу установить блокировку БД по определенной колонке с таким то значением и тем самым гарантировать, что в данный момент никто не будет писать в БД инфу по этому значению, а если все таки захочет встанет в очередь на предоставление блокировки.

Или это не так работает и я тут придумываю?
БД Postgresql
блокировка такая - это пессимистичный сценарий
источник

D

Dima in learn.java
ты можешь обработать эксепшен про уникальный констрэйнт и выдать 409 код
источник

D

Dima in learn.java
с осмысленным сообщением
источник

НТ

Никита Толмачев... in learn.java
А еще можно использовать какой-нибудь умный генератор токенов (или айдишников), который, выдавая тебе nextId/nextToken, резервирует его значение и оно становится недоступным при следующем вызове этой функции.
источник

НТ

Никита Толмачев... in learn.java
Обычно так работают всякие getNextId, но реализацию я, к сожалению, не подскажу
источник

DM

Dimm Mula in learn.java
Коллеги, перехватываю эксепшен в от бд в контроллере и пытаюсь его пробросить на фронт. Но безуспешно, получаю 500 с message: "". Менял сигнатуру метода на возврат ResponseEntity, void, ничего не меняется. Что прочитать или сделать, уже час гуглю, нашел только ControllerAdvice, но это не то.
источник