Search
Write a publication
Pull to refresh
0
0
Дмитрий @ex_ineris

QA Engineer

Send message

Как мы ускорили автоустановку ОС в четыре раза

Reading time13 min
Views19K

Привет! Меня зовут Лев, я системный администратор в Selectel. Ранее рассказывал об адаптации ARM-серверов под наши процессы. Тогда мы столкнулись со множеством проблем, одной из которых была интеграция автоустановки Ubuntu 22.04. Теперь поделюсь, как мы сделали новый процесс автоустановки быстрее, завезли несколько фич, а также ускорили добавление новых ОС.
Читать дальше →

Туннель IPv6 через IPv4 для обхода замедления Youtube на уровне роутера

Level of difficultyEasy
Reading time3 min
Views171K

Туннели IPv6 через IPv4 помогают получить доступ к сайтам и сервисам, которые используют новый протокол IPv6, даже если у вас старый IP‑адрес версии 4 (IPv4). Чтобы его настроить, нужно зарегистрироваться на сайте провайдера, который предоставляет такую услугу (его еще называют туннельный брокер), и использует технологию 6in4. После регистрации вы получите все необходимые данные для подключения.

Одно из преимуществ данного способа заключается в том, что не потребуется настраивать что-то дополнительно на других устройствах в локальной сети, не сломается работа на AndroidTV итд.

Туннель работает только с белым IP‑адресом (некоторые провайдеры выдают его бесплатно, некоторые за определённую сумму в месяц).

Читать далее

Полный гайд по тестированию на Flutter. Часть 6: Тестовые двойники: Faking vs Mocking

Level of difficultyMedium
Reading time6 min
Views1.3K

Hola, Amigos! На связи Павел Гершевич, Mobile Team Lead агентства продуктовой разработки Amiga. Мы с вами разобрали уже больше половины гайда о тестировании в Flutter! Сегодня статья перевод посвящена технике Faking. А в следующих частях рассмотрим часто встречаемые ошибки и лучшие практики в написании Unit-тестов. Так что не переключайтесь!

Читать далее

12 важных веб-сайтов, о которых должен знать каждый программист

Level of difficultyEasy
Reading time2 min
Views44K

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

Читать далее

Давайте сделаем крупное приложение на Flask (язык Python)

Reading time18 min
Views26K

На Хабре я часто вижу статьи о реализации тех или иных фич на Python-фреймворках. Я объединил все эти фичи в реальный проект с открытым исходным кодом, чтобы у вас сложилась целостная картина. Мы с вами создадим UX/UI на Figma, напишем фронтенд на HTML, CSS, SASS, Bootstrap и JavaScript, создадим ER-диаграмму в MySQL Workbench, напишем бекэнд на Flask, создадим регистрацию через социальные сети OAuth 2.0 в один клик, используем брокер сообщений и асинхронную очередь Celery для отправки писем на электронную почту, сделаем WYSIWYG-редактор, реализуем полнотекстовый поиск Elasticsearch, закешируем Redis, покроем тестами pytest и запустим в Docker-контейнерах, поговорим о многопроцессности для WSGI-шлюза Gunicorn.

Читать далее

12 вместо 100+, или Как быстро и удобно создать базовый интерфейс для ОС [статья-воркшоп]

Level of difficultyHard
Reading time7 min
Views13K
Все мы знаем, что токен — это всего лишь ключ и значение. И нет ничего проще, чем их создавать. Придумываешь ключ, который полностью описывает кейс, назначаешь значение из базовой палитры — готово. Такой способ декларативен, но когда используешь токены каждый день, появляется ряд неудобств: сложно запомнить, сложно найти в списке, больно вбивать в редактор…

Вот, например, список токенов из дизайн-системы Atlassian. Смогли бы вы запомнить и скомбинировать «всего-то» сотню-другую названий?



Но если сформировать небольшую библиотеку токенов, то их комбинирование позволит создать почти полный набор визуалов. И в этой статье-воркшопе мы убедимся, что, например, всего лишь из 12 коротких токенов можно собрать интерфейс для целой операционной системы.
Читать дальше →

Моржовый оператор := в Python

Level of difficultyEasy
Reading time9 min
Views40K

Python постоянно развивается: с каждой новой версией появляются различные оптимизации, активно внедряются новые инструменты. Так, в Python 3.8 появился моржовый оператор (:=), который стал причиной бурных споров в сообществе. О нем и пойдет речь в этой статье.

А начнем мы с истории о том, как моржовый оператор довел Гвидо ван Россума, создателя Python, до ухода с должности "великодушного пожизненного диктатора" проекта по разработке языка.

Читать далее

