Как вы очень осторожно начали с малого.
Термин метафоры кажется более применимым для описания програмных примитивов используемых в прикладном коде — событие, обработчик, компонент, команда, запрос, задача, модель, контроллер, валидатор — определенных в инфрастуктурном слое. Тогда метафора может звучать так: контроллер в соответствии с роутингом запускает комманды которые после удачного выполнения валидаторов сохраняют новое состояние моделей и возвращают ответ обработанный шаблонизатором.
По файлам, хотелось бы отметить вот что: долгое время доминировал подход к структурированию который объединял примитивы одного типа в папки — шаблоны с шаблонами, контроллеры с контроллерами. Однако это не единственный подход, и в последнее время достаточно часто встречается иной подход, в котором структура папок отражает некоторый маппинг предметной области на примитивы инфраструктуры (роутинг, группы комманд или неймспейсы подсистем), но внутри папки вы можете найти примитивы всех типов, используемые в этом сегменте маппинга — таким образом на первый план выводится структура предметной области, и очевидно взаимосвязаные примитивы разных типов сидят вместе. Весьма достойная алььтернатива — вэб разработчики — вспомните как неизбежно приходится открывать роутер, контроллер и шаблон в разных поддеревьях файловой системы.
Уверен мы найдем больше интересного если перейдем к следующему шагу.
Часто инфраструктурный слой относительно стабилен (или просто вынесен за рамки обсуждения) — и мы приходим на слой реализации, где из инфраструктурных примитивов собираются решения прикладной области.
А вот тут в полный рост встает вопрос описания предметной области и именнования, я не говорю что хорошее именование инфраструктурных примитивов не важно (термин «компонент» — вообще превратился в слово-паразит) , просто инфраструктура часто стабильна и под полным контролем малой группы программистов, а вот реализация задач предметной области — динамична и под влиянием групп с другими ролями — и тут уже давайте говорить про domain mapping и ubiquitous language.
Там у человека оба тайтла, и в корпорации больше одного технологического VP
Следующий пример пожалуйста
Intel promotes Dr. Michael Mayberry to senior vice president and chief technology officer
newsroom.intel.com/...rate-officers/#gs.0ZyIgxw
Экий вы решительный — а можно пример
традиционной корпорации
в которой CTO репортит VPoE?
Я себе с трудом представляю систему не способную просчитать хэш в 2018 году, ну да ладно — допустим.
Если security through obscurity — вариант — то сделайте HASH с Checksum.
Чтобы несложными вычислениями можно было проверить составлен HASH доброжелателем или злоумышленником.
Мощности способные на вычисление хэша, но не способные на аутентификацию?
O_O
вам прийдется сменить концепцию для защиты от flood, навскидку можно интегрировать 3 механики
1) Неполное доверие (ключи/сертификаты) — соответственно «левое» устройство не получит доверия
2) Лимиты и TTL на инфу, рейтинговые механизмы
3) ProofOfWork :D
В заголовке
Новый15-летний проект без команды и документации
А судя по телу поста ваше вступление в права собственности сопровождали 5+ месяцев.
Теперь передайте воображаемому коллеге документацию (которую вы, видимо, написали) без поддержки, и подумайте какими словами он вас будет вспоминать.
По итогу вам очень-очень нежно передали некоторое legacy.
Да я не пренебрежителен, просто термин практически не встречается в разрезе информационных систем — не видно смысловых оттенков и коннотаций которые можно обсудить.
... когда-нибудь, архитектоника Wolfram Language будет «горячей» темой, но эти времена не настали)
Такие дела)
Опять же, вспоминая Брукса — акцент сделан на необходимости понимания большой картины, как минимум одним человеком. Исключительные полномочия/ответственность этого человека (комитета) — вынесены за скобки.
Так, увлечение строительной метафорой приводит к бездумному копированию политической модели строителей.
Не знаю кто кому чего должен. Но в разговоре об ответствености было бы здорово указывать — какую именно, перед кем, и когда она наступает — иначе это не ответственность, а надувание щек.
В строительстве архитекторы несут уголовную ответственность — реально люди в тюрьму садятся за косяки. В таких условиях централизация власти в руках ответственного лица имеет очевидный правовой смысл.
В софте — не обязательно — ведь очевидный карго-культ получается — полномочия узурпированы, а ответственности нет = беспричинный авторитаризм.
Сорян, але все ж до Боба Мартіна в мене більше довіри ніж до вас)
Я, собственно, не в обиде ;) - только это не я, а вы перевели беседу в плоскость веры.
Неправда, хз чого у вас склалось таке враження.
Ну, я слушаю и читаю Дядю Боба на протяжении лет. Фразу о том, что «нам бы остановиться с языками и сосредоточится на инструментах и IDE» он произносил не раз.
... більше до філософії ніж до технології
Так это — очевидно. Просто описал забавный нюанс в разнице между подходами.
Собственно, сравнив книжку Архитектора Дяди Боба и Дизайнера Фредерика Брукса — вы наверняка увидите именно то, что я описал: Архитектурщика сфокусированного на конкретных паттернах, и Дизайнера сфокусированного на «философии», как вы это называете.
Ну и Брукс тоже не примусы починял всю свою жизнь, если уж говорить об авторитетах.
Единственное замечание — не торопитесь считать «технологический» подход превосходящим «философский».
Если кто-то не считает интересной «философию» — эт не проблема)
А вот и Дядя Боб — он как раз из когорты относительно категоричных и приземленных товарищей архитекторов.
Раз в 5 лет он приносит «Еще Раз Обновленный Завет».
Светлое будущее, желательно с одним языком для всех.
Размышления вращаются вокруг компьютеров, языков программирования.
Всем SOLID.
При этом, тех, кто решит копнуть глубже, ждут сюрпризы при попытке расшифровать, например первую букву аббревиатуры — SRP
Новые идеи приветствуются, но я из тех, кто искренне надеется, что дяди Бобы не будут доминировать в дискурсе — это уже было с Мартином Фаулером, пожалуй, хватит.
Из альтернативных повествований стоит упомянуть Фредерика Брукса Младшего The Design of Design: Essays from a Computer Scientist.
Вам прийдется очень постараться чтобы найти в этой книге «самый правильный способ написания кода». Никаких пространных размышлений о языках и базах данных. Читатель ждущий предписаний, инструкций — найдет книгу пустой (каковой она не является); ищущий новой перспективы — не уйдет обделенным.
Если две стороны приблизительно понимают друг-друга, то это — праздник)
„In a marked departure from industry practice, Facebook has disclosed the designs and specs for its data centers and nearly all hardware they house. In April 2011 the social network launched the Open Compute Project, through which it is releasing the details of its energy efficient data center design, as well as its custom designs for servers, network switches, power supplies and UPS units.”
ФБ не только не взял самые дешевые серваки на рынке — он начал отдельный проект проектирования датацентров, серваков, свитчей и бесперебойников.
CTO — стратегическая должность, зона ответственности — формирование и воплощение стратегии. Если стратегии/полномочий нет — CTO — дутый. В традиционных корпорациях может входить в совет директоров — имеет голос при решении некоторых вопросов согласно устава предприятия — голос в назначении/снятии CEO, например.
VPoE — тактическая должность — зона ответственности — чтоб все работало, стратегией прямо не занят, стратегических полномочий не имеет, голос в совете директоров — скорее нет, чем да.
Интересный случай когда роли CTO нет, а VPoE — есть — значит инжиниринг (пока) вторичен для компании, и власти инженерам не дают, рулят Сейлзы/Маркетологи/Финансисты, а инжиниринг делает что скажут.
Тут — lanyrd.com/2012/monkigras/sppty CTO и VPoE из Joyent дают свое видение
Дайте врачам функционировать в рыночном формате и устанавливать цены на условиях свободного рынка — и получите такой Capital, что мама не горюй, вот только будьте готовы отдать последнюю рубашку на операционном столе :)
Я сейчас о том, что кто бы ни был кандидат — «дайте денег» — обязательный момент.
А пока не даем — наивно надеятся на перемены
Котики — а вообще — не возникает чувства стыда, когда отдаем свой голос (и власть!) за человека, которому не доверили 1000 гривен?
Не грызут сомнения от того факта, что кандидат не просит поддержать его копеечкой?
И причем тут — ИТшник, не ИТшник...
Что Москве стоит закрыть режисера/моряка/заробитчанина по беспределу?
Задержания по беспределу. Считай ничего.
Что Киеву стоит закрыть террориста, убийцу по всем процессуальным понятиям? Хорошего следствия, хорошего розыска, хорошего задержания, хорошего обвинения, хорошего судебного слушания, хорошего приговора.
Вроде немало.
Если регулярно менятся с Москвой много на мало, то сливайте воду.