[Из песочницы] Генерация типаж-объектов на лету (или безумие с Rust)

В этой статье мы немного потешимся с языком программирования Rust, а в частности, с типаж-объектами.

Когда я знакомился с Rust, одна из деталей реализации типаж-объектов мне показалась интересной. А именно то, что виртуальная таблица функций находится не в самих данных, а в "толстом" указателе на них. Каждый указатель на типаж-объект ) содержит указатель на сами данные, а так же ссылку на виртуальную таблицу, где будут находиться адреса функций, реализующий данный типаж-объект для заданной структуры (но так как это деталь реализации, то поведение может поменяться.

Читать дальше →
[Из песочницы] Генерация типаж-объектов на лету (или безумие с Rust)
Source: habrahabr

[Из песочницы] О композиции функций в JavaScript

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

TL;DR
Compose functions like a boss:
image
Популярные реализации compose — при вызове создают новые и новые функции на основе рекурсии, какие здесь минусы и как это обойти.

Читать дальше →
[Из песочницы] О композиции функций в JavaScript
Source: habrahabr

[Перевод] Проблемные личности среди тестировщиков

Отдел обеспечения качества (QA) занимается поиском багов в ПО. Методы отличаются в разных компаниях, но обычно этим занимаются сотрудники, знакомые с программным обеспечением. Они используют его различными способами и пытаются найти баги, которые упустили разработчики.

Термин QA может относиться к самому процессу, к организации, а также к отдельному тестировщику в рамках этой организации. Обычно тестировщиков в организации по обеспечению качества называют “QA”. В этой статье для единообразия будем использовать общую аббревиатуру QA вместо более точного «тестировщик отдела обеспечения качества».

В разных компаниях отличается степень ответственности QA за общее качество продукта. Иногда термин «обеспечение качества» не совсем применим к этому отделу, если он только ищет баги и подсчитывает их количество.
Читать дальше →
[Перевод] Проблемные личности среди тестировщиков
Source: habrahabr

Разработка доступных интерфейсов

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

Хорошие примеры доступных сайтов у Пенсионного Фонда и Госуслуг. Чтобы ваш ресурс стал доступным, такой масштабной работы, как для ПФР, не требуется. Достаточно применить три принципа, добавить в закладки два сайта с подробной документацией по разработке доступных сайтов и немного адаптировать рабочий процесс под новую парадигму. В результате ваши ресурсы перейдут на новую ступень: будут доступными и удобными для людей с ограниченными возможностями.

О том, как быстро и эффективно разрабатывать доступные ресурсы сегодняшняя расшифровка доклада Сергея Кригера на Frontend Conf.

Читать дальше →
Разработка доступных интерфейсов
Source: habrahabr

Опасное приглашение, или Как работает боевая нагрузка к фишинговому письму

Недавно специалисты PT ESC обнаружили документ формата Publisher с названием «Приглашение 29–30 ноября 2018.pub» (1edd5b6a02ec82cec381c1a1ec74a67e). В этом материале мы расскажем, как обычный с виду документ превращается в троян, позволяющий злоумышленнику захватывать изображение с веб-камер, записывать звук по команде или при обнаружении окна Skype, запускать PowerShell-скрипты, делать скриншоты экрана, копировать файлы с медиаустройств. Читать дальше →
Опасное приглашение, или Как работает боевая нагрузка к фишинговому письму
Source: habrahabr

Все дело в Agile — 2: особенности внедрения гибкой разработки

Продолжаем про нюансы гибкой разработки (Agile), которые случаются на практике. Как понять, правильно ли внедрен Agile, какая практика годится для какой задачи и отрасли, кто в компании должен переводить работу на «Agile-рельсы»? Своим опытом с редакцией блога Mail.Ru Cloud Solutions продолжает делиться Agile-коуч ScrumTrek Василий Савунов.

В прошлый раз Василий рассказал, что такое Agile, какие он включает методологии и какие вокруг него сформировались стереотипы. Теперь поговорим о его внедрении.
Читать дальше →
Все дело в Agile — 2: особенности внедрения гибкой разработки
Source: habrahabr

Давайте поговорим о метриках как способе оценки труда программиста

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


Подходящей «Картинки Для Привлечения Внимания» на эту тему нет, так что держите котика

Почему-то слово «метрики» в IT-сфере плотно ассоциируются с такими «превосходными» по своей тупости практиками, как подсчет написанных строчек кода или закрытых тасков. С уверенностью можно сказать, что это — самые бесполезные и беззубые в управленческом плане «инструменты» контроля. По сути же, адекватные метрики бывают, весьма условно, но все же, только двух типов: метрики для проекта и/или работ, результат и время исполнения которых ясен и прогнозируем во времени, и напротив, метрики для проекта и/или работ, результат и время исполнения которых спрогнозировать физически невозможно. Для первого типа выставляются метрики результата, а для вторых — дистанции, сиречь отработанного времени.
Читать дальше →
Давайте поговорим о метриках как способе оценки труда программиста
Source: habrahabr

Базы данных и Kubernetes (обзор и видео доклада)

8 ноября в главном зале конференции HighLoad++ 2018, в рамках секции «DevOps и эксплуатация», прозвучал доклад «Базы данных и Kubernetes». В нём рассказывается о высокой доступности баз данных и подходах к отказоустойчивости до Kubernetes и вместе с ним, а также практических вариантах размещения СУБД в кластерах Kubernetes и существующие для этого решения (включая Stolon для PostgreSQL).

По традиции рады представить видео с докладом (около часа, гораздо информативнее статьи) и основную выжимку в текстовом виде. Поехали! Читать дальше →
Базы данных и Kubernetes (обзор и видео доклада)
Source: habrahabr

Костыли, Нарния, прокрустов ниндзя: три боли тимлида в стартапе

Тимлид в стартапе — разом и Илон Маск, и Франкенштейн. Утром конструирует космические корабли, а к вечеру обращает к проекту крик: «Живи! Тебе нельзя умирать!» — и нездорово смеется. И все это в компании трех джуниоров.

Александр Поломодов руководит разработкой в управлении привлечением в Tinkoff.ru; ранее он был руководителем разработки / CTO в небольших компаниях. Мы попросили Александра вспомнить прошлое и рассказать, какие подводные камни могут ожидать тимлида, приходящего в стартап.

image

Под катом — ответы на важные вопросы:

  • как выжить в условиях, когда процессы взаимодействия не налажены (или не существуют вовсе);
  • как собрать крутую команду, когда ФОТ ограничен;
  • как понять, что из проекта нужно бежать.

Читать дальше →
Костыли, Нарния, прокрустов ниндзя: три боли тимлида в стартапе
Source: habrahabr

Менеджер проекта с ТЗ в руках — это ещё не признак управления проектом

— Привет! Ну ты как, кто, где? — давно не виделись.
— Да я менеджер ИТ-проекта в большой компании.
— О, PRINCE, риски, экстремальное управление, финансы. Сложно!
— Да не. Так, ТЗ от клиента технарям и обратно таскаю за деньги. Фигня.

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


Типичный прожект менеджер, который не очень понимает, что такое управление проектами
Читать дальше →
Менеджер проекта с ТЗ в руках — это ещё не признак управления проектом
Source: habrahabr