Pull to refresh
0
@Sssssread⁠-⁠only

User

Send message

Ansible + Grafana Loki: Настраиваем отправку уведомлений в чат после логина на сервер по SSH

Level of difficultyMedium
Reading time19 min
Reach and readers20K

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

В этой статье мы развёрнем через Terraform несколько серверов в Yandex.Cloud, а затем при помощи Ansible настроим необходимый софт на каждом сервере. У нас будет основной сервер c Loki (система агрегирования логов) и Grafana (инструмент для визуализации данных), на серверах, которые мы хотим отслеживать, будет установлен Promtail (агент для сбора и отправки логов). Мы разберёмся с тем, как отслеживать входы на сервер, а затем в удобном формате отправлять об этом уведомления в чат с помощью вышеуказанных сервисов.

Читать далее

Агрегатор личных финансов со всех счетов

Level of difficultyMedium
Reading time6 min
Reach and readers20K

Всем привет!

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

Читать далее

Ory Kratos — коробочный SSO

Level of difficultyMedium
Reading time9 min
Reach and readers18K

Ory Kratos - современный cloud native сервер идентификации с поддержкой PassKeys, MFA, FIDO2, TOTP, WebAuthn, с возможностью управления профилями, схемами пользователей, входом через внешние сервисы, регистрацией, восстановлением аккаунта, с поддержкой passwordless входа. Написан на Go, headless, API-first.

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

Читать далее

Торговые роботы на Golang

Level of difficultyEasy
Reading time9 min
Reach and readers17K

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

Я Александр Парфенов, бэкенд-разработчик в Тинькофф Инвестициях и автор InvestAPI SDK для языка Go. Расскажу о том, как автоматизировать торговые стратегии при помощи Tinkoff INVEST API и языка Go.

Читать далее

Telegram-бот для диагностики дисков в серверах. Как я собрал инфраструктуру и что использовал для разработки

Reading time15 min
Reach and readers6K
image

Привет, Хабр! Меня зовут Дмитрий, я старший системный инженер в Selectel, работаю с серверами и клиентским оборудованием.

Ранее я написал статью о том, как появилась идея создать бота на базе API Telegram, который анализирует показатель S.M.A.R.T дисков. Теперь более детально расскажу о его разработке и о том, как было развернуто приложение.

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

Как системный инженер я изучаю новые вещи «методом тыка». Поэтому все представленные сборки приложения и способы его развертывания основаны на личном опыте и умении искать информацию в сети, а также применении «метода тыка» для получения конечного результата.
Читать дальше →

Linux для игр, Windows для работы. С чего начать, как установить и настроить

Level of difficultyEasy
Reading time12 min
Reach and readers148K

Пора попробовать новый взгляд, когда Windows для работы, а Linux для отдыха. Ведь Linux очень удобен как раз для игр или экспериментов с софтом, чтобы ничего не отвлекало, не было соблазна ещё немного поработать, что возможно только в Windows.

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

Читать далее

MusicGen — генерируем музыку на своём ПК. Новая локальная нейросеть — знакомство и установка

Level of difficultyEasy
Reading time4 min
Reach and readers48K

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

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

* организация запрещена в РФ

Читать далее

Как делать бэкапы без проводов: restic + MinIO (S3)

Level of difficultyEasy
Reading time5 min
Reach and readers17K

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

Читать далее

Obsidian — Мой сетап

Level of difficultyMedium
Reading time13 min
Reach and readers113K

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

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

Поэтому вот сразу ссылка на мой сетап хранилища Обсидиана на гитхабе (о котором и пойдёт речь в данной статье), можно сразу его качать и тыкаться самому и если что-то не понятно подглядывать в статью. (Надо распаковать zip-файл в папку, а потом открыть открыть обсидиан и при выборе хранилища выбрать эту папку, куда распаковали zip-файл. Если у вас одно хранилище, то тогда жмём в левом нижнем углу кнопку сейфа)

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

В этом хранилище используются 10 плагинов, основные:

