10.9K subscribers
340 photos
17 videos
15 files
716 links
Архитектура | Программирование | Профессиональное развитие

Live канал - https://t.iss.one/soer_live

SOER CLUB - https://soer.pro или https://boosty.to/s0er

Бусты - https://t.iss.one/boost/softwareengineervlog

№ 5101661084
Download Telegram
Тех кому интересна современная архитектура, посмотрите на книгу "Practical Process Automation" Bernd Ruecker, это довольно свежее издание, поэтому отражает современный подход к оркестрации и хореографии в современных распределенных архитектурах. В книге показана связь кода и архитектуры, есть примеры на BPMN и процессный взгляд на решение.

#книга
👍65🫡20
Ответил всем по Naris. Отобрал 37 человек из 109. Если не получили от меня ответ, то проверьте спам, и если ничего нет, то напишите еще раз, так как ответил всем и тем кого взял, и тем кого не взял, но мог кого-то пропустить.
🫡11👍41🤡1
На platform.soer.pro вышло 31-е архитектурное видео - это четвертая часть из серии видео по "Чистой архитектуре". Так как это видео относится к трем предыдущим частям, которые выпустил в прошлом году, то опубликовал его в разделе "2022".
👍22🤡4
Канал по архитектуре на ютуб

https://youtube.com/@mezhdu_skobok

Решил поделиться ссылкой на канал по архитектуре. Такие каналы теряются на фоне информационного мусора, поэтому не реклама, а распространение полезного контента.
👍57🔥16🤔1
А накануне обсуждения книжки замечательная 12-летняя дискуссия о том, означают ли термины architectural pattern и architectural styles одно и тоже или речь о разных вещах: https://stackoverflow.com/questions/3958316/whats-the-difference-between-architectural-patterns-and-architectural-styles
👍9🤡1
Как выглядит архитектура 2.0?

Чем больше я обдумываю различия в архитектурных подходах к построению программного обеспечения, тем больше мне нравится разделение архитектуры на этапы развития. Например, есть хороший доклад от Олега Сметанина - https://www.youtube.com/watch?v=tF3iNp5YFYk про организацию микросервисов. Этот доклад охватывает типовые кейсы построения микросервисной архитектуры. Попытаться делать эту архитектуру как-то иначе невозможно, воткнуть туда что-то из старых подходов тоже нереально. Это самостоятельный кусок теории, именно так выглядит архитектура 2.0 в моем понимании.
#микросервисы #мысли
🔥18👍7🤡4🥰1
The entity trap

В архитектуре так называется анти-паттерн, когда архитектор уходит от бизнес-абстракций, и начинает фокусироваться на бизнес-данных. В итоге получается, что структура и сущности БД напрямую влияют на дизайн компонентов и отражают обычное CRUD взаимодействие. Если задача сводится к простому CRUD, то смысла что-то "проектировать" нет, можно взять подходящий фреймворк и работать в рамках его возможностей.

Проектировать имеет смысл тогда, когда есть бизнес-логика, абстракции уровня бизнес-логики и другие признаки "сложности" задачи.

#мысли #антипаттерн
👍44🤔15🤡9😱1🌚1
Не репрезентативная выборка, конечно, так как 173 ответа - это ни о чем. Но результат, безусловно, интересный.

Источник: https://proglib.io/p/kak-izmenilas-zhizn-russkoyazychnyh-aytishnikov-za-poslednie-polgoda-rezultaty-oprosa-biblioteki-programmista-2022-09-08
🤡18👍9💩8👎2😁2
Кстати, я до сих пор веду Now. Похоже там остались только я и tk_knopka
🤡40👍20😁3😢3👏2🤩1
Многие воспринимают мои архитектурные стримы как "курс по архитектуре", это не так, даже близко не так, совсем. Это как сравнивать книгу и методичку. В своих архитектурных стримах я собираю весь доступный мне опыт и знания по архитектуре, структурирую их по темам, с целью дать людям информацию, которая позволяет воспринимать задачи с архитектурной точки зрения. В дальнейшем на основе этих знаний можно решать практические задачи. Поэтому цель стримов - это формирование базы.

Курсы же ставят перед собой цель научить вас пользоваться каким-то конкретным инструментарием, в конкретных условиях. При этом одно другому не мешает, просто служит для разных целей.
👍49🤡18🤔2👏1😁1🥴1
Audio
Ответ на вопрос
Здравствуй, S0er. Работаю на backend node.js 2.5 года. Хочу сменить ЯП и начать работать на c++ или rust. На сколько вообще реально сменить язык(направление в разработке)? Как к этому относятся на интервью, да и вообще как HR смотрят резюме, тех кто хочет сменить ЯП(без опыта в нем, но при этом с опытом в другом ЯП и стэке) или же врать про опять тип был как второй не основной язык?
Причина по которой хочу сменить ЯП, связана с тем, что хочется задел на будущее, уйти в более сложное направление, с высоким порогом входа, чтобы быть более "нужным" в будущем, учитывая постоянно увеличивающийся приток новых людей в ИТ и всякие nocode(ChatGPT) и ИИ.
👍73🔥12🤡7🌚2
Audio
Ответ на вопрос
Доброго времени суток! Можете подсказать, в каком отношении между собой находятся качество, объём и сложность при разработке проекта в портфолио? Спасибо!
👍12🤡4😢2
Смотрю как разгоняют хайп вокруг ChatGPT, и думаю о том, что через полгода-год программисты проснуться и такие "опа, а в моей жизни ничего и не поменялось". Потому что прогнозы, разогретые на ожидании чуда, так сильно преувеличены, что реальность слегка расстроит. Надеюсь, вы не относитесь к тем, кто считает, что буквально завтра, всю вашу работу будет делать ИИ?

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

#мысли
👍102😁41🤡16🤔4💅3😱2💩2👎1
Статус коды HTTP

В группе Naris подробно обсудили как нужно использовать статус коды в HTTP запросах. Хочу поделиться одним наблюдением.

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

Получается, что раз есть бизнес-логика, то у нас может быть такая ситуация, что ошибки БЛ не дают сформировать конечный результат, который был запрошен по HTTP, и возникает вопрос: "Ошибки бизнес-логики должны оформляться с использованием http кодов?".

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

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

Приведу пример, https://yookassa.ru/developers/using-api/response-handling/http-codes - ЮКасса вовзвращает 200й код даже если произошла ошибка оплаты (статус - canceled), потому что это уровень БЛ. Но в случае "технических" проблем возвращает статусы 4хх и 500, что логично, так как ошибки не относящиеся к БЛ делают невозможным вернуть запрошенный "ресурс".

#мысли #архитектура
👍88🤡5🤔4🔥2👎1
Мне скинули одну интересную ссылку на RFC7807 где предлагается стандартизировать информацию об ошибке, возвращаемую через коды HTTP. Как вариант выглядит интересно, но на практике я бы не стал использовать для БЛ из соображений безопасности (см. п.5 документа).

#rfc
🤡16👍3😁1💩1
Первый и второй закон архитектуры звучат так:
1. Everything in software architecture is a trade-off.
2. Why is more important than how.
а третий, от меня:
3. если сильно хочется, то можно и без архитектуры
😁43👏13👍8🤡6🤯3🤩3
Похоже Дима мне так и не простил стрим с Назаровым...
😁33🤡6👍1🥰1