[Из песочницы] А вы знаете где можно применить expression's в вашем проекте или оптимизация создания тестов

0. Лирика

Поговорим про unit тестирование. Для больших и возрастных проектов весьма актуальна проблема «толстых» сервисов. Я сейчас говорю про большое количество зависимостей передаваемых в конструктор. Если к этому добавить несколько десятков методов, которые необходимо тестировать, становится очевидно, что тратится много времени на мокирования ненужных частей. Решить проблему поможет автоматизация,. т.е. создание экземпляра необходимого типа и мокирование неиспользованных зависимостей в процессе выполнения.

Получается нам нужно

var myService = new MyService(A.Fake<ISevice1>(), new Sevice2(), 
               A.Fake<ISevice3>(), A.Fake<ISevice4>(), 
               A.Fake<ISevice5>(), A.Fake<ISevice6>())

заменить на нечто похожее. Напоминает паттерн builde, не так ли?

 var myService = GetInstance<MyService>().With(new Sevice2()).Subject;

Главное не переборщить с автоматизацией. Производительность тоже важна, особенно если в проекте несколько десятков тысяч тестов, которые будут запускаться как локально, так и в настроенном CI.

Разумеется нам не обойтись без рефлексии.
Читать дальше →
[Из песочницы] А вы знаете где можно применить expression's в вашем проекте или оптимизация создания тестов
Source: habrahabr

Пост №3424628

Автор: JetCat

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3424628″ }, «headline»: «из сказки :: котэ (прикольные картинки с кошками)», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/%D0%BA%D0%BE%D1%82%D1%8D-%D0%B8%D0%B7-%D1%81%D0%BA%D0%B0%D0%B7%D0%BA%D0%B8-4347663.jpeg», «height»: 780, «width»: 1040 }, «datePublished»: «2018-03-07T15:45:42+03:00», «dateModified»: «2018-03-07T15:45:42+03:00», «author»: { «@type»: «Person», «name»: «JetCat» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3424628
Source: Joyreactor

[Перевод] Всё простое опять стало сложным

Это выступление состоялась 12 октября 2017 года на конференции Mirror Conf в Браге (Португалия) и ещё раз 9 февраля 2018 года на Awwwards Conference в Берлине.

Этим летом после лекции на веб-конференции у меня состоялась увлекательная беседа с молодой студенткой, которая изучает цифровой дизайн. Было интересно сравнить наши карьерные пути. У меня пятнадцать лет опыта дизайна для веб-клиентов, у неё — один год, но каким-то образом мы оказались в одинаковой ситуации: мы наслаждались работой, но были совершенно дезориентированы и обескуражены быстро растущей сложностью всего вокруг. Что за ерунда произошла? (Конечно, это риторический вопрос).

Для нас обоих стало облегчением взаимно признаться в разочаровании и замешательстве. И мне стало интересно — эта какая-то смешная ситуация или тут серьёзная тема. Ни у кого из нас не было ответа, но спустя немного времени мне стало понятно, что мы оба должны сделать. Я бы хотел сегодня продолжить этот разговор и попытаться сформулировать свою точку зрения по поводу этой неразберихи и во что она нам обходится.
Читать дальше →
[Перевод] Всё простое опять стало сложным
Source: habrahabr

Пост №3424613

Автор: Nasmork

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3424613″ }, «headline»: «летя#. OsmAK+s / Joan Cornella :: Смешные комиксы (веб-комиксы с юмором и их переводы)», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/Joan-Cornella-%D0%9A%D0%BE%D0%BC%D0%B8%D0%BA%D1%81%D1%8B-4347639.jpeg», «height»: 842, «width»: 595 }, «datePublished»: «2018-03-07T15:20:34+03:00», «dateModified»: «2018-03-07T15:20:34+03:00», «author»: { «@type»: «Person», «name»: «Nasmork» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3424613
Source: Joyreactor

Работа с Anaconda на примере поиска корреляции курсов криптовалют

Цель этой статьи — предоставить легкое введение в анализ данных с использованием Anaconda. Мы пройдем через написание простого скрипта Python для извлечения, анализа и визуализации данных по различным криптовалютам.
Читать дальше →
Работа с Anaconda на примере поиска корреляции курсов криптовалют
Source: habrahabr