- Calendar - для календаря справа.

- Dataview - для статистики и для проектов.

- Tasks - для задач.

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

К такой настройке я шёл целый год используя обсидиан, постоянно дорабатывал её и искал "совершенство", в ней собраны разные подходы из разных статьей и книг (GTD, 7 навыков, Джедайские техники, Атомные привычки), данные подходы большинству могут быть знакомы. Но есть метод, до которого я дошёл сам и до этого я нигде его не встречал (возможно просто не попадался) - это метод одной задачи.

Disclaimer1: Мой сетап не претендует на "идеальность", в нём найдутся минусы и неудобности. Я выношу его на общее обсуждение в том числе для того, чтобы кто-то мог предложить ту или иную доработку тут в комментариях, а так же для того, чтобы новички могли сходу вкатиться в этот чудесный обсидиановый мир.
Disclaimer2: Обычно обсидиан ассоциируют с Zettelkasten, графами и прочими атомарными заметками. Я в своём подходе этого не использую, возможно еще не дорос, возможно мой подход немного про другое. В этой статье я пишу не про это.

Погнали вкатываться в обсидиановый мир

Как сделать торгового робота для Binance

Level of difficultyEasy
Reading time12 min
Reach and readers49K

Программирование для меня это хобби и любимое дело. А так я сертифицированный системный архитектор. Поэтому прошу не особо ругать за код :-)

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

Обычно я писал торговых роботов для работы с Брокерами и делал авто-торговлю Акциями или Фьючерсами, но вдруг возникла мысль:

- А что, если уже готовый код можно применять и на других активах??? Например на крипто активах для Биткоина или Эфира или других?

Уже изучив много библиотек и примеров за долгое время написания своих торговых роботов, решил сделать небольшую библиотеку backtrader_binance для интеграции API Binance и библиотеки тестирования торговых стратегий Backtrader.

Вот с помощью backtrader_binance, сейчас и создадим алго-робота для торговли BTC и ETH.

Читать далее

Пишем торгового бота для акций

Level of difficultyEasy
Reading time19 min
Reach and readers62K

Хочу показать вам, как легко создавать своих торговых роботов для фондового рынка. Вы сможете протестировать ваши торговые стратегии на истории цен акций/фьючерсов, вам нужно только написать алгоритм принятия решений вашей стратегии на покупку или продажу актива — т.к. весь основной каркас робота уже написан. А добавив всего 4 строчки кода, ваша протестированная стратегия на истории сможет работать в live на реальном рынке, выставляя заявки на покупку и продажу в рынок.

Читать далее

3500 в час с ChatGPT

Reading time9 min
Reach and readers54K

Привет, Хабр! Меня зовут Саша, и я тот самый студент, который написал диплом с помощью ChatGPT за сутки. Всю историю можно почитать на Хабре тут, тут, где всерьез обсуждалась идея лишить меня диплома, и тут, где недоуменно размышляли, что со мной делать. Пока “Антиплагиат” трудится над совершенствованием системы (читать тут), я решил провести вас по пути джедая, использующего силу ChatGPT. 

Читать далее

MacOS Monterey на Linux — быстро и просто?

Level of difficultyEasy
Reading time3 min
Reach and readers66K
Что делать, если у вас возникло желание или необходимость заняться разработкой под MacOS или iOS, но под рукой нет макбука, а покупать его только чтобы открыть Xcode кажется делом сомнительным? Недавно я столкнулся с такой проблемой в одном из своих пет-проектов и решил ее достаточно просто и быстро. После выполнения нескольких достаточно примитивных шагов, мне удалось запустить MacOS Monterey как на скриншоте ниже.

image

Никакого Virtualbox, никакого Virtual Machine Manager. Из требований — только 100 Гб свободного места на диске и хотя бы 16 Гб оперативной памяти. В рунете я встречал описание похожих путей установки, вроде Docker-OSX или Sosumi. Но я бы хотел поделиться способом, который позволяет использовать актуальную версию MacOS (Sosumi — сразу минус) и не потратить уйму свободного времени на возню с конфигами и терминалом. Поехали.
Читать дальше →

