Size: a a a

Javanese Questions

2020 May 21

NY

Nikita Yatskivskiy in Javanese Questions
То есть, там есть только что-то типа фабричных методов?)
источник

QH

Quantum Harmonizer in Javanese Questions
Nikita Yatskivskiy
То есть, там есть только что-то типа фабричных методов?)
Там есть литералы структур.
источник

NY

Nikita Yatskivskiy in Javanese Questions
Quantum Harmonizer
Там есть литералы структур.
https://doc.rust-lang.org/book/ch05-01-defining-structs.html
А разве есть разница в этом плане с Котлином? Литерал на первый взгляд аналогичен конструктору, те же named arguments имеются.
источник

NY

Nikita Yatskivskiy in Javanese Questions
🤔
источник

QH

Quantum Harmonizer in Javanese Questions
Nikita Yatskivskiy
https://doc.rust-lang.org/book/ch05-01-defining-structs.html
А разве есть разница в этом плане с Котлином? Литерал на первый взгляд аналогичен конструктору, те же named arguments имеются.
В конструкторе можно вызывать методы, а из них — трогать неинициализированные поля. В расте такое невозможно.
источник

NY

Nikita Yatskivskiy in Javanese Questions
А, кажется, понял
Поэтому, если хочешь, например, добавить валидацию для входных параметров литерала структуры, приходиться заводить что-то вроде фабричного метода? А иначе никак
И такой метод уже вернёт Result/Option?
источник

QH

Quantum Harmonizer in Javanese Questions
Nikita Yatskivskiy
А, кажется, понял
Поэтому, если хочешь, например, добавить валидацию для входных параметров литерала структуры, приходиться заводить что-то вроде фабричного метода? А иначе никак
И такой метод уже вернёт Result/Option?
Вроде того.
источник
2020 June 01

NK

ID:0 in Javanese Questions
Многие знают jlink — инструмент, который собирает уменьшенную JVM, чтобы её удобно было поставлять пользователям (актуально для десктопных приложений). Но jlink нормально работает только с модульными проектами, а на jigsaw все забили. Оказывается, есть аналогичная штука для немодульных проектов.
источник
2020 June 09

NK

ID:0 in Javanese Questions
Сегодня вышел ProGuard 7, с чем и поздравляю разработчиков десктопных приложений. Кстати, проект наконец-то перебрался в гитхаб.
источник
2020 June 22

AG

Anton Galishnikov in Javanese Questions
Коллеги, приветствую!
Ищу помощи: нужна небольшая консультация по авторизации в stateless web API в контексте анонимных пользователей (гостей). Подробно вопрос описал на стековерфло: https://stackoverflow.com/questions/62475039/whats-the-best-approach-towards-implementing-security-for-guest-user-requests-i

P.s. если у вас отсутствует релевантный опыт, можете помочь с помощью upvote вопроса, буду благодарен.
источник

QH

Quantum Harmonizer in Javanese Questions
Anton Galishnikov
Коллеги, приветствую!
Ищу помощи: нужна небольшая консультация по авторизации в stateless web API в контексте анонимных пользователей (гостей). Подробно вопрос описал на стековерфло: https://stackoverflow.com/questions/62475039/whats-the-best-approach-towards-implementing-security-for-guest-user-requests-i

P.s. если у вас отсутствует релевантный опыт, можете помочь с помощью upvote вопроса, буду благодарен.
А зачем пользователям типа 1 и 2 идентификатор? Пусть корзина лежит себе в куках, да и всё.
источник

AG

Anton Galishnikov in Javanese Questions
Да, было когда-то хранение таких вещей в куках, но от этого ушли. Есть ряд фич, которые нуждаются в хранении данных для гостей на беке :(
источник
2020 July 06

NK

ID:0 in Javanese Questions
источник
2020 July 11

NK

ID:0 in Javanese Questions
Дайте два!

void bulk(Iterable<? extends T> ts)
void bulk(Stream<? extends T> ts)

Так как StreamEx реализует и Stream, и Iterable, для выражения bulk(streamEx) javac не сможет выбрать нужную перегрузку: оба варианта одинаково хороши.

Какое решение вы бы выбрали?
источник
2020 July 17

NK

ID:0 in Javanese Questions
ReadWriteLock простыми словами

ReadWriteLock — как кастрюля:
* можно варить только один суп в один момент времени;
* нельзя подъедать суп, пока он варится (ой!);
* когда суп готов, его можно есть несколькими ложками.
источник

AG

Anton Galishnikov in Javanese Questions
И все могут смотреть на суп, пока он варится
источник

QH

Quantum Harmonizer in Javanese Questions
Anton Galishnikov
И все могут смотреть на суп, пока он варится
Ну, это вызывает некоторое противоречие. В моей интерпретации есть «есть» и «варить», «смотреть» нет.
источник

AG

Anton Galishnikov in Javanese Questions
Хз, это может создать ложное представление, что борщ можно читать, только когда он "готов".
А если борщ варится/пишется постепенно (кто-то морковь кинул, кто-то лук и т.п.), то его же можно читать/смотреть недоваренный. А вариант с чтением только "готового" борща лучше подойдёт для демонстрации лэтчей/барьеров, ну это мое имхо
источник

AG

Anton Galishnikov in Javanese Questions
Quantum Harmonizer
А зачем пользователям типа 1 и 2 идентификатор? Пусть корзина лежит себе в куках, да и всё.
Кстати, тут пошли в сторону возврата к кукам
источник
2020 July 21

NK

ID:0 in Javanese Questions
Менеджер зависимостей для Android

Меня вдохновляет Graviton Browser — браузер JVM-приложений. В качестве адреса ему можно передать groupid:artifactId — гравитон скачает последнюю версию вместе со всем деревом зависимостей и запустит Main Class.

Подобное можно провернуть для андродиа, но немного в другой форме:
— на телефон устанавливается приложение-менеджер. Графического интерфейса у него нет;
— берётся любое приложение, из него выпиливаются библиотеки, вместо них нужно взять одну маленькую — коннектор к менеджеру зависимостей;
— в метадату манифеста вписываются зависимости, чтобы менеджер пакетов их увидел;
— на старте приложение связывается с менеджером пакетов и получает от него необходимые dex'ы.

Это решает сразу несколько проблем:
— раздутый размер APK. Все библиотеки теперь находятся снаружи, популярные библиотеки не дублируются в каждом приложении;
— фиксы библиотек можно доставлять без пересборки и перезаливки (как, впрочем, и баги);
— менеджер пакетов учитывает версию Android и может подхватывать нужные пакеты в зависимости от этого. Например, брать Гришкин liteX для SDK21+ или, наоборот, подключать бэкпорт CompletableFuture, Streams, java.time, если платформа старая.

Есть, конечно, и минусы:
— не все соблюдают semVer, можно по неосторожности доставить ломающие изменения;
— правила Маркета не позволяют подгружать код не из Маркета;
— возможны просадки времени старта.

Есть вам нравится эта #идея и вы решите поучаствовать в реализации, стучите в личку — помогу чем смогу.
источник