Search
Write a publication
Pull to refresh
0
Олег Прилепа @OAPrileparead⁠-⁠only

frontend developer

Send message

Geely и ECARX, что с вами не так?

Level of difficultyMedium
Reading time23 min
Views7.2K

Периодически читая Хабр, я еще не находил статей, описывающих внутренний мир штатных головных устройств (далее — ГУ) на базе Android, хотя я уверен, что не только мне было бы интересно, как там всё устроено и работает. Речь пойдет про одни из самых популярных авто на нашем рынке: Geely Coolray и частично Geely Tugella.

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

Читать далее

Автоматизация для всех: как n8n революционизирует рабочие процессы в бизнесе

Level of difficultyEasy
Reading time12 min
Views13K

До 2022 года я думал, что автоматизация — это удел только крупных компаний. Но в 2022 году я открыл для себя n8n, и всё изменилось. Теперь я автоматизирую рутинную работу, отчёты и даже целые бизнес-процессы — иногда менее чем за 30 минут. Вот как это работает, что меня удивило и что вы можете попробовать уже сегодня.

Читать далее

Верните непрерывную интеграцию разработчикам

Level of difficultyMedium
Reading time7 min
Views12K

Все знают аббревиатуру CI/CD. Continuous Integration and Continuous Delivery - Непрерывная интеграция и Непрерывная поставка. Но едва ли можно найти более неправильно понимаемую нашей индустрией идею, чем непрерывная интеграция. Практика, которая была придумана, чтобы её делали разработчики, почему-то превратилась в объект работы девопсов, хотя к культуре DevOps ну вообще никакого отношения, по идее, иметь не должна.

Так что вот вам статья про то, как так вышло, что сейчас под CI понимают что угодно, кроме того, чем она, на самом деле, является.

Читать далее

Один Portainer, чтоб править всеми

Level of difficultyEasy
Reading time6 min
Views5K

Нельзя просто так взять и управлять Docker’ами с разных VPS… или всё-таки можно?

В прошлой статье «Быстрый деплой бота (и не только) на Docker‑хостинге с Portainer» я рассказал о том, как легко развернуть приложение на DockerHosting.ru с предустановленным Portainer без необходимости подключаться к серверу по SSH. Но тот материал касался только управления контейнерами на одном сервере.

А что если у вас несколько VPS и вы хотите централизованно управлять всеми Docker-хостами из одного интерфейса? Portainer поддерживает добавление сторонних Docker‑движков, и это открывает широкие возможности для администрирования сразу нескольких серверов в единой панели.

Читать далее

Красивый GitLab CI: extends, якоря, include, trigger

Level of difficultyMedium
Reading time9 min
Views11K
image

В последнее время мне довелось столкнуться с огромным количеством CI в GitLab. Я каждый день писал свои и читал чужие конфиги. Мой день буквально выглядел как:
Читать дальше →

Запускаем настоящую DeepSeek R1 671B на игровом ПК и смотрим вменяемая ли она на огромном контексте (160к)

Reading time20 min
Views41K

Релиз DeepSeek R2 официально отложен и пока R1 не потерял актуальность, попробуем запустить модель на домашнем ПК. Оригинальная DeepSeek R1 имеет размер 700гб, так как она обучалась в fp8, но если бы она обучалась в стандартных f16, её вес был бы 1400гб, а мы попробуем версию в 10 раз меньше. Запустим самый маленький 1.66-битный IQ1_S_R4 квант полноценной модели размером 130гб на игровом ПК, отдельно с 4090 и 4060ti. Загрузим туда очень-очень много контекста и проверим, такой квант всё ещё способен давать разумные ответы или нет.

Читать далее

Недавно потенциальный клиент спросил, сколько стоит час моей работы

Reading time7 min
Views64K

— Я не продаю часы, — ответил я.

— Ну хорошо, тогда что насчёт дней, недель, месяцев? Мне нужно хоть что-то, чтобы прикинуть потенциальные расходы.

