• Потребление контента похоже на процесс приёма пищи. Обычно мы тратим деньги на калории, но важна не только калорийность. Чем еда полезнее, вкуснее и красивее, тем больше мы её хотим. Так и с контентом. В этой статье поговорим, как стать «контентным поваром»: готовить текст так, чтобы его хотелось открыть и прочитать. А главное — чтобы он был полезен читателю и не стал фастфудом.
    Читать далее
  • 12 социальных навыков, которые совершенствуют работу руководителей IT-проектов

    Привет, Хабр! Представляю вашему вниманию перевод статьи: «12 Soft Skills That Make IT Project Managers Unstoppable» автора Pavel_Ku.

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

    Социальные навыки (также известные как “навыки работы с людьми") также важны, их развитие становится все более популярным среди рабочих мест во всех отраслях промышленности. Эти навыки обеспечивают реальное преимущество руководителям, которые научились их хорошо использовать.
    Читать дальше →
    • +12
    • 6.4k
    • 1
  • Как сделать ваш HTML отзывчивым, добавив одну строку кода на CSS

    • Translation
    Привет, Хабр! представляю вашему вниманию перевод статьи «How to make your HTML responsive by adding a single line of CSS» автора Per Harald Borgen.



    В этой статье я научу вас, как использовать CSS Grid для создания крутой сетки изображений, которая изменяет количество столбцов в зависимости от ширины экрана или окна браузера.

    Самое крутое, что для добавления отзывчивости потребуется написать одну строчку кода на CSS
    Читать дальше →
  • Хорошее публичное выступление: 11 простых советов

      Дисклеймер


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

      1. Структура доклада


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

      Ключевая проблема для слушателя – отсутствие вводной части. Выводы он может сделать и сам, а вот стартовать с опозданием сложно и неприятно. Он ещё не понял, что вы будете про пищеварение, а уже нужно вникать в строение эпителия тонкого кишечника. Результат – ваш доклад попадает в слушателя не на все 100%, а имеет шансы и вовсе пролететь мимо.
      Читать дальше →
    • Практичный гайд по переменным окружения в Go

      Привет, Хабр! Представляю вашему вниманию перевод статьи A no-nonsense guide to environment variables in Go автора Enda Phelan.

      Переменные окружения — лучший способ хранения конфигурации приложения, поскольку они могут быть заданы на системном уровне. Это один из принципов методологии Twelve-Factor App, он позволяет отделять приложения от системы, в которой они запущены (конфигурация может существенно различаться между деплоями, код не должен различаться).
      Читать дальше →
    • Исповедь docker хейтера

        Я должен признаться. Я ненавижу docker. Всей своей душой. Это самая ужасная софтина, которую я видел за последние 10 лет.


        С одной стороны, я очень уважаю одноименную компанию. Ребята из Docker Inc. реально популяризировали контейнеризацию. Теперь о ней не знает только ленивый. С другой стороны, ничего принципиально нового они не изобрели — контейнеризация на момент, когда Docker "выстрелил", уже существовала более 30 лет (начиная от chroot, вспомним еще jails и zones, ну, и наконец-то — namespaces & cgroups).


        Круто, что docker реально ускоряет разработку во множество раз. Если вести ее правильно, то даже без потери в качестве. В любом случае, docker здесь, от него не деться и приходится им пользоваться.


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


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

        Читать дальше →
      • Инструментарий тимлида от e-mail до канбан-доски

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

          Итак, по доброй традиции у нас будет 6 основных направлений нанесения пользы. Ниже их «говорящие» названия:

          • Личное развитие. 
          • Работа с командой. 
          • Инструментарий тимлида.
          • Развитие осознанности.
          • Трансформационные изменения в процессах и людях.
          • Выстраивание технологического процесса. 

          Сегодня поговорим об инструментарии тимлида. В эту секцию традиционно попадают доклады, которые так или иначе связаны с систематизацией, алгоритмизацией и автоматизацией различных обязанностей тимлида, начиная от учёта и постановки задач и заканчивая картами развития, чеклистами, программами фасилитации встреч и т.д. и т.п. В общем всё, что так или иначе помогает тимлиду в работе.



          Инструментарию тимлида в этот раз будет посвящено больше десяти докладов. С моей точки зрения это вполне соответствует положению дел в индустрии. Поскольку лиды в большинстве своём инженеры, то методы решения даже не инженерных задач у них всё равно близки к инженерным.
          Читать дальше →
          • +27
          • 8.9k
          • 5
        • Разбираемся с интерфейсами в Go

          • Translation
          • Tutorial

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

          1. Человеческим языком объяснить, что такое интерфейсы.
          2. Объяснить, чем они полезны и как вы можете использовать их в своём коде.
          3. Поговорить о том, что такое interface{} (пустой интерфейс).
          4. И пройтись по нескольким полезным типам интерфейсов, которые вы можете найти в стандартной библиотеке.
          Читать дальше →
        • Расти, Team Leader, большой и маленький

            Настало то замечательное время, когда компания, где вы работаете, начала расти, и команда стала настолько большой и неповоротливой, что потеряла гибкость. Старые подходы постепенно перестают работать, и вы понимаете, что пора что-то менять. Первым приходит логичное решение: давайте разделим людей на команды, во главе поставим Team Leader (TL) и заживем счастливо и весело, как раньше. Так давайте разберемся, где найти такого зверя, как TL. И, конечно, не забываем, что времени у нас нет, так как компания требует роста и развития бизнеса.

            image
            Читать дальше →
          • Что такое быть Team Leader

            Всем привет! Меня зовут Артур Дементьев, я бы хотел поделиться личным опытом и написать несколько статей о том, что из себя представляет менеджмент в IT. А также рассказать о том, на какие грабли наступал и каких ошибок можно было избежать. Все статьи я буду писать, основываясь на своём опыте работы в разных IT-компаниях, в которых я начинал как Team Leader (TL) команды из нескольких человек. В одной из них с нуля вырастил маленький отдел в большую IT-структуру и дорос до CTO.

            Проблемы есть во многих компаниях, часто люди допускают ошибки. Именно общение с ними сподвигло меня на написание статьи. В ближайшем времени, я постараюсь продолжить публикации. Надеюсь, они будут полезны TL, CTO, руководителям департаментов или тем, кто только собирается ими стать. А начну я с рассказа о том, что такое быть Team Leader, это будет взгляд изнутри.
            Читать дальше →
          • Serverless-подход для быстрой разработки рабочего видео-сервиса

              AWS Elemental

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

              Дано: root-аккаунт на AWS, отсутствие ограничений по выбору стека технологий, один бэкендер, и один месяц на разработку.

              Задача: реализовать промо-сервис, где пользователи загружают от одного до четырёх видео длительностью от одной до четырёх секунд, которые потом встраиваются в оригинальный видеоряд. То есть, подменяем фрагменты оригинального видео (заставка сериала) на пользовательские. Киллер-фича — возможность отправить своё имя, которое в виде красивого текста наложится на соответствующий фрагмент видео. Кроме того, пользователь может загружать видео длиной от 4 до 30 секунд, и на стороне сервиса оно обрежется до 4 секунд.
              Читать дальше →
            • Принципы построения REST JSON API

              • Tutorial

              Эта памятка писалась для внутренних нужд (открыть глаза менее опытным в вебе коллегам). Но, т.к. я насмотрелся велосипедов от довольно уважаемых, казалось бы, контор, — выкладываю на хабр. Мне кажется, многим будет полезно.


              Зачем


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


              • Стандарт HTTP это стандарт. Его несоблюдение вредно для кармы и ведёт к постоянным проблемам с безопасностью, кэшированием и прочими "закидонами" браузеров, которые совсем не закидоны, а просто следование стандарту.
              • Велосипеды со всякими {error: "message","result":...} невозможно нормально тестировать и отлаживать
              • Поддержка большим количеством готовых клиентских библиотек на все случаи жизни. Те, кто будет вашим api пользоваться, скажут большое человеческое спасибо.
              • Поддержка автоматизированного интеграционного тестирования. Когда сервер на любые запросы отдаёт 200 ОК — ну, это такое себе развлечение.
              Читать дальше →
            • Своя видео-платформа — ffmpeg и качество кодирования видео. Part 2


                Lenna любит хорошо выглядеть — фотомодель в конце концов. Ходят легенды, что добавление её в заголовок статьи, связанной с обработкой визуальных данных даёт +5 к шансу на плюсы.

                Продолжаю раскрывать особенности работы видео сервисов. Сегодня заметки про параметры кодирования и их выбор.

                Первая часть

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

                К сожалению, волшебной кнопки «скодировать совсем хорошо» не предусмотрено. Как и аналога caniuse для параметров кодирования. Придётся разбираться в особенностях работы кодеков.
                Читать дальше →
              • Мысленный эксперимент: Flutter на Go

                  Совсем недавно я открыл для себя Flutter – новый фреймворк от Google для разработки кроссплатформенных мобильных приложений – и даже имел возможность показать основы Flutter человеку, который никогда не программировал до этого. Сам Flutter написан на Dart – языке, родившимся в браузере Chrome и сбежавшим в мир консоли –  и это навело меня на мысль "хм, а ведь Flutter мог вполне бы быть написан на Go!".


                  Ведь почему нет? И Go и Dart созданы Google, оба типизированные компилируемые языки – повернись некоторые события чуть иначе, Go был бы отличным кандидатом для реализации такого масштабного проекта, как Flutter. Кто-то скажет – в Go нет классов, дженериков и исключений, поэтому он не подходит.


                  Так давайте представим, что Flutter уже написан на Go. Как будет выглядеть код и вообще, получится ли это?


                  Читать дальше →
                • Популярные бюджетные носимые радиостанции

                    В подборке речь пойдет про разрешенные носимые (маломощные) радиостанции разрешенного диапазона (LPD433/PMR446).

                    Это недорогие китайские рации типа Baofeng и Xiaomi, а также аксессуары к ним.


                    Читать дальше →
                  • Своя видео-платформа или чем занять много вычислительных ресурсов. Part 1

                      На фото — первый летающий четырёхколёсный велосипед. Источник.

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

                      Я в течение некоторого времени занимался проектированием и разработкой качественной видео-платформы. В этой статье я хочу описать те моменты, которые сам бы хотел знать в начале разработки.

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

                      Вторая часть.
                      Читать дальше →
                    • Mkcert: валидные HTTPS-сертификаты для localhost


                        В наше время использование HTTPS становится обязательным для всех сайтов и веб-приложений. Но в процессе разработки возникает проблема корректного тестирования. Естественно, Let’s Encrypt и другие CA не выдают сертификаты для localhost.

                        Традиционно есть два решения.
                        Читать дальше →
                      • Профессиональное выгорание: как распознать и предотвратить

                          Любить свою работу и много работать – хорошо, уметь вовремя распознавать выгорание – еще лучше. Но для многих признать свое выгорание значит проявить слабость и быть несостоятельным.

                          Рассказываем, почему не всегда нужно говорить себе «Соберись, тряпка!», какие стадии бывают у выгорания и как с ним бороться.

                          Разбираться в теме помогала психотерапевт Мария Берлин. А Java-разработчик ЕРАМ Юрий Безруков поделился своей историей выгорания.


                          Читать дальше →
                        • Code Conventions: как мы сохраняем быстрый темп разработки PHP-проекта

                            Привет, Хабр. Меня зовут Евгений Удодов, я сооснователь и технический директор компании Roistat. Хочу поделиться нашим опытом разработки большого и сложного продукта — системы аналитики.

                            TL;DR: Мы выложили на github наш Code Conventions и рассказали в статье о том, как его применять на практике.

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

                            За 4 года существования нашего проекта мы сделали больше 20 000 Pull Request’ов (далее PR) и под катом я расскажу, как же мы решили эти проблемы.


                            Читать дальше →
                          • Готовимся к релизу в App Store. Инструкция для новичков и лайфхаки

                            • Tutorial


                            Подготовили гайд для заказчиков, которые занимаются публикацией приложения самостоятельно. Рассказываем о предрелизных хлопотах: как создать аккаунт разработчика, сколько времени заложить на оформление D-U-N-S number, какие скрины подготовить для стора.
                            Читать дальше →
                            • +20
                            • 38.2k
                            • 4