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

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

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


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

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


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

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

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

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

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

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

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

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

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

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


        Читать дальше →
        • +15
        • 12,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. Проблемы с кадрами: нужно быть реально круто замотивированным, чтобы полноценно и качественно работать с детьми.
            Читать дальше →
          • Программирование для начинающих — пример создания Азбуки Морзе на базе визуальной системы Snap!

            • Tutorial


            Одной из целью популяризации DIY-робототехники, для меня, является привлечение внимания к IT, к программированию. И в этом плане мне интересны визуальные среды программирования, где простым Drag&Drop можно создавать программы. Для тех кто только начинает изучать компьютер — такой способ программирования может на начальном этапе вызвать интерес (благодаря своей простоте), и дальше уже способствовать к самостоятельному изучению (чего-то более сложного).

            Думаю многие слышали про Scratch — это «классика жанра» (созданная в MIT, идея 2003 и выход в релиз 1.0 в январе 2006 году), но для его работы необходимо установка ПО на компьютер (или Flash). Некоторое время назад в University of California at Berkeley была разработана система Snap!, интерфейсе которой близок к Scratch, но работает в браузере, на базе классических html/js/css. То есть для работы с ней — вам достаточно только браузера (и к тому же она open-source).

            Вот о веб-системе визуального программирования Snap! я и хочу рассказать.

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

            Программа будет при нажатии на клавиши — рисовать соответствующие символы, и так же «озвучивать». На КДПВ приведена итоговая программа, и справа написано «HI HABR, HABR HI».

            Посмотреть демо
            Если кому-то хочется сразу увидеть результат, то демо здесь.

            Управление:

            "клавиша вверх" — инициализация параметров и очистка (лучше нажать после загрузки — выставится ширина точек)
            "клавиша вниз" — перевод строки
            клавиши "h", "i", "a", "b", "r" — рисование и озвучивание соотв. буквы с помощью азбуки Морзе.
            Читать дальше →
          • Продвинутое использование объектов в JavaScript

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

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

              1975-1985 гг. Взлет и падение Atari



              Еще в 70-х появились первые игровые девайсы для телевизоров. В 75-м Atari выпустили первую игрушку Pong (настольный теннис). В 76м продали их на сумму около $200М. Где-то в 76-77 годах произошло резкое снижение стоимости полупроводников. Atari выпустили Atari 2600 – первый девайс со сменным картриджем. Это позволяло меняя картриджи, играть в разные игры. В 77м продажи индустрии составили около $420M.


              На рынок повалило множество других игроков, и у каждого был свои приставки- девайсы и картриджи к ним. Любопытный факт — 2/3 продаж совершалось в каникулы и выходные.
              Atari успешно реализовала стратегию «жиллет» (раздать всем бритвы и делать деньги на лезвиях). Они сумели продать приставки больше чем кто-либо и в итоге стали лидером рынка. Основные продажи были через крупные ретейл-сети. Было около 1500 игр под их платформу.


              Победа была не долгой. В 82-84 годах люди перестали покупать приставки. Рынок просто насытился — все кому нужно было, уже купили. У производителей на складах и в ретейле скопилось огромное количество нераспроданных как картриджей с играми, так и приставок — пришлось продавать по бросовым ценам. Обороты с $3 млрд. упали до $100М — Atari обанкротилась и была поглащена Warner.
              Читать дальше →
            • О Почте России замолвите слово…

                Сразу скажу, я к Почте России не имею отношения. Точнее имею, но как постоянный клиент. У меня интернет магазин и я лично раз-два в неделю превращаю свое отделение в филиал ада на земле в частном порядке сгружаю в ее чрево по паре десятков посылок на протяжении вот уже 4 лет. Эпично закладывая окошко почты своими коробками как кирпичной кладкой :) И посему у меня есть ряд наблюдений и некоторая статистика за последние четыре года.

                Я конечно понимаю, что 99% процентов возмущений приходится на долю интернет шоперов ждущих посылки из всяких ебаев-китаев, и проблемы там действительно есть. Но моя цель не дать несчастной почте еще одного пинка, а все же сказать что-то позитивное. Дать пару советов по правильному обращению с почтой и зажечь тусклый светодиодик в конце тоннеля. Потому я буду рассказывать только про хождения отправлений внутри страны и из России в дикие земли :) И речь пойдет, по большей части, про так называемый «Первый класс». Т.к. я пользуюсь преимущественно им.
                Читать дальше →