Как стать автором
Обновить
41
0
Асеева-Нгуен Анастасия @Travieso

engineering practices

Отправить сообщение

7 правил хорошего тона при написании Unit-тестов

Время на прочтение4 мин
Количество просмотров37K

“Хорошими манерами обладает тот,
кто наименьшее количество людей
ставит в неловкое положение.”
Дж. Свифт


Привет, коллеги! Сегодня я бы хотел поговорить о Unit-тестировании и некоторых “правилах” при их написании. Конечно, они неформальные и не обязательны к выполнению, но при их соблюдении всем будет приятно и легко читать и поддерживать тесты, которые вы написали. Мы в Wrike видели достаточно Unit-тестов, чтобы понять основные проблемы, которые возникают при их написании и поддержке, и сформулировать несколько правил для их предотвращения.

Читать дальше →
Всего голосов 36: ↑30 и ↓6+24
Комментарии223

Лекции Технопарка: мастер-класс Алексея Рыбака «Про то, что я бы хотел, чтобы мне рассказали, пока я учился»

Время на прочтение25 мин
Количество просмотров47K
Сегодня мы начинаем серию публикаций новых мастер-классов Технопарка. И первая из них — мастер-класс Алексея Рыбака на свободную тему, в котором он поделился со студентами соображениями о том, чем работа в реальной жизни отличается от учебы. Видео смотрите на нашем сайте, а адаптированную расшифровку — ниже.

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

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


Читать дальше →
Всего голосов 66: ↑61 и ↓5+56
Комментарии15

Тестирование мобильных приложений: tips & tricks

Время на прочтение12 мин
Количество просмотров127K
Наша новая статья представляет собой список рекомендаций и советов. Из неё вы узнаете:

  • как облегчить процесс тестирования мобильных приложений в целом;
  • о специфике работы с сетью, внутренними и внешними сервисами, платформах iOS и Android;
  • какие процессные решения и изменения позволят вам развиваться быстрее и вводить культуру тестирования в отделе разработки;
  • какие существуют полезные инструменты и решения для тестирования, отладки, мониторинга и миграции пользователей.

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

Как облегчить процесс тестирования?


1. Используйте принципы эвристики и мнемоники — они помогают удержать в голове все аспекты, которые нужно учесть при тестировании фичи или приложения.

2. Скриншоты, логи и видео — лучшие аргументы тестировщика!
К сожалению, с логами «общения» с сервером зачастую не всё так гладко, как с клиентскими логами. Обычно они добавляются скорее для удобства разработчика при отладке работы с сервером, чем для работы тестировщика.
Читать дальше →
Всего голосов 27: ↑27 и ↓0+27
Комментарии12

Consul: Service Discovery это просто, или прощаемся с конфиг-файлами

Время на прочтение8 мин
Количество просмотров126K
Что здесь интересного:

image

