Как стать автором
Обновить

Все потоки

Сначала показывать
Порог рейтинга
Уровень сложности

Kubernetes AppArmor

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 32
Блог компании OTUS Настройка Linux *Информационная безопасность *Kubernetes *
Обзор

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

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

Читать далее
Рейтинг 0
Комментарии 0

Новости

«Умирающая Земля» против «Книги Нового Солнца»: сравнение двух знаковых циклов на стыке постапокалипсиса и фэнтези

Время на прочтение 6 мин
Количество просмотров 121
Читальный зал Научная фантастика

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

Хотя истоки «умирающей Земли» можно найти еще в романах конца XIX века, наибольшую популярность она получила в 1950-80-е годы. И самыми известными представителями этого направления являются Джек Вэнс и Джин Вулф. Цикл Вэнса «Умирающая Земля», выпущенный в 1950-84 гг., дал название всему поджанру и оказал влияние не только на других фантастов, но и на авторов игр, включая Dungeons & Dragons. Джин Вулф, написавший тетралогию «Книга Нового Солнца» в начале 1980-х гг., то есть через 30 лет после первого сборника Вэнса, сам признавался в любви к «Умирающей Земле», но его история о странствиях ученика палача Севериана хотя и имеет жанровые сходства с серией Вэнса, совсем другая по атмосфере, стилю и сюжету. Оба эти цикла считаются классикой и заслуживают внимания, но что если сравнить их и попытаться разобраться, какой лучше выбрать для знакомства с поджанром?

Читать далее
Рейтинг 0
Комментарии 0

21 новая фича C++, которые вам обязательно пригодятся

Время на прочтение 10 мин
Количество просмотров 1.2K
Блог компании OTUS C++ *
Перевод

Итак, судьба снова свела вас с C++, и вы поражены его возможностями с точки зрения производительности, удобства и выразительности кода. Но вот незадача: вы теряетесь в этом многообразии замечательных новых фич и, как следствие, затрудняетесь сходу определить, что из этого всего вам действительно стоило бы взять на вооружение в своей повседневной работе по написанию кода. Не стоит расстраиваться, в этой статье вашему вниманию будут представлены 21 новая фича современного C++, которые помогут сделать ваш проект лучше, а работу над ним легче.

Сообщество C++ дополняет стандарт чаще, чем Apple выпускает новые iPhone. Благодаря этому C++ теперь больше похож на большого слона, а съесть целого слона за один присест невозможно. Вот почему я решил написать эту статью, чтобы дать вашему путешествию по современному C++ своего рода отправную точку. Моя целевая аудитория здесь — люди, которые переходят со старого (т.е. 98/03) С++ на современный (т.е. 2011 и далее) С++.

Я отобрал ряд фич современного C++ и постарался объяснить их на лаконичных примерах, чтобы вы научились определять места, где их можно использовать.

Читать далее
Всего голосов 8: ↑6 и ↓2 +4
Комментарии 3

Пройди свой путь в ширину: библиотеки для графов из инди-игры TESTAMENT

Уровень сложности Простой
Время на прочтение 11 мин
Количество просмотров 282
.NET *Разработка игр *C# *
Из песочницы

Графы — это не только математический объект, но и важный инструмент программистов. Они используются в играх, визуализации данных, социальных сетях и других серьезных проектах. Если вы не знаете, как работать с графами, то вы не программист. Конкретно раскладка графа в плоскости — задача не тривиальная. Но что делать, если вы хотите решить эту задачу легковесно и быстро?

Когда я начал работать над своим пет-проектом TESTAMENT, мне нужно было генерировать и отображать произвольные графы. Я хотел, чтобы локации были в виде простых шагов-событий, соединенных между собой. Примерами могут послужить проекты Slay The Spire, Cult of the Lamb, Darkest Dungeon и другие. Исследовав вопрос, я увидел, что существующие библиотеки слишком тяжелые и сложные для моих нужд.

Читать далее
Рейтинг 0
Комментарии 0

Истории

Разбираемся в терминах искусственный интеллект и машинное обучение

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 288
Машинное обучение *Искусственный интеллект Data Engineering *
Интервью

