Pull to refresh
52
0
Akshin Mustafayev @AkshinM

Senior System administrator

Send message

О троице, которая хакнула настоящий поезд. Даже целых 30 поездов

Reading time10 min
Views75K

Поезд, сделанный польской компанией, внезапно сломался во время техобслуживания. Специалисты были беспомощны — поезд был в порядке, только никак не хотел ехать. Доведённые до отчаяния, они вызвали на помощь команду Dragon Sector, члены которой нашли такие чудеса, о которых машинисты даже и не мечтали.

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

Читать далее
Total votes 201: ↑200 and ↓1+254
Comments283

Как создать собственный шрифт

Level of difficultyEasy
Reading time7 min
Views14K

В этом месяце я решил узнать, как создать шрифт, который буду использовать в своём комиксе hakum. Раньше я рисовал текст в цифре на своём планшете. Результат оказывался хорошим, но иногда трудночитаемым (размер текста часто скакал на одной странице). Мне не хотелось использовать готовый шрифт, поэтому я решил создать собственный на основе своего рукописного текста. Шрифт повысит читаемость текста и сделает его однородным.

Примечание: это моя первая проба создания шрифта. Я не дизайнер, не освоил создание шрифтов в совершенстве и не специалист по программе FontForge. Возможно, существуют способы получше добиться того же результата. В этой статье я опишу свой процесс, который, вероятно, поможет другим начинающим создать свой первый шрифт (для личного пользования). Моя цель заключалась в создании шрифта TTF для применения в веб-публикациях с ограниченным набором символов (без полужирного и курсивного написания).

Читать далее
Total votes 21: ↑21 and ↓0+21
Comments0

Пакуем весь трафик в Ping message, чтобы не платить за интернет | ICMP NAT traversal

Level of difficultyHard
Reading time29 min
Views87K

Бывало ли у вас такое, что вы подключились к общественной сети или мобильному интернету, но он себя странно ведёт. Надпись «Подключено, без доступа к интернету» отсутствует, устройство думает, что всё нормально. Вы открываете браузер и видите «Пройдите проверку личности в сети нашего кафе» или в случае с мобильным интернетом «Пополнить баланс можно тут, тут и тут».

Так вот, переходя ближе к теме. Вы можете воспроизвести подобное поведение очень просто прямо сейчас при помощи вашего мобильного телефона и ноутбука. Я в своём конкретном кейсе буду пользоваться услугами оператора красного цвета, однако проблема актуальна для всех текущих 4 монополистов рынка сотовой связи. Как вам, скорее всего, уже известно, они около года меняют свою политику, внедряя одно интересное нововведение — с вас требуют дополнительной платы за раздачу интернета поверх основного пакета. То есть вы не можете взять и использовать свои 7 гигов на месяц как ресурс для раздачи при помощи точки доступа. Для точки доступа вам предлагают отдельный, зачастую совсем невыгодный тариф. Конечно, можно сменить основной тариф на специальный «тариф для раздачи» и платить втридорога, но, как вы понимаете, сегодня мы в потребителя будем играть совсем недолго. Сейчас по пунктам нужно доказать нечестность подобной политики и с чувством завершённого введения перейдём к непосредственно технотексту.

Подобные условия пользования, само собой, порождают внутреннее недовольство пользователей:

За интернет они платят? — Да.

Раздача как-либо использует ресурсы провайдера сверх нормы? — Нет.
Читать дальше →
Total votes 233: ↑231 and ↓2+294
Comments91

Kubernetes Scheduler в Деталях: Ключевые Концепции. Часть 2

Level of difficultyHard
Reading time13 min
Views5K

