Как стать автором
Обновить
1
0
Ильдар Садыков @sig10072006

Пользователь

Отправить сообщение

Еще одна конфигурация на базе OpenWRT (+PC) для обработки трафика

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров3.7K

Последнее время на некоторых территориях тема обработки транзитного трафика на домашнем роутере стала популярна как никогда раньше. Интервал между новыми вызовами сократился с нескольких лет до нескольких дней. Задачи становятся всё интересней и сложней.

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

Как и у многих, у меня рядом с роутером есть небольшой NAS на базе PC. Который с помощью второй сетевухи мог бы легко превратиться в роутер. Но как это сделать удаленно? И как сделать из сервера роутер, не трогая по-возможности сервер и роутер? Легко!

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

Читать далее
Всего голосов 5: ↑4 и ↓1+5
Комментарии2

Пишем программы на C# для одноплатников: что, как и где на примере Orange Pi One

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров10K
image

В своей жизни я обожаю как минимум три вещи: это C# (как и .NET в целом), интересное железо и одноплатные компьютеры. В Embedded-системах на Linux обычно принято писать код на C/C++ для решения чувствительных к производительности задач и интерпретируемых Lua/Python для быстрого прототипирования, которые стали популярны в встраиваемых устройствах сравнительно недавно. Однако о нативной разработке под одноплатники на C# практически ничего не слышно и я решил исправить это недоразумение! В сегодняшнем материале: рассмотрим, какие платформы .NET нам доступны на одноплатниках, научимся работать с GPIO и SPI в юзерспейсе, а также напишем практическое приложение, которое реализовывает драйвер дисплея и выводит на экран определенное изображение.
Читать дальше →
Всего голосов 34: ↑32 и ↓2+39
Комментарии36

Учимся летать: симуляция эволюции на Rust. 5/5

Уровень сложностиСредний
Время на прочтение34 мин
Количество просмотров3.9K



Это заключительная часть серии статей по разработке симуляции эволюции с помощью нейронной сети и генетического алгоритма.





Читать дальше →
Всего голосов 19: ↑19 и ↓0+29
Комментарии1

Дорабатываем чужие сайты: Как написать расширение для Chrome с помощью ChatGPT

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров4.6K

Часто ли вы сталкиваетесь с такой ситуацией: вы пользуетесь каким-нибудь веб-сервисом и вам очень не хватает какой-то маленькой, но важной функции, которую разработчик не станет добавлять только для вас?

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

Читать далее
Всего голосов 8: ↑7 и ↓1+7
Комментарии5

Виртуальный анализатор

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров812

В последнее время на производственных площадках нефтепереработки и нефтехимии все чаще стало звучать словосочетание «Виртуальный анализатор». Что же это такое? Давайте разберемся.

Виртуальный анализатор – это косвенное измерение параметров качества (концентрации/ содержания) компонентов в выпускаемой продукции, в основе которой математическая модель, рассчитанная на статистических исторических данных. Он позволяет в режиме реального времени видеть качество продукта на технологическом объекте. В качестве входных параметров модели используются датчики с приборов КИП технологических объектов: температуры, давления, расходы и т.д.

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

ВА = k1*X1 + k2*X2 + kn*Xn + bias,

Где ВА – значение виртуального анализатора, X1…Xn технологические параметры (температура, давление, расход и т.д.), k1…kn коэффициенты этих параметров, полученные при построении модели в специализированном ПО, bias – свободный коэффициент для корректировки показаний виртуального датчика. В конце статьи это формула станет гораздо понятней :)

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Android-разработчики в 2024 году: какие нужны скилы и как проходит процесс найма

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров4.6K

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

Читать далее
Всего голосов 8: ↑6 и ↓2+4
Комментарии12

Сумма степеней натурального ряда. Часть 1

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров11K

Вам наверняка известна история о математике Карле Гауссе. Когда ему было восемь лет, учитель задал его классу задачу посчитать сумму всех натуральных чисел от 1 до 100. Пока остальные дети трудились над последовательным сложением, Гаусс нашел простое и изящное решение. Он заметил, что числа можно сгруппировать в 50 пар с одинаковой суммой и мгновенно получил ответ 50\cdot 101 = 5050.

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

В этой статье мы рассмотрим графический метод нахождения формул для суммы степеней натурального ряда.

Читать далее
Всего голосов 35: ↑34 и ↓1+46
Комментарии35

Widget тесты с помощью ApprovalTests | Flutter / Dart

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров379

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

Читать далее
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

Как автоматизировать рассылку голосовых приглашений с помощью Exolve API и Python

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров1.1K

В одном из моих любимых фильмов «О чем говорят мужчины», персонаж А. Демидова периодически произносит фразу «Вот поэтому я и не женюсь». И я как человек неженатый тоже иногда её произношу с отсылкой на фильм.

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

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

Читать далее
Всего голосов 9: ↑5 и ↓4+1
Комментарии1

Новая библиотека для работы с JSON: json_db_lite

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров3.6K

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

В результате накопилось большое количество кода, который оказался избыточным, особенно с учётом того, что скоро я планирую перейти к описанию более серьёзного взаимодействия FastAPI с полноценной базой данных (SQLAlchemy с миграциями через Alembic). Поэтому я решил вынести весь код взаимодействия с JSON в отдельную библиотеку.

Так появилась json_db_lite.

Эта библиотека будет полезна в контексте FastAPI как отправная точка для знакомства с взаимодействием FastAPI и баз данных. В других проектах функционал json_db_lite также может оказаться весьма полезным.

Читать далее
Всего голосов 7: ↑2 и ↓5+1
Комментарии32

OrangePi AiPro — гайд и обзор

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров11K

