Search
Write a publication
Pull to refresh
10
0
Денис Старцев @startsevdenis

User

Send message

3X-UI: Shadowsocks-2022 & XRay (XTLS) сервер с простой настройкой и приятным интерфейсом

Level of difficultyEasy
Reading time13 min
Views555K

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

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

Поэтому сегодня мы поговорим об установке и использовании графической панели 3X-UI для сервера X-Ray с поддержкой всего того, что умеет X-Ray: Shadowsocks-2022, VLESS с XTLS и т.д.

Читать далее

Pipeline для личных фото и видео

Level of difficultyEasy
Reading time4 min
Views7.4K

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

Моё медиа хранилище в 948,4 GiB выглядит сейчас вот так (фото начинаются с 2001 года)

Читать далее

Разбираемся, что такое S3 и делаем простое объектное хранилище на Go

Reading time11 min
Views53K

Привет, Хабр! С вами снова Матвей Мочалов из cdnnow!, и в этом посте мы не будем разбираться с FFmpeg - в этот раз наша рубрика «Эээээксперименты!» будет затрагивать объектные хранилища. Разберёмся, чем S3 отличается от S3, а также почему не всё то S3, что называется S3. А заодно эксперимента ради сделаем своё собственное простенькое объектное хранилище на любимом языке всех DevOps и SRE-инженеров – Go.

Читать далее

«А можно быстрее?»: разбираем методы ускорения обучения нейронных сетей

Level of difficultyMedium
Reading time21 min
Views6.8K

Современные нейросетевые архитектуры достигают впечатляющих результатов в сложных задачах ИИ благодаря росту объемов данных и вычислительных мощностей. Однако обратной стороной медали стала высокая ресурсоемкость обучения.

Например, последняя версия GPT-4 от OpenAI обучалась на большом GPU-кластере. По некоторым данным, она содержит около 1,8 триллиона параметров, а ее обучение обошлось более чем в 100 млн долларов. А модель Llama 3.1 405B, вроде бы оптимизированная под ограниченные ресурсы, все равно требовала более 15 триллионов токенов и свыше 16 тысяч GPU NVIDIA H100.

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

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

Читать далее

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

Level of difficultyEasy
Reading time12 min
Views49K

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

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

Читать далее

Поднятие своего сервера minecraft на linux. Полный, подробный гайд

Level of difficultyEasy
Reading time9 min
Views27K

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

Читать далее

Внедряем DevSecOps в процесс разработки. Часть 2. Обзор инструментов, Commit-time Checks

Reading time8 min
Views7.7K

Привет! На связи Олег Казаков из Spectr

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

В предыдущей части статьи я рассказал о том, что представляет собой процесс DevSecOps в целом, из каких этапов он состоит, и подробно остановился на первом этапе — Pre-commit Checks. Сегодня пришло время для обзора стадии Commit-time Checks и ее инструментов. Поговорим о каждом инструменте отдельно и расскажем, на чем мы все-таки остановили свой выбор.

Узнать больше о DevSecOps

Полезный чек-лист: способы сокращения расходов при работе с Kubernetes

Reading time9 min
Views4.4K

Kubernetes — самый популярный оркестратор в России. По данным исследования VK Cloud «State of Kubernetes», K8s используют 56% компаний, работающих с оркестраторами (причем из них 53% работают с Kubernetes в облаке). Более того, спрос на работу с технологией увеличивается. Вместе с тем многие компании сталкиваются с недостатком опыта, что приводит не только к техническим сложностям, но и к неоправданным расходам.

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

Читать далее

Matrix: децентрализованные открытые мессенджеры с E2E-шифрованием. Обзор возможностей и настройка своего сервера

Level of difficultyMedium
Reading time13 min
Views32K

В этой статье я расскажу о протоколе Matrix и мессенджерах, основанных на нем, а так же приведу инструкцию по настройке своего сервера и клиентов.

Matrix — открытый протокол мгновенного обмена сообщениями и файлами с поддержкой голосовой и видеосвязи. Почему стоит обратить на него внимание, если у нас уже есть WhatsApp и Telegram? Причин несколько.

Во-первых, в последние дни Роскомнадзор снова начал развлекаться блокировками WhatsApp и Telegram, и иногда у него это даже получается более-менее успешно. В таких условиях всегда неплохо иметь запасной вариант, и Matrix здесь очень хорошо подходит, потому что во-первых он позволяет создавать свои собственные сервера, а во-вторых его протокол со стороны выглядит как самый обычный HTTPS.

Во-вторых, все больше и больше людей не доверяют WhatsApp и Telegram. В случае с Matrix же можно поднять свой личный сервер, протокол Matrix - открытый, исходники клиентов - открыты, исходники серверов - тоже открыты, а в самом протоколе end-to-end шифрование включено для чатов по умолчанию из коробки (в отличие, например, от Telegram, где оно доступно только в "секретных чатах"). Ну и само собой, не требуется нигде вводить телефонный номер для регистрации.

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

