Как стать автором
Обновить
101.82
SimbirSoft
Лидер в разработке современных ИТ-решений на заказ
Сначала показывать

Основы CQRS

Время на прочтение14 мин
Количество просмотров96K
Данная статья основана на материале из различных статей по CQRS, а также проектов, где применялся такой подход.

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

Поэтому при разработке зачастую можно наблюдать одни и те же проблемы в организации кода и архитектуры, а также в их усложнении. При неправильном подходе к проектированию рано или поздно может наступить момент, когда код становится настолько сложным и запутанным, что каждое внесение изменений требует все больше времени и ресурсов.
Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии88

Canvas & SVG: работаем с графикой

Время на прочтение8 мин
Количество просмотров33K
В HTML5 представлено два элемента для работы с web графикой: Canvas и SVG. Две эти технологии достаточно сильно отличаются друг от друга. Важно знать об их преимуществах и недостатках, чтобы выбрать наиболее подходящую для конкретной задачи технологию. Элемент SVG позволяет создавать векторную графику, а элемент Canvas предназначен для создания растровых изображений. Элемент Сanvas также используется технологией WebGL для аппаратного ускорения 3D-графики.
Читать дальше →
Всего голосов 6: ↑5 и ↓1+4
Комментарии5

Чат своими руками

Время на прочтение7 мин
Количество просмотров6.5K
В этой статье мы опишем тонкости написания чата. Понимаю, что придумано уже достаточно готовых решений. Побродив по закоулкам бескрайнего, отыскали пару годных библиотек, которые предоставляют чат «из-коробки». В этой статье они перечислены не будут. Так вот, перспектива заюзать готовое решение казалась соблазнительной. Но, ещё раз подумав о комплексности предстоящей задачи, мы решили писать с нуля.
Читать дальше →
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Создание Web API приложения с использованием .NET Core + MongoDB .NET Driver

Время на прочтение16 мин
Количество просмотров31K
Как вы уже знаете, MongoDB — это одно из наиболее развитых, open-source NoSQL решений, которое представляет собой документо-ориентированную базу данных, является кросс-платформенным, а также обеспечивает высокую производительность, доступность и простоту масштабирования.

В современных open-source веб-приложениях использование NoSQL решений получило свою популярность в связи с их нереляционным поведением. В данной статье шаг за шагом мы реализуем простое ASP.NET Core Web API приложение «записной книжки», которое будет поддерживать операции CRUD применимо к коллекции в MongoDB.
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии11

Использование Spring Groovy-контекста для создания конфигурируемого, интерактивного графического UI

Время на прочтение11 мин
Количество просмотров4.1K
В конце 90-х годов работал в одной организации, которая занималась развитием контактной электрической сети и эксплуатацией питающих энергетических установок (тяговых подстанций), плюс осуществляла мониторинг и управление этого хозяйства с помощью специализированного программно-аппаратного комплекса из нескольких диспетчерских пунктов. Комплекс работал под управлением АСУ ТП на древнем советском железе. Тогда стояла задача перевести этот комплекс под windows, включая разработку графического интерфейса, который бы отображал схематически в виде карты всю сеть и события происходящие на ней и подстанциях. Ну и естественно, предоставлял бы возможность управлять ими.
Читать дальше →
Всего голосов 6: ↑5 и ↓1+4
Комментарии0

Поддержка нестандартного XMPP-протокола с помощью Smack

Время на прочтение6 мин
Количество просмотров5.1K
В одном из недавних проектов мы реализовывали взаимодействие Android-приложения с ejabberd-сервером через кастомизированный XMPP-протокол.

В этой статье приведены примеры как можно отправлять/получать кастомизированные пакеты XMPP-протокола в Android-приложении.

Для работы с XMPP протоколом была выбрана библиотека Smack 4.1.8.
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии5

Автоматизация тестирования по методологии Scrum

Время на прочтение5 мин
Количество просмотров20K
Все больше и больше набирает обороты использование методологий семейства Agile, так называемых гибких методологий, в сфере IT. К этому семейству, как вы знаете, относятся такие методологии, как Kanban, XP, Scrum и прочие, менее известные методологии.
Читать дальше →
Всего голосов 12: ↑10 и ↓2+8
Комментарии21

Как мы тестировали юзабилити интерфейса

