Pull to refresh
4
0
Send message

Блокчейн-разработчик: как освоить профессию будущего уже сейчас

Reading time8 min
Views16K

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

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

Читать далее
Total votes 50: ↑39 and ↓11+40
Comments12

Основы архитектуры для джунов: построение масштабируемых и чистых приложений на python (Туториал)

Level of difficultyMedium
Reading time18 min
Views15K

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

Читать далее
Total votes 10: ↑7 and ↓3+4
Comments14

Зачем делать прожорливый софт: принципы reconciliation loop (Привет, K8s!)

Level of difficultyMedium
Reading time20 min
Views7.4K

Привет, Хабр! Меня зовут Георгий Меликов, я из VK Cloud и руковожу там инфраструктурной разработкой (IaaS) облака, где мы создаём SDN (Software Defined Networks) — программно определяемые сети; SDS (Software Defined Storages) — программно определяемые хранилища; и другие решения.

А ещё на досуге я — контрибьютор файловой системы OpenZFS с 2016 года.

В этой статье поговорим о наших подходах к разработке на примере создания нашего SDN. Мы ставим перед собой несколько целей:

1) Разрабатывать быстро, чтобы итерации были явно очерченными  и понятными. Хотим, чтобы у нас вырабатывался дофамин от закрытия спринтов, и было понятно, как жить дальше.

2) Эксплуатировать системы без людей — полностью автоматически.

3) Использовать принцип «Дизайн на отказ». Система должна уметь переживать любой возможный сбой и проблему, т.е.обладать так называемым качеством самовосстановления (self-healing).

Предлагаю пройтись эволюционно от простого примера "облака на минималках" до нашей production среды на несколько ЦОДов, собрав по пути проблемы из нашей реальной жизни.

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

Без холивара «переписать все на Go»: проблема переносимости в Python и ее решение

Level of difficultyMedium
Reading time19 min
Views16K

На скриптовых языках удобно разрабатывать… И на этом удобство заканчивается. Вне машины разработчика начинаются проблемы. Особенно если вы пишете какой-то прикладной тулинг — cli-утилиты, вспомогательные приложения в вашем SDK и прочее. Вы даже не можете рассчитывать на то, что у пользователя будет pip, чтобы он смог поставить все ваши зависимости, вам все нужно организовать самостоятельно.

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

Если вам покажется, что в чем-то я ошибаюсь, добро пожаловать в комментарии. Буду рад услышать любые альтернативные точки зрения. Кроме, как я уже отметил в заголовке, рекомендации переписать все на Go/Rust/You name it :) Этот холивар мы уже проходили.

Читать далее
Total votes 70: ↑70 and ↓0+78
Comments34

Как передать информацию в ICMP-пакетах и не привлечь внимания санитаров

Reading time8 min
Views27K

Источник: polymerh.

На Хабре достаточно статей про передачу данных через протокол ICMP. Чего говорить, шесть лет назад я сам писал про стеганографию в IP-пакетах и «пингах». Но кажется, самое время вернуться к этой теме и предложить неочевидные методы.

Если вам кажется, что тема передачи данных в ICMP уже исчерпана и я не смогу вас удивить, то предлагаю извлечь данные из дампа сетевого трафика до прочтения статьи. То, что будет дальше, может ввести в недоумение.
Читать дальше →
Total votes 98: ↑97 and ↓1+126
Comments28

Оценка производительности CNI для Kubernetes по 10G сети (август 2020)

Reading time5 min
Views7.9K


TL;DR: Все CNI работают как надо, за исключением Kube-Router и Kube-OVN, Calico за исключением автоматического определения MTU — лучше всех.

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

LINSTOR — это как Kubernetes, но для блочных устройств (обзор и видео доклада)

Reading time10 min
Views22K

В июне я выступил на объединенной конференции DevOpsConf & TechLead Conf 2022. Доклад был посвящен LINSTOR — Open Source-хранилищу от компании LINBIT (разработчики DRBD). Основной идеей выступления было показать [на примере Kubernetes], как работает и устроен LINSTOR, какие проблемы решает, как его правильно настроить и использовать. Эта статья — основная выжимка из доклада (его полное видео см. в конце).

