Как стать автором
Обновить
-15
0

Пользователь

Отправить сообщение

Заметки об основах программной архитектуры

Время на прочтение9 мин
Количество просмотров20K
Это вводное руководство для архитекторов программного обеспечения. В настоящее время звание «архитектор» очень популярно во всем мире, но не существует настоящего руководства, как стать архитектором программного обеспечения.

1. Общая концепция архитектуры программного обеспечения
2. Архитектурные стили
3. Технология
4. Софт скиллз (принятие архитектурных решений, методы анализа рисков, навыки подачи материала, отношения с командой менеджеров, ведение переговоров, планирование карьеры архитектора)
5. Принципы проектирования
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии3

FairCom DB — серый кардинал в мире баз данных

Время на прочтение7 мин
Количество просмотров2.4K

1979 год. СССР запускает свой первый океанографический спутник, французы успешно испытывают первую ракету в семействе Arian, а в недрах лабораторий Министерства обороны США завершают создание языка программирования Ада. В этом же году Уильям Л. Фэйрмэн (William L. Fairman) регистрирует частную компанию FairСom, ставшую пионером в отрасли разработки программного обеспечения.

«Ну и что?» — спросите вы. Какая-то странная компания, о которой даже Wikipedia ничего не знает. Упоминания есть, а отдельной страницы нет. Вроде бы делает базу данных FairСom DB. Кажется, что ничего интересного. Но это только на первый взгляд. А что, если мы вам скажем, что эта база данных обеспечивает работу экстренной службы 911, через неё проходят все планы полётов в воздушном пространстве США, а также записываются все котировки на фондовом рынке в режиме реального времени? Подробности — под катом.

Читать далее
Всего голосов 19: ↑19 и ↓0+19
Комментарии3

Роль архитектуры в ПО

Время на прочтение12 мин
Количество просмотров7.3K

Понимание того, чем является архитектура и способность оценить её качество - разные вещи. Зачастую она воспринимается, как нечто неотделимое от ПО, присущее ему. Как следствие, зачастую, сама роль и ее задачи ускользают от разработчика.

В этой проблеме поможет разобраться Роман Хаимов. Он занимается разработкой ПО в практике Frontend “Рексофт”, компании, которая более 30 лет занимается разработкой ПО на заказ для российских и международных компаний. Сегодня Роман расскажет про главную задачу (или роль) любого структурного элемента в приложении. Вместе с ним мы посмотрим на простых примерах, на что влияет архитектура проекта, а также поймем, что может изменить ситуацию к лучшему.

Читать далее
Всего голосов 12: ↑11 и ↓1+13
Комментарии2

Источники знаний PM — must have от ЕАЕ-Консалт: документы, книги, стандарты

Время на прочтение6 мин
Количество просмотров3.9K

Этот пост — обзор полезных в практике PM источников знаний, созданный на основе рекомендаций специалистов и руководителей ЕАЕ-Консалт. В материале постарались отразить не только специфическую литературу и документы для PM, но также книги из смежных отраслей знания, ценных, а иногда и необходимых в проектном управлении.

Читать далее
Всего голосов 5: ↑4 и ↓1+4
Комментарии0

Малоизвестные возможности языка C

Время на прочтение4 мин
Количество просмотров24K

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

Текущая наиболее часто используемая версия языка, c99, принесла много новых возможностей, многие из которых совершенно неизвестны большинству программистов на C (в более старых спецификациях, очевидно, тоже есть свои темные уголки).

Читать далее
Всего голосов 72: ↑68 и ↓4+79
Комментарии22

Генерация и валидация чисел по алгоритму Луна

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров17K

Алгоритм Луна (Luhn algorithm) - это процесс вычисления контрольной цифры для числа в соответствии со стандартом ISO/IEC 7812. Процесс предназначен, в первую очередь, для выявления ошибок, вызванных с непреднамеренным искажением данных. Например, при ручном вводе номера карты или любого другого числа.

Разберём как он работает и рассмотрим инструмент для формирования номеров по алгоритму.

Читать далее
Всего голосов 13: ↑11 и ↓2+15
Комментарии32

Почему гибридная архитектура – это будущее?

Время на прочтение6 мин
Количество просмотров22K

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

Для ИТ-специалистов важно поддерживать актуальность данных и оперативно решать поступающие в хелпдеск запросы, выполнять SLA. Для ИТ-директоров нужны достоверные данные для принятия правильных управленческих решений, распределения бюджета на оборудование и ПО. 

В статье рассмотрим достоинства и недостатки каждого из типов архитектур и объясним, почему конвергентная ИТ-архитектура станет лучшим выбором.

Читать далее
Всего голосов 15: ↑11 и ↓4+15
Комментарии8

Польза от вредного: психоделики и критические периоды

Время на прочтение12 мин
Количество просмотров12K


