Size: a a a

2021 January 11

D

DEN4_X in pro.jvm
и скопировать файлы с одного дока в другой
источник

D

DEN4_X in pro.jvm
Nick
Files.copy
спасибо, попробую
источник

N

Nick in pro.jvm
DEN4_X
мне главное кодировку поменять
оп, а вот тут уже интереснее, то что скинул это просто копирование как есть. Быстрее всего как сказали выше разобраться с флашем и не забыть позакрывать стримы
источник

D

DEN4_X in pro.jvm
а в чем кста смысл копировать байты если можно копировать символы, через тот же FileReader?
источник

N

Nick in pro.jvm
в том что когда надо просто скопирвоат ьфайлы, то надо именно байты копировать. Если же работа текстом и есть требование поменять кодировку, то уже надо работать с символами
источник

AO

Alexei Osipov in pro.jvm
DEN4_X
а в чем кста смысл копировать байты если можно копировать символы, через тот же FileReader?
не все комбинации байт являются символами, так что попытка копировать символы в некоторых случаях может привести к искажению данных
источник

С

С in pro.jvm
Runtime.getRuntime().exec("iconv ...");  не?
источник

ВК

Владимир Краснов... in pro.jvm
Всем привет! Прошу совет. Правильно ли строить бизнес логику на том, что если база Oracle возвращает null - то это отсутствие чего-либо в базе?
В доке oracle написано, что null- это отсутствие значения, либо значение не определено и внизу красным- null - это строка длиною 0.
Т.е. получается, что в oracle null может быть в 3 вариантах(отсутствие, неопределено, пустая строка)
Например, мы пишем сервис отчетов, в нем метод: Optional<Report> getReportByName(String name), мы передали ему имя, а он вернул null, мы получили null в Optional, обработали и сказали пользователю, что такого отчета нет - верно ли это? Ведь имя может быть пустой строкой, может быть просто незадано.
Тоже и с юзером, мы запросили юзера, получили null - значит ли это, что юзера нет в базе?
источник

И

Илья in pro.jvm
Владимир Краснов
Всем привет! Прошу совет. Правильно ли строить бизнес логику на том, что если база Oracle возвращает null - то это отсутствие чего-либо в базе?
В доке oracle написано, что null- это отсутствие значения, либо значение не определено и внизу красным- null - это строка длиною 0.
Т.е. получается, что в oracle null может быть в 3 вариантах(отсутствие, неопределено, пустая строка)
Например, мы пишем сервис отчетов, в нем метод: Optional<Report> getReportByName(String name), мы передали ему имя, а он вернул null, мы получили null в Optional, обработали и сказали пользователю, что такого отчета нет - верно ли это? Ведь имя может быть пустой строкой, может быть просто незадано.
Тоже и с юзером, мы запросили юзера, получили null - значит ли это, что юзера нет в базе?
Привет! Кажется, что отчет с пустым именем это не логично
источник

РМ

Роман Маринич... in pro.jvm
Владимир Краснов
Всем привет! Прошу совет. Правильно ли строить бизнес логику на том, что если база Oracle возвращает null - то это отсутствие чего-либо в базе?
В доке oracle написано, что null- это отсутствие значения, либо значение не определено и внизу красным- null - это строка длиною 0.
Т.е. получается, что в oracle null может быть в 3 вариантах(отсутствие, неопределено, пустая строка)
Например, мы пишем сервис отчетов, в нем метод: Optional<Report> getReportByName(String name), мы передали ему имя, а он вернул null, мы получили null в Optional, обработали и сказали пользователю, что такого отчета нет - верно ли это? Ведь имя может быть пустой строкой, может быть просто незадано.
Тоже и с юзером, мы запросили юзера, получили null - значит ли это, что юзера нет в базе?
кажется, тут надо различать 0 строк и строку с налл значением
источник

D

DEN4_X in pro.jvm
как это сюда залетело ахпха
источник

A