В мире, где Kubernetes доминирует в управлении контейнеризированными приложениями, один вопрос часто встаёт перед теми, кто стремится понять его внутренние механизмы: 'Как на самом деле работает k8s scheduler?' Эта статья предназначена для развенчания мифов и предоставления чёткого объяснения работы Kubernetes планировщика. Мы исследуем ключевые моменты этого процесса, начиная от того, назначает ли планировщик модули узлам один за другим в очереди или выполняет эту задачу параллельно, и заканчивая более сложными аспектами его работы. Погрузитесь в детали этой сложной, но увлекательной темы вместе с нами, чтобы лучше понять, как Kubernetes оптимизирует размещение подов в вашем кластере

Погружение в Мир Kubernetes Scheduler
Total votes 14: ↑13 and ↓1+17
Comments1

Не Unity единым…

Level of difficultyEasy
Reading time15 min
Views37K

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

Существует более сотни игровых движков, каждый из них содержит как минимум одну фичу которой нет ни в каком другом. Всех возможностей вместе нет ни в одном, и это прекрасно - иначе бы такой движок монополизировал рынок. Хм, Unreal5 ты ли это? Иногда полезно пробежать по release notes движка, чтобы оставаться в курсе последних новостей. Возможно вы разрабатываете свое решение и эта статья натолкнет вас на новые идеи. Готовы узнать что ваша любимая игры была сделана не на Unity, а на православном SDL?

Читать далее
Total votes 95: ↑95 and ↓0+95
Comments89

Архитектура unity проектов

Level of difficultyMedium
Reading time9 min
Views14K

За всю карьеру удалось поработать на множестве игровых проектов в качестве лида. За более чем 5 лет удалось насмотреться на разные подходы к созданию проектов.

В данной статье я собрал выжимку статей и мыслей из своего блога о подходах, которые я использую в своих проектах. А так же поделился шаблоном пустого проекта, в котором отражена самая удобоваримая архитектура проекта в unity.

Не волнуйтесь, никаких SOLID и других изотерических практик. Коротко, по делу, подкрепленное использованием на нескольких проектах.

Читать далее
Total votes 11: ↑11 and ↓0+11
Comments18

Разбираем TLS по байтам. Где собаки зарыты?

Level of difficultyMedium
Reading time34 min
Views13K


Подключение к сайту бывает защищённым, а бывает нет — это надо знать всем детям. Только не все дети знают, что это значит и как работает. Кажется я это уже писал? Ах да, это же вторая часть статьи с разбором TLS.

В первой мы увидели, что такое «защищённое соединение», сколько и каких ключей для него нужно, кто кого шифрует и подписывает, и что такое «сертификат». Сейчас разберёмся, как всё это дело реализуется в протоколе TLS: как выглядит рукопожатие, как сделать ключ шифрования своими руками, в каком виде данные передаются по сети.
Читать дальше →
Total votes 39: ↑39 and ↓0+39
Comments1

Итак, вы решили перейти с Unity на Unreal Engine

Level of difficultyEasy
Reading time9 min
Views25K

Наверно, произошло что-то плохое, и теперь вы читаете эту статью. Сочувствую! Давайте начнём по порядку.

Меня зовут Джо Уинтергрин, я генералист Unreal Engine. Можете взглянуть на все мои ресурсы. В статье я приведу полезную информацию для новичков в Unreal, имевших опыт работы с Unity.

С чего начать?

• Прочитайте документацию по Gameplay Framework. Всю целиком! У Unreal есть Gameplay Framework. Прочитайте документацию и освойтесь в ней. Это правильное решение при разработке любого типа игры. Не пропускайте её. Держите её под рукой, чтобы перечитывать.

• Влейтесь в сообщество. Это учетверит вашу скорость обучения. Есть Discord для бывших Unity-разработчиков Алекса Роуза и есть мой Discord.

• Почитайте Epic Online Learning Library. Вот она. Делайте упор на статьи, написанные Epic Games.

• Скачайте последнюю версию Unreal Engine из Epic Games Launcher. На данный момент это 5.3. В общем случае всегда стоит начинать проект на самой новой версии. Кроме того, нет никаких причин больше пользоваться UE4 — UE5 лучше и имеет все возможности UE4.

