Search
Write a publication
Pull to refresh
4
0
Michael Elin @vanelm

Consulting Network Engineer

Send message

От нуля до Тетриса: наше приключение с Python

Reading time3 min
Views6.4K

Часть 1: Денис, 10 лет

Привет всем! Меня зовут Дениска, и я хочу рассказать вам о нашем с папой увлекательном проекте! Всё началось с того, что играл с другом в мобильную игру. Мне стало очень интересно, как всё это работает: персонажи, графика, всё-всё! Я побежал к папе и спросил: "Папа, ты знаешь, как это приложение работает?".

Читать захватывающее приключение!

Ускорение работы в терминале

Level of difficultyEasy
Reading time17 min
Views24K

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

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

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

Читать далее

Как загрузить, установить Office 2024 LTSC с сайта Microsoft и активировать навсегда?

Level of difficultyMedium
Reading time8 min
Views470K

Десять лет назад я писал пару статей - Как загрузить последний Office с сайта Microsoft без всякого App-V / Хабр (habr.com) и Как загрузить Microsoft Office 16 с сайта Microsoft / Хабр (habr.com), при помощи на тот момент еще мало кому известным Office Deployment Tool.

Время бежит стремительно, за Office 2016 выходит Office 2019, Office 2021, и вот сейчас подошло время для Office 2024. Что ж, посмотрим, что поменялось в плане загрузки, установки и активации продукта за десять лет.

Для начала о версиях и изданиях Microsoft Office. Чтобы не быть слишком дотошным в описании, скажу коротко самое главное, - с годами линейка Office развивается, существуют разные подписки и планы обновления, - новые функции появляются в новых версиях, для старых версий выходят исправления ошибок и заплатки к найденным уязвимостям.

Microsoft давно перешел на систему распространения продуктов семейства Office по разным, так называемым, "каналам" (channels), в зависимости от того как часто вы хотите получать нововведения и обновления.

Ключевым отличием в текущей загрузке и установке Office от того, что было актуально во времена Office 2016, является то, что вы должны определить, каким каналом распространения вы собираетесь пользоваться, - то есть с какого канала собираетесь устанвливать сам продукт. Тем, кто хотел бы подробно изучить разные каналы распространения я предложу почитать первоисточник - Обновления Office - Office release notes | Microsoft Learn. Остальным кратко резюмирую - Microsoft сейчас предпочитает всем продать подписку на Microsoft 365 (то, что ранее называлось Office 365), с регулярно обновляемыми возможностями в течении так называемой Современной политики жизненного цикла. По этой же современной политике распространяется пользовательские (коробочные, ретейл) версии Office 2021. Office 2021, например, поддерживается лишь до 13 октября 2026. А более старые версии следуют, так называемой политике фиксированного жизненного цикла, в рамках которой Office 2016 и Office 2019 поддерживаются лишь до 14 октября 2025. В целом, они не перестанут работать после, однако, перестанут обновляться. И у тех из вас, кто пользуется почтовыми сервисами на базе Microsoft Outlook.com или Office365, а возможно и пользователям Microsoft Exchange, с обновлениями выпущенными после 14 октября 2025 уже пора призадуматься об обновлении.

Читать далее об установке Office 2024

Как взломать миллионы модемов: история одного расследования

Level of difficultyHard
Reading time24 min
Views11K

Два года назад во время работы в домашней сети со мной произошло нечто очень странное. Я эксплуатировал слепую уязвимость XXE, которая требовала внешнего HTTP-сервера для переправки файлов. Казалось, всё шло, как по маслу, но вдруг в моем лог-файле появилось нечто неожиданное...

Читать далее

Сверхскоростные связные списки

Reading time14 min
Views10K

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

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

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

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

От читателя поста ожидается, что он на базовом уровне понимает Rust, обычные структуры данных, а также концептуально представляет, как выделяется память (в стеке и куче).

Дополнение (14.05.2024): Я учёл поступившую обратную связь и подчеркнул, какие идеи объективно плохи, прояснил некоторые отступления и удалил идею о imbl.

Чтобы было проще прослеживать этапы реализации и исследовать код, отсылаю вас к репозиторию, сопровождающему этот пост.

Читать далее

TACACS in da Сloud

Level of difficultyHard
Reading time25 min
Views11K

Вот есть у вас сотня коммутаторов или маршрутизаторов. Это много или мало?

