• 9 анти-паттернов, о которых должен знать каждый программист

    • Перевод
    В программировании самокритика – это умение распознать контрпродуктивные решения в дизайне, коде, процессах и поведении. Знание о вредных шаблонах решений полезно для программиста. В этой статье я опишу анти-паттерны, которые я встречал на своём личном опыте время от времени.

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

    1 Преждевременная оптимизация


    В 97% случаев надо забыть об эффективности малых частей программы: преждевременная оптимизация – корень всех зол. Но в 3% случаев об оптимизации забывать не нужно.
    Дональд Кнут

    Хотя никогда зачастую лучше, чем прямо сейчас
    Тим Питерс, Зен языка Python


    Что это

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

    Почему плохо

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

    Как избежать

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

    • Перевод
    Перевод статьи Seven Deadly Sins of a Software Project автора Yegor Bugayenko.

    Сопровождаемость — это наиболее ценное достоинство современной разработки программного обеспечения. Сопровождаемость может измеряться, в основном, рабочим временем, которое требуется новому разработчику, чтобы вникнуть в проект, до того, как он начнет вносить значимые изменения. Чем больше времени это занимает, тем меньше уровень сопровождаемости. В некоторых проектах это время близко к бесконечности, что означает, эти проекты практически не сопровождаемы. Я хочу рассказать вам о семи смертных грехах, которые делают программный продукт несопровождаемым.
    Читать дальше →
  • Apple может предложить разработчикам больше


      Фото: Олег Харсеев / Коммерсантъ

      В настоящее время прибыль от продажи приложений из онлайн-магазина App Store, а также продаж медиаконтента делится в соотношении 70/30. При этом 70% идет разработчикам, и 30% — Apple. Сейчас корпорация рассматривает возможность изменения модели распределения прибыли, пишет «Коммерсант». Одна из причин, возможно — требования разработчиков, пишущих приложения под iOS. Дело в том, что размещение приложения в каталоге Google Play приносит разработчикам больший доход, чем размещение в App Store.
      Читать дальше →
    • Универсальная среда общения

      Привет, Мегамозг!

      В последнее время мы много думали. Над нашими продуктами – настоящими и будущими. Что может сделать для компании современная связь, чтобы стало лучше, проще и удобнее?

      По сути каналов коммуникаций больше не становится.
      Всё то же аудиообщение, видео, чаты – только в разных форматах. Скайпы, вайберы, вотсапы – да, они растут вширь, но не вглубь.
      И правда, что тут можно придумать нового?


      Читать дальше →
    • Корпоративная социальная сеть – зачем и для кого?

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

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


        Читать дальше →
      • 26 полезных советов из области email-маркетинга от самых успешных компаний со всего мира

        • Перевод


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

        Конверсии просто так не происходят; также и электронные письма сами по себе не приносят результата. Эти 26 советов опираются на опыт ведения email-маркетинга нескольких наиболее успешных компаний со всего мира.
        Читать дальше →
        • +7
        • 22,9k
        • 7
      • 4 причины, по которым дизайн покоряет Силиконовую Долину

        • Перевод


        Растет ли значение дизайна в Долине? Джон Маэда, партнер венчурного фонда Kleiner Perkins Caufield & Byers, уверен, что да. Во время презентации на South by Southwest 2015 он заявил, что Долина не просто начинает относиться к этому серьезнее, а оказывается захвачена дизайном. Вот четыре причины, по которым самые успешные технологические компании будущего будут, по сути, дизайнерскими.
        Читать дальше →
      • 7 признаков стартапа на миллиард

        "«Хватит. Я больше не желаю слушать этот вздор. Матрацы никогда не заменят гостиниц» — Уилсон прервал разговор. Мы пытались возразить, но он был непреклонен. Фред Уилсон был 15-м инвестором, который отказал выслушать нас до конца" — вспоминает Брайан Чески, основатель Airbnb.

        Когда мы проектировали стартап Grrow.me, то задалась одним вопросом. Какие признаки делают проект миллиардным?
        Открыв эти признаки, мы решили следовать им в своём проекте и поделиться с вами.

        1. Одной ногой из будущего

        15 инвесторов Airbnb – отказали Брайану Чески, Джо Геббиа и Нэйтану Блечарзике. Они посчитали идею сервиса бредом – ну действительно, кто будет сдавать свою комнату незнакомым людям? Сейчас стартап стоит 20 миллиардов.

        Что не учли эти 15 инвесторов? Они просто смотрели вокруг и не видели людей, кто сдаёт комнаты – этого просто почти никто не делал. Они не смогли увидеть будущее шеринг экономики. Будущее разглядеть не просто. Сложившиеся стереотипы и устои не позволяют многим смотреть за горизонт.

        image
        Читать дальше →
        • +10
        • 9,3k
        • 9
      • Geo индекс для поиска новых знакомых или революционное открытие ученых из Австрии

          Как вы знаете, Badoo — сервис для поиска новых людей. Кроме всего прочего, мы позволяем искать людей вокруг и в «игре» тоже показываем людей, которые находятся недалеко от вас. Эта часть «вокруг» очень и очень важна. Ведь молодому человеку из Новосибирска гораздо интереснее познакомиться с девушкой, которая живет в пяти минутах ходьбы от него, а не во Владивостоке.
          Мы до сих пор не рассказывали публично о том, как мы это делаем. Но новое открытие австрийских ученых настолько нас обрадовало, что мы решились это сделать. Перейдем же к делу.
          Badoo работает по всему миру и наш поиск работает абсолютно одинаково, вне зависимости от того, в какой точке земного шара вы находитесь. Как же эффективно искать людей вокруг среди всех 200+ миллионов пользователей?
          Решение нетривиально, честно говоря. Нам нужен какой-то индекс, какой-то способ сразу же сузить область поиска. В случае с земным шаром, самым простым разбиением является сетка географических широт и долгот. Однако проблема с этой сеткой в ее неравномерности. Ячейка у северного полюса и ячейка у экватора имеют совсем разные формы. Такое несимметричное разбиение вносит большие проблемы, если мы хотим равномерно распределить нагрузку по поисковому кластеру.
          Читать дальше →