— Я обычно оцениваю работу под ключ. Часовой ставки у меня нет.

— У всех есть такая ставка, хотят они того или нет.

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

Потенциальный клиент не стал дальше на меня давить. А уже потом я, засыпая поздним вечером и переваривая события дня, хлопал себя по лбу со словами: «Надо было просто ответить, что он застал меня подобным вопросом врасплох и что я готов ответить на него чуть позже!».

Почему же я сразу не назвал своей часовой ставки?

Читать далее

Сервер за копейки

Level of difficultyEasy
Reading time18 min
Views72K
image

КДПВ


Обычно сервер ассоциируется с чем-то дорогим и недоступным обычному человеку. Даже на вторичном рынке они пока еще стоят весьма существенно (если не рассматривать совсем уж допотопные экземпляры). Однако, есть и такие, которые можно приобрести весьма недорого.


Это так называемые блейд-серверы. Блейд-сервер (от англ. blade — лезвие) – концепция использования нескольких компактных серверов в одной общей корзине (шасси). Некоторые узлы сервера (такие как блоки питания, охлаждение, сетевые адаптеры, управление) вынесены за пределы сервера и сделаны общими для всех. Благодаря этому исключается излишнее дублирование и, соответственно, уменьшаются габариты и общее энергопотребление всей сборки. Увеличивается плотность вычислительной мощности на единицу объема серверной стойки. Из-за того, что единичный блейд-сервер бесполезен без корзины, а в корзине избыточен, они не пользуются спросом на вторичном рынке, а потому стоят весьма недорого. 

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

Xiaomi Mi Thermometer 2 не только Bluetooth, но и ZigBee

Level of difficultyMedium
Reading time4 min
Views108K

TL;DR: Да, можно программно изменить датчик для работы в сети Zigbee, достаточно по воздуху перезаписать прошивку.

Многим пользователям умного дома известен квадратный датчик температуры и влажности от Xiaomi LYWSD03MMC. Его очевидные плюсы — это LCD экран, подключение к системе умного дома MiHome и конечно же цена. Его без преувеличения можно назвать если не самым, то точно одним из самых дешевых "умных" датчиков, которые имеют интерфесы для подключения к умному дому. В данном случае это популярный bluetooth, который позволяет подключиться к датчику со смартфона и увидеть показания. Поэтому он завоевал своё место в сердцах строителей умных домов как дешевое и надёжное решение.

Читать далее

Перепрограммируем заводской Zigbee датчик протечки от компании Tuya

Level of difficultyEasy
Reading time5 min
Views13K

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

Читать далее

Исследую роутеры с «вечным VPN» с российских маркетплейсов: admin:admin, открытые порты и доступ к соседям

Reading time11 min
Views158K

Привет, Хабр! Меня зовут Иван Глинкин, я занимаюсь инфраструктурным тестированием и аппаратным хакингом в Бастионе. Недавно наткнулся на интересное предложение на российских маркетплейсах — роутеры с предустановленным «пожизненным» VPN. Звучит заманчиво: купил, включил и сразу получаешь безлимитный доступ к виртуальной частной сети, причем без подписки.

Но как говорится, бесплатный сыр бывает только в мышеловке. Я решил разобраться, что на самом деле скрывается за красивыми обещаниями продавцов. Приобрел три роутера из разных ценовых категорий — от бюджетного Cudy за 3000 рублей до топового Xiaomi за 7000. Спойлер: если вы ожидали хеппи-энд, то вы зашли не в тот блог. 

В процессе исследования обнаружил несегментированные сети, где можно получить доступ к устройствам других покупателей, пароли admin:admin, хранящиеся в открытом виде, и SSH-доступ для продавцов. А еще выяснил, что «пожизненные» серверы работают на дешевом хостинге за 2,5 доллара.

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

Читать далее

Дыра в щите Cloudflare: как атака на Jabber.ru вскрыла проблему, о которой молчат c 2023

Level of difficultyEasy
Reading time5 min
Views34K