Современные технологии обхода блокировок: V2Ray, XRay, XTLS, Hysteria, Cloak и все-все-все

Reading time20 min
Views440K

Три месяца назад здесь на Хабре была опубликована статья “Интернет-цензура и обход блокировок: не время расслабляться”, в которой простыми примерами показывалось, что практически все популярные у нас для обхода блокировок VPN- и прокси-протоколы, такие как Wireguard, L2TP/IPSec, и даже SoftEther VPN, SSTP и туннель-через-SSH, могут быть довольно легко детектированы цензорами и заблокированы при должном желании. На фоне слухов о том, что Роскомнадзор активно обменивается опытом блокировок с коллегами из Китая и блокировках популярных VPN-сервисов, у многих людей стали возникать вопросы, что же делать и какие технологии использовать для получения надежного нефильтрованного доступа в глобальный интернет.

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

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

Читать далее

CurlFetch2Py – Эффективное преобразование CURL и FETCH команд в структурированные Python объекты

Level of difficultyEasy
Reading time14 min
Views2.3K

В этой статье мы рассмотрим, как использовать библиотеку CurlFetch2Py для преобразования CURL и FETCH запросов в структурированные Python объекты.

Эти инструменты часто применяются для выполнения HTTP-запросов и взаимодействия с веб-сервисами и API, обеспечивая обмен данными между клиентом и сервером.

Однако синтаксис этих запросов не всегда удобен для Python-разработчиков. Сегодня я покажу, как библиотека CurlFetch2Py упрощает работу с такими запросами, позволяя легко интегрировать их в Python-код.

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

Читать далее

Raspberry Pi выпустил продвинутую версию Compute Module 4S: на что способен одноплатник?

Reading time3 min
Views8.2K

Одноплатные компьютеры от Raspberry Pi породили целый сонм похожих устройств. Десятки производителей выпускают большое количество моделей. Но и создатели «малинки» не почивают на лаврах, например, на днях они представили Compute Module 4S с увеличенным объёмом ОЗУ. Одноплатник, как сообщает компания, предназначен для апдейта промышленных систем на базе прошлых моделей устройства. Форм-фактор модели —SODIMM. Подробности — под катом.

Читать далее

«У RISC-V впереди много проблем и ошибок»: прогноз Линуса Торвальдса

Reading time4 min
Views10K

Привет, Хабр! Я Виктор Сергеев, по-прежнему редактирую статьи в МТС и рассказываю о технологиях. Сегодня хочу обсудить прогноз Линуса Торвальдса по архитектуре RISC-V. По его мнению, путь к популярности у технологии буквально усыпан проблемами. Что за проблемы, так ли это страшно и что с RISC-V сейчас? Обо всем этом — под катом.

Читать далее

Вы нас просили и мы сделали. VPN на собственном сервере с XRay Reality за 5 минут с помощью Amnezia

Reading time4 min
Views277K

Всем привет! Это команда Amnezia. 

Мы читаем комментарии под нашими постами и знаем, что один из самых частых вопросов – когда будет XRay? Так вот, мы добавили XRay в приложение AmneziaVPN, а точнее протокол Reality от XRay для всех платформ -  IOS, Android, Windows, Linux и MacOS. Если у вас еще нет последнего релиза, скорее скачивайте и создавайте VPN на собственном сервере в пару кликов с одним из самых защищенных и быстрых протоколов в мире, ниже мы немного о нем расскажем, а в конце статьи будет пошаговая  инструкция как это сделать.

Почему XRay Reality так популярен ?

Все дело в том, что Reality подходит для стран с самым высоким уровнем интернет-цензуры, сейчас его используют в Китае и Иране, он защищен от детектирования методами active probing. 

Распознать цензоров REALITY может еще на этапе TLS-хендшейка. Если REALITY видит, что к нему приходит его клиент, то сервер запускает для него VPN туннель, а если приходит любой другой запрос на 443 порт, то TLS-подключение передается на какой-нибудь другой реальный сайт, например, google.com, где цензор получит настоящий TLS-сертификат от google.com и вообще все настоящие данные с этого сайта.

Со стороны систем анализа трафика это выглядит как подключение к настоящему сайту, сервер отдает настоящий TLS-сертификат этого сайта, и вообще все (включая TLS fingerprint сервера) выглядит очень по-настоящему и не вызывает подозрений. 

Особенно приятно, что при этом производительность REALITY и скорость подключения у протокола действительно хороши, в сравнении, например, со связкой OpenVPN over Cloak.

Читать далее

Получаем белый IP с помощью VDS за копейки

Level of difficultyEasy
Reading time2 min
Views37K

