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

frontend developer

Send message

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

Level of difficultyEasy
Reading time11 min
Views84K

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

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

Читать далее

Для защиты своего сервера я использую zip-бомбы

Level of difficultyEasy
Reading time3 min
Views86K

Основной объём трафика в вебе возникает из-за ботов. По большей части, эти боты используются для обнаружения нового контента. Это читалки RSS-фидов, поисковые движки, выполняющие краулинг вашего контента, а сегодня и боты ИИ, собирающие контент, чтобы скармливать его LLM. Но есть и зловредные боты. Их создают спамеры, скрейперы контента и хакеры. На моём прежнем месте работы бот обнаружил уязвимость Wordpress и встроил в наш сервер зловредный скрипт, а затем превратил машину в ботнет, используемый для DDOS. Один из моих первых веб-сайтов был полностью выдавлен из поиска Google из-за ботов, генерирующих спам. Мне нужно было найти способ защиты от этих ботов, поэтому я начал пользоваться zip-бомбами.

Читать далее

Даже не влезайте в Kubernetes без этого

Reading time20 min
Views50K
image

Главный прикол с k8s: поднять базовый кластер займёт всего 15 минут. А вот чтобы он реально заработал, ответить на все вопросы перед установкой, всё спланировать — на это нужны дни, реально дни мозгового штурма и планирования. Ну или потом придётся разбирать и делать ещё раз. Несколько раз.

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

И вот про эти самые вопросы мы сейчас и поговорим, потому что там целое волшебное поле грабель.

Начнём с простых вещей, например, выбора дистрибутива, выбора способа хранения данных (и динамического выделения места), а также того, куда складывать пароли к критичным ресурсам. На этих трёх выборах ломается примерно 50 % админов.

Поехали в ад!
Читать дальше →

Home Lab мечты в Kubernetes

Level of difficultyHard
Reading time34 min
Views16K

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

В этой статье я расскажу про свой путь в построении такой лаборатории с помощью Kubernetes и облачных технологий. Здесь вас ждут полностью воспроизводимые k8s‑кластеры, бекапы с авто‑восстановлением, хитрые VPN‑ретрансляторы, хорошо защищенные приватные и публичные приложения, а также много‑много автоматизации и красивых инженерных решений.

Читать далее

Как готовить Triton: рецепты вашей собственной Inference-платформы

Reading time9 min
Views3.4K

Привет, Хабр! Меня зовут Антон, я DevOps-инженер в команде Data/ML-продуктов Selectel. Если вам нужно запустить небольшой инференс одной ML-модели, можно взять команду бэкендеров, дать им эту модель, они обернут ее в эндпоинт — и готово. Достаточно короткого скрипта из нескольких строк на Python. Но что если нужно запускать несколько моделей, оптимизировать выполнение, работать с ансамблем моделей, задействовать CPU и GPU одновременно и т. д.? Все эти проблемы решает NVIDIA Triton Inference Server. Правда, он добавляет одну новую: разобраться с ним и его документацией — тот еще квест.

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

Народный измеритель ёмкости батареек и аккумуляторов BatteryTest 2

Level of difficultyEasy
Reading time13 min
Views19K

Я завершил разработку новой версии прибора для измерения ёмкости любых батареек и аккумуляторов.

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

Любой желающий может собрать такой прибор из доступных модулей.

Читать далее

Как обычный программист купил яхту, пересёк на ней Европу и дошёл до Африки

Level of difficultyEasy
Reading time10 min
Views24K

Поговорим не о разработке, а о том, как я путешествовал на парусной яхте. Если коротко: летом 2024-го я впервые получил Шенген, купил яхту и пошёл на ней в Африку через всю Европу, застав Олимпиаду в Париже.

Под катом подробная история, как в 45 лет я стал капитаном собственной яхты, хотя я разработчик, а не олигарх. Где можно получить лодку бесплатно, а где не стоит брать и за деньги? Под каким флагом идти по Европе в наше штормовое время? Какие гаджеты и симка точно нужны для плавания? Всё это под катом.

Читать далее

Я устал возиться с кучей VPN и поставил Xray на роутер

Level of difficultyMedium
Reading time5 min
Views140K

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

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

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

Читать далее

Стриминг музыки со своего сервера

Level of difficultyMedium
Reading time5 min
Views18K


YouTube Music, «Яндекс Музыка», Spotify, SoundCloud — относительно удобные музыкальные сервисы, но с недостатками:

  • плохая работа в офлайне;
  • отсутствие поддержки lossless;
  • абонентская плата;
  • неполная фонотека;
  • многое другое...

Их коллекции далеки от полноты. Редких треков вообще нет. Более того, музыка иногда просто пропадает из-за каких-то заморочек с авторскими правами.

К счастью, очень легко организовать стриминг музыки со своего сервера. Хранить всю музыкальную коллекцию у себя на компьютере — зачастую надёжнее, удобнее и дешевле, чем облачный сервис.
Читать дальше →

Введение в k3s: познакомимся с младшим братом k8s

Reading time12 min
Views71K


Вводная часть


Kubernetes, также известный как k8s — это портативная расширяемая платформа с открытым исходным кодом для управления контейнеризованными рабочими нагрузками и сервисами, которая облегчает как декларативную настройку, так и автоматизацию. Kubernetes можно настроить как в локальной, так и в облачной инфраструктуре. Однако, кластер Kubernetes немного сложен в настройке и требует значительных ресурсов, что затрудняет развертывание на локальной машине для обучения или разработки. Это приводит к тому, что не для каждого бизнеса перейти на полноценный k8s представляется возможным. К счастью, на этот случай есть более легкое решение в виде k3s.

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

