en
Feedback

Don't get caught by a cheater! Telemetrio finds and tags such channels 👉 If you want to see the tag, subscribe

По-явански

По-явански

Open in Telegram

Пишу про 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

Show more
823
Subscribers
-424 hours
-57 days
-230 days
Posts Archive
Ещё одно наблюдение про билдеры. Классический билдер на кодревью (вне 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/