Обзорная статья о Consul (http://consul.io) — системе для поддержания обнаружения сервисов и распределенного хранилища ключ-значение. Кроме самого Consul, рассмотрим Consul-Template — средство для управления конфигурациями сервисов автоматически отражающее изменения в топологии. Статья будет интересна DevOps инженерам, системным архитекторам, тим-лидам проектов и прочим интересующимся микросервисными архитектурами.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии28

Улучшение сетевой безопасности с помощью Content Security Policy

Время на прочтение7 мин
Количество просмотров137K


Content Security Policy (CSP, политика защиты контента) — это механизм обеспечения безопасности, с помощью которого можно защищаться от атак с внедрением контента, например, межсайтового скриптинга (XSS, cross site scripting). CSP описывает безопасные источники загрузки ресурсов, устанавливает правила использования встроенных стилей, скриптов, а также динамической оценки JavaScript — например, с помощью eval. Загрузка с ресурсов, не входящих в «белый список», блокируется.
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии7

Организация разработки и эксплуатации крупных проектов

Время на прочтение4 мин
Количество просмотров10K

Новости из мира DevOps на Highload++ представляет Александр Титов из Express 42


— Я до сих пор не понимаю, в чём отличие DevOps от системного администрирования, в чём? Зачем DevOps, прекрасно же справлялись?
Ну фактически бессмысленно искать отличия, это как сравнивать мягкое с соленым. DevOps он про организацию разработки и эксплуатации целиком, про то что эксплуатация должна включаться на ранней стадии разработки. Это требует новых качеств от разработчиков и новых способностей от системных администраторов, разработчики и администраторы должны научиться работать параллельно, а не как раньше разработчики напрограммировали, скинули все в эксплуатацию, а дальше начинается долгий и неприятный путь разбора проблемы “а кто виноват?”. DevOps должен применяться там, где созрела необходимость в новом подходе, многим компаниям он до сих пор не нужен и они справляются по-старому.
Читать дальше →
Всего голосов 24: ↑18 и ↓6+12
Комментарии0

Чем защищают сайты, или Зачем нужен WAF?

Время на прочтение9 мин
Количество просмотров99K


В этом году компанию Positive Technologies назвали «визионером» в рейтинге Gartner Magic Quadrant for Web Application Firewalls. Это вызвало ряд вопросов о том, за какие достижения мы туда попали и что такое WAF вообще. Вопросы вполне правомерные, ведь Gartner выпускает своё исследование WAF лишь с прошлого года (для примера: «квадранты» по SIEM стали выходить на пять лет раньше, в 2009 году). Кроме того, некоторые до сих пор путаются с терминологией, не отличая «экран для защиты веб-приложений» (WAF) от обычного «межсетевого экрана» (network firewall) или «системы предотвращения вторжений» (IPS).

В этой статье мы попробуем отделить мух от котлет — и рассказать, как идёт эволюция периметровой защиты по мере роста изощрённости атак.
Читать дальше →
Всего голосов 18: ↑14 и ↓4+10
Комментарии5

Традиционное тестирование скоро умрет

Время на прочтение2 мин
Количество просмотров38K
Рутинные задачи в разработке ПО автоматизируются посредством приложений Continuous Delivery и DevOps. Разработчики берут на себя все больше и больше ответственности. Мне стало интересно какова будет роль традиционного тестирования и тестировщиков если посмотреть немного вперед.


Читать дальше →
Всего голосов 38: ↑22 и ↓16+6
Комментарии64

Масштабирование наоборот: БЭМ-методология Яндекса на небольших проектах

Время на прочтение21 мин
Количество просмотров62K
В разработке интерфейсов отдельные фреймворки уже не так важны: когда инструменты доступны, наша задача сводится к выбору нужных. Чтобы сделать правильный выбор, следует начать с общего подхода, с методологии. Большинство методологий, однако, разработаны крупными компаниями. Применимы ли они в маленьких проектах или для успешного использования их нужно переизобретать заново?

Скорее всего, вы уже знаете об одной из таких методологий, разработанной Яндексом, — БЭМ. БЭМ утверждает, что трёх сущностей (блоков, элементов и модификаторов) достаточно для написания HTML и CSS, задания структуры кода и компонентной структуры с последующим масштабированием проекта до самого высокого уровня.

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

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

Изначально эта моя статья была опубликована в известном многим журнале Smashing Magazine. Но я решил, что и на Хабре она может быть интересна, ведь многие здесь занимаются собственными небольшими проектами.

Читать дальше →
Всего голосов 87: ↑77 и ↓10+67
Комментарии54

Сайт с нуля на полном стеке БЭМ-технологий. Методология Яндекса

Время на прочтение29 мин
Количество просмотров107K
На прошлой неделе BBC рассказала, что для новой версии главной страницы использовала методологию БЭМ, созданную в Яндексе. По такому случаю мы решили поднять материалы мастер-класса «Разрабатываем сайт с нуля на полном стеке БЭМ-технологий» и рассказать вам, как начать использовать полный стек БЭМ-технологий в своих проектах.

БЭМ упрощает разработку сайтов, которые нужно быстро создавать и долго поддерживать. Эту технологию используют во фронтенде почти всех сервисов Яндекса, и она уже успела обрасти множеством библиотек и инструментов, которыми мы хотим с вами поделиться.



В статье мы расскажем, в чём преимущество вёрстки независимыми блоками и что такое уровни переопределения, познакомимся с готовыми библиотеками блоков и инструментами для автоматизации сборки. Покажем, как разные инструменты — например, autoprefixer, css-препроцессор Stylus или модульная система YModules — упрощают жизнь разработчика и создают по-настоящему удобную платформу, если встроить их в процесс разработки по БЭМ.

На живом примере мы объясним, в чём польза декларативного подхода, когда одни и те же идеи можно использовать как для CSS, так и для JavaScript. Отдельно остановимся на декларативных шаблонах BEMHTML и BEMTREE, которые позволяют преобразовывать данные в БЭМ-дерево, описанное в формате BEMJSON и, затем в HTML. Рассмотрим в деталях, как написать серверную часть приложения по БЭМ-методологии.
Читать дальше →
Всего голосов 96: ↑79 и ↓17+62
Комментарии37

11 важных вещей, которые нужно знать про DevOps — часть первая

Время на прочтение9 мин
Количество просмотров302K

От переводчика


В 2009 года за рубежом возникло движение, которое назвало себя DevOps. На первый взгляд это разработчики с навыками сисадминов и сисадмины с навыками разработчиков. Но на самом деле это отнюдь не так. Данное подход имеет четкие цели, философию, инструменты и методы, которые только некоторые русскоязычные компании начинают использовать. Мне кажется, что данный подход у нас незаслуженно игнорируется и мне хотелось бы рассказать об 11 вещах, которые нужно знать о DevOps, в частности:
  • что такое DevOps
  • каковы его ценности
  • как он внедряется
  • кому он приносит пользу

Надеюсь, этот текст вам понравится.

Читать дальше →
Всего голосов 15: ↑12 и ↓3+9
Комментарии11

Понимая Docker

Время на прочтение7 мин
Количество просмотров1M
Уже несколько месяцев использую docker для структуризации процесса разработки/доставки веб-проектов. Предлагаю читателям «Хабрахабра» перевод вводной статьи о docker — «Understanding docker».

Что такое докер?


Докер — это открытая платформа для разработки, доставки и эксплуатации приложений. Docker разработан для более быстрого выкладывания ваших приложений. С помощью docker вы можете отделить ваше приложение от вашей инфраструктуры и обращаться с инфраструктурой как управляемым приложением. Docker помогает выкладывать ваш код быстрее, быстрее тестировать, быстрее выкладывать приложения и уменьшить время между написанием кода и запуска кода. Docker делает это с помощью легковесной платформы контейнерной виртуализации, используя процессы и утилиты, которые помогают управлять и выкладывать ваши приложения.
Читать дальше →
Всего голосов 27: ↑22 и ↓5+17
Комментарии62

Оптимизируем бизнес-процесс с помощью симулятора

Время на прочтение6 мин
Количество просмотров25K
У оптимизации процессов непростая судьба. В середине двухтысячных даже запрещалось упоминать это слово, как скомпрометированное подразумеванием бесполезной деятельности. До сих пор люди стараются использовать синонимы типа реинжиниринг, improvement, performance и т.п. Тем не менее повышение эффективности является одной из целей деятельности по управлению бизнес-процессами. Основой для оптимизации является результат анализа данных об окружении и содержании процесса. В случае отсутствия возможности сбора статистических данных (например при дизайне нового процесса), они генерируются симуляторами БП.
В одном из предыдущих постов на Хабре я рассказал об онлайн-сервисе имитационного моделирования бизнес-процессов bpsimulator.com. Сегодня мы постараемся с его помощью решить конкретную задачу по повышению эффективности работы, например процесса розничного кредитования банка.

Цель оптимизации


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

Читать дальше →
Всего голосов 17: ↑13 и ↓4+9
Комментарии0

Махинации с Бюро Кредитных Историй

Время на прочтение15 мин
Количество просмотров6.9K
В недавнем посте «Кредитные хакеры»: методика банковских манипуляций
была выжимка методов махинаций кардеров с Бюро Кредитных Историй в США.
В том посте давалась ссылка на полный материалпо этой теме за авторством Кристофера Согояна (Christopher Soghoian). За перевод данного материала я и взялся, так как самому было интересно, да и нашлись еще хабрапользователи, кому было бы интересно почитать.
Так как текст довольно объемный, то решил его публиковать частями по мере перевода.
Содержание
1. Введение
2. Система потребительских кредитов в США

3. Как получить выгоду от кредитной системы
4. Кредитные уязвимости и эксплоиты
5. Предлагаемые улучшения 
6. Заключение

PS ссылки в тексте не переведены и находятся в оригинале перевода.
PS2 спасибо юзеру rusxg, который неожиданно подключился к переводу текста.
Прошу под кат
Всего голосов 22: ↑22 и ↓0+22
Комментарии25

«Кредитные хакеры»: методика банковских манипуляций

Время на прочтение2 мин
Количество просмотров6.9K
Продолжаем освещать самые интересные доклады с хакерской конференции Defcon. Кроме сугубо технических тем, там обсуждали и другие темы, не имеющие прямого отношения к IT. Например, технологии махинаций с получением банковских кредитов. Подробнейший доклад (полный текст) на эту тему представил известный специалист Кристофер Согоян (Christopher Soghoian). Именно его квартиру за подобные выходки в 2006 году обыскивало ФБР (в тот раз он сделал сайт, помогающий распечатать фальшивые авиабилеты, ничем не отличающиеся от настоящих).

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

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

Данный способ могут использовать граждане с высоким кредитным рейтингом. Если прокачать рейтинг до приемлемого уровня (это довольно несложно), то потом можно в один момент завести карточки с совокупным лимитом на сотни тысяч долларов, воспользоваться бонусами на открытие карточки, а также получить кредит с нулевой процентной ставкой (это спецпредложение на 12-18 месяцев для погашения старых долгов, практикуется почти во всех банках для переманивания клиентов: кредитный хакер может вместо погашения долгов весь кредитный лимит положить на депозит).
Читать дальше →
Всего голосов 60: ↑52 и ↓8+44
Комментарии31

Национальная платёжная система: что это значит для вас, и когда конкретно паниковать

Время на прочтение6 мин
Количество просмотров54K
Возможно, вы уже слышали про национальную платёжную систему. Изначально планировалось, что эта штука станет альтернативой международным платёжным системам. В частности, в 1998 году Виза и Мастеркард прекратили делать переводы по своим картам из-за кризиса – а их, между прочим, 85% рынка банковского пластика.

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

Чтобы участвовать во всём этом, нужно проделать реально сложную работу с IT и ИБ, причём выполнить и проверить её может только организация с соответствующей лицензией. У нас такая лицензия есть, поэтому ниже я коротко обозначу основные проблемы в такого рода работах, с которыми мы уже столкнулись.
Читать дальше →
Всего голосов 73: ↑51 и ↓22+29
Комментарии29

Разбираем интерфейсные детали-ошибки на примере одного банковского клиента

Время на прочтение8 мин
Количество просмотров74K
Время изменилось. Теперь в одиночку можно написать приложение для миллионов человек. Не нужно думать ни о хостинге, ни о дистрибуции, ни о масштабируемости — облака сделают всё за вас.

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

Стоит сейчас какому-нибудь «Энгри бёрдз» написать «2-е птицы», и все молодое поколение будет неправильно наращивать окончания у числительных (на самом деле, наращиваются только порядковые числительные: «2-й дом», «1-му победителю», но «2 птицы»).

Поэтому любой уважающий себя клиентский программист давно должен прочитать Тафти, Чихольда, Раскина и Мильчина. Даже если у вас есть дизайнер и редактор в компании. Потому что и он иногда может нести чушь (всё зависит от квалификации). Или, наоборот, чтобы правильно следовать гайдлайнам и продолжать развивать приложение в едином стиле.

Поговорим сегодня о внимании к деталям на одном практическом примере (будет много картинок).

Читать дальше →
Всего голосов 210: ↑157 и ↓53+104
Комментарии183

Безопасность банковских пластиковых карт — миф или реальность?

Время на прочтение6 мин
Количество просмотров154K
Все больше людей пользуются пластиковыми банковскими картами. Лишь немногие знают, чем одна карта отличается от другой. (Visa от MasterCard, карта с чипом от обычной карты с магнитной полосой). Многие хранят деньги на пластиковой карте, так как считают, что там они более защищены от воровства. Так до недавнего времени было и со мной. Простой поход по магазинам обошелся в 0 р. на счету и при этом карта ни разу не была использована. Разве такое возможно? Оказывается вполне даже. Этот пост скорее для тех людей, которые еще верят в защищенность кусочка пластика с магнитной полосой и доверяют ему все свои сбережения.

Читать дальше →
Всего голосов 97: ↑68 и ↓29+39
Комментарии173

Распространенные заблуждения про банковские карточки

Время на прочтение5 мин
Количество просмотров159K
Работая долгое время области банковского ПО, а в частности по всяким электронным платежам, вместе с коллегами я составил мини-ЧАВО на тему банковских пластиковых карт. Многие вопросы очевидны, а некоторые могут быть весьма туманными. В России бизнес пластиковых карт набирает обороты, что приятно, и лучше быть подкованным по «матчасти».

Итак, 10 распространенных заблуждений.
Далее...
Всего голосов 329: ↑308 и ↓21+287
Комментарии383

Безрисковая национальная платежная система, или хочу счет в ЦБ РФ

Время на прочтение3 мин
Количество просмотров10K
Здравствуйте, досточтимые леди и джентльмены.
Время прохождения платежей между юридическими лицами в России обычно составляет около суток. По-моему, при современном уровне развитии технологий это нелепо. Виной тому унаследованная с прошлого века схема платежной системы.

Контрагент А → Банк А → ЦБ РФ → Банк Б → Контрагент Б

Кроме того, такая схема имеет фундаментальный изъян: рискованные операции кредитования объединены в одной структуре с национальной платежной системой, которая должна функционировать без рисков. Может пора её изменить, или, скорее всего, дополнить до состояния, в котором она не будет подвержена банковским кризисам.
Читать дальше →
Всего голосов 32: ↑9 и ↓23-14
Комментарии81

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Работает в
Дата рождения
Зарегистрирована
Активность