Как стать автором
Обновить
10
0
Илья Слободин @ISL

Пользователь

Отправить сообщение

Регрессионные тесты на утечки памяти, или как написать memory profiler для .NET приложений

Время на прочтение 8 мин
Количество просмотров 9.8K

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


Автоматизированное регрессионное тестирование ошибок уже давно стало мейнстримом индустрии разработки качественного ПО. Такие тесты помогают не допустить попадание ошибки к пользователю, а также по горячим следам разобраться, какое изменение в коде привело к ошибке, тем самым минимизировав время ее исправления.


Почему бы нам не применить такой же подход к утечкам памяти?


Читать дальше →
Всего голосов 10: ↑9 и ↓1 +8
Комментарии 12

Winium.Desktop: Selenium для desktop-приложений под Windows

Время на прочтение 7 мин
Количество просмотров 50K

Привет, меня зовут Глеб, и я занимаюсь автоматизацией тестирования в 2ГИС. Больше года назад я писал о нашем инструменте Cruciatus — с его помощью мы тестируем UI desktop-приложений под Windows.

Cruciatus отлично решает задачу доступа к контролам, но тесты пишутся строго на C#. Это мешает шарить знания и опыт между тестировщиками под разные платформы: mobile, web и desktop.

Решение мы увидели в Selenium — пожалуй, самом известном инструменте для автоматизации тестирования. В этой статье я расскажу, как мы скрестили Cruciatus и Selenium и как тестировать интерфейс Windows desktop-приложений с помощью привычных Selenium-биндингов.
Читать дальше →
Всего голосов 17: ↑16 и ↓1 +15
Комментарии 10

Автоматизация тестирования UI. От Coded UI к Cruciatus

Время на прочтение 4 мин
Количество просмотров 23K
Как вы знаете, 2ГИС помогает найти самую разную актуальную информацию об организациях города. Она собирается из различных источников при помощи специализированных продуктов, с которыми работают картографы 2ГИС, специалисты call-центра и отдела продаж. Эти продукты мы называем внутренними, и кроме сбора информации они также умеют её обрабатывать, фильтровать, объединять и выгружать в нужных форматах конечным приложениям 2ГИС.

Внутренние продукты разрабатывают отдельные проектные команды, в основном, на стеке технологий Microsoft. Для отрисовки графического интерфейса используется WPF или наследственный WinForms. Одни приложения построены на элементах управления из «коробки», другие используют, например, библиотеку AvalonDock. Так же встречаются приложения, разработанные на платформе Catel.

Такое разнообразие порождает проблемы автоматизации тестирования. Мы их успешно решили в рамках проекта Cruciatus — собственного фреймворка, который позволяет упростить разработку тестов для проверки пользовательского интерфейса.

Несмотря на название, Cruciatus вполне легален и за его использование вас не упекут в Азкабан. В этой статье мы расскажем о Сruciatus подробнее.
Читать дальше →
Всего голосов 21: ↑20 и ↓1 +19
Комментарии 9

Команда разработчиков Renga: как мы достигли идиллии, работая без менеджеров

Время на прочтение 7 мин
Количество просмотров 20K
7 команд и ни одного менеджера – думаете, такое возможно? Мы построили процесс, в котором показываем на каждом демо по 1-2 фичи от команды, проводим ретро команд, ретро релизов и при этом получаем реальное удовольствие от работы. Хотите организовать свою работу так же? Тогда добро пожаловать под кат.



Мы, компания Renga Software, занимаемся разработкой программных продуктов для проектирования зданий и сооружений в соответствии с технологией информационного моделирования (BIM). Идем спринтами, выпускаем релизы каждые 3-4 месяца. Пользователей системы с каждой неделей становится всё больше. Продукт совсем молодой, поэтому бэклог переполнен важными, а главное, интересными задачами. Но как в короткие сроки разработать продукт, который будет использоваться для проектирования жилых домов, детских садов, больниц и театров?
Читать дальше →
Всего голосов 25: ↑24 и ↓1 +23
Комментарии 29

«Лицо без шрама» или первые шаги в Multicad.NET API 7 (для Nanocad 8.1)

Время на прочтение 14 мин
Количество просмотров 8.8K
Волею судеб сложилось так, что для одного из моих хобби, мне понадобилось ковыряться в API к отечественной САПР Nanocad, при этом, не имея каких-то практических навыков в разработке для САПР.

И если пару лет назад в аналогичной ситуации, когда я чисто ради любопытства решил посмотреть API для Revit, проблем вообще никаких не возникало, то с Нанокадом было всё не так просто.

В память и со всем уважением к Михаилу Николаевичу, можно сказать: «Наберите воздуха в грудь…» эти американцы разместили у себя на сайте в открытом доступе… инструкцию по началу работы! Какие же они там все ту… в общем вы поняли, это вам не «лук в колготках хранить».

Но мы с вами как порядочные люди не будем ругать людей, которые дали нам бесплатно вполне вменяемый продукт и доступ к средствам разработки, просто попробуем им немножко помочь, тем более что последняя публикация по MultiCad. NET API была в блоге Nanosoft на Хабре, почти два года назад и надо немного заполнить вакуум.

К сожалению, как полный новичок в этом вопросе я не смогу дать вам материал действительно достойного качества, но по крайней мере мы рассмотрим те вопросы, на которых у меня сразу случился «затык». Получится, как и в прошлом цикле по Data Science статья от новичка – новичкам.

План примерно такой: пару слов о Нанокад, немного в целом о программировании под Нанокад и в конце написание примитивной команды с помощью MultiCAD .NET API 7 (для Nanocad 8.X).

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


Читать дальше →
Всего голосов 11: ↑10 и ↓1 +9
Комментарии 18

Teigha for Architecture: First project

Время на прочтение 37 мин
Количество просмотров 10K
В статьях AutoCAD Architecture: First project и Введение в ACA я кратко рассказал о том что такое AutoCAD Architecture (ACA), чем он отличается от обычного Автокада, какие в нем реализованы объекты и показал простейший случай работы со стенами из .NET плагина.

В данной статье я расскажу о библиотеке Teigha — альтернативе для работы с dwg файлами и объектами ACA. Мы напишем небольшой пример, который создает дом из ACA-объектов и сохраняет его в dwg файл. Затем, попробуем открыть этот файл в AutoCAD Architecture и проверить, совместимы ли эти файлы с оригинальным Автокадом.



Читать дальше →
Всего голосов 6: ↑6 и ↓0 +6
Комментарии 4

Советы и рекомендации по развёртыванию процесса автоматизация тестирования с нуля

Время на прочтение 23 мин
Количество просмотров 87K

Предисловие


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

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

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

P.S.: И последнее — данный текст бы никогда не сформировался, если бы не полезные лекции Алексея Баранцева и Натальи Руколь, а также пропасть информации, написанная добрыми людьми за последние годы по данной теме.

Вот теперь всё, вы предупреждены — можно начинать рассказ.
Читать дальше →
Всего голосов 22: ↑20 и ↓2 +18
Комментарии 11

AutoCAD Architecture: First project

Время на прочтение 7 мин
Количество просмотров 12K
В линейке продуктов от Autodesk, кроме базового AutoCAD, существует много специализированных продуктов, оптимизированных под различные сферы проектирования. Одним из таких продуктов является AutoCAD Architecture (ACA). Аналогично AutoCAD, для AutoCAD Architecture возможно написание плагинов на .NET. Кроме библиотек от Autodesk для работы с объектами AutoCAD Architecture можно пользоваться C++ библиотекой Teigha Architecture от Open Design Alliance, которая позволяет загружать, отрисовывать и манипулировать архитектурными объектами.

Я хочу написать серию tutorial-ов, демонстрирующих работу с архитектурными объектами с помощью Autodesk .NET API и Teigha Architecture. Начнем с самых азов: соберем и заставим работать упражнение “your first project” из документации к ACA, а затем немного расширим его для использования объектов Autodesk.Aec.Arch.DatabaseServices.Wall.

image
Читать дальше →
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 5

Как быстро раздать wifi с ноутбука — 3 простых команды

Время на прочтение 2 мин
Количество просмотров 718K
Периодически я сталкиваюсь с ситуациями, когда необходимо быстро настроить раздачу интернета через WiFi со своего ноутбука и под рукой нет специальной программы. Вот и сейчас мой роутер приказал долго жить и оставил дом без интернета. А не так давно телефон друга отказался подключаться к моему роутеру и мы быстро организовали дополнительный wifi-сигнал с моего ноута, что спасло ситуацию.

И помогают мне в этом 3 команды:
netsh wlan set hostednetwork mode=allow
netsh wlan set hostednetwork mode=allow ssid=FastWifi key=12345678 keyUsage=persistent
netsh wlan start hostednetwork

Под катом я детально расскажу как и что нужно делать и покажу на примере настройки Windows 7.

Читать дальше →
Всего голосов 66: ↑39 и ↓27 +12
Комментарии 21

Каких ответов я жду на собеседовании по тестированию

Время на прочтение 15 мин
Количество просмотров 898K
Я провожу собеседования на тестировщиков. У меня иногда болит голова.

Долго собирался написать статью… И вот, наконец, выполнил свое намерение. Вопросы, поднимаемые в статье, обсуждались уже не раз и не два, но усердные поиски компиляции ответов на эти вопросы так и не увенчались успехом. Но, как подсказывает мой опыт, такая компиляция очень нужна. Прежде всего она требуется юниорам, ибо в сети по запросу «тестирование» на них (соискателей) обрушивается огромный объем информационного мусора, который плохо структурирован и часто противоречит сам себе.
Читать дальше →
Всего голосов 64: ↑43 и ↓21 +22
Комментарии 70

Введение в курс «Анализ изображений и видео». Лекции от Яндекса

Время на прочтение 8 мин
Количество просмотров 69K
Мы начинаем публиковать лекции Натальи Васильевой, старшего научного сотрудника HP Labs и руководителя HP Labs Russia. Наталья Сергеевна читала курс, посвящённый анализу изображений, в петербургском Computer Science Center, который создан по совместной инициативе Школы анализа данных Яндекса, JetBrains и CS клуба



Всего в программе — девять лекций. В первой из них рассказывается о том, как применяется анализ изображений в медицине, системах безопасности и промышленности, какие задачи оно еще не научилось решать, какие преимущества имеет зрительное восприятие человека. Расшифровка этой части лекций — под катом. Начиная с 40-й минуты, лектор рассказывает об эксперименте Вебера, представлении и восприятии цвета, цветовой системе Манселла, цветовых пространствах и цифровых представлениях изображения. Полностью слайды лекции доступны по ссылке.
Читать дальше →
Всего голосов 60: ↑54 и ↓6 +48
Комментарии 5

Основы пространственной и частотной обработки изображений. Лекции от Яндекса

Время на прочтение 18 мин
Количество просмотров 62K
Мы продолжаем публиковать лекции Натальи Васильевой, старшего научного сотрудника HP Labs и руководителя HP Labs Russia. Наталья Сергеевна читала курс, посвящённый анализу изображений, в петербургском Computer Science Center, который создан по совместной инициативе Школы анализа данных Яндекса, JetBrains и CS-клуба.



Всего в программе — девять лекций. Первая из них уже была опубликована. В ней рассказывалось о том, в каких областях встречается анализ изображений, его перспективах, а также о том, как устроено наше с вами зрение. Вторая лекция посвящена основам обработки изображений. Речь пойдет о пространственной и частотной области, преобразовании Фурье, построении гистограмм, фильтре Гаусса. Под катом — слайды, план и дословная расшифровка лекции.
Читать дальше →
Всего голосов 51: ↑48 и ↓3 +45
Комментарии 9

Разработка .NET-приложений для AutoCAD в рамках архитектуры MVC

Время на прочтение 7 мин
Количество просмотров 3.6K
Не секрет, что на сегодняшний день AutoCAD — наиболее популярная САПР, которая используется во многих отраслях человеческой деятельности. В базовой поставке она позволяет выполнять чертежные работы любого назначения с использованием только штатных средств.

