@jvmchat

Страница 1722 из 2890
Aleksander
16.08.2017
20:12:00
во спс
я ещё не изучил, но мне сказали, что мой вопрос дубликат к этому

Alexander
16.08.2017
20:13:45
я ещё не изучил, но мне сказали, что мой вопрос дубликат к этому
ну они там просто в спеку отправлят, мол не по пацански local variable без скобочек запиливать

т.е на вопрос: почему, ответ - так написано в спеке)

Google
Aleksander
16.08.2017
20:14:32
Baruch
16.08.2017
20:46:01
Alexander
16.08.2017
21:20:25
фрейм создаётся при вызове метода, инициализатора или конструктора, блок на это не влияет
ну да я глянул уже в ассемблер, что переменная в блоке что в теле метода это один скоуп

Pavel
16.08.2017
21:22:34
прям в ассемблере? или байткод?

Alexander
16.08.2017
21:25:25
прям в ассемблере? или байткод?
да какая разница. байткод - ассемблер jvm

Anton
16.08.2017
21:27:26
ну вобщем то разница есть ?

обычно под ассемблером таки подразумевают, что этот тот самый ассемблер

Alexander
16.08.2017
21:28:08
в такой задаче явно будет лишним, как мне кажется, ковырятся в машинном ассемблере, тут на уровне байткода все понятно

Google
Alexander
16.08.2017
21:29:30
обычно под ассемблером таки подразумевают, что этот тот самый ассемблер
а ну я как-то и не думал что речь вообще о машине здесь может пойти, понятно же что о кишках jvm говорим

чето вспоминил про "тот самый ассемблер" - помню раньше хардкорили с 95/98 маздой, писали 3 байтовые com файлы которые dos'или ядро)

там чето было аля сброс флага прерываний и джамп, чето вроде: 100: cli 101: jmp 100

?

в nt4.0 кажется не работало изза более секурной модели памяти

Pavel
16.08.2017
21:36:41
сейчас перфокарточники подтянутся...

Alexander
16.08.2017
21:50:55
Ребятки, что думаете? https://stackoverflow.com/questions/1914898/java-long-running-task-thread-interrupt-vs-cancel-flag
1. не делать таких тяжеловесных циклов внутри треда, посчитали - тут же вышли 2. соблдать детерменированность. задача закончена - выходим, т.е по флагу / условию 3. юзать interrput скорее как мера крайняя, если нет доступа к коду который в треде крутится или если надо дать сигнал из какого-нить C биндинга ну или пусть ось даает эти сигналы это ее ответсвенность. 4. если это io bound задача - лучше вообще через selector делать, чтобы тред не висел в ожидании данных, а тред пусть в режиме producer/consumer polling делает с каналов селектора

Pavel
16.08.2017
21:52:12
io мне кажется удобнее через interrupt разруливать, осталое флаг

очереди через poison pills, как вариант)

Alexander
16.08.2017
21:53:30
Queue q = new LinkedList(); // самый норм вариант ?

ну до 1.5 версии ?

Pavel
16.08.2017
21:56:13
кольцевой буфер на массиве с sync - только правильные советы в этом чате ?

Alexander
16.08.2017
22:00:46
я тут адово велосипедю spring boot + thrift + angular4. ниукого нет нароботок по сабжу? гугл чето молчит

Alexander
17.08.2017
02:52:53
для генерации dto между бэкэндом и мордой

Arrow
17.08.2017
05:08:06
Подскажите как правильно организовать валидацию данных в спринге? Хочу чтобы чисто аннотации только повесить на модели (ну типа Pattern, Min, Max...) и ничего дополнительного в методах контроллера не писать - чтобы если придут невалидные данные возвращалось в json что-то вроде { "status": "error", "errors": [ "error1", "error2" ] }А если все успешно то соответственно status: success без ошибок. Можно так сделать как-то? Какой-нибудь глобальный обработчик исключений типа...

Oleg
17.08.2017
05:14:46
обработчик исключений или валидатор всё-таки?

Sergey
17.08.2017
05:15:26
Можно, я могу тебе дать сниппеты

Ну то есть, вообще советую просто посмотреть в исходники jhipster-sample, там есть всё что тебе нужно и будет нужно

Я практически уверен

Google
Sergey
17.08.2017
05:16:11
https://github.com/jhipster/jhipster-sample-app

Arrow
17.08.2017
05:16:26
обработчик исключений или валидатор всё-таки?
Без разницы. Мне просто надо чтобы если возникла ошибка валидации то возвращался список ошибок. Но чтобы не прописывать валидацию в каждом методе.

Sergey
17.08.2017
05:16:37
https://github.com/jhipster/jhipster-sample-app/tree/master/src/main/java/io/github/jhipster/sample/web/rest/errors

Тебе нужна вот эта папочка

Там есть абсолютно всё

Arrow
17.08.2017
05:24:38
https://github.com/jhipster/jhipster-sample-app/tree/master/src/main/java/io/github/jhipster/sample/web/rest/errors
Хмм сейчас попробую. А как сделать чтобы если все успешно (не возникло ошибок) то чтобы возвращался изо всех методов примерно такой json: { "status": "success", "result": null }Соответственно result будет null если метод был void или объект сериализованный в json если не void.