Ну вроде как мало. А если надо на всех разом нового сотрудника добавить? А потом удалить уволившегося? А потом поротировать скомпрометированные пароли и ключи?

И тут приходит служба безопасности, которая, во-первых, хочет централизованно контролировать, у кого какие доступы, во-вторых, актуальны ли они на железках, в-третьих, ещё и смотреть, кто что когда запускал, да ещё и разрешать или запрещать это делать («Просто продолжай, не останавливайся» © СИБ).

Ну вот совсем уже и не мало. Чувствуете, чем это пахнет? Даааа, TACACS-ом.

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

Читать далее

CCNP Encor на русском ч. 1 (L2)

Level of difficultyEasy
Reading time8 min
Views11K

Перевод материала CCNP на русский язык для тех, кому лень учить английский.

Данная часть посвящена повторению основ из курса CCNA и начинает погружение в L2 Switching.

Читать далее

Управление Argo CD с помощью Ansible через API вызовы

Level of difficultyMedium
Reading time4 min
Views3.8K

Сегодня я хочу поделиться опытом управления инфраструктурой с помощью DevOps инструментов. Этот метод может быть полезен, если у вас разнородная инфраструктура (облака, Kubernetes, виртуальные машины и т.д.).

Статья будет разбита на два этапа:

Читать далее

Как я постепенно избавляюсь от контроля Google

Level of difficultyEasy
Reading time9 min
Views63K

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

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

Удобный мониторинг трафика. Заглушка сети. Переводим адаптер TP-Link в режим мониторинга

Reading time5 min
Views10K

Введение

Рады вновь приветствовать дорогих читателей! Продолжая рубрику статей "Без про-v-ода", хотим представить вам два хороших инструмента, которые помогут в исследовании сетей Wi-Fi на безопасность и значительно упростить жизнь тем, кто по каким-либо причинам не может приобрести адаптер Alfa.

Дисклеймер: Все данные, предоставленные в статье, взяты из открытых источников. Не призывают к действию и предоставлены только для ознакомления и изучения механизмов используемых технологий.

Читать далее

Как мы выбирали протокол для клиентского API. Сравнение JSON-RPC 2.0 и RESTful API

Reading time11 min
Views10K

Привет, Хабр! Меня зовут Виталий Киреев, я руководитель R&D в SpaceWeb. В статье расскажу, как мы внедрили JSON-RPC в разработку SpaceWeb и объясню, почему выбрали именно эту технологию, а не RESTful API. А ещё покажу реальные кейсы и метрики использования технологии JSON-RPC.

Читать далее

Что такое Универсальный решатель проблем — программа из 1955 года

Reading time8 min
Views21K
Когда Герберт Саймон и Алан Ньюэлл в 1955 году начали придумывать Logic Theorist, понятия «искусственный интеллект» ещё не существовало.

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

А потом они решили сделать ещё более крутую штуку — программу, которая сможет решить любую проблему, поставленную перед людьми. Они назвали её GPS — General Problem Solver. По идее, у них должен был получиться разумный электронный советчик, который точно знает, как лучше всего поступить в сложной ситуации из серии «аккумулятор на машине разрядился, а вам срочно нужно отвезти ребёнка в детский сад». Ну или дать ответ на главный вопрос жизни, Вселенной и всего такого.

Но вот получилось вообще не то.

image
«Ты только посмотри, что GPS предлагает нам сделать!»
Читать дальше →

Книга «Микросервисы и API»

Reading time16 min
Views12K
image Привет, Хаброжители!

Простые и понятные API — необходимое условие успеха микросервисных приложений. Хорошо продуманные API гарантируют надежную интеграцию сервисов и помогают упростить сопровождение, масштабирование и дальнейшее совершенствование. Познакомьтесь с паттернами, протоколами и стратегиями, которые помогут вам проектировать, реализовывать и развертывать эффективные микросервисы с REST и GraphQL API.

Книга наполнена проверенными советами и примерами кода на языке Python. Авторы фокусируются на реализации, а не на философии. Изучите проверенные методы проектирования простых в использовании API для микросервисных приложений. Создавайте надежные API микросервисов, тестируйте, защищайте и развертывайте их в облаке, следуя принципам и шаблонам, применимым в любом языке программирования.
Читать дальше →

Как стать Python-разработчиком с нуля? Бесплатная программа обучения

