• Давайте поговорим. О тлене и депрессии

      «Мужчина приходит к врачу. Жалуется на депрессию, говорит, жизнь груба и жестока, что он чувствует себя одиноким в угрожающем мире. Врач предлагает простой рецепт: «Великий клоун Пальячи сегодня в городе, сходите, это вас подбодрит». Мужчина взрывается слезами. «Но доктор», — говорит он — «Я и есть Пальячи»

      Недавно, после статьи про "Гаджеты для сна", где в результате опроса выяснилось что у более 50% опрошенных «все хреново с эмоциями и стрессом», я написал одному хорошему человеку с запросом: «пришли мне, пожалуйста, три самых полезных статьи про депрессию». Он мне ответил: «Я на антидепрессантах, изучаю вопрос изнутри».

      Возможно это сезонное аффективное расстройство (SAD), а возможно, это объективно пришел полярный зверек. «Тьма, пришедшая со Средиземного моря, накрыла ненавидимый прокуратором город». В этом году я понял, что и я качусь под откос. Когда перестали радовать «Рик и Морти», «Кремниевая долина», «Доктор Хаус», большой лохматый пёс и три кота.

      Но патроны еще есть — я с радостью жду утренний кофе, вечернее рубилово с мужиками в хоккей, плюсики на Хабре и годные комментарии. И «Дюну 2020» очень жду.

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

      Вот мои топ-3 статьи:


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

      image

      (Да простится мне такой «неформат», ибо тема важная)
      Читать дальше →
    • Хабра-детектив на выходных


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


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


        Итак, давайте посмотрим, действительно ли это уже было, проведя небольшое расследование.

        Читать дальше →
      • Занимательное планирование

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

          Однако, откуда эти горы продукции на последних днях срока годности? Почему хлеб, который я покупаю уже закончился, а одноразовые станки для бритья, которые я предпочитаю другим — периодически пропадают на 2-3 месяца. Мы же рынок! Да кто это вообще планирует? И планирует ли?

          С такими вот мыслями я решил написать этот пост, в котором расскажу о некоторых базовых методах планирования. В надежде, что это может кому-то быть также интересным, как интересно мне.
          Читать дальше →
          • +13
          • 5,8k
          • 1
        • 5 заметок для новоиспеченного менеджера

            Специально для студентов курса «Team Lead 2.0» подготовили небольшой полезный материал. Приятного прочтения.



            Вот вас повысили до тимлида или даже до Project менеджера, вы пришли домой и невероятно рады новой должности. Вечером вы лежите в кровати, пытаетесь уснуть, но в душе радуетесь новым открывшимся перспективам. Однако что-то еще вас тревожит. Теперь среди ваших коллег по цеху – вы главный, поскольку вы лучше всех разбираетесь в той или иной области, помогали другим и участвовали в принятии важных решений или по любой другой достойной причине вас сделали «главным». В этот момент происходит самая важная профессиональная трансформация, перед вами новая гигантская область, которой предстоит овладеть — менеджмент. Как себя вести? Завтра и каждый день после этого? Что вас ждет?
            Читать дальше →
          • Низкая связанность, архитектура и организация команд

            • Перевод
            Перевод статьи подготовлен специально для студентов курса «DevOps практики и инструменты».




            В этой статье обсуждается взаимосвязь между структурой кода и структурой организации при разработке программного обеспечения. Я рассуждаю над тем, почему программное обеспечение и команды не могут легко масштабироваться, какие уроки мы можем подсмотреть в природе и Интернете, и показываю как мы можем уменьшить связанность программного обеспечения и команд для преодоления проблем масштабирования.
            Читать дальше →
            • +26
            • 7,2k
            • 6
          • Лучшая архитектура для MVP: монолит, SOA, микросервисы или бессерверная?.. Часть 1

            • Перевод
            В ноябре OTUS запускает новую образовательную программу «Архитектор ПО», в связи с этим подготовили серию публикаций для будущих студентов курса и читателей нашего блога.




            Создание нового продукта всегда связано с риском. И выбор правильной архитектуры — важный шаг на пути успеху. Если вы выбираете между монолитной, сервис-ориентированной, микросервисной и бессерверной архитектурой, этот пост поможет вам сделать правильный выбор.
            Читать дальше →
            • +15
            • 5,1k
            • 8
          • РНР-безопасность: где и как хранить пароли. Часть 1

              Каждый год в мире происходит все больше хакерских атак: от краж кредитных карт до взломов сайтов онлайн-магазинов. Уверены, что ваши скрипты по настоящему защищены? В преддверии старта курса «Backend-разработчик на PHP» наш коллега подготовил интересную публикацию на тему безопасности в PHP...



              Читать дальше →
            • В утренней очереди к офисной кофемашине между коллегами зашел разговор о том, кто как поддерживает свой организм осенью. Я начала топить за управление стрессом, йогу и эндорфины от творчества, отказ от сахара и здоровый сон. На что мой коллега, разработчик Саша, потрясая пакетом со спортпитом, со снисходительной улыбкой сообщил, что это ерунда, а главное для организма — полезное качественное «топливо» и своевременное профилактическое обслуживание. Ерунда? Посмотрим. И через две недели сравним результаты.
              Подробности – под катом
            • Обзор технологий синтеза речи

              Всем привет! Меня зовут Влад и я работаю data scientist-ом в команде речевых технологий Тинькофф, которые используются в нашем голосовом помощнике Олеге.


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


              image

              Читать дальше →
            • Квантовая ставка Google на ИИ – и что она означает для всего человечества

              • Перевод

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




              Человеческий мозг – забавная штука. Какие-то воспоминания остаются с нами навсегда: рождение ребёнка, автомобильная авария, день выборов. Но мы можем сохранять только некоторые детали – цвет двери акушерского отделения, запах избирательного участка – а другие подробности, типа лица медсестры, или то, как мы были одеты в момент ДТП, исчезают. Сундар Пичаи, генеральный директор Google, навсегда запомнит день, когда ИИ вышел из лаборатории.

              «Это было в 2012-м, я находился в одной комнате с небольшой командой, где было всего несколько человек», — рассказывает он. Джефф Дин, легендарный программист из Google, помогавший писать поисковый движок, работал над новым проектом, и хотел, чтобы Пичаи на него взглянул. «Каждый раз, когда Джефф хочет показать вам что-то новое, вы испытываете радостное возбуждение», — говорит он.
              Читать дальше →
            • «Извини, но у меня депрессия»: как работать с заболевшим сотрудником

              image

              «Извини, кажется, мне надо было раньше это сказать – я столкнулся с депрессией». Такое письмо мне пришло утром от одного из сотрудников, который уже пару дней не мог закрыть несложный тикет.

              Контекст: работаю тимлидом в крупной корпорации, в подчинении – удаленная команда из 50 человек (территориальный разброс — от Нью-Йорка до Токио). Столкнувшийся с депрессией сотрудник – мой ровесник (+- 30 лет), работает на этом месте 5 лет. Один из лучших членов команды, стабильно показывает отличные результаты, с мотивацией проблем ранее не было. Рабочий день – ненормированный: то густо, то пусто.

              Нет, это не профессиональное выгорание. Работа его всегда драйвила, ничего в ней менять не хочет (ни локацию, ни команду). «Ищу терапевта».
              Читать дальше →
            • Как стать хорошим менеджером? 4 способа восполнить пробел в навыках управления

              • Перевод
              Перевод статьи подготовлен специально для студентов курса «Team Lead 2.0».




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

              Мы не всегда понимаем, насколько сложно перейти от выполнения работы к управлению ею.

              Это самое большое изменение, которое происходит с человеком по мере его продвижения по карьерной лестнице. И слишком часто получается так, что хороший работник становится управленцем без необходимых навыков, желания и понимания.
              Читать дальше →
              • +19
              • 9,9k
              • 8
            • Город-на-лодках: как Венеция существует без машин



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

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



                Исторически аристократы тоже не ходили пешком, а двигались на богато украшенных лодках, поэтому основные входы в дома всегда выходили на канал.
                Читать дальше →
              • Что делать, если для вашего любимого языка нет статического анализатора?

                • Tutorial

                Ну, если под любимым языком подразумевается русский, английский и т. д., то это в другой хаб. А если язык программирования или разметки, то конечно писать анализатор самим! На первый взгляд, это очень сложно, но, к счастью, существуют готовые многоязыковые инструменты, в которые относительно легко добавить поддержку нового языка. Сегодня я покажу, как можно с достаточно незначительными затратами времени добавить поддержку языка Modelica в анализатор PMD.


                Кстати, знаете, что может ухудшить качество кодовой базы, полученной из последовательности идеальных pull request-ов? Тот факт, что сторонние программисты копировали в свои патчи куски существующего кода проекта вместо грамотного абстрагирования. Согласитесь, в какой-то мере такую банальность отловить ещё сложнее, чем некачественный код — он же качественный и даже уже тщательно отлаженный, поэтому тут недостаточно локальной проверки, нужно держать в голове всю кодовую базу, а человеку это непросто… Так вот: если на добавление полной поддержки Modelica (без создания конкретных правил) до состояния «может запускать примитивные проверки» у меня ушло около недели, то поддержку только copy-paste detector часто можно вообще добавить за день!

                Узнать как...
              • RabbitMQ против Kafka: отказоустойчивость и высокая доступность

                • Перевод


                В прошлой статье мы рассмотрели кластеризацию RabbitMQ для обеспечения отказоустойчивости и высокой доступности. Теперь глубоко покопаемся в Apache Kafka.

                Здесь единицей репликации является раздел (partition). У каждого топика один или несколько разделов. В каждом разделе есть лидер с фолловерами или без них. При создании топика указывается количество разделов и коэффициент репликации. Обычное значение 3, это означает три реплики: один лидер и два фолловера.
                Читать дальше →
                • +42
                • 14,1k
                • 3
              • Архитектурная шизофрения Facebook Libra

                • Перевод
                Спустя два года я вернулся к блогу ради поста, который отличается от обычных занудных лекций о Haskell и математике. Последние несколько лет я занимался финансовыми технологиями в ЕС, и, кажется, пришло время написать на тему, которой технические СМИ уделили мало внимания.

                Недавно Facebook выпустил то, что именует «новой платформой финансовых сервисов» под названием Libra. Она позиционируется как цифровая расчётная система, основанная на корзине международных валют, которые управляются на «блокчейне» и хранятся в денежном пуле, управляемом из Швейцарии. Цели проекта амбициозны и влекут масштабные геополитические последствия.

                В Financial Times и New York Times много разумных статей о необоснованных денежных и экономических предположениях в основе предлагаемой финансовой системы. Но не хватает специалистов, способных на анализ с технической точки зрения. Не так много людей работают над финансовой инфраструктурой и публично говорят о своей работе, поэтому данный проект не слишком освещён в технических СМИ, хотя его внутренности открыты для всего мира. Я имею в виду открытые исходники в репозиториях Libra и Calibra Organisation.

                То, что открыто миру — это архитектурно шизофренический артефакт с претензией на роль безопасной платформы для мировой платёжной инфраструктуры.
                Читать дальше →
              • Объекты без циклических ссылок и циклической сборки мусора

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


                  Нельзя ли обойтись в случае необходимости одним базовым механизмом подсчета ссылок?

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

                  Читать дальше →
                • Как распилить монолит на сервисы и сохранить производительность In-memory кэшей без потери консистентности


                    Всем привет. Меня зовут Александр, я Java-разработчик в группе компаний Tinkoff.

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

                    В статье я расскажу про наш опыт перехода на сервис-ориентированную архитектуру, сопровождающуюся переездом в Kubernetes, и про решение сопутствующих проблем. Будет рассмотрен подход к организации системы распределенного кэширования In-Memory Data Grid (IMDG), его преимущества и недостатки, из-за которых мы решили написать собственное решение.

                    В статье рассматривается проект, бэкэнд которого написан на Java. Поэтому речь также пойдет про стандарты в области временного In-memory-кэширования. Обсудим спецификацию JSR-107, несостоявшуюся спецификацию JSR-347, а также особенности кэширования в Spring. Добро пожаловать под кат!
                    Читать дальше →
                  • Синхронизация моков с реальными имплементациями

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

                      Итак, каким способом нам дешевле всего обеспечить синхронизацию моков с реальными имплементациями?

                      Для синхронизации мы можем написать тест, который выполняет одни и те же проверки против мока и реальной имплементации.

                      Выглядит это как-то так (я пишу без DI, но с DI проще и правильнее):
                      Читать дальше →
                    • Что будет с PHP через 5 лет: мы спросили докладчиков ближайшего московского митапа

                        Хэллоуин прошел, а страх остался. Страх и ненависть в pcntl_fork(). Боязнь CSQR. И опасения насчет удаленной работы. Если тоже хотите поговорить об этом, встречаемся вечером 21 ноября на Таганке или на этом ютуб-канале (ссылка на эфир появится за 2 дня до ивента).



                        А пока — есть время познакомиться. Мы попросили докладчиков рассказать про самое страшное событие в их карьерах разработчиков, а также включить нострадамус-mode и дать свой прогноз о развитии языка. У одного докладчика вышла Java. Детали и остальные ответы — под катом.
                        Читать дальше →