Kotlin DSL: Теория и Практика

Разработка тестов приложения — не самое приятное занятие. Этот процесс занимает долгое время, требует большой концентрации и при этом крайне востребован. Язык Kotlin дает набор инструментов, который позволяет довольно легко построить собственный проблемно-ориентированный язык (DSL). Есть опыт, когда Kotlin DSL заменил билдеры и статические методы для тестирования модуля планирования ресурсов, что превратило добавление новых тестов и поддержку старых из рутины в увлекательный процесс.

По ходу статьи мы разберем все основные инструменты из арсенала разработчика и то, как их можно комбинировать для решения задач тестирования. Мы с вами проделаем путь от проектирования Идеального Теста до запуска максимально приближенного, чистого и понятного теста для системы планирования ресурсов на основе Kotlin.

Статья будет полезна практикующим инженерам, тем, кто рассматривает Kotlin как язык для комфортного написания компактных тестов, и тем, кто хочет улучшить процесс тестирования в своем проекте.

Статья основана на докладе Ивана Осипова (i_osipov) на конференции JPoint. Дальнейшее повествование ведется от его лица. Иван работает программистом в компании Haulmont. Основной продукт компании – CUBA, платформа для разработки энтерпрайза и различных веб-приложений. В том числе на этой платформе делаются и аутсорсинговые проекты, среди которых недавно был проект в области образования, в котором Иван занимался построением расписания для образовательного учреждения. Так сложилось, что последние три года Иван так или иначе работает с планировщиками, и конкретно в Haulmont в течение года они этот самый планировщик тестируют.
Читать дальше →
Kotlin DSL: Теория и Практика
Source: habrahabr

Популярный VPN-плагин Hola скомпрометирован

Сегодня утром редакция TechCrunch сообщила, что популярный VPN-плагин для Chrome и Android под названием Hola, которым пользуется более 50 млн человек по всему миру, был скомпрометирован. Целью атаки являются пользователи MyEtherWallet — одного из крупнейших горячих онлайн-кошельков для держателей эфира. Атака длилась примерно пять часов и за это время Hola собирал информацию о кошельках пользователей MEW с целью последующей кражи криптовалюты.

В единственной рекомендации, поступившей от администрации кошелька, советуется завести новый кошелек MEW и перевести туда свои средства в случае, если вы являетесь пользователем Hola и совершали действия в MyEtherWallet в последние 24 часа.
Читать дальше →
Популярный VPN-плагин Hola скомпрометирован
Source: geektimes

Полноэкранный Vivo Y81 с искусственным интеллектом представлен в России

Компания Vivo объявила о начале продаж на российском рынке нового полноэкранного смартфона Y81. Это модель среднего класса с функциями искусственного интеллекта для улучшения фотографий и повышения времени […]
Полноэкранный Vivo Y81 с искусственным интеллектом представлен в России
Source: 4pda

Владельцы OnePlus 6 столкнулись с неприятной проблемой

На сайте Reddit начали появляться возмущённые сообщения владельцев нового флагмана OnePlus 6. Он стал самым быстропродаваемым смартфоном компании и разошёлся тиражом в один миллион экземпляров всего за […]
Владельцы OnePlus 6 столкнулись с неприятной проблемой
Source: 4pda

[Перевод] Сбор контекстной информации для логирования

Зачастую требуется записывать в логи дополнительную информацию, которая может прояснить ситуацию и в дальнейшем упростить отладку приложения. Например, если логируется информация об ошибке, неплохо было бы также сохранить в некоторой форме и входные данные, чтобы было проще воспроизвести проблему. Здесь я хочу описать подход, позволяющий собрать эту дополнительную информацию.

Читать дальше →
[Перевод] Сбор контекстной информации для логирования
Source: habrahabr

Пост №3568530

Автор: Mind's I

