Pull to refresh
3
0
Send message

Load Balancer и Reverse Proxy в микросервисной архитектуре

Level of difficultyMedium
Reading time8 min
Views10K


Автор статьи: Артем Михайлов

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

Однако при работе с микросервисами возникают некоторые сложности в управлении нагрузкой на приложение. Именно здесь на помощь приходят два важных компонента — Load Balancer и Reverse Proxy.
Читать дальше →
Total votes 15: ↑8 and ↓7+2
Comments10

Инициализация в современном C++

Reading time26 min
Views156K


Общеизвестно, что семантика инициализации — одна из наиболее сложных частей C++. Существует множество видов инициализации, описываемых разным синтаксисом, и все они взаимодействуют сложным и вызывающим вопросы способом. C++11 принес концепцию «универсальной инициализации». К сожалению, она привнесла еще более сложные правила, и в свою очередь, их перекрыли в C++14, C++17 и снова поменяют в C++20.


Под катом — видео и перевод доклада Тимура Домлера (Timur Doumler) с конференции C++ Russia. Тимур вначале подводит исторические итоги эволюции инициализации в С++, дает системный обзор текущего варианта правила инициализации, типичных проблем и сюрпризов, объясняет, как использовать все эти правила эффективно, и, наконец, рассказывает о свежих предложениях в стандарт, которые могут сделать семантику инициализации C++20 немного более удобной. Далее повествование — от его лица.

Total votes 62: ↑61 and ↓1+60
Comments125

19 советов по повседневной работе с Git

Reading time14 min
Views286K


Если вы регулярно используете Git, то вам могут быть полезны практические советы из этой статьи. Если вы в этом пока новичок, то для начала вам лучше ознакомиться с Git Cheat Sheet. Скажем так, данная статья предназначена для тех, у кого есть опыт использования Git от трёх месяцев. Осторожно: траффик, большие картинки!

Содержание:
  1. Параметры для удобного просмотра лога
  2. Вывод актуальных изменений в файл
  3. Просмотр изменений в определённых строках файла
  4. Просмотр ещё не влитых в родительскую ветку изменений
  5. Извлечение файла из другой ветки
  6. Пара слов о ребейзе
  7. Сохранение структуры ветки после локального мержа
  8. Исправление последнего коммита вместо создания нового
  9. Три состояния в Git и переключение между ними
  10. Мягкая отмена коммитов
  11. Просмотр диффов для всего проекта (а не по одному файлу за раз) с помощью сторонних инструментов
  12. Игнорирование пробелов
  13. Добавление определённых изменений из файла
  14. Поиск и удаление старых веток
  15. Откладывание изменений определённых файлов
  16. Хорошие примечания к коммиту
  17. Автодополнения команд Git
  18. Создание алиасов для часто используемых команд
  19. Быстрый поиск плохого коммита

Читать дальше →
Total votes 152: ↑149 and ↓3+146
Comments62

Нахождение длительности временных интервалов в Python

Reading time6 min
Views61K
Python-программисту, при работе со значениями, представляющими дату и время, часто нужно вычислять длительность временных интервалов. Из этого материала вы узнаете о том, как находить разницу между двумя временными метками, выраженную в часах, минутах и секундах.



А именно, здесь мы коснёмся следующих вопросов:

  • Как пользоваться Python-модулем datetime для работы с датой и временем.
  • Что собой представляют объекты timedelta и что они могут дать программисту.
  • Как вычислять продолжительность временных интервалов, выражая результат в разных единицах измерения.
Читать дальше →
Total votes 27: ↑21 and ↓6+28
Comments5

Information

Rating
Does not participate
Registered
Activity