![](https://webcf.waybackmachine.org/web/20220126231414im_/https://habrastorage.org/getpro/habr/upload_files/fe9/dbd/a99/fe9dbda99c150e391382840e2705c895.jpg)
Хотите, чтобы ваши разработчики не валили с работы? Хотите научиться их суперски удерживать?
Вот вам циничное мнение разработчика.
Хотите, чтобы ваши разработчики не валили с работы? Хотите научиться их суперски удерживать?
Вот вам циничное мнение разработчика.
Я восхищаюсь людьми, которые знают, как надо делать. Искренне завидую тем, кто без колебаний называет правильное решение. Очень хочу быть похожим на менеджеров, знающих лучшую систему мотивации. Не говоря уже о нормальных системах управления, принятых во всём мире подходах к разработке, и очевидно лучших методах управления проектами.
Но предел моих мечтаний, конечно – менеджер, который Всё Унифицировал. Тот, у которого Единый Процесс. Самый Лучший, разумеется. Или даже Единственно Верный.
Я тоже хотел стать таким, честно. Придумаю, бывало, какую-нибудь методику, или в книжке вычитаю – и леплю без разбора на всех. Начитаюсь или наслушаюсь, как надо проекты делать – и поскакали. Но со временем я понял, что не прав.
Не прав именно я, не дорос ещё. Рано мне уверенно утверждать, что правильно, а что нет. Я должен пройти Путь, который, наверняка, прошли программисты, тимлиды, проджекты и менеджеры моей мечты.
Пусть и поздновато, но я встал на этот Путь. Эволюции, экспериментов, разнообразия и конкуренции. Вряд ли ведь кто-то станет спорить, что только конкуренция способна выявить лучшие методы, подходы, стратегии и практики.
Ключевая проблема конкуренции – сравнение результатов в сопоставимых системах координат. Бывает ведь смотришь на людей – ну прям молодцы. Но стоит их выдернуть из привычного контекста, как вся «молодцеватость» куда-то исчезает. Программист, который был звездой на одном проекте, оказывается худшим звеном на другом. Тимлид, получивший престижную премию «Проект года», садится в лужу на следующем проекте. Контекст разный.
Думал-думал я, и придумал. Не надо притягивать за уши контекст. Надо устроить конкуренцию внутри одного контекста. Внутри одной компании. Даже – внутри одного отдела. Благо, у меня есть отдел.
Так я решил, что у меня будет Толерантность. Я хочу увидеть в максимально достоверном сравнении, какие методы, подходы, системы, мотивация, отношение дают наилучший результат.
Единственное, чего не хватает в традиционном понятии толерантности – это скорости. Как ни крути, толерантность – синоним терпимости, категории весьма пассивной. Чтобы сравнить два любых подхода в условиях толерантности, надо дождаться, пока эти подходы сами, эволюционно созреют внутри среды. Это хорошо и правильно, но никакой жизни не хватит, чтобы дождаться.
Поэтому я стал эволюцию подпинывать. Как? Ну, как учёные в лабораториях с крысами. Проактивно, по собственному желанию.
Git и владение им — неотъемлемая часть профессионального программирования. К старту курса по Fullstack-разработке на Python делимся самыми важными деталями о новом релизе Git прямо из блога его разработчиков.
Как известно, аппетит приходит во время еды: начав с приобретения независимых студий вроде Compulsion Games и Ninja Theory, Microsoft вошла во вкус, благополучно поглотив ZeniMax Media Inc., а теперь и Activision Blizzard, и получив, таким образом, в свое распоряжение множество культовых франшиз. Очевидно, корпорации надоело участвовать в затяжной холодной войне и мириться с ролью вечного догоняющего: перейдя в наступление и сделав ставку на обратную совместимость и подписочную модель распространения контента, IT-гигант задумал если не полностью мополизировать рынок видеоигр, то, по меньшей мере, раз и навсегда расставить все точки над «i», недвусмысленно показав оппонентам, кто здесь главный.
В такой ситуации Nintendo и Sony вполне могли бы объединить усилия, дабы напомнить всему миру, кто в действительности стоял у истоков индустрии и поднял ее в свое время с колен. Вот только японские компании скорее обанкротятся, нежели начнут сотрудничать, тем более в такой сфере, как разработка игровых консолей. А все из-за одной давней истории, случившейся 30 лет назад.
NB. Это новая глава моей книги, посвященной разработке API. В тексте встречаются отсылки к предыдущим главам.
В предыдущих разделах мы старались приводить теоретические правила и иллюстрировать их на практических примерах. Однако понимание принципов проектирования API, устойчивого к изменениям, как ничто другое требует прежде всего практики. Знание о том, куда стоит «постелить соломку» — оно во многом «сын ошибок трудных». Нельзя предусмотреть всего — но можно выработать необходимый уровень технической интуиции.
Поэтому в этом разделе мы поступим следующим образом: возьмём наше модельное API из предыдущего раздела, и проверим его на устойчивость в каждой возможной точке — проведём некоторый «вариационный анализ» наших интерфейсов. Ещё более конкретно — к каждой сущности мы подойдём с вопросом «что, если?» — что, если нам потребуется предоставить партнерам возможность написать свою независимую реализацию этого фрагмента логики.
NB: в рассматриваемых нами примерах мы будем выстраивать интерфейсы так, чтобы связывание разных сущностей происходило динамически в реальном времени; на практике такие интеграции будут делаться на стороне сервера путём написания ad hoc кода и формирования конкретных договорённостей с конкретным клиентом, однако мы для целей обучения специально будем идти более сложным и абстрактным путём. Динамическое связывание в реальном времени применимо скорее к сложным программным конструктам типа API операционных систем или встраиваемых библиотек; приводить обучающие примеры на основе систем подобной сложности было бы, однако, чересчур затруднительно.
Космос… Бескрайние просторы простирались за окном. Где-то там поля астероидов, газовые гиганты и лавовые карлики, звёзды, мириады звёзд и бескрайние туманности.
Внутреннее освещение рубки было погашено, чтобы не мешать наслаждаться бесконечной пустотой, лишь приглушенно горели огни на приборной панели. Равномерно мигал индикатор голубого цвета, голубого как, цвет дюз, работающего ионного двигателя…
Я, ещё вчерашняя выпускница космоакадемии, неслась в кресле моей новой Наги среди ветеранов, участников бесчисленных сражений, через треть известного космоса. Война! Война на тотальное уничтожение. Где-то там впереди, через 30 с лишним прыжков по звёздным вратам и анзиблям, этим поистине уникальным сооружениям, позволяющим миновать сразу несколько звёздных систем, была цитадель врага - огромная космическая станция, способная самостоятельно противостоять небольшому флоту нападающих. И, конечно же, там нас будут ждать сотни кораблей противника. Они знают что мы придем, ведь скоро станция класса Кипстар перейдет в режим калибровки внутренних систем, и будет уязвима для атаки, а мы, атакующие, должны продвигаться дальше, к столице врага, мимо этой цитадели, мощного оборонительного пункта на нашем пути.
Нага совсем новая, только вчера сошла с конвейера, как и мой допуск к управлению кораблями такого класса. Я ещё путалась в приборах управления и запуталась в навигационных картах, прыгнула во врата в стороне от проложенного маршрута, слегка увеличив тем самым свой путь. Надо было торопиться и не отстать от своих. Пискнуло оповещение о списании кредитов за проход по анзиблю. Мой тощий кадетский кошелёк стал ещё тоньше. В одну сторону денег мне хватит, а потом… А потом они могут и не понадобиться… Война!
В «мясном мире» только и разговоров, что о Метавселенной. О ней говорят как о неком идеальном мире без печалей и забот – с морем возможностей для классного отдыха и развлечений. Окей, а какую нишу во всём этом займёт интерактивное видео? Какой разработчики из этой сферы представляют Metaverse, и что для неё делают в IT-компаниях уже сейчас? Обсудили это Динисламом Ишмухаметовым, архитектором программных продуктов в компании Movika, где создают технологии интерактивного видео.
На этот раз мы расскажем о событиях далекого прошлого.
А именно про Mundaneum – работающий бумажный интернет Поля Отле. 100 лет назад он уже обрабатывал 1500 поисковых запросов в год со всего мира. Это было за 55 лет до того, как Тед Нельсон представил гипертекст, за 79 лет до рождения Всемирной паутины и на 84 года раньше появления W3Catalog.
Прочитайте несколько принципов работы поисковой системы Поля Отле. Знакомо?
Книга – надёжный, но неудобный источник информации, поскольку требует длительного поиска ответа на конкретный вопрос.
Документы, содержащие ответы на вопросы пользователей, должны быть небольшими, удобного универсального формата.
Документы должны ссылаться друг на друга, раскрывая информацию и дополняя её.
Нужно индексировать разные источники. Не только книги и справочники, но и фотографии, прессу и даже открытки. Соответственно, в результатах поиска могут быть не только текстовые документы, но и медийные.
Запрос пользователя должен быть вначале обработан до универсального, в виде ключевых слов – а по ним уже должен идти поиск.
В соответствии с ними и работал Mundaneum. Это проект, опередивший своё время по всем фронтам – и морально, и технологически. Тем удивительнее, что это была не просто идея, а работающая система. Причём проект действовал с разной мощностью целых 29 лет – с 1910 по 1939-й.
Самое обидное, что его нельзя назвать дедушкой интернета и поисковых систем. Mundaneum был заброшен к началу Второй мировой войны, вскоре умер его создатель, а большинство идей не получили дальнейшей жизни и разрабатывались независимо от него другими учеными. Впрочем, обо всём – по порядку.
В этой статье мы расскажем, как промышленный интернет вещей и искусственный интеллект (Industrial IoT + AI) позволяют автоматизировать традиционный бизнес — торговлю, сельское хозяйство, деревообработку, логистику, строительство, производство и другие предприятия, которые обычно не связаны с приставкой tech. Рассмотрим такие проекты изнутри, чтобы показать, какие проблемы они решают и каких результатов позволяют добиться.
Как вы 10 лет назад представляли себе цифровую экономику будущего? Скорее всего, это было очень смело и броско: новомодный блокчейн, децентрализованные финансы, искусственный интеллект и прочий футуризм. На деле новые технологии повернули немного не туда: в 2021 году люди продавали мемы и зарабатывали на хлеб с помощью геймерских видеокарт.
Одним из главных понятий прошлого года, наряду с уже привычными “ковидом” и “локдауном” стал NFT - о нем говорят все. Оцифрованные в блокчейне “права собственности” на картинки или предметы из онлайн-игр продаются и покупаются за десятки миллионов долларов.
Сейчас хорошее время, чтобы поговорить о будущем этого загадочного рынка. Куда он будет двигаться в новом году? Я попробовал выяснить, о чем идет речь: о новой цифровой экономике, или об очередном финансовом “пузыре”. Для этого пообщался и с разработчиками, и с нашими партнерами, игроками криптобизнеса.
О том, как найти баги в любом API за 5 минут и чем поможет Swagger Spec First + Schemathesis там, где генерация API контрактов из кода не предусмотрена или невозможна.
В интервью с Марселем Ибраевым, CTO Слёрма и спикером курса «Kubernetes: Мега-поток» вспомнили работу в техподдержке и посмотрели в будущее k8s.
Марсель рассказывает, как стал спикером и почему Kubernetes — действительно универсальный инструмент.
В новый год с новыми старыми уязвимостями! 25 января командой Qualys был опубликован отчет об уязвимости класса memory corruption (https://cwe.mitre.org/data/definitions/787.html) в утилите pkexec из компонентов Polkit (бывший PolicyKit). Успешная эксплуатация уязвимости может привести к получению root-привилегий у аутентифицированного локального непривилегированного атакующего (Local Privilege Escalation aka LPE). При этом совсем не важно, запущен демон polkit или нет — для эксплуатации важно наличие уязвимого компонента в системе. Центр мониторинга и реагирования на инциденты информационной безопасности Jet CSIRT компании «Инфосистемы Джет» проанализировал доступную информацию об уязвимости и вывел рекомендации по ее обнаружению и устранению. Добро пожаловать под кат!
У меня есть знакомый в возрасте, который «хомячит» гаджеты: единовременно у него есть кнопочный телефон, смартфон Android, ещё один Android побольше, планшет, iPhone. Всё работает, всё оплачивается, где нужен интернет — есть безлимит, а сверх всего этого фигачит портативный роутер Yota. На одном гаджете — видеозвонки и фильмы, на другом — новости в ста закладках, на третьем — Angry Birds и музыка, кнопочный — для звонков и улицы. На любые аргументы, что всё это есть в одном гаджете (ну ладно, пусть ещё планшет будет), ответ один: так задумано. Что в итоге? Переплата за связь и интернет около 1000 в месяц, лёгкая нервозность от количества переключений между экранами, необходимость всю эту гвардию чистить, заряжать, обновлять, докупать шнуры и т.д. — проблемы усложнённой персональной инфраструктуры.
Это хороший пример, иллюстрирующий ситуацию во многих компаниях: ИТ-инфраструктура похожа на зоопарк, отжирает ресурсы, но все задачи и процессы уже давно и привычно разложены по каким-то отдельным приложениям, «всё работает — не трогай». И если в ИТ-компаниях нет-нет, да и найдётся псих энтузиаст, который наведёт порядок в этом бардаке, то неайтишные компании так и живут: на костылях, заплатках и чёрных дырах. Знакомо? Нам — очень.
Технологии искусственного интеллекта становятся все более распространенными. Промышленность, финансы, медицина и многие другие отрасли получают собственные ИИ-технологии. Не так давно мы писали об этих технологиях в такой сфере, как кибербезопасность. Ну а сейчас поговорим о гаджетах - электронных устройствах, которые могут помогать нам и развлекать, куда же без этого.
За последние несколько месяцев появилось несколько интересных систем, о которых стоит рассказать. Под катом э самое интересное.
В ноябре мы провели двухдневный хакатон T1 Digital Challenge. 18 команд боролись за призовой фонд в 500 тысяч рублей и решали две задачи: создание корпоративных решений с помощью No-Code и Low-Code платформ, и улучшение пользовательского опыта (CX, Customer Experience). К слову, это уже второй наш хакатон — в августе на CRM Hack участники создавали «киллер-фичи» для нашей CRM-системы.
Под катом — рассказ победителей о том, как они придумывали свои решения и с какими сложностями столкнулись. А те, кто не получил приз, поделились мнением, чего же им не хватило для победы.