Типичный программист
81.4K subscribers
2.68K photos
894 videos
8 files
7.45K links
Всё самое интересное по программированию

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

VK: vk.com/tproger

Регистрация в перечне РКН: https://tprg.ru/mJwo
Download Telegram
Макро-польза микро-сервисов: мост от legacy-архитектур к современному IT

https://tprg.ru/nAQq

В облаках только и разговоров, что о микросервисах.

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

#архитектура
12 ошибок при построении архитектуры ПО

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

В этой статье автор рассказывает про самые частые ошибки в построении архитектуры ПО на основе реального проекта: https://tprg.ru/HK2n

#архитектура
Качественная архитектура ПО на примере концепции Linux «всё есть файл»

https://tproger.ru/translations/good-software-code-architecture/

В статье на примере Linux/FFmpeg показываем, как с помощью этого подхода организован код на C с учётом расширяемости и как FFmpeg позволяет быстро и легко добавлять поддержку новых форматов и кодеков.

#linux #архитектура
Как разрабатывается умный поиск — нюансы и сложности

Пара слов про то, как делают сервис Searchanise: в основном рассказали про особенности архитектуры, немного про тестирование, JS-виджеты и работу со Sphinx.

 Хостимся на 10 железных серверах. Используем виртуализацию KVM, создали свое маленькое облако, в котором у нас больше 50 виртуалок. На одном железе — примерно 6 серверов, каждый из которых отвечает за что-то своё: какой-то принимает запросы, какой-то только хранит статистику, отдельный сервер для админки, отдельный сервер для индексации. Больше всего поисковых серверов — 30, так как Sphinx для организации быстрого поиска требуется много памяти.

Подробнее: https://tprg.ru/8dxf

#архитектура #веб #highload
Опубликовали перевод годной статьи по микросервисам. Но не по самой технологии, а о том, как понять, что вам вообще это нужно. В посте вопросы, которые помогают разобраться: https://tprg.ru/ZKwz

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

#архитектура
​​Как генерировать Sitemap на микросервисах правильно?

Sitemap — файл формата xml, который отдаёт поисковику информацию о страницах сайта: URL-адреса, типы файлов, даты публикаций статей и так далее. Да, существуют автоматические генераторы, но они работают только со статичной и редко обновляемой информацией.

Проблема при использовании микросервисной архитектуры заключается в том, что базы данных микросервисов автономны и изолированы, в каждой из них находятся данные, которые нужно получать по отдельному запросу. Где расположить метод генерации Sitemap? Будет ли он отправлять запрос в каждый микросервис? Сколько времени занимает сбор данных? Где вообще хранить файл sitemap.xml?

Подробно разобрали в этой статье: https://tproger.ru/articles/generacija-sitemap-na-mikroservisah/

#веб #архитектура
Что такое микрофронтенды и как они могут облегчить вам разработку фронтенда

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

Круто? В теории, да. Но на практике есть несколько нюансов. Каких именно — разбираемся в статье: https://tproger.ru/articles/mikrofrontendy-zachem-nuzhny-i-kak-k-nim-prijti/

#веб #фронтенд #архитектура
Кто такой архитектор ПО и как им стать?

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

В статье Lead architect Группы «Иннотех» Александр Соляр рассказал, чем конкретно занимается ИТ-архитектор и как войти в профессию: https://tprg.ru/FSBT

#карьера #советы #архитектура
Как стать архитектором ПО в 2023 году?

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

Вместе с Владимиром Григорьевым, экспертом по архитектуре Газпромбанка, выделили области знаний, которые помогут сориентироваться в профессии:

https://tprg.ru/2gjF

#карьера #советы #архитектура
Android System Design: создаём чистую архитектуру и загружаем изображения на сервер

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

В статье рассмотрели практический пример приложения с упором на создание чистой архитектуры. Условия:
1. Пользователь может загружать более 1000 изображений.
2. Если нет подключения к сети, приложение должно загружать последнее изображение до тех пор, пока не останется изображений для загрузки — любой сбой не должен влиять на загрузку.
3. Во время загрузки пользователь может использовать другие функциональности приложения.

Реализация и подробности: https://murainoyakubu.medium.com/android-system-design-architecture-on-a-real-life-senario-d35f4e203b51

#android #советы #архитектура
Микросервисы и монолит: реальность и мифы

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

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

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

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

#монолит #микросервисы #архитектура
10 популярных ошибок в архитектуре, которые ломают проекты

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

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

#архитектура