Думаю, что каждый из читателей встречался с проблемами отдыха.
Знакомое всем слово "выгорел" и последствия этого выгорания встречаются на каждом шагу.
Казалось бы в чем проблема - требуется всего лишь побольше поспать, поесть и силы придут сами собой.
Однако минуты сменяются часами, а сил больше не становится.
Как итог решил разобраться в вопросе более детально и получил интересные выводы.
Информация рассматриваются со стороны работников сферы IT, но в целом может быть экстраполирована на любую область.
Материал будет интересным в первую очередь для Руководителей и службы HR.
Однако, он может оказаться занимательным и для тех, кто хочет лучше разобраться в том, как работает его организм в целом и почему именно так.
User
WIGs или ставим цели по-крупному
Захотел сделать небольшой обзор о методологии постановки целей, которая в последнее время стала очень популярной в бизнес‑тусовке — WIGs (Wildly Important Goals). Расшифровывается это как «безумно важные цели». Звучит уже круто! Но в чем же суть?
Представьте, что вы решили накачать кубики к лету. Вы могли бы поставить себе кучу целей: бегать по утрам, качать пресс, есть брокколи, запивая протеином и все в таком роде. Но давайте будем честными, скорее всего, вы забьете на все это через неделю.
А теперь представьте, что вы выбрали одну, но очень‑очень важную цель — пробежать марафон. Это и есть ваша WIG. Теперь все ваши действия подчинены этой цели. Утренние пробежки — чтобы подготовиться к марафону. Здоровое питание — чтобы быть в форме для марафона. Даже пивко с друзьями в пятницу вечером — не, ребята, завтра на тренировку.
Так же работают WIGs и в бизнесе. Вы выбираете одну (ну максимум две) «безумно важные цели» на ближайший период, обычно квартал, и фокусируете на них все усилия команды. Все, что не работает на достижение этих целей — безжалостно отметается.
Проклятие новичка-эксперта: как развалить команду разработчиков
Почему некоторые разработчики останавливаются в развитии, выбирая путь посредственности, и при этом получают отличные зарплаты, повышения и признание?
Программист и основатель нескольких компаний Эрик Дитрих* объясняет это феноменом «экспертов-новичков» — самоуверенных дилетантов, которые имеют влияние именно благодаря своей ограниченности. Под катом читайте, как такие псевдоэксперты появляются и приводят продуктивные команды к деградации. А также советы, как избавиться от влияния их «экспертного» мнения, сохранить эффективность коллектива и самому не попасть в ловушку ложного всезнайства.
*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис
Что такое конвейер CI/CD?
Быстрая доставка качественного программного обеспечения стала важнее, чем когда-либо, в современной индустрии разработки ПО. Конвейеры непрерывной интеграции и непрерывной доставки (CI/CD) стали стандартными инструментами для команд разработчиков, позволяющими перемещать код от разработки к производству. Обеспечивая частые интеграции кода и автоматизированную развертку, конвейеры CI/CD помогают командам избежать так называемого «ада интеграции» и обеспечивают надежный цикл выпуска программного обеспечения.
В этой статье мы узнаем основы работы конвейеров CI/CD – что они собой представляют, как работают и почему они необходимы в современной разработке программного обеспечения. Мы рассмотрим различные этапы конвейера CI/CD, приведем реальные примеры использования инструментов, таких как GitHub Actions, и обсудим стратегии оптимизации производительности вашего конвейера.
Кроме того, мы поговорим о выборе правильной платформы CI/CD для вашей организации, учитывая такие факторы, как облачные решения против самохостинга, возможности интеграции и удобство использования.
Итак, давайте начнем.
Domain-Driven Design: чистая архитектура снизу доверху
Когда мидл-разработчик дорастает до сениора, его, как правило, мучает вопрос: как правильно писать приложение? Понятно, что когда он был джуном, ему давали совсем атомарные задачи, и он развлекался покрытием тестов или написанием контроллеров. Переход в мидлы знаменуется назначением на разработчика более абстрактных задач вроде реализации сервисов, репозиторной части или интеграции с внешними сервисами посредством клиентов. Но в какой-то момент мидл начинает задавать самому себе вопросы: как найти единственно правильный способ написать приложение с нуля?
Если Вы - мидл, и Вас стали мучать такие вопросы — поздравляю, Вы на верном пути. Ведь профессиональный рост не происходит с переводом на должность - новый сениор должен родиться, и это как раз муки такого рождения.
Да, мы уже знаем самые популярные практики: KISS, DRY, YAGNI, SOLID, что там ещё... Мы умеем их применять. Но нас не покидает чувство, что все эти практики объединяет общая научная основа. Знаете, это как с Менделеевым, который на основе закономерностей практически по наитию составил периодическую систему, а потом открыли электроны и всё встало на свои места.
У меня для вас хорошие новости: научная основа есть. Это предметно-ориентированное проектирование.
Но есть и плохая новость: тема настолько новая и непростая в изучении, что какая-никакая популярность к ней пришла лет 5 назад, и до сих пор совсем небольшое число разработчиков достаточно хорошо в ней разбирается.
Но есть ещё одна хорошая новость: в статье ниже я постараюсь дать максимально понятный ответ, что же такое предметно-ориентированное проектирование.
Начнём.
Математическая продлёнка. Изобретаем эллиптические числа
Продолжаем разбираться с числостроительством в серии заметок «Изобретаем числа». В предыдущих статьях этой серии мы последовательно подходили к построению числовых систем (алгебраических структур, которые я неформально называю арифметиками), как модулей над более простыми системами. В прошлый раз мы ввели классификацию таких арифметик, пользуясь их матричными представлениями, и разбили их на классы: эллиптические, гиперболические и параболические.
Сегодня я хочу поговорить об эллиптических арифметиках, к которым относятся хорошо всем известные комплексные числа и менее известные, но полезные числа Эйзенштейна. В частности, мы поговорим о том, почему среди многообразия возможных эллиптических арифметик именно комплексные числа в том виде, в котором мы их знаем, являются наиболее удобными и универсальными.
Лидеры и менеджеры: что общего и в чём разница? да и зачем это знать…
Теоретические разборы терминов редко вызывают энтузиазм, особенно если они кажутся далёкими от реальных задач. Но непонимание того, чем лидер отличается от менеджера, может приводить к неверным ожиданиям, недовольству и даже проблемам в проектах. Эти роли часто пересекаются, но в корне отличаются. И чтобы их правильно сочетать, нужно разобраться в их противоречиях.
Какой руководитель считается идеальным? Тот, кто совмещает в себе качества лидера и менеджера. Он вдохновляет, помогает людям расти, ведёт их к амбициозным целям, а при этом не забывает контролировать процессы, следить за сроками, качеством и ресурсами. Однако такие руководители часто сталкиваются с проблемой: лидерские и управленческие качества не только разные, но иногда даже противоречат друг другу.
Вот представьте. Лидер стремится вдохновить людей, дать им возможность пробовать и ошибаться, чтобы научиться. А менеджер, напротив, минимизирует риски, требует соблюдения плана и жёстких сроков. Лидер говорит: «Давайте попробуем, научимся на ошибках, посмотрим, как это сработает». А менеджер говорит: «Нам нельзя рисковать. Нужно сделать так, как проверено и безопасно». И вот тут вы, как руководитель, оказываетесь в состоянии внутреннего конфликта. Кажется, что одно правильно, но тут же понимаете, что противоположный подход тоже имеет смысл.
Именно поэтому важно понять, чем лидер отличается от менеджера. Это поможет осознать, что внутренний конфликт между этими ролями — не проявление несоответствия или слабости, а часть их природы. Поняв это, можно перестать бороться с собой и вместо этого сформировать свой уникальный стиль руководства, в котором лидерские и менеджерские качества будут не противоречить, а дополнять друг друга.
Pushy на пределе: рост и развитие WebSocket-прокси Netflix
Pushy — это WebSocket‑сервер Netflix, который поддерживает долговременные WebSocket‑соединения с устройствами, на которых работает приложение Netflix. Благодаря этому данные с бэкенд‑сервисов можно отправлять на устройства по мере необходимости. При таком подходе нет нужды в постоянного опроса сервисов устройствами. За последние несколько лет Pushy пережил огромный рост, превратившись из сервиса для негарантированной доставки сообщений в неотъемлемую часть экосистемы Netflix. В этом материале вы узнаете о том, как мы развивали и масштабировали сервер Pushy, стремясь к тому, чтобы он хорошо справлялся со своими текущими обязанностями, и к тому, чтобы подготовить его к будущим нагрузкам. Он поддерживает сотни миллионов одновременных WebSocket‑подключений, доставляет адресатам сотни тысяч сообщений в секунду и удерживает стабильный уровень надёжности доставки сообщений в 99,999%.
Управление распределенной командой на GitHub – а что, так можно было?
Привет, меня зовут Ася Исакова, и я организационный психолог. Возможно, единственный в мире организационный психолог, который умеет создавать пулл-реквесты на GitHub. Как так вышло? Дело в том, что я 2+ года занималась тем, что выстраивала нормальную работу на удаленке без 8 звонков в день для одной распределенной команды, используя GitHub как основной инструмент. Подробности о том, что это, как это было, что получилось и вдруг вам тоже надо, под катом.
Как вас обманывают в лазерной коррекции зрения: сравнение SMILE с CLEAR и SmartSight
Хорошая новость — в России готова к конкуренции отечественная разработка технологии для экстракции лентикулы. Плюс отличная новость: в России теперь есть VISUMAX 800 от Zeiss, который делает коррекцию всего за 9 секунд! Это — SMILE Pro. И именно он — «тот же SMILE, но современнее».
Помните, как в начале пути технология SMILE встречала яростное сопротивление с профессиональной сцены и в кулуарах? Приходилось цифрами, статистикой, публикацией книги побеждать LASIK, доказывая, что 100%-но фемтосекундная экстракция лентикулы SMILE — это лучший метод.
Шли годы и те, кто «жевал попкорн», наблюдая баталии между SMILE и LASIK, сами стали осваивать технологию. Компании-конкуренты разрабатывали «дженерики» SMILE, и с их появлением началась новая эпоха — время лазеров для лентикулярной экстракции. Эти лазеры не относились к SMILE-технологии, но везде рекламировались как «новейший, усовершенствованный SMILE.
Теперь плохая новость. Сегодня немало клиник, которые пытаются «примазаться к успеху проверенных технологий» и продать CLEAR и SmartSight как «тот же SMILE, но современнее». А страдаете от этого вы — пациенты, которые потом месяцами ждут, когда же, наконец, «просветлеет в глазах» после таких инноваций.
Так в чем же отличия? Давайте разберем, как вас могут обмануть при выборе лазерной коррекции зрения, и что нужно знать, чтобы не попасться на удочку недобросовестного маркетинга
Решаем задачу моментальной навигации по коду для любого коммита
Привет, Хабр! Меня зовут Ольга Лукьянова, я работаю в Yandex Infrastructure, в команде, которая делает системы, сервисы и инструменты для разработчиков. Недавно Яндекс анонсировал новый продукт SourceCraft, который уже собирает вокруг себя сообщество. Последний год я руковожу группой навигации по коду этого проекта.
Мои коллеги на конференциях уже рассказывали про планы развития SourceCraft — платформы от Яндекса для создания исходного кода, управления версиями, тестирования, сборки, развёртывания и сопровождения программных продуктов. А также показывали первый доступный компонент — интеллектуальный помощник для работы с кодом Yandex Code Assistant.
Я открою чуть больше деталей про возможности навигации в нашей платформе, которые появятся в публичном доступе в следующем году и помогут разработчикам не переключаться в IDE, а решать наиболее типовые задачи в одном интерфейсе. В статье — рассказ о том, как мы искали способы добавить функциональность навигации по коду при ревью пул-реквестов и каких результатов уже достигли.
Конец эпохи транспортных средств с двигателями внутреннего сгорания?
Друзья, в пост собрана информация о развитии рынка электрокаров в последние годы и прогнозы. Тренды, технологии, много графиков. Надеюсь, будет интересно.
Итак, к 2011 г. автомобильная промышленность мира была огромной, крайне конкурентной и спящей. Производство автомобилей, вдохновленное «системой бережливого производства» Toyota, стало высокоэффективным и перфекционистским, но также и консервативным. Инновации приходили по частям — система стабилизации от одной компании, GPS-навигация от другой, интеграция Bluetooth откуда-то еще. Это норма в зрелой отрасли со многими игроками в длительной тесной конкуренции. Прогресс происходит распределенными приращениями, а не концентрированными скачками.
Но затем в 2012 г. дерзкая новая компания представила гламурную версию древнего вида автомобиля, и все изменилось. Журнал Motor Trend присудил новому автомобилю награду «Автомобиль года» с беспрецедентным единогласным голосованием. Журнал Consumer Reports объявил, что это, вероятно, лучший автомобиль из когда-либо созданных, и присвоил ему наивысшую оценку — 99 из 100.
Автомобиль мог разогнаться с нуля до 100 км/ч за 4-5 секунд. Он был признан самым безопасным автомобилем в истории. Он вмещал семь человек, с роскошными функциями, управляемыми с огромного сенсорного экрана рядом с водителем. Его двигатель был в два раза эффективнее любого другого на дороге. И самое главное, вредных выхлопов не было вообще.
Новой компанией стала Tesla. Новый автомобиль – полностью электрическая Model S от Tesla. Но новый автомобиль был одновременно и старейшим типом автомобиля.
О сложности устранения нестабильности тестов
Одной из самых раздражающих проблем, с которыми я сталкивался за последние 25 лет в индустрии, являются нестабильные тесты (flaky tests) — тесты, которые чаще всего проходят, но иногда необъяснимо завершаются ошибкой без явных на то причин. Вы отправляете код в репозиторий, а через двадцать минут получаете уведомление о том, что набор тестов завершился ошибкой. Вам приходится бросать всё, чем вы занимались, чтобы разобраться в причине сбоя. В итоге вы приходите к выводу, что причина явно не в ваших изменениях, и прибегаете к старому как мир трюку — запускаете тест повторно. На этот раз тест проходит успешно, и вы думаете: «Опять нестабильный тест… Ну ладно». И возвращаетесь к более важным задачам.
Почему ИИ рано поручать код-ревью
Кажется, кого ни спроси — всякий сегодня мастерит инструмент для код-ревью на основе ИИ. Тем самым все обещают совершить революцию в программировании и управлении кодом. Но мы, попробовав почти все имеющиеся на рынке инструменты код-ревью и написав собственный, пришли к выводу, который невозможно отрицать: ИИ для этой цели просто не годится.
В этом посте мы подробнее рассмотрим, чего реально не хватает при код-ревью с использованием искусственного интеллекта, и почему человек в таком качестве незаменим. Кроме того, этот анализ поможет нам лучше понять, в чём ИИ действительно хорош.
В поисках сокровищ: Pillars of Eternity
Ещё пятнадцать лет назад жанр классических изометрических ролёвок был в большом упадке. Такие игры не сильно пользовались спросом у аудитории, мечтающей о проектах в честном 3D, а издатели не горели желанием спонсировать разработчиков, создающих в жанре с сомнительным коммерческим потенциалом. Но в 2015 году компания Obsidian Entertainment подарила нам настоящую жемчужину – Pillars of Eternity.
Проект был создан вопреки всему, создатели прошли через огромное количество трудностей и вызовов, и всё для того чтобы геймеры, что скучали по величественным мирам, полным глубоких историй, ярких персонажей и моральных выборов, могли спустя долгое время найти себе проект по душе. Тут на каждом шагу ощущается дух его предков, будто разработчики вдохнули жизнь в воспоминания о «Baldur’s Gate» и «Planescape: Torment», добавив в них современное очарование. И окунувшись в этот мир, можно легко вспомнить, почему классические RPG до сих пор не оставляют нас равнодушными, вызывая теплоту на сердце и море ярких впечатлений.
Как я оптимизировал свой конвейер CI/CD до выполнения за 60 секунд
Как и многие, я храню свой код на GitHub. Пару лет назад я сделал простой пайплайн для сборки, анализа и тестирования моих веб‑приложений и сервисов. Он выполнял свою задачу, и так как это был мой первый опыт по настройке пайплайна CI/CD на GitHub, он сводился к одному шагу.
build (and deploy)
Со временем я стал замечать, что я стараюсь избегать вносить изменения в код. Будучи счастливым обладателем ADHD, я часто замечаю за собой сложность в решении задач с большим количеством препятствий и одним из них стало то, что выполнение пайплайна занимало больше 5 минут. Я коммитил изменения и шел делать кофе, пока пайплайн тестировал и деплоил код. И не всегда возвращался, отвлекаясь на другие вещи.
Я решил для себя, что максимальное количество времени, которое я готов ждать - 1 минута.
Математический подход позволяет предсказывать кристаллическую структуру за часы, а не за месяцы
Исследователи из Нью-Йоркского университета разработали математический подход, позволяющий предсказывать структуру кристаллов — важнейший шаг в разработке многих лекарств и электронных устройств — всего за несколько часов с помощью ноутбука, при том, что раньше на это у суперкомпьютеров уходили недели и месяцы. Их новая схема опубликована в журнале Nature Communications.
Органические молекулярные кристаллы — важный класс материалов во многих отраслях промышленности, от фармацевтики и сельского хозяйства до электроники и взрывчатых веществ. Кристаллы — это строительные блоки, из которых состоят многие безрецептурные и рецептурные лекарства, инсектициды для борьбы с комарами, взрывчатые вещества, такие как тротил, полупроводники и светоизлучающие технологии, используемые в телевизионных экранах и сотовых телефонах.
Nearly Stateless L4 Balancer: алгоритм и патч на GitHub. Доклад Яндекса
Меня зовут Александр Азимов, я руковожу группой сетевого R&D в Yandex Infrastructure — команде, которая в том числе создаёт системы управления трафиком всего Яндекса. Cегодня мы поговорим о том, как почти полностью избавиться от стейтов на L4-балансировщике.
В статье я покажу разработанный в Яндексе алгоритм двойного консистентного хеширования, который помогает минимизировать необходимость хранения таблицы соединений на L4-балансировщике. И поделюсь готовым патчем на GitHub, который позволит каждому перепроверить наши результаты.
Вся правда о внутренней прокладке кабелей | советы веломеханников, разбирающихся с интегрированной проводкой
Производителям предстоит пройти долгий путь, чтобы облегчить головную боль вело механиков.
Взгляните на подавляющее большинство дорожных велосипедов топового класса, и их всех объединяет одна черта. В поле зрения нет тросиков, гидравлических магистралей или электрических проводов.
Генерация SHA-256 посредством SIMD (SSE-2) инструкций, в MMX и XMM регистрах, без использования памяти (почти)
Сижу я значит спокойно, никого не трогаю, починяю примус, и вдруг как захочется сгенерировать SHA-256 целиком внутри процессора без обращения к памяти, что прям места себе не нахожу.
В итоге к памяти все таки пришлось обращаться за самим сообщением, константами и сохранять начальное значение hesh блока, а в остальном смотрите ниже.
Чтобы код имел хоть какай-то практический смысл, я скомпилировал его в статическую библиотеку и написал для него с++ имплементирующий класс, который разместил в заголовочном файле.
Information
- Rating
- 2,264-th
- Location
- Тюмень, Тюменская обл. и Ханты-Мансийский АО, Россия
- Registered
- Activity