Читать далее
Total votes 35: ↑33 and ↓2+37
Comments5

Когда мобильная сеть недоступна: зачем запускают звонки через интернет

Level of difficultyEasy
Reading time6 min
Views8.8K

Технология VoWiFi позволяет совершать звонки по номеру телефона вне зоны действия мобильной сети, используя Wi-Fi. Сегодня мы решили обсудить актуальность такого сервиса и ключевые способы его настройки: от OTT и UMA до недоверенного доступа к ePDG. Также рассмотрим перспективы технологии и сложности, которые стоят перед операторами связи, предлагающими услугу звонков через интернет.

Читать далее
Total votes 13: ↑10 and ↓3+12
Comments12

Go-like каналы на C++

Level of difficultyMedium
Reading time21 min
Views5.2K

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

Смотреть мой велосипед
Total votes 21: ↑21 and ↓0+21
Comments3

Автодокументация Doxygen и её развертывание на GitHub Pages

Level of difficultyEasy
Reading time8 min
Views8.2K

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

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

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

Начало Aircrack-ng и WEF

Reading time7 min
Views11K

Предисловие

Рад приветствовать всех читателей статьи! С сегодняшнего дня запускаю новую рубрику моих статей "Без про-v-ода", в серии этих статей я буду обозревать различные методы, фишки, инструменты, устройства и всё что связано в вардрайвингом. Думаю не секрет, что довольно многие скажем так начинали свой путь с того "Как взломать Wi-Fi соседа?", а дальше углублялись в эту тему и находили что-то намного интересней чем просто бесплатный интернет.

Введение

Поскольку эта статья является первой в рубрике, я хочу познакомить тебя с основой инструментов вардрайвинга Aircrack-ng и с инструментами которые ты сможешь использовать практически сразу в Kali Linux. Так же хочу тебя дополнительно познакомить с хорошим фреймворком по атакам на беспроводные сети, который лёгок в установке и настройке, и послужит отличным помощником в изучении атак на беспроводные точки доступа.

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

Aircrack-ng

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

Базовая гигиена серверов Linux (часть 1)

Reading time8 min
Views23K

Всем привет! Для того, чтобы усилить безопасность серверов Linux привожу ниже советы, основой которых является публикация 40 Linux Server Hardening Security Tips [2023 edition] Вивека Гите. В приведенных инструкциях предполагается использование дистрибутив Linux на базе Ubuntu/Debian. Часть материала от автора я опускаю, так как публикация ориентированна на безопасность хостов Linux в инфраструктуре.

!!! Приведенные ниже рекомендации необходимо тестировать на совместимость с используемыми сервисами. Веред внедрением рекомендую провести тестирование на каждом отдельном типе сервера/приложения. !!!

Читать далее
Total votes 27: ↑21 and ↓6+19
Comments24

Личное облако на Proxmox

Level of difficultyMedium
Reading time8 min
Views22K

