Search
Write a publication
Pull to refresh
0
0
Send message

7 опенсорсных инструментов для мониторинга безопасности облачных систем, о которых стоит знать

Reading time8 min
Views15K
Широкое распространение облачных вычислений помогает компаниям в масштабировании бизнеса. Но применение новых платформ означает и появление новых угроз. Поддержка внутри организации собственной команды, отвечающий за мониторинг безопасности облачных служб, это дело непростое. Существующие инструменты мониторинга дороги и медленны. Ими, в какой-то степени, тяжело управлять в том случае, если нужно обеспечить безопасность крупномасштабной облачной инфраструктуры. Компаниям, для того, чтобы поддерживать свою облачную безопасность на высоком уровне, нужны мощные, гибкие и понятные инструменты, возможности которых превышают возможности того, что было доступно раньше. Именно тут оказываются очень кстати опенсорсные технологии, которые помогают экономить бюджеты на безопасность и создаются силами специалистов, знающих толк в своём деле.



В статье, перевод которой мы сегодня публикуем, представлен обзор 7 опенсорсных инструментов для мониторинга безопасности облачных систем. Эти инструменты предназначены для защиты от хакеров и киберпреступников путём детектирования аномалий и небезопасных действий.
Читать дальше →

Ликбез по техническому заданию

Reading time7 min
Views89K
Польза: получите знания о том, что такое ТЗ и как его составить. Обогатите словарный запас словами: концептуальная модель, data flow, mind card, user flow. use cases, wireframes, ER-model, client-server, API.

Для кого: начинающим разработчикам и желающим чтобы их поняли (заказчикам, стартапам и менеджерам).

Время чтения: 7 минут.

Отправная точка — требования

Хочу пирожное, потом морожное!
Вовка в тридевятом царстве

Существует распространенное заблуждение, что достаточно сказать: “Нужно приложение для музея/кошки/завода” и сразу станет понятно, что вам необходимо.

Прототип многопользовательской игры за 3 вечера?

Reading time25 min
Views6.6K

И снова здравствуйте! Часто ли вам в голову приходили идеи проектов, которые буквально мешали вам спать? То чувство, когда ты волнуешься, переживаешь и не можешь нормально работать над другими вещами. У меня такое бывает несколько раз в год. Какие-то идеи пропадают сами собой после углубления в тему и понимания, что извлечь пользу из такого начинания будет крайне сложно. Но есть такие идеи, развивая которые даже пару часов, захватывают меня настолько, что аж кушать не могу. Этот пост о том, как мне удалось воплотить одну из таких идей за пару вечеров после работы и не помереть с голоду. А ведь сама идея изначально звучало довольно амбициозно — PvP игра, в которой игроки соревнуются друг с другом, отвечая на вопросы.


Читать дальше →

Как масштабироваться с 1 до 100 000 пользователей

Reading time7 min
Views21K
Через такое прошли многие стартапы: каждый день регистрируются толпы новых пользователей, а команда разработчиков изо всех сил пытается поддержать работу сервиса.

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

Попытаемся отфильтровать информацию и записать основную формулу. Мы собираемся пошагово масштабировать наш новый сайт для обмена фотографиями Graminsta с 1 до 100 000 пользователей.

Запишем, какие конкретные действия необходимо сделать при увеличении аудитории до 10, 100, 1000, 10 000 и 100 000 человек.
Читать дальше →

Физика для мобильного PvP шутера, или как мы из двумерной игру в трёхмерную переделывали

Reading time19 min
Views9.5K


В предыдущей статье мой коллега рассказал о том, как мы использовали двумерный физический движок в нашем мобильном мультиплеерном шутере. А теперь я хочу поделиться тем, как мы выкинули всё, что делали до этого, и начали с нуля ― иными словами, как мы перевели нашу игру из 2D-мира в 3D.
Читать дальше →

Оптимизация интерфейса в Unity без кода

Reading time14 min
Views25K


В этой статье ведущий UI/UX художник Никита Кандыбин и технический UI художник Ольга Кинчак поделятся эффективными базовыми практиками по оптимизации Unity UI, которые используются в компании Banzai Games при создании игровых интерфейсов, а также укажут на подводные камни тех или иных решений в дизайне и верстке. Практически во всех перечисленных ниже пунктах можно обойтись без кода, настраивая компоненты непосредственно в редакторе, а что-то даже предусматривая заранее на стадии проектирования макетов интерфейса.
Читать дальше →