Использование компьютерного зрения для игры в покер

Level of difficultyMedium
Reading time5 min
Reach and readers19K

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

Под кат!

Интегрируем Яндекс Музыку в Visual Studio Code

Reading time15 min
Reach and readers34K

Представьте, что вы можете слушать свои любимые песни на Яндекс.Музыке, прямо из своего любимого редактора кода, не переключаясь между приложениями. Это уже не мечта, а реальность! В этой статье мы рассмотрим, как интегрировать Яндекс.Музыку в Visual Studio Code и наслаждаться любимой музыкой прямо во время работы.

Читать далее

Где решать задачи по программированию, чтобы пройти путь from zero to hero

Level of difficultyEasy
Reading time4 min
Reach and readers194K

Если вам о чём-то говорят фамилии Зив, Хомченко и Рымкевич, иди сюда, дай обниму, бедолага-олимпиадник, то вы наверняка знаете, как важно прорешивать задачи для полноценного, осознанного и глубокого понимания изученного материала. Когда нет или совсем мало реальной практики, задачи дают возможность покрыть практикой все теоретические знания, погрузиться в неожиданные выводы, сложности, баги, препятствия. Более того, даже если практики достаточно, задачи помогают относительно быстро, комплексно и глубоко проработать типичные и нетипичные ситуации, возникающие в разработке (любой другой науке). Это всегда безопасный (никто не взрывает лабораторию и не роняет прод), доступный и удобный способ подробно разобраться в предмете. Определённо, программирования это касается в первую очередь.

Читать далее

Апгрейд и рефакторинг PHP-проектов — теперь это просто с Rector

Level of difficultyMedium
Reading time14 min
Reach and readers38K

Привет! В статье поделюсь, как инструмент автоматического рефакторинга Rector помогает обуздать легаси и автоматизировать обновление PHP проектов и пакетов, чтобы процесс проходил эффективнее и малой кровью. 

Статья написана на основе доклада с PHP Russia 2022.

Читать далее

Как документировать сервер и контролировать его управление, даже если у вас небольшой стартап

Reading time12 min
Reach and readers13K

Привет, Хабр! Меня зовут Даниил Воложинок, я инженер в группе виртуализации. Представьте себе ситуацию. У вас есть сервер с комплексом приложений и настроек, который несколько лет обслуживает админ — ”золотые руки”. Однажды “золотой” админ увольняется или уходит на длительный больничный. На его смену приходит новый и выясняет, что разобраться в наследстве невозможно: большинство сведений его предшественник держал в голове. 

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

В статье поделюсь наработанным списком для документирования сервера, который мы собрали внутри компании и теперь высылаем в качестве рекомендации и крупным клиентам DataLine, и небольшим клиентам Cloudlite. Ресурсы Cloudlite нередко используются для стартапов и pet-проектов. А когда стартап вдруг резко взлетает, становится некогда думать о документировании. Так что привычка сразу все фиксировать помогает нашим клиентам не запутаться. 

Читать далее

Запуск Stable Diffusion локально и в облаке с помощью Diffusers и dstack

Reading time5 min
Reach and readers22K

Вероятно, все уже слышали о Stable Diffusion - модели, способной создавать фотореалистичные изображения на основе текста. Благодаря библиотеке diffusers от HuggingFace, использование этой модели очень просто.

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

В этой статье, я на простом примере расскажу о том, как решать эту проблему с помощью diffusers и dstack.

Читать далее

Простые инкрементальные бэкапы в Linux с помощью TAR и GPG

Reading time3 min
Reach and readers18K

Мой скрипт, с помощью которого я делаю бэкапы в Linux

Обожаю UNIX-way, тут бэкапы можно делать значительно более гибкими.

Для бэкапа home директории я использую обычный tar с инкрементацией и шифрую его своим gpg ключом.

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

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

Information

Rating
Does not participate
Registered
Activity