Обновить
1
@LuminiteTimeread⁠-⁠only

Пользователь

Отправить сообщение

Прагматичный OpenClaw: реальная польза без хайпа

Время на прочтение16 мин
Охват и читатели12K

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

Сразу обозначу: не будет «это меняет мир», «я уволил всех сотрудников», «агенты работают вместо меня». Будет сухо, по делу: скучная, но реальная польза без хайпа. У данной статьи есть также видео-версия: VKVideo / YouTube.

Читать далее

Как реализовать WebSocket на Android и не сойти с ума

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели6.5K

Как часто вы слышите что-то о протоколе WebSocket? А как часто видели его в проектах? Продакшн? Андроид? Что? Его кто-то использует?

А теперь представьте, что перед вами стоит задача внедрить WS в крупный продакшн проект с нуля. С чего начать? Как подступиться?

Читать далее

#[inline] в Rust — это не про инлайнинг. И вот почему вы расставляете его не там

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели9.3K

Вы открываете горячую функцию в профилировщике, видите миллионы вызовов, добавляете #[inline(always)]. Бинарник распухает, время сборки подскакивает, а производительность не меняется. Или ваще падает. Проблема не в атрибуте. Проблема в том, что #[inline] делает совсем не то, что подсказывает интуиция.

Читать далее

Интеграция «Честного знака» или законы Мерфи в разработке

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели6.7K

«Первый этап любого проекта — неправильно оценить сроки и бюджет проекта.»

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

Читать далее

Как мы построили витрины данных из разрозненных микросервисов

Время на прочтение5 мин
Охват и читатели4.3K

Раньше наш способ собрать данные из всех микросервисов в одно место (в витрину) напоминал копролит (только не древний, а наш собственный ИТ-артефакт). Он был сложный, медленный, постоянно ломался и требовал много ручной работы. Данные размазывались по куче баз данных. Чтобы сделать отчёт или отправить данные во внешнюю систему, надо было собирать их вместе. 

Высока вероятность, что у вас такой же или похожий. Если нет — приходите рассказать «а я же говорил» в комментариях.

Мы тратили время на латание дыр, а не на разработку. В какой-то момент решили, что пора выкинуть этот велосипед и внедрить нормальный, промышленный подход к работе с данными — Data Lakehouse с медальонной архитектурой.

Читать далее

Рабочий день без перегруза: как распределять когнитивную нагрузку, а не задачи

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели9.6K

Я долго пытался победить рабочий день классическими способами: списки дел, тайм-блоки, методики планирования, новые приложения. Это работало ровно до тех пор, пока не начинался плотный период: созвоны, параллельные проекты, срочные правки, десятки поточных задач.

И вот что я понял на собственной шкуре: перегруз чаще возникает не потому, что задач много, а потому что нагрузка на мозг распределена неправильно. Можно сделать десять дел и чувствовать себя нормально. А можно сделать три и выгореть к обеду.

Читать далее

Гайд по быстрому мониторингу Linux-хостов в Grafana без Zabbix

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели8.1K

Всем привет! Меня зовут Анатолий Зотов, я системный архитектор SOC в RED Security. Как центр мониторинга и реагирования на кибератаки, мы должны быстро и внятно видеть, что происходит с железом и ОС на хостах: не кончается ли место на диске, не улетела ли память и не уперся ли CPU в потолок. Как это реализовать, да еще и безопасно?

Когда мы только приступали к задаче, первой мыслью, конечно, был Zabbix, как и у половины планеты. Но у нас никто не горел желанием поднимать еще одну систему, раскатывать агенты, подбирать шаблоны и разбираться с нюансами. Времени, как обычно, не завезли. А вот Grafana у нас уже была, поэтому я подумал — а что, если просто использовать то, что уже есть? Так я и наткнулся на связку «node_exporter → Prometheus → Grafana».

Эта статья для тех, кто хочет быстро начать мониторить хосты и не готов тратить вечность на внедрение тяжелой системы, особенно если Grafana уже живет в вашей инфраструктуре. Если Grafana и Prometheus у вас еще нет, то дополнительно расскажу быстрый старт через Docker Compose.

Читать далее

Безвозвратное удаление — самая сложная операция в ЦОД

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели17K

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

Читать далее

Мифы про REST API. Часть 2

Время на прочтение11 мин
Охват и читатели6.5K

Привет всем, на связи снова Дарья Борисова, системный аналитик из ПСБ. Продолжаю развеивать мифы о REST API.  В первой статье цикла мы разобрали фундаментальные заблуждения о природе REST. Сегодня переходим к более прикладным, но не менее спорным вопросам — к мифам о реализации. Мы разберем тонкости работы с методами, поговорим о настоящем смысле «stateless» и выясним, правда ли, что новые технологии отправляют REST на покой. Погружаемся глубже.

Читать далее

Лучшие виртуальные карты для оплаты зарубежных сервисов и расчётов за границей

Время на прочтение9 мин
Охват и читатели49K

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

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

Пополнение «виртуалки» возможно в любой фиатной валюте, с карт РФ по СБП, в крипте. Сама карта принимается во всех странах мира.

Читать далее

Виды моделирования данных. Полный гайд

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели8.8K

