uz
Feedback

Firibgarlarga uchmang! Telemetrio bunday kanallarni topadi va belgilaydi 👉 Belgini ko‘rmoqchi bo‘lsangiz, obuna bo‘ling

По-явански

По-явански

Kanalga Telegram’da o‘tish

Пишу про Java-технологии, Kotlin и Android-разработку. Редко но метко. Кодревью: http://javanese.online/%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80_%D0%BA%D0%BE%D0%B4%D0%B0/ Поболтать IRL: @coffeeCodeEverywhere Автор: @Harmonizr Менеджер по рекламе: /dev/null

Ko'proq ko'rsatish
823
Obunachilar
-424 soatlar
-57 kun
-230 kun
Postlar arxiv
Ещё одно наблюдение про билдеры. Классический билдер на кодревью (вне IDE) помогает понять, что происходит. Без билдера эту же роль могут выполнять локальные переменные. http://javanese.online/%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D1%8B_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F/%D0%B0%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%BD%D1%8B%D0%B5_%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D1%8B/builder/#%D0%B8%D0%BC%D0%B5%D0%BD%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5_%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B

Совет от Google: засуньте null-безопасность всюду, пишите всё с вопросиками. Удачной отладки!
Совет от Google: засуньте null-безопасность всюду, пишите всё с вопросиками. Удачной отладки!

Очень часто вижу мучения фронтов, связанные с тем, что бэк возвращает ответ, завёрнутый в какой-то мусор. Вот один из способов прозрачно развернуть такой ответ при использовании Retrofit. https://youtu.be/t34AQlblSeE?t=27m56s

Спасибо тем, кто решает задачи и сообщает об ошибках. Исправил обе — «Расставить знаки» и «Деление чисел с плавающей точкой». Готовлю статьи о шаблонах проектирования, но и многопоточку стороной не обойду.

Что наиболее актуально для обучающего курса? anonymous poll Хардкорная многопоточка — lock-free и wait-free алгоритмы – 25 👍👍👍👍👍👍👍 43% Шаблоны и антишаблоны проектирования. Чем хороши, плохи или ужасны те или иные ШП в зависимости от контекста – 22 👍👍👍👍👍👍 38% Дописать главу про стдлибу — Tree/Enum/Weak Map/Set, java.time, BigInteger/BigDecimal, NumberFormat, String.format, ... – 5 👍 9% ФП на Java: лямбда-выражения и функциональные интерфейсы, стримы и т. д. – 5 👍 9% Другое (в личку @Harmonizr) – 1 ▫️ 2% 👥 58 people voted so far.

Пора перестать ставить @Expose на все поля DTO. А для тех, кто рекомендует делать clear+addAll вместо простой замены одной коллекции на другую, есть отдельный котёл. Ревью для Алексея. http://javanese.online/%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80_%D0%BA%D0%BE%D0%B4%D0%B0/expose_clear_addall/

#android 1. Когда вертикальный LinearLayout внутри ScrollView измеряет своих детей, в качестве heightSpec они получают количество оставшихся свободных пикселей, режим UNSPECIFIED. Для тех детей, до которых нужно скроллить, количество оставшихся пикселей — 0. 2. Когда RecyclerView находится в режиме autoSizing, а высота пришла ненулевая, он принимает эту высоту, невзирая на Mode. И вот, эти два фактора столкнулись: autoSizing работал некорректно, не отображалось несколько последних строк. Лечится наследованием RecyclerView и переопределением onMeasure. (Нужно передать нулевую высоту, если она UNSPECIFIED.)

Спасибо внимательным читателям за жалобы на то, что решения некоторых задач не принимаются.
Спасибо внимательным читателям за жалобы на то, что решения некоторых задач не принимаются.

Вот поэтому под Android так больно разрабатывать. И по той же причине я не рекомендую Android в качестве первой платформы. http://javanese.online/%D1%81%D1%82%D0%B0%D1%82%D1%8C%D0%B8/%D1%84%D1%83%D0%BD%D0%B4%D0%B0%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D1%8B_android/

Множество современных Android-приложений выглядит именно так: хардкод строк, уйма ? и !!, плохое именование, горы инжектов, рефлексия. Кодревью для Александра. http://javanese.online/%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80_%D0%BA%D0%BE%D0%B4%D0%B0/%D1%82%D0%B8%D0%BF%D0%B8%D1%87%D0%BD%D0%BE%D0%B5_android-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5_dagger_rxjava/

Больше не использую для перевода строк один из самых кривых классов JDK — java.util.Properties. Теперь — никаких попыток считать несуществующую строку перевода. Весь этот зоопарк сменился полиморфизмом. https://github.com/JavaneseOnline/JavaneseBackend/tree/master/src/main/kotlin/online/javanese/locale

Здесь собраны всевозможные ошибки начинающих Android-разработчиков при обращении с фрагментами, асинхронщиной, null-safety и не только. Кодревью для Никиты. http://javanese.online/%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80_%D0%BA%D0%BE%D0%B4%D0%B0/achatina-kotlinexample/

Отныне на javanese.online не используется шаблонизатор. Thymeleaf, который был в первой версии, — ничего так, но статически типизированный DSL на Kotlin более гибкий, настраиваемый и шустрый. Горячая генерация страницы ускорилась в пять раз, с пяти миллисекунд до одной на моей машине, холодная — страшно даже представить (с Thymeleaf занимала секунды две). Когда я убрал Thymeleaf из зависимостей, shadow JAR (собственные классы плюс зависимости) похудел на 7 МБ — не стало Groovy, javassist и OGNL. Вёрстка страниц на DSL: https://github.com/JavaneseOnline/JavaneseBackend/tree/master/src/main/kotlin/online/javanese/page

Как написать Builder на Kotlin, чтобы его было удобно использовать из Java? И вообще, что не так с билдерами? Почему в Android неудобный механизм передачи строковых ресурсов? Кодревью для whalemare. http://javanese.online/%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80_%D0%BA%D0%BE%D0%B4%D0%B0/builder_pattern_in_Kotlin/