Словосочетание «Искусственный интеллект» (ИИ) и все, что крутится вокруг него в последнее время – одна из самых животрепещущих тем во всем мире. Горячий пирожок в технологической среде. Он оказал влияние на многие аспекты жизни, в том числе на образование. Эксперты в данной области заявляют, что «искусственный интеллект» — это общий термин и следует разделять такие специальности, как программирование, статистика и машинное обучение. Машинное обучение всегда подразумевает использование искусственного интеллекта, однако ИИ не всегда подразумевает машинное обучение.

Читать далее
Всего голосов 1: ↑0 и ↓1 -1
Комментарии 0

DevOps: методология, принципы, подходы и технологии

Время на прочтение 11 мин
Количество просмотров 443
Блог компании Southbridge IT-инфраструктура *DevOps *

О DevOps говорят всё больше и больше, но это понятие настолько многогранное, что  в нём легко запутаться. Спикер нашего курса DevOps Upgrade Александр Крылов раскладывает всё по полочкам: о принципах, подходах и технологиях, которые используют инженеры, чтобы повысить качество разработки и эксплуатации приложений.

Читать далее
Всего голосов 3: ↑1 и ↓2 -1
Комментарии 0

Книга «Роберт Мартин рекомендует. Код, который умещается в голове: эвристики для разработчиков»

Время на прочтение 13 мин
Количество просмотров 1.1K
Блог компании Издательский дом «Питер» Программирование *Совершенный код *Проектирование и рефакторинг *
image Приветствуем Вас, Хаброжители!

Незаменимые практические советы по написанию кода в устойчивом темпе и по управлению сложностью, из-за которой проекты часто выходят из-под контроля. В книге описываются методы и процессы, позволяющие решать ключевые вопросы: от создания чек-листов до организации командной работы, от инкапсуляции до декомпозиции, от проектирования API до модульного тестирования. Автор иллюстрирует свои выводы фрагментами кода, взятыми из готового проекта. Написанные на языке C#, они будут понятны всем, кто использует любой объектно-ориентированный язык, включая Java, C++ и TypeScript. Для более глубокого изучения материала вы можете загрузить весь код и подробные комментарии к коммитам.
Читать дальше →
Всего голосов 6: ↑6 и ↓0 +6
Комментарии 1

Ржавое наследование реализаций

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 767
Rust *
Из песочницы

В моей первой статье на хабре речь пойдет о комбинации примитивных конструкций, позволяющих организовать наследование реализаций и композицию состояний. Поочередно разберу, от простых в использовании конструкций, до комплексных prod-ready решений, которые могут найти повсеместного применения в разработке и публичных контейнерах. Здесь не будет зависимостей, макросов, Rc, Box и тд. - исключительноno_std.

Нажав сюда вы продадите душу дьяволу
Всего голосов 5: ↑4 и ↓1 +3
Комментарии 1

Управление стоимостью проекта: держим бюджет под контролем

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 321
Управление разработкой *Управление проектами *

В этой статье расскажем, какие процессы помогают управлять стоимостью проекта. А также: 

—  какие существуют виды затрат; 

—  какие есть методы управления стоимостью проекта;

—  как и для чего разрабатывать бюджет. 

Читать далее
Всего голосов 1: ↑0 и ↓1 -1
Комментарии 1

Определение метавселенных как новых объектов эпохи цифрового права

Время на прочтение 9 мин
Количество просмотров 197
Блог компании Digital Rights Center Социальные сети и сообщества IT-компании

По данным исследователей из Оксфорда (Oxford Corpus), концепт «метавселенная» (metaverse) в 2022 г. занял второе место по частоте употребления и значимости [1]. Под этим термином лингвисты понимают гипотетическую среду виртуальной реальности, в которой пользователи взаимодействуют с аватарами друг друга и своим окружением с эффектом погружения. Первое зарегистрированное использование термина «metaverse» в Оксфордском словаре датируется 1992 г. Термин использован Нилом Стивенсоном в научно‑фантастическом романе «Снежная катастрофа».

Спустя 30 лет можно констатировать, что метавселенная вошла в социальную жизнь, экономику и право. Например, в 2022 г. выдан первый в мире ипотечный кредит на жилье в метавселенной Decentraland [2]. Аналитики компании Gartner в октябре 2022 года опубликовали доклад о стратегически важных технологических трендах на ближайшее время [3]. К одной из десяти технологий, влияющих на эффективность бизнес‑процессов, они отнесли технологию метавселенной. По оценкам аналитиков, ожидается существенный рост виртуальной экономики, базирующейся на цифровых активах, а к 2027 г. 40% компаний будут использовать комбинацию Web3, облачной дополненной реальности и цифровых двойников. И конечно, это потребует от цифрового права комплексной правовой регламентации технологии метавселенной, которая сегодня отсутствует как явление.

