Ад своими руками

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

Был у меня в жизни такой опыт автоматизации, за который долгое время было стыдно. Не потому, что система плохо работала, или метаданные кривые были, или ТЗ не соответствовала — ровно наоборот. Все красиво, быстро, с полным внедрением во всей компании. С точки зрения формальных критериев это был полный успех.

Но компанию, ее культуру это внедрение превратило в ад — бюрократический, системный и бессмысленный.

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

Обо всем по порядку. Читать дальше →
Ад своими руками
Source: habrahabr

[Перевод] Для оптимизации 3D-моделей недостаточно считать полигоны

image

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

Введение

Сколько полигонов мне можно использовать? Это очень частый вопрос, который задают художники при создании моделей для рендеринга в реальном времени. На этот вопрос сложно ответить, потому что дело не только в цифрах.

Я начинал карьеру как 3D-художник ещё в эпоху первой PlayStation, а позже стал программистом графики. Хотел бы я прочитать эту статью перед тем, как впервые начал создавать 3D-модели для игр. Рассмотренные в ней фундаментальные основы пригодятся многим художникам. Хотя бОльшая часть информации из этой статьи не повлияет значительно на продуктивность вашей ежедневной работы, она даст вам базовое понимание того, как графическая карта (graphics processing unit, GPU) отрисовывает создаваемые вами меши.

От количества полигонов в меше обычно зависит скорость его рендеринга. Однако несмотря на то, что количество полигонов часто коррелирует с частотой кадров в секунду (FPS), вы можете обнаружить, что даже после снижения количества полигонов меш по-прежнему рендерится медленно. Но поняв, как рендерятся меши в целом, вы сможете применить набор техник для повышения скорости рендеринга.
Читать дальше →
[Перевод] Для оптимизации 3D-моделей недостаточно считать полигоны
Source: habrahabr

Вышла новая версия Unity 2018.3

Вышла новая версия Unity, которая уже доступна для пользователей. Unity 2018.3 содержит более 2000 новых функций, исправлений и улучшений, включая улучшенный воркфлоу префабов, Visual Effect Graph (Preview) и обновленную систему Terrain, которые дают разработчикам возможность повысить производительность и создавать многогранные и красивые миры.
Читать дальше →
Вышла новая версия Unity 2018.3
Source: habrahabr

[Перевод] Проверки работоспособности и постепенная деградация распределенных систем

Как всегда, спасибо Фреду Хеберту и Саргуну Дхиллону за то, что прочли черновик этой статьи и предложили нескольких бесценных советов.

В своем докладе о скорости Тамар Берковичи из Box подчеркнула важность проверок работоспособности при автоматическом аварийном переключении баз данных. В частности, она отметила, что мониторинг времени выполнения сквозных запросов, как метод определения работоспособности базы данных, — лучше, чем простое эхо-тестирование (пингирование).

… перебрасывая трафик на другую ноду (реплику), чтобы устранить бездействие, надо построить средства защиты от дребезга и других пограничных ситуаций. Это не сложно. Фокус при организации эффективной работы в том, чтобы знать, когда перевести базу данных в первую позицию, т.е. надо быть в состоянии правильно оценить работоспособность базы данных. Сейчас многие параметры, на которые мы привыкли обращать внимание, — например, загрузка процессора, время ожидания блокировки, частота ошибок, — являются вторичными сигналами. Ни один из этих параметров на самом деле не говорит о способности базы данных к обработке клиентского трафика. Поэтому, если используете их для принятия решения о переключении, можете получить как ложноположительные, так и ложноотрицательные результаты. Наше устройство проверки работоспособности фактически выполняет простые запросы к узлам базы данных и использует данные о выполненных и невыполненных запросах для более точной оценки работоспособности базы данных.

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

Читать дальше →
[Перевод] Проверки работоспособности и постепенная деградация распределенных систем
Source: habrahabr

[Из песочницы] Как убедить клиента или компанию использовать Flutter

Привет, Хабр! Представляю вашему вниманию перевод с англ. статьи Pitching Flutter to your company or client (автор Wm Leler)

