Получи случайную криптовалюту за регистрацию!

Javanese Online

Логотип телеграм канала @javanese_online — Javanese Online J
Логотип телеграм канала @javanese_online — Javanese Online
Адрес канала: @javanese_online
Категории: Технологии
Язык: Русский
Страна: Россия
Количество подписчиков: 674
Описание канала:

Статьи и новости, наблюдения и советы.
Кодревью: http://javanese.online/разбор_кода/
Обсуждение в @javanese_questions
Материалы пишет @Harmonizr

Рейтинги и Отзывы

4.50

2 отзыва

Оценить канал javanese_online и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

1

4 звезд

1

3 звезд

0

2 звезд

0

1 звезд

0


Последние сообщения 3

2021-02-26 19:20:41 Андроидная жизнь кипит

Сделал библиотеку для теней — FiftyShades.

Обновил гист с кастомным TextView, у которого есть свойства drawableLeft/Top/Right/Bottom/Start/End, реализующие picasso.Target.

Записался в хейтеры Coil.
1.3K views16:20
Открыть/Комментировать
2021-02-12 21:20:40
Что будет выведено на экран?
933 views18:20
Открыть/Комментировать
2021-02-11 18:00:11 Начали.
1.0K views15:00
Открыть/Комментировать
2021-02-08 12:27:42 Строки, символы и Юникод Периодически паршу (парсю?) всякие тексты, и возникает желание собрать качественный материал на тему строк и символов. The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets…
2.1K views09:27
Открыть/Комментировать
2021-02-07 20:07:34
Всем привет, в следующий четверг, 11 февраля, в 18:00 по МСК будет очередная сессия вопросов и ответов с крайне популярным человеком в Android и не только разработке, а именно Михаилом @Harmonizr

Ссылка на стрим -



Михаил является создателем канала @javanese_online и админом чатов @android_ru, @kotlin_lang и многих других.

На этой сессии мы узнаём побольше о нем и как это быть админом крупнейших каналов ру пространства

Некоторые факты о Михаиле:
- на текущем проекте нет ни одного XML layout
- использует MVVM и датабайндинг без помощи гугла
- передаёт аргументы во фрагменты через конструктор
- нет вышки. Никакой
- смотрит доклады Шипилёва с удовольствием и интересом
- прошёл в Яндекс без знания алгоритмов
- пишет свой индикатор для вьюпейджера быстрее, чем нагугливает подходящий
- генерирует 9-патчи на рантайме

Бей в колокольчик, чтобы не пропустить
762 views17:07
Открыть/Комментировать
2021-01-23 16:04:46 Небезызвестный и замечательный Тагир Валеев показал, как, добавив один метод и статически заимпортировав его, можно сделать в джаве читабельный for по диапазону:
for (int i : range(0, 10)) {
Он упомянул, что переменная i финальная в теле цикла, её нельзя случайно перезаписать и можно безнаказанно захватывать.
От себя добавлю, что это круче, чем IntStream.range(0, 10).forEach(, потому что здесь продолжают работать continue и break.
1.0K views13:04
Открыть/Комментировать
2021-01-15 00:09:20 Строки, символы и Юникод

Периодически паршу (парсю?) всякие тексты, и возникает желание собрать качественный материал на тему строк и символов.

The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!) by Joel Spolsky: обзор на Юникод без привязки к каким-либо языкам программирования.

Storing UTF-8 Encoded Text with Strings from Rust Book: как Юникод представлен в Расте, чем байты отличаются от кодпоинтов или символов и что такое кластеры графем.

Так, мы же тут про Джаву. В 1995 казалось, что 65 536 символов хватит всем, поэтому был выбран UTF-16, в котором char — два байта, а .charAt работает за константное время. Но количество символов в Юникоде уже перевалило за миллион, а это чуть больше, чем 65к, поэтому не все символы вмещаются в два байта. В итоге char содержит обман в своём названии, так как может оказаться половинкой длинного символа («суррогатной пары»), .length() иногда привирает, а за константное время можно получить только немного самообмана.

Настоящий кодпоинт помещается в int. В классе Character у большинства методов есть оверлоады для char и int.
Настоящее итерирование символов можно подсмотреть в ретрофите, например.
У CharSequence есть метод .codePoints(), который возвращает IntStream. Так, количество кодпоинтов можно посчитать за линейное время, вызвав .codePoints().count().

Ну а для работы с кластерами графем есть BreakIterator.getCharacterInstance. Уж он-то не только не станет разрывать кодпоинты, но и не будет отковыривать от букв ударения, а от смайлов — модификаторы и джоинеры.
1.1K viewsedited  21:09
Открыть/Комментировать
2021-01-14 23:33:30
Нашёл изящный способ упасть, если в стриме окажутся дубликаты.
778 views20:33
Открыть/Комментировать
2020-12-15 13:37:34
Финансовая математика для IT-инженеров

- Сколько нужно денег, чтобы жить на проценты?
- Как устроены опционы?
- Как ускорить расчёт доходности облигации в 1000 раз одной строкой кода?

IT-инженеры сталкиваются с вопросами из финансовой математики по-разному: из любопытства, при управлении личными финансами, по работе.

Многие интересные темы сложно найти за пределами академических источников. Мы считаем это не вполне справедливым.

Так появился наш проект. Мы сделали сайт, где собираем материалы, которые доступно рассказывают о нашем увлечении — финансовой математике.

В нынешней подборке: видео-лекции, статьи. Скоро: задачи, тесты на проверку знаний по финансовой математике, митапы.

Заходите на сайт, смотрите подборку видео и статей.

Если знаете полезные материалы по теме, которых пока нет на сайте — предлагайте! Самые интересные обязательно опубликуем.

Надеемся, вместе мы сможем сделать финансовую математику чуть более доступной для IT-инженеров

https://finmath4it.ru/
1.4K views10:37
Открыть/Комментировать