Время на прочтение6 мин
Количество просмотров11K
Исследование UX-интерфейсов популярный тренд последних нескольких лет. В нашей компании для этих целей мы создали юзабилити-лабораторию. В ней мы исследуем удобство использования не только создаваемых в компании продуктов, но и проводим аудит внешних проектов по просьбе клиентов.
image
Читать дальше →
Всего голосов 7: ↑6 и ↓1+5
Комментарии1

СМАРТ ТВ – будущее телевидения

Время на прочтение8 мин
Количество просмотров11K
Привет, Хабр! Сегодня предлагаем обсудить тему рынка Smart TV: рассмотрим перспективность данной технологии, ее ограничения, а также затронем вопросы о рынке разработки приложений для телевизоров.
image
Читать дальше →
Всего голосов 13: ↑11 и ↓2+9
Комментарии39

Про разделение труда и его последствия

Время на прочтение7 мин
Количество просмотров19K
Несколько лет назад довелось нам принять участие в разработке счётчика газа. На момент начала работ с заказчиком, у него уже были некоторые наработки. И наработки эти показались нам очень интересным примером для демонстрации последствий неудачного разделения труда по компетенциям. Под катом опишем, почему разделение было неудачным, и как мы решали проблемы, возникшие в результате.
Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии44

Методы сбора требований или «Как понять, что хочет заказчик?»

Время на прочтение7 мин
Количество просмотров157K
Данная статья будет полезна как аналитикам, так и менеджерам, занимающимся сбором и анализом требований. В ней описаны основные методики сбора требований, а также их плюсы и минусы. Возможно, что-то вы уже применяли на практике, а о чем-то, возможно, не знали. В общем, эта статья для всех тех, кто уже занимается бизнес — анализом или только планирует пополнить ряды аналитиков.
image
Читать дальше →
Всего голосов 11: ↑8 и ↓3+5
Комментарии1

Как работать из AWS Lambda с Elasticache и DynamoDB

Время на прочтение3 мин
Количество просмотров6.7K
С февраля месяца 2016 года сервис AWS Lambda получил возможность доступа к ресурсам внутри Virtual Private Cloud, но по умолчанию все лямбды работают вне VPC. Поскольку эта возможность появилась относительно недавно и статей, как это реализовать, не так много, мы хотели бы поделиться с вами своим опытом.
Читать дальше →
Всего голосов 5: ↑5 и ↓0+5
Комментарии4

Борьба за кодстайл или Bracket Wars

Время на прочтение8 мин
Количество просмотров6K
Привет хабровчанам! В этой статье мы попытаемся рассмотреть такой «скользкий» вопрос, как оформление кода и кодстайл, и предложить одно из решений, которое имеет успех в ежедневной практике.

Для JavaScript'а, который долгое время оставался «за бортом» большой разработки, настала золотая эра быстрого развития и появления все новых и новых технологий на его основе, а приложения становятся все комплекснее с каждым днем. Учитывая, что принятие ежегодных стандартов, появление нового синтаксического сахара и «плюшек» делают его очень привлекательным для большего числа разработчиков, данная тема будет актуальна не один год. Новички в JavaScript с энтузиазмом берутся за его изучение, пробуя все новые и новые фишки, однако в большинстве своем они забывают об оформлении кода и о такой вещи, как технический долг.
Читать дальше →
Всего голосов 11: ↑6 и ↓5+1
Комментарии27

Информационная архитектура в Интернет

Время на прочтение8 мин
Количество просмотров6.1K
The beginning of all understanding is classification.
Hayden White

О чем эта статья?

Есть множество определений информационной архитектуры. В этой статье мы попробуем рассмотреть один из ее аспектов, а именно структурирование и классификацию информации на сайте, имеющие своей целью облегчение процесса поиска информации для посетителей ресурса.
Среди владельцев сайта бытует мнение, что чем больше время, проведенное посетителем на сайте, тем лучше. Есть даже статьи, посвященные тому, как увеличить среднее время пребывания посетителей на сайте. Но так ли это? Что важнее для бизнеса – чтобы пользователь 10 минут проблуждал по сайту в поисках нужной информации и ушел, так ничего и не найдя? Или чтобы он все-таки нашел нужную ему информацию, будь то контакты организации или инструкция по самостоятельному монтажу сантехники, порадовался и впоследствии вернулся на сайт или пришел в компанию как покупатель? Предположим, что второе.
Тому, как облегчить посетителю жизнь, и будет посвящена эта статья.
Читать дальше →
Всего голосов 9: ↑7 и ↓2+5
Комментарии0

