Утром 17 марта (2024) стали недоступны VDS‑серверы одновременно в двух датацентрах CloudMTS — в 03:30 в 1cloud.ru, в 03:45 в oblako.kz
Сервер в oblako.kz ожил 18 марта в 22:25
Сервер в 1cloud.ru ожил 23 марта в 15:40
User
Пора оставить RAID-5 в далеком прошлом
Для ЛЛ: RAID-5 совершенно не подходит для современных массивов из дисков на 5-10 Тб по нескольким причинам.
Переход с физического сервера на виртуальный
![](https://habrastorage.org/webt/t-/gx/xl/t-gxxljzdzll1eq-vjjl_9i6ywe.jpeg)
Домашний сервер — одна из самых важных и полезных частей домашней компьютерной инфраструктуры. В нашем блоге мы многократно рассказывали, насколько круто иметь свой сервер и какие функции он способен выполнять: это система управления умным домом, медиасервер, хранение и раздача файлов, скачивание торрентов и многое другое.
Но есть случаи, когда виртуальный сервер удобнее домашнего. Например, он удобнее для раздачи файлов в интернете и обслуживания личного веб-сайта, а также для мониторинга и тестирования сервисов (программа должна быть постоянно в онлайне). Для создания дополнительной резервной копии файлового архива, которая будет физически удалена от основного домашнего хранилища. Даже ультрадешёвый сервер за 130 рублей в месяц способен одновременно поддерживать несколько процессов.
Лучшие практики Laravel для разработчиков в 2024 году
![](https://habrastorage.org/r/w780/getpro/habr/upload_files/ecf/678/60a/ecf67860a90770a2cabb1ffac47b4539.jpg)
Для чистого, тестируемого и масштабируемого кода в фреймворке Laravel стоит применять необходимые практики. Особенно это важно с учетом гибкости PHP, ведь любые отклонения могут привести к усложненному коду, а скорость обнаружения ошибок гораздо снизится.
Разбираемся, как помогает Laravel, и называем нужные практики для создания приложений.
World Composition для игр с открытым миром — Unreal Engine 4
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/8de/03a/167/8de03a16713cfbea93127b06137b287f.png)
Всем привет. Меня зовут Ширшов Владимир и я техлид проекта King's Bounty 2. Игра разрабатывается на движке Unreal Engine 4.
King's Bounty 2 - это игра с открытым миром, в котором есть города, поселения, наполненные персонажами, интерактивными объектами и зонами сражений. Персонаж может перемещаться по миру как пешком, так и верхом. Все элементы открытого мира должны помещаться в память, удовлетворять требованиям по производительности и успевать загружаться на всех целевых платформах (PlayStation 4, XBox One, Nintendo Switch), чтобы вокруг игрока всегда были персонажи и детализированные объекты.
Я хочу поделиться опытом использования системы стриминга уровней в Unreal Engine 4 World Composition для создания открытого мира и рассказать об ее плюсах и минусах. Также расскажу о тех изменениях, которые нам потребовалось внести в нее для того, чтобы игра помещалось в память целевых платформ, и уровни успевали загружаться при перемещении игрока по локации.
regexp — большие гонки
![](https://habrastorage.org/r/w780/getpro/habr/upload_files/65f/855/d9c/65f855d9c72982ec6d278e0fd7f466dd.jpg)
Так или иначе сталкиваться с регулярными выражениями приходилось большинству разработчиков. Мое первое знакомство произошло с реализацией regex в STL std::regexp
. Чаще всего регулярки используются в проверке входных данных, что-то вроде проверки корректности введенного пользователем URL, адреса IPv4, адреса IPv6, телефонного номера и при этом скорость выполнения операции regex не сильно влияет на время отклика от приложения. Но, что если вам приходится проверять сотни, тысячи или даже десятки тысяч правил и все это на постоянно меняющихся наборах входных данных в реальном времени? В этой ситуации вам не просто нужен быстрый алгоритм, вам понадобится лучший из них, вам понадобиться чемпион!
Мы хотим, чтобы серверы падали одновременно
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/8e9/be7/d4c/8e9be7d4c9a259dfddedefa2e8562d5b.png)
К нам обратился заказчик из сфера развлекательного видеостриминга с интересной проблемой - у него сервера падали не одновременно. А очень хотелось бы добиться синхронности.
Сервера, которые смущали заказчика работали в роли бэкенда для хранения видеофайлов. По сути, это было множество узлов, содержащих десятки терабайт видеофайлов, которые предварительно были нарезаны в разном разрешении конвертерами. Затем, все эти миллионы файлов отдавались во внешний мир с помощью nginx + kaltura, что позволяло перепаковывать на лету mp4 в сегменты DASH/HLS. Это позволяло хорошо переносить даже высокие нагрузки, отдавая плеером только нужные сегменты без резких всплесков.
Проблемы появились тогда, когда встал вопрос с георезервированием и масштабированием при росте нагрузок. Сервера внутри одной группы резервирования умирали не синхронно, так как представляли были весьма разнообразным зоопарком с разными провайдерами, шириной канала, дисками и RAID-контроллерами. Нам предстояло провести аудит всей этой красоты и перестроить почти с нуля весь мониторинг с методологией управления ресурсами.
Как дальнобойщик в 38 лет стал разработчиком на Ruby on Rails
![](https://habrastorage.org/webt/nl/wa/sr/nlwasrim4jjutohovdauu4munju.png)
Недавно мне представилась возможность взять интервью у Педро Давида Гарсии Лопеса, разработчика на Ruby on Rails из Великобритании, который до этого работал дальнобойщиком. Интересно то, что он решил стать программистом в 38 лет. В этой статье я расскажу его историю, которая, надеюсь, покажется вам такой же вдохновляющей, какой она показалась мне.
Создание графического бота для EVE Online
![](https://habrastorage.org/r/w780/getpro/habr/upload_files/394/093/c0b/394093c0b43afc4ceae609728dac9070.jpg)
В один прекрасный день, стреляя по NPC в космосе, мне стало интересно, а смогу ли я этот рутинный процесс немного автоматизировать.
Выводить в консоль «Привет, мир!» я уже умел.
Теоретическое представление, что нужно делать, так же имелось.
Оставалось дело за малым - реализовать задумку.
Изначальная цель была простой - определять, что дронов в космосе атакуют и собирать их в ангар, после чего выкидывать обратно в космос.
Кто реально угрожает C++ (нет, Rust, не ты)
Привет! Меня зовут Александр Каленюк, и я крепко подсел на C++. Пишу на C++ 18 лет кряду, и все эти годы отчаянно пытаюсь избавиться от этой разрушительной зависимости.
Всё началось в конце 2005 года, когда мне довелось писать движок для симуляции 3D-пространства. В этом движке было буквально всё, чем язык C++ мог похвастаться в 2005 году. Трёхзвёздочные указатели, восьмиуровневые зависимости, C-подобные макросы повсюду. Кое-где – вкрапления ассемблера. Итераторы в стиле Степанова и мета-код в стиле Александреску. В общем, всё. Кроме ответа на самый важный вопрос: зачем?
Как выбрать быстрый виртуальный сервер
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/057/034/fc5/057034fc56e7a1b7cf672ab4483b6ace.png)
На рынке виртуальных серверов сегодня можно насчитать более сотни хостеров с тысячами разных тарифов. Но если попытаться среди них найти предложения с быстрым процессором, доступные варианты можно пересчитать на пальцах.
Для одного небольшого проекта нам понадобилось выбрать быстрый VPS, в статье расскажем, как мы его искали.
«Хакер»: Дмитрий Артимович о DDoS, scareware и изнанке жизни хакера
![](https://habrastorage.org/r/w780/getpro/habr/upload_files/db6/ffa/a4c/db6ffaa4c960413fe3ee406db9c2361f.jpg)
Дмитрий Артимович — один из самых известных на Западе русских хакеров. Именно он устроил DDoS-атаку платежного шлюза Assist, в результате которой «Аэрофлот» полторы недели не мог принимать оплату. Недавно Артимович написал книгу «Я — хакер! Хроника потерянного поколения», где раскрыл множество инсайдов. Даня Шеповалов прочитал ее, слегка ужаснулся некоторым скандальным подробностям и поговорил с Дмитрием о его непростом опыте.
Б/У ThinkPad может быть лучше, чем новый дешёвый ноутбук
![](https://habrastorage.org/r/w780/getpro/habr/upload_files/362/a4c/f69/362a4cf69e81dcd301b5aedab8cf7b4c.jpg)
Технологическая индустрия, СМИ, якобы независимые эксперты, как правило, рекомендуют покупать самые новые, самые продвинутые гаджеты: смартфоны, телевизоры, ноутбуки. А что делать, если обновиться нужно, а денег на топовое устройство нет? Ну, или просто не хочется тратить слишком много денег.
Брать новое дешёвое устройство? Такой себе вариант. Вполне вероятно, что хороший подержанный ноутбук сможет закрыть ваши задачи лучше. Если его немного подшаманить.
Домашняя лаба. Как собрать домашнюю инфраструктуру мечты
![](https://habrastorage.org/r/w780/getpro/habr/upload_files/a45/967/96d/a4596796da23325a3be06e94e136458f.jpg)
Мой первый опыт на Хабре получился не очень положительным, и, признаюсь, до сих пор смотря на комментарии и оценки, мне стыдно и больно где-то внутри.
Потому в имя исправления ошибок молодости решил написать серию статей о том, как дома собрать свою "идеальную" хранилку, или сервак, или мини облако. Поделюсь опытом, своими знаниями и пониманием, а также мыслями, которые могут помочь выполняя похожую задачу для себя.
Как сделать и настроить свой CDN
Хранение контента у большинства сетей доставки контента организовано так: CDN сервер, получив в первый раз от пользователя запрос на отдачу файла, загружает его с оригинального сервера к себе, кэширует и тут же отдает пользователю. Для всех последующих запросов файл уже выдается из кэша. Некоторые сервисы позволяют настраивать длительность хранения кэшируемых данных, а также их предварительную загрузку (прекэш).
Иногда может понадобиться настроить собственную сеть доставки контента. Давайте рассмотрим, для чего это нужно и как это сделать.
![](https://habrastorage.org/webt/t-/ms/kk/t-mskkhzvvgwxoybdrkd8-stndi.png)
Это наша будущая CDN из 5 серверов, которая будет раздавать контент на весь мир
Почему безопасник должен расти из программиста
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/5bd/f0f/9c3/5bdf0f9c3e5636b40ea14d7a1cb2405e.png)
По каждому из направлений в ИТ есть свои так называемые «приколы» и особенности в части поиска и обучения сотрудников, взаимодействия с софтом, заказчиками и так далее. В моей области, то есть в области информационной безопасности, все еще обсуждают такой вопрос: «Должен ли безопасник расти из программиста?». Имея 25+ лет в области ИТ и ИБ ответственно заявляю — должен. Для меня это не вопрос, но многие со мной не согласятся. Сегодня раскрою свою позицию и объясню, почему безопасникам жизненно необходимо быть программистами.
Небольшое уточнение — для удобства я называю программистами всех, кто пишет код, манифесты, какие‑нибудь конфиги и так далее.
Docker — не то, чем кажется
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/b8c/da5/126/b8cda5126be1c8e3352c58825f870b4a.png)
Привет, Хабр! Меня зовут Матвей Мочалов, я — компьютерный инженер и один из авторов корпоративного блога cdnnow! Мы с вами познакомились в этом посте про историю DRM для видеоконтента. Сегодня я хочу поговорить с вами про Docker, а точнее про то, о чём многие забывают: различиях в нём для разных систем. Нам, как CDN-провайдеру Docker, все его 50 оттенков близки и знакомы. И, к счастью, наше взаимодействие с ним происходит из-под Linux, но, увы, не всем так везёт.
Как это часто бывает, с мультиплатформенностью и прочими «красивыми» словами в IT, всё не так однозначно. У всего своя цена, и под капотом один и тот же инструмент на разных системах, по сути своей может представлять из себя несколько разных вещей с различными принципами работы и производительностью. А обещания революции скрывают за собой эволюцию, либо вовсе регресс и топтание на месте.
Безопасность памяти меня не волнует
![](https://habrastorage.org/webt/o0/bs/1k/o0bs1k8w8f-tlrzqjxcx1saeepm.png)
Такое заявление может показаться странным для тех, кто более десяти лет работает над обеспечением безопасности памяти на аппаратном уровне, так что я его поясню. Безопасность памяти меня волнует в той же степени, в какой и сложение. Если оно работает, я могу строить на его основе что-нибудь интересное. По факту большинство интересующих меня вещей опираются на него как на фундамент. Если же сложение не работает, я не могу уверенно рассуждать о чём-либо, происходящем в программе.
То же касается и безопасности памяти. Для меня тот факт, что 70% уязвимостей возникают в результате её отсутствия, не говорит о важности этого аспекта. Важность безопасности памяти в том, что один связанный с ней баг может полностью подорвать все гарантии, на которые я опираюсь.
Unchartevice 3310 — обзор ноутбука для работы
![](https://habrastorage.org/r/w780/getpro/habr/upload_files/19d/526/185/19d526185be40f7106db4203f99fc485.jpg)
Задумавши поменять ноутбук, я первый раз в жизни попытался выбрать ноутбук именно для Linux подобных систем - в итоге купил Unchartevice 3310. Далее предлагаю вам поразмышлять на тему ноутбуков под Linux.
Цифровые подписи в Ethereum: как с ними работать?
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/6ff/9df/778/6ff9df7786d1b1edc1c4b48dc09eeeae.png)
Всем привет! Что значит подписать сообщение? Что для этого нужно? В этой статье расскажу про механизм цифровых подписей в сети Ethereum: как работает, какие стандарты существуют и как их использовать.
Information
- Rating
- 2,967-th
- Registered
- Activity