Level of difficultyEasy
Reading time3 min
Views41K

Если вбить фразу «python разработка» в поисковую строку, можно найти огромное количество курсов по данному направлению. Дело в том, что все курсы являются платными и, как правило, имеют ценник в несколько десятков тысяч рублей. 

Чтобы разбавить обилие платных курсов, мы подготовили для вас программу обучения «Python-разработчик с нуля», которая состоит только из бесплатных курсов.

Читать далее

Настройка аутентификации по протоколу WebAuthn в OpenAM

Level of difficultyMedium
Reading time4 min
Views1.1K

WebAuthn - протокол, разработанный консорциумом W3C и FIDO Alliance для аутентификации без паролей. Используя WebAuthn, можно аутентифицироваться, используя биометрию мобильного телефона или ноутбука. Можно так же использовать аутентификацию при помощи аппаратных USB токенов. В данной статье мы настроим вход по протоколу WebAuthn в системе управления аутентификацией с открытым исходным кодом - OpenAM

Читать далее

Создаём безукоризненную автодокументацию кода на Python с помощью Sphinx

Level of difficultyEasy
Reading time8 min
Views11K

В этой статье я расскажу о генераторе документации Sphinx, с помощью которого можно автоматически создавать документацию для модулей Python. Кроме того, я буду использовать шаблон проекта Cookiecutter Data Science в Visual Studio Code (VS Code), поскольку он легко интегрируется в Sphinx и имеет стандартизированную структуру директорий. Официальное пособие по использованию Sphinx — отличный ресурс для пользователей, которые хотят углубиться в детали. А моя статья — это краткое руководство по началу работы с этим инструментом.

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

Как настроить IPv6 там где его нет: Poor man solution на базе oracle cloud free tier +  wireguard + openwrt

Level of difficultyMedium
Reading time7 min
Views6.4K

Приветствую сообщество.

В этой заметке я хотел бы поделиться своим велосипедом по настройке ipv6 в локациях где невозможно это сделать нормальным способом (провайдер не умеет/может/хочет ipv6).

На входе у нас есть локация где есть ipv4 интернет (дача, регион, офис), oracle VM instance и роутер на базе openwrt обслуживающий сеть в нашей локации.

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

Мы будем решать 2 задачи, а именно:

1) Все устройства в нашей локальной сети должны иметь доступ к ipv6 ресурсам в интернете

2) Из интернета мы хотим иметь возможность достучаться до устройств внутри нашей локальной сети по прямому ipv6 адресу.

Это удобно когда, например, на даче у нас есть камеры/хабы/NAS/итд и мы хотим обращаться к ним напрямую по ipv6 адресу.

Читать далее

regexp — большие гонки

Level of difficultyMedium
Reading time3 min
Views8.4K

Так или иначе сталкиваться с регулярными выражениями приходилось большинству разработчиков. Мое первое знакомство произошло с реализацией regex в STL std::regexp. Чаще всего регулярки используются в проверке входных данных, что-то вроде проверки корректности введенного пользователем URL, адреса IPv4, адреса IPv6, телефонного номера и при этом скорость выполнения операции regex не сильно влияет на время отклика от приложения. Но, что если вам приходится проверять сотни, тысячи или даже десятки тысяч правил и все это на постоянно меняющихся наборах входных данных в реальном времени? В этой ситуации вам не просто нужен быстрый алгоритм, вам понадобится лучший из них, вам понадобиться чемпион!

Участвовать в заезде!

WireGuard Воскрес

Reading time2 min
Views95K

Спешим к сообществу с радостной новостью - заблокированный WireGuard можно реанимировать с помощью нашего клиента AmneziaVPN!

Многие из вас слышали, что в России и некоторых других странах блокируются VPN, работающие на протоколе WireGuard. Теперь есть решение, чтобы он снова заработал!

Читать далее

Удаленка. Мой путь к выгоранию (и обратно)

Reading time7 min
Views36K

Привет, Хабр!

Сегодня хочу поговорить о «темной стороне» удаленки. Многие мечтают работать из дома, представляя себе идеальную картинку: уютное рабочее место, гибкий график, отсутствие дресс-кода и начальника над душой. И я не был исключением.

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

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

Поехали!

Читать далее

Information

Rating
Does not participate
Location
Praha, Hlavni Mesto Praha, Чехия
Registered
Activity