Рубрика «проектирование» - 3

Данные тезисы основаны на 14 летнем опыте и полезны инвесторам, руководителям и сотрудникам RnD отделов, и специалистам по подбору кадров (для задачи грамотных вопросов на собеседованиях).

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

  1. Финансовое расточительство
  2. Нереальный продукт
  3. Выдавать желаемое за действительное при проведении валидации и верификации продукта
  4. Несоблюдение сроков в календарном плане
  5. Смена приоритетов в процессе выполнения плана
  6. Неоптимальное проведение совещаний
  7. Работа с непроверенным субподрядчиками и поставщиками
  8. Отсутствие однозначной и неизменной нумеровки документации. Изменение нумеровки документации в процессе работы над проектом
  9. Добровольно-принудительное изменение обязанностей у сотрудников в процессе
  10. Соглашение о неразглашение заключается после увольнения сотрудников

Читать полностью »

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

Disclaimer: это мой личный топ из тех книг, которые я лично прочитал, и у которых первое издание было в прошлом веке, даже если она переиздавалась недавно (при условии актуальности именно того издания, которое было в прошлом веке).

Читать полностью »

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

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

Читать полностью »

Введение

Как это часто бывает, архитектору БД нужно разработать базу данных под конкретное решение.
Однажды в пятницу вечером, возвращаясь на электричке домой с работы, подумал, как бы я создал сервис по найму сотрудников в разные компании. Ведь ни один из существующих сервисов не позволяет быстро понять насколько подходит тебе кандидат, нельзя создать сложные фильтры именно по конкретным навыкам, проектам и позициям или исключающие определенные навыки, позиции и проекты. Максимум, что предлагают сервисы — это фильтры по компаниям и частично по навыкам.

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

В данном примере разберем создание базы данных в MS SQL Server для сервиса поиска соискателей на работу.

Также данный материал можно перенести и на другую СУБД такую как MySQL или PostgreSQL.
Читать полностью »

За годы работы архитектором я видел разных заказчиков, и одна из самых частых ошибок формулирования ТЗ и хотелок заказчика — это смешение разных уровней абстракции. Приходит человек и говорит:
— Мне нужна железка, которая будет управлять приводом дверей, и показывать на семисегментном экране текущее состояние, и обязательно с внешним сервером для удаленного управления, чтобы по TCP общалось с этим сервером, а для панели управления взять VueJS.

image

Вроде, понятно, что человек хочет. У кого-то даже такое ТЗ вызывает энтузиазм — человек, казалось бы, четко понимает, чего хочет. Зачастую он даже указывает на конкретные контроллеры/компоненты/фреймверки/протоколы.
И по такому заказу, безусловно, можно сделать нужную железку. И она даже будет работать, если подобранные компоненты не противоречат друг другу. Но если расчет идет не на проект, а на продукт, и его потом необходимо будет поддерживать, то гораздо полезнее потратить время и аккуратно разделить эти хотелки по уровням, понять, зачем именно такой экран, почему TCP, и причем тут VueJS. Вполне может оказаться, что это технологии, к которым заказчик испытывает приятные чувства из-за синдрома утенка. Или он просто не знает, что есть и другие типы экранов.
Читать полностью »

Борьба со сложностью является постоянной темой в области создания программного обеспечения, которое я встречаю снова и снова. Это нечто, что я постоянно вижу в обсуждениях на всех уровнях, ну например, как много комментариев должно сопровождать методы и функции? Каково идеальное "количество" абстракции? Когда фреймворк начинает содержать "слишком много магии"? Когда в компании используется слишком много языков программирования?

Мы пытаемся избавиться от сложности, обуздать её и ищем простоты. Я думаю, что представлять себе суть вещей таким образом это ложный путь. Сложность обязательно должна где-то обитать.

Читать полностью »

Приветствую, эта статья посвящена моделированию меандровой инвертированной-F антенны (англ. Meander inverted-F antenna, MIFA) в программе Ansys HFSS. Пошаговая инструкция проектирования антенны. Сделай свою MIFA!

Моделирование меандровой инвертированной-F антенны – это просто - 1

Читать полностью »

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

Имитация Сложности — Антиномия Простого и Сложного - 1

Читать полностью »

Всем привет, меня зовут Константин. Я занимаюсь разработкой на Java в Tinkoff.ru и люблю SOLID. В этой статье мы сформулируем принцип подстановки Лисков, покажем его связь с принципом Открытости-Закрытости, узнаем, как правильно формировать иерархию наследования и ответим на философский вопрос о том, является ли квадрат прямоугольником.

Принцип подстановки Лисков - 1

Читать полностью »

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

  • Создание динамических сцен с движущимися объектами, имитирующими, например, полёт чудовища, разрушение здания или раскачивание корабля на волнах;
  • Обеспечение быстрых переходов от одной картины к другой с массовой сменой декораций и актёров;
  • Возможность быстрого монтаж и демонтаж декораций для обеспечения показа нескольких разных спектаклей или шоу в течении одного дня;

На фотографии ниже показаны декорации к опере «Воццек» в Большом театре. Дом вывешен на цепных талях и может подниматься и прятаться над сценой. Перед домом сделана система самодвижущихся штор, позволяющая акцентировать внимание зрителя на отдельных комнатах, закрывая при этом все остальные.

Декорации к опере Воццек
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js