Однако до этого необходимо определить, что следует относить к данному объекту правового регулирования. Зарубежная юридическая наука понимает под метавселенной взаимосвязанные виртуальные среды, управляемые движениями с помощью электромиографии (ЭМГ) и нейронных интерфейсов [4].

Читать далее
Рейтинг 0
Комментарии 0

Учим PixiJS на играх

Уровень сложности Простой
Время на прочтение 60 мин
Количество просмотров 1.1K
JavaScript *Разработка игр *TypeScript *

В статье описал разработку 13-ти игр на PixiJS. Около 70% текста - это описание механики игр, остальное - реализация на PixiJS. Получилось много текста, т.к. описывать советы для PixiJS интереснее с примером из игр.
Самая последняя игра будет самой сложной и интересной.

Читать далее
Всего голосов 10: ↑9 и ↓1 +8
Комментарии 2

Shawarma as a service: как создать бота для заказа шавермы и оставить голодными лишь 1,1% коллег

Время на прочтение 12 мин
Количество просмотров 1.8K
Блог компании Selectel Python *Интерфейсы *IT-компании

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

В этой статье я расскажу, как мы автоматизировали организацию шавадея, написав бота, как Telegram вставлял палки в колеса, как я с этим боролся и что в итоге получилось. В конце вас ждет статистика, которая покажет вкусовые предпочтения разработчиков и «охваты» традиции. А еще ответит на вопрос, сколько людей остались без еды из-за бэкэндера, который до этого никогда не занимался проектированием пользовательских интерфейсов.
Читать дальше →
Всего голосов 25: ↑25 и ↓0 +25
Комментарии 2

В 10-17 раз быстрее, чем что? Анализ производительности Intel x86-simd-sort (AVX-512)

Уровень сложности Средний
Время на прочтение 18 мин
Количество просмотров 1.7K
Программирование *Алгоритмы *Хранение данных *
Перевод

В статье приведён анализ производительности недавно ставшей популярной [1] реализации сортировки Intel AVX-512.

Intel опубликовала невероятно быструю библиотеку сортировки для AVX-512, Numpy переходит на неё, чтобы ускорить сортировку в 10-17 раз

В этом анализе мы рассмотрим производительность x86-simd-sort компании Intel и сравним её с другими обобщёнными реализациями сортировки, например, с std::sort из стандартной библиотеки C++ и vqsort — ещё одной высокопроизводительной реализацией сортировки с ручной векторизацией. Сведение сложных характеристик производительности к единому числу может быть сложной задачей, а получаемые прогнозы могут быть неточными. В своём анализе я хочу шире взглянуть на это значение «10-17 раз» и понять, как оно соотносится с другими высокопроизводительными реализациями.

TL;DR: бенчмаркинг — это сложно. Если вы пользуетесь x86-simd-sort, то можете повысить общую производительность и избежать катастрофического масштабирования при определённых паттернах входных данных с помощью vqsort + Clang. Кроме того, в анализе показано, что аппаратно-зависимая ручная векторизация с широкими AVX-512 SIMD — не единственный способ писать эффективное ПО. Несмотря на свою обобщённость, ipnsort демонстрирует сравнимую с x86-simd-sort производительность, оптимизированную не только под пиковую производительность, используя команды только до уровня SSE2.

Читать далее
Всего голосов 15: ↑15 и ↓0 +15
Комментарии 4

Балансируем между консистентностью и доступностью в распределённой системе: опыт Tarantool

Время на прочтение 13 мин
Количество просмотров 480
Блог компании VK Блог компании Конференции Олега Бунина (Онтико) Администрирование баз данных *Распределённые системы *Tarantool *

Поговорим сегодня про выбор, перед которым встают разработчики всех распределённых систем: обеспечивать ли консистентность данных или доступность системы при различных внешних условиях —  поломках, плановых отключениях узлов, — а также во время штатной эксплуатации. Теория нам даёт простые, но не всегда применимые на практике ответы: можно выбрать либо консистентность, либо доступность (теорема CAP), а когда проблем с сетью нет — то либо консистентность, либо низкие задержки (PACELC). За скобками остаётся вопрос о том, как делать этот выбор. Система как будто всегда должна быть CP или AP, а что происходит, если вдруг работающая CP-система должна начать вести себя как AP, или, наоборот, перейти обратно из AP в CP?