Удалённое включение скриптов Mikrotik из Telegram v 2.0

Reading time3 min
Views24K
Всех с прошедшим праздником. Данная тема является более лучшей версией того, что я писал в далеком 2016 тут.

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

Закидываем скрипт в Mikrotik, меняем BotID и ChatID на свои и создаем на него schedule. Ставим параметр «Start Time» на startup (Запуск скрипта при старте.)
«Interval»: 00:00:00
В остальном все как и было.
Читать дальше →

Семь мифов в области исследований машинного обучения

Reading time10 min
Views12K
Для тех, кому лень читать всё: предлагается опровержение семи популярных мифов, которые в области исследований машинного обучения часто считаются истинными, по состоянию на февраль 2019. Данная статья доступна на сайте ArXiv в виде pdf [на английском языке].

Миф 1: TensorFlow – это библиотека для работы с тензорами.
Миф 2: Базы данных изображений отражают реальные фотографии, встречающиеся в природе.
Миф 3: Исследователи МО не используют проверочные наборы для испытаний.
Миф 4: В обучении нейросети используются все входные данные.
Миф 5: Для обучения очень глубоких остаточных сетей требуется пакетная нормализация.
Миф 6: Сети с вниманием [attention] лучше свёрточных [convolution].
Миф 7: Карты значимости – надёжный способ интерпретации нейросетей.

А теперь — подробности.
Читать дальше →

Физика в Unity-проекте на примере мобильного файтинга

Reading time8 min
Views14K

Физика стала неотъемлемой частью любой современной игры. Будь то простая симуляция ткани или полноценная физика движения транспорта. Не являются исключением и мобильные игры. Однако, настраивая физику для них, нужно оглядываться на ограничения, связанные с относительно низкой производительностью поддерживаемых устройств старого поколения. Ведущий технический 3D-художник Banzai.Games Роман Терский рассказал, как его команда интегрировала физику в игровой процесс мобильного файтинга Shadow Fight 3, какие приемы использовала для оптимизации и как переписала “с нуля” физику для персонажей для достижения ее полной детерминированности в синхронном PVP.
Читать дальше →

Свой CI/CD для Unity

Reading time5 min
Views10K
image

Сейчас я расскажу, как выглядит процесс разработки на Unity в маленькой gamedev компании и как мы его улучшаем и автоматизируем. Всё-таки 2020 год на дворе, хватит уже мышкой водить…
Читать дальше →

Девелопишь на .NET Core? Го в Ubuntu, я создал

Reading time3 min
Views36K
image
Photo by Kevin Horvat
Все 12 лет своей карьеры я работал с .NET и был крепко привязан к Windows и проприетарным инструментам разработки. Но, спасибо Microsoft, .NET Core все изменил и теперь разрабатывать для .NET можно почти на чем угодно и в чем угодно. Дело за малым — перетащить на Core свои проекты. Не так давно я решил и этот вопрос и завел трактор для полного переезда на Ubuntu.

Результат очень понравился — все взлетело, разрабатывать легко, а Docker и Kubernetes сделали процесс переезда намного легче. Но из-за слабого знания ОС, bash и запутанности вариантов установки некоторых инструментов (например, того же Docker) изначальная настройка заняла больше дня. То есть процесс довольно долгий и местами запутанный.

Дабы сэкономить время будущему себе и тем, кто также планирует попробовать разработку под Linux, я оформил все в виде скриптов. Их можно запустить на чистой Ubuntu и они все настроят пока ты сидишь и пьешь чаек. Также, при желании, их легко допилить под свои нужды.

Если для вас это звучит полезно — добро пожаловать под кат.
Читать дальше →

Кнопки нестандартной формы в Unity UI

Reading time2 min
Views15K
Недавно у меня возникла необходимость использовать в своем проекте кнопки нестандартной формы. Однако эта на первый взгляд тривиальная задача вызвала у меня некоторые затруднения.

Проблема заключается в том, что стандартная кнопка UI обрабатывает нажатия даже по прозрачным областям, что в данном случае совсем не желательно. При этом у самого компонента Button нет никаких (видимых в инспекторе) параметров, которые могли бы отвечать за то, какие области кнопки могли бы обрабатывать наведение/нажатие.