Сенолитики исправляют повреждения, наносимые сенесцентными клетками и увеличивают продолжительность жизни старых мышей на 36%.И еще одна новость с пылу с жару. В Nature вышла статья, она платная, но краткое описание можно найти тут.Введение сенесцентных клеток мышам приводило к ухудшению здоровья и нарушениям функционирования (Это, к слову в ответ тому, кто говорил, что у молодого действуют механизмы, избавляющиеся естественным путем от состарившихся клеток. Как видим, нет, у них не очень получается). Введение комбинации двух препаратов вывело сенесцентные клетки из тканей мышей и восстановило их здоровье. Лечение так же помогло естественно состарившимся мышам продлить период здорового функционирования и жизнь вообще.Исследование, проведенное командой Джеймса Киркленда из клиники Майо показало, что введение даже небольшого числа сенесцентных клеток здоровым молодым мышам может вызвать серьезные нарушения.»Это исследование убедительно показывает, что нацеливание на фундаментальные причины старения — в данном случае на клеточное старение у мышей — откладывает появление возрастных заболеваний, улучшает здоровье и продляет жизнь» — говорит Ричард Хоудс.Сенолитики — класс препаратов, которые избирательно уничтожают сенесцентные клетки. В этом исследовании Киркленд и команда использовали комбинацию препаратов dasatinib и quercetin. Dasatinib используется для лечения некоторых форм лейкемии, а quercetin содержится в некоторых фруктах и овощах (простите, я хуй знает, че это такое).Чтобы определить, вызывают ли сенесцентные клетки признаки старения, исследователи ввели одной группе мышей их, а другой, контрольной группе, не-сенесцентные. Через две недели у мышей, которым вводили сенесцентные клекти, наблюдалось снижение физической активности, силы, выносливости, наблюдалась потеря в весе. Кроме того, было замечено увелечение количества сенесцентных клеток, помимо тех, что были введены. Это говорит о распространении эффекта на здоровые клетки.Введение комбинации препаратов этим мышам замедлило ухудшения, демонстрируемые в скорости бега, выносливости и силе хвата.Потом исследователи вводили те же препараты старым, естественно стареющим мышам (20 месяцев) и наблюдали увеличение дневной физической активности, выносливости, силы и скорости.И наконец, введение этих препаратов очень старым мышам (24-27 месяцев) привело к продлению пост-терапийного срока жизни на 36% по сравнению с контрольной группой.Исследователи надеются, что текущие и будущие исследования докажут, что терапия сенолитиками сможет применяться не только для продления жизни пожилых людей, но и для лечения раковых больных, к которым применялись облучение и химиотерапия (которые активно вызывают клеточное старение).Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3568530″ }, «headline»: «Сенолитики исправляют повреждения, наносимые сенесцентными клетками и увеличивают продолжительность / омоложение :: старение :: сенесцентные клетки :: сенолитики», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/%D1%81%D1%82%D0%B0%D1%80%D0%B5%D0%BD%D0%B8%D0%B5-%D1%81%D0%B5%D0%BD%D0%B5%D1%81%D1%86%D0%B5%D0%BD%D1%82%D0%BD%D1%8B%D0%B5-%D0%BA%D0%BB%D0%B5%D1%82%D0%BA%D0%B8-%D0%BE%D0%BC%D0%BE%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5-%D1%81%D0%B5%D0%BD%D0%BE%D0%BB%D0%B8%D1%82%D0%B8%D0%BA%D0%B8-4581413.jpeg», «height»: 360, «width»: 539 }, «datePublished»: «2018-07-10T17:37:19+03:00», «dateModified»: «2018-07-10T17:37:19+03:00», «author»: { «@type»: «Person», «name»: «Mind's I» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «жизни старых мышей на 36%. И еще одна новость с пылу с жару. В Nature вышла статья, она платная, но краткое описание можно найти тут. Введение сенесцентных клеток мышам приводило к ухудшению здоровья и нарушениям функционирования (Это, к слову в ответ тому, кто говорил, что у молодого действуют ме» }
Комментировать 
Пост №3568530
Source: Joyreactor

Пост №3568524

Автор: AliaDen

ссылка на гифкуРазвернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3568524″ }, «headline»: «фермер :: одним ударом :: арбуз :: гиф анимация (гифки — ПРИКОЛЬНЫЕ gif анимашки)», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/%D0%B3%D0%B8%D1%84%D0%BA%D0%B8-%D1%84%D0%B5%D1%80%D0%BC%D0%B5%D1%80-%D0%BE%D0%B4%D0%BD%D0%B8%D0%BC-%D1%83%D0%B4%D0%B0%D1%80%D0%BE%D0%BC-%D0%B0%D1%80%D0%B1%D1%83%D0%B7-4581407.gif», «height»: 337, «width»: 600 }, «datePublished»: «2018-07-10T17:29:43+03:00», «dateModified»: «2018-07-10T17:29:43+03:00», «author»: { «@type»: «Person», «name»: «AliaDen» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3568524
Source: Joyreactor

Пост №3568523

Автор: Eworld

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3568523″ }, «headline»: «экипаж :: b-29 :: авиация :: ВМВ», «image»: { «@type»: «ImageObject», «url»: «http://img0.joyreactor.cc/pics/post/full/b-29-%D0%B0%D0%B2%D0%B8%D0%B0%D1%86%D0%B8%D1%8F-%D1%8D%D0%BA%D0%B8%D0%BF%D0%B0%D0%B6-%D0%92%D0%9C%D0%92-4581406.jpeg», «height»: 1072, «width»: 1280 }, «datePublished»: «2018-07-10T17:28:11+03:00», «dateModified»: «2018-07-10T17:28:11+03:00», «author»: { «@type»: «Person», «name»: «Eworld» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3568523
Source: Joyreactor

Пост №3568521

Автор: GraySkull

Памятка Гвардейца №3″Вот, бойцы, новые брошюры прямиком с Терры. Тут про наше оружие написали! Я же говорил, что наши стволы самые лучшие, а вы не верили!».Другие работы автора в группе: https://vk.com/club131798316Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»http://wh.reactor.cc/post/3568521″ }, «headline»: «Памятка Гвардейца №3 / Catachan :: Death Korps of Krieg :: Cadian :: Astra Militarum (Imperial Guard, ig) :: wh humor :: Chaos cultists :: cultist chan :: Wh Песочница :: Chaos (Wh 40000) :: Imperium (Империум) :: Wh Other :: Warhammer 40000 (warhammer40000, warhammer40k, warhammer 40k, ваха, сорокотысячник) :: Gray-Skull :: artist :: cultist-chan :: Памятка Гвардейца :: lasgun :: сделал сам (нарисовал сам, сфоткал сам, написал сам, придумал сам, перевел сам) :: фэндомы», «image»: { «@type»: «ImageObject», «url»: «http://img0.joyreactor.cc/pics/post/full/Warhammer-40000-%D1%84%D1%8D%D0%BD%D0%B4%D0%BE%D0%BC%D1%8B-Gray-Skull-artist-4581398.jpeg», «height»: 2067, «width»: 1400 }, «datePublished»: «2018-07-10T17:27:30+03:00», «dateModified»: «2018-07-10T17:27:30+03:00», «author»: { «@type»: «Person», «name»: «GraySkull» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «"Вот, бойцы, новые брошюры прямиком с Терры. Тут про наше оружие написали! Я же говорил, что наши стволы самые лучшие, а вы не верили!".Другие работы автора в группе: https://vk.com/club131798316» }
Комментировать 
Пост №3568521
Source: Joyreactor

Пост №3568509

Автор: Jurashz

Самый драматический момент «Звездных войн» – это когда Дарт Вейдер снял маску и объявил Люку, что он его бацька.СоусРазвернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»http://sw.reactor.cc/post/3568509″ }, «headline»: «Самый драматический момент «Звездных войн» – это когда Дарт Вейдер снял маску и объявил Люку, что он / Дарт Вейдер :: SW Персонажи :: Беларусь :: Звездные Войны (Star Wars) :: страны :: бацька :: фото :: лукашенко :: фэндомы», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/%D0%91%D0%B5%D0%BB%D0%B0%D1%80%D1%83%D1%81%D1%8C-%D1%81%D1%82%D1%80%D0%B0%D0%BD%D1%8B-%D0%B1%D0%B0%D1%86%D1%8C%D0%BA%D0%B0-%D1%84%D0%BE%D1%82%D0%BE-4581375.jpeg», «height»: 521, «width»: 960 }, «datePublished»: «2018-07-10T17:18:20+03:00», «dateModified»: «2018-07-10T17:18:20+03:00», «author»: { «@type»: «Person», «name»: «Jurashz» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «его бацька. Соус» }
Комментировать 
Пост №3568509
Source: Joyreactor