Всем привет! С вами снова Максим. Сегодня немного расскажу про плату управления для нашего сервера. В общем-то, она не отличается особенной сложностью, но и пропускать этот компонент тоже никак нельзя — мы с коллегами решили, что все существенные подсистемы и компоненты сервера должны быть освещены.
Читать полностью »
Рубрика «Анализ и проектирование систем» - 119
Плата управления сервером — зачем она и что внутри
2016-09-30 в 13:09, admin, рубрики: openpower, Анализ и проектирование систем, Блог компании YADRO, печатные платы, проектирование, серверы«Правда, чистая правда и статистика» или «15 распределений вероятности на все случаи жизни»
2016-09-30 в 7:46, admin, рубрики: f-критерий, f-распределение, f-тест, t-критерий, t-распределение, t-тест, z-критерий Фишера, z-распределение, z-тест, Алгоритмы, Анализ и проектирование систем, бета распределение, биноминальное распределение, гамма распределение, геометрическое рапределение, гипергеометрическое распределение, двойное показательное, двойное экспоненциальное, Занимательные задачки, критерий Пирсона, критерий согласия, критерий хи квадрат, математика, моделирование, нормальное распределение, отрицательное биноминальное, плотность вероятности, показательное распределение, профит фактор, распределение Бернулли, распределение Вейбулла, распределение Гаусса, распределение Коши, распределение Лапласса, распределение Паскаля, распределение Пирсона, распределение пуассона, распределение Стьюдента, распределение Фишера, распределение хи квадрат, распределение Эрланга, случайная величина, статистика, статистический тест, статитический анализ, теория вероятностей, тест Стьюдента, тест Фишера, экспоненциальное распределение
Статистика приходит к нам на помощь при решении многих задач, например: когда нет возможности построить детерминированную модель, когда слишком много факторов или когда нам необходимо оценить правдоподобие построенной модели с учётом имеющихся данных. Отношение к статистике неоднозначное. Есть мнение, что существует три вида лжи: ложь, наглая ложь и статистика. С другой стороны, многие «пользователи» статистики слишком ей верят, не понимая до конца, как она работает: применяя, например, тест Стьюдента к любым данным без проверки их нормальности. Такая небрежность способна порождать серьёзные ошибки и превращать «поклонников» теста Стьюдента в ненавистников статистики. Попробуем поставить токи над i и разобраться, какие модели случайных величин должны использоваться для описания тех или иных явлений и какая между ними существует генетическая связь.
Читать полностью »
Разработка взаимодействия с пользователем мобильных устройств — ключевые принципы
2016-09-28 в 13:50, admin, рубрики: Анализ и проектирование систем, Графические оболочки, мобильные приложения, мобильные устройства, пользовательский интерфейс, принципы разработки, разработка мобильных приложений, Тестирование мобильных приложений
Наиболее важное, о чём надо помнить, разрабатывая мобильное приложение, это то, что оно должно быть как полезным, так и интуитивно понятным. Если приложение не приносит пользы, то оно не имеет практической ценности для пользователя, и нет мотивации использовать его. Если приложение полезное, но обучение работе с ним требует много времени и усилий, то люди откажутся от него.
Хорошая разработка пользовательского интерфейса решает обе эти проблемы проектирования:
- Чтобы быть полезным, мобильное приложение должно быть полностью ориентировано на пользователя. Тот устанавливает ваше приложение потому, что ему надо решить насущную для него проблему. Таким образом, приложение имеет чётко определённое «понимание цели». Думайте о том, что именно ваши пользователи будут пытаться выполнить, сосредоточивайтесь на их ключевых целях, и удаляйте все препятствия с ведущего к ним пути.
- Пользовательский интерфейс обязан быть предельно ясным. Чтобы эффективно использовать разработанный вами интерфейс, должна быть обеспечена возможность легко понимать, для чего он и как его использовать. В нём просто не должно быть ни малейшего места для какой-либо путаницы.
Ниже изложены 9 принципов разработки, являющиеся, по моему мнению, ключевыми при обеспечении, действительно, высококачественного взаимодействия с пользователем.
Читать полностью »
Микросервисы: пожалуйста, не нужно
2016-09-28 в 9:45, admin, рубрики: Анализ и проектирование систем, архитектура, веб-приложение, микросервис, монолит, приложение, Программирование, разработка, метки: микросервис, монолит
Иллюстрация @alvaro_sanchez
Некоторое время все сходили с ума по микросервисам. Невозможно было открыть любимый новостной агрегатор и не увидеть, чтобы какая-то неизвестная вам доселе компания рассказывает о спасении своего инженерного отдела с помощью микросервисов. Возможно, вы даже сами работали в компании, которую захватил ажиотаж крохотных, магических маленьких сервисов, которые решат все проблемы большой, запущенной, полной легаси кодовой базы.
Естественно, в реальности все оказалось совсем наоборот. Когда смотришь назад, на произошедшее, то зрение оказывается ближе к 100%, чем когда смотришь с надеждой в будущее.
Я хочу рассказать о некоторых важных заблуждениях и подводных камнях движения за микросервисы с точки зрения человека, который работал в компании, убежденной в идее целительных свойств микросервисов. Я не хочу, чтобы выводом этой статьи для вас стало "микросервисы == плохо", но в идеале я хотел бы, чтобы вы задумались о проблемах когда будете решать, подходит ли вам микросервисная архитектура.Читать полностью »
YT: зачем Яндексу своя MapReduce-система и как она устроена
2016-09-27 в 8:02, admin, рубрики: big data, MapReduce, YT, Алгоритмы, Анализ и проектирование систем, Блог компании Яндекс, инфраструктура Яндекса, Промышленное программирование, метки: YTВ течение последних шести лет в Яндексе идет работа над системой под кодовым называнием YT (по-русски мы называем её «Ыть»). Это основная платформа для хранения и обработки больших объемов данных — мы уже о ней рассказывали на YaC 2013. С тех пор она продолжала развиваться. Сегодня я расскажу о том, с чего началась разработка YT, что нового в ней появилось и что ещё мы планируем сделать в ближайшее время.
Кстати, 15 октября в офисе Яндекса мы расскажем не только о YT, но и о других наших инфраструктурных технологиях: Media Storage, Yandex Query Language и ClickHouse. На встрече мы раскроем тайну — расскажем, сколько же в Яндексе MapReduce-систем.
Какую задачу мы решаем?
По роду своей деятельности Яндекс постоянно сталкивается с необходимостью хранить и обрабатывать данные таких объемов, с которыми обычному пользователю никогда не приходится иметь дело. Поисковые логи и индексы, пользовательские данные, картографическая информация, промежуточные данные и результаты алгоритмов машинного обучения — все это может занимать сотни петабайт дискового пространства. Для эффективной обработки подобных объемов традиционно используется парадигма MapReduce, позволяющая достичь хорошего баланса между эффективностью вычислений и простотой пользовательского кода.
Функциональная безопасность, Часть 3 из 3. МЭК 61508: Систематичная случайность или случайная систематичность?
2016-09-23 в 16:22, admin, рубрики: ics, IEC 61508, IT-стандарты, plc, scada, автоматизация, Анализ и проектирование систем, асу тп, информационная безопасность, критически важные системы, Промышленное программирование, стандартизация, стандарты, функциональная безопасность
Безопасности на Хабре посвящен целый хаб, и, пожалуй, никто особенно не задумывается, что именно вкладывается в понятие «безопасность», и так все ясно: информационная безопасность (security). Однако, есть еще и другая сторона безопасности, safety, связанная с рисками для здоровья и жизни людей, а также окружающей среды. Поскольку информационные технологии сами по себе опасности не представляют, то обычно говорят о функциональной составляющей, то есть о безопасности, связанной с правильным функционированием компьютерной системы. Если информационная безопасность стала критична с появлением интернета, то функциональная безопасность рассматривалась и до появления цифрового управления, ведь аварии происходили всегда.
Данная статья продолжает серию публикаций на тему функциональной безопасности.
Во вводной части 1:
— обоснована важность оценивания и обеспечения функциональной безопасности для компьютерных систем управления;
— рассмотрены архитектуры систем, для которых необходимо оценивать и обеспечивать функциональную безопасность; к таким системам относятся АСУ ТП (Industrial Control Systems) на базе программируемых логических контроллеров (ПЛК), встроенные системы (Embedded Systems) и уровень устройств (Device Layer) для интернета вещей;
— кратко представлено множество стандартов, относящихся к функциональной безопасности в различных сферах применения.
В части 2 рассмотрена общая структура стандарта МЭК 61508 «Функциональная безопасность систем электрических, электронных, программируемых электронных, связанных с безопасностью» (IEC 61508 Functional safety of electrical/electronic/programmable electronic safety-related systems) и используемая в нем терминология.
Описание достаточно непростой терминологической казуистики заняло целую статью, и теперь пора разобраться со структурой требований МЭК 61508.
Не рекомендуется к прочтению тем, кто не интересуется стандартизацией.
Читать полностью »
Spring Boot стартер для Apache Ignite своими руками
2016-09-23 в 13:53, admin, рубрики: Apache Ignite, big data, caching, java, spring boot, Анализ и проектирование систем, Программирование
Вот уже вышло две статьи в потенциально очень длинной серии обзоров распределённой платформы Apache Ignite (первая про настройку и запуск, вторая про построение топологии). Данная статья посвящена попытке подружить Apache Ignite и Spring Boot. Стандартным способом подключения некой библиотеки к Spring Boot является создание для этой технологии «стартера». Несмотря на то, что Spring Boot весьма популярен и на Хабре описывался не единожды, про то, как делать стартеры, вроде бы ещё не писали. Этот досадный пробел я постараюсь закрыть.
Статья посвящена преимущественно Spring Boot'у и Spring Core, так что те, кого тема Apache Ignite не интересует, всё равно могут узнать что-то новое. Код выложен на GitHub, стартера и демо-приложения.
Читать полностью »
Визуализация кодовой эволюции
2016-09-22 в 23:04, admin, рубрики: Анализ и проектирование систем, визуализация данных, менеджмент проектов, Проектирование и рефакторинг, проектирование по, системы контроля версий
От переводчика:
На этого интересного автора, Адама Торнхила, я набрел при поиске видео с конференции GOTO. Кому данная статья покажется интересной, советую посмотреть его выступление. Я немного заморочился с переводом (благодарен Тане за помощь!), потому что тематика показалась очень своеобразной, не встречал ранее аналогичные работы (буду рад ссылкам в комментариях!). Статья свежая, августа 2016, в оригинале называется Software ®Evolution — Part 1. В тексте идет повествования от первого лица, но имеется в виду автор оригинальной статьи.
Как эволюция кода позволяет понимать большие кодовые базы
Обычно плохой код – это надолго. Он не просто остаётся в конкретном файле, но ещё остаётся там на года, переживая своих создателей (внутри организации) и вызывая недовольство следующего поколения программистов, ответственных за поддержку. Изменения в таком коде являются рискованной деятельностью. Учитывая масштаб нынешних кодовых баз, мы нуждаемся в более эффективных инструментах для выявления подобных частей системы, так чтобы мы могли сделать коррекцию, приложить дополнительные усилия в тестировании или выполнить ревью кода. В этой статье мы используем данные по предыдущему поведению в сфере разработки для того, чтобы получить руководство к указанным решениям.
Украинец подсказал британцу сделать вебинар для разработчиков IoT для сельского хозяйства. А мы поговорим о CPU внутри
2016-09-22 в 5:55, admin, рубрики: cpu, hardware-supported multithreading, imagination technologies, IoT, mips, mips interaptiv, multithreading, Анализ и проектирование систем, высокая производительность, параллельное программирование, программирование микроконтроллеров, Разработка для интернета вещейПути технологии неисповедимы. Три месяца назад к нам в Silicon Valley приехал бизнесмен из Украины Александр Романишин. Я пошел с Александром на выставку для разработчиков IoT, где мы встретили Дэвида Гарольда из британской части Imagination Technologies (компании, которая спроектировала PowerVR GPU внутри Apple iPhone).
Александр увидел у Дэвида демо платы MIPS Creator ci40 для «умных ферм», и минут двадцать рассказывал Дэвиду, что все правительство Украины начиная с Порошенко лично желает в порядке нахождения экономического будущего страны скрестить электронные технологии и сельское хозяйство.
Дэвид воспринял все это максимально буквально и сегодня утром я получил от начальника Дэвида письмо, откуда узнал, что они в Великобритании сделали онлайн вебинар по использованию MIPS Creator ci40 для построения системы умной ирригации, и соратники Александра могут зарегистрироваться для этого семинара, который состоится в среду 28 сентября в 11 утра по Silicon Valley / в 21.00 по киевскому времени:

По этому поводу я хочу копнуть глубже внутрь чипа и рассказать про историю и особенности процессорного ядра в показываемом в вебинаре устройстве. Внутри MIPS Creator ci40 стоит чип на основе многопоточного двухядерного кластера MIPS interAptiv, продвинутого отпрыска ядра MIPS 24KEc. Последний сейчас переживает вторую молодость внутри только что вышедшего на рынок Omega2, Linux-компьютера ценой $5 размером с почтовую марку. Чем же MIPS interAptiv внутри MIPS Creator ci40 отличается от MIPS 24KEc внутри Omega2 с точки зрения микроахитектуры и как это задевает программиста?
Читать полностью »
Заказная разработка программного обеспечения
2016-09-20 в 8:20, admin, рубрики: Анализ и проектирование систем, анализ ПО, заказная разработка ПО, разработка веб сервисов, Разработка веб-сайтов, Разработка под e-commerce, разработка программ, метки: анализ ПО, заказная разработка ПО, разработка веб сервисов, разработка программДоступ к информации перестал быть конкурентным преимуществом бизнеса. Информации не просто много… ее объемы зашкаливают — книги, статьи, блоги, форумы, видео. Приоритетом является способность эффективно управлять информацией и оптимизировать бизнес процессы. Информационные технологии и программное обеспечение призваны решать задачи повышения эффективности.
Сложно тем, кто видит потенциал в новом программном обеспечении, но не знает, как оно создается. Цикл статей о заказной разработке программного обеспечения, который будет полезен:
- для владельца, руководителя организации, планирующего заказать разработку программного обеспечения для бизнеса;
- для того, кто мечтает о стартапе, в основе которого программный продукт: коробочное ПО, веб сервис или мобильное приложение;
- для юниора, планирующего выбрать или начинающего карьеру в области информационных технологий.