• Изучите документацию «Unreal Engine for Unity Developers» компании Epic. Это хороший способ начать. Вот она.

• Прочитайте статью целиком. Я знаю, здесь много текста, но не ничего не пропускайте! Всё это очень важная и точная информация! В Интернете много некачественных сведений об Unreal, но не здесь. Здесь всё правильно.

Читать далее
Total votes 31: ↑31 and ↓0+31
Comments26

Kubernetes Scheduler в Деталях: Важные Аспекты. Часть 1

Level of difficultyHard
Reading time9 min
Views7.2K

Хотите узнать, как Kubernetes оптимально распределяет ваши контейнеры по нодам и каким образом можно этот процесс настроить или даже модифицировать?

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

Планирую идти от простого к сложному, так что прошу отнестись с пониманием. Если вы уже знакомы с базовыми концепциями k8s scheduler, не стесняйтесь пропустить первую часть и перейти сразу ко 2-й (ссылка будет опубликована позже).

Читать далее
Total votes 24: ↑24 and ↓0+24
Comments1

Разворачиваем приложение в кластере Kubernetes под управлением Deckhouse c помощью werf

Level of difficultyMedium
Reading time24 min
Views5.9K

В статье мы рассмотрим, как подступиться к миру Kubernetes в первый раз — развернуть кластер под управлением платформы Deckhouse, разработать и подготовить приложение, развернуть его с помощью утилиты werf, предназначенной для построения рабочего процесса по принципам CI/CD, а также настроить сертификаты для доступа по HTTPS.

Читать далее
Total votes 29: ↑29 and ↓0+29
Comments0

Путь от инженера до тимлида DevOps. Как я организовывал работу отдела

Reading time12 min
Views17K

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

Читать далее
Total votes 8: ↑6 and ↓2+6
Comments6

Immutable-инфраструктура и ее преимущества

Level of difficultyEasy
Reading time10 min
Views5.9K


Привет, Хабр! Меня зовут Илья Нырков, я Presale-архитектор в VK Cloud. В своей работе я часто сталкиваюсь с проблемами клиентов при выкатке новых версий их проектов. Плохая документация (или зачастую ее отсутствие) приводит к нехватке информации о системных настройках, установленном ПО и его версиях на машине. Из-за этого диагностика и устранение регулярно возникающих проблем значительно усложняются.
Читать дальше →
Total votes 28: ↑28 and ↓0+28
Comments10

Книги по C# для начинающих и практикующих специалистов

Reading time4 min
Views23K

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

Читать далее
Total votes 6: ↑4 and ↓2+8
Comments14

Как ворваться в DevOps

Level of difficultyEasy
Reading time6 min
Views7.6K

Привет, я Сергей, техлид банка «Центр-инвест» и один из авторов курса «DevOps для эксплуатации и разработки». Раньше занимался написанием бэкендов на Java и Kotlin для финтех-энтерпрайза, потом занялся архитектурой, выстраиванием процессов и залез в DevOps. Заношу DevOps-практики, техлижу и деврелю.

В этой статье я расскажу:

• Почему DevOps — это круто и нужно;

• С чего начать свой путь в DevOps;

• Кто такой T-shape-специалист;

• Как мыслят истинные инженеры;

• Что почитать, куда сходить и на что посмотреть.

Читать далее
Total votes 11: ↑6 and ↓5+2
Comments6

Путь к Инновационному Тестированию с Selenium и C#: Мастерство и Качество

Reading time8 min
Views9K

В современном мире программной разработки качество продукта играет ключевую роль. В процессе разработки надежное функционирование веб-приложений становится неотъемлемой частью обеспечения высокого качества программного обеспечения. Автоматизированное тестирование — это эффективный способ обеспечить надежность и стабильность веб-приложений. И здесь на сцену выходят Selenium и язык программирования C#.

Читать далее
Total votes 8: ↑5 and ↓3+3
Comments11