Всем привет! В этой статье я расскажу, как получить белый IP-адрес без помощи провайдера и настройки вашего роутера, используя обычный VDS (виртуальный выделенный сервер), или как его ещё называют "Дедик". С помощью VDS вы сможете подключаться к вашему компьютеру по IP-адресу VDS с любого интернета и любой точки мира, размещать сайт на своём железе и использовать его IP-адрес.

Для чего это может быть нужно?

Все зависит от ваших потребностей и нужд. Вот несколько примеров использования:

Читать далее

Как делают смартфоны: смотрим на редкий девкит процессора Qualcomm Snapdragon 410

Level of difficultyEasy
Reading time6 min
Views15K


Друзья! А вы когда нибудь задумывались о том, как делают смартфоны и планшеты? Какие инструменты для этого используются и откуда берутся материнские платы разных размеров и форм-факторов, но с таким похожим расположением элементов? Недавно мне удалось приобрести девкит aka evaluation board популярного в прошлом среднебюджетного чипсета Qualcomm Snapdragon 410 за 4.000 рублей и заценить его, что называется, в деле. Чем он отличается от одноплатного компьютера, из чего он состоит и что умеет — читайте в сегодняшней краткой, но достаточно подробной статье!
Читать дальше →

Rust 1.80.0: типы LazyCell, LazyLock, проверяемые имена и значения cfg, эксклюзивные диапазоны в шаблонах

Level of difficultyEasy
Reading time5 min
Views3.1K

Команда Rust рада сообщить о новой версии языка — 1.80.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение.


Если у вас есть предыдущая версия Rust, установленная через rustup, то для обновления до версии 1.80.0 вам достаточно выполнить команду:


$ rustup update stable

Если у вас ещё не установлен rustup, вы можете установить его с соответствующей страницы нашего веб-сайта, а также посмотреть подробные примечания к выпуску на GitHub.


Если вы хотите помочь нам протестировать будущие выпуски, вы можете использовать канал beta (rustup default beta) или nightly (rustup default nightly). Пожалуйста, сообщайте обо всех встреченных вами ошибках.

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

Полный гайд по тестированию на Flutter. Часть 3: Mocking и Stubbing

Level of difficultyEasy
Reading time6 min
Views1.9K

Hola, Amigos! На связи Павел Гершевич, Mobile Team Lead агентства продуктовой разработки Amiga. В предыдущих статьях мы научились писать модульные тесты для статичных функций, верхнеуровневых функций и расширений. Сегодня перевод статьи посвящен Unit-тестам для методов класса.

Читать далее

Простые приёмы, которые сделают ваш код нагляднее

Level of difficultyEasy
Reading time8 min
Views14K

Упорядоченный, опрятный, хорошо написанный для восприятия код помогает быстрее выявлять случайные ошибки, и позволяет глазам быстрее "парсить" код, что в целом ускоряет время выполнения задач. В этой статье я, Андрей Рик, fullstack-разработчик с 10+ лет опыта коммерческой разработки, рассказываю как и зачем писать опрятный код.

Читать статью

Создание собственного API на Python (FastAPI): Подключаем фронтенд и статические файлы

Level of difficultyMedium
Reading time33 min
Views26K

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

- Основы создания простого приложения с использованием FastAPI.

- Основные HTTP‑запросы: POST, GET, PUT и DELETE.

- Принципы работы с Pydantic моделями и их интеграцию в FastAPI.

- Использование инструментов Alembic и SQLAlchemy для управления базой данных.

- Настройку асинхронной работы с базой данных PostgreSQL в SQLAlchemy.

- Реализацию кастомной авторизации и аутентификации в FastAPI.

На данный момент мы уже умеем создавать достаточно функциональное API с приличным набором возможностей, но что дальше? Кто и в каких ситуациях ним будет пользоваться, ведь API пишется именно для этого.

Читать далее

Задача трёх тел (не китайская нефантастика)

Level of difficultyMedium
Reading time21 min
Views52K

Однажды, выполнив в Гугле запрос "Three body problem" ("Задача трёх тел"), я был просто поражен - первая страница результатов состояла только из ссылок на роман китайского писателя-фантаста Лю Цысиня с соответствующим названием, а также на телесериал, снятый по этому роману, т.е. ссылок на собственно задачу трёх тел не было вообще! Мне это показалось удивительным и несправедливым, поскольку сама по себе задача трёх тел тоже может выглядеть увлекательной в популярном изложении. В этой публикации я постарался привести некоторые доказательства этого утверждения.

Читать далее

Information

Rating
8,176-th
Location
Днепр, Днепропетровская обл., Украина
Date of birth
Registered
Activity