• Записки IoT-провайдера. Введение

    Здравствуйте, уважаемые читатели Хабра. Меня зовут Олег Плотников, я директор Центра Промышленного Интернета одной из IT-компаний.


    Этой статьей я бы хотел начать целый цикл заметок про Интернет Вещей и конкретно про технологию LoRa. О ней уже не раз писали на Хабре, писали интересно и с разных сторон. Однако, наш Центр построил и уже почти год эксплуатирует сеть LoRaWAN и мы накопили большой опыт именно практической эксплуатации этой технологии. Давайте договоримся, я не ставлю своей целью пиар компании, в которой работаю. Но буду периодически обращаться к нашим проектам, когда потребуется что-то проиллюстрировать. Главный акцент своих заметок я бы хотел сделать не на теории, а на практике. Постараюсь заразить вас идеей, что Интернет Вещей – это интересно и черепахоподобная LoRa станет важным кирпичиком в общем фундаменте.


    Читать дальше →
  • Specification By Example – BDD для прагматиков


      На Хабре довольно много упоминаний о BDD. К сожалению, статьи, которые я читал, так и не дали мне ответа на вопрос «а зачем мне все это нужно?» Ответ пришел с неожиданной стороны. Когда я всерьез занялся вопросом автоматизации приемочного тестирования, мне под руку попалась книга Gojko Adzic (не уверен в транскрипции, поэтому не стал переводить имя автора) Specification By Example.
      Читая ее, я не уставал удивляться: каждая новая глава описывала шишки, которые я набивал на своем личном опыте, и предлагала решения аналогичные или лучшие, чем те, к которым я приходил сам методом проб и ошибок.

      Эта статья – первая в цикле «BDD для прагматиков». В ней описаны ключевые элементы наиболее эффективного, на мой взгляд, процесса разработки коммерческого ПО в современных условиях. Два продолжения будут посвящены работе со SpecFlow и автоматизации приемочного тестирования.
      Часть первая - живая документация
    • Удачная модель ветвления для Git

      • Перевод
      Перевод статьи Vincent Driessen: A successful Git branching model

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



      В качестве инструмента управления версиями всего исходного кода она использует Git.

      Читать дальше →
    • Краткий курс машинного обучения или как создать нейронную сеть для решения скоринг задачи

      • Tutorial
      image

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

      Вопросы, которые разобраны в статье:

      • Как собрать и подготовить данные для построения модели?
      • Что такое нейронная сеть и как она устроена?
      • Как написать свою нейронную сеть с нуля?
      • Как правильно обучить нейронную сеть на имеющихся данных?
      • Как интерпретировать модель и ее результаты?
      • Как корректно оценить качество модели?
      Поехали!
    • Векторная графика бесплатно — подборка сайтов

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

      1. Freepik


      www.freepik.com

      Один из самых больших веб-сайтов, который предлагает сотни новых векторных изображений для личного и для коммерческого использования.



      Читать дальше →
      • +27
      • 201k
      • 3
    • Стартап шаг за шагом: первая бизнес-модель



        Мы продолжаем цикл статей о том, как построить стартап, — рассказываем о каждом шаге на собственном примере. Мы уже описали, как придумать идею и как собрать команду, теперь поговорим о бизнес-модели.
        Читать дальше →
        • +13
        • 63,8k
        • 6
      • Обзор 7 самых популярных кроссплатформенных мобильных фреймворков


          На работе меня попросили сделать сравнительную характеристику нескольких продуктов для создания кроссплатформенных мобильных приложений: Appcelerator Titanium, Kony Platform, Adobe PhoneGap, IBM Worklight, Telerik Platform, Verivo Akula, Xamarin. Потратил немало времени, поэтому решил, что лучше поделиться с хабрасообществом полученными данными, вдруг кому покажется полезным. Сразу скажу, что кроме PhoneGap я до этого не сталкивался и не работал ни с каким из этих фреймворков, поэтому уверен, что что-то упустил, где-то, возможно, не так понял, а в чем-то оказался не прав. Но в комментариях надеюсь услышать ваше мнение и исправить недочеты.

          В конце статьи поместил несколько опросов, которые помогут понять популярность и рейтинг этих фреймворков.
          Здорово, хочу дальше
        • Белая книга по доступности PhoneGap

            Организация Глобальной инициативы в области инклюзивных ИКТ (G3ict) в сотрудничестве с Adobe Systems Incorporated выпустила белую книгу по вопросам разработки доступных интерфейсов для мобильных приложений с помощью фреймворка PhoneGap, также известного как Apache Callback или Apache Cordova. Данный десятистраничный документ описывает текущее состояние доступности мобильных приложений, преимущества, присущие подходу PhoneGap в отношении создания доступных кросс-платформенных приложений этой категории, а также мотивы Adobe в отношении создания специального плагина, который сокращает разрыв между технологиями web-доступности и нативными accessibility API мобильных платформ.

            Напомним, что представленный около года назад PhoneGap Mobile Accessibility Plugin, передаёт приложениям такую информацию, как состояние настроек увеличения шрифта и прочего. В результате, PhoneGap-приложения получают более тесное взаимодействие с функциональностью доступности в той или иной операционной системе, сопоставимую с нативными приложениями.
            Читать дальше →
          • Как понять, хорош ли ваш проект для инвестора: чеклист стандартных грабель стартапа


              Бизнес-ангел часто смотрит на стартаперов с недоумением

              Предположим, вы придумали какое-то железо, и теперь хотите начать его производство. У вас уже есть прототип: вот он, в руке, коряво выглядит, в 4 раза больше нормального размера и из него торчит провод. Но он работает. У вас горят глаза: ведь осталось только «допилить» его и начать производить по всему миру. Из маркетингового плана у вас есть только «запостить про железку на Хабр – и всё закрутится».

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

              Так вот, я занимаюсь тем, что отбираю стартапы для крупных и действительно крупных инвестиций. Ниже я хочу рассказать вам о том, как оценка проекта выглядит «с той стороны» для компаний, рассчитывающих не «срубить бабла по-быстрому», а готовых вкладываться в длинные проекты.
              Читать дальше →
              • +115
              • 71,1k
              • 51
            • Принудительно внедряем Helpdesk: опыт «Корпорации Зла»

                Что такое хелпдеск? Система управления заявками пользователей, личинка сервисдеска, первый шаг эникейщика на пути к ITIL, бла-бла-бла…



                Литература, посвященная вопросу организации системы управления инцидентами (заявками пользователей, проблемами в ИТ — называйте, как хотите) делится на две категории. Первая включает в себя технические низкоуровневые мануалы, посвященные, в основном, тонкостям настройки конкретных решений. Такие работы могут рассказать в подробностях, как добиться прироста производительности в WonderDesk величиной 0.001% под SuperSQL v.0.0001 alpha, но, как правило, ничего не говорят о том, зачем вообще нужен этот WonderDesk, и, главное, что с ним, существенно ускоренным, потом делать.

                Вторая категория написана для… Даже не знаю, для кого. Я бы сказал, что для богов, но им, вроде, инструкции не нужны. «Нужно пересмотреть саму парадигму взаимодействия паттернов бизнес-процессов в рамках концепции корпоративных ценностей с целью повышения уровня зрелости...» Ага, пересмотрел (предварительно подглядев в словаре значения всех этих непонятных слов), дальше что? Как сделать, чтобы мое «пересмотренное понимание» заставило пользователей писать заявки, эникейщиков — обрабатывать их, а уровень зрелости — повышаться?! Предлагаете «постепенно внедрять лучшие практики управления»? Да, как же их внедрить, если я простой эникейщик и ничем не управляю?!

                Остается одно — пытаться действовать «по наитию». О двух таких попытках, о том, как именно они предпринимались, какие имели предпосылки, к каким привели результатам, т.е. о практическом опыте внедрения хелпдеска в условиях агрессивной враждебной среды, и будет рассказано в этом топике. Надеюсь, он хоть немного заполнит образовавшийся пробел, предоставив эникейщикам и низкоквалифицированным админам сведения о том, как из состояния A, когда о хелпдеске и речи быть не может, перейти в состояние A', когда этот хелпдеск уже внедрен и работает.
                Читать дальше →
              • Техническое задание на сайт

                  UPD: Продолжение статьи с примером техзадания

                  Не так давно на хабре были две статьи (Согласно техническому заданию и А зачем мне ТЗ? Я и так знаю!) посвященные техническим заданиям. У меня обе статьи вызвали, мягко говоря, недоумение, в особенности статья «Согласно техническому заданию». На мой взгляд, это вообще вредная статья, которая приводит к неверному понимаю сути ТЗ. В связи с этим хочу выразить свой взгляд на этот вопрос. Не буду говорить обо всех тех. заданиях, слишком широка тема, но думаю смогу рассказать о ТЗ на сайт.

                  То описание технического задания, о котором речь пойдет ниже, не является пересказом ГОСТа, но скорее является его творческой переработкой, хорошо сдобренной горьким опытом. Описанный ниже подход к ТЗ не охватывает все аспекты сайтостроения, но задает общее направление.

                  Большинство сайтов можно отнести к маленьким и очень маленьким проектам, масштаба единиц человеко-месяцев. В силу малости размеров такие проекты спокойно поддаются хорошему продумыванию и легко реализуются с помощью водопадной модели, достаточно просто не лениться на каждом этапе разработки (от написания ТЗ до сдачи проекта). Применять к этим проектам гибкие методологии разработки нет смысла, а как раз есть смысл применять хорошее ТЗ. К тем сайтам, которые не попадают под водопадную модель не стоит применять описанный ниже подход.

                  1. Обоснование необходимости ТЗ


                  А зачем вообще нужно ТЗ на сайт? Заказчик говорит: «Нужен следующий сайт: каталог товаров, корзина, форма заказа, доставка, мы на карте, о нас, обратная связь». Что не ясно? Ничего необычного, всё обыденно и рутинно.

                  Разработчик отчетливо представляет, что нужно сделать, а сделать, в его понимании нужно вот так:



                  Далее много букв
                • NinjaMock — бесплатное приложение для прототипирования интерфейсов

                    Привет %username%! У нас отличные новости: вышла официальная версия NinjaMock — онлайн-сервиса для создания прототипов. Теперь ты можешь рисовать отличные прототипы веб- и мобильных приложений совершенно бесплатно!

                    Узнай, как это возможно и почему NinjaMock лучше всех!
                  • Мелкосерийное производство несложной электроники: в России или в Китае?

                    Недавно я разработал одно простое устройство. Пришлось решать вопрос, как изготовить пробную партию в 50 плат. Думаю, этот опыт будет полезен всем DIY энтузиастам, кто уже думает о том, что делать дальше после того, как девайс готов.

                    Замечу, что настоящая заметка — это не маркетинговое исследование или что-то подобное, претендующее на объективное освещение вопроса. Это исключительно один частный личный опыт.
                    Читать дальше →
                  • Управление запасами для небольших интернет-магазинов

                    image
                    Вопрос управления запасами торгового предприятия является одним из базовых для повышения эффективности его работы. Обычно этот термин ассоциируется со сложными аналитическими моделями, которые составной частью входят в крупные компьютерные системы управления предприятием (ERP). Легко представить себе заумных аналитиков, работающих с гигабайтами накопленной статистики с какой-то отдаленной целью «повысить эффективность».

                    На самом деле, это так и есть. Но это не вся правда.
                    Читать дальше →
                  • Рост команды, первые шаги

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

                      Люди мимоходом представлены друг другу — к чему пламенные речи, если к нам возвращаются друзья, с которыми с детсва мы делаем одно дело? Программист из прекрасного города Омска, где прошло его и дизайнера детство. Дизайнер, уже больше года живущий в центре Питера. Скиластый программер, талантливый дизайнер и наша команда…

                      Всё понятно, но что конкретно?
                    • Чек-лист по юзабилити интернет-магазинов

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


                        Читать дальше →
                        • +48
                        • 63,5k
                        • 4
                      • Использование MS Project для управления проектами по разработке ПО

                        • Tutorial
                        Я хочу поделиться своим опытом использования MS Project для управления проектами по разработке программного обеспечения. Я уже лет 10 занимаюсь управлением проектами,
                        и в результате у меня родилась некоторая методология использования MS Project, которая позволяет получить от него немалую пользу и при этом меньше зависеть от его недостатков.
                        Читать дальше →
                      • Два протокола управления проектами

                          Доброго времени суток.

                          Я пришел в управление проектами из программирования. То есть, нет так давно, я еще писал код и мне это очень нравилось. Меня мало беспокоили волнения, происходящие где-то на верху — «у менеджеров». Все поменялось в 2004, когда меня назначили тим лидом.

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

                          Тогда я начал задумываться о причинах такой ситуации, начал читать посты и книги по менеджменту. Как программист, находящийся под впечатлением революционных архитектурных решений — таких, как MVC и паттерны Фоулера, я полагал, что есть *техническое* решение наших проблем с менеджментом — нужно его только отыскать и применить.

                          Следующие несколько лет я искал *супер фреймворк* для управления проектами. Но только недавно понял, что его нет и быть не может. Проблема заключается в том, что в разработке ПО одновременно используются 2 конфликтующих протокола общения между участниками Процесса.

                          Сейчас я расскажу о моем текущем видении проблемы, а также опишу одну из возможных стратегий совместного использования этих двух протоколов.
                          Читать дальше →
                        • Системы управления проектами. Ищем альтернативы Basecamp

                            imageНа написание поста меня сподвигла найденная на просторах хабра ссылочка на сайт с альтернативами Basecamp. Уверен многие уже заходили и смотрели предлагаемые альтернативы. Я же решил просмотреть их все. По результатам просмотра было выбрано 4 (+ 1 бонусная) системы управления проектами, которые можно назвать реальными альтернативами Basecamp. Из них три являются чуть менее, чем полностью неизвестными на просторах хабра (поиск дает практически нулевой результат), что дает мне надежду на то, что данный топик сообщит вам что-то новое. Критерии выбора и краткий обзор систем под катом (осторожно скриншотный трафик ~0.5 Mb).

                            Читать дальше →
                          • Сайт сделали, что дальше? Организация службы поддержки web-студии



                              Очень часто при заказе сайта клиенты выбирают компанию (или фрилансера) только по соотношению “цена/качество”. При этом на такой важный параметр, как дальнейшее сопровождение, внимание не обращают. Хотя именно быстрая, профессиональная и недорогая поддержка чаще всего является залогом успеха сайта и удовлетворенности заказчика.

                              Что происходит при отсутствии выделенной службы поддержки? Клиент ждет ответа, ждет доработок — да хоть какой-то реакции! — и не получает ее в ожидаемое время с ожидаемым качеством. Тогда клиент ищет другие варианты.

                              Он обращается в одну студию, потом в другую. Везде ему в поддержке предыдущего сайта отказывают. И предлагают создать новый, более навороченный, лучше прежнего…

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

                              Читать дальше →