Pull to refresh
3
0.5

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

Send message

Рулим светодиодом по UDP и ESP8266

Reading time8 min
Views4.4K

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

Сегодня я поделюсь опытом работы с протоколом UDP вместе с микроконтроллером ESP8266, где я управлял светодиодом, а также получал температуру с датчика DHT11. Всё управление будет происходить из Android-приложения, написание логики которого также будет рассмотрено.

Читать далее

Docs as Code для художественной литературы. Делаем творческий сайт ребенка с помощью MkDocs

Level of difficultyEasy
Reading time13 min
Views10K


Docs as Сode — подход к работе с текстами, подразумевающий написание текста как кода:


  • в простом текстовом редакторе или IDE;
  • с использованием системы контроля версий;
  • с CI / CD / Code Review.

В настоящее время Docs as Code широко применяется при работе с технической документацией, давая техническим писателям и проектным командам массу удобств и преимуществ.


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


В этой статье я расскажу о таком эксперименте (забегая вперед, удачном). Моей дочери 11 лет, она пишет сказки, стихи и рассказы. Чтобы поддержать ее увлечение, я помог ей создать литературный сайт, используя подход Docs as Code. Она успешно освоила основы Markdown и Git. Сейчас она самостоятельно публикует новые произведения и обновляет новости на своем сайте https://lib-beliakova.github.io/.

Читать дальше →

Пошаговая инструкция как использовать MkDocs для создания сайта с документацией продукта

Reading time14 min
Views33K

Всем привет! Мы продолжаем разбирать наши решения. Сегодня расскажем о том, как, используя генератор Material for MkDocs, можно создать несложный, но удобный статический сайт с документацией (и не только!).

А ещё как встроить его в CI/CD для автосборки и автопубликации (мы используем Gitlab CI, о чём подробно рассказывалось в предыдущем туториале), а также как использовать плагины к генератору чтобы, к примеру, создавался не только сайт, но и его pdf-представление.

Добро пожаловать под кат!

Читать далее

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

Level of difficultyMedium
Reading time18 min
Views3.6K

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

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

Читать далее

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

Level of difficultyEasy
Reading time4 min
Views7.9K

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

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

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

Читать далее

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

Level of difficultyMedium
Reading time5 min
Views4K

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

Читать далее

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

Reading time9 min
Views3.6K

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

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

Читать далее

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

Level of difficultyEasy
Reading time5 min
Views48K

Ты закрыл 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.6K

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

Читать далее

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

Level of difficultyEasy
Reading time15 min
Views35K

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

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

Читать далее

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

Level of difficultyMedium
Reading time9 min
Views4.8K

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

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

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

Читать далее

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

Reading time5 min
Views7.5K

Последнюю пару лет я переносил со службы домой и обратно «набор рабочих материалов» — видеофайлы и данные проектов, пользуясь внешним 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.7K

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

Читать далее

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

Level of difficultyEasy
Reading time40 min
Views32K

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

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

Читать далее

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

Reading time9 min
Views27K

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

Читать далее

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

Level of difficultyEasy
Reading time6 min
Views39K

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

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

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

Читать далее

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

Level of difficultyMedium
Reading time2 min
Views2.9K

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

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

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

Читать далее

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

Level of difficultyEasy
Reading time11 min
Views8.9K

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

Information

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