🚀 Работайте с комфортом и заботой о здоровье!
С регулируемым по высоте столом Ergostol Optima 2.0 вы сможете легко чередовать работу сидя и стоя, сохраняя энергию и продуктивность весь день.
Почему Optima 2.0 — это выбор для вашего комфорта:
📏 Регулировка высоты от 69 до 117 см — подстроится под вас.
⚡️ Два мощных мотора выдерживают до 80 кг и работают плавно и тихо (32 мм/сек).
🔄 Память на 3 позиции — ваши любимые настройки сохранятся одним нажатием.
🛡 Система защиты от столкновений и перегрузки — безопасность для вас и техники.
✅ Гарантия 3 года — стол создан для долгой службы.
🎉 Скидка до -49%!
А по промокоду
👉 Сделайте рабочее место современным, здоровым и удобным.
Реклама. ООО «СОФТЭФФЕКТ». ИНН 7735575262
С регулируемым по высоте столом Ergostol Optima 2.0 вы сможете легко чередовать работу сидя и стоя, сохраняя энергию и продуктивность весь день.
Почему Optima 2.0 — это выбор для вашего комфорта:
📏 Регулировка высоты от 69 до 117 см — подстроится под вас.
⚡️ Два мощных мотора выдерживают до 80 кг и работают плавно и тихо (32 мм/сек).
🔄 Память на 3 позиции — ваши любимые настройки сохранятся одним нажатием.
🛡 Система защиты от столкновений и перегрузки — безопасность для вас и техники.
✅ Гарантия 3 года — стол создан для долгой службы.
🎉 Скидка до -49%!
А по промокоду
ANDROID10
получите ещё -10%.👉 Сделайте рабочее место современным, здоровым и удобным.
Реклама. ООО «СОФТЭФФЕКТ». ИНН 7735575262
🤔6❤2👍2🔥1
Стокнулся с open source проектом для возможности конфигурирования Gitlab CI через Kotlin DSL вместо YAML.
// Пример конфигурации
// Файл .gitlab-ci.main.kts в корне проекта
#!/usr/bin/env kotlin
@file:DependsOn("dev.opensavvy.gitlab:gitlab-ci-kotlin-jvm:VERSION-HERE") // See https://gitlab.com/opensavvy/automation/gitlab-ci.kt/-/releases
import opensavvy.gitlab.ci.*
import opensavvy.gitlab.ci.script.*
val pipeline = gitlabCi {
val test by stage()
val helloWorld by job(stage = test) {
script {
shell("echo 'Hello world'")
}
}
}
pipeline.println()
Я конечно люблю Kotlin, но вот не везде он нужен и может только усложнить всё. YAML файлы прекрасно подходят для описания конфигурации, без лишних сложный конструкций и свободы. Всё четко и под делу!
На ваш взгляд, где будет удобно применение Kotlin помимо разработки приложений?
#kotlin #gitlab
#kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🤔8❤1🔥1
// Пример OrbitMVI
class CalculatorViewModel: ContainerHost<CalculatorState, CalculatorSideEffect>, ViewModel() {
// Include `orbit-viewmodel` for the factory function
override val container = container<CalculatorState, CalculatorSideEffect>(CalculatorState())
fun add(number: Int) = intent {
postSideEffect(CalculatorSideEffect.Toast("Adding $number to ${state.total}!"))
reduce {
state.copy(total = state.total + number)
}
}
}
#kmp #mvi #android #ios #desktop
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15🤔6👍5❤2