Pull to refresh
3
0.5

WEB-программист, сетевой администратор

Send message

Внедрение зависимостей в PHP: от основ до фреймворков

Level of difficultyMedium
Reading time18 min
Views1.8K

Внедрение зависимостей (DI), контейнер внедрения зависимостей (DI-контейнер) и автоматическое разрешение зависимостей (autowiring) в PHP: шаг за шагом.

Цель статьи — дать начинающим PHP-разработчикам практическое понимание того, как работает внедрение зависимостей (DI) и контейнер внедрения зависимостей (DI-контейнер), а также показать, как эти принципы применяются в современных фреймворках.

Читать далее

Как настроить синхронизацию в Obsidian с помощью S3

Level of difficultyEasy
Reading time4 min
Views1.6K

Привет, Хабр!

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

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

Читать далее

Как мы подняли современный портал документации из россыпи .md файлов: пошаговое руководство по MkDocs + Material

Level of difficultyMedium
Reading time5 min
Views2.8K

От хаоса в Markdown-файлах до стильного, быстрого сайта с поиском, темами и мультиязычностью за один вечер.
В жизни почти каждого IT-проекта наступает момент, когда количество файлов README.md, GUIDE.md, docs.txt и заметок в Confluence достигает критической массы. Документация становится фрагментированной, поиск нужной информации превращается в квест, а новые члены команды тратят часы на то, чтобы просто понять, "что где лежит".

Читать далее

Бот для написания постов в Телеграм. Создание и запуск

Reading time9 min
Views3.2K

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

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

Читать далее

Пока ты делаешь 10 задач в день, кто-то делает одну — и получает больше

Level of difficultyEasy
Reading time5 min
Views37K

Ты закрыл 10 задач за день. Был на созвонах, фикcил баги, даже написал пару тестов. День не прошёл зря?

В это же время кто-то сделал одну задачу — и сэкономил твоей команде два месяца работы.

Читать далее

Практическая инструкция для чайника по использованию нейросетей в разработке

Level of difficultyEasy
Reading time5 min
Views25K

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

В статье рассматривается инструкция для установки LLM локально на ПК юзверя для обхода проблем работы с удаленными серверами. Также статья поможет в совсем базовом понимании работы с LLM.

Здесь будет рассматриваться IDE VSCode, однако всё нижеописанное актуально и для JB Webstorm или Pycharm (и др).

Читать далее

Открытые книги и руководства по DevOps

Level of difficultyEasy
Reading time4 min
Views9.5K

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

Читать далее

Изучаем Kafka — Уровень 1

Level of difficultyEasy
Reading time15 min
Views34K

Данная статья открывает серию из трёх материалов, каждый из которых представляет отдельный уровень изучения Kafka.

Если у тебя уже есть практический опыт работы с Kafka — первый уровень, скорее всего, не для тебя. Он предназначен для новичков, которые хотят понять, зачем вообще нужен Kafka и где он используется. На втором уровне ты углубишься в технологию — и этого уже будет достаточно, чтобы уверенно использовать Kafka в профессиональной работе. Третий уровень — это джедайский уровень. Не обязателен, но если ты его освоишь — будет круто. Серьёзно.

Читать далее

Введение в OAuth и OpenID Connect

Level of difficultyMedium
Reading time9 min
Views4.7K

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

Аутентификация — предоставление доказательств, что вы на самом деле есть тот, кем идентифицировались (от слова “authentic” - истинный, подлинный). В качестве доказательства может использоваться паспорт, для подтверждения личности в банке, либо ввод пароля на сайте.

Авторизация — проверка, что вам разрешен доступ к запрашиваемому ресурсу.

Читать далее

Рассказ о том, как rclone в 4 раза быстрее rsync синхронизирует файлы по сети

Reading time5 min
Views7.4K

Последнюю пару лет я переносил со службы домой и обратно «набор рабочих материалов» — видеофайлы и данные проектов, пользуясь внешним SSD-диском стандарта NVMe с интерфейсом Thunderbolt.

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

Мой Thunderbolt-диск способен передавать данные со скоростью, значительно превышающей 5 Гб/с, а 10-гигабитное сетевое соединение, имеющееся в моём распоряжении, может выдать 1 Гб в секунду. Недавно я даже обновил диск до Thunderbolt 5, хотя его и нельзя назвать узким местом моей системы.

Я использовал команду rsync следующего вида для копирования файлов с общего сетевого ресурса, смонтированного на моём Mac, на диск, которому я дал имя Shuttle:

Читать далее

Postman + Newman: быстрый старт API-автотестов на практике

Level of difficultyMedium
Reading time8 min
Views4.5K

Автоматизация тестирования API — задача, с которой сталкиваются даже опытные инженеры, но многие всё ещё предпочитают полагаться на ручные запросы в Postman, а затем переносят их в код — и так годами. Но можно ли избежать этого лишнего шага? В этой статье мы покажем, как настроить эффективную автоматизацию тестов API с Postman и Newman, интегрируя их в процессы CI/CD, чтобы избежать ошибок и повысить производительность.

Читать далее