За долгие годы своего существования наука повидала немало экспериментов. Некоторые из них привели к удивительным результатам, другие — к катастрофе. Ирония заключается в том, что многие положительные и отрицательные аспекты современного мира существуют исключительно благодаря человеческому любопытству и неудержимому желанию все понять, а еще все потрогать и попробовать на вкус. К примеру, фосфор был открыт Хеннигом Брандом в 1669 году, который пытался создать философский камень из мочи человека. Безумие ли это? Возможно, но любое научное изыскание содержит в себе щепотку безумия. От уринотерапии перейдем к психоделикам. Эти наркотического действия препараты, как природного, так и синтетического происхождения, обладают способностью менять человеческое сознание на определенный период времени. История применения человеком данных веществ насчитывает тысячи лет, а цели варьируются от духовного просвещения до лечения различных заболеваний. Ученые из Школы медицины Джонса Хопкинса (Балтимор, США) провели исследование на мышах, в ходе которого установили, что психоделики позволяют возобновлять критические периоды, связанные с развитием мозга и обучением на базе социального вознаграждения. Что это за периоды, о каком обучении идет речь, и как результаты этого труда могут помочь в медицине? Ответы на эти вопросы мы найдем в докладе ученых.
Читать дальше →
Всего голосов 22: ↑21 и ↓1+31
Комментарии25

Typst — современная альтернатива LaTeX

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров15K


Языки разметки хорошо подходят для создания и редактирования структурированных документов. Они лучше автоматизированы и гибки, чем аналоги с WYSIWYG. Здесь контент отделён от представления, задаётся текст и его структура, далее на основе выбранного шаблона форматируется документ. Подобную систему компьютерной вёрстки TEX (TeX) разработал Дональд Кнут в 1978 году, окончательный релиз оформился в 1979-м. Системы на основе TeX до сих пор являются актуальными в этой области и продолжают развиваться. Вот несколько примеров.
Читать дальше →
Всего голосов 33: ↑29 и ↓4+37
Комментарии20

Муки выбора, или Как найти идеальную систему мониторинга. Опыт dBrain

Время на прочтение9 мин
Количество просмотров7.5K

Не секрет, что микросервисы мало запустить. За их работой нужно следить, чтобы не было сбоев, а следовательно и недовольных пользователей. Для этого, нужны системы мониторинга и логирования. Команда платформы dBrain собрала свой универсальный стек системы мониторинга. Сегодня расскажем, какие проблемы возникают с мониторингом и как их решить.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Пути и графы

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров6.3K

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

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

Читать далее
Всего голосов 3: ↑2 и ↓1+1
Комментарии6

Графы и программирование

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров15K

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

Характеристика связности графов часто описывается достижимостью из некоторой вершины графа всех других, а очевидное средство такой достижимости проложенный между парой вершин путь. Наличие множества путей, покрывающих вершины и\или ребра (дуги) графа, обеспечивает часто решение целевых задач таких, например, как минимизация контрольных точек или тестирование программ. Затрагиваются вопросы и цикломатической сложности графа.

Вопросы синтеза и исследования управляющих графов программ остаются пожалуй самым надежным средством отладки и совершенствования программ для ЭВМ. Третья статья цикла освещает кратко эту актуальную тему. Параллельно для внешних программ реализуется процедура выявления программных закладок и своевременно не удаленных контрольных точек.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии1

Полное руководство по проектированию систем в виде схемы

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров25K

Разработка надежной, масштабируемой и эффективной системы может оказаться довольно сложной задачей. Однако понимание основных принципов и компонентов этого процесса может сделать его более управляемым. В этой статье мы рассмотрим основные компоненты в проектировании систем, такие как DNS, балансировка нагрузки, API-шлюз и другие. Также мы предоставим краткую схему, которая поможет разработчикам проектировать системы различной сложности.

Читать далее
Всего голосов 38: ↑34 и ↓4+33
Комментарии5

Строение атома и материи

Уровень сложностиСложный
Время на прочтение18 мин
Количество просмотров15K

Модель вещества (атома) в настоящее время разработана в деталях и понятна настолько, что колоссальную энергию, заключенную в нем, научились извлекать и поставили на службу человеку (в первую вчередь это АЭС). Тем не менее хотелось бы убедиться в правильности наших представлений об атоме, увидеть изображение реального атома, «пощупать» руками, прогнозировать дальнейший прогресс исследований вещества.

Для проведения исследований структуры вещества в динамике необходим источник синхротронного излучения высокой энергии. В РФ под Новосибирском в наукограде Кольцово Институт ядерной физики (ИЯФ) СО РАН им. Г.И. Будкера ведет строительство такого источника поколения 4+СКИФ (электроны будут разгоняться до энергии 3ГэВ). Ожидается, что ввод в строй СКИФа позволит осуществить серьезный прорыв в материаловедении и многих других научных направлениях

Ученые США (Ун-т Огайо) впервые сделали рентгеновский снимок отдельного атома. Атомы стало возможно извлекать поштучно, перемещать и синтезировать из них конструкции, визуализировать с помощью сканирующих зондовых микроскопов. Но без рентгеновских лучей невозможно определить из чего они состоят. Впервые атом «просветили» лучами. Стало возможно назвать не только тип элемента, но и его химическое состояние. В публикации Science Daily приводятся примеры атомов железа (26) и тербия (65). Сейчас стало возможно определить тип конкретного атома по числу протонов. Благодаря прорыву можно будет назвать не только тип элемента, но и его химическое состояние. Это позволит лучше манипулировать частицами внутри различных материалов для удовлетворения потребностей различных отраслей науки и практики.

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

Читать далее
Всего голосов 22: ↑15 и ↓7+14
Комментарии9

[HTTP API & REST] Терминология. Мифология REST. Составляющие HTTP-запроса

Время на прочтение19 мин
Количество просмотров20K

Вопросы организации HTTP API — к большому сожалению, одни из самых «холиварных». Будучи одной из самых популярных и притом весьма непростых в понимании технологий (ввиду большого по объёму и фрагментированного на отдельные RFC стандарта), спецификация HTTP обречена быть плохо понятой и превратно истолкованной миллионами разработчиков и многими тысячами учебных пособий.

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии18

От алгебры школьной — к университетской

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров13K

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

Для большинства наук и приложений, в машинном обучении, computer science прежде всего нужна, конечно, линейная алгебра. Для её успешного освоения нужно уверенно владеть элементарной алгеброй. На школьном уровне она (не)проста и скучна. Но при переходе в университет алгебра резко становится абстрактной и потому для многих сложной и непонятной: больно много аксиоматических определений — примеры еле поспевают. Как исторически произошёл этот скачок? Что нужно/полезно всем, изучающим математику, из высшей алгебры? Как лучше освоить азы линейной алгебры с прицелом на приложения, machine learning, не упустив что-то важное, но и не перетрудившись зря? Эти вопросы мы обсудим в статье.

Читать далее
Всего голосов 13: ↑11 и ↓2+10
Комментарии9

Осваиваем чистую архитектуру кода на Golang: практическое руководство по сущностям и слоям моделей

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров15K

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

Читать далее
Всего голосов 15: ↑11 и ↓4+10
Комментарии3

Валим всё в одну кучу, как алгебраисты

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров5.5K

Продолжаю знакомить вас с наработками моего математического кружка, в котором я стараюсь ответы на некоторые простые и наивные вопросы превратить в интересный и даже полезный рассказ. Сегодня мы порассуждаем над двумя вопросами:

Что получится, если сложить все-все-все числа друг с другом?
Чему равен факториал отрицательного числа?

На оба эти вопроса нам поможет найти осмысленный ответ алгебра, теорема Уилсона и некоторые её обобщения. Статья, адаптирована и расширена для уровня читателей Хабра, так что не пугайтесь, встретив в ней гамма‑функцию или вычеты функции комплексного переменного. На занятиях в кружке никто из детей не пострадал.

Читать далее
Всего голосов 16: ↑15 и ↓1+19
Комментарии7

Лёгкий Форт

Уровень сложностиПростой
Время на прочтение19 мин
Количество просмотров6K

Эта небольшая электронная книга предназначена для того, чтобы научить вас языку программирования под названием Forth. Форт — это язык, непохожий на большинство других. Он не функциональный и не объектно-ориентированный, в нем нет проверки типов и практически отсутствует синтаксис. Он был написан в 70-х годах, но до сих пор используется для некоторых приложений .

Зачем учить такой странный язык? Каждый новый язык программирования, который Вы изучаете, помогает Вам думать о проблемах по-новому. Форт очень прост в освоении, но он требует от Вас мыслить не так, как Вы привыкли. Это делает его идеальным языком для расширения ваших горизонтов кодирования.

Эта книга включает в себя простую реализацию Forth, которую я написал на JavaScript. Она ни в коем случае не совершенна, и ей не хватает многих функций, которые вы ожидаете от настоящей системы Forth. Это просто для того, чтобы дать вам простой способ опробовать примеры. (Если Вы эксперт по Forth, пожалуйста, поделитесь здесь и сделайте его лучше!)
...

Читать про язык Форт
Всего голосов 7: ↑5 и ↓2+4
Комментарии8

UML: обзор основных типов диаграмм, диаграмма Классов. Часть 1

Время на прочтение7 мин
Количество просмотров51K

Хабр, привет! Меня зовут Витя, я работаю системным аналитиком, сегодня хочу рассказать про такой обязательный навык аналитиков, как проектирование процессов. Думаю, что каждый, кто будет работать на позиции системного/бизнес аналитика, рано или поздно столкнется с такой задачей.

Читать далее
Всего голосов 8: ↑7 и ↓1+8
Комментарии6

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность

Специализация

Project Manager, Software Architect
Project management
Information Technology