Однако чистый AutoCAD – как графическое ядро в базовой комплектации – постепенно теряет свою актуальность. Происходит это потому, что сегодня пользователю важно проектировать взаимосвязанные объекты предметной области (стены, профили железной дороги, колеса…), а не графические примитивы на чертеже (точки, линии, окружности…); причем проектировать быстро, качественно и в соответствие со стандартами, действующими в той или иной стране и отрасли.

Естественно, все, что требуется конечным пользователям во всех странах, фирма Autodesk включить в состав системы AutoCAD, не могла, поэтому в AutoCAD были внедрены средства программирования, позволяющие пользователям самостоятельно адаптировать его к собственным нуждам [1].
Читать дальше →
Всего голосов 21: ↑17 и ↓4 +13
Комментарии 5

Автоматизация работы в nanoCAD с помощью Visual Basic for Applications

Время на прочтение 6 мин
Количество просмотров 20K
В статье рассмотрен один из вариантов автоматизации работы проектировщиков в САПР nanoCAD, позволяющий в значительной степени использовать параметризацию построений и сокращать сроки выполнения различных задач.



Многие проектировщики используют MS Excel для выполнения математических вычислений в табличной форме. Однако, функционал программы этим не ограничивается. С помощью встроенного в продукты Microsoft Office языка программирования Visual Basic for Applications (VBA) можно взаимодействовать с объектной моделью nanoCAD (и другими продуктами на её платформе). В данной статье мы на простом и универсальном примере продемонстрируем такую возможность — создадим и настроим слои, начертим прямоугольник, проставим к нему размеры и добавим текст, содержащий значение площади фигуры.
Читать дальше →
Всего голосов 16: ↑13 и ↓3 +10
Комментарии 2

Первые пробы себя в проекте открытого образования в формате «Политех 2.0»

Время на прочтение 6 мин
Количество просмотров 13K
Доброго времени суток, Хабравчане!

image

В данном посте хотелось бы поделиться своими эмоциями и первым опытом в создании образовательных курсов по достаточно сложным техническим специальностям в авторском проекте открытого образования в формате «Политех 2.0». Сложным не столько по своей сути, сколько в вопросах восприятия молодыми людьми. Всех, кто неравнодушен к открытому техническому образованию — милости прошу под кат.
Читать дальше →
Всего голосов 25: ↑21 и ↓4 +17
Комментарии 7

Создание плагинов для AutoCAD с помощью .NET API (часть 1 – первые шаги)

Время на прочтение 10 мин
Количество просмотров 63K
Hello, Habr!

Решил рассказать о своем опыте работы с AutoCAD. Может быть, кому-то это поможет – ну или хотя бы интересным покажется.

public static string disclaimer = "Автор не является профессиональным разработчиком и не обладает глубокими знаниями AutoCAD. Этот пост – просто небольшой рассказ о начальном этапе создания плагина.";


Предыстория


Началось все достаточно просто: в очередной раз почувствовав острую нехватку денег, я решил, что пора бы уже начать их где-нибудь разыскивать. И вот после пары недель поиска на «Фрилансим» обнаружилась вакансия разработчика для создания программы, взаимодействующей с AutoCAD.

Скажу сразу: до того дня общаться с AutoCAD мне не доводилось. Однако объявление содержало в себе фразу «Опыт работы не требуется», которая наполнила мою душу надеждой. Я связался с разместившим вакансию человеком и получил тестовое задание.

Для пробы предлагалось создать на чертеже пару объектов, а также вывести текст. Несколько дней я искал информацию об API и пытался подружиться с непривычной программой. В конце концов фигуры были нарисованы, текст выведен, а тестовое задание отправлено на проверку. И через несколько дней я неожиданно узнал, что принят! Чудеса, да и только.

В следующих абзацах – мои впечатления, синяки и шишки, мысли и советы (возможно, вредные). Разработка велась под AutoCAD 2010, в качестве IDE использовалась верная Visual Studio 2013 Express. Язык разработки – C#.
Читать дальше →
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 14