Сервер Matrix может работать как изолированно ("только для своих"), так и в составе "федерации" - когда разные серверы общаются между собой, и пользователи, подключенные к разным серверам, могут общаться друг с другом. Есть здесь олды, которые помнят Jabber и IRC? Ну вот, здесь такой же принцип. Я бы даже сказал, что Matrix - это этакий хипстерский Jabber на стероидах.

Читать далее

Деплой в Docker Swarm

Level of difficultyMedium
Reading time15 min
Views11K

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

Расскажу:

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

Читать далее

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

Level of difficultyEasy
Reading time3 min
Views171K

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

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

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

Читать далее

Создание полного Fast-API сервиса с фронтендом и деплоем за полчаса

Level of difficultyEasy
Reading time15 min
Views28K

В последнее время на Хабре я опубликовал более десяти крупных статей на тему разработки собственного API с использованием FastAPI. Однако, в основном, эти статьи были теоретическими. Сегодня я решил создать чисто практическую статью, в которой мы с нуля и максимально быстро разработаем полноценный веб-сервис с фронтендом и бэкендом.

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

Читать далее

NER для начинающих: Простое объяснение с примерами на SpaCy

Level of difficultyEasy
Reading time11 min
Views8.4K

В этой статье мы подробно рассмотрим распознавание именованных сущностей (Named Entity Recognition, NER) и его применение на практике. Простым и доступным языком объясним, как работает NER, приведем примеры кода с использованием библиотеки SpaCy и покажем, как обучать модели для распознавания именованных сущностей. Эта статья поможет вам быстро освоить основы и начать применять NER в своих проектах!

Читать далее

10 библиотек Python для машинного обучения — подборка для начинающих

Level of difficultyMedium
Reading time8 min
Views31K

Составили список самых важных библиотек Python для машинного обучения и рассказали, для каких задач они могут быть полезны начинающим ML-инженерам и специалистам по Data Science.

Собрать подборку помог Кирилл Симонов — ML-разработчик компании IRLIX с экспертизой в компьютерном зрении.

Читать далее

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

Level of difficultyMedium
Reading time10 min
Views47K

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

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

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

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

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

Читать далее

Создание собственного API на Python (FastAPI): Гайд по POST, PUT, DELETE запросам и моделям Pydantic

Level of difficultyEasy
Reading time29 min
Views39K

Друзья, приветствую вас в очередной статье, посвященной разработке API с использованием фреймворка FastAPI. В прошлой публикации мы познакомились с основами FastAPI и написали первые функции, освоив GET-запросы. Однако возможности HTTP общения клиента и сервера этим не ограничиваются. Сегодня мы изучим POST, PUT и DELETE запросы.

В прошлой статье мы рассмотрели GET запросы и научились писать свои первые функции. Сегодня же мы рассмотрим методы, позволяющие отправлять данные (POST), обновлять (PUT) и удалять данные (DELETE).

Читать далее

Гайд по работе сверточных нейронных сетей

Level of difficultyMedium
Reading time8 min
Views14K

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

Вместе с Марией Жаровой, Data Scientist в Альфа-Банк, подготовили подробный гайд о том, как устроены сверточные нейросети и что нужно знать для начала работы с ними. 

Читать далее

Он победил LLM RAG: реализуем BM25+ с самых азов

Level of difficultyEasy
Reading time18 min
Views19K

Привет, меня зовут Борис. Я автор телеграм канала Борис опять. Периодически мне на глаза попадается что-то интересное и я глубоко в этом закапываюсь. В данном случае это алгоритм поиска BM25+, который победил продвинутые методы векторного поиска на LLM.

Разберемся, что это за зверь и почему он так хорошо работает. В этой статье мы реализуем его на Python с нуля. Начнем с самого простого поиска, перейдем к TF-IDF, а затем выведем из него BM25+.

Статья подойдет тем, кто вообще ничего не знает о поиске, а более опытные ребята могут пролистать до реализации алгоритма.

Код доступен в Google Collab.

Читать далее

Анти-паттерны в Go Web Applications

Level of difficultyMedium
Reading time18 min
Views7.8K

В какой-то момент моей карьеры меня перестало радовать ПО которое я разрабатывал.

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

Читать далее

Нейронные сети для начинающих. Часть 1

Reading time7 min
Views1.6M
image

Привет всем читателям Habrahabr, в этой статье я хочу поделиться с Вами моим опытом в изучении нейронных сетей и, как следствие, их реализации, с помощью языка программирования Java, на платформе Android. Мое знакомство с нейронными сетями произошло, когда вышло приложение Prisma. Оно обрабатывает любую фотографию, с помощью нейронных сетей, и воспроизводит ее с нуля, используя выбранный стиль. Заинтересовавшись этим, я бросился искать статьи и «туториалы», в первую очередь, на Хабре. И к моему великому удивлению, я не нашел ни одну статью, которая четко и поэтапно расписывала алгоритм работы нейронных сетей. Информация была разрознена и в ней отсутствовали ключевые моменты. Также, большинство авторов бросается показывать код на том или ином языке программирования, не прибегая к детальным объяснениям.

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

Information

Rating
Does not participate
Location
Тверь, Тверская обл., Россия
Date of birth
Registered
Activity