Что мы читали в феврале: исходники Angular, итоги года в цифрах, распознавание кадров и другие полезные ссылки

У нас больше тысячи сотрудников в разных отделах и с разными интересами. Иногда они делятся друг с другом полезными, интересными или просто забавными ссылками в корпоративном слаке. Я провел месяц, мониторя наши основные каналы, и собрал самые любопытные из них  — получилась экспериментальная сборная солянка рекомендаций от разработки, маркетинга, аналитики, медиасервисов и руководства. Надеюсь, что читатели Хабры найдут тут что-нибудь полезное на выходные и для себя.

Читать дальше →
Что мы читали в феврале: исходники Angular, итоги года в цифрах, распознавание кадров и другие полезные ссылки
Source: habrahabr

Пост №3424605

Автор: iSiNNeR

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»http://wh.reactor.cc/post/3424605″ }, «headline»: «Смотри ка Здоровенный сука! / Tau Drone :: wh humor :: Wh Other :: Wh Песочница :: Tau Empire (Tau, Тау) :: Warhammer 40000 (warhammer40000, warhammer40k, warhammer 40k, ваха, сорокотысячник) :: здоровенный сука :: дрон :: юмор (юмор в картинках) :: тау :: фэндомы», «image»: { «@type»: «ImageObject», «url»: «http://img0.joyreactor.cc/pics/post/full/Warhammer-40000-Wh-%D0%9F%D0%B5%D1%81%D0%BE%D1%87%D0%BD%D0%B8%D1%86%D0%B0-%D1%84%D1%8D%D0%BD%D0%B4%D0%BE%D0%BC%D1%8B-%D1%8E%D0%BC%D0%BE%D1%80-4347626.jpeg», «height»: 600, «width»: 1000 }, «datePublished»: «2018-03-07T15:14:01+03:00», «dateModified»: «2018-03-07T15:14:01+03:00», «author»: { «@type»: «Person», «name»: «iSiNNeR» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3424605
Source: Joyreactor

Пост №3424604

Автор: wizzard2k

странные подружкиhttps://www.instagram.com/p/Bf_nxxRH91l/?taken-by=brittanie.nashhttps://www.instagram.com/p/BaM2M6WHlKc/?taken-by=brittanie.nashссылка на гифкуРазвернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3424604″ }, «headline»: «странные подружкиhttps://www. / девушки :: розыгрыш :: NSFW :: гиф анимация (гифки — ПРИКОЛЬНЫЕ gif анимашки)», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/%D0%B3%D0%B8%D1%84%D0%BA%D0%B8-%D0%B4%D0%B5%D0%B2%D1%83%D1%88%D0%BA%D0%B8-%D1%80%D0%BE%D0%B7%D1%8B%D0%B3%D1%80%D1%8B%D1%88-NSFW-4347625.gif», «height»: 517, «width»: 469 }, «datePublished»: «2018-03-07T15:10:27+03:00», «dateModified»: «2018-03-07T15:10:27+03:00», «author»: { «@type»: «Person», «name»: «wizzard2k» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «instagram.com/p/Bf_nxxRH91l/?taken-by=brittanie.nash https://www.instagram.com/p/BaM2M6WHlKc/?taken-by=brittanie.nash» }
Комментировать 
Пост №3424604
Source: Joyreactor

Настройка динамического dhcp-pool с привязкой к определенным портам Cisco Catalyst

Так сложилось, что сеть у меня построена таким образом, что IP-адреса выдаются только тем
клиентам, чьи MAC-адреса прописаны в самописной системе управления сетью и учета трафика (назвать это биллингом язык не поворачивается).

Спустя несколько лет я понял, что диапазон сети 192.168.0.0/21 забит практически под завязку, причем большинство прописанных в БД системы управления MAC-адресов — это адреса устройств Wi-Fi пользователей, зачастую уже давно забытых и не используемых.

В итоге было решено выделить диапазон 192.168.7.0/24 только конкретно под Wi-Fi устройства с динамическим выделением адресов.

Для этого я вычислил на всех свитчах Cisco все точки доступа Wi-Fi по портам и прописал их в классы на dhcp-сервере (используется isc-dhcpd под Linux).

Схема сети:

image
Читать дальше →
Настройка динамического dhcp-pool с привязкой к определенным портам Cisco Catalyst
Source: habrahabr