Рубрика «Анализ и проектирование систем» - 30

Рождение платформы - 1

Мир изменился. Я чувствую это в воде, вижу в земле, ощущаю в воздухе. Всё, что когда-то существовало, ушло, и не осталось больше тех, кто помнит об этом.
Из фильма «Властелин колец: Братство кольца»

В интернете существует 100500 статей и докладов на тему «как мы пилили монолит», и у меня нет желания написать еще одну. Я попробовал пойти немного дальше и рассказать, как изменения технологий привели к появлению абсолютно нового продукта (спойлер: мы писали коробку, а написали платформу). Статья во многом получилась обзорной, без технических подробностей. Подробности будут позже.
Читать полностью »

Почему мы вообще хотим писать конкурентный код? Потому что процессоры перестали расти по герцовке и начали расти по ядрам. С каждым годом увеличивается количество ядер процессора, и мы хотим их эффективно утилизировать. Go — тот язык, который создан для этого. В документации так и написано.

Мы берём Go, начинаем писать конкурентный код. Конечно, ожидаем, что легко сможем обуздать мощь каждого ядра нашего процессора. Так ли это?

Меня зовут Артемий. Этот пост — вольная расшифровка моего доклада с GopherCon Russia. Он появился как попытка дать толчок людям, которые хотят разобраться, как писать хороший, конкурентный код.

Видео с конференции GopherCon Russia

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

Часть 1

4. Количественное сравнение числовых систем

4.1. Определение десятичной точности

Posit-арифметика: победа над floating point на его собственном поле. Часть 2 - 1

Точность обратна ошибке. Если у нас есть пара чисел x и y (ненулевых и одного знака), расстояние между ними в порядках величин составляет $mid log_{10}( x / y )mid$ десятичных порядков, это та же самая мера, которая определяет динамический диапазон между самым маленьким и самым большим представимым положительным числом x и y. Идеальным распределением десяти чисел между 1 и 10 в вещественной системе счисления было бы не равномерное распределение чисел по порядку от 1 до 10, а экспоненциальное: $1, 10^{1/10}, 10^{2/10},..., 10^{9/10}, 10$. Это шкала децибел, долгое время используемая инженерами для выражения отношений, например, 10 децибел — это десятикратное отношение. 30db означает коэффициент $10^3=1000$. Отношение 1db — это коэффициент около 1,26, если вы знаете значение с точностью 1db, вы имеете точность 1 десятичный знак. Если вы знаете величину с точностью 0,1 db, Это означает 2 знака точности, и т.п. Формула десятичной точности$log_{10}(1/mid log_{10}(x/y)mid)=-log_{10}(mid log_{10}(x/y)mid )$, где x и y — либо корректные значения, вычисленные с использованием систем округления, таких, какие используются в форматах float и posit, либо верхние и нижние границы, если используются строгие системы, использующие интервалы, или значения valid.
Читать полностью »

Часть 2

От переводчика: Тема формата Posit уже была на хабре здесь, но без существенных технических подробностей. В этой публикации я предлагаю вашему вниманию перевод статьи Джона Густафсона (автора Posit) и Айзека Йонемото, посвящённой формату Posit.
Так как статья имеет большой объём, я разделил её на две части. Список ссылок находится в конце второй части.

Posit-арифметика: победа над floating point на его собственном поле. Часть 1 - 1

Новый тип данных, называемый posit, разработан в качестве прямой замены чисел с плавающей точкой стандарта IEEE Standard 754. В отличие от ранней формы — арифметики универсальных чисел (unum), стандарт posit не требует использования интервальной арифметики или операндов переменного размера, и, как и float, числа posit округляются, если результат не может быть представлен точно. Они имеют неоспоримые преимущества над форматом float, включая больший динамический диапазон, большую точность, побитовое совпадение результатов вычислений на разных системах, более простое аппаратное обеспечение и более простую поддержку исключений. Числа posit не переполняются ни в сторону бесконечности, ни до нуля, и «нечисла» (Not aNumber, NaN) — это действия, а не битовые комбинации. Блок обработки posit имеет меньшую сложность, чем FPU стандарта IEEE. Он потребляет меньшую мощность, и занимает меньшую площадь кремния, таким образом, чип может выполнять существенно больше операций над числами posit в секунду, чем FLOPS, при тех же аппаратных ресурсах. GPU и процессоры глубокого обучения, в частности, могут выполнять больше операций на ватт потребляемой мощности, что позволит повысить качество их работы.
Читать полностью »

image

Во дворе одного из строящихся домов появилось поселение рабочих-строителей: десятки типовых бытовок по 8 спальных мест, ряд синих туалетных кабинок, отдельно стоящие здания столовой и бани. В первый месяц в благоустроенный городок на работу ходило 500 человек. Через месяц стало на сто человек больше — новички строительной профессией не владели, но чувствовали себя комфортно.

Несовершенная охранная система по пропускам или просто «на глаз» легко проницаема: строители продают койко-место знакомым из Средней Азии. Охранники сквозь пальцы смотрят на одинаковых как две капли росы рабочих. В лучшем случае застройщик несёт косвенные убытки, в худшем — новоприбывшие вынесут всё, что плохо лежит, устроят бучу или сожгут ненароком себя вместе с жильём.

Место работы — место жизни. Видимых нарушений нет. Работодатели могут регистрировать и селить иностранных работников на территории предприятия, например, на складе, в строительных вагончиках, хоть в шалаше из клеёнок и досок скворечника. Далее в силу вступает сложная система контроля стройки, которая на практике работает из рук вон плохо.
Читать полностью »

Лучшие методики тестирования в JavaScript и Node.js - 1

Это исчерпывающее руководство по обеспечению надёжности в JavaScript и Node.js. Здесь собраны десятки лучших постов, книг и инструментов.

Сначала разберитесь с общепринятыми методиками тестирования, которые лежат в основе любого приложения. А затем можно углубиться в интересующую вас сферу: фронтенд и интерфейсы, бэкенд, CI или всё перечисленное.
Читать полностью »

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

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

Кому доверить проектирование объектов техперевооружения и реконструкции - 1

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

По многочисленным просьбам читателей рассказываю, что входило в состав проекта по увеличению прибыли, упомянутого в «Корпоративном слоне».

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

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

Итак, концепция номер один: видя деньги.Читать полностью »

Как я проектирую СКС - 1

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

Первый принцип это — надежность. Ненадежная сеть всегда выйдет дороже за счет стоимости ее обслуживания, убытков при простое и убытков от постороннего вмешательства. Исходя из этого принципа всегда проектирую основную сеть только проводной, и при необходимости, дополнительную беспроводную (гостевая сеть или сеть для мобильных терминалов). Почему беспроводная сеть менее надежная? У любой беспроводной сети есть ряд проблем безопасности, стабильности и совместимости. Слишком много рисков для серьезной компании. Читать полностью »

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

BI: 6 трендов в сфере бизнес-аналитики - 1

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


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