В прошлой статье (https://habr.com/ru/articles/794508/) я писал как поставить Proxmox 8 на Orange Pi 5(b). Это даже получилось, но я уперся в то, что производитель железки не выпускает свежие ядра под нее. Для железки есть 5.10.160 и оно устарело для Proxmox 8. Виртуалки работают, но есть проблемы с фаерволом. Производитель обещает вот-вот выпустить новое, но ждать я не стал и решил сделать инфраструктуру по другому. О чем и напишу. Получается уже цикл статей. Эта будет описывать цель и первые шаги к ней.

Читать далее
Total votes 24: ↑21 and ↓3+20
Comments60

Как запустить собственную GSM-сеть за пять минут при помощи SDR

Level of difficultyHard
Reading time10 min
Views38K
Приветствую всех!

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



Итак, в сегодняшней статье поговорим о том, как быть владельцам SDR, желающим запустить свою GSM-сеть. Узнаем, какой софт нужен, чтобы заставить её работать в прямом смысле слова за пять минут. Попутно запустим GPRS и ненадолго побываем в 2007 году. Традиционно будет много интересного.
Читать дальше →
Total votes 107: ↑107 and ↓0+107
Comments98

Как устроена сеть сотовой связи GSM/UMTS

Reading time6 min
Views257K
В комментариях к постам про сеть WiMAX (1, 2) и про GPRS был выражен интерес к сетям сотовой связи, поэтому решил реализовать свою давнюю задумку и описать хабрасообществу как же устроены современные сети сотовой связи.

network structure

На приведённой картинке изображена общая структура сетей сотовой связи. Изначально сеть разделяется на 2 больших подсети — сеть радиодоступа (RAN — Radio Access Network) и сеть коммутации или опорную сеть (CN — Core Network).

Хочу подчеркнуть, что буду описывать именно существующие сети сотовой связи для СНГ, потому что в Европе, Америке и Азии сети более развиты и их структура несколько отличается от наших сетей, про это напишу как-нибудь позже, если будет интерес.

Сперва, хотелось бы рассказать в общих словах про сеть, а потом более подробно расскажу про функции каждого из элементов сети.
Читать дальше
Total votes 85: ↑82 and ↓3+79
Comments87

Все, что вам нужно знать об Open RAN

Reading time17 min
Views17K

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

Важно отметить, что Open RAN зародилось как движение, применимое ко всем технологиям мобильной связи (как это принято сейчас называть: ALL Gs или Any-G). То есть Open RAN применяется к 2G, 3G, 4G, 5G и всем будущим G.

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

Своё кастомное межсервисное взаимодействие с блекджеком и gRPC

Level of difficultyMedium
Reading time30 min
Views15K

Привет, Хабр! Меня зовут Ильяс. Мы с командой делаем собственный Service Mesh в Ozon Tech, и в этой статье я расскажу, как можно за вечер реализовать свое супер кастомное межсервисное взаимодействие. К концу статьи мы с вами напишем современные алгоритмы балансировки, настроим канареечные деплои, а также узнаем, как реализовать кучу других супернеобычных механизмов межсервисного взаимодействия на основе, не поверите, библиотеки gRPC :D И да, мы с моей командой уже раскатили это на весь Ozon Tech, состоящий из более чем 4500 сервисов. Пристегнитесь — мы начинаем… :-)

Читать далее
Total votes 34: ↑33 and ↓1+34
Comments13

Как построить локальный self-managed Kubernetes-кластер

Level of difficultyMedium
Reading time17 min
Views15K

Возможно, у вас была мысль запустить собственную услугу Infrastructure as a Service (IaaS) либо разместить свои проекты на Kubernetes, но не платить за managed-услуги, или ваш проект — это и есть self-managed Kubernetes. У full-stack-разработчика и предпринимателя Нейта Бакареффа эти желания сошлись воедино.

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

Читать далее
Total votes 21: ↑18 and ↓3+21
Comments8

GOST: швейцарский нож для туннелирования и обхода блокировок

Level of difficultyMedium
Reading time13 min
Views113K

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

Сегодня я расскажу о замечательном инструменте под названием GOST. Не пугайтесь, он не имеет никакого отношения к ГОСТ-шифрованию или чему-то подобному, на самом деле это Go Simple Tunnel. Он действительно simple (простой) в использовании и настройке, но при этом невероятно мощный, поскольку поддерживает огромное количество протоколов и транспортов, из которых вы при желании сможете построить самые упоротые и бронебойные комбинации, а именно...

Читать далее
Total votes 145: ↑142 and ↓3+174
Comments114

Пароль не нужен. Разбиение файла на зашифрованные фрагменты по схеме Шамира

Reading time4 min
Views14K


После того как Google отказалась от паролей и перешла на Passkey по умолчанию создаётся впечатление, что концепция текстовых паролей (парольных фраз) сама по себе устарела. И действительно, в некоторых случаях можно добиться достаточного уровня безопасности без паролей вообще.

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

*Крестраж — волшебный артефакт, созданный с помощью тёмной магии, из вселенной Гарри Поттера.
Читать дальше →
Total votes 24: ↑23 and ↓1+29
Comments14

Information

Rating
Does not participate
Registered
Activity