Спустя некоторое время поисков в интернете и курения документации ко мне пришло следующее, при этом довольно простое, решение:
Читать дальше →

Мифы о кэше процессора, в которые верят программисты

Reading time6 min
Views76K
Как компьютерный инженер, который пять лет занимался проблемами кэша в Intel и Sun, я немного разбираюсь в когерентности кэша. Это одна из самых трудных концепций, которые пришлось изучить ещё в колледже. Но как только вы действительно её освоили, то приходит гораздо лучшее понимание принципов проектирования систем.

Вы можете удивиться: зачем же разработчику ПО думать о механизме кэширования в CPU? Отвечу. С одной стороны, многие понятия из концепции когерентности кэша непосредственно применимы в распределённых системах и на уровнях изоляции СУБД. Например, представление реализации когерентности в аппаратных кэшах помогает лучше понять разницу в моделях согласованности (консистентности) — отличие строгой согласованности (strong consistency) от согласованности в конечном счёте (eventual consistency). У вас могут появиться новые идеи, как лучше обеспечить согласованность в распределённых системах, используя исследования и принципы из аппаратного обеспечения.

С другой стороны, неправильные представления о кэшах часто приводят к ложным утверждениям, особенно когда речь идёт о параллелизме и состоянии гонки. Например, часто говорят о трудности параллельного программирования, потому что «у разных ядер в кэшах могут быть разные/устаревшие значения». Или что квалификатор volatile в языках вроде Java нужен, чтобы «предотвратить локальное кэширование общих данных» и принудительно «читать/записывать только в основную память».
Читать дальше →

Burn Out IT-специалистов: 4 истории от управленца, разработчика, продакта и админа. И рецепт от Southbridge

Reading time12 min
Views25K

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


Знакомьтесь, если ещё не встречались. Это синдром профессионального выгорания.


В IT-сфере около 50% специалистов испытали на себе профессиональное выгорание. Этот синдром опасен самому сотруднику, и проекту, над которым он работает, и всей компании. Более 60% выгоревших сотрудников увольняются. А затраты на найм новых, обучение и онбординг чугунной гирей ложатся на бюджет. И время — оно вообще бесценно.


Раньше burn out не воспринимали всерьёз — считалось, что это способ особо хитроумных сотрудников поменьше делать и побольше отдыхать. Постепенно в наших пампасах культура психологический гигиены в бизнесе доросла хотя бы до признания, что профессиональное выгорание и депрессия — это реальные проблемы.



На митапе «День Техдира» Даниил Подольский, руководитель разработки MTGroup, сделал доклад по профессиональному выгоранию. Мне его выступление было интересно тем, что это взгляд управленца на проблему, а не просто рассказ рядового сотрудника о своём личном примере выгорания.


Читать дальше →

Автоматизация End-2-End тестирования комплексной информационной системы. Часть 1. Организационная

Reading time16 min
Views19K
Этой статьей мы открываем серию публикаций о том, как автоматизировали в одном из крупных проектов компании ЛАНИТ процесс ручного тестирования большой информационной системы и что у нас из этого вышло.

Первая часть – организационно-управленческая – должна быть полезна в первую очередь тем, кто отвечает за автоматизацию тестирования и создает такие системы в целом. Руководители проектов, лидеры групп и владельцы сервисов функционального и автоматического тестирования, все, кого волнует вопрос «как построить экономически эффективное end-2-end тестирование своей ИТ системы», найдут здесь конкретный план и методику.

Источник
Читать дальше →

Уничтожение врагов прыжком, как в «Марио» Unity 2D

Reading time2 min
Views9.8K
Здравствуйте! В этой статье хотел бы поделиться как реализовать, уничтожение врагов прыжком, как в Марио. Сам, еще учусь, так что если буду какие-нибудь полезные советы или подсказки пишите в комментарии обязательно прочту. Ну что же, после многочисленных просмотров туториалов, и прочитанных статей было найдено всего два интересных, и наверное проще всего в исполнение вариантов:

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

Для начала напишем функцию которая будет отнимать жизнь у игрока, и необходима для обоих вариантов:

public int health = 3; 
void Hurt()
    {
        health--;
        if (health <= 0)
            SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
    }
Читать дальше →

Профилирование Unity UI: кто портит мой батчинг?

Reading time7 min
Views11K

