<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>Хороший разработчик знает</title><author><name>Хороший разработчик знает</name></author><id>https://teletype.in/atom/gooddevknows</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/gooddevknows?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@gooddevknows?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=gooddevknows"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/gooddevknows?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-10-24T20:55:09.126Z</updated><entry><id>gooddevknows:NGPRtdwVSTh</id><link rel="alternate" type="text/html" href="https://teletype.in/@gooddevknows/NGPRtdwVSTh?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=gooddevknows"></link><title>Что такое KISS, YAGNI и DRY</title><published>2021-09-16T20:13:56.204Z</published><updated>2021-09-16T20:13:56.204Z</updated><summary type="html">Есть универсальные принципы разработки, которые сделают код вашего сервиса или приложения понятнее и легче в поддержке.</summary><content type="html">
  &lt;p id=&quot;SU9K&quot;&gt;Есть универсальные принципы разработки, которые сделают код вашего сервиса или приложения понятнее и легче в поддержке.&lt;/p&gt;
  &lt;p id=&quot;pR7D&quot;&gt;1️⃣ KISS - keep it simple, stupid&lt;/p&gt;
  &lt;p id=&quot;k6Uv&quot;&gt;Чем проще ваша программа, тем лучше она будет работать. Тем легче покрыть ее тестами. Не нужно выдумывать лишних абстракций, стараться сделать все максимально расширяемым в БУДУЩЕМ, делаем минимум, но хорошо, то есть просто и понятно.&lt;/p&gt;
  &lt;p id=&quot;gKhr&quot;&gt;2️⃣ YAGNI - you aren&amp;#x27;t gonna need it&lt;/p&gt;
  &lt;p id=&quot;enL4&quot;&gt;Тебе это не понадобиться. Не нужно концентрироваться на облегчении своей жизни в будущем. Пытаться представить как программа будет изменяться в будущем и подстилать себе соломку. Чаще всего, изменяться она будет не так. А может не будет. А может и вовсе окажется что этот компонент не нужен, им никто не пользуется, тогда и расширять незачем - просто удаляем.&lt;/p&gt;
  &lt;p id=&quot;w22K&quot;&gt;3️⃣ DRY - don&amp;#x27;t repeat yourself&lt;/p&gt;
  &lt;p id=&quot;Xow9&quot;&gt;Не повторяйся или не будь заложником копи-пэйста. Если один и тот же код используется более трех раз - вынесем его в отдельную функцию. Так его будет легче поддерживать. Но помни keep it simple, если это ведет к тому, что понять что происходит будет сложнее - оставим как есть, подождем еще.&lt;/p&gt;
  &lt;p id=&quot;UjJ7&quot;&gt;⬛️ Еще раз -  не надо усложнять сейчас, если это нужно будет в будущем - время найдется.&lt;/p&gt;

</content></entry><entry><id>gooddevknows:WlUhKJc93wz</id><link rel="alternate" type="text/html" href="https://teletype.in/@gooddevknows/WlUhKJc93wz?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=gooddevknows"></link><title>OLTP vs OLAP</title><published>2021-09-16T20:08:53.987Z</published><updated>2021-09-16T20:08:53.987Z</updated><summary type="html">В зависимости от того, что мы собираемся делать с данными, мы выбираем тип базы данных, где будем их хранить.</summary><content type="html">
  &lt;p id=&quot;OF9F&quot;&gt;В зависимости от того, что мы собираемся делать с данными, мы выбираем тип базы данных, где будем их хранить.&lt;/p&gt;
  &lt;p id=&quot;AuZk&quot;&gt;1️⃣ OLTP - online transaction processing&lt;/p&gt;
  &lt;p id=&quot;Hg6K&quot;&gt;Цель - обеспечить ежедневную работу бизнеса. Например - пользователь делает заказ в интернет магазине, данные о заказе сохраняются в базу данных предназначенную для OLTP и обрабатываются дальше - со временем меняется статус заказа.&lt;/p&gt;
  &lt;p id=&quot;Fgpk&quot;&gt;Для OLTP часто используют реляционные базы данных, например PostgreSQL.&lt;/p&gt;
  &lt;p id=&quot;WYEp&quot;&gt;2️⃣ OLAP - online analytical processing&lt;/p&gt;
  &lt;p id=&quot;LT8N&quot;&gt;Цель - принимать решения основываясь на большом объеме данных. Например, мы хотим посчитать  среднюю сумму заказа за десять лет существования нашего интернет магазина. При этом в день делается 10 тысяч заказов.&lt;/p&gt;
  &lt;p id=&quot;N3V1&quot;&gt;Для OLAP часто используются колоночные базы данных, предназначенные бля бизнес аналитики, например Amazon Redshift.&lt;/p&gt;
  &lt;p id=&quot;XyYM&quot;&gt;⬛️ Еще раз OLTP - каждый день, для поддержки бизнес процессов; OLAP - когда нужно, для аналитики. Лучше не смешивать.&lt;/p&gt;

</content></entry></feed>