company_banner
  • Git изнутри и на практике

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

      Команде AppsCast, конечно, захотелось узнать больше, и за консультацией по практическому применению всех возможностей Git ребята обратились к Егору Андреевичу из Square.


      Читать дальше →
      • +20
      • 14,7k
      • 2
    • Путеводитель по галактике DevOpsConf 2019

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

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



        Если хотите, то короткая выжимка нашего гида по DevOpsConf:

        • 30 сентября, в первый день конференции в первом зале рассмотрим 8 бизнес-кейсов.
        • Во втором зале в первый день разберем более узкоспециализированные инструментальные решения. В каждом докладе там много классного практического опыта, который однако подходит не всем компаниям.
        • 1 октября в первом зале наоборот говорим больше о технологиях, но уже более широко.
        • Во втором зале в второй день обсуждаем специфические задачи, возникающие не во всех проектах, например, в энтерпрайзе.
        Читать дальше →
        • +21
        • 1,8k
        • 4
      • История одной анимации

          Однажды фронтендеру позвонил дизайнер и попросил сделать «паутинку» за запотевшим стеклом. Но потом оказалось, что это не «паутинка», а гексагональная сетка, и не за стеклом, а она уходит вдаль, и с WebGL фронтендер не знаком, а всей анимации пришлось учиться в процессе рисования. Тем фронтендером был Юрий Артюх (akella).



          Юрий давно занимается версткой, а по воскресеньям записывает стримы с разбором реальных проектов. Он не профи в WebGL, не делает на нем карты, не пишет на Web-ассемблере, но ему нравится учиться чему-то новому. На FrontendConf РИТ++ Юрий рассказал, как провести одну анимацию от макета до сдачи клиенту так, чтобы все были довольны, и по дороге изучить WebGL. История идет от первого лица и включает в себя: Three.js, GLSL, Canvas 2D, графы и немного математики.
          Читать дальше →
          • +40
          • 12k
          • 4
        • Мал, да удал. Анбоксинг микровиртуалки Firecracker

            Записывайте рецепт микровиртуалок Firecracker. Берем два популярных метода изоляции многопользовательской нагрузки — виртуальные машины и контейнеры. Выжимаем лучшее из обоих подходов, максимально упрощаем, тестируем на настоящем хайлоаде. В итоге получаем непробиваемую изоляцию виртуалок, которые можно запускать за сотни миллисекунд. Именно это решение работает под капотом AWS Lambda и Fargate, запуская в облаке миллионы serverless-функций и контейнеров каждую секунду. Оно называется Firecracker.



            Этот инструмент микровиртуализации доступен в OpenSource. Если ваши задачи требуют мульти-тенантной изоляции, (ну, например, вы решили сделать собственное облако), Firecracker — это то, что надо.

            Василий Пантюхин, архитектор Amazon Web Services, расскажет об архитектуре Firecracker, о том, как он используется AWS Lambda, сравнит его с альтернативными решениями и приведет примеры интеграции.

            Дисклеймер: всё, что ниже — это личное мнение Василия, и оно может не совпадать с позицией Amazon Web Services.
            Читать дальше →
            • +33
            • 9,8k
            • 2
          • Правда ли, что GOPATH и GOROOT больше не нужны?

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

              Читать дальше →
            • Инфраструктура компании как продукт

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

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

                До понимания, что инфраструктура IT-компании это тоже продукт, что у нее есть цель, что надо считать затраты и отслеживать метрики, дело часто не доходит.


                Знаете ли вы сколько стоит ваша инфраструктура: серверы, ПО, внешние сервисы? Как вы считаете затраты на нее, по каким метрикам? Сколько вы потеряете, если что-то упадет или не будет бэкапа? Ответы на эти вопросы знает Артём Науменко (@entsu) из Skyeng. Он работал как в компаниях с двумя разработчиками в штате, так и в корпорациях с тысячей сотрудников. Сейчас руководит инфраструктурой в Skyeng и, одновременно, СТО детского обучения Skyeng. Артем расскажет как в компании строят инфраструктуру, как зарабатывают на ней деньги и какие ошибки не стоит допускать.
                Читать дальше →
                • +29
                • 4,3k
                • 5
              • По следам русского Scala-движа. Часть 2

                  В прошлой части расследования Роман Тимушев посоветовал связаться с Владом, что я и сделал. Влад уточнил, что меня интересует, делайны и согласился написать несколько абзацев. На следующее утро я увидел уведомление в Facebook. Это Влад нашел нового свидетеля — Александра Подхалюзина. С 2008 по 2017 он работал как тимлид над Scala plugin в IDEA и лично видел все развитие Scala-движения, но, в основном, не российскую часть.

                  В голове «щелкнуло» — планы меняются, это новая нить в расследовании. Обозначили время и записали часовое интервью с Александром. Информации столько, что вместить его куда либо кроме отдельной части не было вариантов. Поэтому, предупреждаю — впереди много текста.



                  В этой части говорим с Александром Подхалюзиным и Михаилом Муцянко. Вне программы — комментарий Ильи Сергея. Scala plugin, первые Scala-мероприятия в России, уход в Kotlin, Native на обоих языках, закат Eclipse и многое другое под катом.
                  Читать дальше →
                  • +30
                  • 2,9k
                  • 1
                • Зачем вашему приложению Accessibility

                    Удобная навигация, интуитивно понятный интерфейс, оформление заказа в пару кликов — ежедневно мы упрощаем жизнь клиентов наших приложений, учитывая их пожелания и боли. Из-за отсутствия нужной аналитики в этом процессе мы упускаем запросы большой категории потенциальных пользователей с ограничениями по здоровью, которым не удается воспользоваться мобильными сервисами просто потому, что вы не уделили внимание вопросам доступности. Как сделать ваше приложение комфортным для людей с нарушениями зрения, рассказывают сотрудники Додо Пиццы в расшифровке нового выпуска AppsCast.


                    Читать дальше →
                    • +21
                    • 3,1k
                    • 1
                  • Митапы Saint TeamLead Conf для углубления в тему

                      В продолжение серии статей о том, как на Saint TeamLead Conf мы собираемся раскрыть три важнейших блока работы тимлида — работу с командой, инструментарий тимлида и развитие осознанности — сегодня расскажу о темах, которые будем обсуждать в формате камерных встреч, митапов, мастер-классов, круглых столов.

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

                      Сказано — сделано. В Питере 23 и 24 числа в рамках Saint TeamLead Conf для этого будет два отдельных трека, в которые мы уже разместили 9 митапов. О них и пойдёт речь ниже.

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

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



                        Ребята из AppsCast совместно с Head of Mobile проекта Pandao Александром Черным (@AlexChernyy) попробовали разобраться в вопросе и составить собственную карту развития мобильного разработчика с момента попадания в профессию и до руководящих постов. Под катом советы о собеседовании джунов, где брать хороших разработчиков, рекомендации новичкам для устройства на работу, ключевые отличия джунов, мидлов и сеньоров, и важность навыка коммуникации для всех уровней.
                        Читать дальше →
                        • +37
                        • 18,3k
                        • 9
                      • Безболезненный Fallback Cache на Scala

                          В крупных или микросервисных архитектурах самый важный сервис не всегда самый производительный и бывает не предназначен для хайлоада. Мы говорим о бэкенде. Он работает медленно — теряет время на обработке данных и ожидании ответа между ним и СУБД, и не масштабируется. Даже если само приложение масштабируется легко, это узкое место не масштабируется совсем. Как эту проблему решить и обеспечить высокую производительность? Как обеспечить ответ системы, когда важные источники информации молчат?



                          Если ваша архитектура полностью соответствует Reactive-манифесту, составные части приложения неограниченно масштабируются с возрастанием нагрузки независимо друг от друга, и выдерживают падение любого узла, — вы знаете ответ. Но если нет, то Олег Нижников (Odomontois) расскажет, как проблему масштабируемости решили в Тинькофф, построив свой безболезненный Fallback Cache на Scala, не переписывая приложение.

                          Примечание. В статье будет минимум кода на Scala и максимум общих принципов и идей.
                          Читать дальше →
                          • +25
                          • 3,6k
                          • 1
                        • Product Fest — конференция по управлению IT-продуктами, на которую вы захотите пойти

                            Управление продуктом — состоявшаяся дисциплина. На продакт-менеджеров большой спрос, а практических знаний хватает не у всех, поэтому 9 декабря мы проведем профессиональную продуктовую конференцию Product Fest. К её организации и программе мы применяем правило: «Сделать такую конференцию, на которую сами хотели бы сходить».



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

                              Никита Дубко — разработчик интерфейсов в компании Яндекс. Помимо работы в Яндексе, Никита участвует в организации англоязычной конференции CSS-Minsk-JS и митапов MinskCSS и MinskJS. На FrontendConf на РИТ++ 2019 Никита выступал с докладом «Алиса, пойдем во фронтенд». В нём описан эксперимент по созданию голосового навыка от Алисы от разработчика, который раньше с ней не работал. Доклад интересен тем, что за время, пока выступает спикер, легко создать такой же навык. Рассказ об Алисе зрители выбрали лучшим на всей конференции.



                              За плечами Никиты десятки выступлений, на каждое из которых уходят недели. Во время подготовки он изучает много нового материала, тренирует выступления на камеру, среди коллег и друзей, оттачивает сценарий и слайды. Поэтому его доклады интересны, увлекательны и заслуженно получают высшие оценки слушателей. О подготовке к докладам, изменениях в жизни, синдроме самозванца, а также о том как выступать на конференциях, чтобы получить работу в Яндекс, в интервью Никиты Дубко. Это не совсем обычное интервью, а текстовая расшифровка подкаста Frontend Weekend, который ведёт Андрей Смирнов. Что из этого получилось, читайте под катом.
                              Читать дальше →
                            • Учимся работать с командой на Saint TeamLead Conf

                                Впервые на Saint TeamLead Conf 2019 будет три потока докладов. Мы растём и развиваемся, а тематика конференции позволяет широко и глубоко освещать разные направления работы и развития тимлида. Традиционно будет 6 основных направлений: личное развитие, работа с командой, инструментарий тимлида, развитие осознанности, трансформационные изменения в процессах и людях и выстраивание технологического процесса. В прошлый раз я рассказывал о докладах, которые попали в секцию «Инструментарий тимлида» и «Развитие осознанности». Теперь анонсирую блок о работе в команде.



                                Управление маленькими командами — это основа работы лида, и мы регулярно уделяем внимание этой теме на всех конференциях серии. Saint TeamLead Conf в 2019 году не стала исключением. Этой осенью поговорим о «любимом» микроменеджменте, канбане, корпоративной культуре, «дружественном коллективе» и Data Science. Все подробности под катом.
                                Читать дальше →
                              • По следам русского Scala-движа. Часть 1

                                  Эта серия интервью приурочена к ScalaConf — к первой настоящей конференции в России, полностью посвященной Scala, которая пройдет 26 ноября. Перед этим событием я взял интервью у 6 свидетелей и «апостолов» зарождения движения Scala в России. Здесь не будет обсуждения Free, Tagless Final, Monix, IO или ZIO, и «попинывания» Future. Моя цель — обсудить Scala в историческом контексте. Я записал все бородатые байки, сгонял в прошлое на 10 лет назад и собрал неактуальные, но интересные истории о языке.



                                  Серия задумывалась в формате «Намедни» Парфенова — события, люди, явления. Я собирался найти тех, кто когда-либо организовывал митапы в России, собрать у них информацию о всем важном и интересном, отсортировать и расставить по годам. Каждое интервью начинал с того, что просил максимально точно установить год повествования. Но, интервью получились не такими как я ожидал и резать их в формате «Намедни» рука не поднялась. Поэтому серия будет рассказывать истории в формате личного расследования. Как все было, в какой очередности, как выходил на людей, и что я о них знал до интервью. Под катом — допросы и протоколы, первые проекты на Scala, первые митапы и зарождение движения.
                                  Читать дальше →
                                • Развитие осознанности на Saint TeamLead Conf

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



                                    Традиционно мы несем пользу в 6 основных направлениях. Их «говорящие» названия такие: личное развитие, работа с командой, инструментарий тимлида, развитие осознанности, трансформационные изменения в процессах и людях и выстраивание технологического процесса.
                                    Читать дальше →
                                  • Time series данные в реляционной СУБД. Расширения TimescaleDB и PipelineDB для PostgreSQL

                                      Time series данные или временные ряды — это данные, которые изменяются во времени. Котировки валют, телеметрия перемещения транспорта, статистика обращения к серверу или нагрузки на CPU — это time series данные. Чтобы их хранить требуются специфичные инструменты — темпоральные базы данных. Инструментов — десятки, например, InfluxDB или ClickHouse. Но даже у самых лучших решений для хранения временных рядов есть недостатки. Все time series хранилища низкоуровневые, подходят только для time series данных, а обкатка и внедрение в текущий стек — дорого и больно.



                                      Но, если у вас стек PostgreSQL, то можете забыть о InfluxDB и всех остальных темпоральных БД. Ставите себе два расширения TimescaleDB и PipelineDB и храните, обрабатываете и проводите аналитику time series данных прямо в экосистеме PostgreSQL. Без внедрения сторонних решений, без недостатков темпоральных хранилищ и без проблем их обкатки. Что это за расширения, в чем их преимущества и возможности, расскажет Иван Муратов (binakot) — руководитель отдела разработки в «Первой Мониторинговой Компании».
                                      Читать дальше →
                                    • Что будет на конференции UseData Conf 2019?

                                        Ура! Мы завершили формирование программы конференции UseData Conf 2019! Эта конференция для тех, кто решает практические задачи с помощью методов машинного обучения. Между идеальным алгоритмом в вакууме и его применением на реальных данных часто лежит пропасть. Мы хотим, чтобы те, кто умеет преодолевать эту пропасть, встретились и смогли обменяться опытом.



                                        Магия машинного обучения для управленцев, истории применения ML для анализа эффективности рекламы в телевизоре, беспилотные игрушечные машинки, нефть и автомобильные номера — это лишь часть докладов на UseData 2019. Об этих и других темах подробнее под катом.
                                        Читать дальше →
                                      • Когда почта доставляет: боремся с потерями push-уведомлений в iOS

                                          Со стороны пользователя почтовый клиент — приложение нехитрое. Разработчики Яндекс.Почты даже шутят, что в приложении всего три экрана: список писем; отправка письма; экран about.

                                          Но очень много интересного происходит под капотом. Как многие мобильные приложения, Почта использует push-уведомления, чтобы взаимодействовать с пользователями. Как многие iOS-приложения, Почта теряет часть уведомлений в силу особенностей работы Apple Push Notification Service.

                                          Руководитель iOS-группы Яндекс.Почты Ася Свириденко докажет, что даже с учетом ограничений системы, с потерями push-уведомлений можно и нужно бороться, если они критичны для вашего приложения. Для Почты это так, потому что push-уведомления о новых письмах — это то, ради чего пользователь устанавливает приложение. Если же для вашего приложения доставка push-уведомлений не так критична, узнать, какие велосипеды нагородила мобильная Яндекс.Почта, все равно интересно.


                                          Речь пойдет о remote notification, то есть уведомлениях, которые приходят с сервера через APNs (Apple Push Notification Service). Локальные уведомления затрагивать не будем и поговорим о том:

                                          • Как выглядит API для работы с push-уведомлениями. Рассмотрим схему доставки push-уведомлений и то, где в этой схеме могут возникать потери. 
                                          • Как решили бороться с потерями в Яндекс.Почте — об очереди push-уведомлений.
                                          • Как логировать и какие еще сложности могут встретиться.
                                          Читать дальше →
                                          • +30
                                          • 7,9k
                                          • 9
                                        • Развитие команды и рефлексия как управленческая коммуникация тимлида

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

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


                                            Главным инструментом для развития я считаю рефлексию. Это понятие обычно ассоциируется с ретроспективами, обратной связью, performance-review. Но в основе рефлексии лежит глубинный психологический процесс, поэтому предлагаю начать с основ и рассмотреть рефлексию подробнее.
                                            Читать дальше →
                                            • +31
                                            • 8,3k
                                            • 5

                                          Самое читаемое