Понятие «архитектура чистого кода» (Clean Code Architecture) ввел Роберт Мартин в блоге 8light. Смысл понятия в том, чтобы создавать архитектуру, которая не зависела бы от внешнего воздействия. Ваша бизнес-логика не должна быть объединена с фреймворком, базой данных или самим вебом. Подобная независимость даёт ряд преимуществ. К примеру, при разработке вы сможете откладывать какие-то технические решения, например выбор фреймворка, движка/поставщика БД. Также вы сможете легко переключаться между разными реализациями и сравнивать их. Но самое важное преимущество такого подхода — ваши тесты будут выполняться быстрее.
Просто подумайте об этом. Вы действительно хотите пройти роутинг, подгрузить абстрактный уровень базы данных или какое-нибудь ORM-колдовство? Или просто выполнить какой-то код, чтобы проверить (assert) те или иные результаты?
Сегодня мы решили взглянуть на ситуацию с Java- и Python-разработчиком, который задумался о «погружении» в тему DevOps в тот момент, когда он начал все больше отдаляться от привычных инструментов в пользу работы с Oracle Weblogic и shell-скриптами. Он решил совместить свой опыт в области разработки с новым опытом в работе с процессами.
Мы посмотрели на основные советы экспертов в области DevOps на Quora и дополнили рассказ примерами из опыта команды 1cloud.
На днях JetBrains после пятилетней работы выпустила первый релиз языка Kotlin. Давайте посмотрим, что же это за язык, попробуем разобраться зачем и для кого он, какие имеет функциональные особенности. Скорее всего в статью затесались и личные впечатления от языка, но я старался, чтобы они не влияли на изложение полезной информации. Если вы еще ничего или почти ничего не знаете о Kotlin, то я завидую вам, ибо по моему ощущению почитать про инструмент, который ты долго ждал, сродни распаковке новогоднего подарка. Впрочем судите сами.
В Академическом университете постоянно внедряются новые подходы к обучению. Программы, задания и сам процесс меняются таким образом, чтобы предоставить студенту наиболее полные и актуальные знания, а преподавателю – возможность попробовать более эффективные методы. Так и в прошлом семестре вместо того, чтобы принимать ДЗ по Java "на А4 и по ГОСТу", мы с bintree решили сделать все "как у больших дядей": использовать Git, CI и code review. В этой заметке я поделюсь с вами возникшими проблемами, их решениями, плюсами-минусами такого подхода, а также некоторыми соображениями на будущее.
23 декабря 2015 года Государственной думой в 3м чтении был принят проект ФЗ-445 об изменении в 63-ФЗ «об электронной подписи». Так как многие коллеги еще не знакомы с этим законом, хотелось бы донести и рассказать чего коснутся изменения и как он повлияет на развитие единого пространства доверия в Российской Федерации. Но обо всем по порядку.
До настоящего момента, каждый удостоверяющий центр (далее УЦ), после прохождения аккредитации САМ выпускал себе ключевую пару (открытый и закрытый ключи УЦ) и сертификат проверки ключа электронной подписи (далее сертификат). Основной особенностью сертификата было то, что он был выпущен самим УЦ и подписан его подписью (такой вариант сертификата называется «самоподписанный»). Далее этот сертификат предоставлялся оператору Головного удостоверяющего центра Российской федерации (далее ГУЦ), где, данный самоподписанный сертификат включался в доверенные и ГУЦ публиковался на портале ГУЦ как доверенный.
В итоге такой схемы взаимодействия УЦ с ГУЦ мы получали изоляцию пространств доверия каждого отдельного УЦ, так как все операционные системы и прикладное ПО проводят проверку сертификата ключа по цепочке сертификации, до тех пор, пока издатель сертификата не совпадет с владельцем сертификата. Таким образом получалась картина, что для того чтобы два пользователя с сертификатами двух разных УЦ доверяли друг другу, им было необходимо добавить сертификаты УЦ друг друга в доверенные. Тут специалисты мне вежливо укажут на кросс-сертификаты между УЦ, но я уверенно отвечу – это костыли, и объясню почему: Представьте, что вы в сети интернет и вы ходите от одного узла сети к другому, каждый из которых использует сертификат своего УЦ. Тогда, для обеспечения доверия всем узлам (они и правда доверенные) вам придётся иметь у себя локально сертификаты всех УЦ в Российской Федерации. Более того, вам придётся их самостоятельно поддерживать в актуальном состоянии. Оно вам надо?
Visual Studio 2015 с обновлением 1 включает в себя ряд улучшений и исправлений. В этой публикации мы сконцентрируем внимание на двух улучшениях, способных существенно повысить общую производительность разработки ПО.
Параллельное выполнение тестов
Тестовое ядро Visual Studio 2015 Update 1 способно параллельно выполнять тестовые сборки, что существенно повышает производительность тестирования. По умолчанию этот режим отключен, поэтому Вам необходимо включить его.
Система параллельно выполняет тестовые сборки на указанном вами количестве ядер — вплоть до всех ядер вашего компьютера. Разумеется, при наличии единственного тестового проекта это не дает никаких преимуществ. Данное решение предназначено для проектов значительного масштаба. Оно не зависит от типа используемой тестовой платформы и работает с MSTest, NUnit 2, NUnit 3 и XUnit. Этот механизм полностью независим от поддержки параллелизма базовой платформой.
На Хабре, по меркам старожилов, я совсем недавно, всего два года, но пишу активно, по возможности каждый день. Так вот, читая статьи, да и просто прокручивая ленту свежих публикаций как на Хабре, так и на GT, я понял, что многие просто не могут совладать с версткой текста и, как следствие, достаточно часто годные публикации хоронятся их же авторами из-за нечитабельности текста. Или отпугивает кривая КДПВ, или еще что произойдет.
Возможно, для опытных авторов пост покажется капитанским, мелочным, или еще каким, ведь главное содержание, но тем, кто хочет пройти песочницу и влиться в Хабра-сообщество, я уверен, он поможет не только написать что-то полезное, но и красиво свой труд преподнести.
Картинка Для Привлечения Внимания и выравнивание по левому краю
Так уж сложилось, что вся лента Хабрахабра выровнена по левому краю. По этой причине опытные авторы небольшие изображения оставляют слева или используют картинки шириной в 800-1000 px. Отдельно хочется заметить, что чуть ли не лучшим является соотношение КДПВ 2 к 1, т.е. изображения 800х400 px. Подобная пропорция позволяет SMM-щику соц. сетей не изгаляться с вашей картинкой (а то и вовсе искать что-то другое, более подходящее по размерам), а использовать оригинал, не нарушая задумки автора.
На этой неделе случилось важное для нас событие — вышла первая версия языка программирования Kotlin! Так как почти вся разработка Kotlin велась в Питерском офисе компании JetBrains, многие хабровчане уже знают, что такое Kotlin и пробовали его на практике, поэтому этот пост больше для комментариев: задавайте любые вопросы и команда Kotlin ответит. Мы онлайн!
В основе «пирамиды потребностей» тех, кому нужны Android-приложения для работы со звуком, лежит скорость реакции системы на действия пользователя. Предположим, некая программа быстро запустится и покажет прекрасную картинку с клавиатурой рояля. Для начала — неплохо, но если моменты касания клавиш и начала звучания (пусть – просто восхитительного) разделяет заметное время, программу закроют и больше к ней не вернутся.
Поговорим об особенностях воспроизведения звука с высокой скоростью отклика на Android-устройствах, основанных на процессорах Intel Atom (Bay Trail). Применённый подход можно использовать и на других платформах от Intel. Здесь мы рассматриваем Android 4.4.4., подобное исследование для платформы Android M ещё находится в работе.