Эпидемия онлайн-консультантов

Время на прочтение 5 мин
Количество просмотров 93K
image


В Рунете набирает обороты повальное увлечение онлайн-консультантами. Если раньше при активном серфигне они попадались на 1-2 сайтах, то теперь практически каждый сайт, продающий товары или услуги, встречает вас бездушным «Добрый день. Чем могу помочь?»

Я постарался проанализировал этот феномен на основе отзывов владельцев сайтов, их посетителей и своих личных ощущений. В первую очередь я рассматривал применение онлайн-консультантов в среде интернет-магазинов. В конце статьи даются краткие рекомендации для тех, кто собирается или уже установил консультанта себе на сайт.
Читать дальше →
Всего голосов 82: ↑73 и ↓9 +64
Комментарии 91

Управленческие поединки — технология обучения менеджеров, инструмент оценки и спорт

Время на прочтение 12 мин
Количество просмотров 58K
Страховая компания, оформляя полис, допустила ошибку в моих документах. Обнаружив ее, сотрудница пересчитала сумму и потребовала доплату в 10 тысяч. Если бы это произошло два-три года назад, я бы убеждал, волновался. Или просто заплатил. Сейчас же задал спокойно всего два вопроса, и полис мне оформили с новыми данными по прежней цене. Что помогло мне?

Моё хобби


Меня зовут Александр Садовский и последние пятнадцать лет я работаю менеджером и руководителем. Вначале всё было хорошо. Навыков управления проектами, экспертных знаний и здравого смысла хватало, чтобы решать все вопросы. Но в какой-то момент, когда я уже работал в Яндексе, с ростом масштаба задач и числа сотрудников я начал всё чаще сталкиваться с ситуациями, к которым непонятно было как подступиться. Постепенно я осознал, что мне не хватало именно управленческого опыта — принятия сложных решений, управления коллективом, разруливания конфликтных ситуаций. Я начал много читать, обучаться и вскоре открыл для себя новую тему — управленческие поединки.

Картина мира других людей полна неожиданностей

Сделать первый шаг за стол переговоров было трудно. Это стресс. А когда были зрители, поединки приобретали особый накал. Но я справился и уже через полгода стал участвовать в турнирах, а вскоре и побеждать. Например, в 2011 и 2013 году становился победителем Московского открытого турнира по быстрой управленческой борьбе, в 2012 и 2013 завоевывал Осенний кубок Москвы в классической управленческой борьбе.

И чем больше я погружался в это хобби, чем более тонкие нюансы ситуаций и управленческих ходов учился видеть, тем важнее мне казалось поделиться этим. И я нашел время, благо, есть повод.
Читать дальше →
Всего голосов 55: ↑46 и ↓9 +37
Комментарии 28

Создание patch’ей на Wix при помощи PatchWiz. Часть 2

Время на прочтение 13 мин
Количество просмотров 4.3K
image
Добрый день всем! В своей прошлой статье я поставил задачу генерации патчей и начал обзор технологии их создания на Wix (с использованием PatchWiz). Там же мы пришли к выводу, что для полноценного решения задачи нужно «что-то еще». Добро пожаловать в часть 2, где я опишу наши организационный и технический подходы со всеми исходниками.

Патчить по-крупному
Всего голосов 7: ↑6 и ↓1 +5
Комментарии 0

Создание patch’ей на Wix при помощи PatchWiz

Время на прочтение 7 мин
Количество просмотров 8.8K

Добрый день всем! Хочется поделиться со всеми своим опытом создания системы для генерации патчей (да простит меня читатель за использование этого слова). Про wix довольно много было написано здесь и я предполагаю, что читатель немного знаком с ним, а вот проблему создания патчей как-то обошли. В нашей же компании они нашли широкое применение, в основном из-за своего размера, а также из-за возможности отката.
Смотреть патчи
Всего голосов 17: ↑17 и ↓0 +17
Комментарии 7
1

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Работает в
Зарегистрирован
Активность