Andrey in pro.jvm
Владимир Краснов
Всем привет! Прошу совет. Правильно ли строить бизнес логику на том, что если база Oracle возвращает null - то это отсутствие чего-либо в базе?
В доке oracle написано, что null- это отсутствие значения, либо значение не определено и внизу красным- null - это строка длиною 0.
Т.е. получается, что в oracle null может быть в 3 вариантах(отсутствие, неопределено, пустая строка)
Например, мы пишем сервис отчетов, в нем метод: Optional<Report> getReportByName(String name), мы передали ему имя, а он вернул null, мы получили null в Optional, обработали и сказали пользователю, что такого отчета нет - верно ли это? Ведь имя может быть пустой строкой, может быть просто незадано.
Тоже и с юзером, мы запросили юзера, получили null - значит ли это, что юзера нет в базе?
Возвращать Optional из методов, чтобы сказать, что результата нет - это правильный подход. Если возникает ошибка при выполнении метода рекомендуется выкидывать исключение. Также ошибкой нужно считать если  аргумент name пустая строка или null (и тоже выбрасыdать исключение). Ну только если в описании метода особо не оговорен смысл пустого или null параметра name :)
источник

IS

Ilsur Sagdiev in pro.jvm
Привет, есть впорос: Какие различия между Mock и Spy?  и есть 4 варианта ответа, помогите решить)
источник

IS

Ilsur Sagdiev in pro.jvm
источник

IS

Ilsur Sagdiev in pro.jvm
Какие различия между Mock и Spy

A : S если не был подвержен stubbing-у, то вызовет настоящую реализацию

B : Концептуально разные вещи

C : Нет отличий

D : Spy не существует
источник

AB

Alessio Bratenkov in pro.jvm
источник

IS

Ilsur Sagdiev in pro.jvm
Alessio Bratenkov
спасибо, как раз искал
источник

ДК

Дима Красилов... in pro.jvm
Представим себе, что есть абстрактный сервис уведомлений N.
И есть множество сервисов, которые им пользуются. И должна быть возможность создавать эти уведомления через какую-то очередь сообщений, допустим.

Хочу сделать приятный и удобный API для этого сервиса.
У меня везде спринг.
Первая мысль, которая у меня возникла - сделать некий starter для сервиса уведомлений, в котором допустим через EnableNotificationPublisher создавать бин паблишера, который будет под капотом отправлять сообщение. Например, через раббитТемплейт в раббит по определенному дестинейшну с определенным ключом роутинга.

Интересно, насколько это говноедское решение и как вообще люди делают общение между микросервисами через очереди, минимизируя для пользователей возможность обосраться.

Какие мысли на этот счет? Может, какие ссылочки есть, что почитать и т.п.
источник

A

Aleksandr in pro.jvm
Дима Красилов
Представим себе, что есть абстрактный сервис уведомлений N.
И есть множество сервисов, которые им пользуются. И должна быть возможность создавать эти уведомления через какую-то очередь сообщений, допустим.

Хочу сделать приятный и удобный API для этого сервиса.
У меня везде спринг.
Первая мысль, которая у меня возникла - сделать некий starter для сервиса уведомлений, в котором допустим через EnableNotificationPublisher создавать бин паблишера, который будет под капотом отправлять сообщение. Например, через раббитТемплейт в раббит по определенному дестинейшну с определенным ключом роутинга.

Интересно, насколько это говноедское решение и как вообще люди делают общение между микросервисами через очереди, минимизируя для пользователей возможность обосраться.

Какие мысли на этот счет? Может, какие ссылочки есть, что почитать и т.п.
Вот как раз через стартер и можно определять роутинг, по крайней мере я такое видел. А почему этот вариант не нравится?
источник

AW

Artur Woskresensky in pro.jvm
Ребят, всем привет. Делаю простенкий TCP Relay. Делаю accept на Server socket, получаю обычный, потом создаю еще один обычный сокет и подключаюсь к http серверу. Потом просто копирую из inputstream одного сокета в outputstream другого и наоборот. Причем код копирования каждый рас запускается в отдельном Runnable на Executor-e. Но если на сокеты не сетать timeout, то через несколько запросов (как понимаю просто треды заканчиваются в executor-е) очередной начинает висеть. Дебажнул и такое впечатление, что блокируется на чтении из http сервера обратно на клиент. Тоесть http server -> tcp relay -> client.
Никак не хочется подниматься на уровень http, так как хочу сделать tcp relay универсальным (то есть не важно будет какой протокол будет работать наверху tcp).  Или сейчас так не делают или по каким-то причинам, мне неизвестным, это невозможно? Конечно хочется перейти на nio и nio2, но пока пытаюсь держать этот личный эксперимент предельно простым. Заранее большое спасибо за ответ.
источник