• Как понять, что Agile работает

      Асхат Уразбаев

      Асхат Уразбаев (ScrumTrek)


      Прежде, чем начнем говорить, как это все выглядит изнутри, с какими проблемами мы сталкиваемся, когда тренируем команду, вопрос: те, кто работает по Agile, что для вас значит, что Agile команда является Agile командой? Как вы это определяете?
      Читать дальше →
    • Что такое красивый код, и как его писать?

      1. Вступление


      Сталкиваясь с необходимостью контролировать работу других программистов, начинаешь понимать, что, помимо вещей, которым люди учатся достаточно легко и быстро, находятся проблемы, для устранения которых требуется существенное время.

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

      Но когда дело доходит собственно до кода, все становится гораздо менее однозначно. Да, можно указать на слабые места, можно даже объяснить, что с ними не так. И в следующий раз получить ревью с абсолютно новым набором проблем.

      Профессии программиста, как и большинству других профессий, приходится учиться каждый день в течение нескольких лет, а, по большому счету, и всю жизнь. Вначале ты осваиваешь набор базовых знаний в объеме N семестровых курсов, потом долго топчешься по различным граблям, перенимаешь опыт старших товарищей, изучаешь хорошие и плохие примеры (плохие почему-то чаще).

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

      Да, все это необходимо знать. Но при этом, понимание того, как должен выглядеть достойный код, обычно появляется уже при наличии практического (чаще в той или иной степени негативного) опыта за плечами. И при условии, что жизнь “потыкала” тебя не только в сочные образцы плохого кода, но и в примеры всерьез достойные подражания.

      В этом-то и заключается вся сложность: твое представление о “достойном” и “красивом” коде полностью основано на личном многолетнем опыте. Попробуй теперь передать это представление в сжатые сроки человеку с совсем другим опытом или даже вовсе без него.

      Но если для нас действительно важно качество кода, который пишут люди, работающие вместе с нами, то попробовать все же стоит!
      Читать дальше →
    • Использование Visual Studio Application Insights — опыт инженера по тестированию

        Выражаем большое спасибо за подготовку статьи Игорю Щегловитову, старшему инженеру по тестированию из Лаборатории Касперского, за помощь в написании данной статьи и ценный практический опыт. Остальные наши статьи по теме Azure можно найти по тегу azureweek, а также по тегу mstesting — статьи по тестированию.

        Application Insights (в дальнейшем просто AI)– это механизм для сбора и анализа пользовательской телеметрии: различных счетчиков производительности, пользовательских событий (логов) и тп. На текущий момент он поддеживает не только ASP.NET приложения, но и другие, в том числе Java, IOS, JavaScript и др.


        Читать дальше →
        • +15
        • 10,2k
        • 3
      • Введение в fetch

        • Перевод

        Прощай, XMLHttpRequest!


        fetch() позволяет вам делать запросы, схожие с XMLHttpRequest (XHR). Основное отличие заключается в том, что Fetch API использует Promises (Обещания), которые позволяют использовать более простое и чистое API, избегать катастрофического количества callback'ов и необходимости помнить API для XMLHttpRequest.
        Читать дальше →
      • Тестирование с инструментами Microsoft — полевой опыт

          Эта статья создана нашими друзьями, партнерами из компании Лаборатория Касперского и описывает реальный опыт использования инструментов тестирования от Microsoft с рекомендациями. Автор — инженер по тестированию в Лаборатории Касперского, Игорь Щегловитов.


          Привет всем. Я работаю инженером по тестирования в Лаборатории Касперского в команде, занимающейся разработкой серверной облачной инфраструктуры на облачной платформе Microsoft Azure.

          Команда состоит из разработчиков и тестировщиков (примерно в соотношении 1 к 3). Разработчики пишут код на C# и практикуют TDD и DDD, благодаря этому код получается пригодным для тестирования и слабосвязанным.  Тесты, которые пишут разработчики, запускаются либо вручную из Visual Studio, либо автоматически при сборке билда на TFS. Для запуска билда у нас установлен триггер Gated Check-In, таким образом он запускается при чекине в Source Control. Особенностью данного триггера является, то что если по каким-то причинам (будь то ошибка компиляции либо тесты не прошли) билд падает, то сам чекин, который запустил билд не попадает в SourceControl.
          Вы, наверное, сталкивались с утверждением, что код протестировать сложно? Некоторые прибегают к парному программированию. В других компаниях специально выделены отделы тестирования.  У нас же это обязательное код-ревью и автоматизированное интеграционное тестирование. В отличие от модульных — интеграционные тесты разрабатываются специально выделенными инженерами по тестированию, к которым отношусь и я.
          Читать дальше →
        • Как конкретно можно сделать детское образование в России лучше (и первый практический шаг)



            У нас 41-43 место из 65 по образованию по исследованию ОСЭР и 49 место по Education Index ООН.

            После получения трёх высших, 13 лет я занималась тем, что учила айтишников, учёных и других странных людей, последний проект – Курсера в России. Год назад начала изучать детское образование. Ниже – моё ИМХО, но, думаю, многое вам хорошо знакомо. На мой взгляд, в детском образовании в России есть несколько важных областей для развития.

            Вот с позиции детей:
            1. Дети не видят практического применения получаемым знаниям.
            2. Нет механизмов выбора профессии. Дети могут, например, выбирать своё будущее по наиболее доброму учителю (любимый предмет — желаемая профессия — специальность в универе — приплыли).
            3. Дети в целом жаждут знаний, но им очень хочется разнообразить процесс их получения и в школе.
            4. Ну, и они почти никуда не выходят, а их надо водить на разные интересные экскурсии и встречать с интересными людьми.

            С позиции родителей и преподавателей:
            1. Дети недогружены: знаний даётся куда меньше, чем при СССР, например. С другой стороны они в конце обучения перегружены подготовкой к ГИА, ЕГЭ.
            2. Дети изначально живут в новой информационной среде, которая комфортна для них, но не очень комфорта для учителей.
            3. Дополнительное образование в крупных городах — это, порой, дичайшая логистика, например, нужно посреди дня везти ребёнка на другой конец города.
            4. Проблемы с кадрами: нужно быть реально круто замотивированным, чтобы полноценно и качественно работать с детьми.
            Читать дальше →
          • Продвинутое использование объектов в JavaScript

            • Перевод
            Этот пост выходит за рамки повседневного использования объектов в JavaScript. Основы работы с объектами по большей части так же просты, как использование JSON-нотации. Тем не менее, JavaScript дает возможность использовать тонкий инструментарий, с помощью которого можно создавать объекты некоторыми интересными и полезными способами и который теперь доступен в последних версиях современных браузеров.
            Читать дальше →
          • Кадры решают всё или о биче современных компаний

              image
              Хотелось бы немного рассказать о тех ошибках, которые очень опасно совершать особенно сейчас, особенно в странах или городах золотого миллиарда. Думаю каждый работающий или сталкивающийся с деятельностью большой или не очень компании (или гос структуры) как и я удивляется на сколько же всё не эффективно и поражается как при таком раздолбайстве и пофигизме шестерёнок машина всё еще работает.
              Читать дальше →
            • C# .NET: Пять маленьких чудес, которые сделают ваш код лучше. Часть 1

              Здравствуй, Хабрасообщество. Хотелось бы представить на суд твой свои переводы серии статей Джеймса Майкла Харе (James Michael Hare) «Маленькие чудеса C#». Итак, первая часть перед вами!
              Эти маленькие советы и рекомендации сделают ваш код более кратким, производительным и обслуживаемым. Наверное, многие из вас знают обо всех или некоторых из них, но игнорируют их, либо просто не знают.
              Подробности
            • Инструментарий рекрутера

              Последние 10 лет мне постоянно приходится заниматься рекрутингом в IT области, тоесть обе отрасли для меня как родные. Именно эта близость натолкнула меня на интересную мысль.

              Последние десятилетие ознаменовалось тотальной автоматизацией всевозможных бизнесс процессов, технологии сменяют друг друга все быстрее (иногда даже страшно становится). Эволюционная цепочка HTML > Интерактивный Веб > SaaS (он же Cloud) > Социальные Сообщества пронеслась как за один день. Интернет просто расцвел сервисами в «облаках», в них можно найти сегодня практически все: фильмы, почта, ведение бизнеса, фотографии, общение с друзьями, ведение бухгалтерии, налоги и даже государственные услуги. Но, как ни странно, я не могу найти русскоязычного сервиса, который бы помог мне в автоматизиции и упрощении процесса рекрутинга. Немогу найти ни «облачного» сервиса, ни специализированного приложения. Ни платного, ни безплатного.

              Многие сейчас возразят: «Куда ты смотришь? Да их же сотни, если ни тысячи...». Это правда, их много, но они все какие-то «однобокие»; тоесть решают одну проблему, но при этом создают другую. Рассматривая демо многих из них, я немогу ответить для себя на элементарный вопрос: «Почему бы я купил эту програму, в чем она мне поможет?». И вот здесь я сейчас попытаюсь описать подробнее мои «проблемы» и как я их решаю сегодня. Возможно кому-то пригодится как совет, возможно кто-то посоветует мне онлайн сервис или приложение которое их решает более эффективно.
              Читать дальше →