Читать далее
Всего голосов 14: ↑14 и ↓0 +14
Комментарии 0

Security Week 2324: последствия нажатия на поддельную кнопку Download

Время на прочтение 4 мин
Количество просмотров 1.3K
Блог компании «Лаборатория Касперского» Информационная безопасность *
Пятого июня исследователи «Лаборатории Касперского» опубликовали подробный разбор вредоносной программы Satacom, известной также как LegionLoader. Речь идет о семействе загрузчиков — программ, которые устанавливают на компьютер пользователя «полезную нагрузку». В статье разобран вариант, в котором на устройство жертвы ставится расширение для браузера с богатой функциональностью по краже криптовалют.



Особый интерес представляет показанный в статье метод распространения вредоносного кода. В дополнение к чисто мошенническим сайтам, предлагающим скачать пиратскую версию какого-либо популярного ПО, Satacom также распространяется через рекламные объявления, представляющие собой изображение кнопки Download. Да, это тот самый случай, когда на каком-то (сомнительном или не очень) файловом хостинге отображается сразу несколько кнопок загрузки файла, и пользователю нужно угадать, какая из них относится непосредственно к этому хостингу. В исследовании подробно описана ситуация, когда потенциальная жертва нажимает не туда, куда надо.
Читать дальше →
Рейтинг 0
Комментарии 0

Расследование инцидента по утечке данных сайта www.infotecs.ru

Уровень сложности Средний
Время на прочтение 11 мин
Количество просмотров 2.1K
Блог компании Перспективный мониторинг Информационная безопасность *
Кейс

Всем привет! Сегодня мы расскажем об инциденте, связанном с утечкой данных CMS «1С-Битрикс: Управление сайтом» сайта www.infotecs.ru и о том, как проводилось расследование.

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

Не один только Ktor. Микрофреймворк Jooby

Уровень сложности Простой
Время на прочтение 10 мин
Количество просмотров 339
Блог компании OTUS Kotlin *
Туториал

Когда речь заходит о создании REST-сервера для Kotlin часто на ум приходит фреймворк Ktor (от Jetbrains), использующий важные особенности Kotlin, такие как корутины и DSL-синтаксис. Ktor является модульным решением, для которого созданы расширения для всех наиболее важных аспектов разработки бэкэнда (безопасность, маршрутизация, сериализация данных, применение шаблонов, поддержка сетевых протоколов, управление сессиями, операции с заголовками, извлечение метрик и автоматическая генерация документации по API). Однако это не единственный веб-фреймворк и в некоторых случаях его синтаксис оказывается несколько запутанным (например, операции взаимодействия с неявным объектом call внутри корутин обработки запросов). В этой статье мы рассмотрим альтернативный фреймворк Jooby, который предоставляет схожий с Ktor набор функциональности, но дает больше свободы в выборе механизмов неблокирующей многозадачности и, в ряде случаев, более короткий и явный синтаксис, а также показывает более высокую производительность по результатам тестов.

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 0

Что такое исследование данных и почему оно необходимо — кейс rdl by red_mad_robot и «АгроТерры»

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 221
Блог компании red_mad_robot Data Mining *Data Engineering *
Кейс

Перед тем как проводить исследования на данных, нужно исследовать сами данные. Достаточно ли их для анализа, какие гипотезы и факторы влияют на результат, а какие — чистая рулетка? На эти вопросы отвечает исследование данных — Exploratory Data Analysis (EDA). Его rdl by red_mad_robot и проводил для «АгроТерры».​

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 0

Почему переход нашей команды на продуктовую модель разработки потерпел неудачу?

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 1.2K
Управление разработкой *Управление проектами *
Ретроспектива

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

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

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

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 3

Аутентификация Firebase с помощью Google Sign-In в iOS

Уровень сложности Средний
Время на прочтение 4 мин
Количество просмотров 197
Разработка под iOS *
Из песочницы

Аутентификация Firebase с использованием учетных записей Google предоставляет простой способ входа пользователей в приложение iOS с использованием их учетных записей Google. В этом ресёрче я расскажу, как я реализовал аутентификацию Firebase с помощью Google Sign-In в своем iOS-приложении. Я представлю примеры кода, чтобы показать процесс реализации из моего опыта.

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 0