• Как стать тимлидом и не взорваться



      Два года назад я начал негласно исполнять роль iOS-lead в компании Touch Instinct и формированием стабильной работы iOS-отдела. Спустя полгода это трансформировалось в официальную должность. Из-за отсутствия опыта у меня возникало огромное количество проблем, которые вызывали жжение в области верхней части кресла. Это происходило из-за ряда факторов:


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

      Если вы стали лидом и первоначальная эйфория сменилась небольшим горением и унынием, то пара советов не будет лишней.

      Читать дальше →
    • 50 оттенков Go: ловушки, подводные камни и распространённые ошибки новичков

      • Перевод
      • Tutorial


      Go — простой и забавный язык. Но в нём, как и в любых других языках, есть свои подводные камни. И во многих из них сам Go не виноват. Одни — это естественное следствие прихода программистов из других языков, другие возникают из-за ложных представлений и нехватки подробностей. Если вы найдёте время и почитаете официальные спецификации, вики, почтовые рассылки, публикации в блогах и исходный код, то многие из подводных камней станут для вас очевидны. Но далеко не каждый так начинает, и это нормально. Если вы новичок в Go, статья поможет сэкономить немало часов, которые вы бы потратили на отладку кода. Мы будем рассматривать версии Go 1.5 и ниже.
      Читать дальше →
    • Как работает Git

      • Перевод
      В этом эссе описана схема работы Git. Предполагается, что вы знакомы с Git достаточно, чтобы использовать его для контроля версий своих проектов.

      Эссе концентрируется на структуре графа, на которой основан Git, и на том, как свойства этого графа определяют поведение Git. Изучая основы, вы строите своё представление на достоверной информации, а не на гипотезах, полученных из экспериментов с API. Правильная модель позволит вам лучше понять, что сделал Git, что он делает и что он собирается сделать.

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

      После прочтения для ещё более глубокого погружения можно обратиться к обильно комментируемому исходному коду моей реализации Git на JavaScript.
      Читать дальше →
    • Как работают над Chromium

      • Перевод
      image
      Предисловие от автора оригинала:
      В марте 2011 я написал черновик статьи про то, как команда, отвечающая за Google Chrome, разрабатывает и выпускает свой продукт — после чего я благополучно о нем забыл. Лишь несколько дней назад я случайно наткнулся на него. Пусть местами он уже устарел (Chrome форкнул WebKit в Blink в 2013 году, да и я сам больше не работаю в Google), я склонен считать, что изложенные в нем идеи все еще в силе.
      Сегодня я собираюсь рассказать вам о том, как работает Chromium. Нет, речь пойдет не совсем о браузере Chrome, а скорее о Chromium — группе людей, занимающихся созданием браузера.

      Над проектом Chromium работают сотни инженеров. Вместе мы коммитим в кодовую базу примерно 800 изменений каждую неделю. Мы также зависим от многих других больших и активно развивающихся проектов вроде V8, Skia и WebKit.

      Мы отправляем новый стабильный релиз сотням миллионов пользователей каждые шесть недель, четко по расписанию. И мы поддерживаем несколько других каналов раннего доступа, которые обновляются еще быстрее — самый быстрый канал, canary, «тихо» авто-обновляется почти каждый будний день.

      Каким образом все это продолжает работать? Почему «колеса» у этого «автобуса» еще не «отвалились»? Почему еще не все разработчики сошли с ума?
      Читать дальше →
    • Городской дизайн: 4 лекции о создании схем навигации в метро и не только



        Был недавно в Прожекторе, где собрались дизайнеры (руководители проектов) которые занимались улучшением навигации в метро (и не только в метро) в Москве и Киеве.

        Из Москвы на эту сессию лекций приехал Алексей Радченко, который руководил разработкой системы единой транспортной навигации для Москвы (и в метро тоже) в 2014 году.

        В лекциях пойдет речь о том:
        — что такое навигация?
        — какой она должна быть?
        — как ее сделать удобной и понятной для людей и как ее постоянно улучшать?
        — как взаимодействовать со всякими «железобетонными» по образу мысли госорганами, которые отвечают за навигацию?
        — примеры дизайна навигации из других городов
        — ребята из "Агентов змин" рассказали о том как они создавали схемы навигации для киевского метро
        — как работают студии (не Лебедева), которые специализируются на разработке и дизайне навигационных схем для городов?
        и о многом другом касательно дизайна городской среды в плане навигации. Лекция сверстана со слайдами, чтобы можно было сразу наглядно видеть примеры того, о чем говорит докладчик.

        Лекции будут интересны всем, кто интересуется дизайном вообще, городским дизайном и дизайном навигационных схем в частности. Также лекции будут интересны менеджерам проектов, так как все, что связанно с проектами городского дизайна требует большего искусства в управлении, чем в обычных бизнес-проектах. Чего только стоит постоянная работа с госорганами и утверждение всех проектов в этих ведомствах.
        Читать дальше →
      • Более чем 80 средств мониторинга системы Linux

          Ниже будет приведен список инструментов мониторинга. Есть как минимум 80 способов, с помощью которых ваша машинка будет под контролем.



          1. первый инструмент — top

          Консольная команда top- удобный системный монитор, простой в использовании, с помощью которой выводится список работающих в системе процессов, информации о этих процессах. Данная команда в реальном времени сортирует их по нагрузке на процессор, инструмент предустановлен во многих системах UNIX.
          читать дальше
        • Как составлять email-автоответы: Анализ 100 заявок в службы поддержки ИТ-компаний



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

            Сегодня речь пойдет о другой важной теме — создании автоответов из служб поддержек технологических компаний. Сотрудник проекта StatusPage Блейк Торн опубликовал в блоге рассказ об интересном эксперименте — команда проекта отправила 100 заявок в службы поддержки разных компаний, чтобы узнать, какие автоответы они используют. Цель эксперимента — увидеть слабые места в таких коммуникациях с клиентами. Мы представляем вашему вниманию главные мысли этого материала.
            Читать дальше →
          • Несколько дельных советов по CSS


              CSS Protips

              Это современные решения типичных проблем, коллекция советов, которая поможет вам улучшить ваши профессиональные навыки CSS.

              От переводчика

              Приветствую, для вас подготовлен еще один перевод заметок на тему CSS. Мэтт Смит, разработчик из Портленда, поделился CSS-советами и выложил их на GitHub. Мне особенно понравилась его подборка, она структурирована, не особо громоздкая в плане скучных больших текстов и описаний, и в целом будет понятна даже новичку. Я буду рад, если в комментариях мы с вами обсудим каждый пункт и в итоге дадим некоторые заключения. Итак, приступим.



              Cодержание


              1. Используем псевдо-класс :not для задания рамки навигации
              2. Добавляем межстрочный интервал элементу body
              3. Центрируем по вертикали все что угодно
              4. Правильно разделяем запятыми элементы списков
              5. Отрицательный порядковый номер в nth-child
              6. Используем SVG-логотипы
              7. Аксиоматический CSS
              8. Максимальная высота у CSS-слайдера
              9. Наследуем box-sizing
              10. Одинаковая ширина ячейки таблицы
              11. Динамические внешние отступы при помощи flexbox
              12. Используем селектор атрибутов пустых ссылок
              13. Стили по умолчанию для обычных ссылок
              Читать дальше →
            • Неправильно использованные шаблоны мобильного интерфейса

              • Перевод


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

              Некоторые могут возразить, что следование гайдам может убить творчество, и в итоге все приложения будут выглядеть одинаково. С точки зрения UX, я тут вижу другую проблему. Может казаться, что применение лучших шаблонов, которые используют Google / Facebook / Instagram / [вставить любимое приложение], всегда является отличным решением. Что они ставят себе такие же задачи, что и вы. Вот несколько шаблонов, которые считаются (или считались) лучшими, но в то же время не такие уж они и хорошие, какими кажутся на первый взгляд.
              Читать дальше →
            • 40 ключевых концепций информационных технологий доступно и понятно

              • Перевод
              Представляю вашему вниманию перевод очень ёмкой, и в то же время достаточно краткой (для такого масштаба проблемы) статьи Карла Чео. Я решил, что очень хочу сделать её перевод практически сразу, как только начал читать, и очень рад, что в итоге сделал это.
              Для того, чтобы сделать обучение более веселым и интересным, представляю вам перечень важных теорий и концепций информатики, объяснённых с помощью аналогий с минимальным количеством технических деталей. Это будет похоже на очень быстрый курс информатики для всех с целью просто дать вам общее представление об основных концепциях.

              Важные замечания:
              • Пункты с неуказанным источником написаны мной самостоятельно. Поправьте меня, если вы заметите какие-то неточности. Предложите лучшую аналогию, если это возможно.
              • Заголовки ссылаются на соответствующие им статьи в Wikipedia. Пожалуйста, читайте эти статьи для более серьезных и детальных объяснений.
              • Аналогии — отличный способ объяснить материал, но они не идеальны. Если вы хотите по-настоящему понять перечисленные концепции, вам следует начать с фундаментальных азов и рассуждать, исходя из них.

              Также зацените эту инфографику (вариант на русском), если вы просто начинающий программист.
              Читать дальше →