Сброс пароля на маршрутизаторах Cisco
Потеря пароля к оборудованию – ситуация, с которой может столкнуться любой админ.
Но если у вас есть доступ через консольный кабель, сброс пароля на маршрутизаторах Cisco вполне выполнимая задача.
1️⃣Подключение к маршрутизатору
Для начала вам потребуется физически подключиться к маршрутизатору с помощью консольного кабеля (Rollover). Этот шаг необходим, так как сброс пароля выполняется напрямую через консоль.
2️⃣ Перезагрузка устройства и вход в режим ROMMON
После подключения перезагрузите маршрутизатор. Во время загрузки операционной системы IOS, когда на экране пойдут системные сообщения, прервите процесс загрузки с помощью сочетания клавиш [Ctrl]+[Break].
Это позволит вам войти в режим ROMMON.
3️⃣ Изменение конфигурационного регистра
В режиме ROMMON введите команду:
rommon 1 > confreg 0x2142
rommon 2 > reset
Router>en
Router#copy startup-config running-config
Router1(config)#enable password NewPassword
Router1(config)#enable secret NewPassword
Router1(config)#line vty 0 4
Router1(config-line)#password NewPassword
Router1(config-line)#login
Router1(config)#line console 0
Router1(config-line)#password NewPassword
Router1(config-line)#login
Router1(config)# config-register 0x2102
Router1#copy running-config startup-config
Router1#reload
Настройка и работа с EVPN
Ethernet VPN (EVPN) на практике представляет собой мощное решение для управления сложными сетями.
Рассмотрим, как можно настроить и эффективно работать с EVPN на базе BGP.
Основные шаги настройки EVPN:
💬 Конфигурация BGP и MPLS
EVPN использует BGP как основной протокол для обмена маршрутами и MPLS для доставки пакетов через сеть. Начнем с настройки BGP.
Router#conf t
Router(config)#router bgp <ASN>
Router(config-router)#address-family l2vpn evpn
Router(config)#interface loopback0
Router(config-if)#ip address 10.0.0.1 255.255.255.255
Router(config-if)#exit
Router(config)#vlan 10
Router(config-vlan)#vn-segment 10010
Router(config)#l2vpn evpn
Router(config-l2vpn)#instance 1
Router(config-l2vpn-instance)#vpn-id 10
Router#show bgp l2vpn evpn summary
Router#show bgp l2vpn evpn route
Router#show nve peers
Router#show nve vni
Router(config)#router bgp <ASN>
Router(config-router)#address-family l2vpn evpn
Router(config-router-af)#bgp bestpath as-path multipath-relax
💸 Вакансии для IT'шников
Выбери своё направление ⤵
1. Frontend
2. Python
3. Java
4. Тестировщик QA
5. Data Science
6. DevOps
7. C#
8. С/C++
9. Golang
10. PHP
11. Kotlin
12. Swift
3 способа убрать «Translating Domain Server» в Cisco IOS
В этой статье мы покажем 3 способа избавиться от этой проблемы и сократить время ожидания.
По умолчанию, на маршрутизаторах Cisco IOS включено разрешение имен (domain lookup).
Router>en
Router#wiki.meironet.ru
Translating "wiki.meironet.ru"...domain server (255.255.255.255)
% Unknown command or computer name, or unable to find computer address
Router>en
Router#conf t
Router(config)#no ip domain lookup
Router(config)#exit
Router>en
Router#conf t
Router(config)#ip domain lookup
Router(config)#line con 0
Router(config-line)#transport output none
Router(config-line)#exit
Router(config)#exit
Router>en
Router#conf t
Router(config)#ip tcp synwait-time 5
Router(config)#exit
Настройка Segment Routing в сети
1️⃣Активация Segment Routing на маршрутизаторе
Для начала работы с Segment Routing на устройствах Cisco, таких как маршрутизаторы с IOS XR, необходимо включить SR и активировать поддержку MPLS.
router isis 1
segment-routing mpls
interface Loopback0
ip address 192.168.0.1 255.255.255.255
isis 1
segment-routing prefix-sid index 101
segment-routing traffic-eng
policy my_policy
color 100 end-point ipv4 192.168.2.2
candidate-paths
preference 100
explicit segment-list seg_list
!
!
!
segment-routing traffic-eng
segment-list seg_list
index 10 mpls label 16005
index 20 mpls label 16010
!
!
interface GigabitEthernet0/0/1
ip address 10.0.0.1 255.255.255.0
isis 1
segment-routing adjacency-sid 16005
Протокол VTP (VLAN Trunking Protocol) — Часть 2
Продолжим говорить о протоколе VTP
VTP версии
• VTPv1 и VTPv2: Наиболее широко используемые версии с базовыми функциями управления VLAN.
• VTPv3: Введена поддержка расширенных функций, таких как поддержка Private VLAN и улучшенное управление списками VLAN, а также защита от нежелательных изменений конфигурации с помощью механизма аутентификации.
Режимы работы VTP
VTP поддерживает три основных режима работы, каждый из которых имеет свои особенности и сценарии использования:
💬Server: В этом режиме коммутатор может создавать, изменять и удалять VLAN. Все изменения, внесённые в этом режиме, синхронизируются с другими коммутаторами, работающими в режиме Client. Коммутатор в режиме Server сохраняет информацию о VLAN в энергонезависимой памяти (Flash) в виде файла vlan.dat и генерирует сообщения для распространения обновлений.
💬Client: В этом режиме коммутатор не может изменять или создавать VLAN, он лишь получает обновления от других коммутаторов (обычно от серверов VTP) и синхронизирует свою базу VLAN. Все изменения, полученные от серверов, автоматически применяются, что позволяет централизованно управлять VLAN.
💬Transparent: В режиме Transparent коммутатор игнорирует информацию от других устройств VTP, не синхронизирует базу данных VLAN и не передаёт её дальше. Тем не менее, он пропускает VTP-сообщения сквозь себя. Внесённые изменения касаются только локального коммутатора и не распространяются на другие устройства.
Типы сообщений VTP
VTP использует три типа сообщений для распространения информации о VLAN:
⏺Advertisement Requests: Эти сообщения отправляются клиентами к серверам, чтобы запросить актуальные данные о VLAN. Обычно такие запросы посылаются при инициализации или после сброса конфигурации.
⏺Summary Advertisements: Эти сообщения генерируются коммутатором в режиме Server каждые 5 минут или сразу после изменения конфигурации. Они содержат общую информацию о текущих VLAN и номере ревизии базы данных VLAN.
⏺Subset Advertisements: Эти сообщения отправляются в ответ на изменения конфигурации VLAN. Например, при добавлении новой VLAN или изменении существующей, коммутатор отправляет Subset Advertisement для распространения этих изменений.
N.A. ℹ️ Help
Протокол VTP (VLAN Trunking Protocol) — Часть 1
VTP (VLAN Trunking Protocol) — это проприетарный протокол от Cisco Systems, разработанный для автоматизации управления VLAN в среде, где требуется администрировать большое количество коммутаторов.
Его основная задача — синхронизировать информацию о VLAN между устройствами, что помогает избежать ошибок и несогласованностей при ручной настройке каждого коммутатора.
Switch(config)# vlan 10
Switch(config)# interface range fa0/1 - 3
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 10
Switch(config)# vlan 20
Switch(config)# interface range fa0/5 - 8
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 20
Пример конфигурации BGP-LS
Настроим BGP-LS на маршрутизаторе для передачи данных в контроллер SDN. Рассмотрим пример настройки на Cisco IOS XR.
Настройка BGP-LS:
router bgp 65001
address-family link-state
neighbor 10.0.0.1 remote-as 65002
neighbor 10.0.0.1 update-source Loopback0
neighbor 10.0.0.1 activate
router ospf 1
mpls traffic-eng area 0
mpls traffic-eng router-id Loopback0
bgp router-id 1.1.1.1
bgp link-state non-stop-routing
Для управления маршрутизацией между узлами используется BGP-LS.
Протокол BGP-LS
BGP-LS (Border Gateway Protocol - Link State) — это расширение классического протокола BGP, которое позволяет собирать и распространять информацию о топологии сети.
Оно создано для интеграции с программно-определяемыми сетями (SDN) и широко применяется в сетях провайдеров и крупных дата-центрах, где требуется высокая гибкость и контроль над маршрутами.
Зачем нужен BGP-LS?
BGP-LS используется для передачи детальной информации о состоянии сетевых каналов и узлов в контроллеры SDN, которые могут использовать эти данные для оптимизации маршрутов, управления трафиком и повышения отказоустойчивости сети.
Традиционный BGP передает информацию только о достижимости сетей, но не о топологии. BGP-LS решает эту проблему.
BGP-LS позволяет:
1️⃣Централизованное управление маршрутизацией. Контроллер SDN получает информацию о сети через BGP-LS и использует ее для динамической маршрутизации трафика.
2️⃣Оптимизация и мониторинг сети в реальном времени. Используя данные о пропускной способности, загрузке и задержках, можно оптимизировать маршруты в зависимости от текущей ситуации в сети.
3️⃣Интеграция с MPLS-TE и SR (Segment Routing) для сложных сценариев управления трафиком.
Как работает BGP-LS?
BGP-LS передает информацию о топологии сети с использованием стандартных сообщений BGP, добавляя в них данные о:
⏺Состоянии каналов связи (Link-State),
⏺Пропускной способности каналов,
⏺Текущей загрузке маршрутов.
Эта информация собирается из протоколов динамической маршрутизации, таких как OSPF и IS-IS, и передается через сессии BGP в контроллер SDN.
Контроллер использует полученные данные для построения полной карты сети, что позволяет ему лучше управлять трафиком.
✊Изучите ключевые сервисы AWS и научитесь создавать 3-х уровневую архитектуру облачного решения!
👉Начните на бесплатном вебинаре онлайн-курса «Cloud Solution Architecture» - «Базовая инфраструктура AWS: от основ до практики»: регистрация
В результате вебинара:
- Вы освоите базовые концепции облачной инфраструктуры AWS
- Научитесь создавать и управлять 3-х уровневой архитектурой в AWS
- Получите представление о ключевых сервисах AWS и их использовании в реальных проектах
- Сможете эффективно применять знания для создания устойчивых и масштабируемых облачных решений.
🤝Понравится урок — продолжите обучение на курсе по спеццене и даже в рассрочку!
erid: LjN8KE4F5
📚 Здесь собраны все вопросы, которые могут спросить на собеседовании. Теперь можно легко получить оффер, подготовившись к самым популярным вопросам. Просто выбери своё направление:
1. Frontend / JavaScript
2. Python
3. Java
4. Тестировщик QA
5. Data Science
6. DevOps
7. C#
8. C/C++
9. Golang
10. PHP
11. Kotlin
12. Swift
lnav — супернедооценённый инструмент для работы с логами
В мире системного администрирования и DevOps уже давно существуют крупные системы для централизованного сбора и анализа логов, такие как ELK/EFK, Graylog и Loki.
Однако иногда требуется быстрый и простой способ работы с текстовыми логами прямо на сервере.
Протокол OSPFv3: Расширенное маршрутизационное решение для IPv6
OSPFv3 (Open Shortest Path First version 3) — это улучшенная версия протокола OSPF, созданная для работы с сетями IPv6.
Он предоставляет возможности динамической маршрутизации и решает проблемы маршрутизации в сетях с большим количеством маршрутов.
В отличие от предыдущей версии OSPFv2, OSPFv3 может работать не только с IPv4, но и с IPv6, что делает его ключевым для современных сетей.
OSPFv3 обеспечивает распределённую маршрутизацию с автоматической адаптацией к изменению состояния сети.
Основные задачи протокола включают:
⏺Обнаружение лучших маршрутов: Протокол находит кратчайший путь на основе алгоритма Дейкстры, используя метрику стоимости для выбора наилучшего маршрута.
⏺Поддержка IPv6: OSPFv3 разработан для работы в средах с адресами IPv6, но также может поддерживать IPv4.
⏺Масштабируемость и гибкость: Протокол эффективно работает как в малых, так и в крупных сетях.
Работа OSPFv3 на практике
Реализация OSPFv3 включает несколько ключевых этапов. Вот краткая инструкция по настройке OSPFv3 на маршрутизаторе Cisco:
Настройка идентификатора маршрутизатора: Протокол использует 32-битный идентификатор, который назначается вручную или автоматически из IPv4-адреса.
Router(config)# router ospfv3 1
Router(config-router)# router-id 1.1.1.1
Router(config)# interface GigabitEthernet 0/1
Router(config-if)# ospfv3 1 ipv6 area 0
Router(config)# interface GigabitEthernet 0/2
Router(config-if)# ospfv3 1 ipv6 area 0
Router# show ospfv3 neighbor
Сканер для поиска уязвимостей в Kubernetes
Kubei используется для оценки непосредственных рисков в кластере Kubernetes.
Большая часть Kubei написана на языке программирования Go. Он охватывает все эталонные тесты CIS для Docker.
Ошибки в компьютерных сетях: обнаружение и коррекция
При передаче данных по компьютерным сетям всегда есть вероятность возникновения ошибок.
Даже самые современные системы сталкиваются с физическими ограничениями среды, будь то интерференция в беспроводных сетях или повреждения кабелей в проводных.
Ошибки могут происходить по разным причинам, от электромагнитных помех до неисправности оборудования, и ключевой задачей является их обнаружение и обработка.
Обнаружение ошибок
Основная цель любой системы передачи данных — передать информацию без изменений.
Для этого необходимо обнаружить ошибки на этапе приема данных. Вот несколько популярных методов:
⏺Проверка четности (Parity Check). Это один из самых простых способов обнаружения ошибок. Он добавляет к данным бит четности, который делает общее количество "1" либо четным, либо нечетным. Если число "1" в полученных данных не соответствует ожидаемому (например, четному количеству), то система понимает, что произошла ошибка. Однако этот метод имеет ограничения — он способен обнаруживать только одиночные ошибки, но не многобитовые сбои.
⏺Циклическая проверка избыточности (CRC). CRC — это более сложный метод обнаружения ошибок, основанный на делении полиномов. Этот алгоритм может выявлять более сложные и многобитовые ошибки. На отправляющей стороне данные проходят через генератор полинома, а на принимающей стороне осуществляется обратная проверка, что делает этот метод очень надёжным.
Действия при обнаружении ошибок
Обнаружить ошибку — это лишь первый шаг. Далее важно решить, как с ней справиться. Существует несколько подходов:
1️⃣Игнорирование ошибки и продолжение передачи. В реальном времени, например, при потоковой передаче видео или аудио, поврежденные пакеты могут быть проигнорированы, чтобы не нарушать поток данных. Однако для критичных данных такой метод не применим.
2️⃣ Запрос повторной отправки данных. Если ошибка обнаружена, приёмник может запросить у отправителя повторную отправку испорченного пакета. Это наиболее распространённый способ для надёжных соединений, например, в банковских системах или для передачи файлов.
3️⃣ Прямая коррекция ошибок (FEC). Вместо того чтобы запрашивать повторную отправку, некоторые системы способны корректировать ошибки на месте. Примером является код Хэмминга, который позволяет не только обнаружить, но и исправить одиночные ошибки. За счёт заранее вычисленных контрольных битов система может найти повреждённый бит и восстановить данные без необходимости повторной передачи.
Пример: код Хэмминга
Код Хэмминга — это классический алгоритм для обнаружения и исправления ошибок. Он использует несколько контрольных битов, которые размещаются в определённых позициях внутри блока данных.
Если ошибка происходит, код Хэмминга может точно определить, какой бит был изменён, и исправить его. Это позволяет избежать лишних задержек, связанных с повторной передачей данных.
N.A. ℹ️ Help
Вам нравится читать контент на этом канале?
Возможно, вы задумывались о том, чтобы купить на нем интеграцию?
Следуйте 3 простым шагам, чтобы сделать это:
1) Регистрируйтесь по ссылке: https://telega.in/n/networkadm
2) Пополняйтесь удобным способом
3) Размещайте публикацию
Если тематика вашего поста подойдет нашему каналу, мы с удовольствием опубликуем его.
Ethernet VPN (EVPN): решение для гибридных сетей
Сети становятся всё более сложными, и особенно крупные компании нуждаются в гибких и масштабируемых решениях для управления своими ресурсами.
⚡️ IT-обучение теперь в Telegram!
В cвязи с недавнем замедлением Ютуба — лучшие обучающие каналы переехали в Telegram
Вот каналы для айтишников:
👩💻 DevOps: @DevOps
📱 Python: @Python
⚙️ Backend: @Backend
📱 GitHub: @GitHub
📱 Frontend: @Frontend
🤓 Общее айти: @portalToIT
👩💻 Java: @Java
👩💻 C#: @Csharp
👩💻 С/С++: @Cpp
🖥 Базы Данных & SQL: @SQL
👩💻 Golang: @Golang
🖥 PHP: @PHP
👩💻 Моб. разработка: @MobDev
👩💻 Разработка игр: @GameDev
🖥 Data Science: @DataScience
🤔 Хакинг & ИБ: @InfoSec
🐞 Тестирование: @QA
📱 Маркетинг: @Marketing
🖥 Дизайн: @Design
➡️ Сохраняйте себе, чтобы не потерять
Разбираем как решать задачи на LeetCode
✅ Примеры решений
✅ Пояснения
Выбери своё направление:
1. Python
2. JavaScript
3. Java
4. C#
5. Golang
6. C/C++
7. PHP
8. Kotlin
9. Swift
30 сентября стартует курс - тренажер «SRE,Highload-архитектура и распределенные вычисления»
Изучите принципы проектирования и реализации распределенных систем, включая микросервисную архитектуру, репликацию данных, шардирование, балансировку нагрузки и тестирование. Научитесь работать с gRPC, P2P сетями, мониторингом и развертыванием приложений в локальной и продакшн средах.
В ходе курса вы разработаете собственный проект "Key-value in-memory distributed storage with cluster autoscaling and load balancing". Проект направлен на изучение принципов распределенных систем, автомасштабирования и балансировки нагрузки.
🎁 Мы подготовили демо-доступ к тренажеру чтобы вы смогли оценить подход обучения, получить пользу и практику с 1 урока
🔥Тесты для подготовки к собеседованию🔥
Выбери своё направление:
1. Frontend
2. Python
3. Java
4. Тестировщик QA
5. Data Science
6. DevOps
7. C#
8. C/C++
9. Golang
10. PHP
11. Kotlin
12. Swift
✔️ 1000+ ГБ контента для IT-специалистов уже в Telegram!
Получай доступ к курсам, книгам и инструментам, которые помогут тебе прокачать навыки:
⚙️ IToolBox — более 150 бесплатных open-source инструментов и ресурсов для программистов.
📱 PyLinux — все для Python и Linux: от начального уровня до эксперта.
👻 CodeBase | IT — 1000+ книг, статей и шпаргалок для разработчиков любого уровня.
😎 IT Syndicate — топовые курсы по Frontend, Backend, Python, DevOps и Data Science.
➡️ Подписывайся сейчас! Доступ может быть закрыт в любой момент!
Углубленная работа с OpenVAS
Теперь, когда вы настроили и запустили OpenVAS, давайте рассмотрим дополнительные возможности, которые помогут вам более эффективно управлять безопасностью ваших серверов.
Настройка сканирования
Чтобы добиться максимальной точности, вы можете настраивать сканирование под конкретные потребности вашего сервера:
1️⃣ Создание нового задания для сканирования: В разделе Tasks нажмите "Create Task" и задайте параметры. Вы можете выбрать:
• Диапазон IP-адресов для сканирования.
• Определить тип проверки: быстрый обзор, полный скан или выборочный.
• Настроить расписание для автоматических регулярных сканирований.
2️⃣ Профили сканирования: OpenVAS предоставляет различные профили сканирования, которые можно настроить в зависимости от ваших нужд:
• Full and fast: Полное сканирование с акцентом на скорость.
• Host Discovery: Быстрая проверка доступности хоста.
• System Discovery: Определение запущенных служб и программ.
Анализ отчётов
Когда сканирование завершено, переходим к самому важному — анализу отчётов:
⏺Отчёты с оценкой критичности: В разделе Reports вы можете увидеть не только список обнаруженных уязвимостей, но и оценку их критичности (например, "High", "Medium", "Low"). Это поможет вам расставить приоритеты в устранении уязвимостей.
⏺Рекомендации по исправлению: В отчётах OpenVAS предоставляются конкретные рекомендации для устранения проблем. Например, если обнаружена уязвимость в старой версии Apache, вам будет предложено обновить его до более защищённой версии.
⏺Экспорт отчётов: Вы можете экспортировать результаты сканирования в разные форматы, такие как PDF, HTML или XML, чтобы делиться ими с коллегами или использовать для дальнейшего анализа.
Дополнительные функции OpenVAS
1️⃣Настройка обновлений базы данных: Для обеспечения актуальности данных о уязвимостях, OpenVAS использует NVT (Network Vulnerability Tests), которые обновляются ежедневно. Вы можете настроить автоматические обновления базы данных через веб-интерфейс, чтобы всегда использовать последние тесты.
2️⃣Аутентифицированное сканирование: OpenVAS позволяет настроить сканирование с аутентификацией, что даёт возможность более глубокого анализа системы, включая проверки, доступные только с определёнными правами доступа.
Для этого нужно:
Добавить учётные данные в разделе Credentials.
Применить их к конкретным задачам сканирования, чтобы OpenVAS мог выполнить вход на проверяемую систему и более детально проанализировать её состояние.
Интеграция OpenVAS с другими инструментами
Многие администраторы предпочитают интегрировать OpenVAS с другими системами для более удобного управления безопасностью:
Nagios: Можно настроить интеграцию с системой мониторинга Nagios, чтобы получать уведомления о найденных уязвимостях в режиме реального времени.
Splunk: Интеграция с Splunk поможет вам собирать логи сканирования и анализировать их в масштабируемой системе анализа данных.
N.A. ℹ️ Help
Проверка уязвимости сервера Linux с помощью OpenVAS
Каждый день в цифровом мире появляются новые уязвимости, и администраторы часто слишком заняты, чтобы обращать внимание на очевидные проблемы безопасности.
Сканирование сервера Linux на наличие уязвимостей — это задача, требующая правильного подхода.
sudo add-apt-repository universe
sudo apt update
sudo apt install openvas
openvasmd --create-user=<user>
openvasmd --user=<user> --new-password=<password>
sudo openvas-start
sudo openvas-stop
https://localhost:9392
. Пройдите по ссылке и примите самозаполняющийся сертификат, чтобы получить доступ к панели управления.🚀 Вебинар о современном подходе к разметке диска! 🚀
Тема: Современный подход к разметке диска
Рассмотрим эволюцию разметки дискового пространства на примере ОС Linux
📅 Дата и время: 27.09 в 20:00 (мск)
🔔 Не упустите шанс! Узнайте, как грамотно планировать дисковое пространство и увеличивать файловую систему на логическом диске!
В результате вебинара вы:
- Сможете грамотно планировать дисковое пространство
- Научитесь оценивать необходимость уровней абстракции для дисков
- Попробуете увеличить файловую систему на логическом диске и поймете ограничения разметки на логических дисках
🔗 Ссылка для регистрации: https://otus.pw/u2u0/?erid=LjN8KDPS3
🔆 Спикер: Андрей Буранов
📌 Занятие пройдёт в рамках курса «Administrator Linux. Basic». Доступна рассрочка на обучение!
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
Забудьте о хаосе в конфигурациях с помощью Ansible.
На курсе «Ansible: Infrastructure as Code» научим вас:
🔹 автоматизировать ротацию логов, чистку кэшей, добавление новых доменов;
🔹 легко делегировать задачи с помощью четко описанных и протестированных конфигураций;
🔹 уменьшать технический долг и поддерживать решения вдолгую.
А если вы хотите еще глубже погрузиться в Ansible, приглашаем вас на закрытый технический урок «Обзор на AWX» от Дмитрия Будакова, спикера курсов Слёрма:
«Рассмотрим возможности AWX: настройка проектов, ролевое разграничение прав, создание кастомных секретов. Обсудим, как собирать метрики и логи с AWX в Grafana и Elasticsearch, а также развернуть стенд с интеграцией доменной авторизации (keycloak) и удаленного хранилища секретов (hashicorp vault) с помощью vagrant и ролей Ansible»
Крутая возможность для тех, кто уже работает с Linux и хочет глубже в него погрузиться.
В двух словах: три бесплатных онлайн-воркшопа по Linux. Из интересного: проходят по субботам, длятся 7 часов, а внутри много практики – настройка self-hosted мессенджера, VPN-решения или облачного хранилища.
Переходи по ссылке и выбирай свой воркшоп до 7 октября.
Устал от монотонной работы и хочешь взбодриться? Мы знаем, что тебе нужно и готовы поделиться своей энергией с тобой!
Подписывайся на лучшие IT-каналы и получай порцию отличного настроения каждый день:
🦥 Ленивый программист: @Lazy_Programmer_channel
👨💻 Я хочу стать программистом: @iwannabeprogrammer
💻 Наш Компьютер: @our_computer
🐧 Linux Club: @Linux_Club_nomer_1
📓 Программирование:
@Programmirovanie_1
У нас ты найдешь мощную дозу юмора и креативных шуток!
P.S. Ну, а если ты не устал, то для тебя у нас найдутся:
✅ Видеоуроки, книги и курсы
✅ Статьи и лекции от экспертов в IT
✅ Секретные шпаргалки и полезные советы
✍️ Делитесь с коллегами и друзьями. Сохраняйте себе, чтобы не потерять!