Unmanaged C++ library в .NET. Полная интеграция

Время на прочтение13 мин
Количество просмотров15K
В статье рассмотрена полная интеграция C++ библиотеки в managed окружение с использованием Platform Invoke. Под полной интеграцией подразумевается возможность наследования классов библиотеки, реализации её интерфейсов (интерфейсы будут представлены в managed коде как абстрактные классы). Экземпляры наследников можно будет «передавать» в unmanaged окружение.
Читать дальше →
Всего голосов 17: ↑16 и ↓1+15
Комментарии14

Игра в больницу или как мы изучали и тестировали работу системы здравоохранения одной из европейских стран

Время на прочтение5 мин
Количество просмотров7.8K
Статья «Как справиться с проблемами в унаследованном проекте после 3 других команд» рассказывает, через что пришлось пройти команде разработчиков, чтобы через полтора года получить достаточно стабильный программный продукт.
Здесь мы хотим рассказать, чем занималась команда тестирования, чтобы эффективно проверять все изменения, сделанные разработчиками, и гарантировать, что продукт соответствует ожиданиям заказчиков и конечных пользователей.
image
Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии1

Как справиться с проблемами в унаследованном проекте после 3 других команд

Время на прочтение10 мин
Количество просмотров12K
Данная статья не претендует на то, чтобы быть универсальным рецептом, мы постараемся в ней описать те проблемы, с которыми мы столкнулись, и их решения в проекте, который нам достался после 3 других команд.

Вначале коротко опишем суть проекта. Есть доктора в клиниках, которые на специальные устройства надиктовывают информацию о пациенте и его визите. Затем эта информация переводится в текстовый вид (за это отвечает специальное подразделение, сотрудники которого слушают и набирают текст), текст проверяется, происходит заполнение шаблона. Потом происходит движение по Workflow, который включает в себя разные стадии с различной бизнес-логикой, потом происходит интеграция с несколькими внешними системами. И, наконец, печатается письмо пациенту и отсылается. А работа через некоторое время архивируется (но при этом она может быть восстановлена по необходимости).
Читать дальше →
Всего голосов 19: ↑18 и ↓1+17
Комментарии8

Способ быстрого измерения производительности случайного сервера

Время на прочтение10 мин
Количество просмотров40K
В мире веб-разработки часто возникает задача подбора сервера под веб-приложение, либо по-аналогии проверка производительности имеющегося сервера. Возможно, нам необходимо купить новый сервер, чтобы он выдерживал предполагаемую нагрузку. Может быть, заказчик передает нам для деплоя свой имеющийся сервер. В любом случае, если после развертывания и запуска приложения оно будет показывать низкую производительность, то спросят с команды.

Основная проблема в том, что выполнить оценку производительности сервера нужно быстро, без использования специальных (читай, сложных) инструментов и, разумеется, до релиза. Мы должны уметь снять с сервера некие метрики и, умножив их на известные показатели приложения, получить оценку производительности приложения на этом сервере.

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

В этой статье я хочу рассказать о тех приёмах и инструментах, которые мы используем для оценки производительности сервера.
Читать дальше →
Всего голосов 16: ↑13 и ↓3+10
Комментарии11

Flytouch 2/Superpad III и попытка сэкономить байты в ядре Линукс

Время на прочтение13 мин
Количество просмотров8K
Я планировал написать данную статью уже давно, но в последние месяцы никак не мог выкроить достаточно времени. Пока я размышлял над статьёй, делал примеры и проверял свои догадки, на Хабре уже обсудили константность — [1][2].

Ради забавы попробуем проделать подобную экономию не со сферическим проектом в вакууме, а с самым что ни на есть живым и грандиозным проектом — с ядром Линукс!
Читать дальше →
Всего голосов 15: ↑12 и ↓3+9
Комментарии0
12 ...
12

Информация

Сайт
www.simbirsoft.com
Дата регистрации
Дата основания
Численность
1 001–5 000 человек
Местоположение
Россия