Самый полный Роадмеп бэкенд-разработчика на Python с нуля 2025

Level of difficultyEasy
Reading time40 min
Views31K

Этот роадмэп мы начали собирать ещё в прошлом году вместе с нашей командой мидл-бэкендеров. Хотелось системно оформить весь стек технологий, с которым реально работает современный backend-разработчик на Python — от базовых тем вроде HTTP и SQL до CI/CD, микросервисной архитектуры, Kubernetes, облаков, безопасности и брокеров сообщений.

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

Читать далее

Как успевать больше, уставая меньше: тайм-менеджмент 2.0

Reading time9 min
Views26K

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

Читать далее

Эти 7 книг сдвинули мои проекты с мертвой точки

Level of difficultyEasy
Reading time6 min
Views31K

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

Что это значит? Это значит, что у меня есть прогнозируемый план развития проектов.

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

Читать далее

Обновление MikroTik по SSH: Python-скрипт с автоматическим RouterBOARD upgrade

Level of difficultyMedium
Reading time2 min
Views2.7K

Обновление MikroTik — та ещё боль. То не влезешь по SSH, то забыл сделать routerboard upgrade, то устройство «уходит в себя» и не возвращается. Особенно, когда устройств не одно, а десятки. Вручную это превращается в спорт на выносливость и крепкие нервы.

Я решил, что хватит. Написал скрипт на Python, который делает всю грязную работу за меня: подключается, проверяет обновления, ставит новые пакеты, делает routerboard upgrade и даже ждёт, пока устройство снова появится в сети. Главное — всё логируется и работает аккуратно, как системный администратор в хорошем настроении.

В этой статье:

Читать далее

Регулярные выражения простыми словами. Часть 3

Level of difficultyEasy
Reading time11 min
Views8.3K

Разработчики делятся на три типа: тех, кто уже понимает регулярные выражения и порой решает сложные задачи одной строкой; тех, кто все еще боится их и всячески избегает; и тех, кто уже прочитал первую и вторую части этой серии статей и полон оптимизма разобраться с этими магическими письменами. Эта статья специально для третьих, чтобы обратно их напугать, ведь в этой части мы рассмотрим одну из самых сложных, но в буквальном смысле захватывающих тем.
Читать дальше →

Как не облажаться с типами данных в PostgreSQL

Level of difficultyMedium
Reading time19 min
Views9K

Недавно вышла отличная книга PostgreSQL Mistakes and How to Avoid Them от Jimmy Angelakos — системного архитектора, практика и давнего участника сообщества PostgreSQL. Книга подробно разбирает распространённые ошибки, с которыми сталкиваются разработчики и администраторы при работе с PostgreSQL, и предлагает практичные решения: от тонкостей конфигурации и миграции до антипаттернов в SQL и выбора типов данных.

Я перевёл одну из ключевых глав этой книги — про неправильное использование типов данных. В ней подробно объясняется, почему, например:

timestamp without time zone может ломать логику расчёта интервалов;

money — это не то, чем кажется (и почему он опасен);

char(n) и varchar(n) не дают ожидаемой экономии и даже вредны;

serial — это прошлый век, а identity — настоящее.

Глава будет полезна всем, кто работает с PostgreSQL в проде — особенно backend-разработчикам, независимо от языка и фреймворка. Если вы проектируете схемы БД, пишете SQL-запросы или просто хотите избежать неприятных грабель — стоит прочитать.

Читать далее

NoDPI4Android. Решаем проблему «деградации» YouTube теперь и на Android

Level of difficultyEasy
Reading time5 min
Views46K

Салют, Хабр! На связи снова я, Aragorn, со своим проектом по терроризированию Роскомпозора. В прошлый раз я рассказывал о NoDPI - утилите для "раздеградирования" YouTube и установил личный рекорд - 400 звезд на GitHub и блокировка статьи РКН через три дня после публикации.

Многие мои знакомые и люди в комментариях просили сделать версию под Android и Android TV. Я не очень дружу с Джавой и с Джавой под андроид в особенности, и поэтому такая перспектива меня не очень прельщала, но у меня был опыт написания android-приложений на python и kivy, который я и решил применить. После нескольких дней (и ночей) напряженного труда и танцев с бубном, мне наконец удалось создать NoDPI for Android, который практически не имеет аналогов. Именно о нем я и хочу сегодня рассказать. Надеюсь, статья будет вам полезна и интересна. Поехали!

Читать далее

Это был идеальный кандидат, и он получил отказ. Вы не поверите почему

Level of difficultyEasy
Reading time8 min
Views127K

Кажется, что главное в поиске работы — хорошее резюме и успешное собеседование. Оказывается, это не так. 19% работодателей учитывают знак зодиака кандидата при найме. А 79% изучают соцсети кандидата и могут отказать из-за неудачного поста.

Звучит абсурдно? Разберёмся, что происходит с рынком труда, и почему даже идеальные кандидаты получают отказы.

Читать далее

Я разобрался с ELK в .NET, чтобы вам не пришлось

Level of difficultyEasy
Reading time6 min
Views5.3K

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

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

Information

Rating
3,340-th
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity