Pull to refresh
23
0
Максим Клочков @mklochkov

ИТ-консультант, сетевик

Send message

Умный офис в «Москва-Сити» на Home Assistant: автоматизируем только нужное

Level of difficultyEasy
Reading time5 min
Views9.3K

Умными домами сегодня никого не удивишь, но как насчет офисов? Могут ли умные функции повысить комфорт и, как следствие, производительность труда в офисе?

Мы попытаемся ответить на этот вопрос, посетив умный офис в башне «Федерация» комплекса «Москва-Сити». Там весьма высоки требования к интеграторам, поэтому решение должно быть проверенным и надежным.

Кроме того, заказчик отказался от всего, с его точки зрения, лишнего: здесь нет ни голосового управления, ни многоцветной диммируемой подсветки — только те функции, которые действительно ему нужны. О них мы и расскажем.

Интересно? Ныряйте под кат.

Читать далее
Total votes 16: ↑16 and ↓0+16
Comments33

Как быстро написать API на FastAPI с валидацией и базой данных

Reading time11 min
Views19K

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

В этой статье мы разработаем простой API с помощью самого популярного стека и FastAPI. Рассмотрим важные концепции в работе с этим фреймворком, набросаем базовую структуру проекта и развернем приложение на облачном сервере. Подробности под катом!
Читать дальше →
Total votes 53: ↑48 and ↓5+43
Comments39

Переезд монолита в k8s. Делаем каршеринг cloud native

Level of difficultyMedium
Reading time7 min
Views6.1K

Делюсь опытом по становлению каршеринга на светлую сторону Силы — переезду в облако.

Мы переезжали из одного датацентра в другой, шатали прод по ночам, выкатывали новые микросервисы, переписывали старые, наш парк машин вырос в 4 раза. И всё это за экстремальные 2 года!

Читать далее
Total votes 15: ↑15 and ↓0+15
Comments18

Книга «Кодер с улицы. Правила нарушать рекомендуется»

Reading time13 min
Views9.1K
image Привет, Хаброжители!

Джунам и вчерашним выпускникам вузов катастрофически не хватает «уличного» опыта. Чтобы стать отличным разработчиком, понадобятся вполне конкретные навыки, позволяющие превратить теорию в практику, а также понимание того, в какие моменты можно нарушать казавшиеся незыблемыми правила. Эта книга — справочник по выживанию для начинающего разработчика.

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

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

Все это превратит вас в настоящего уличного бойца, готового в любой момент приступить к созданию эффективного программного обеспечения.
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments9

Самый полный стартовый гайд по ботам Telegram (python)

Reading time5 min
Views223K

QQ Хабр! В этом гайде мы пройдемся по каждому шагу создания ботов в Telegram - от регистрации бота до публикации репозитория на GitHub. Некоторым может показаться, что все разжевано и слишком много элементарной информации, но этот гайд создан для новичков, хотя будет интересен и для тех, кто уже занимался разработкой в Telegram. Сегодня мы будем делать бота, который отвечает на заданные вопросы.

Читать далее
Total votes 34: ↑21 and ↓13+8
Comments23

React+Django как написать Hello World

Reading time26 min
Views36K

Создание веб приложения на основе React и Django, с базой данных на postgress, небольшое прощупывание RabbitMQ и чуть-чуть nginx, потом объясню зачем. Ах да! Завернём все в контейнеры и заставим подниматься в три команды!

Читать далее
Total votes 17: ↑15 and ↓2+13
Comments15

Обзор книги «Data Science. Наука о данных с нуля», отличная книга для начинающих

Reading time10 min
Views16K

Всем доброго времени суток! Так как о Data Science мы слышим всё чаще и чаще, предлагаю вам обзор книги, что будет полезна для начинающих.

Публикую обзор книги с моего телеграмм-канала IT-старт t.me/it_begin на книгу "Data Science.Наука о данных для начинающих".

Автор книги Джоэл Грас.

Стоит читать? Да! Почему? Опишу в статье.

Читать далее
Total votes 10: ↑8 and ↓2+6
Comments3

Python Testing с pytest. Начало работы с pytest, Глава 1

Reading time24 min
Views197K

Вернуться Дальше


Я обнаружил, что Python Testing с pytest является чрезвычайно полезным вводным руководством к среде тестирования pytest. Это уже приносит мне дивиденды в моей компании.

Chris Shaver
VP of Product, Uprising Technology


Читать дальше →
Total votes 31: ↑22 and ↓9+13
Comments2

Памятка архитектору

Reading time8 min
Views21K

Я работаю архитектором (Solution Architect если быть точным) в аутсорсинговой компании. В ходе работы я занимаюсь такими активностями как: дизайн и внедрение архитектурных решений, аудит систем заказчика и разного рода консультации вокруг архитектуры систем.

Иногда в разговоре с коллегами я говорю «спокойно, действуем ровно по учебнику». Но тут есть большая доля лукавства, т.к. одной книги где были бы собраны базовые принципы я так с ходу назвать не могу. По большей части это сборная солянка из разных книг, личного опыта и историй, рассказанных коллегами. Что-то освещено в одной из книг Фаулера, что-то есть в курсах от AWS.

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

Что там уже в списке?
Total votes 53: ↑52 and ↓1+51
Comments23

Как я ощутимо улучшил свой английский бесплатно за 3 года

Reading time4 min
Views29K

Учить какой-либо иностранный язык в России, объективно - дело недешевое.

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

Постараюсь подсказать вам, как сэкономить и при этом улучшить свои навыки, как в письменной речи, так и устной.

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

Читать далее
Total votes 44: ↑18 and ↓26-8
Comments42

Фронтенд-разработка: ключевые технологии и понятия

Reading time14 min
Views62K

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

То же самое происходит и в интернете. Блуждая по интернету в поисках необходимого, вы натыкаетесь на самый подходящий на первый взгляд сайт и заходите на него.

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

Читать далее
Total votes 19: ↑11 and ↓8+3
Comments5

10 cтратегий поиска работы на LinkedIn

Reading time8 min
Views36K

В этой статье я хочу рассмотреть 10 стратегий поиска работы на LinkedIn которые вы сможете использовать при поиске работы. Их можно применять не только для США и Канады, они будут работать и для рынка Европы, Азии, Австралии и Новой Зеландии.

Читать далее
Total votes 11: ↑11 and ↓0+11
Comments7

Объектно-ориентированный антипаттерн

Reading time3 min
Views15K

Довольно часто у студентов, изучающих C++ в определённых учебных кругах, складывается мировоззрение о том, что всё должно быть объектами. Попросите их написать программу, которая считает некоторое значение - и они начнут с создания объекта ValueComputer и метода vc.computeResult().

Например: дана задача с помощью динамического программирования посчитать количество способов замостить костяшками домино прямоугольник w \times h. Студент пишет:

Читать далее
Total votes 34: ↑21 and ↓13+8
Comments53

Как изучить SQL за ночь или шпаргалка для системного аналитика

Level of difficultyEasy
Reading time10 min
Views137K

Помните, как вы были студентами, и готовились к экзаменам по ночам?

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

Изучите теорию на примерах и закрепите на 13 практических задачах по SQL.

Читать далее
Total votes 62: ↑57 and ↓5+52
Comments41

Реализуем алгоритм поиска в глубину

Reading time5 min
Views81K

В этом туториале описан алгоритм поиска в глубину (depth first search, DFS) с псевдокодом и примерами. Кроме того, расписаны способы реализации поиска в глубину в C, Java, Python и C++.

“Поиск в глубину” или “обход в глубину” — это рекурсивный алгоритм по поиску всех вершин графа или дерева. Обход подразумевает под собой посещение всех вершин графа.

Читать далее
Total votes 15: ↑8 and ↓7+1
Comments3

Квалифицированная электронная подпись под macOS

Reading time10 min
Views122K

FYI. Статья написана в далеком 2019 году, делайте поправку на изменения.


Каждый предприниматель и руководитель ООО пользуется электронной подписью. Помимо КЭП для ЕГАИС и облачных КЭП для сдачи отчетности, выдаваемых банками и бухгалтерскими сервисами, особый интерес представляют универсальные УКЭП на защищенных токенах. Такие сертификаты позволяют только логиниться на гос.порталы и подписывать любые документы, делая их юридически значимыми.


Благодаря сертификату КЭП на USB-токене можно удаленно заключить договор с контрагентом или дистанционным сотрудником, направить документы в суд; зарегистрировать онлайн-кассу, урегулировать задолженность по налогам и подать декларацию в личном кабинете на nalog.ru; узнать о задолженностях и предстоящих проверках на Госуслугах.


Представленный ниже мануал поможет работать с КЭП под macOS – без изучения форумов КриптоПро и установки виртуальной машины с Windows.

Читать дальше →
Total votes 26: ↑24 and ↓2+22
Comments82

Повышаем эффективность работы с Word

Reading time15 min
Views53K

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

Не рассматриваются подходы с использованием Markdown, Pandoc, Asciidoc и Confluence как более сложные и узкоспециализированные, а статью хотелось сделать доступной и понятной не только молодым людям, но и людям старших возрастов.

Читать далее
Total votes 13: ↑12 and ↓1+11
Comments24

DDIA book (книга с кабанчиком) — сделай level up в понимании баз данных

Reading time4 min
Views33K
Несколько месяцев назад на одной из ретроспектив мы решили попробовать совместное чтение.

Наш формат:

  1. Выбираем книгу.
  2. Определяем часть, которую необходимо прочитать за неделю. Выбираем небольшой объем.
  3. В пятницу обсуждаем прочитанное.
  4. Читаем в нерабочее время, обсуждаем в рабочее.
  5. После окончания книги совместно выбираем следующую.

Что дает:

  1. Мотивация на чтение и дочитывание.
  2. Развитие скиллов (в том числе на будущее).
  3. Выравнивание майндсета и терминологии в команде.
  4. Рост доверия.
  5. Лишний повод пообщаться.

Одна из недавних книг, которую мы читали — Designing Data-Intensive Applications. Да-да, та самая книга с кабанчиком. И эта книга настолько всем понравилась, что я решил сделать здесь обзор, чтобы большее количество людей ее прочитали.


Карта в исходном качестве
Читать дальше →
Total votes 22: ↑22 and ↓0+22
Comments11

Just-in-Time Kubernetes: Руководство начинающим для понимания основных концепций Kubernetes

Reading time11 min
Views27K

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

Читать далее
Total votes 12: ↑9 and ↓3+6
Comments18

Анатомия асинхронных фреймворков в С++ и других языках

Reading time20 min
Views42K
Привет! В этой статье я расскажу об устройстве асинхронных движков с корутинами и без них. Для начала сосредоточимся не на конкретном движке, а на том, почему во всех популярных языках программирования появились корутины и чем они так хороши. Это может быть интересно не только C++-разработчикам, но и всем, кто занимается разработкой сетевых приложений или интересуется архитектурой современных фреймворков.

Пройдёмся по разным архитектурам построения серверов — от самой простой синхронной к более интересным, посмотрим на типичную архитектуру корутинового движка, а после окунёмся в дебри C++ и взглянем на самое страшное на примере нашего фреймворка userver.

Пишем синхронный сервер


Представьте, что у вашего сервиса очень маленькая нагрузка — 100 rps, и вам дали задачу написать простой сервер, понятный каждому второму школьнику. У вас получится что-то наподобие следующего:

void naive_accept() {
  for (;;) {
    auto new_socket = accept(listener);

    std::thread thrd([socket = std::move(new_socket)] {
      auto data = socket.receive();
      process(data);
      socket.send(data);
    });

    thrd.detach();
  }
}
Читать дальше →
Total votes 69: ↑66 and ↓3+63
Comments32
1
23 ...

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity