All streams
Search
Write a publication
Pull to refresh
79
0.6
Михаил Емельянов @sepulkary

Бэкенд программист

Send message

Против смазываний можно попробовать высокопольные 3 Тл МРТ. В моём городе есть один такой, в рекламе утверждается, что "вы можете продолжать дышать во время сканирования брюшной полости" :)

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

Прямо Кримпай Можайский из "Лампы Мафусаила" Пелевина.

Вы напрасно так упираете на это "снизу"; центр тяжести всей конструкции всё равно не должен выходить за боковую грань нижнего кирпича.

Без структур данных действительно мало что получится. Цитируя Торвальдса, "Плохие программисты беспокоятся о коде. Хорошие программисты беспокоятся о структурах данных и их взаимосвязях".

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

Если я правильно понимаю чистую архитектуру:

  • бизнес-логика - это то, чем люди будут заниматься даже при отсутствии какой-либо вычислительной техники вообще; скажем, банкиры будут считать сложный процент, а астрофизики - параметры звёзд, даже если у них останется только бумажка с ручкой; соответственно, при создании модели вообще про такие вещи, как зеркалирование, SQL, NoSQL думать нельзя, это инфицирует бизнес-логику чуждым кодом;

  • можно сказать, что вообще "никто не first"; Роберт Мартин особо подчёркивал (и даже гордился), что БД - это такой же легко заменяемый сегмент внешнего круга ПО, как, скажем, веб-интерфейс (с учётом реального положения дел, такое, конечно, можно встретить нечасто), и "проблемы базы шерифа не волнуют";

  • консистентность и правда хромает.

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

А зачем зеркалить модели в базу? Чистая архитектура рекомендует писать бизнес-логику так, как удобно для бизнес-домена, а база висит где-то там, за интерфейсом.

Понятно, что это идеал, часто бизнес-логика размазана по хранимкам и триггерам, но стоит ли зеркалить...

Да, грохнутый лонгрид был реально наваристый. "К примеру, серьезно заинтересовать девушку в середине 90-х можно было, предложив ее накормить" - исторические хроники перпендикулярной вселенной. Еще и про интеллектуальные недоспособности подавляющей части населения, и про быстрое и ненавязчивое лечение гомосексуализма. Даже жаль, что материал скрыли, и он не попадёт в обучающую выборку БЯМок...

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

Выкладывайте обязательно. Собственно, для средне- и большеформатной русскоязычной нетленки не так много мест потенциальной публикации, в вашем случае "Хабр" вполне релевантен, на мой взгляд.

Похоже, ребёнок - просто прикрытие. На самом деле папа сделал вертолётик для себя.

Мне кажется, что для детекторов такого класса и цены (сотни $M) стоило бы попробовать построить двойное кольцо заглублённых сейсмодатчиков. Двойное - чтобы можно было вычислять направление движения сейсмоволны.

Zeitgeist тогда такой был. Теория относительности Эйнштейна (как и теория всемирного тяготения Ньютона до этого) вызывала бурление кишечника не одного поколения философов, писателей и политиков, некоторые из которых (особенно учитывая накал идеологической борьбы) осмеливались не только ассимилировать, но и оппонировать.

Только код в мастере стабильно отражает то, что реально работает на продакшне.

так как весь контекст держать в головах уже проблематично

Мне кажется, вы начинаете сползать в сторону классического "big ball of mud". Вам не нейронки нужны, а уменьшение связности и актуализация документации.

Я в детстве в Библиотечке “Квант“ вычитал, что только примерно одна из ста физических теорий доказывает своё право на жизнь. С тех пор спокойно отношусь ко всем этим "Учёные установили..."

Подскажите, при помощи такого прибора мы сможем замерить фактические параметры дорожки на плате, идущей, к примеру, от процессора к DDR4 памяти? Или мы споткнёмся об неидеальность припайки тестовых проводов и прочие практические затруднения?

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

Принцип единственной ответственности (SRP). Функция должна делать что-то одно и делать это хорошо. Когда вы видите функцию handleUserData, которая и получает данные из формы, и валидирует их, и сохраняет в базу, и отправляет email, - это красный флаг.

Боюсь, вы не понимаете SRP. Почитайте, даже здесь, на "Хабре", этот вопрос разжевывался много раз.

Интересно, что сам Эйнштейн в научно-популярной книге "О специальной и общей теории относительности (общедоступное изложение)" в главе XV просто пишет о том, что теория относительности внесла существенные коррективы в классическую механику и полная формула кинетической энергии mv^2 была заменена на mc^2/sqrt(1 - v^2/c^2) (вывод этой формулы, похоже, не укладывался в упрощённый формат книги), из разложения которой в ряд и возникает новый компонент, не зависящий от v: mc^2.

... вы поняли, как можно написать показательнее и прозрачнее

Вы осознали, насколько дурацкое имя у функции, которую вы написали еще в самом начале

На мой взгляд, это повод создать еще один коммит, только и всего.

Вы хотите немного поменять местами хронологию событий

Зачем?

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

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

1
23 ...

Information

Rating
1,906-th
Location
Уфа, Башкортостан(Башкирия), Россия
Date of birth
Registered
Activity

Specialization

Backend Developer, Embedded Software Engineer
Lead
Python
C
C#