Что содержится в вейпах? Токсины, тяжёлые металлы; возможно, радиоактивный полоний

Level of difficultyEasy
Reading time4 min
Views30K

Если бы вы спросили меня, что содержится в электронных сигаретах, одноразовых вейпах или электронных жидкостях, я бы ответил кратко: «Мы точно не знаем».

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

Химические анализы их содержимого, включая исследование моей команды, даёт некоторые ответы. Но понимание воздействия на здоровье человека добавляет ещё один уровень сложности. Риск электронных сигарет для здоровья зависит от многих факторов, в том числе от того, какое устройство или ароматизатор используется, а также от того, как люди их используют.

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

Читать далее
Total votes 59: ↑40 and ↓19+38
Comments235

Как работает компьютер: глубокое погружение (на примере Linux)

Level of difficultyHard
Reading time48 min
Views138K



Введение


Я делала много вещей с компьютерами, но в моих знаниях всегда был пробел: что конкретно происходит при запуске программы на компьютере? Я думала об этом пробеле — у меня было много низкоуровневых знаний, но не было цельной картины. Программы действительно выполняются прямо в центральном процессоре (central processing unit, CPU)? Я использовала системные вызовы (syscalls), но как они работают? Чем они являются на самом деле? Как несколько программ выполняются одновременно?


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


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


Более удобный формат статьи.

Читать дальше →
Total votes 152: ↑152 and ↓0+152
Comments36

Поднимаем кластер PostgreSQL в Docker и Testcontainers

Level of difficultyMedium
Reading time8 min
Views21K

Ранее я рассказывал о том, как запустить PostgreSQL в Docker. Тогда речь шла об использовании «ванильных» образов Postgres и поднятии одного хоста. В большинстве случаев этого достаточно как для тестов, так и для экспериментов, но нужно понимать, что в промышленной эксплуатации чаще всего используются высокодоступные (отказоустойчивые, кластеризованные) конфигурации PostgreSQL.

Сегодня я покажу, как запустить уже целый кластер PostgreSQL в Docker, а также в тестах через Testcontainers, и как вручную инициировать смену мастер-хоста.

Читать далее
Total votes 17: ↑17 and ↓0+17
Comments1

Работа с Sass в приложении ASP.NET Core

Reading time6 min
Views3.3K

Sass (Syntactically Awesome Style Sheets) — это скриптовый язык, используемый для создания каскадных таблиц стилей (CSS-файлов). Его синтаксис очень похож на обычный CSS, но вдобавок он поддерживает использование переменных, вложенность, миксины и наследование для селекторов, чего очень не хватает в базовом CSS, ведь эти фичи незаменимы в организации и поддержке стилей вашего веб-приложения. В этой статье я продемонстрирую вам шаги, необходимые для добавления и настройки Sass в вашем ASP.NET Core проекте как в Visual Studio, так и в VS Code.

Sass — это инструмент для повышения производительности, который помогает вам выстраивать и поддерживать таблицы стилей. Среди основных его преимуществ можно выделить следующее:

Читать далее
Total votes 9: ↑8 and ↓1+9
Comments5

Как на самом деле Linux выполняет запись на диск?

Reading time6 min
Views27K

Друзья мои, программисты и операторы, я бы хотел поговорить о том, как в Linux работает запись файлов.

Раньше я думал, что она устроена определённым образом, и как Джон Леннон, «I’m not the only one». Оказалось, операции записи работают совершенно иначе. То, как они работают, интересно и важно знать.

Позвольте начать с того, как я раньше думал о записи файлов.

Читать далее
Total votes 62: ↑43 and ↓19+44
Comments113

Information

Rating
Does not participate
Date of birth
Registered
Activity

Specialization

System Administration, DevOps
Senior
Git
Kubernetes
Terraform
Vmware vSphere
Microsoft Exchange Server
Windows administration
Active Directory
PowerShell
Linux administration