Вы потратили бесконечное количество времени на оптимизацию Unity UI. Но для того, чтобы вызвать торможения, достаточно небольшой модификации крошечного атрибута почти невидимого элемента UI Canvas. И когда такое случается, даже профилирование Unity UI не спасёт вас от снижения FPS. Вы готовы долгому исправлению ошибок?

Именно это и произошло в моём последнем проекте...

Я упорно работал над оптимизацией нескольких панелей UI в порте нашей игры на Oculus Quest. В основном задача сводилась к снижению уровня перерисовки (overdraw) до приемлемых величин, чтобы GPU мог справляться с самым главным — реальным 3D-рендерингом.

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

На каком-то этапе UI стал настолько оптимизированным, что едва влиял на тайминги GPU. Реализованные мной техники затемнения непрозрачного UI компенсировали большую часть перерисовок, вызванных наслоением UI (элементами, отрисовываемыми поверх других элементов).

Итак, у меня получилась сверхоптимизированная гибридная система UI, которая по сути перекрывала отрисовываемые под ней 3D-элементы. Стало очень легко отбрасывать рендеринг этих перекрытых фрагментов.

Однако работа ещё была далека от завершения...

Когда я подключил Unity UI Profiler, моё внимание привлекла одна вещь.

Я увидел, что перегруженный ЦП тратит в каждом кадре более 1 мс на рендеринг UI. Это куча времени для платформы, которая даёт тебе бюджет в 13 мс на выполнение всей игры: физики, логики, 3D-рендеринга, ввода, VR и сетевого кода.

И ведь бывали случаи, когда UI «убивал» производительность ЦП ещё сильнее.
Читать дальше →

Логи не нужны?

Reading time10 min
Views37K
Разработка сильно изменилась за последние годы. Вместо монолитных приложений пришли микросервисы и функции. Базы данных из универсальных промышленных монстров переродились в узконаправленные. Docker изменил взгляд на деплой. Но изменилось ли наше представление о логах?

Одна из больших проблем в Яндекс.Вертикалях были логи — 18 ТБ в день и 250 000 логов в секунду, все пишется в файлы. Логи разнородные, потому что много языков: Scala, Java, Python, Go. Потом их собирает Fluent Bit, пишет в Kafka, на одной железной машине работают обработчики, собирают из Kafka и пишут всё на диск. При этом это уже вторая версия логов.



Как следствие, возникает проблема долгого поиска. По этим логам поиск идет с помощью grep. На некоторых сервисах grep может достигать часов. Если у вас есть проблемы в продакшн, вы не будете часами искать свои логи. Чтобы решить проблему, в Яндекс решили написать свой велосипед доставки логов для поиска. Что из этого получилось, расскажет Алексей Данилов (danevge) — разработчик команды инфраструктуры в Яндекс.Вертикалях. Разрабатывает, пишет и поддерживает проекты auto.ru и Яндекс.Недвижимость.

Дисклеймер. Статья рассказывает о современной разработке и подходит для микросервисной архитектуры. Здесь представлены различные продукты — это инструменты, которые используют в Яндекс.Вертикалях. Под другие условия возможны аналоги удачнее, но они выполняют практически те же функции.
Читать дальше →

Правильно программируем. Используем полиморфизм. Общая логика игровых персонажей

Reading time23 min
Views78K

Unity3D. ИСПОЛЬЗУЕМ ПРЕИМУЩЕСТВА ООП. ПОЛИМОРФИЗМ


ВНИМАНИЕ!
Сразу хочу предупредить, читайте комментарии к статье, там KumoKairo предложил более совершенный подход к решению поставленных в статье задач.


Доброго времени суток. В этом уроке мы рассмотрим несколько важных приемов программирования на движке Unity 3D. Думаю, статья поможет как начинающим, так и опытным игроделам.

Целью статьи ставлю осознание мощи и безграничной удобности использования всех прелестей ООП. В частности ПОЛИМОРФИЗМ. Кроме того затронем несколько других важных вопросов.

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

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

Unity и «Помогаторы» для редактора

Reading time5 min
Views38K


В этой статье опишу несколько полезных возможностей и реализаций, которые мне помогли в разработке. Unity уже имеет множество методов чтобы не только «дебажить логами», но и расширять, дорисовывать необходимые данные в окне редактора. Если вы новичок в Unity или вам захотелось освежить знания – «Нужно брать!».
Читать дальше →

Information

Rating
Does not participate
Registered
Activity