С момента публикации статьи What’s Revolutionary about Flutter прошло больше года (и этот материал всё ещё актуален). Когда я писал ту статью, лишь немногие мобильные разработчики слышали о Flutter, но с тех пор многое изменилось. Сейчас я не успеваю следить за потоком новых статей и видео, которые появляются в этом активном и постоянно развивающемся сообществе. Разработчики открыли для себя Flutter, и они от него без ума. Вот пример приложения от Reflectly, созданного с помощью Flutter:

Умное приложение-дневник Reflectly
Читать дальше →
[Из песочницы] Как убедить клиента или компанию использовать Flutter
Source: habrahabr

Security Week 51: баг в WordPress 5.0 и софте Logitech, фотоуязвимость Facebook

Всего через неделю после выпуска большого релиза WordPress 5.0 разработчики самой популярной в мире CMS выпустили патч, закрывающий ряд серьезных уязвимостей (новость). Всего было закрыто семь брешей, самая серьезная в некоторых конфигурациях WordPress делает возможной индексацию поисковыми системами страницы активации нового пользователя. В URL страницы содержится ключ активации, из-за чего становится возможной утечка email-адресов пользователей, а в некоторых случаях — еще и паролей, сгенерированных автоматически.

Проблема была решена путем переноса идентификатора из URL в cookie. Уязвимость также затрагивает версию 4.х — для тех, кто по каким-то причинам не готов переходить на WordPress 5.0, выпущена версия 4.9.9. Еще три уязвимости класса XSS теоретически позволяют уже зарегистрированным пользователям WordPress повысить привилегии, в одном случае — благодаря редактированию комментариев администраторов. Также была закрыта уязвимость в PHP, позволяющая указать произвольный путь сохранения при загрузке файла. Подробнее о ней рассказывал исследователь Сэм Томас на конференции BlackHat (PDF). Чуть больше информации обо всех закрытых уязвимостях можно получить в блоге компании Wordfence.
Читать дальше →
Security Week 51: баг в WordPress 5.0 и софте Logitech, фотоуязвимость Facebook
Source: habrahabr

[Перевод] Вышел Entity Framework Core 2.2. Что нового? (3 из 3)

4 декабря вышла финальная версия EF Core 2.2. Она выпущена параллельно с ASP.NET Core 2.2 и .NET Core 2.2 и является самым свежим релизом нашей опенсорсной и кроссплатформенной технологии для управления отображениями между объектами языка и базой данных.

EF Core 2.2 RTM содержит больше сотни исправлений и несколько новых фич, о которых мы и поговорим в этой статье.

Ссылки ведут на соответствующие статьи на Хабре. Это последняя, третья статья серии. В следующий раз мы поговорим о новом релизе — и это будет уже в новом году.

Читать дальше →
[Перевод] Вышел Entity Framework Core 2.2. Что нового? (3 из 3)
Source: habrahabr

Управление инцидентами: «отдать нельзя оставить» или искусство расстановки запятых

Вы замечали, как любая рыночная ниша, став популярной, привлекает маркетологов от информационной безопасности, торгующих страхом? Они убеждают вас, что, случись кибератака, компания не сможет самостоятельно справиться ни с одной из задач по реагированию на инцидент. И тут, конечно, появляется добрый волшебник – сервис-провайдер, который за определенную сумму готов избавить заказчика от любых хлопот и необходимости принимать какие-либо решения. Рассказываем, почему такой подход может быть опасен не только для кошелька, но и для уровня защищенности компании, какую практическую пользу может принести вовлечение сервис-провайдера и какие решения должны всегда оставаться в зоне ответственности заказчика.


Читать дальше →
Управление инцидентами: «отдать нельзя оставить» или искусство расстановки запятых
Source: habrahabr

[Перевод] Фронтенд-2018: итоги года

Мир веб-разработки развивается невероятно быстро. То, что вчера было новостью, сегодня уже может устареть, а то, о чём сегодня почти никто не знает, завтра способно стать двигателем прогресса. В материале, перевод которого мы сегодня публикуем, будет рассмотрено всё самое интересное, произошедшее в сфере фронтенда в 2018 году. Речь пойдёт о развитии фреймворков и вспомогательных инструментов, о JavaScript-трендах, а также о том, в каком направлении фронтенд может пойти в 2019-м.


Читать дальше →
[Перевод] Фронтенд-2018: итоги года
Source: habrahabr