Sergey
17.08.2017
05:25:48
А вот это уже ручками, потому что джексон не предлагает энвелоп функционала, заведи wrapper класс и в него передавай резалт, и возвращай из методов ResponseEntity<WrapperClass>

Arrow
17.08.2017
05:25:54
Единственное что приходит в голову - обернуть результат каждого метода в объект

Ну да

Sergey
17.08.2017
05:26:08
Правильно приходит :)

Arrow
17.08.2017
05:37:36
Sergey
17.08.2017
05:37:45
?

Sergey
17.08.2017
05:38:01
Ты когда присылаешь в контроллер модельку

Ты поставил на нее @Valid?

Arrow
17.08.2017
05:38:14
да

но ошибки не возникает

хотя модель не валидная

у меня в отладчике просто заходит в метод контроллера безо всяких ошибок

Sergey
17.08.2017
05:39:13
Гибернейт валидатор подключен в мавене?

Arrow
17.08.2017
05:40:18
Гибернейт валидатор подключен в мавене?
хз, как пакет называется? думаю если бы что-то было не подключено - оно бы просто не компилировалось))

Google
S
17.08.2017
05:40:45
у меня в отладчике просто заходит в метод контроллера безо всяких ошибок
Я так думаю, что он и не будет валиться. Что в BindingResult?

Sergey
17.08.2017
05:40:45
Компилировалось, просто у тебя имплементации нет

<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> </dependency>

Arrow
17.08.2017
05:41:05
Я так думаю, что он и не будет валиться. Что в BindingResult?
Не заходит в обработчик исключений.

<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> </dependency>
а причем тут гибернейт? это же ОРМ для бд вроде, а мне надо вьюхи со фронта валидировать, еще до записи в базу

Sergey
17.08.2017
05:42:51
Ммм, смотри, то чем ты пользуешься для валидации - JSR-303 Bean Validation

Это стандарт, как JPA

Admin
ERROR: S client not available

Arrow
17.08.2017
05:43:13
к слову сказать когда я вешал Valid на DAO и валидировал модельки - то валидация срабатывала

S
17.08.2017
05:43:35
org.springframework.validation.BindingResult validation results for a preceding command or form object (the immediately preceding method argument) Это объект, которые собирает ошибки валидации. Добавь его на в аргументы контроллера и посмотри что там

Arrow
17.08.2017
05:43:41
но вчера мне сказали что правильнее валидировать вьюхи, а не модельки

org.springframework.validation.BindingResult validation results for a preceding command or form object (the immediately preceding method argument) Это объект, которые собирает ошибки валидации. Добавь его на в аргументы контроллера и посмотри что там
в том-то и дело - я хотел чтобы не прописывать ничего лишнего в каждом методе, а сделать валидацию глобальной, а такой способ как ты говоришь я уже видел в гугле

вон человек выше дал ссылку на обработчик исключений валидации, вот типа того мне и надо

Sergey
17.08.2017
05:45:13
Это для дебага

Просто допиши в какой нибудь контроллер в аргументы

Arrow
17.08.2017
05:45:26
Это для дебага
что для дебага? ?

Sergey
17.08.2017
05:45:34
BindindResult result

И посмотри что в нем

Arrow
17.08.2017
05:46:06
он пустой - нет ошибок

Google
Sergey
17.08.2017
05:46:44
public ResponseEntity<Unit> createUnit(@Valid @RequestBody Unit unit)

Вот пример сигнатуры которая работает

Arrow
17.08.2017
05:47:17
а у меня нет ?

public ResponseEntity<Unit> createUnit(@Valid @RequestBody Unit unit)
@PostMapping("/addModel") public void addModel(@Valid @RequestBody ModelDetailView model)

Sergey
17.08.2017
05:49:01
и в моделдетейлвью висят на полях Min Max и тд?

Arrow
17.08.2017
05:49:19
и в моделдетейлвью висят на полях Min Max и тд?
там Pattern на проверку телефона и email висят

телефон и email специально отправляю невалидные

ошибок нет :(

точнее эти поля не конкретно в этой, а во вложенных модельках, но он же проверяет и вложенные тоже?

так стоп... походу в этом и была проблема... он не валидирует вложенные модели ?

щас попробовал еще невалидные данные на самой верхней сделать

и получилась ошибка

как можно сделать чтоб он валидировал и вложенные модели тоже?

Евгений
17.08.2017
05:59:01
@Valid на поле?

Sergey
17.08.2017
05:59:07
Да

Arrow
17.08.2017
06:08:34
теперь вообще происходит нечто очень странное - у меня не заходит ни в контроллер ни в обработчик исключений, но несмотря на это возвращается сформированный json с ошибкой "java.lang.IllegalStateException"

когда невалидные данные во вложенной модели

Евгений
17.08.2017
06:11:58
Думаю стоит воспользоваться @ControllerAdvice и отловить там IllegalStateException

Евгений
17.08.2017
06:14:31
какой параметр?

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