*Вашему вниманию предлагается новая подборка Java-новостей от InfoQ: 😃
*✔️ Стал доступен билд № 31 для JDK 20 (ранний доступ)
✔️ Стал доступен билд № 5 для JDK 21 (ранний доступ)
✔️ Выпущен новый релиз Spring Framework, версии 6.0.4
и д.р.
Приятного чтения!
Читать статью
*✔️ Стал доступен билд № 31 для JDK 20 (ранний доступ)
✔️ Стал доступен билд № 5 для JDK 21 (ранний доступ)
✔️ Выпущен новый релиз Spring Framework, версии 6.0.4
и д.р.
Приятного чтения!
Читать статью
Новости Java 52
• Вышел Kotlin 1.8.0
• Java Annotated Monthly за январь
• Maven 3.8.7
• Mockito 5.0.0
Подробности: https://minijug.ru/java_news_52.html
• Вышел Kotlin 1.8.0
• Java Annotated Monthly за январь
• Maven 3.8.7
• Mockito 5.0.0
Подробности: https://minijug.ru/java_news_52.html
Каждой задаче — по языку
Я вижу как минимум два способа понимать это высказывание.
Первый (назовём его горизонтальным) предполагает, что для каждой прикладной области есть наиболее подходящий язык программирования. Например, для серверной разработки — Java, для яблок — Swift, для Android — Kotlin, для фронта — TypeScript, для системщины — Си.
Второй (назовём вертикальным) делит языки на прикладные и низкоуровневые. Например, сервер — Kotlin-JVM, Android — Kotlin-JVM/Android, яблоки — Kotlin-Native, фронт — Kotlin-JVM. Написание ОС и драйверов — Rust.
Или, например, сервер и Android — Clojure, яблоки (в React-Native) и фронт — ClojureScript, Android — Clojure.
Или сервер — Haskell, Android — Haskell (NDK или Frege), iOS и фронт — PureScript.
Мне кажется, что правильный способ понимать это высказывание — второй, т. к. нет объективных причин для каждой платформы (прикладной сферы) заводить отдельный язык.
Я вижу как минимум два способа понимать это высказывание.
Первый (назовём его горизонтальным) предполагает, что для каждой прикладной области есть наиболее подходящий язык программирования. Например, для серверной разработки — Java, для яблок — Swift, для Android — Kotlin, для фронта — TypeScript, для системщины — Си.
Второй (назовём вертикальным) делит языки на прикладные и низкоуровневые. Например, сервер — Kotlin-JVM, Android — Kotlin-JVM/Android, яблоки — Kotlin-Native, фронт — Kotlin-JVM. Написание ОС и драйверов — Rust.
Или, например, сервер и Android — Clojure, яблоки (в React-Native) и фронт — ClojureScript, Android — Clojure.
Или сервер — Haskell, Android — Haskell (NDK или Frege), iOS и фронт — PureScript.
Мне кажется, что правильный способ понимать это высказывание — второй, т. к. нет объективных причин для каждой платформы (прикладной сферы) заводить отдельный язык.
👍6👎3
Ночная задача: реализовать функцию
Какое решение самое простое? Компактное? Эффективное? Зрелищное?
Напишите ваши в комментах.
factorial(n) -> long
.Какое решение самое простое? Компактное? Эффективное? Зрелищное?
Напишите ваши в комментах.
👍4
fun factorial(n: Int): Long =
(2..n).fold(1L, Long::times)
💩3👍2
Полраза в жизни встречал
Ожидание:
отрицание, гнев, торг, пост в канал, кастомный флоу.
ViewModel
+ MutableStateFlow
. Попросили объяснить, как использовать. Чем дальше в лес, тем меньше понимания, как и зачем этим вообще пользоваться и под какими веществами это придумали 🤦Ожидание:
val vm by viewModels(factory = { MyCoolViewModel(args) })
Реальность:val vm: MyCoolViewModel by viewModels(factoryProducer = {Ожидание:
object : ViewModelProvider.Factory {
override fun <T : ViewModel> create(...): T =
MyCoolViewModel(args) as T
}
})
val stateSmth = savedStateHandle.getMutableStateFlow("smth", defaultSmth)
Реальность:отрицание, гнев, торг, пост в канал, кастомный флоу.
💩4😁1
#вопросы_с_собеседований
Как можно вывести на экран уникальные квадраты чисел используя метод map()?
Для этого можно использовать Stream. Ответ на картинке.
Как можно вывести на экран уникальные квадраты чисел используя метод map()?
Для этого можно использовать Stream. Ответ на картинке.
🔥6👎1