• Встреча .NET сообщества на CLRium #4 + онлайн

      Вы любите продуктовые доклады? Я — нет. А вы любите доклады, не относящиеся к теме конференции? Я — категорически нет. Складывается ощущение что я плачу за чужие амбиции и отсутствие контента. Потому мы делаем CLRium 4: где собираем все самое последнее, полезное… И самое главное — кишочки!


      Теперь, помимо докладов будет жаркая дискуссия между спикерами по возможностям C# 8.0, которые полны неоднозначных моментов. И поверьте, будет жара: я многие моменты не приемлю, а вот второй спикер, Александр Кугушев уверяет что они так полезны, что хоть завтра — в прод. Наталия Цвилих придерживается смешанной точки зрения… Интереснейшая получится беседа, я вам обещаю.


      Почитать и зарегистрироваться



      cool Примеры статей и полный список тем выступлений — под катом
      Читать дальше →
    • Встреча .Net сообщества на CLRium #4 + онлайн. Куда движутся CoreCLR и C#. Приглашаются все

        Я не люблю заезженное слово «конференция». Это — встреча разработчиков с общими интересами, которые хотят послушать о будущем своей любимой платформы, а также о трюках, которые позволяют обходить правила, установленные в .NET Framework. Формат встречи — это десять слотов, которые заполнены только выжимкой самого современного, иногда даже еще не вышедшего функционала. Это как раз тот самый формат, когда нет необходимости забивать сетку докладами, которые не имеют никакого отношения к теме конференции. Наборот: идет плотная работа над отсевом не перспективных не относящихся к нашей платформе тем.


        Я надеюсь, в вашей памяти теплятся еще прошлые версии CLRium. Я помню и время от времени поглядываю на ваши многочисленные отзывы, которые греют мое желание провести все еще раз. Причем на этот раз — с уклоном в будущее. А у меня по поводу будущего есть спойлер: .NET Framework будет закрыт в угоду Core CLR. Почему? Приходите и по цене одной заправки автомобиля вы все узнаете сами.


        Почему я приглашаю всех? Темы встречи все как на подбор и позволяют окунуться в настоящее нашей opensource платформы. Вот честно, я бы сам сходил: разбираем эволюцию функционала CoreCLR: от 2.0 от 3.0, отладку при помощи самописного отладчика, богатейшие и очень спорные возможности C# 7.*, 8.0, Garbage Collector API, новые средства наделения свойствами управляемости неуправляемых ресурсов и многое другое.


        Почитать и зарегистрироваться



        cool Примеры статей и полный список тем выступлений — под катом
        Читать дальше →
        • +26
        • 2,5k
        • 8
      • CLRium #4: Встреча .NET сообщества


          GC API, C# 8.0, Global Tools, Span, Memory, System.IO.Pipeline, чего ждать в будущем

          Рассуждая с коллегами о вопросах развития технологий, мы как-то пришли к выводу что в тот момент, когда выныриваешь из кода и прочих задач и бросаешь взгляд либо в сторону Хабра, либо в сторону бесконечных тематических лент Телеграма возникает странное чувство, что что-то пропустил. И чувство это знакомо каждому: профессия у нас такая, что не дает расслабиться. Причем даже если подписаться на каналы, RSS ленты и прочие источники, возникнет другая проблема: чувство усталости от потока информации (зачастую, мусорной). Как успеть за прогрессом, не теряя драгоценного времени?


          Темой четвертой серии CLRium станут как обычно — самые последние последние наработки из мира .NET: мы в течении одного дня расскажем подробнее о том, что уже можно потрогать и бегло о том — что только планируется. Посещение данного мероприятия — прекрасный способ освежить понимание вектора развития нашей прекрасной платформы и узнать то, на что обычно не хватает времени и решить для себя что-нибудь попробовать в ближайшем будущем.


          • 19 октября в Санкт-Петербурге + online, в офисе компании Epam Systems
          • 26 октября в Москве
          Читать дальше →
          • +17
          • 1,4k
          • 2
        • CLRium #4: Встреча .Net сообщества




            Темы: C# 8.0, .NET Core 2.2 и .NET Core 3.0, CLR


            Вы успеваете отслеживать все свежее в мире .NET, что происходит в последнее время? C# 8.0? Span/Memory? ValueTasks? System.IO.Pipeline? CLI API & Global Tools? Если нет, то лучший способ наверстать упущенное — сходить на профильное мероприятие и ровно за один день понять сразу все темы вместе взятые и решить для себя, что будет полезным, а что должно выдержать еще одну проверку временем.


            Темой четвертой серии CLRium станут как обычно — самые последние последние наработки из мира .NET: мы расскажем подробнее о том, что уже можно потрогать и бегло о том, что только планируется. Посещение данного мероприятия — прекрасный способ освежить понимание вектора развития нашей прекрасной платформы и узнать то, на что обычно не хватает времени и решить для себя что-нибудь попробовать в ближайшем будущем.


            В этом году мы решили захватить лучшие практики прошлых лет:


            • Доклады без продуктового какие мы классные маркетинга, только ядро платформы
            • Полный апгрейд знаний до версии .NET Core 3.0
            • Где возможно — максимальный хардкор (вы меня знаете)
            • Прекрасная цена в 3,000 рублей за день. Все еще по цене полутора заправок
            • Классные, удобные, современные залы

            Интересно? Милости просим под кат!


            • 19 октября в Санкт-Петербурге, в офисе компании Epam Systems
            • 26 октября в Москве
            Читать дальше →
            • +11
            • 1,7k
            • 2
          • [DotNetBook] Время занимательных историй: исключительно исключительные ситуации

            • Tutorial

            Существует ряд исключительных ситуаций, которые скажем так… Несколько более исключительны чем другие. Причем если попытаться их классифицировать, то как и было сказано в самом начале главы, есть исключения родом из самого .NET приложения, а есть исключения родом из unsafe мира. Их в свою очередь можно разделить на две подкатегории: иcключительные ситуации ядра CLR (которое по своей сути — unsafe) и любой unsafe код внешних библиотек.


            Давайте поговорим про эти особые исключительные ситуации.


            ThreadAbortException


            Вообще, это может показаться не очевидным, но существует четыре типа Thread Abort.


            Примечание


            Глава, опубликованная на Хабре не обновляется и возможно, уже несколько устарела. А потому, прошу обратиться за более свежим текстом к оригиналу:


            Читать дальше →
          • [DotNetBook] События об исключительных ситуациях и как на пустом месте получить StackOverflow и ExecutionEngineException

            • Tutorial

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


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


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

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


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

            Примечание


            Глава, опубликованная на Хабре не обновляется и возможно, уже несколько устарела. А потому, прошу обратиться за более свежим текстом к оригиналу:


            Читать дальше →
            • +30
            • 3,6k
            • 3
          • [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
            • 5,6k
            • 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
            • 9,1k
            • 3
          • [DotNetBook] Ссылочные и значимые типы данных, особенности выбора

            • 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 приветствуются :)

            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 Новосибирск
                    • Питание во время конференции

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

                    Читать дальше →
                  • Паттерны и антипаттерны Cucumber BDD

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

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


                    Цели:

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

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



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

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


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

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

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

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


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

                      Не забываем что у нас есть классный сайт: QA: Conference
                      Читать дальше →