Size: a a a

Javanese Questions

2020 May 08

А

Артёмка in Javanese Questions
Не грузит :(
источник

QH

Quantum Harmonizer in Javanese Questions
Артёмка
Не грузит :(
У тебя случаем нет запрета на сайты без SSL?
источник

А

Артёмка in Javanese Questions
Сафари не открывает
источник

А

Артёмка in Javanese Questions
А хром открывает
источник

А

Артёмка in Javanese Questions
🤷🏻‍♂️
источник

MY

Maksim Yakunin in Javanese Questions
Всем привет! Столкнулся с неочевидной проблемой в Java Money (вопрос на stack overflow).

Буду благодарен за любой совет!
источник

NK

ID:0 in Javanese Questions
«“Велосипед” — это просто вредная риторическая уловка, чтобы оправдать свою лень или самоутвердиться в споре»

Часто встречаю пару заблуждений, которые в утрированной и доведённой до абсурда формулировке звучат так:
• нельзя использовать малоизвестные инструменты. У библиотеки должны быть десятки тысяч звёзд на гитхабе и выделенная какой-нибудь корпорацией команда для поддержки;
• нельзя делать свои инструменты, когда в мире уже есть хоть что-нибудь отдалённо похожее.

Статья @fillpackart развеивает эти заблуждения.
источник
2020 May 10

NK

ID:0 in Javanese Questions
Итератор стоит между элементами. next() перепрыгивает через элемент и возвращает его:
| 0 1 2
.next() => 0
0 | 1 2
.next() => 1
0 1 | 2
.previous() => 1 (sic!)
0 | 1 2

ResultSet и Cursor стоят на строках и переходят с одной строки на другую:
[] 0 1 2
.next() или first()
[0] 1 2
.next()
0 [1] 2
.previous()
[0] 1 2
источник

W

WorkPrompt in Javanese Questions
Добрый день. Кто знает как из консоли записать все введённые и выведенные строчки в файл? То есть сохранить в файл логи input и output с консоли.
источник

QH

Quantum Harmonizer in Javanese Questions
WorkPrompt
Добрый день. Кто знает как из консоли записать все введённые и выведенные строчки в файл? То есть сохранить в файл логи input и output с консоли.
Обернуть все чтения из system.in и все записи в system.out в свой метод, который будет записывать в файл.
источник
2020 May 14

F

Fieldmarshal in Javanese Questions
#вопрос #android
После передачи списка из таблицы БД (Room) в адаптер триггерится метод скрытия прогрессбара, но при этом прогрессбар продолжает крутиться ещё где-то с минуту, и только потом скрывается, и показывается список.
В этой таблице 1400 строк.
Всё это время в логи сыпется сообщение W/StaticLayout: maxLineHeight should not be -1.  maxLines:1 lineCount:1 вперемешку ещё с одним: I/zygote64: Background concurrent copying GC freed 59352(2MB) AllocSpace objects, 0(0B) LOS objects, 5% free, 107MB/113MB, paused 519us total 1.042s

Вопрос: в чём может быть проблема и как её исправить, чтобы список загружался и отображался моментально?
источник

QH

Quantum Harmonizer in Javanese Questions
Fieldmarshal
#вопрос #android
После передачи списка из таблицы БД (Room) в адаптер триггерится метод скрытия прогрессбара, но при этом прогрессбар продолжает крутиться ещё где-то с минуту, и только потом скрывается, и показывается список.
В этой таблице 1400 строк.
Всё это время в логи сыпется сообщение W/StaticLayout: maxLineHeight should not be -1.  maxLines:1 lineCount:1 вперемешку ещё с одним: I/zygote64: Background concurrent copying GC freed 59352(2MB) AllocSpace objects, 0(0B) LOS objects, 5% free, 107MB/113MB, paused 519us total 1.042s

Вопрос: в чём может быть проблема и как её исправить, чтобы список загружался и отображался моментально?
Использовать адаптер, который оборачивает курсор, а не вытаскивать всё-всё-всё в память.
Кроме того, мне кажется, что ещё и ресайклер так настроен, что не ресайклит.
источник

F

Fieldmarshal in Javanese Questions
Quantum Harmonizer
Использовать адаптер, который оборачивает курсор, а не вытаскивать всё-всё-всё в память.
Кроме того, мне кажется, что ещё и ресайклер так настроен, что не ресайклит.
1. с возвратом Single<List<T>> из базы такое не прокатит?
2. Не ресайклит - означает в данном случае, что не используется постраничная загрузка, да?
источник

D

Dmitriy in Javanese Questions
Fieldmarshal
1. с возвратом Single<List<T>> из базы такое не прокатит?
2. Не ресайклит - означает в данном случае, что не используется постраничная загрузка, да?
используйте хотя бы Observable и limit
сейчас у вас все элементы разом грузятся в память
источник

QH

Quantum Harmonizer in Javanese Questions
Fieldmarshal
1. с возвратом Single<List<T>> из базы такое не прокатит?
2. Не ресайклит - означает в данном случае, что не используется постраничная загрузка, да?
1. Неа.
2. Нет, что все вьюхи отображаются сразу.
источник
2020 May 21

NY

Nikita Yatskivskiy in Javanese Questions
Ребят, есть распространённая практика - бросать исключение, если в конструктор были переданы некорректные параметры.
Так вот - насколько это вообще хорошая практика? Гугл подсказывает, что, это своего рода, good practice. Но появились сомнения. Насколько это лучше, чем заприватить конструктор и сделать фабричный метод, который бы возвращал null, если входные данные неверные.

Пример:
Есть сущность Rating с интовым полем. Рейтинг не может быть больше 5 и меньше 1.
Почему пришёл к такой обертке? Удобно убрать в класс логику, которая, например, позволяет понять, считается ли оценка хорошей или плохой (отталкиваясь от ТЗ). И не только. Ещё пара вспомогательных методов. И мысль в том, чтобы бросать исключение в init (Kotlin 😅), если входные данные невалидные - пытаемся передать рейтинг со значением больше 5 и меньше 1. Ибо нет смысла в существовании такого объекта.

Или это вполне обычное решение и, например, достаточно KDoc к классу составить.
источник

NY

Nikita Yatskivskiy in Javanese Questions
Просто введение метода, который бы позволял понять, валидный объект или нет - кажется излишним. Но и с nullable-методом тоже сомнения есть (подсмотрел, что в Swift есть nullable-конструктор и этим решением вроде как пользуются).
Но и позволять невалидному объекту ходить от метода к методу - тоже плохая идея.
источник

QH

Quantum Harmonizer in Javanese Questions
Nikita Yatskivskiy
Ребят, есть распространённая практика - бросать исключение, если в конструктор были переданы некорректные параметры.
Так вот - насколько это вообще хорошая практика? Гугл подсказывает, что, это своего рода, good practice. Но появились сомнения. Насколько это лучше, чем заприватить конструктор и сделать фабричный метод, который бы возвращал null, если входные данные неверные.

Пример:
Есть сущность Rating с интовым полем. Рейтинг не может быть больше 5 и меньше 1.
Почему пришёл к такой обертке? Удобно убрать в класс логику, которая, например, позволяет понять, считается ли оценка хорошей или плохой (отталкиваясь от ТЗ). И не только. Ещё пара вспомогательных методов. И мысль в том, чтобы бросать исключение в init (Kotlin 😅), если входные данные невалидные - пытаемся передать рейтинг со значением больше 5 и меньше 1. Ибо нет смысла в существовании такого объекта.

Или это вполне обычное решение и, например, достаточно KDoc к классу составить.
Создавать только валидные объекты — определённо хорошая практика.

В теории, к исключениям можно применять правила Джошуа Блоха — если это ошибка программирования, то unchecked, а если ситуация, в которой можно восстановиться, то checked (в контексте котлина заменяются на either/result/nullable). Но вот беда — автор API почти никогда не знает, что имел в виду пользователь API, поэтому checked потерпели крах. Мне понравился подход в расте — везде возвращается Option/Result, а если уверен, вызываешь .unwrap(). В переводе на котлин — !! или ?: throw.
источник

NY

Nikita Yatskivskiy in Javanese Questions
То, есть в расте даже конструктор может вернуть Option?
источник

QH

Quantum Harmonizer in Javanese Questions
Nikita Yatskivskiy
То, есть в расте даже конструктор может вернуть Option?
Нет, там решили не совершать очередную глупую ошибку. В расте нет конструкторов :)
источник