Self Hosted для домашнего сервера

Level of difficultyMedium
Reading time10 min
Views48K

Есть отличный термин self hosted, который очень популярен в англоязычном интернете.
Но он плохо переводится, почти как open source - хотя википедия и пытается дать ужасно звучащий термин "самохостинг"...

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

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

Эту статью я пишу во многом для нескольких друзей, которые решили приобщиться к этому тренду, и здесь будет обзор моего личного self hosted - про всякие разные штуки, которые показались полезны лично мне, и плотно заняли своё место на моём домашнем сервере.

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

Читать далее

Автоматизация загородного дома: хочу, чтобы всё

Level of difficultyEasy
Reading time24 min
Views26K

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

Заказчик подошёл к строительству основательно и со вкусом, а также решил сделать дом максимально умным. Расскажем, что получилось в итоге.

Читать далее

Zabbix: мониторим всё подряд (на примере Redis'а)

Reading time10 min
Views145K

Zabbix — замечательный продукт для администраторов крупных программно-аппаратных комплексов. Он настолько хорош, что может использоваться не только крупным бизнесом, но и средне-малым бизнесом, и даже в pet-проекте. В общем, у меня есть небольшой опыт работы с Zabbix'ом и я смело могу рекомендовать его к использованию.


Правда я не могу сказать, что понимаю "философию Zabbix'а". Несмотря на обширную подробную документацию на русском языке, мне было сложно погружаться в мир Zabbix'а — создавалось ощущение, что мы с разработчиками одни и те же вещи называем разными именами. Возможно потому, что Zabbix создавался админами для админов, а я всё-таки больше разработчик и пользователь.


Тем не менее, для запуска Zabbix'а и для мониторинга основных параметров компьютерных систем (процессор, память и т.п.) навыков обычного linux-пользователя хватает. Есть большое количество плагинов от сторонних разработчиков, расширяющих возможности Zabbix'а. Для моих нужд мне потребовалось настроить мониторинг Redis-сервера. Я немного покопался в коде имеющихся плагинов и на их примере выяснил, что архитектура Zabbix'а позволяет достаточно просто подключать к мониторингу любые параметры информационных систем, которые могут быть выражены в числовом виде.


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

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

Obsidian: Типы данных

Level of difficultyEasy
Reading time14 min
Views34K

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

Покажу интересные способы использования markdown заметок для решения разных задач.

Читать далее

Заметки по grammY

Level of difficultyEasy
Reading time5 min
Views1.1K

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

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

Читать далее

Как конфигурировать Git

Reading time13 min
Views15K

Какие настройки git config сейчас следует устанавливать по умолчанию? Ниже рассмотрены избранные настройки, менять которые не стесняются даже разработчики самого Git.

Несколько недель назад я написал о настройке Git help.autocorrect и поведал странную историю о том, как её значение стали задавать в децисекундах.  

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

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

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

Читать далее

Как прогнать коллекцию в Postman за 5 секунд

Level of difficultyMedium
Reading time9 min
Views11K

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

На собеседованиях в QA меня десятки раз спрашивали, умею ли я создавать коллекции в Postman.

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

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

Читать далее

Как мы взломали цепочку поставок и получили 50 тысяч долларов

Level of difficultyMedium
Reading time14 min
Views15K

В 2021 году я только начинал свой путь в наступательной безопасности. Я уже взломал довольно много компаний и получал стабильный доход охотой за баг-баунти — практикой этичного хакинга, при которой исследователи безопасности находят уязвимости и сообщают о них, получая за это вознаграждение. Однако я ещё не достиг уровня, позволившего бы мне быстро обнаруживать критические уязвимости цели. Этот уровень умений казался мне недостижимым. Но всё поменялось, когда я познакомился с человеком, ставшим ключевой фигурой в моей карьере баг-баунти: Snorlhax.

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

Вместо того, чтобы продолжать состязаться, мы решили сотрудничать. Теперь нашей задачей стало выявление у этой цели всех возможных классов багов: IDOR, SQL-инъекций, XSS, багов OAuth, Dependency Confusion, SSRF, RCE и так далее. Все их мы нашли, сообщили компании и написали отчёты. Это сотрудничество длилось несколько лет, и даже сегодня мы время от времени снова возвращаемся к этой цели.

Однако недостижимой оставалась одна задача: обнаружение «чудовищной уязвимости». Это должен быть настолько критичный баг, что нам выплатят нестандартное вознаграждение, намного превышающее обычные выплаты. Это стало для нас главной целью.

В посте я расскажу, как мы со Snorlhax наконец-то этого добились.
Читать дальше →

Почему observability — это не только Grafana и Prometheus

Reading time11 min
Views19K

Вы видите красивые графики в Grafana, алерты настроены, метрики собираются — значит, все под контролем? На самом деле, нет. Когда в продакшене что-то пойдет не так, Prometheus покажет скачок latency, но не объяснит, почему это произошло. Логи могут не содержать нужных данных. Трейсов нет. Итог — часы расследования, хаотичные гипотезы, поиски иголки в стоге сена.

Observability — одно из тех модных слов, которые часто понимают неправильно. Для многих оно сводится к связке Grafana + Prometheus, не более. Однако в реальных системах наблюдаемость (observaбыстроbility) — это больше, чем просто красивые дашборды с метриками. В этой статье разберемся, почему классический стек не покрывает все задачи, какие альтернативы есть на рынке и как построить современный observability-стек.
Читать дальше →

Почему заводить «Алису» в доме с детьми — плохая идея?

Level of difficultyEasy
Reading time6 min
Views90K

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

И вот к чему это привело...

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