Про то, как в Avito работает performance review, я очень много раз рассказывал внутри компании, а этой весной ещё и на двух конференциях — TeamLeadConf и CodeFest. Мы активно вкладываемся в доработку процесса, проводим много экспериментов и собираем кучу полезных данных, поэтому каждое новое выступление стабильно включает в себя какой-то новый контент. Цель этой статьи — не выдать вам готовое коробочное решение, а поделиться всеми практиками и инсайтами, которые мы обнаружили на своем пути.
Предприниматель в IT
Эффективное использование spot-инстансов AWS
![image](https://habrastorage.org/getpro/habr/post_images/900/b5f/c66/900b5fc6647f7833a3de5e37faabe506.png)
Spot-инстансы — это по сути продажа свободных в данный момент ресурсов со отличной скидкой. При этом инстанс могут в любой момент выключить и забрать обратно. В статье я расскажу о особенностях и практике работы с этим предложением от AWS.
Знакомство с гео-библиотекой S2 от Google и примеры использования
Меня зовут Марко, я работаю в Badoo в команде «Платформа». Не так давно на GopherCon Russia 2018 я рассказывал, как работать с координатами. Для тех, кто не любит смотреть видео (и всех интересующихся, конечно), публикую текстовый вариант своего доклада.
![](https://habrastorage.org/webt/p_/vd/6i/p_vd6i2kvf37kxey6now-zmc2ja.png)
Введение
Сейчас у большинства людей в мире есть смартфон с постоянным доступом в Интернет. Если говорить в цифрах, то в 2018 году смартфон будет у почти 5 млрд людей, и 60% из них пользуются мобильным Интернетом.
Это огромные числа. Компаниям получать координаты пользователей стало легко и просто. Эти лёгкость и доступность породили (и продолжают порождать) огромное количество сервисов, основанных на координатах.
Всем нам известны компании типа Uber, игры, покорившие мир, такие как Ingress и Pokemon Go. Да что уж там, в любом банковском приложении есть возможность увидеть банкоматы или скидки поблизости.
Мы в Badoo также очень активно используем координаты, чтобы предоставлять своим пользователям лучший, актуальный и интересный для них сервис. Но о каком именно использовании идёт речь? Давайте посмотрим на примеры сервисов, которые у нас есть.
Используем Apple Pay и карту Тройка в качестве пропуска на работу
![Используем Apple Pay, Android Pay, Mastercard Paypass, Visa PayWave и карту Тройка в качестве пропуска на работу](https://habrastorage.org/webt/nn/al/u9/nnalu9dnujtv9szmsqw33qgof70.png)
TL;DR В статье описывается процесс создания системы контроля доступа (СКУД), в которой в качестве идентификатора могут использоваться карты Тройка, любые бесконтактные банковские карты EMV, а также телефоны с Apple Pay и Android Pay. Управление системой происходит через Telegram-бота.
Основные задачи системы
- Избавиться от лишних карт — в качестве идентификатора используется то, что уже есть у пользователя: транспортная карта, телефон или банковская карта. Какой идентификатор использовать — каждый выбирает сам. Система работает со всеми типами идентификаторов одновременно.
- Избавиться от бюро пропусков и сложных программ управления — нам надоело выдавать и забирать карты у пользователей, держать отдельные компьютеры для управления пропусками, изучать переусложненные программы.
- Управление через Telegram — заведение и удаления пользователей происходит удаленно и не требует компьютера.
Иллюстрированное руководство по устройству сети в Kubernetes. Части 1 и 2
![](https://habrastorage.org/webt/bn/jc/w9/bnjcw9g5xiqauhsjxvhkzh7xlsc.png)
Вот вы запустили множество сервисов в кластере Kubernetes и пожинаете плоды… или хотя бы собираетесь это сделать. Однако, даже несмотря на существование ряда утилит для настройки кластера и управления им, вам всё же интересно, как всё работает «под капотом». Куда смотреть, если что-то сломается? По себе знаю, что это важно.
Тестирование микросервисов: разумный подход
![](https://habrastorage.org/getpro/habr/post_images/9a5/517/37d/9a551737ddea82563cb802cb2107e27b.png)
Движущая сила микросервисов
Возможность разрабатывать, развертывать и масштабировать различные бизнес-функции независимо друг от друга — это одно из самых разрекламированных преимуществ перехода на микросервисную архитектуру.
Пока властители дум всё ещё не могут определиться, справедливо ли это утверждение или нет, микросервисы уже успели войти в моду — причем до такой степени, что для большинства стартапов они де-факто стали архитектурой, выбираемой по умолчанию.
Однако, когда дело доходит до тестирования (или, чего похуже, разработки) микросервисов, выясняется, что большинство компаний по-прежнему испытывает привязанность к допотопному способу тестирования всех компонентов вместе. Создание сложной инфраструктуры считается обязательным условием для проведения сквозного (end-to-end) тестирования, при котором набор тестов для каждого сервиса обязательно должен быть выполнен — делается это для того, чтобы убедиться, что в сервисах не появилось регрессий или несовместимых изменений.
OWASP Automated Threat: автоматизированные угрозы веб-приложений
![image](https://habrastorage.org/getpro/habr/post_images/fe9/d79/52d/fe9d7952d61c3cdedbf7054b5208d6b6.png)
В методологии OWASP Automated Threat Handbook представлена информация защите веб-приложений от автоматизированных угроз. Эти угрозы связаны с использованием автоматизированных средств, отказа от обслуживания, нарушения логики работы приложения, "брошенные корзины", незавершенные транзакции и т.д.
Прокачиваем WebDriverAgent, или как тестировать iOS-приложения после ядерного взрыва. Расшифровка доклада
Когда Apple с выходом Xcode 8 отказались от UI Automator, мы, как и многие, оказались у разбитого корыта. Appium, который у нас использовался, потерял актуальность, мы начали искать альтернативы и нашли инструмент WebDriverAgent от Facebook. Под катом — текстовая расшифровка доклада о том, с какими проблемами мы столкнулись, как мы их решали и как это повлияло на нашу инфраструктуру тестирования iOS-приложений.
Просыпаешься, а твое приложение на главной в App Store
![](https://habrastorage.org/getpro/habr/post_images/eba/276/e76/eba276e76b777c423a2d2ff215cf46e5.png)
Вокруг нас достаточно разработчиков, которые хотели бы заняться своим проектом. Зачастую эти идеи так и пылятся в головах людей по самым различным причинам. Истории Вадима Смирнова из 2ГИС ( zloypakimon ) — как раз о том, как претворить их в жизнь. Потратив несколько выходных за год, он смог сделать пять разных проектов, не заработал миллионы, но при этом не разочаровался и не прекращает работать над pet-project'ами.
В основе публикации — доклад Вадима на AppConf 2017.
Reverse Engineering ESP8266 — часть 2
Первая часть статьи здесь.
![](https://habrastorage.org/files/64b/220/a7e/64b220a7ece04cf5848be80f367ed546.png)
Содержание
- Введение
- Архитектура ESP8266
- Карта памяти (адресного пространства)
- Формат прошивки
- Процесс запуска
- Инструменты
- Загрузка прошивки для исследования
- Ассемблер Xtensa
- Регистры
- Базовые операторы
- Функции
- Условные переходы
- Заключение
- Ссылки
Пол Грэм. Все статьи на русском. Два года спустя
«Лучший способ писать — это переписывать»
— Пол Грэм, «The Age of the Essay»
![image](https://habrastorage.org/webt/yp/tk/sd/yptksdeorkqonk9r3jbqpv-5ucw.jpeg)
Первую подборку на русском всех статей Пола Грэма (а их 176) меня вдохновили сделать ребята из tceh.com (60 переводов).
Вторую — Edison Software (125 переводов).
Третью — Филтех-акселератор (134 перевода и еще несколько в процессе).
На четвертую… уже закончатся эссе Грэма, буду переводить его Twitter (там, кстати, много полезного).
Недавно я подключился к проекту, цель которого содействовать «филантропическим стартапам» (это такие, которые «за добро во всем мире», типа GNU/Linux, Wikipedia и WebArchive). Я вношу свои 5 копеек подборкой самых полезных концептуальных/теоретических материалов про стартапы и стартаперское (хакерское) мировоззрение.
А для тех, у кого все же стартап, а не ICO:
До 16 января 2018 идет прием заявок, предакселератор PhilTech.
С 5 по 23 февраля будет акселерация «по-полной».
С 19 по 25 мая — финальный интенсив в Москве.
Есть время подучить матчасть, особенно для CEO.
Кто такой Пол Грэм?
Если вы хоть как-то связаны со стартапами у вас возник такой вопрос, то вам обязательно под кат.
Подборка из серии «добавить в избранное и читать по одному эссе в день».
(хватит на полгода, кстати)
Как программисты с PVS-Studio ошибки в проектах искали
![Picture 3](https://habrastorage.org/getpro/habr/post_images/988/746/09c/98874609c80f8b059009ce7b6076c7b5.gif)
Интегрируем смартконтракт в веб-приложение на Nodejs
Если вам интересна тема разработки продуктов использующих смартконтракты, но вы хотите понять полный цикл создания таких приложений, то этот урок специально для вас (надеюсь). Из него вы узнаете как разработать, оттестировать, залить в сеть и интегрировать в ваше приложение смартконтракт для блокчейна Ethereum.
Внутреннее устройство и оптимизация бандла webpack
Чтобы разобраться в секретах этой магии, мы обратились к эксперту, человеку, который неоднократно залезал внутрь webpack, — Алексею Иванову. Он готов объяснить, как выглядит бандл изнутри, как на него влияют разные настройки, к чему и почему могут привести некоторые из них, а также рассказать, как все это отладить и оптимизировать.
В основе материала — доклад Алексея Иванова на конференции HolyJS 2017, проходившей в Санкт-Петербурге 2-3 июня.
Использование SVG в качестве Placeholder’a
![image](https://habrastorage.org/getpro/habr/post_images/fda/f98/f59/fdaf98f59edc981e02ca522d0a135432.jpg)
Генерация SVG из изображений может использоваться для Placeholder’ов.
Я занимаюсь оптимизацией изображений и картинок для их быстрой загрузки. Одна из самых интересных областей исследования это Placeholder’ы: что показывать, когда изображение еще не загружено.
В последние дни я сталкивался с некоторыми методами загрузки, которые используют SVG, и я хотел бы описать их в этом посте.
В этом посте мы рассмотрим следующие темы:
- Обзор различных типов Placeholder’ов
- Placeholder на основе SVG (контуры, фигуры и силуэты)
- Автоматизация процесса.
Sir Markdown. Лекция Яндекса
У меня иногда складывается впечатление, что не он служит для нас, а мы служим для этого формата. Поэтому — сэр Markdown.
UX-дизайн: 50 вещей, которые вы наверняка забыли сделать
— PM
![image](https://upload.wikimedia.org/wikipedia/ru/4/43/%D0%A4%D0%B5%D0%B9%D0%B4-%D0%A0%D0%B0%D1%83%D1%82%D0%B0_%D0%A5%D0%B0%D1%80%D0%BA%D0%BE%D0%BD%D0%BD%D0%B5%D0%BD_%28%D0%B0%D0%BD%D0%B3%D0%BB._Feyd-Rautha_Harkonnen%29.jpg)
Иногда приложение кажется простым, минималистичным и лаконичным, но легко упустить из виду то, сколько экранов, формочек, кнопочек, окошек и прочих мелочей приводит к такому восприятию легкости и простоты использования.
Представляем вам чеклист из 50 пунктов для самопроверки. Вот примерные подразделы:
- Логин и регистрация
- Первый опыт
- Важные детали
- Запуск
- Профиль
- Безумные потоки
Серьезная уязвимость в популярной библиотеке шифрования подрывает безопасность миллионов крипто-ключей
![image](https://habrastorage.org/getpro/habr/post_images/a49/e28/b2a/a49e28b2a4c802a52095b3be71bb26cb.png)
Изображение: crocs.fi.muni.cz
Международная группа исследователей информационной безопасности из Великобритании, Словакии, Чехии и Италии обнаружила критическую уязвимость в популярной библиотеке шифрования RSA Library v1.02.013 от Infineon. Ошибка в алгоритме для генерации простых чисел RSA, делает сгенерированные с помощью библиотеки Infineon ключи шифрования подверженными факторизации — это позволяет злоумышленникам раскрывать секретную часть ключа.
Уязвимая библиотека применяется для обеспечения безопасности национальных ID-карт в нескольких странах, а также во многих популярных программных продуктах, используемых как государственными органами, так и бизнесом.
Attify OS — дистрибутив для тестирования на проникновения IoT
![](https://habrastorage.org/webt/59/e0/73/59e0736e14cf5409438954.jpeg)
Мало кто знает, что буква S в аббревиатуре IoT означает Security.
В этой статье я расскажу о дистрибутиве Attify OS, предназначенном для тестирования IoT- устройств.
Сказ о том, как у украинского оператора появились серьезные проблемы
![image](https://habrastorage.org/getpro/habr/post_images/4ec/634/3d2/4ec6343d2bdbc1e3fb7e62dac0fd93cd.png)
Information
- Rating
- Does not participate
- Location
- Sydney, New South Wales, Австралия
- Date of birth
- Registered
- Activity