• 5 распространенных ошибок начинающих программистов на Python

    • Translation
    В первые дни работы программистом на Python все мы сталкиваемся с разными типами багов в нашем коде, которые после нескольких болезненных часов в StackOverflow оказываются не багом, а фичей Python'а. Ниже приведены 5 самых распространенных ошибок, которые делают большинство начинающих программистов на Python. Давайте немного о них узнаем, чтобы сэкономить несколько часов, задавая вопросы на страницах и в группах в Facebook.
    Читать дальше →
  • Умный интернет вещей — кто он и с чем его едят?

      Тренд интернета вещей сейчас набирает всё большую популярность. Чаще всего понятие интернета вещей неразрывно связано с чем-то умным: умные дома, умный транспорт, умные предприятия… Но когда смотришь на эту интеллектуальность внимательнее, то часто разочаровываешься: удаленное управление лампочкой в доме — это в лучшем случае автоматизация, но никак не умный дом. Кажется, что и интернет получается не таким уж и умным… А что же такое умный интернет вещей?
      Читать дальше →
    • Уменьшаем количество ошибок с помощью чек-листа Code Review

      • Translation
      В нашей статье об эффективных ревью кода мы рекомендовали использовать чеклист. Чеклисты (контрольные списки) — это великая вещь в ревью: они гарантируют, что ревью действительно прошло через вашу команду. Также они способствуют выявлению и решению общих трудностей.

      Исследование, проведенное Software Engineering Institute, показывает, что программисты делают 15-20 распространенных ошибок. Добавив такие ошибки в чеклист, вы можете быть уверены, что заметите их в момент появления и поможете от них избавиться надолго.

      Чтобы вам было от чего отталкиваться, вот вам список типичных пунктов:
      Читать дальше →
    • Эффективные ревью кода: 9 советов от исправившегося скептика

      • Translation
      Я знал теорию. Ревью кода помогает:
      • Находить баги
      • Обеспечивать читаемость и поддерживаемость кода
      • Распространять знания кода на всю команду
      • Быстрее входить в работу новым членам команды
      • Показывать всем новые подходы к решению задач

      Или, это всего лишь пустая трата времени. По крайней мере, таким было мое первое впечатление от ревью кода.
      Читать дальше →
      • +13
      • 19.1k
      • 5
    • Под капотом: сборка и открытие исходников flint

      • Translation
      Программы статического анализа кода — это необычный класс программ-верификаторов, и в течение некоторого времени я не был убежден в необходимости их использования при разработке для фейсбука. Я не терплю стилистические правила на своей шее, и ложные предупреждения об ошибках могут испортить всю задачу. Впрочем, в них есть и хорошее: если проверяющий механически ищет проблемы, которые традиционно не контролируются компилятором, то это должно почти всегда улучшать качество кода, как только проблема будет исправлена.
      Флинт, программа Фейсбука для статического анализа, выдает ошибки анализа, которые автоматически появляются в нашей системе ревью (phabricator) рядом с каждым предложенным изменением кода, уведомляя программиста, что что-то может пойти не так. Flint стал важной частью работы, которую мы делаем в Фейсбуке, и я очень рад открыть его исходники, чтобы каждый мог проверить, что же мы делаем, и попробовать это для себя.
      Читать далее
      • +24
      • 5.9k
      • 7
    • Как разрабатывать неподдерживаемое ПО

      • Translation
      Мне платят за то, что я возвращаю чужой технический долг. В своей работе я вижу много сложного в поддержке кода, и я снова и снова вижу много проблем, которых можно было избежать.

      Я специализируюсь на отладке, исправлении, поддержке и расширении функциональности старого программного обеспечения. Мой типичный клиент имеет веб-сайт или приложение, которое более-менее работает, но автор которого недоступен. Бизнес-требования изменились, и ПО перестало им удовлетворять. Или у моего клиента есть что-то, что «уже закончено», но он расстался с разработчиком после исчерпания бюджета и сроков. Обычно такая ситуация сопровождается списком пропущенных фич и багов.
      Мой типичный клиент обычно разговаривал с другими программистами, которые рекомендовали выбросить имеющееся и начать разработку с нуля. Большинство программистов не любит поддержку кода, и особенно, они не любят поддержку чужого кода.
      Читать дальше →
    • Что делает хорошего программиста хорошим?

      • Translation
      Я работал со многими программистами на протяжении долгих лет — некоторые из них были очень яркими, а некоторые — определенно «никакими». Недавно я имел удовольствие работать с несколькими высококвалифицированными специалистами, так что я потратил немного времени в размышлениях, чем же я восхищаюсь в них. Что делает хорошего программиста таким хорошим, а плохого — таким плохим? Или, немного коверкая русский язык, что делает хорошего программиста хорошим?
      Читать дальше →
    • Microsoft продает продукты сувениры с логотипом Google



        Корпорация Microsoft продает сувениры на своем сайте
        Microsoft тонко намекает на то, что Google чересчур любопытна по отношению к личным данным пользователей: «Keep calm while we steal your data».

        В интервью Ad Age представитель Microsoft заявляет, что для них это не способ заработать деньги, а всего лишь выражения желания помочь пользователям выразить свое отношение к Google: «The Scroogled gear is a fun way for them to do that».

        Ждем ответного хода Google.
        Ответный ход гугла под катом
      • Пишем SOAP-клиент на C++, используя gSOAP

        Так сложилось, что работа с gSOAP на хабре описана очень слабо. Всего лишь один пост, если быть честным. Но там описано создание веб-сервиса, а как же быть с клиентскими приложениями? Не так давно передо мной встала задача организовать работу с удаленным сервером, использующим SOAP — и я решил написать небольшую статью об этом.
        Т.к. предоставить wsdl-файлы, с которыми велась работа, я не могу (NDA и все такое), то я задался поиском сервисов, пригодных для тестирования. Интересными мне показались два:

        http://www.webservicex.net/ValidateEmail.asmx?WSDL
        http://www.webservicex.net/country.asmx?WSDL
        Читать дальше →