Спроси любого уважаемого аналитика или инженера данных о том, какие бывают способы моделирования данных, тебе ответят: звезда, 3NF и DataVault. Спроси ИИ, получишь примерно такой же ответ. Придешь на какой-нибудь проект в компанию, также скорее всего встретишь там кого-нибудь из этих друзей. В 90% материалах про методологии моделирования освещаются только эти трое. Как будто других методологий не существует.

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

Читать далее

Гит в Телеграм?

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели6.7K

На своем тг-канале я предлагаю подписчикам выбор, какую бредовую идею запилить следующей. На этот раз подписчики выбрали новый челлендж: сделать Git в Telegram. Чтобы можно было через бота инитить проекты, пушить файлы, коммитить — и всё это в публичном канале с тредами.

С практической точки зрения этот проект нахуй не нужен. Есть гитхаб, есть гитлаб, есть куча нормальных инструментов. Но как эксперимент — почему бы и нет? Чисто посмотреть, можно ли заставить Telegram работать как VCS.

Я тогда подумал: «Ну, бот на aiogram, база данных, пара команд — делов то))»

Словари, датаклассы и прочая е*атория

Когда я только начинал, первая мысль была: «Положу всё в JSON, на кой мне база данных?» Ну серьёзно, проектов мало, пользователей немного, файлы текстовые че заморачитватся.

Подергал JSON туда-сюда пару дней и понял: не варик.

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

Короче, JSON — для конфигов, а не для данных, которые меняются каждую секунду.

Выбор пал на SQLite.

Почему:

Читать далее

OpenClaw управляет своим Telegram аккаунтом (не просто бот)

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели9.7K

В OpenClaw заложен функционал для подключения к Telegram-боту.

Но что, если мы хотим привязать обычный Telegram-аккаунт и сделать лобстера человеком?

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

Читать далее

Введение в модели согласованности

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели8.1K

Почему одни системы всегда показывают актуальные данные, а другие — иногда отдают устаревшее, но зато хорошо масштабируются и показывают хорошие показатели по производительности?

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

Читать далее

conditionals-spring-boot: расширяем возможности @Conditional

Время на прочтение3 мин
Охват и читатели8.6K

Написал небольшую библиотеку для Spring Boot, которая добавляет типизированные @Conditional-аннотации для работы с конфигурацией через Environment...

Читать далее

SQL для QA: 10 задач, которые реально дают на собеседованиях

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели8.5K

Привет, Хабр! Это четвёртая статья из серии про QA собеседования. Уже разобрали тест-дизайнAPI и Security и System Design. Теперь — SQL. На собеседованиях SQL задают чаще, чем многие ожидают. Не уровня DBA, но и не SELECT * FROM users. Обычно дают таблицу и просят написать запрос прямо на доске или в Google Docs. Если впадаете в ступор при слове JOIN — эта статья для вас.

Читать далее

Зачем командам разработки и QA концепция DoR и DoD, и как не превратить ее в бюрократию

Время на прочтение8 мин
Охват и читатели6.2K

На связи Анастасия Шильникова, менеджер по тестированию компании «Гарда».

Мы регулярно сталкиваемся с ситуациями, когда в Jira к задаче вроде есть какое-то описание, стоит статус «готово», но, чтобы понять, в чем была проблема, что было исправлено, как было проверено, приходится «нырять» в мессенджер или звонить коллегам. Все это съедает время, размывает ответственность между командами и мешает выпускать продукт быстро, качественно, в срок.

Чтобы решить проблему, мы решили внедрить в жизненный цикл разработки концепцию DoR (Definition of Ready) и DoD (Definition of Done). В этой статье я расскажу: чем DoR и DoD отличаются от критериев приемки и почему их важно не путать, как не превратить полезный инструмент в бюрократическую обязаловку, какие узкие места могут возникнуть при внедрении концепции.

Читать далее

Когда выгорает руководитель разработки: 4 управленческих анти-паттерна и быстрый ремонт системы

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели9.9K

Когда выгорает разработчик — это баги в коде и сорванные дедлайны. Когда выгорает тот, кто создал эту команду — это тихая катастрофа, о которой не принято писать в соцсетях. Мы привыкли «держать лицо», быть для всех наставниками и громоотводами, забывая, что под этой броней — живой человек, который тоже может сломаться.

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

Читать далее

Скрипт для резервного копирования сообщений из Telegram

Уровень сложностиПростой
Время на прочтение1 мин
Охват и читатели8.3K

Ввиду серьёзных ограничений, которые могут быть введены для Telegram, а также возможной блокировки сервиса, я решил сделать простой скрипт для сохранения информации из диалогов. В первую очередь — из Saved Messages (Избранное).

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

Читать далее

Пишем быстрые API-автотесты без флаков, стендов и боли: изоляционный подход в CI/CD

Уровень сложностиСредний
Время на прочтение23 мин
Охват и читатели9.9K

Большинство API-тестов бесполезны: они флакают и тормозят CI. Показываю альтернативу — изоляционные тесты без стендов и боли.

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

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность

Специализация

Десктоп разработчик, Бэкенд разработчик
От 80 000 ₽
Git
Python
ООП
Английский язык
Java
Spring Boot
Junit
Intellij IDEA
Объектно-ориентированное проектирование
Разработка программного обеспечения