• [DotNetBook] Исключения: события об исключительных ситуациях

    • Tutorial

    С этой статьей я продолжаю публиковать целую серию статей, результатом которой будет книга по работе .NET CLR, и .NET в целом. За ссылками — добро пожаловать по кат.


    События об исключительных ситуациях


    В общем случае мы не всегда знаем о тех исключениях, которые произойдут в наших программах потому что практически всегда мы используем что-то, что написано другими людьми и что находится в других подсистемах и библиотеках. Мало того что возможны самые разные ситуации в вашем собственном коде, в коде других библиотек, так еще и существует множество проблем, связанных с исполнением кода в изолированных доменах. И как раз в этом случае было бы крайне полезно уметь получать данные о работе изолированного кода. Ведь вполне реальной может быть ситуация, когда сторонний код перехватывает все без исключения ошибки, заглушив их fault блоком:


        try {
            // ...
        } catch {
            // do nothing, just to make code call more safe
        }

    В такой ситуации может оказаться что выполнение кода уже не так безопасно как выглядит, но сообщений о том что произошли какие-то проблемы мы не имеем. Второй вариант — когда приложение глушит некоторое, пусть даже легальное, исключение. А результат — следующее исключение в случайном месте вызовет падение приложения в некотором будущем от случайной казалось бы ошибки. Тут хотелось бы иметь представление, какая была предыстория этой ошибки. Каков ход событий привел к такой ситуации. И один из способов сделать это возможным — использовать дополнительные события, которые относятся к исключительным ситуациям: AppDomain.FirstChanceException и AppDomain.UnhandledException.


    Данная статья — первая из четырех в цикле статей про исключения. Полный цикл:
    Архитектура системы типов
    Cобытия об исключительных ситуациях (эта статья)
    — Виды исключительных ситуаций
    — Сериализация и блоки обработки
    Читать дальше →
  • [DotNetBook] Span, Memory и ReadOnlyMemory

    • Tutorial

    Этой статьей я продолжаю публиковать целую серию статей, результатом которой будет книга по работе .NET CLR, и .NET в целом. За ссылками — добро пожаловать по кат.


    Memory<T> и ReadOnlyMemory<T>


    Визуальных отличий Memory<T> от Span<T> два. Первое — тип Memory<T> не содержит ограничения ref в заголовке типа. Т.е., другими словами, тип Memory<T> имеет право находиться не только на стеке, являясь либо локальной переменной либо параметром метода либо его возвращаемым значением, но и находиться в куче, ссылаясь оттуда на некоторые данные в памяти. Однако эта маленькая разница создает огромную разницу в поведении и возможностях Memory<T> в сравнении с Span<T>. В отличии от Span<T>, который представляет собой средство пользования неким буфером данных для некоторых методов, тип Memory<T> предназначен для хранения информации о буфере, а не для работы с ним.


    Эта статья — вторая из цикла про Span<T> и Memory<T>. Она является вводной для Memory<T> в том плане что здесь я решил расписать общую терминилогию, а вот примеры совместного использования — решил вывести в отдельную статью

    Читать дальше →
    • +38
    • 3,3k
    • 2
  • [DotNetBook] Исключения: архитектура системы типов

    • Tutorial

    С этой статьей я продолжаю публиковать целую серию статей, результатом которой будет книга по работе .NET CLR, и .NET в целом. За ссылками — добро пожаловать по кат.


    Архитектура исключительной ситуации


    Наверное, один из самых важных вопросов, который касается темы исключений — это вопрос построения архитектуры исключений в вашем приложении. Этот вопрос интересен по многим причинам. Как по мне так основная — это видимая простота, с которой не всегда очевидно, что делать. Это свойство присуще всем базовым конструкциям, которые используются повсеместно: это и IEnumerable, и IDisposable и IObservable и прочие-прочие. С одной стороны, своей простотой они манят, вовлекают в использование себя в самых разных ситуациях. А с другой стороны, они полны омутов и бродов, из которых, не зная, как иной раз и не выбраться вовсе. И, возможно, глядя на будущий объем у вас созрел вопрос: так что же такого в исключительных ситуациях?


    Данная статья — первая из четырех в цикле статей про исключения. Полный цикл:
    Архитектура системы типов (эта статья)
    — Cобытия об исключительных ситуациях
    — Виды исключительных ситуаций
    — Сериализация и блоки обработки
    Читать дальше →
  • [DotNetBook] Span: новый тип данных .NET

    • Tutorial

    С этой статьей я продолжаю публиковать целую серию статей, результатом которой будет книга по работе .NET CLR, и .NET в целом (уже готово около 200 страниц книги, так что добро пожаловать в конец статьи за ссылками).


    Как язык, так и платформа существуют уже много лет: и все это время существовало множество средств для работы с неуправляемым кодом. Так почему же сейчас выходит очередной API для работы с неуправляемым кодом если по сути он существовал уже много-много лет? Для того чтобы ответить на этот вопрос достаточно понять чего не хватало нам раньше.


    Разработчики платформы и раньше пытались нам помочь скрасить будни разработки с использованием неуправляемых ресурсов: это и автоматические врапперы для импортируемых методов. И маршаллинг, который в большинстве случаев работатет автоматически. Это также инструкция stackallloc, о которой говорится в главе про стек потока. Однако, как по мне если ранние разработчики с использованием языка C# приходили из мира C++ (как сделал это и я), то сейчас они приходят из более высокоуровневых языков (я, например, знаю разработчика, который пришел из JavaScript). А что это означает? Это означает что люди со все большим подозрением начинают относиться к неуправляемым ресурсам и конструкциям, близким по духу к C/C++ и уж тем более — к языку Ассемблера.


    Статья хоть и большая, но является вводной в тему Span<T> и Memory<T>

    Читать дальше →
  • [DotNetBook] Stackalloc: забытая команда C#

    • Tutorial
    С этой статьей я продолжаю публиковать целую серию статей, результатом которой будет книга по работе .NET CLR, и .NET в целом. Вся книга будет доступна на GitHub (ссылка в конце статьи).

    В C# существует достаточно интересное и очень редко используемое ключевое слово stackalloc. Оно настолько редко встречается в коде (тут я даже со словом «редко» преуменьшил. Скорее, «никогда»), что найти подходящий пример его использования достаточно трудно а уж придумать тем более трудно: ведь если что-то редко используется, то и опыт работы с ним слишком мал. А все почему? Потому что для тех, кто наконец решается выяснить, что делает эта команда, stackalloc становится более пугающим чем полезным: темная сторона stackalloc — unsafe код. Тот результат, что он возвращает не является managed указателем: значение — обычный указатель на участок не защищенной памяти. Причем если по этому адресу сделать запись уже после того как метод завершил работу, вы начнете писать либо в локальные переменные некоторого метода или же вообще перетрете адрес возврата из метода, после чего приложение закончит работу с ошибкой. Однако наша задача — проникнуть в самые уголки и разобраться, что в них скрыто. И понять, в частности, что если нам дали этот инструмент, то не просто же так, чтобы мы смогли найти секретные грабли и наступить на них со всего маху. Наоборот: нам дали этот инструмент чтобы мы смогли им воспользоваться и делать поистине быстрый софт. Я, надеюсь, вдохновил вас? Тогда начнем.
    Читать дальше →
  • [DotNetBook] Стек потока. Его редактирование и клонирование потока

    • Tutorial
    С этой статьей я продолжаю публиковать целую серию статей, результатом которой будет книга по работе .NET CLR, и .NET в целом. Вся книга будет доступна на GitHub (ссылка в конце статьи). Так что Issues и Pull Requests как всегда приветствуются :)

    Существует область памяти, про которую редко заходит разговор. Однако эта область является, возможно, основной в работе приложения. Самой часто используемой, достаточно ограниченной с моментальным выделением и освобождением памяти. Область эта называется «стек потока». Причем поскольку указатель на него кодируется по своей сути регистрами процессора, которые входят в контекст потока, то в рамках исполнения любого потока стек потока свой. Зачем же он необходим? Давайте вместе окунемся в мир низкоуровневых структур, на основе которых работает все: начиная от DOS программ и заканчивая .NET Framework, установленным поверх Windows 10.

    Итак, разберем элементарный пример кода:

    void Method1()
    {
        Method2(123);
    }
    
    void Method2(int arg)
    {
        // ...
    }
    

    В данном коде не происходит ничего примечательного, однако не будем его пропускать, а наоборот: посмотрим на него максимально внимательно.
    Читать дальше →
  • [DotNetBook] Структура экземпляров типов и VMT

    • Tutorial
    С этой статьей я продолжаю публиковать целую серию статей, результатом которой будет книга по работе .NET CLR, и .NET в целом.

    Вся книга будет доступна на GitHub: CLR Book. Так что Issues и Pull Requests приветствуются :)

    Это — выжимка из главы про структуру типов и их VMT.

    Структура объектов в памяти


    До сих, говоря про разницу между значимыми и ссылочными типами, мы затрагивали эту тему с высоты конечного разработчика. Т.е. мы не смотрели на то как они в реальности устроены на уровне CLR, как сделаны те или иные механики внутри каждого из них. Мы смотрели фактически на конечный результат. Однако, чтобы понимать суть вещей глубже и чтобы отбросить в сторону последние оставшиеся мысли о какой-либо магии, происходящей внутри CLR стоит заглянуть в самые ее потроха.
    Читать дальше →
    • +33
    • 8,9k
    • 3
  • [DotNetBook] Особенности выбора class/struct. Свой boxing, превращение Int в структуру, пул боксинга

    • Tutorial
    С этой статьей я продолжаю публиковать целую серию статей, результатом которой будет книга по работе .NET CLR, и .NET в целом. Тема IDisposable была выбрана в качестве разгона, пробы пера. Теперь коснемся разницы между типами. Вся книга будет доступна на GitHub: DotNetBook. Так что Issues и Pull Requests приветствуются :)

    Это — выжимка из главы про Struct / Class и их разницу.

    Особенности выбора между class/struct


    Давайте подумаем об особенностях обоих типов, об их достоинствах и недостатках и решим, где ими лучше пользоваться. Тут, конечно же стоит вспомнить классиков, дающих утверждение что выбор в сторону значимых типов, стоит дать если у нас тип не планирует быть наследуемым, он не станет меняться в течении своей жизни, а его размер не превышает 16 байт. Но не все так очевидно. Чтобы сделать полноценное сравнение нам необходимо задуматься о выборе типа с разных сторон, мысленно продумав сценарии его будущего использования
    Читать дальше →
  • [DotNetBook] Реализация IDisposable: правильное использование

    • Tutorial
    С этой статьей я начинаю публиковать целую серию статей, результатом которой будет книга по работе .NET CLR, и .NET в целом. Тема IDisposable была выбрана в качестве разгона, пробы пера. Вся книга будет доступна на GitHub: DotNetBook. Так что Issues и Pull Requests приветствуются :)

    **UPD: статья доработана и многие комментарии уже не актуальны**. Лучше всего воспользоваться текстом самой книги: GitHub: CLRbook

    Disposing (Disposable Design Principle)



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

    IDisposable



    Если спросить, что такое IDisposable, вы наверняка ответите что это

    public interface IDisposable 
    {
    	void Dispose();
    } 
    


    Для чего же создан интерфейс? Ведь если у нас есть умный Garbage Collector, который за нас чистит всю память, делает так, чтобы мы вообще не задумывались о том, как чистить память, то становится не совсем понятно, зачем ее вообще чистить. Однако есть нюансы.
    Читать дальше →
  • Что мы ненавидим в собеседованиях?



      Все мы ходили по собеседованиям, разговаривали с представителями компаний и постоянно встречаемся с особенностями, которые рекрутеры либо культивируют, обучая друг друга, либо не обращают внимания, но при этом выглядят отталкивающими — со стороны человека, пришедшего в компанию. В моей 10-летней карьере я сменил порядка 10 компаний (в последней — Luxoft — уже 3 года, так что практику перебежчика закончил). И за это время провел как около 100 собеседований на стороне соискателя, так и порядка 150 — на стороне собеседующего, что дало мне возможность собрать Топ5 ошибок рекрутеров, которые могут так испортить собеседование, что я больше не захочу идти в компанию.
      Читать дальше →
    • Logeek Night в Воронеже



        Приглашаем вас посидеть с нами в баре PITNICA одной большой компанией. Давайте договоримся: мы вам — пиво, закуски и две отличные темы «на поговорить», а вы нам — компанию и вопросы :). Итак, наше мероприятие, которое начнется послезавтра в Воронеже, в баре PITNICA. Как и всегда, Logeek Night пройдет вечером, с 19:00 до 21:30 в формате двух выступлений и беседы как о выступлениях, так и на смежные темы.

        За подробной информацией и ссылками на страницы регистрации просьба пройти под кат
        Читать дальше →
      • Logeek Night в Воронеже



          Всем короткой пятницы, хабравчане! Спешим анонсировать наше мероприятие, которое начнется через неделю в Воронеже, в баре PITNICA. Как и всегда, Logeek Night пройдет вечером, с 19:00 до 21:30 в формате двух выступлений и беседы как о выступлениях, так и на смежные темы.
          Читать дальше →
        • QA: Conference. Сибирь



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

            • Галина Галкина — Расчет категории риска – подход к управлению регрессионной ТМ
            • Дарья Ефремова — FMEA — подход к тестированию с ретроспективой
            • Станислав Сидристый — Грамотное использование Groovy/Geb при автоматизации тестирования Web-приложений на Java
            • Константин Нерадовский — Функциональный подход в разработке автотестов на Java
            • Роман Иовлев — Jedi Power of Model-based testing
            • Роман Иовлев — JDI — Future of UI Automation
            • Алексей Белёв и Михаил Мациевский — Автоматизация тестирования или как мы с нуля всё поднимали
            • Александр Шиповалов — Чем пахнут ваши авто-тесты
            • Александр Шиповалов — BDD — Золотая книжечка, столь же полезная, сколь и забавная..
            • Леншмидт Анастасия и Орлов Артур — Автотесты: QA vs Dev

            Покупая билет, вы получаете:
            • Возможность получить запись докладов с Москвы и Питера
            • Возможность попасть на QA: Conference Новосибирск
            • Питание во время конференции

            Хотите подсмотреть что было в Москве и Питере? Добро пожаловать в наши фотоальбомы:

            Читать дальше →
            • +11
            • 4,7k
            • 3
          • Паттерны и антипаттерны Cucumber BDD

            • Tutorial
            Потратив множество человеко-часов над разработкой автотестов для нескольких огромных проектов, я с полной уверенностью могу сообщить, что составил может быть далеко не полный, но уж точно достаточно крупный набор практик, с которыми хочется поделиться с каждым. Итак, следуя стопам классиков, хочу (надеюсь увидеть дополнения от вас в комментариях) составить:

            Шаблоны проектирования Cucumber BDD сценариев


            Цели:

            • получить готовый инструмент, при помощи которого станет возможным стандартизировать процессы разработки и контроля качества исполняемых сценариев, построенных для работы в Cucumber-based технологических стеках (cucubmer jvm, SpecFlow и проч.)
            • получить набор правил, позволяющих специалистам с разных проектов легко мигрировать между проектами без длительной фазы привыкания
            • получить чистый, легко-читаемый код сценариев, который легко расширяется и слабо подвержен полным переписываниям текстов сценариев при минимальных изменениях UI

            Итак, поехали!
            Читать дальше →
            • +10
            • 14,3k
            • 7
          • QA: Conference. Сертификаты и репортажная лента в трансляции



              Мы в прошлом посту анонсировали онлайн билеты для нашей конференции QA: Conference. Сейчас я хотел бы немного раскрыть карты касательно онлайн формата. Если посмотреть на страницу трансляции, то станет видно что на ней три зоны: Сам поток (можно выбирать среди 3 залов), комментарии — снизу и справа — репортажная лента. Также мы вводим сертификаты посещения мероприятия. Для чего все это?

              Репортажная лента


              Прямо во время конференции помимо видео операторов и фотографов будут проводить репортаж несколько профессиональных тестировщиков. Так обычно делают Microsoft и Apple во время своих мероприятий. Один из них — это один из ведущих на Radio QA Алексей Виноградов, который провел уже более 20 выпусков своего подкаста и готов вести репортаж прямо с конференции. Для вас это означает что ведущие будут комментировать как само событие, так и доклады (причем в разных залах, давая возможность вам переключаться на те доклады, которые вам больше нравятся), освещая основные идеи из них.

              Репортажная лета помимо того что дает понимание что происходит на конференции, позволяет подключаться к докладам в тот момент, который вам удобен. Увидели что ведущий написал что-то интересное? А на текущем докладе пока идет вводная? Переключились, посмотрели, переключились обратно. Боитесь что надо отойти и пропустите самое интересное? трансляцию можно поставить на паузу. Вкупе с репортажной лентой на мой взгляд это становится очень удобным инструментом

              Что касается комментариев, то тут все предельно ясно: это возможность задать вопросы, пообщаться с коллегами и обсудить доклад.

              Сертификаты посещения


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

              Не забываем что у нас есть классный сайт: QA: Conference
              Читать дальше →
            • CLRium #3: Семинар по технологиям .NET



                Всем привет! Семинары уже совсем близко и мы рады принять на борт еще одного прекрасного докладчика: Михаила Щербакова
                А для тех, кто не в курсе, повторюсь: 15 апреля в Санкт-Петербурге, 22 апреля — в Москве, 29 апреля — в Омске, 13 мая — в Екатеринбурге и 20 мая — в Новосибирске пройдет серия семинаров CLRium #3.

                В прошлом году мы говорили об околохакерских штуках — разборе памяти .NET куч, приведение типов, между которыми приведение невозможно… Делили текущий поток на два… Говорили о ядре нового .NET Core и пытались понять, для чего нам нужен (и нужен ли?) Roslyn

                В этом же году мы поговорим о другом. О сугубо практически полезных вещах, о которых вы ранее наверняка не знали, но в которых таится огромная сила и мощь. Об изменяемых языках программирования, производительности и кроссплатформенной разработке GUI. Что значит «об изменяемых»? Это значит, что язык умеет менять собственный синтаксис.

                Как и ранее, у нас будут:
                • Максимально глубокие, отборные доклады по редко-раскрываемым вопросам
                • Мы будем говорить только о том, о чем вы наверняка, до того не знали
                • Максимально-полезные доклады, которые усилят Вас как специалиста
                • Почти все доклады — от 1,5 часов. Что позволит докладчикам не экономить и рассказать все что они знают

                Примечание к Nitra и Nemerle: эти два opensource проекта нынче разрабатываются в стенах компании JetBrains.
                Доклады:
                • Михаил Щербаков (IntelliEgg) Какие уязвимости находят в .NET Framework
                • Андрей Акиньшин (JetBrains) Железные таймеры
                • Влад Чистяков (JetBrains) Nemerle — самая мощная альтернатива C# на .NET
                • Влад Чистяков (JetBrains) Nitra — средство разработки языков программирования и DSL
                • Станислав Сидристый (Luxoft) JetBrains Rider IDE: Java IDE для кросс-платформенного .NET
                • Станислав Сидристый (Luxoft) Автоматизация тестирования WPF/WinForms приложений через внедрение в процесс
                • Андрей Карпов (СиПроВер) Что знает статический анализатор, чего не знаете вы
                • Сергей Васильев (СиПроВер) Опыт использования 'Roslyn' при разработке статического анализатора кода
                • Никита Цуканов Кроссплатформенная разработка UI приложений (Perspex UI, Eto.Forms, Xamarin Forms)

                У нас есть отличный сайт, на котором можно почитать как про всех спикеров, так и про все доклады. Заходите, изучайте, берите билеты: http://clrium.ru/

                А под катом мы сделали для вас видеоприглашения =)
                Читать дальше →
                • +23
                • 5,9k
                • 7
              • QA: Conference. Множество новостей, новые доклады, прямой эфир



                  Наша конференция по тестированию программных систем начнется совсем скоро и, как известно, пройдет в пяти городах России, а сетка докладов по всем городам практически готова. Самое главное из новостей:

                  • Мы делаем онлайн-трансляции с Москвы и Санкт-Петербурга. Всех докладов. По одному билету. С записью мероприятий. Трансляцию могут смотреть посетители любых городов. Главное — наличие билета на свое мероприятие
                  • Макс Шоничев . Центр Сетевых Технологий. Расскажет про автоматизацию тестирования серверной части и UI в ОС Linux в условиях жестких рамок настроек безопасности системы. Много хардкора.
                  • Артур Орлов и Анастасия Леншмидт. АвтоТрансИнфо. Поговорят про проблемы взаимодействия между отделами QA и Dev и пути их решений
                  • Мы с Яном Алексеенко проведем три мастер-класса
                  • Алексей Виноградов — наш специальный гость из Германии (он — один из ведущих Radio QA и разработчиков Selenide). Алексей познакомит нас с тремя простыми и практичными видами PageObject архитектуры — Static, Void и Fluent и продемонстрирует использование кодом, сравнит плюсы и минусы подходов
                  • Также из Германии — наш гость Slava Schmidt — консультант по Scala. Он нам поведует про Property-Based Testing with API-First Approach
                  • Дарья Ефремова из Performance Lab расскажет про методологию Failure Modes & Effects Analysis — подход к тестированию с ретроспективой
                  • И многие-многие другие доклады. Зачем мне переписывать их все? Заходите к нам на сайт конференции QAC


                  А пока мы покупаем рации для переговоров между залами, выбираем меню для кофе-брейков и выбираем дизайн и наполнение пакета участника, предлагаю собраться рабочим коллективом и погрузиться в изучение сетки докладов. Ведь мало того что можно посмотреть доклады в своем городе, так теперь можно еще и в режиме онлайн-трансляции побывать в Питере и Москве
                  По цене одного билета
                  Читать дальше →
                  • +11
                  • 4,5k
                  • 5
                • QA: Conference. Вторая волна докладчиков



                    Есть более свежий анонс: https://habrahabr.ru/company/luxoft/blog/280524

                    Наша конференция по тестированию программных систем начнется совсем скоро и, как известно, пройдет в пяти городах России. Напоминаем всем, то у нас:
                    • от 24 полноценных доклада в Москве и Питере
                    • до 16 докладов — в Новосибирске и Екатеринбурге
                    • 8 докладов — в Омске
                    • возможность посмотреть записи всех докладов — всем участникам
                    • только полноценные, 45-минутные доклады, раскрывающие все темы «от» и «до»
                    • в цену до 3,000 рублей включено: все доклады всех городов — в записи, кофе-брейки и огромное количество знаний

                    Что в совокупности дает возможность:
                    • Получить много ценных знаний в формате интенсива
                    • Перенести свои новые знания — в проекты и тем самым облегчить своей команде и компании жизнь
                    • Пообщаться с коллегами по вопросам, которые вас волновали
                    • Услышать как про положительный опыт, так и про отрицательный

                    Итак, докладчики, о которых мы расскажем сегодня:
                    • Евгений Огородников. RmBIT — развёртываем автоматизацию тестирования с нуля — советы из личного опыта
                    • Сергей Махетов. Центр ИТ — автоматизация тестирования на языке Scala
                    • Алексей Лавренюк. Яндекс — методика и инструменты нагрузочного тестирования
                    • Сергей Пирогов. Записки автоматизатора — автоматизация функционального тестирования Web приложений
                    • Дмитрий Акмаев. DINO Systems — global CI, что это такое, и чего не хватает в классическом CI
                    • Александр Чумакин. JUNO — автоматизация сценариев взаимодействия интеграционных систем и нагрузочного тестирования
                    • Екатерина Боброва. Тамтэк — представление предметной области в автотестах
                    • Михаил Бобков. Neoflex — автоматизация тестирования на интеграционных проектах

                    Хотите почитать подробнее? Добро пожаловать под кат и на наш сайт
                    Читать дальше →
                  • CLRium #3. Анонс докладчиков



                      15 апреля в Санкт-Петербурге, 22 апреля — в Москве, 29 апреля — в Омске, 13 мая — в Екатеринбурге и 20 мая — в Новосибирске пройдет серия семинаров CLRium #3.

                      В прошлом году мы говорили об околохакерских штуках — разборе памяти .NET куч, приведение типов, между которыми приведение невозможно… Делили текущий поток на два… Говорили о ядре нового .NET Core и пытались понять, для чего нам нужен (и нужен ли?) Roslyn

                      В этом же году мы поговорим о другом. О сугубо практически полезных вещах, о которых вы ранее наверняка не знали, но в которых таится огромная сила и мощь. Об изменяемых языках программирования, производительности и кроссплатформенной разработке GUI. Что значит «об изменяемых»? Это значит, что язык умеет менять собственный синтаксис.

                      Как и ранее, у нас будут:
                      • Максимально глубокие, отборные доклады по редко-раскрываемым вопросам
                      • Мы будем говорить только о том, о чем вы наверняка, до того не знали
                      • Максимально-полезные доклады, которые усилят Вас как специалиста
                      • Почти все доклады — от 1,5 часов. Что позволит докладчикам не экономить и рассказать все что они знают

                      Примечание к Nitra и Nemerle: эти два opensource проекта нынче разрабатываются в стенах компании JetBrains.
                      Доклады:
                      • Андрей Акиньшин (JetBrains) Железные таймеры
                      • Влад Чистяков (JetBrains) Nemerle — самая мощная альтернатива C# на .NET
                      • Влад Чистяков (JetBrains) Nitra — средство разработки языков программирования и DSL
                      • Станислав Сидристый (Luxoft) JetBrains Rider IDE: Java IDE для кросс-платформенного .NET
                      • Станислав Сидристый (Luxoft) Автоматизация тестирования WPF/WinForms приложений через внедрение в процесс
                      • Андрей Карпов (СиПроВер) Что знает статический анализатор, чего не знаете вы
                      • Сергей Васильев (СиПроВер) Опыт использования 'Roslyn' при разработке статического анализатора кода
                      • Никита Цуканов Кроссплатформенная разработка UI приложений (Perspex UI, Eto.Forms, Xamarin Forms)


                      Когда и где?


                      Рассказываю:
                      • У нас есть отличный сайт, на котором можно почитать как про всех спикеров, так и про все доклады. Заходите, изучайте, берите билеты: http://clrium.ru/


                      Что такое CLRium?? Видео записи семинара (собравшего в сумме 740 человек) с прошлого года — под катом.
                      Читать дальше →
                      • +19
                      • 4,9k
                      • 4
                    • QA: Conference. Рассказываем про доклады



                        Есть более свежий анонс: https://habrahabr.ru/company/luxoft/blog/280524

                        Конференция по тестированию программных систем QA: Conference начнется чуть больше чем через месяц и мы готовы рассказать подробнее про нее. Немного статистики:
                        • 24 полноценных доклада в Москве и Питере
                        • до 16 докладов — в Новосибирске и Екатеринбурге
                        • 8 докладов — в Омске
                        • возможность посмотреть записи всех докладов — всем участникам
                        • стоимость билета — от 2,000 до 3,000 рублей

                        Какие темы будут раскрыты:
                        • Тестирование на сетевое проникновение — от компании PentestIt
                        • Нагрузочное тестирование
                        • Автоматизация тестирования (рассматриваются любые аспекты)
                        • Интеграционное тестирование
                        • Развертывание различных систем с нуля
                        • Опыт как положительный, так и отрицательный

                        Итак, докладчики, о которых мы расскажем сегодня:
                        • Лука Сафонов и Роман Романов. PentestIt — проникновение в сеть предприятия и про защиту от проникновения.
                        • Станислав Сидристый — три доклада про все стороны автоматизации в .NET / Java и про стандартизацию подходов к автоматизации
                        • Галина Галкина — расчет категории риска – подход к управлению регрессионной ТМ
                        • Александр Акбашев — гоняем тесты на каждый билд: Gerrit, Jenkins, Docker, AWS
                        • Роман Иовлев — сразу два доклада: «Jedi Power of Model-based testing» и «JDI — Future of UI Automation»
                        • Игорь Щегловитов — расскажет про автоматизированное тестирование средствами тулсета Microsoft
                        • Константин Нерадовский — функциональный подход в разработке автотестов на Java

                        Хотите подробностей? Заходите под кат.
                        Читать дальше →