Многие помнят позапрошлогодний инцидент с Man-in-the-Middle атакой на XMPP-сервис jabber.ru. Эта история наделала много шума, но, как мне кажется, главный вывод из неё так и не был усвоен широкой аудиторией. А зря. Потому что эта атака вскрыла системную уязвимость в процессе выдачи TLS сертификатов, которая напрямую касается миллионов сайтов, особенно тех, кто доверяет свою безопасность Cloudflare.

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

В кроличью нору

Быстрый деплой бота (и не только) на Docker-хостинге с Portainer

Level of difficultyEasy
Reading time16 min
Views3.9K

18 июня будет два года как я создал сообщество "Код на салфетке". Сразу оговорюсь, что это некоммерческая история и возникло оно как решение важной для меня проблемы: "недостаток информации для начинающего разработчика". В процессе моего обучения и развития я сталкивался с различными нюансами, которые решались достаточно просто, но найти "комплексный ответ" зачастую было очень трудной задачей.

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

За эти два года мне в личку и в чат Telegram-канала довольно часто пишут новички и их вопросы можно разделить на две категории:

Читать далее

Как собрать Docker-образ, который можно запускать в проде (а не только у себя на ноуте)

Level of difficultyEasy
Reading time4 min
Views31K

Если ты пишешь Dockerfile, скорее всего, он работает. Но вопрос не в том, работает ли. Вопрос в другом: будет ли он работать через неделю, на другом сервере, в CI/CD, на чужом железе — и будет ли это безопасно?

Читать далее

Самодокументируемый REST сервер (Node.JS, TypeScript, Koa, Joi, Swagger)

Reading time12 min
Views22K

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

Добро пожаловать под кат, где я опишу, как мы решали эту задачу в нашей команде.
Читать дальше →

Локальный DeepSeek-R1: Когда скорость улитки – не приговор, а точка старта

Reading time18 min
Views30K

Локальный DeepSeek-R1-0528 на скромном железе? Реально. Со скоростью улитки? Первоначально – да. Но итог моего эксперимента: эту 'улитку' можно заставить работать вдвое быстрее.

Читать далее

Решаем проблему «деградации» YouTube с помощью NoDPI

Level of difficultyEasy
Reading time5 min
Views106K

Салют, Хабр! Я думаю, каждый из вас знаком или, по крайней мере, слышал о такой прекрасной утилите как GoodbyeDPI (большое спасибо @ValdikSS!). Сегодня я хочу представить вам (почти) свою разработку - аналог GoodbyeDPI.

Около полугода назад в своей статье Обвиваем YouTube змеем, или как смотреть и скачивать видео с YouTube без VPN на чистом Python-е. Часть 1 (заблокирована по требованию РКН) я рассказывал о том, как скачивать видео с YouTube на Python, а так как YouTube у нас "деградировал", я поделился инструментом, с помощью которого можно исправить этот вопиющий недостаток. Инструмент тогда выглядел достаточно сыро, и несмотря на то, что он выполнял свою задачу, требовал серьезных улучшений. Увидев интерес общественности, я решил допилить его, и вот, спустя полгода, после немалой работы, я рад представить вам NoDPI - проект, который явно не понравится РКН (и он опять меня заблокирует).

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

Читать далее

За полчаса установил DeepSeek 1.5B, пока вы искали GPT подешевле

Level of difficultyEasy
Reading time11 min
Views84K

DeepSeek 1.5B — маленький, но шустрый собрат больших языковых моделей. Работает локально, не требует железа на киловатт.

Внутри — инструкция по установке, настройке и запуску DeepSeek 1.5B на Ubuntu 24.04 с Ollama и Open WebUI.

Читать далее
1
23 ...

Information

Rating
Does not participate
Location
Новосибирск, Новосибирская обл., Россия
Works in
Date of birth
Registered
Activity

Specialization

Frontend Developer
Senior
From 300,000 ₽
Git
TypeScript
JavaScript
React
Node.js
MobX
Webpack
SCSS