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

Consulting Network Engineer

Send message

Избавляемся от головной боли: новый интерфейс для VPN-подключения

Level of difficultyEasy
Reading time2 min
Views65K

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

Сейчас же решили остановиться на том, что из разряда наших внутренних «костылей» перешло в удобный продакшн.  Речь пойдет про защищенное удаленное подключение из трех букв (начинается на «В»), которое строится на базе отечественных NGFW с использованием немного устаревших L2TP, IKEv1, общего ключа и обязательного второго фактора аутентификации в виде OPT.

Читать далее

Чистый код в Python

Level of difficultyEasy
Reading time14 min
Views21K

Всем привет!

Это перевод статьи Clean Code in Python. В данной статье Nik Tomazic рассказывает о чистом коде, его преимуществах, различных стандартах и принципах, но что самое главное– он дает общие рекомендации по написанию чистого кода. Прочитав данную статью в оригинале, я понял, что это именно то, что я хотел бы прочитать в самом начале своего пути разработки на Python. Именно это и вдохновило меня на создание первого перевода, а вместе с этим, и первой публикации на Хабре.

Читать далее

Мануал по запуску полной модели DeepSeek-R1 локально (бюджет ~6k$)

Reading time4 min
Views57K

Давеча наткнулся в экс-Твиттере на интересный тред (https://x.com/carrigmat/status/1884244369907278106?s=52) о том, как запустить самую мощную (на сегодня) ИИ reasoning модель DeepSeek-R1 прямо у себя под столом.

DeepSeek-R1 — это одна из топовых моделей (из Китая), наделавших много шума (и не только), для задач логики, математики и программирования. Она настолько умная, что может (с некоторыми оговорками) "конкурировать" с решениями от OpenAI, но при этом её можно запустить локально, без интернета, без смс и полностью контролировать весь процесс.

Почему это круто?
* все данные остаются с вами, никакие сторонние сервисы не получат доступ к вашим запросам.
* запуск на своём железе избавляет от затрат на облачные сервисы.
* модель способна решать сложные задачи и выдавать результаты на уровне профессионалов.

В статье я расскажу:
* какое оборудование нужно для запуска DeepSeek-R1.
* чем локальный запуск отличается от серверного.
* какие возможности открывает эта модель и как она может быть полезна.
* как сохранить безопасность и приватность при работе с ИИ.

В этом мануале описано, как настроить локальный запуск модели DeepSeek-R1 Q8, сохраняя максимальное качество и производительность без дистилляции или уменьшенной квантизации. Общая стоимость сборки составит около ~$6,000, и ниже приведены все необходимые ссылки на компоненты и инструкции.

Читать далее

Как правильно делать тестовые задания на Python (flask, fastapi)

Level of difficultyMedium
Reading time9 min
Views15K

В этой статье я делюсь опытом, накопленным за годы помощи начинающим программистам. Мы в основном будем говорить про Python, но советы будут полезны для ТЗ на любом языке программирования, особенно на позицию Backend Developer.

Вы узнаете, как грамотно организовать структуру проекта, избежать типичных ошибок (например, Query N+1), подготовить своё решение так, чтобы оно выглядело профессионально. Дам советы, как не только выполнить задание, но и превзойти ожидания работодателя.

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

Читать далее

Модель OSI

Level of difficultyEasy
Reading time6 min
Views22K

В этой статье вы узнаете об основных понятиях модели Open Systems Interconnections (OSI) в простой и доступной форме.

Многие, вероятно, знают основы того, что такое интернет и как он работает. Есть клиент и сервер, и они «общаются» друг с другом с помощью чего-то, называемого HTTP или HTTPS?

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

Читать далее

Как установить и использовать ИИ модель DeepSeek R-1 на вашем компьютере

Level of difficultyMedium
Reading time6 min
Views277K

Многие говорят о DeepSeek R-1 - новой языковой ИИ-модели с открытым исходным кодом, созданной китайской ИИ-компанией DeepSeek. Некоторые пользователи утверждают, что по возможностям рассуждения она не уступает или даже превосходит модель o1 от OpenAI.

В настоящее время DeepSeek можно использовать бесплатно, что является отличной новостью для пользователей, но вызывает некоторые вопросы. Как при таком резком росте числа пользователей они справляются с затратами на сервера?

Ведь эксплуатационные расходы на оборудование не могут быть дешевыми, верно?

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

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

Читать далее

Работа с NRF24L01 и STM32F1

Level of difficultyMedium
Reading time3 min
Views6.5K

Процесс запуска NRF24L01 в связке со STM32F1. Разработка ведется в Arduino IDE. В статье указан код и схемы подключения для того, чтобы можно было повторить проект самому.

Читать далее

Старики будут править IT

Level of difficultyEasy
Reading time6 min
Views111K

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

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

Читать далее

Мониторинг систем хранения данных в Docker Compose: из чего состоит и как его повторить

Reading time7 min
Views6K

Год назад к инженерам YADRO обратился клиент с просьбой помочь с настройкой мониторинга для СХД TATLIN.UNIFIED. Ему нужно было готовое интегрированное решение, которое бы не нагружало инженеров компании. Так появился Monitoring Appliance — приложение для мониторинга систем хранения данных, которое можно развернуть на сервере за пять минут. В статье рассказываем, как собирать с СХД все возможные данные и где могут быть подводные камни.

Читать далее

Использование оверлейных сетей для обхода NAT

Reading time15 min
Views16K

У меня, как и у многих посетителей Хабра есть raspberry pi. А ещё, почти честные сто мегабит от провайдера домашнего интернета. Идея о маленьком домашнем сервере от такой комбинации появляется сама по себе. Но сервер он ведь на то и сервер, чтобы работал независимо от факта нахождения пользователя в физической доступности. В связи с этим, возникает вопрос, как подключаться к такому серверу удалённо? Обычно провайдеры домашнего интернета прячут своих пользователей за NAT, так как IPv4 на всех не напасёшься. Мой провайдер исключением не является. Внешний статический IP он так же не предоставляет (по крайней мере, такой услуги в ЛК я не нашёл), да и совершенно ни к чему выставлять шлюз в локальную домашнюю сеть во внешний интернет. Shodan, ботнеты, сканеры и краулеры никто не отменял. Раньше для подобной задачи решение было очевидным – виртуальная частная сеть. Однако сейчас, с учётом нарушения сетевого коннекта по определённым протоколам, хочется иметь как минимум резервный удалённый канал связи. Да, нарушение коннекта по привычным для данной задачи протоколам неполное: можно отыскать протокол, который не забанен, можно поиграть с настройками, тем не менее хочется иметь возможность сделать это удалённо. Мой взгляд упал на нестандартные средства решения этой задачи.

Читать далее

Модульный роутер с Docker-ом, на базе Banana PI и OpenWRT

Reading time7 min
Views13K

Привет, Хабр! В одной прошлогодней статье про открытый роутер на базе Banana Pi + OpenWRT я оставил коммент, что есть ещё одно интересное решение в этой связке. Привёл скрины и фото готового девайса, а так же пообещал написать статью с описанием функционала. Обещал — выполняю.

Читать далее

Небольшая переделка одного устройства

Level of difficultyMedium
Reading time3 min
Views15K

Понадобился мне на самолете цифровой компас, какое-то подобие привычному КИ-13.

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

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

Читать далее

Запускаем советский процессор из журнала «Радио» с помощью Arduino

Level of difficultyHard
Reading time17 min
Views48K

Привет! Меня зовут Илья Мамай, я инженер-программист в группе разработки операционных систем YADRO. В этой статье я хочу поделиться опытом некромантии сборки советского компьютера по мотивам «Микро-80», схемы которого были опубликованы в журнале «Радио». Но собирать я буду не по этим схемам. Используя их как опору и источник вдохновения, я начну с запуска процессора КР580ВМ80А (советского клона Intel 8080), определения признаков жизни и продолжу постепенным наращиванием функционала и возможностей системы. Здесь мы займемся и радиотехникой, и DIY, и программированием как самого процессора, так и современных микроконтроллеров. Но перед этим поделюсь историей, как я, будучи студентом 4 курса, дошел до этого…

Читать далее

Контракт REST API: Пригладим названия

Level of difficultyEasy
Reading time5 min
Views3.9K

А сколько у вас в компании во внутренних системах используется наименований одного и того же поля в API? А сколько способов назвать поле, которое перечисляет список id?

Я часто сталкиваюсь с тем, что при проектировании и разработке HTTP REST API команды (чаще неосознанно) собирают целый семантический и лексический зоопарк наименований. Потом бывает сложно разобраться, что нужно записать в определенное поле, или какое название поля выбрать для перечисления списка ID из уже существующих.

Поэтому я однажды собрала для себя и коллег гайд–чек-лист под названием “Приглаживаем названия в API” и теперь публикую его для широкой аудитории. Уверена, что он кому-то да пригодится.

Читать далее

Делаем свой docker-образ Apache Kafka 4.0

Level of difficultyMedium
Reading time7 min
Views6.2K

В 2024 году мы не дождались выхода в свет Apache Kafka 4.0, в которой окончательно исчезнет поддержка ZooKeeper, оставив нам для создания кластеров только KRaft. Кто-то давно уже перешёл на эту прекрасную технологию, другие же размышляют, как им жить дальше — оставаться на линейке 3.х или в омут с головой.

Новогодние каникулы самое подходящее время для того, чтобы пощупать новую версию. Хотя код невозбранно доступен в Github проекта Apache Kafka, docker-образов текущих сборок 4.0 мне найти не удалось. Также поддержку 4.0 ещё не добавили в довольно популярный, и с недавних пор мною любимый, k8s-оператор strimzi. Ну что же, придётся устроить себе праздник самому!

Читать далее

Простое управление настройками приложения в проекте на django

Level of difficultyMedium
Reading time5 min
Views1.8K

Как добавить кучу настроек для администратора в свой проект на django без дополнительных сервисов feature-toggle и потом в них не потеряться.

Читать далее

Мониторинг сетевого оборудования MikroTik с использованием MikroTik API, MKTXP, Prometheus и Grafana

Level of difficultyEasy
Reading time5 min
Views28K

Представьте: пятница, вечер, вы уже мысленно с бокалом чего-то крепкого и вкусного наслаждаетесь прокрастинацией. Ничего не предвещало беды, но жизни любого администратора наступает момент, когда нужно поиграть в игру "Угадай на каком этаже пропал интернет". И что бы победить непредсказуемость сетевых устройств, умные люди придумали Grafana для визуализации различных метрик, и различные экспортеры этих метрик. В данной статье рассмотрим экспортёр метрик MKTXP, который настраивается в 2 кнопки.

Читать далее

DIY LED Cube: ультимативный гайд для сильных духом. Часть 1. Сборка

Level of difficultyEasy
Reading time11 min
Views15K


В народе говорят, что каждый радиолюбитель должен собрать своими руками хотя бы один радиоприёмник, а каждый настоящий DIY-щик — LED Cube. Действительно, какой же ты радиолюбитель, если не собрал ни одного радио? (смайл)

Со светодиодным кубом тема интересная, но имеет множество «нюансов», поэтому я всё время откладывал построение собственного куба. И, как выяснилось, не зря — если бы я только знал во что ввязываюсь, то скорее всего никогда бы не взялся за этот проект.

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

Но зато, если ты преодолел все трудности и создал это маленькое чудо, то можешь наслаждаться как самим девайсом (а это совершенно замечательная штука, особенно в умелых руках), так и осознанием того, что ты сдал экзамен на звание DIY-щика 80-го уровня (смайл).
Читать дальше →

Flutter Mix. Делаем верстку проще

Level of difficultyMedium
Reading time4 min
Views2.8K

Всем привет! Я Максим Земляникин, пишу на Flutter 5 лет. И должен вам признаться, уже пол года как использую Mix вместо стандартных виджетов. А в этой статье хочу рассказать чем он мне так понравился

Читать далее

Information

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