Ранее на хабре публиковалась статья о том, как в теории выглядит Xp/Tdd в Пивотал Лабс, и были вопросы о том, возможно\нужно ли это в действительности. Я попытаюсь объяснить, как это выглядит на практике и почему это может быть (внезапно) хорошо.
В последние полгода мне пришлось поработать в одном из больших банков на проекте с Pivotal Labs, в их нью-йоркском офисе. Это очень отличается от всей энтерпрайс-разработки, которую мне приходилось видеть до этого. Читать дальше →
С ростом сервиса почти всегда нужно более подробно расписывать роли в команде. Когда все участники процесса понимают специализацию друг друга, то сразу видят, кому какие вопросы задавать и каких компетенций недостаёт для развития.
Поэтому если маленькому сервису нужен просто менеджер, то в более крупных фигурируют две роли: менеджера продукта и менеджера проектов. На сленге технологических компаний, сплошь состоящем из англицизмов, говорят иначе — продакт- и проджект-менеджер. Это может быть один и тот же человек — подобно тому, как разработчик может заниматься фронтендом и бэкендом одновременно.
Но в чём смысл разделения роли менеджера? Кто такой продакт, а кто проджект? По случаю нового набора в нашу Школу менеджеров, который завершится уже 30 апреля, мы задали этот вопрос руководителям четырёх популярных сервисов. Заодно каждый из них поделился подборкой ссылок для начинающего менеджера. Читать дальше ->
Мы уделяем особенное внимание проверке интеграции при подключении нового клиента к платформе и постоянно отслеживаем статус интеграции в процессе работы. Почему это критически важно? Потому что сбор данных — основа формирования качественных рекомендаций.
Работа рекомендательной системы строится на нескольких важных составляющих: сбор данных, их хранение, обработка, выдача рекомендаций и growth hacking. Плюс «железо» для обеспечения вычислительных мощностей алгоритмов и процесс верстки. Таким образом мы получаем как минимум 7 пунктов, от которых зависит качество рекомендаций, не говоря уже о дорогой команде аналитиков. Как внешний сервис, так и внутренняя система рекомендаций интернет-магазина, должны охватывать все эти пункты и качественно обеспечивать работу на всех этапах. Читать дальше ->
Блокировки задели многие проекты, работающие для российского рынка. Ниже — история одного из срочных переездов нашего заказчика.
19 апреля они заметили блокировку одного из IP-адресов своего публичного сервиса частью провайдеров на территории РФ. 20 апреля ситуация усугубилась — вся подсеть стала недоступной. Это уронило тестовую среду, один из резервных каналов, частично нарушило работу почтовых серверов. Проблему удалось решить заменой IP-адресов, проксированием трафика через другие дата-центры.
Когда стало понятно, что всё это всерьёз и надолго (точнее, когда возник такой риск), один наш заказчик, компания Теко — международная процессинговая компания, решил развернуть инстанс в нашем облаке. Их CIO была важна большая федеративность сервиса, большее присутствие на территории РФ. Цитата:
«Облако в РФ даёт больше гарантий клиентам, что сервис не будет заблокирован РКН. Скорость, с которой нам предоставили ресурсы, была очень важна. Происходило всё достаточно быстро: первым делом мы добавили GEO dns для доступности сервиса на территории РФ, начали проксирование трафика через незаблокированные ДЦ. Медленная часть — федерация для БД». Читать дальше ->
Тема DDoS-атак, их типов и способов защиты уже неоднократно поднималась нашими авторами в прошлом. Мы внимательно следим за пожеланиями наших читателей и поэтому сегодня продемонстрируем услугу по защите от DDoS на живом примере. В этой статье мы разберем подобную задачу: сделаем тестовое веб-приложение, организуем стресс-тест, симулирующий DDoS-атаку, и сравним статистику загрузки сети с защитой и без неё.
Если вы начинаете или уже давно ведете технический проект, проверьте: может быть все можно сделать намного проще и эффективнее?
Это вторая статья из серии НИИ (Не Искусственный Интеллект), в которой я рассказываю о некоторых приемах изобретательства (читай, о приемах решения технических проблем при управлении проектом).
В прошлой статье я рассказал 2 истории с одной общей проблемой. Сегодня вас ждет немного больше: еще 2 занимательные истории, рекомендации и приемы работы с психологической инерцией и изобретательская задача для тренировки.
И забегая вперед скажу, что серия статей НИИ продолжится, а сегодняшняя изобретательская задача станет частью большого инновационного проекта, который мы с вами создадим с нуля, прямо здесь.
Но подробности о проекте и первая его задачка в конце статьи, а пока первая история:
История №1
Одна фармацевтическая фирма разработала новое лекарство для глаз, лекарство крайне эффективное, но на практике использовать его было нельзя. Проблема заключалась в том, что капли для глаз имеют свою специфику применения, а именно неравномерность действия. Изначально закапывается излишнее количество лекарства, т.к. оно быстро вымывается слезной жидкостью, то в определенный (очень короткий) момент времени дозировка лекарства становится оптимальной, далее она уменьшается.
Для нового лекарства передозировка была не приемлема, а капать оптимальную дозу бесполезно, т.к. он не успеет подействовать.
Собственными силами огромная фармкомпания не справилась с решением этой задачей, а вот один человек смог. Он предложил…Читать дальше ->
Здравствуй, хабр. Как ты помнишь, недавно произошёл официальный релиз Java 10. Учитывая, что практически все сейчас используют преимущественно 8-ку, с выходом 10-ки нас ждут такие вкусности как модульность (вошла в 9-ку) и local variable type inference. Звучит неплохо, можно попробовать поэкспериментировать с переносом какого-нибудь существующего проекта на 10-ку.
О том, какие разновидности боли ждут нас, можно узнать под катом. Читать дальше ->
В этой статье мы рассмотрим, как можно создать и обучить нейросеть с помощью библиотеки Synaptic.js, позволяющей проводить глубокое обучение в связке Node.js с браузером. Давайте создадим простейшую нейросеть, решающую XOR-уравнение. Также можете изучить специально написанный интерактивный туториал. Читать дальше ->
Недавно в разговоре с коллегами обсуждали различные игры жанра RTS, и я задумался, почему же релиз третьих «Казаков» прошёл мимо меня. Пару минут и один поисковый запрос спустя я вспомнил — помимо крайне сырого раннего релиза, реинкарнация этой классической стратегии отличилась невозможностью многопользовательской игры без постоянного соединения с официальным сервером. Многочисленные просьбы игроков «добавить LAN» на форумах разной степени свежести намекают, что изменений ждать не стоит.
Представьте, вы за два дня полностью реализовали новую фичу. Код написан, он работает и все классно. Ваш менеджер говорит, что можно сразу в релиз. «А как же тесты?» — воскликнет какой-нибудь дотошный коллега. «А зачем?» — ответите вы в один голос с менеджером. Зачем нам писать тесты? Как объяснять их необходимость другим? Зачем вовлекать тестировщиков, аналитиков и других участников? В этом посте я расскажу, как объяснить пользу тестов любому участнику проекта, а также зачем стоит тесты автоматизировать. И подкрепим все это серьезными исследованиями.
Проектирование Schemaless хранилища данных Uber Engineering с использованием MySQL. Это первая часть из трех частей серии статей о Schemaless хранилище данных.
В Project Mezzanine мы описали, как мы перенесли данные о поездках Uber из одного экземпляра Postgres в Schemaless — наше высокопроизводительное и надежное хранилище данных. В этой статье описывается его архитектура, роль в инфраструктуре Uber и историю проектирования. Читать дальше ->
В этой лабе мы будем реализовывать возможность запуска пользовательских программ. Т.е. процессы и всю зависимую инфраструктуру. В начале разберёмся как переключаться из привилегированного кода, как переключать контексты процессов. Затем реализуем простенький round-robin планировщик, системные вызовы и управление виртуальной памятью. В конце концов выведем наш шелл из пространства ядра в пространство пользователя.
В предыдущей статье я писал о том, что мы сделали новую in-memory БД — быструю и с богатыми функциональными возможностями — Reindexer.
В этой статье хочу рассказать как при помощи Reindexer можно реализовать полнотекстовый поиск по сайту, написав минимум application кода.
Вообще, полнотекстовый поиск по сайту — эта важная фича, в наше время, обязательная, для любого интернет сайта. От качества и скорости работы поиска зависит
как быстро пользователи найдут интересующую их информацию или товары, которые они планируют приобрести.
На гамасутре недавно вышла статья, где автор делится своими мыслями на тему того, какие ошибки можно допустить при создании игры и что с этим делать. Причем автор рассуждает как обзорщик игр, он сам не геймдизайнер. Любопытно почитать «взгляд со стороны». Только просьба не воспринимать как личную точку зрения, просто решил перевести и поделиться, чтобы было понимание, как воспринимают работу игровых компаний люди со стороны. Под катом перевод.
Свежая подборка со ссылками на новости и материалы. В выпуске: CakePHP 3.6.0 и другие релизы, расширение php-ffi, порция полезных инструментов, и многое другое.
Приятного чтения!