Pull to refresh
1
@LuminiteTimeread⁠-⁠only

User

Send message

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

Reading time16 min
Reach and readers13K

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

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

Читать далее

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

Level of difficultyMedium
Reading time14 min
Reach and readers6.5K

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

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

Читать далее

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

Level of difficultyEasy
Reading time8 min
Reach and readers9.4K

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

Читать далее

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

Level of difficultyEasy
Reading time9 min
Reach and readers6.8K

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

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

Читать далее

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

Reading time5 min
Reach and readers4.3K

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

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

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

Читать далее

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

Level of difficultyEasy
Reading time3 min
Reach and readers9.6K

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

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

Читать далее

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

Level of difficultyEasy
Reading time13 min
Reach and readers8.1K

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

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

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

Читать далее

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

Level of difficultyEasy
Reading time12 min
Reach and readers17K

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

Читать далее

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

Reading time11 min
Reach and readers6.6K

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

Читать далее

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

Reading time9 min
Reach and readers50K

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

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

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

Читать далее

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

Level of difficultyEasy
Reading time12 min
Reach and readers8.9K

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

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

Читать далее

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

Level of difficultyEasy
Reading time7 min
Reach and readers6.7K

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

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

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

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

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

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

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

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

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

Почему:

Читать далее

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

Level of difficultyEasy
Reading time3 min
Reach and readers9.7K

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

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

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

Читать далее

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

Level of difficultyEasy
Reading time15 min
Reach and readers8.1K

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

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

Читать далее

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

Level of difficultyEasy
Reading time6 min
Reach and readers8.5K

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

Читать далее

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

Reading time8 min
Reach and readers6.2K

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

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

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

Читать далее

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

Level of difficultyEasy
Reading time4 min
Reach and readers10K

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

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

Читать далее

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

Level of difficultyEasy
Reading time1 min
Reach and readers8.3K

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

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

Читать далее

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

Level of difficultyMedium
Reading time23 min
Reach and readers9.9K

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

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

Information

Rating
Does not participate
Registered
Activity

Specialization

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