Я не знаю как правильно назвать обзор/гайд про эту плату. Самая китайская плата? Самая загадочная? Самая неоднозначная? В любом случае - одна из самых интересных!

Поговорим про OrangePi AIpro, плату от запрещённой в половине мира Huawei.

Читать далее
Всего голосов 32: ↑31 и ↓1+40
Комментарии12

Как я добавлял USB-разъём в ThinkPad X1 Nano

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров19K

Мне захотелось добавить в свой ноутбук ThinkPad X1 Nano внутренний USB-разъём, что должно было стать довольно простой задачей, но не стало.

Разумеется, если бы я всё ещё работал на Framework Laptop, то для этого было бы достаточно подключить модуль, но я уже довольно долгое время использую в качестве основного ноутбука X1 Nano.
Читать дальше →
Всего голосов 45: ↑45 и ↓0+59
Комментарии44

Интернет вещей с микрокомпьютером Repka Pi

Время на прочтение6 мин
Количество просмотров3.2K

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

Некоторое время назад российские разработчики представили микрокомпьютер Repka Pi. На просторах Хабра уже был ряд публикаций, посвященных этому МК. В этой статье мы не будем подробно разбирать процесс развертывания ОС на карте памяти и выполнение базовых настроек микрокомпьютера. Вместо этого мы уделим больше внимания использованию данного МК для задач интернета вещей. Однако, мы не будем погружаться в решение какой-либо конкретной задачи, например создание метеостанции, так как про это тоже уже много чего написано.

Нашей основной задачей станет рассмотрение общих принципов выполнения аналогово-цифровых преобразований (АЦП) на микрокомпьютере Repka Pi.

Читать далее
Всего голосов 9: ↑8 и ↓1+9
Комментарии2

Макросы в swift — напишут код за вас, но есть нюанс…

Уровень сложностиСредний
Время на прочтение38 мин
Количество просмотров11K

Привет! Меня зовут Настя Ищенко, я — iOS-разработчик в KTS.

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

Читать далее
Всего голосов 60: ↑58 и ↓2+58
Комментарии14

Всё что нужно знать про области видимости в Python

Время на прочтение6 мин
Количество просмотров4.4K

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

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

Для определения последовательности, в которой Python ищет значение переменной, используется правило LEGB. Это правило представляет собой порядок поиска переменных в следующих областях видимости: Local (локальная), Enclosing (вложенная), Global (глобальная) и Built-in (встроенная).

Читать далее
Всего голосов 13: ↑11 и ↓2+12
Комментарии5

Драйвер Ethernet для xv6

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров1.6K

Xv6 - учебная ОС - рассказывает об идеях, что лежат в основе операционных систем.

Научим xv6 работать в сети, познакомимся со стандартом виртуальных устройств VirtIO, деревом устройств DeviceTree, технологией Ethernet, сетевыми протоколами, возведем сетевой мост между виртуальными машинами.

Читать далее
Всего голосов 9: ↑9 и ↓0+11
Комментарии3

Опыты в домашней лаборатории: Эмулируем arm64 OpenWRT роутер в Proxmox VE

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров4K

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

В большинстве экспериментов я практикую подход "если что-то пойдет не так... разберемся, а потом просто перезапустим терраформ". В ходе очередного такого эксперимента мне понадобилось перенастроить пару вещей глубоко внутри OpenWRT роутера, и внезапно пришло понимание, что домашний роутер совсем не эфемерный ресурс. На вопрос: «Если я окирпичу роутер, то смогу ли я его оживить без отвертки, паяльника и, самое главное, без доступа в интернет?» ответ был «¯\_(ツ)_/¯».  

Раз такое дело, сначала нужно потренироваться на кошках, а значит, нам понадобится эмулятор маршрутизатора OpenWRT. Причем arm64 версия, так как пакетная база между arm и x86 может существенно отличаться. На просторах интернета я не встретил инструкции, которая бы заработала сразу и была бы легко автоматизируема. Надеюсь, данный гайд заработает у вас "из коробки", а сэкономленное время пойдет на эксперименты.

Читать далее
Всего голосов 7: ↑7 и ↓0+9
Комментарии4

Проект: погодная станция (метеостанция) своими руками. Часть первая

Время на прочтение2 мин
Количество просмотров2.7K

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

Читать далее
Всего голосов 6: ↑5 и ↓1+9
Комментарии18

Угрозы инфраструктуры с Linux. Разбираем попытки атак

Время на прочтение6 мин
Количество просмотров6.9K

Небо голубое, вода мокрая, а Linux — самая защищенная операционная система. С этим не поспоришь. Однако утверждать, что защита здесь работает на 100%, нельзя. Как минимум никто не застрахован от проблем с обновлением системы и ошибками конфигураций.  

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

Читать далее
Всего голосов 17: ↑12 и ↓5+8
Комментарии6

Google Colab вместо Jupyter Notebook: плюсы и особенности работы для новичков

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров5.3K

Привет! Меня зовут Ольга Матушевич, я наставница на курсе «Аналитик данных» в Яндекс Практикуме. С Jupyter Notebook я впервые столкнулась шесть лет назад, когда начала изучать Python и анализ данных. И именно установка Jupyter Notebook стала самым сложным этапом моей учёбы — ни чистка данных, ни градиентный бустинг, ни бутстрэп не доставляли мне столько трудностей.

Если установка программного обеспечения даётся вам так же трудно, то эта статья для вас. В ней я рассказываю о не требующем установки сервисе Google Colab, сравниваю его с Jupyter Notebook и даю советы для лёгкого старта.

Читать далее
Всего голосов 5: ↑3 и ↓2+1
Комментарии11
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Чишмы, Башкортостан(Башкирия), Россия
Дата рождения
Зарегистрирован
Активность